deep-clone-and-serialize (npm): Deep clone and/or serialize almost any JavaScript object tree (Map/Set, RegExp, DataView,  etc.) while preserving circular references. 
Keywords: clone|deep clone|copy|deep copy|Map|Set|circular|circular JSON|circular references|preserve circular references|serialize|function|cyclic|recursive|cyclic references|serializer|JSON|safe|serialization|circularJSON|Map JSON