@gmod/binary-parser
v1.4.2
Published
Blazing-fast binary parser builder
Downloads
1,185
Readme
binary-parser
@gmod/binary-parser is a fork of https://github.com/keichi/binary-parser that also handles 64-bit longs and itf8 and ltf8 types
Installation
Binary-parser can be installed with npm:
$ npm install @gmod/binary-parser
Special data types
The ITF-8 and LTF-8 types documented in https://samtools.github.io/hts-specs/CRAMv3.pdf
The 64-bit parsing in this library is done by https://www.npmjs.com/package/long and simply returns .toNumber() on the parsed 64 bit data.
You can also access Long
inside formatter callbacks (this is not possible in keichi/binary-parser since these are eval'd and the Long
library instance is not available to the eval'd code)
Differences with keichi/binary-parser
This library is default little endian instead instead of big endian while https://github.com/keichi/binary-parser is default big endian
The return value of the parse
{result: {<parsed results>},offset: <number of bytes parsed>}
instead of just{<parsed results>}
Example usage
Example of reading a 64-bit int
new Parser()
.uint64('mylong64bitint')
.int64('mylong64bitint')
64 bit infers from the endianess of the .endianess, doesn't use uint64le/be
Verification of whether the long is a valid 2^53 int is not done for 64 bit numbers. If you require this make a custom callback using Long
in a formatter for buffer