Awesome
BigBit
An improved data type to save large numbers in less space without precision loss. check more detail here. Or try the demo
var HBSequence = require('bigbit').HeaderByte;
let hb = new HBSequence('167770021700.00');
expect( hb.toString() ).toEqual('167770021700');
expect( hb.toByteArray() ).toEqual([69, 2, 121, 172, 255, 99]);
expect( HBSequence.decode( hb.toByteArray() ).toString() ).toEqual('167770021700'); //decode( byteArray, index[, maxNumberOfBytes ]);
expect( hb.exponent ).toEqual( 2 );
expect( hb.exponentInBytes ).toEqual( 2 );
expect( hb.headByte ).toEqual(69);
var EHBSequence = require('bigbit').ExtendedHeaderByte;
let ehb = new EHBSequence('167770021700.00');
expect( ehb.toString() ).toEqual('167770021700');
expect( ehb.toByteArray() ).toEqual([69, 2, 121, 172, 255, 99]);
expect( EHBSequence.decode( hb.toByteArray() ).toString() ).toEqual('167770021700.00'); //decode( byteArray, index[, maxNumberOfBytes ]);
expect( ehb.exponent ).toEqual( 2 );
expect( ehb.exponentInBytes ).toEqual( [2] );
expect( ehb.headByte ).toEqual(69);
var LBSequence = require('bigbit').LinkedBytes;
expect( LBSequence.encode('123000') ).toEqual( [ 248, 192, 7]);
expect( LBSequence.decode([ 248, 192, 7]) ).toEqual({ val: '123000', len: 3}); //decode( byteArray, index[, maxNumberOfBytes ]);