Utility to clean up circular references while creating a new reference of an object performing a deep copy (as oposite to a shallow copy). Bear in mind it doesn't work with some data types: Date, Map, RegExp, Set, TypedArray...
npm i -S gist:0bce1161cfd2aa91ae7cad9abb42c342
import { deepClone } from 'deepclone-js'
const source = {
b: 1,
}
const original = { ...source }
original.c = original // ๐๐ผ Circular reference
const copy = deepClone(original)
// expect(copy).toEqual(source) // -> true