Needle-Pinpointing Machine

    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.

    Install

    npm i circular

    DownloadsWeekly Downloads

    5,735

    Version

    1.0.5

    License

    none

    Last publish

    Collaborators

    • muji
    • tmpfs