Module: Restruct

Restruct

Restruct class.

A JavaScript binary data library.

restruct.js performs conversion to and from binary data types. It utilizes an intuitive declarative API to define formats for binary structure parsers and emitters. It works in both the browser and on Node.
restruct.js is freely distributable under the terms of the MIT license.

This class has chainable methods and is used to define a structure.
Can be used to convert between JSON and buffer of bytes.

It should be noted that this library has had some modifications done to it by InfiniteSky contributors.
But the initial library is by another person.

Deprecated:
  • We really should rewrite this some time into code that compiles at runtime into native functions. Or just use google protobuf or something?
Author:
License:
  • MIT
Source:
See:

Methods

boolean(n) → {Restruct}

Boolean (1 byte)

Parameters:
Name Type Description
n Integer

The amount of bytes to pad null.

Source:
Returns:

this, chainable

Type
Restruct

float32l(k, n, buf) → {Restruct}

32-bit signed little-endian float.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

generateDocumentation() → {String}

An attempt to output documentation about a Restruct structure definition.

Deprecated:
  • We may not ever use this it was just Liam toying around with the concept. Ideally a plugin could be made for jsdoc which would add more information about all structures we make (in namespace or markdown format maybe...).
Source:
Returns:

Output.

Type
String

int8bs(k, n, buf) → {Restruct}

8-bit signed big-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int8bu(k, n, buf) → {Restruct}

8-bit unsigned big-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int8ls(k, n, buf) → {Restruct}

8-bit signed little-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int8lu(k, n, buf) → {Restruct}

8-bit unsigned little-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int16bs(k, n, buf) → {Restruct}

16-bit signed big-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int16bu(k, n, buf) → {Restruct}

16-bit unsigned big-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int16ls(k, n, buf) → {Restruct}

16-bit signed little-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int16lu(k, n, buf) → {Restruct}

16-bit unsigned little-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int24bs(k, n, buf) → {Restruct}

24-bit signed big-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int24bu(k, n, buf) → {Restruct}

24-bit unsigned big-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int24ls(k, n, buf) → {Restruct}

24-bit signed little-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int24lu(k, n, buf) → {Restruct}

24-bit unsigned little-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int32bs(k, n, buf) → {Restruct}

32-bit signed big-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int32bu(k, n, buf) → {Restruct}

32-bit unsigned big-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int32ls(k, n, buf) → {Restruct}

32-bit signed little-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int32lu(k, n, buf) → {Restruct}

32-bit unsigned little-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int40bs(k, n, buf) → {Restruct}

40-bit signed big-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int40bu(k, n, buf) → {Restruct}

40-bit unsigned big-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int40ls(k, n, buf) → {Restruct}

40-bit signed little-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int40lu(k, n, buf) → {Restruct}

40-bit unsigned little-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int48bs(k, n, buf) → {Restruct}

48-bit signed big-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int48bu(k, n, buf) → {Restruct}

48-bit unsigned big-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int48ls(k, n, buf) → {Restruct}

48-bit signed little-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

int48lu(k, n, buf) → {Restruct}

48-bit unsigned little-endian integer.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

nibble(k, n) → {Restruct}

Nibble

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of nibbles.

Source:
Returns:

this, chainable

Type
Restruct

objectify() → {object}

Create js Object with undef keys.

Source:
Returns:
Type
object

pack(struct) → {binary}

Packs a structure type.
This will return buffer/binary.

Parameters:
Name Type Description
struct object

The object to pack.

Source:
Returns:
Type
binary

pad(n) → {Restruct}

Pad NUL bytes.

Parameters:
Name Type Description
n Integer

The amount of bytes to pad null.

Source:
Returns:

this, chainable

Type
Restruct

string(k, n, buf) → {Restruct}

UTF-8 string.

Parameters:
Name Type Description
k String

The name of this element of the structure.

n Integer

Number of elements if this is an array.

buf buffer
Source:
Returns:

this, chainable

Type
Restruct

struct(k, s, n) → {Restruct}

Nested structure.

Parameters:
Name Type Description
k String

The name of this element of the structure.

s Restruct

Another structure.

n Integer

Number of elements if this is an array.

Source:
Returns:

this, chainable

Type
Restruct

unpack(array) → {object}

Unpacks a structure type.
This will return a JS object.

Parameters:
Name Type Description
array binary

The data to unpack.

Source:
Returns:
Type
object
The contributors to the InfiniteSky project.
Documentation generated by JSDoc 3.4.0 on Sat Jul 16th 2016