Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lukechilds/byte-range
Returns integer ranges for C data types
https://github.com/lukechilds/byte-range
c data-type validation
Last synced: 18 days ago
JSON representation
Returns integer ranges for C data types
- Host: GitHub
- URL: https://github.com/lukechilds/byte-range
- Owner: lukechilds
- License: mit
- Created: 2019-01-11T06:12:58.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-01-12T04:42:45.000Z (almost 6 years ago)
- Last Synced: 2024-10-20T14:34:56.424Z (19 days ago)
- Topics: c, data-type, validation
- Language: JavaScript
- Size: 11.7 KB
- Stars: 32
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# byte-range
> Returns integer ranges for a given number of bytes.
[![Build Status](https://travis-ci.com/lukechilds/byte-range.svg?branch=master)](https://travis-ci.com/lukechilds/byte-range)
[![Coverage Status](https://coveralls.io/repos/github/lukechilds/byte-range/badge.svg?branch=master)](https://coveralls.io/github/lukechilds/byte-range?branch=master)
[![npm](https://img.shields.io/npm/v/byte-range.svg)](https://www.npmjs.com/package/byte-range)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
```shell
npm install byte-range
```## Usage
Check the integer range for a given number of bytes:
```js
const byteRange = require('byte-range');byteRange(1);
// [0, 255]
byteRange(2);
// [0, 65535]
```You can check signed or unsigned integer ranges:
```js
byteRange(1, {signed: false});
// [0, 255]
byteRange(1, {signed: true});
// [-128, 127]
```There are also some common C data types precomputed:
```js
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