Nanoprogrammed Penultimate Musicianship

    eval-serialize-buffer

    1.0.0 • Public • Published

    Buffer Serialization

    NPM version Build Status Coverage Status Dependencies

    Serializes a Buffer object for dynamic code evaluation.

    Installation

    $ npm install eval-serialize-buffer

    Usage

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

    serialize( value )

    Serializes a Buffer object for dynamic code evaluation.

    var deepEqual = require( 'deep-equal' );
     
    var b1 = new Buffer( 'beep' );
     
    var str = serialize( b1 );
    // returns 'new Buffer("YmVlcA==","base64")'
     
    var b2 = eval( str );
    // returns Buffer( 'beep' )
     
    var bool = deepEqual( b1, b2 );
    // returns true

    serialize.raw( buffer )

    Serializes a Buffer 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 Buffer( 'boop' ) );
    // returns 'new Buffer("Ym9vcA==","base64")';

    Examples

    var serialize = require( 'eval-serialize-buffer' );
     
    /**
    * Returns a function to create a filled array.
    */
    function create( b ) {
        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( b ) + ';';
        f += '}';
        f += 'return arr;';
        f += '}';
        return ( new Function( f ) )();
    }
     
    var fill = create( new Buffer( 'beepboop' ) );
     
    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-buffer

    DownloadsWeekly Downloads

    0

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • kgryte