⚝
One Hat Cyber Team
⚝
Your IP:
172.22.0.1
Server IP:
151.80.20.34
Server:
Linux 794f04d97d5e 5.15.0-143-generic #153-Ubuntu SMP Fri Jun 13 19:10:45 UTC 2025 x86_64
Server Software:
Apache/2.4.62 (Debian)
PHP Version:
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
proc
/
self
/
root
/
usr
/
share
/
nodejs
/
jest-util
/
build
/
View File Name :
deepCyclicCopy.js
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = deepCyclicCopy; /** * 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. */ const EMPTY = new Set(); function deepCyclicCopy(value, options = { blacklist: EMPTY, keepPrototype: false }, cycles = new WeakMap()) { if (typeof value !== 'object' || value === null || Buffer.isBuffer(value)) { return value; } else if (cycles.has(value)) { return cycles.get(value); } else if (Array.isArray(value)) { return deepCyclicCopyArray(value, options, cycles); } else { return deepCyclicCopyObject(value, options, cycles); } } function deepCyclicCopyObject(object, options, cycles) { const newObject = options.keepPrototype ? Object.create(Object.getPrototypeOf(object)) : {}; const descriptors = Object.getOwnPropertyDescriptors(object); cycles.set(object, newObject); Object.keys(descriptors).forEach(key => { if (options.blacklist && options.blacklist.has(key)) { delete descriptors[key]; return; } const descriptor = descriptors[key]; if (typeof descriptor.value !== 'undefined') { descriptor.value = deepCyclicCopy(descriptor.value, { blacklist: EMPTY, keepPrototype: options.keepPrototype }, cycles); } descriptor.configurable = true; }); return Object.defineProperties(newObject, descriptors); } function deepCyclicCopyArray(array, options, cycles) { const newArray = options.keepPrototype ? new (Object.getPrototypeOf(array).constructor)(array.length) : []; const length = array.length; cycles.set(array, newArray); for (let i = 0; i < length; i++) { newArray[i] = deepCyclicCopy(array[i], { blacklist: EMPTY, keepPrototype: options.keepPrototype }, cycles); } return newArray; }