*nix Programming Mammals

    eval-serialize-typed-array

    1.0.1 • Public • Published

    Typed Array Serialization

    NPM version Build Status Coverage Status Dependencies

    Serializes a typed array for dynamic code evaluation.

    Installation

    $ npm install eval-serialize-typed-array

    Usage

    var serialize = require( 'eval-serialize-typed-array' );

    serialize( value )

    Serializes a typed array for dynamic code evaluation.

    var deepEqual = require( 'deep-equal' );
     
    var arr1 = new Int8Array( 4 );
     
    var str = serialize( arr1 );
    // returns 'new Int8Array([0,0,0,0])'
     
    var arr2 = eval( str );
    // returns Int8Array( [0,0,0,0] )
     
    var bool = deepEqual( arr1, arr2 );
    // returns true

    serialize.raw( arr )

    Serializes a typed array 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 Float64Array( [1,2,3,4] ) );
    // returns 'new Float64Array([1,2,3,4])';

    Examples

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

    DownloadsWeekly Downloads

    0

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • kgryte