json-stringify-pretty-compact
    TypeScript icon, indicating that this package has built-in type declarations

    3.0.0 • Public • Published

    json-stringify-pretty-compact

    The output of JSON.stringify comes in two flavors: compact and pretty. The former is usually too compact to be read by humans, while the latter sometimes is too spacious. This module trades performance for a compromise between the two. The result is a pretty compact string, where “pretty” means both “kind of” and “nice”.

    {
      "bool": true,
      "short array": [1, 2, 3],
      "long array": [
        {"x": 1, "y": 2},
        {"x": 2, "y": 1},
        {"x": 1, "y": 1},
        {"x": 2, "y": 2}
      ]
    }

    While the “pretty” mode of JSON.stringify puts every item of arrays and objects on its own line, this module puts the whole array or object on a single line, unless the line becomes too long (the default maximum is 80 characters). Making arrays and objects multi-line is the only attempt made to enforce the maximum line length; if that doesn’t help then so be it.

    Installation

    npm install json-stringify-pretty-compact
    
    const stringify = require("json-stringify-pretty-compact");

    stringify(obj, options = {})

    It’s like JSON.stringify(obj, options.replacer, options.indent), except that objects and arrays are on one line if they fit (according to options.maxLength).

    options:

    • indent: Defaults to 2. Works exactly like the third parameter of JSON.stringify.
    • maxLength: Defaults to 80. Lines will be tried to be kept at maximum this many characters long.
    • replacer: Defaults to undefined. Works exactly like the second parameter of JSON.stringify.

    stringify(obj, {maxLength: 0, indent: indent}) gives the exact same result as JSON.stringify(obj, null, indent). (However, if you use a replacer, integer keys might be moved first.)

    stringify(obj, {maxLength: Infinity}) gives the exact same result as JSON.stringify(obj), except that there are spaces after colons and commas.

    Want more options? Check out @aitodotai/json-stringify-pretty-compact!

    License

    MIT.

    Install

    npm i json-stringify-pretty-compact

    DownloadsWeekly Downloads

    278,126

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    9.05 kB

    Total Files

    6

    Last publish

    Collaborators

    • lydell