1234567891011121314151617181920212223242526272829303132333435363738394041 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.deepCopyWith = exports.deepCopy = void 0;
- const isBuffer_1 = require("./isBuffer");
- exports.deepCopy = obj => {
- if (obj === null || typeof obj !== 'object') {
- return obj;
- }
- if (isBuffer_1.isBuffer(obj)) {
- return obj.slice();
- }
- const copy = Array.isArray(obj) ? [] : {};
- Object.keys(obj).forEach(key => {
- copy[key] = exports.deepCopy(obj[key]);
- });
- return copy;
- };
- exports.deepCopyWith = (obj, customizer) => {
- function deepCopyWithHelper(value, innerKey, innerObject) {
- const result = customizer(value, innerKey, innerObject);
- if (result !== undefined)
- return result;
- if (value === null || typeof value !== 'object') {
- return value;
- }
- if (isBuffer_1.isBuffer(value)) {
- return value.slice();
- }
- const copy = Array.isArray(value) ? [] : {};
- Object.keys(value).forEach(k => {
- copy[k] = deepCopyWithHelper(value[k], k, value);
- });
- return copy;
- }
- if (customizer) {
- return deepCopyWithHelper(obj, '', null);
- }
- else {
- return exports.deepCopy(obj);
- }
- };
|