circular

1.0.5 • Public • Published

Circular

Tiny utility to safely stringify objects with circular references.

Usage

Replace all circular references with the string [Circular];

var circular = require('circular');
var obj = {}; var child = {parent: obj}; obj.child = child;
var str = JSON.stringify(obj, circular());
// => {"child":{"parent":"[Circular]"}}

If you prefer you can pass an alternative string to use:

var str = JSON.stringify(obj, circular('#ref'));

Or a function that returns a string:

function ref(value){return '' + value};
var str = JSON.stringify(obj, circular(ref));

As of version 1.0.4 you can also pass an additional boolean that will convert function references to strings, useful for converting javascript modules to couchdb design documents.

var str = JSON.stringify(obj, circular(null, true));

License

Everything is MIT. Read the license if you feel inclined.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.5
    4,365
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.5
    4,365
  • 1.0.4
    0
  • 1.0.3
    0
  • 1.0.2
    1
  • 1.0.1
    0

Package Sidebar

Install

npm i circular

Weekly Downloads

4,366

Version

1.0.5

License

none

Last publish

Collaborators

  • muji
  • tmpfs