Nuclear Planning Manual

    utils-cjson-parse

    1.0.0 • Public • Published

    Parse

    NPM version Build Status Coverage Status Dependencies

    Attempts to parse an input string as commented JSON.

    Installation

    $ npm install utils-cjson-parse

    Usage

    var parse = require( 'utils-cjson-parse' );

    parse( value[, reviver] )

    Attempts to parse an input string as commented JSON.

    var out = parse( '{"beep":"boop"}' );
    // returns {'beep':'boop'}
     
    out = parse( '{beep:boop"}' );
    // returns <SyntaxError>

    The API is the same as cjson#parse. Hence, to use a custom reviver function

    var out;
     
    function reviver( key, value ) {
        if ( key === '' ) {
            return value;
        }
        if ( key === 'beep' ) {
            return value;
        }
    }
     
    out = parse( '{"beep":"boop","a":"b"}', reviver );
    // returns {'beep':'boop'}

    Notes

    • This function wraps cjson#parse in a try/catch block.
    • The presence of try/catch within any function prevents JavaScript compiler optimization. By isolating the try/catch block, we minimize the extent of optimization hell.

    Examples

    var fs = require( 'fs' ),
        path = require( 'path' ),
        parse = require( 'utils-cjson-parse' );
     
    // Load a commented JSON file...
    var file = path.resolve( '/path/to/file.cjson' );
    file = fs.readFileSync( file, {
        'encoding': 'utf8'
    });
     
    // Attempt to parse the file...
    file = parse( file );
    console.dir( file );

    To run the example code from the top-level application directory,

    $ node ./examples/index.js

    Tests

    Unit

    Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:

    $ make test

    All new feature development should have corresponding unit tests to validate correct functionality.

    Test Coverage

    This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

    $ make test-cov

    Istanbul creates a ./reports/coverage directory. To access an HTML version of the report,

    $ make view-cov

    License

    MIT license.

    Copyright

    Copyright © 2015. Athan Reines.

    Install

    npm i utils-cjson-parse

    DownloadsWeekly Downloads

    14

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • kgryte