UNPKG

dynamodb-toolbox

Version:

Lightweight and type-safe query builder for DynamoDB and TypeScript.

32 lines (31 loc) 971 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cloneDeep = void 0; const cloneDeep = (obj) => { if (typeof obj !== 'object' || obj === null) { return obj; } if (obj instanceof Date) { return new Date(obj.getTime()); } if (obj instanceof Array) { return obj.map(exports.cloneDeep); } if (obj instanceof Set) { return new Set([...obj.values()].map(exports.cloneDeep)); } if (obj instanceof Uint8Array) { return Uint8Array.from(obj); } if (obj instanceof Object) { return Object.fromEntries([ ...Object.entries(obj).map(([key, value]) => [key, (0, exports.cloneDeep)(value)]), ...Object.getOwnPropertySymbols(obj).map(symbol => [ symbol, (0, exports.cloneDeep)(obj[symbol]) ]) ]); } throw new Error('Unable to clone object'); }; exports.cloneDeep = cloneDeep;