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;  | 
