chenyc
2025-05-29 92f69c57b920cf62ecc9f15f9ed196fa26dbf2ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var createBrowserEnv_1 = require("./createBrowserEnv");
var createFileSystem_1 = require("./createFileSystem");
var createNodejsEnv_1 = require("./createNodejsEnv");
var isBrowser_1 = require("./isBrowser");
var isNodejs_1 = require("./isNodejs");
var environment;
function getEnv() {
    if (!environment) {
        throw new Error('getEnv - environment is not defined, check isNodejs() and isBrowser()');
    }
    return environment;
}
function setEnv(env) {
    environment = env;
}
function initialize() {
    // check for isBrowser() first to prevent electron renderer process
    // to be initialized with wrong environment due to isNodejs() returning true
    if (isBrowser_1.isBrowser()) {
        setEnv(createBrowserEnv_1.createBrowserEnv());
    }
    if (isNodejs_1.isNodejs()) {
        setEnv(createNodejsEnv_1.createNodejsEnv());
    }
}
function monkeyPatch(env) {
    if (!environment) {
        initialize();
    }
    if (!environment) {
        throw new Error('monkeyPatch - environment is not defined, check isNodejs() and isBrowser()');
    }
    var _a = env.Canvas, Canvas = _a === void 0 ? environment.Canvas : _a, _b = env.Image, Image = _b === void 0 ? environment.Image : _b;
    environment.Canvas = Canvas;
    environment.Image = Image;
    environment.createCanvasElement = env.createCanvasElement || (function () { return new Canvas(); });
    environment.createImageElement = env.createImageElement || (function () { return new Image(); });
    environment.ImageData = env.ImageData || environment.ImageData;
    environment.Video = env.Video || environment.Video;
    environment.fetch = env.fetch || environment.fetch;
    environment.readFile = env.readFile || environment.readFile;
}
exports.env = {
    getEnv: getEnv,
    setEnv: setEnv,
    initialize: initialize,
    createBrowserEnv: createBrowserEnv_1.createBrowserEnv,
    createFileSystem: createFileSystem_1.createFileSystem,
    createNodejsEnv: createNodejsEnv_1.createNodejsEnv,
    monkeyPatch: monkeyPatch,
    isBrowser: isBrowser_1.isBrowser,
    isNodejs: isNodejs_1.isNodejs
};
initialize();
//# sourceMappingURL=index.js.map