luma.gl/test/utils/deep-copy.ts
2023-05-02 15:39:55 -04:00

17 lines
396 B
TypeScript

// Recursively copies objects
export default function deepCopy(object: Record<string, any>) {
if (Array.isArray(object)) {
return object.map((element) => deepCopy(element));
}
if (object !== null && typeof object === 'object') {
const newObject = {};
for (const key in object) {
newObject[key] = deepCopy(object[key]);
}
return newObject;
}
return object;
}