UNPKG

dynamic-display-shared

Version:

A library for dynamic view

25 lines 2.8 kB
export function deepClone(value) { if (typeof value !== 'object' || value === null) { return value; } if (Array.isArray(value)) { return deepArray(value); } return deepObject(value); } function deepObject(source) { const result = {}; Object.keys(source).forEach((key) => { // @ts-ignore const value = source[key]; // @ts-ignore result[key] = deepClone(value); }, {}); return result; } function deepArray(collection) { return collection.map((value) => { return deepClone(value); }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1jbG9uZS51dGlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1kaXNwbGF5LXNoYXJlZC9zcmMvbGliL2luZnJhc3RydWN0dXJlL2RlZXAtY2xvbmUudXRpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsU0FBUyxDQUFJLEtBQVE7SUFDakMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtRQUM3QyxPQUFPLEtBQUssQ0FBQTtLQUNmO0lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO0tBQzFCO0lBQ0QsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDNUIsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFJLE1BQVM7SUFDNUIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO0lBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDaEMsYUFBYTtRQUNiLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN6QixhQUFhO1FBQ2IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDTixPQUFPLE1BQVcsQ0FBQTtBQUN0QixDQUFDO0FBRUQsU0FBUyxTQUFTLENBQWtCLFVBQWE7SUFDN0MsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDNUIsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0IsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGRlZXBDbG9uZTxUPih2YWx1ZTogVCk6IGFueXtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnIHx8IHZhbHVlID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlXHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gZGVlcEFycmF5KHZhbHVlKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRlZXBPYmplY3QodmFsdWUpXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRlZXBPYmplY3Q8VD4oc291cmNlOiBUKTogYW55IHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IHt9XHJcbiAgICBPYmplY3Qua2V5cyhzb3VyY2UpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHNvdXJjZVtrZXldXHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIHJlc3VsdFtrZXldID0gZGVlcENsb25lKHZhbHVlKVxyXG4gICAgfSwge30pXHJcbiAgICByZXR1cm4gcmVzdWx0IGFzIFRcclxufVxyXG5cclxuZnVuY3Rpb24gZGVlcEFycmF5PFQgZXh0ZW5kcyBhbnlbXT4oY29sbGVjdGlvbjogVCkge1xyXG4gICAgcmV0dXJuIGNvbGxlY3Rpb24ubWFwKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBkZWVwQ2xvbmUodmFsdWUpXHJcbiAgICB9KVxyXG59Il19