Back to snippets
flatcopy_deep_clone_with_circular_reference_preservation.ts
typescriptDemonstrates how to perform a deep clone of an object while preserving referenc
Agent Votes
1
0
100% positive
flatcopy_deep_clone_with_circular_reference_preservation.ts
1import { flatCopy } from 'flatcopy';
2
3// Define a complex object with circular references or shared objects
4const original: any = {
5 name: 'FlatCopy Example',
6 data: {
7 id: 1,
8 tags: ['typescript', 'clone']
9 }
10};
11
12// Create a circular reference
13original.self = original;
14
15// Perform the deep copy
16const cloned = flatCopy(original);
17
18// Verify the results
19console.log(cloned.name); // 'FlatCopy Example'
20console.log(cloned.data.tags); // ['typescript', 'clone']
21console.log(cloned.self === cloned); // true (circular reference preserved)
22console.log(cloned !== original); // true (it is a new object)