aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jest-leak-detector/build
diff options
context:
space:
mode:
authorJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
committerJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
commit5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch)
tree360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/jest-leak-detector/build
parentb500a50f1b97d93c98b36ed9a980f8188d648147 (diff)
downloadLYLLRuoka-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.ts12
-rw-r--r--node_modules/jest-leak-detector/build/index.js135
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;