🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more →

jest-util

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jest-util - npm Package Compare versions

Comparing version

to
30.0.0-beta.3

@@ -13,2 +13,9 @@ /**

/**
* Whether the given value has properties that can be deleted (regardless of protection).
*
* @param value The given value.
*/
export declare function canDeleteProperties(value: unknown): value is object;
declare const CLEAR: string;

@@ -35,2 +42,10 @@

/**
* Deletes all the properties from the given value (if it's an object),
* unless the value was protected via {@link #protectProperties}.
*
* @param value the given value.
*/
export declare function deleteProperties(value: unknown): void;
export declare class ErrorWithStack extends Error {

@@ -111,2 +126,15 @@ constructor(

/**
* Protects the given value from being deleted by {@link #deleteProperties}.
*
* @param value The given value.
* @param properties If the array contains any property,
* then only these properties will not be deleted; otherwise if the array is empty,
* all properties will not be deleted.
*/
export declare function protectProperties<T extends object>(
value: T,
properties?: Array<keyof T>,
): boolean;
declare function remove(stream: WriteStream): void;

@@ -123,4 +151,5 @@

globalToMutate: typeof globalThis | Global_2.Global,
key: string,
key: string | symbol,
value: unknown,
afterTeardown?: 'clean' | 'retain',
): void;

@@ -127,0 +156,0 @@

@@ -121,4 +121,3 @@ /*!

}
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
/**

@@ -350,2 +349,71 @@ * Copyright (c) Meta Platforms, Inc. and affiliates.

/***/ "./src/garbage-collection-utils.ts":
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.canDeleteProperties = canDeleteProperties;
exports.deleteProperties = deleteProperties;
exports.protectProperties = protectProperties;
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const PROTECT_PROPERTY = Symbol.for('$$jest-protect-from-deletion');
/**
* Deletes all the properties from the given value (if it's an object),
* unless the value was protected via {@link #protectProperties}.
*
* @param value the given value.
*/
function deleteProperties(value) {
if (canDeleteProperties(value)) {
const protectedProperties = Reflect.get(value, PROTECT_PROPERTY);
if (!Array.isArray(protectedProperties) || protectedProperties.length > 0) {
for (const key of Reflect.ownKeys(value)) {
if (!protectedProperties?.includes(key)) {
Reflect.deleteProperty(value, key);
}
}
}
}
}
/**
* Protects the given value from being deleted by {@link #deleteProperties}.
*
* @param value The given value.
* @param properties If the array contains any property,
* then only these properties will not be deleted; otherwise if the array is empty,
* all properties will not be deleted.
*/
function protectProperties(value, properties = []) {
if (canDeleteProperties(value)) {
return Reflect.set(value, PROTECT_PROPERTY, properties);
}
return false;
}
/**
* Whether the given value has properties that can be deleted (regardless of protection).
*
* @param value The given value.
*/
function canDeleteProperties(value) {
if (value !== null) {
const type = typeof value;
return type === 'object' || type === 'function';
}
return false;
}
/***/ }),
/***/ "./src/globsToMatcher.ts":

@@ -473,4 +541,3 @@ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {

function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
/**

@@ -831,3 +898,3 @@ * Copyright (c) Meta Platforms, Inc. and affiliates.

/***/ "./src/setGlobal.ts":
/***/ ((__unused_webpack_module, exports) => {
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

@@ -840,2 +907,3 @@

exports["default"] = setGlobal;
var _garbageCollectionUtils = __webpack_require__("./src/garbage-collection-utils.ts");
/**

@@ -848,5 +916,7 @@ * Copyright (c) Meta Platforms, Inc. and affiliates.

function setGlobal(globalToMutate, key, value) {
// @ts-expect-error: no index
globalToMutate[key] = value;
function setGlobal(globalToMutate, key, value, afterTeardown = 'clean') {
Reflect.set(globalToMutate, key, value);
if (afterTeardown === 'retain' && (0, _garbageCollectionUtils.canDeleteProperties)(value)) {
(0, _garbageCollectionUtils.protectProperties)(value);
}
}

@@ -962,2 +1032,8 @@

}));
Object.defineProperty(exports, "canDeleteProperties", ({
enumerable: true,
get: function () {
return _garbageCollectionUtils.canDeleteProperties;
}
}));
Object.defineProperty(exports, "clearLine", ({

@@ -987,2 +1063,8 @@ enumerable: true,

}));
Object.defineProperty(exports, "deleteProperties", ({
enumerable: true,
get: function () {
return _garbageCollectionUtils.deleteProperties;
}
}));
Object.defineProperty(exports, "formatTime", ({

@@ -1043,2 +1125,8 @@ enumerable: true,

exports.preRunMessage = void 0;
Object.defineProperty(exports, "protectProperties", ({
enumerable: true,
get: function () {
return _garbageCollectionUtils.protectProperties;
}
}));
Object.defineProperty(exports, "replacePathSepForGlob", ({

@@ -1091,5 +1179,5 @@ enumerable: true,

var _isNonNullable = _interopRequireDefault2(__webpack_require__("./src/isNonNullable.ts"));
var _garbageCollectionUtils = __webpack_require__("./src/garbage-collection-utils.ts");
function _interopRequireDefault2(e) { return e && e.__esModule ? e : { default: e }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
})();

@@ -1096,0 +1184,0 @@

{
"name": "jest-util",
"version": "30.0.0-alpha.7",
"version": "30.0.0-beta.3",
"repository": {

@@ -22,3 +22,3 @@ "type": "git",

"dependencies": {
"@jest/types": "30.0.0-alpha.7",
"@jest/types": "30.0.0-beta.3",
"@types/node": "*",

@@ -32,6 +32,6 @@ "chalk": "^4.0.0",

"@types/graceful-fs": "^4.1.3",
"@types/picomatch": "^3.0.0"
"@types/picomatch": "^4.0.0"
},
"engines": {
"node": "^16.10.0 || ^18.12.0 || >=20.0.0"
"node": "^18.14.0 || ^20.0.0 || >=22.0.0"
},

@@ -41,3 +41,3 @@ "publishConfig": {

},
"gitHead": "bacb7de30d053cd87181294b0c8a8576632a8b02"
"gitHead": "a123a3b667a178fb988662aaa1bc6308af759017"
}

Sorry, the diff of this file is not supported yet