Skip to content

lukechilds/byte-range

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

byte-range

Returns integer ranges for a given number of bytes.

Build Status Coverage Status npm

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

About

Returns integer ranges for C data types

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published