aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jest-environment-node/build/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/jest-environment-node/build/index.js')
-rw-r--r--node_modules/jest-environment-node/build/index.js184
1 files changed, 184 insertions, 0 deletions
diff --git a/node_modules/jest-environment-node/build/index.js b/node_modules/jest-environment-node/build/index.js
new file mode 100644
index 0000000..64904cb
--- /dev/null
+++ b/node_modules/jest-environment-node/build/index.js
@@ -0,0 +1,184 @@
+'use strict';
+
+function _vm() {
+ const data = require('vm');
+
+ _vm = function () {
+ return data;
+ };
+
+ return data;
+}
+
+function _fakeTimers() {
+ const data = require('@jest/fake-timers');
+
+ _fakeTimers = function () {
+ return data;
+ };
+
+ return data;
+}
+
+function _jestMock() {
+ const data = require('jest-mock');
+
+ _jestMock = function () {
+ return data;
+ };
+
+ return data;
+}
+
+function _jestUtil() {
+ const data = require('jest-util');
+
+ _jestUtil = function () {
+ return data;
+ };
+
+ return data;
+}
+
+function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+ return obj;
+}
+
+class NodeEnvironment {
+ constructor(config) {
+ _defineProperty(this, 'context', void 0);
+
+ _defineProperty(this, 'fakeTimers', void 0);
+
+ _defineProperty(this, 'fakeTimersModern', void 0);
+
+ _defineProperty(this, 'global', void 0);
+
+ _defineProperty(this, 'moduleMocker', void 0);
+
+ this.context = (0, _vm().createContext)();
+ const global = (this.global = (0, _vm().runInContext)(
+ 'this',
+ Object.assign(this.context, config.testEnvironmentOptions)
+ ));
+ global.global = global;
+ global.clearInterval = clearInterval;
+ global.clearTimeout = clearTimeout;
+ global.setInterval = setInterval;
+ global.setTimeout = setTimeout;
+ global.Buffer = Buffer;
+ global.setImmediate = setImmediate;
+ global.clearImmediate = clearImmediate;
+ global.ArrayBuffer = ArrayBuffer; // TextEncoder (global or via 'util') references a Uint8Array constructor
+ // different than the global one used by users in tests. This makes sure the
+ // same constructor is referenced by both.
+
+ global.Uint8Array = Uint8Array; // URL and URLSearchParams are global in Node >= 10
+
+ if (typeof URL !== 'undefined' && typeof URLSearchParams !== 'undefined') {
+ global.URL = URL;
+ global.URLSearchParams = URLSearchParams;
+ } // TextDecoder and TextDecoder are global in Node >= 11
+
+ if (
+ typeof TextEncoder !== 'undefined' &&
+ typeof TextDecoder !== 'undefined'
+ ) {
+ global.TextEncoder = TextEncoder;
+ global.TextDecoder = TextDecoder;
+ } // queueMicrotask is global in Node >= 11
+
+ if (typeof queueMicrotask !== 'undefined') {
+ global.queueMicrotask = queueMicrotask;
+ } // AbortController is global in Node >= 15
+
+ if (typeof AbortController !== 'undefined') {
+ global.AbortController = AbortController;
+ } // AbortSignal is global in Node >= 15
+
+ if (typeof AbortSignal !== 'undefined') {
+ global.AbortSignal = AbortSignal;
+ } // Event is global in Node >= 15.4
+
+ if (typeof Event !== 'undefined') {
+ global.Event = Event;
+ } // EventTarget is global in Node >= 15.4
+
+ if (typeof EventTarget !== 'undefined') {
+ global.EventTarget = EventTarget;
+ } // performance is global in Node >= 16
+
+ if (typeof performance !== 'undefined') {
+ global.performance = performance;
+ } // atob and btoa are global in Node >= 16
+
+ if (typeof atob !== 'undefined' && typeof btoa !== 'undefined') {
+ global.atob = atob;
+ global.btoa = btoa;
+ }
+
+ (0, _jestUtil().installCommonGlobals)(global, config.globals);
+ this.moduleMocker = new (_jestMock().ModuleMocker)(global);
+
+ const timerIdToRef = id => ({
+ id,
+
+ ref() {
+ return this;
+ },
+
+ unref() {
+ return this;
+ }
+ });
+
+ const timerRefToId = timer => (timer && timer.id) || undefined;
+
+ const timerConfig = {
+ idToRef: timerIdToRef,
+ refToId: timerRefToId
+ };
+ this.fakeTimers = new (_fakeTimers().LegacyFakeTimers)({
+ config,
+ global,
+ moduleMocker: this.moduleMocker,
+ timerConfig
+ });
+ this.fakeTimersModern = new (_fakeTimers().ModernFakeTimers)({
+ config,
+ global
+ });
+ }
+
+ async setup() {}
+
+ async teardown() {
+ if (this.fakeTimers) {
+ this.fakeTimers.dispose();
+ }
+
+ if (this.fakeTimersModern) {
+ this.fakeTimersModern.dispose();
+ }
+
+ this.context = null;
+ this.fakeTimers = null;
+ this.fakeTimersModern = null;
+ }
+
+ getVmContext() {
+ return this.context;
+ }
+}
+
+module.exports = NodeEnvironment;