Notable Pseudocode Mashups

    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/purdy package

    3.5.1 • Public • Published

    Purdy build coverage

    Print things real purdy for nodejs.


        const Purdy = require('purdy');
        Purdy({list: [1,2,3], string: 'some string'});

    Purdy(object, [options])


    Prints anything indented, and with arrays with index keys, and different types in colors such that it's very easy to get an overview of what object you're dealing with.

    • object - anything, number, object, array, etc.
    • options - optional object with the following keys.
      • plain - when true, prints result without colors. Defaults to false with tty, true when not.
      • path - when true, prints result with a path (To be used with Hoek.reach() or lodash.get, etc). Default: false
      • pathPrefix - prefix for path. Default: //
      • arrayIndex - enables index printing for arrays. Default: true
      • indent - defines the number of spaces to indent. Default: 4
      • align - determines how to align object keys. Default: left
      • depth - tells purdy how many times to recurse while formatting the object. This is useful for viewing complicated objects. Default: 2. Set to null to recurse indefinitely
      • proto - include the prototype chain and print all inherited properties as well. Default: false
      • json - attempt to parse strings beginning with { as JSON. Default: false

    Purdy.stringify(object, [options])

    This function returns a string without printing it to stdout. This may prove to be useful for log files other other applications.

    const purdyString = Purdy.stringify({a: 'b'}, {plain: true});


    Useful if you want to print multiple objects like console.log

    const purdy = Purdy.purdy({plain: true});
    purdy.print('one', 'two');
    purdy.stringify('one', 'two');


    The following code prints what's in the image above.

    const mises = function mises () { this.moop = 3 }
    const instance = new mises();
    const circularObj = { };
    circularObj.a = circularObj;
    const obj = {
        string: 'foo',
        anonPurdy: Purdy,
        defined: function Yes() {},
        nested: {hello: 'hapi'},
        error: new Error('bad'),
        null: null,
        undefined: undefined,
        regexp: new RegExp,
        falseBool: false,
        trueBool: true,
        symbol: Symbol('purdy'),
        emptyArr: [],
        circular: circularObj,
        date: new Date(),
        arrayWithVisibleIndex: [ 'one', 'two', 'three' ],
        instance: instance,

    Command-line Interface

    This package also installs the purdy CLI tool. Right now this just prints any JSON file with default options.

    purdy package.json will, for example, print the JSON contents of package.json.

    Similarly, cat package.json | purdy -s will use stdin to print the contents.

    A new option -l has been added to parse log files for newline delimited JSON (NDJSON).

    purdy -l logfile.log will print that or cat app.log | purdy -l -s


    This project adheres to the hapi styleguide.



    npm i purdy

    DownloadsWeekly Downloads






    Unpacked Size

    17.8 kB

    Total Files


    Last publish


    • danielb