UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

29 lines (28 loc) 2.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "deepCopyObject", { enumerable: true, get: function() { return deepCopyObject; } }); const deepCopyObject = (inObject)=>{ if (inObject instanceof Date) return inObject; if (inObject instanceof Set) return new Set(inObject); if (inObject instanceof Map) return new Map(inObject); if (typeof inObject !== 'object' || inObject === null) { return inObject // Return the value if inObject is not an object ; } // Create an array or object to hold the values const outObject = Array.isArray(inObject) ? [] : {}; Object.keys(inObject).forEach((key)=>{ const value = inObject[key]; // Recursively (deep) copy for nested objects, including arrays outObject[key] = typeof value === 'object' && value !== null ? deepCopyObject(value) : value; }); return outObject; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZGVlcENvcHlPYmplY3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGRlZXBDb3B5T2JqZWN0ID0gKGluT2JqZWN0KSA9PiB7XG4gIGlmIChpbk9iamVjdCBpbnN0YW5jZW9mIERhdGUpIHJldHVybiBpbk9iamVjdFxuXG4gIGlmIChpbk9iamVjdCBpbnN0YW5jZW9mIFNldCkgcmV0dXJuIG5ldyBTZXQoaW5PYmplY3QpXG5cbiAgaWYgKGluT2JqZWN0IGluc3RhbmNlb2YgTWFwKSByZXR1cm4gbmV3IE1hcChpbk9iamVjdClcblxuICBpZiAodHlwZW9mIGluT2JqZWN0ICE9PSAnb2JqZWN0JyB8fCBpbk9iamVjdCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBpbk9iamVjdCAvLyBSZXR1cm4gdGhlIHZhbHVlIGlmIGluT2JqZWN0IGlzIG5vdCBhbiBvYmplY3RcbiAgfVxuXG4gIC8vIENyZWF0ZSBhbiBhcnJheSBvciBvYmplY3QgdG8gaG9sZCB0aGUgdmFsdWVzXG4gIGNvbnN0IG91dE9iamVjdCA9IEFycmF5LmlzQXJyYXkoaW5PYmplY3QpID8gW10gOiB7fVxuXG4gIE9iamVjdC5rZXlzKGluT2JqZWN0KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IGluT2JqZWN0W2tleV1cblxuICAgIC8vIFJlY3Vyc2l2ZWx5IChkZWVwKSBjb3B5IGZvciBuZXN0ZWQgb2JqZWN0cywgaW5jbHVkaW5nIGFycmF5c1xuICAgIG91dE9iamVjdFtrZXldID0gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCA/IGRlZXBDb3B5T2JqZWN0KHZhbHVlKSA6IHZhbHVlXG4gIH0pXG5cbiAgcmV0dXJuIG91dE9iamVjdFxufVxuIl0sIm5hbWVzIjpbImRlZXBDb3B5T2JqZWN0IiwiaW5PYmplY3QiLCJEYXRlIiwiU2V0IiwiTWFwIiwib3V0T2JqZWN0IiwiQXJyYXkiLCJpc0FycmF5IiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsaUJBQWlCLENBQUNDO0lBQzdCLElBQUlBLG9CQUFvQkMsTUFBTSxPQUFPRDtJQUVyQyxJQUFJQSxvQkFBb0JFLEtBQUssT0FBTyxJQUFJQSxJQUFJRjtJQUU1QyxJQUFJQSxvQkFBb0JHLEtBQUssT0FBTyxJQUFJQSxJQUFJSDtJQUU1QyxJQUFJLE9BQU9BLGFBQWEsWUFBWUEsYUFBYSxNQUFNO1FBQ3JELE9BQU9BLFNBQVMsZ0RBQWdEOztJQUNsRTtJQUVBLCtDQUErQztJQUMvQyxNQUFNSSxZQUFZQyxNQUFNQyxPQUFPLENBQUNOLFlBQVksRUFBRSxHQUFHLENBQUM7SUFFbERPLE9BQU9DLElBQUksQ0FBQ1IsVUFBVVMsT0FBTyxDQUFDLENBQUNDO1FBQzdCLE1BQU1DLFFBQVFYLFFBQVEsQ0FBQ1UsSUFBSTtRQUUzQiwrREFBK0Q7UUFDL0ROLFNBQVMsQ0FBQ00sSUFBSSxHQUFHLE9BQU9DLFVBQVUsWUFBWUEsVUFBVSxPQUFPWixlQUFlWSxTQUFTQTtJQUN6RjtJQUVBLE9BQU9QO0FBQ1QifQ==