Narcoleptic's Patch Mangler
    Have ideas to improve npm?Join in the discussion! »

    json-truncate

    3.0.0 • Public • Published

    json-truncate

    A way to truncate a json object. Useful for circular referenced objects.

    Status

    npm Main Dependency Status devDependency Status js-standard-style semantic-release npm Greenkeeper badge

    About

    If you need to write data to a file or output an object to an api endpoint that has circular references I recommend you give json-truncate a try.

    By removing deeply nested data to maintain simple copies of the circular references you can keep most of the data you might be interested in.

    Install

    npm install json-truncate --save
    

    Usage

    Below are examples of how to use json-truncate

    Including

    You can include with regular node require:

    JSON.truncate = require('json-truncate')

    Usage

    Figure 1.0 - A basic example with default options.

    JSON.truncate(SomeDeepObject)

    Figure 1.1 - An example of setting the maxDepth property.

    JSON.truncate(SomeDeepObject, 5)

    Figure 1.2 - An example of all configurable options.

    console.log(JSON.truncate({
      data: 'foo',
      level1: {
        data: 'bar',
        level2: {
          level3: {}
        }
      }
    }, {
      maxDepth: 2,
      replace: '[Truncated]'
    }))
    /**
     * Output:
    {
      "data": "foo",
      "level1": {
        "data": "bar",
        "level2": "[Truncated]"
      }
    }
     **/

    Configuration

    By default, there are two configurable variables to keep in mind when using json-truncate:

    1. maxDepth (Number) = 10
    2. replace (Any) = undefined

    If you would you can configure these either individually with each request, or globally with the configuration function. The following example mimics figure 1.2 above.

    JSON.truncate.configure({
      maxDepth: 2,
      replace: '[Truncated]'
    })

    Arguments

    • obj - The Object that will be truncated.
    • options - (optional) An option object to customize the behavior of the utility. Defaults to {}.

    Current Option Properties

    Option Description
    maxDepth The default maxDepth to use for nested and deep properties on an object. Defaults to 10
    :-- :--
    replace A string value that is used to replace all truncated values. If this value is not a string then all truncated values will be replaced with undefined

    Licence

    MIT

    Install

    npm i json-truncate

    DownloadsWeekly Downloads

    1,373

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    13.6 kB

    Total Files

    8

    Last publish

    Collaborators

    • avatar