Noteworthy Programming Masterpiece

    pretty-var-export

    1.1.5 • Public • Published

    pretty-var-export

    Build Status Code Coverage MIT License

    Export any value to valid and equivalent JavaScript code. Uses syntax coloring for debugging from the cli.

    npm install pretty-var-export

    Usage

    const pretty = require('pretty-var-export');
    
    // return string suitable for logging
    console.log(pretty(myValue));
    
    // OR prettify and log
    pretty.log(myValue);

    Note that coloring can be disabled with pretty.colors.disable().

    Example output

    Example

    Customization

    Add handler

    Add custom handlers for formatting.

    For example, show NaN as a different color than numbers:

    const pretty = require('pretty-var-export');
    
    // each handler must have a test and format method
    pretty.handlers.add('nan', {
        test: isNaN,
        format: () => pretty.colors.palette.cyan('NaN'),
    });
    
    // reset to default list
    pretty.handlers.reset();

    Remove handler

    You can remove handlers by name.

    const pretty = require('pretty-var-export');
    
    // see below for list of names
    pretty.handlers.remove('nan');
    
    // reset to default list
    pretty.handlers.reset();

    Default handler names:

    • arguments
    • Array
    • BigInt
    • Boolean
    • Date
    • Error
    • Function
    • Map
    • null
    • Number
    • Object
    • Promise
    • RegExp
    • Set
    • String
    • Symbol
    • TypedArray
    • undefined
    • URL
    • URLSearchParams
    • WeakMap
    • WeakSet

    Custom indent

    By default, indentation is 2 spaces.

    const pretty = require('pretty-var-export');
    
    pretty.options.indent = 4;      // 4 spaces
    pretty.options.indent = '    '; // 4 spaces
    pretty.options.indent = '\t';   // tab

    Custom colors

    Colors come from the ansi-colors npm module.

    Formats include the following:

    • boolean for true and false (default yellow)
    • comment for comments (default gray)
    • constructor for instantiation (default blue)
    • escape for string escapes (default yellowBright)
    • null for null (default yellow)
    • number for numbers, NaN, Infinity (default red)
    • property for object property names (default cyan)
    • regexp for bodies of regular expressions (default blue)
    • string for strings (default green)
    • symbol for quotes, braces, parens, commas, colons (default white)
    • undefined for undefined (default yellow)
    const pretty = require('pretty-var-export');
    
    // existing color functions from the ansi-colors npm package
    pretty.colors.symbol = pretty.colors.palette.blueBright;
    
    // use any other function
    pretty.colors.string = chalk.green;
    
    // disable all coloring
    pretty.colors.disable();
    
    // reset to default colors and re-enable coloring
    pretty.colors.reset();

    Custom display options

    There are a few options that can change display. Below are defaults.

    const pretty = require('pretty-var-export');
     
    // if true, show function bodies
    pretty.options.showFunctionBody = false;
    
    // the max length for strings
    pretty.options.maxStringLength = 1024 * 4;
    
    // max number of items to list
    pretty.options.maxListItems = 100;
    
    // output multi-line strings with backticks
    pretty.options.preferBackticks = true;
     
    // quote style for default strings (single, double or backtick)
    pretty.options.quoteStyle = 'double';
     
    // reset to defaults
    pretty.options.reset();

    Custom labels

    Labels can be changed or translated.

    const pretty = require('pretty-var-export');
    
    // defaults
    pretty.labels.circularReference = 'Circular Reference';
    pretty.labels.codeOmitted = 'Code Omitted';
    pretty.labels.itemsUnknown = 'Items Unknown';
    
    // reset to defaults
    pretty.labels.reset();

    Changelog

    See CHANGELOG.md

    Contributing

    Please open a ticket or PR on GitHub.

    License

    MIT License

    Install

    npm i pretty-var-export

    DownloadsWeekly Downloads

    3

    Version

    1.1.5

    License

    MIT

    Unpacked Size

    228 kB

    Total Files

    64

    Last publish

    Collaborators

    • kensnyder