2.2 KiB
byte-range
Returns integer ranges for a given number of bytes.
Returns the integer range for a given number of bytes or a C data type. This is useful for validating values when dealing with low-level protocols or interfacing with other low-level languages.
Install
npm install byte-range
Usage
Check the integer range for a given number of bytes:
const byteRange = require('byte-range');
byteRange(1);
// [0, 255]
byteRange(2);
// [0, 65535]
You can check signed or unsigned integer ranges:
byteRange(1, {signed: false});
// [0, 255]
byteRange(1, {signed: true});
// [-128, 127]
There are also some common C data types precomputed:
byteRange.uint8;
// [0, 255]
byteRange.uint16;
// [0, 65535]
byteRange.uint32;
// [0, 4294967295]
byteRange.int8;
// [-128, 127]
byteRange.int16;
// [-32768, 32767]
byteRange.int32;
// [-2147483648, 2147483647]
API
byteRange(bytes, [options])
Returns integer ranges for a given number of bytes.
bytes
Type: number
Default: undefined
Number of bytes to return the integer range for. Must be a positive integer.
options
Type: Object
Default: {signed: false}
An object containing the following properties:
signed
Type: boolean
Default: false
A boolean indicating whether the integer range is signed.
byteRange.uint8
Precomputed byte range for an unsigned 8 bit integer.
byteRange.uint16
Precomputed byte range for an unsigned 16 bit integer.
byteRange.uint32
Precomputed byte range for an unsigned 32 bit integer.
byteRange.int8
Precomputed byte range for a signed 8 bit integer.
byteRange.int16
Precomputed byte range for a signed 16 bit integer.
byteRange.int32
Precomputed byte range for a signed 32 bit integer.
License
MIT © Luke Childs