diff options
author | Joel Kronqvist <joel.h.kronqvist@gmail.com> | 2022-03-05 19:02:27 +0200 |
---|---|---|
committer | Joel Kronqvist <joel.h.kronqvist@gmail.com> | 2022-03-05 19:02:27 +0200 |
commit | 5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch) | |
tree | 360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/jest-leak-detector/build | |
parent | b500a50f1b97d93c98b36ed9a980f8188d648147 (diff) | |
download | LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.tar.gz LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.zip |
Added node_modules for the updating to work properly.
Diffstat (limited to 'node_modules/jest-leak-detector/build')
-rw-r--r-- | node_modules/jest-leak-detector/build/index.d.ts | 12 | ||||
-rw-r--r-- | node_modules/jest-leak-detector/build/index.js | 135 |
2 files changed, 147 insertions, 0 deletions
diff --git a/node_modules/jest-leak-detector/build/index.d.ts b/node_modules/jest-leak-detector/build/index.d.ts new file mode 100644 index 0000000..65d67d2 --- /dev/null +++ b/node_modules/jest-leak-detector/build/index.d.ts @@ -0,0 +1,12 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +export default class LeakDetector { + private _isReferenceBeingHeld; + constructor(value: unknown); + isLeaking(): Promise<boolean>; + private _runGarbageCollector; +} diff --git a/node_modules/jest-leak-detector/build/index.js b/node_modules/jest-leak-detector/build/index.js new file mode 100644 index 0000000..ae6ea17 --- /dev/null +++ b/node_modules/jest-leak-detector/build/index.js @@ -0,0 +1,135 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +exports.default = void 0; + +function _util() { + const data = require('util'); + + _util = function () { + return data; + }; + + return data; +} + +function _v() { + const data = require('v8'); + + _v = function () { + return data; + }; + + return data; +} + +function _vm() { + const data = require('vm'); + + _vm = function () { + return data; + }; + + return data; +} + +function _jestGetType() { + const data = require('jest-get-type'); + + _jestGetType = function () { + return data; + }; + + return data; +} + +function _prettyFormat() { + const data = require('pretty-format'); + + _prettyFormat = 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; +} + +const tick = (0, _util().promisify)(setImmediate); + +class LeakDetector { + constructor(value) { + _defineProperty(this, '_isReferenceBeingHeld', void 0); + + if ((0, _jestGetType().isPrimitive)(value)) { + throw new TypeError( + [ + 'Primitives cannot leak memory.', + 'You passed a ' + + typeof value + + ': <' + + (0, _prettyFormat().format)(value) + + '>' + ].join(' ') + ); + } + + let weak; + + try { + // eslint-disable-next-line import/no-extraneous-dependencies + weak = require('weak-napi'); + } catch (err) { + if (!err || err.code !== 'MODULE_NOT_FOUND') { + throw err; + } + + throw new Error( + 'The leaking detection mechanism requires the "weak-napi" package to be installed and work. ' + + 'Please install it as a dependency on your main project' + ); + } + + weak(value, () => (this._isReferenceBeingHeld = false)); + this._isReferenceBeingHeld = true; // Ensure value is not leaked by the closure created by the "weak" callback. + + value = null; + } + + async isLeaking() { + this._runGarbageCollector(); // wait some ticks to allow GC to run properly, see https://github.com/nodejs/node/issues/34636#issuecomment-669366235 + + for (let i = 0; i < 10; i++) { + await tick(); + } + + return this._isReferenceBeingHeld; + } + + _runGarbageCollector() { + const isGarbageCollectorHidden = !global.gc; // GC is usually hidden, so we have to expose it before running. + + (0, _v().setFlagsFromString)('--expose-gc'); + (0, _vm().runInNewContext)('gc')(); // The GC was not initially exposed, so let's hide it again. + + if (isGarbageCollectorHidden) { + (0, _v().setFlagsFromString)('--no-expose-gc'); + } + } +} + +exports.default = LeakDetector; |