Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

purdy

Package Overview
Dependencies
Maintainers
0
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

purdy

Pretty print objects in real purdy colors. Allows clearer visualization of objects than you get from most pretty printers due to colors. It will also print out the complete path to an object, something that's extremely useful for debugging. Purdy will als

  • 3.6.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

Purdy build coverage

Print things real purdy for nodejs.

Usage

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

Purdy(object, [options])

image

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});
writeLog(purdyString);

Purdy.purdy([options]);

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');

Examples

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 = {
    integer: Date.now(),
    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,
};
Purdy(obj);

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

Contributing

This project adheres to the hapi styleguide.

Acknowledgements

Keywords

FAQs

Package last updated on 20 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc