Nine Pedestrians Mesmerized

    eval-serialize-date

    1.0.1 • Public • Published

    Date Serialization

    NPM version Build Status Coverage Status Dependencies

    Serializes a Date object for dynamic code evaluation.

    Installation

    $ npm install eval-serialize-date

    Usage

    var serialize = require( 'eval-serialize-date' );

    serialize( value )

    Serializes a Date object for dynamic code evaluation.

    var date = new Date();
     
    var str = serialize( date );
    // returns 'new Date(<timestamp>)'
     
    var d = eval( str );
    // returns <Date>
     
    var bool = ( date.getTime() === d.getTime() );
    // returns true

    serialize.raw( date )

    Serializes a Date object without performing type checking.

    try {
        // throws during input argument validation...
        serialize( null );
    } catch ( err ) {
        console.error( err );
    }
     
    // To bypass validation...
    var str = serialize.raw( new Date() );
    // returns 'new Date(<timestamp>)';

    Examples

    var serialize = require( 'eval-serialize-date' );
     
    /**
    * Returns a function to create a Date filled array.
    */
    function create( date ) {
        var f = '';
     
        f += 'return function fill( len ) {';
        f += 'var arr = new Array( len );';
        f += 'for ( var i = 0; i < len; i++ ) {';
        f += 'arr[ i ] = ' + serialize( date ) + ';';
        f += '}';
        f += 'return arr;';
        f += '}';
        return ( new Function( f ) )();
    }
     
    var fill = create( new Date() );
     
    console.log( fill( 10 ) );

    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 eval-serialize-date

    DownloadsWeekly Downloads

    6

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • kgryte