Options
All
  • Public
  • Public/Protected
  • All
Menu

Class default<T, ClassName, HasCRC>

Factory of structures. You can define your data structure by chaining the appropriate method calls.

export default class Struct

Type parameters

  • T = {}

  • ClassName: string = "Structure"

  • HasCRC: boolean = false

Hierarchy

  • default

Index

Constructors

  • new default<T, ClassName, HasCRC>(defaultClassName?: ClassName): default<T, ClassName, HasCRC>
  • Create a factory for the structure with the specified default name if given. This name can be changed when calling the method default.compile

    Type parameters

    • T = {}

    • ClassName: string = "Structure"

    • HasCRC: boolean = false

    Parameters

    • Optional defaultClassName: ClassName

    Returns default<T, ClassName, HasCRC>

Methods

  • BCD<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a single-byte binary-coded decimal

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • BigInt64Array<N>(name: N | N[], length?: number): ExtendStruct<T, ClassName, N, BigInt64Array, false, true>
  • defines a BigInt64Array typed array represents an array of 64-bit signed integers.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional length: number

      the number of elements

    Returns ExtendStruct<T, ClassName, N, BigInt64Array, false, true>

  • BigInt64BE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a signed, big-endian 64-bit integer field

    Type parameters

    • N: string

    • R: bigint

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • BigInt64LE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a signed, little-endian 64-bit integer field

    Type parameters

    • N: string

    • R: bigint

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • BigUInt64Array<N>(name: N | N[], length?: number): ExtendStruct<T, ClassName, N, BigUint64Array, false, true>
  • defines a BigUint64Array typed array represents an array of 64-bit unsigned integers.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional length: number

      the number of elements

    Returns ExtendStruct<T, ClassName, N, BigUint64Array, false, true>

  • BigUInt64BE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines an unsigned, big-endian 64-bit integer field

    Type parameters

    • N: string

    • R: bigint

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • BigUInt64LE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines an unsigned, little-endian 64-bit integer field

    Type parameters

    • N: string

    • R: bigint

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Bits16<N>(fields: Record<N, BitMaskN<16>>): ExtendStruct<T, ClassName, N, number, false, false>
  • defines unsigned bit fields on two bytes

    Type parameters

    • N: string

    Parameters

    • fields: Record<N, BitMaskN<16>>

      an object with the name of the fields and their BitMask

    Returns ExtendStruct<T, ClassName, N, number, false, false>

  • Bits32<N>(fields: Record<N, BitMaskN<32>>): ExtendStruct<T, ClassName, N, number, false, false>
  • defines unsigned bit fields on four bytes

    Type parameters

    • N: string

    Parameters

    • fields: Record<N, BitMaskN<32>>

      an object with the name of the fields and their BitMask

    Returns ExtendStruct<T, ClassName, N, number, false, false>

  • Bits8<N>(fields: Record<N, BitMaskN<8>>): ExtendStruct<T, ClassName, N, number, false, false>
  • defines unsigned bit fields on one byte

    Type parameters

    • N: string

    Parameters

    • fields: Record<N, BitMaskN<8>>

      an object with the name of the fields and their BitMask

    Returns ExtendStruct<T, ClassName, N, number, false, false>

  • Boolean16<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a 16-bit boolean field

    Type parameters

    • N: string

    • R: boolean

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Boolean32<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a 32-bit boolean field

    Type parameters

    • N: string

    • R: boolean

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Boolean8<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines an 8-bit boolean field

    Type parameters

    • N: string

    • R: boolean

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Buffer<N>(name: N | N[], length?: number): ExtendStruct<T, ClassName, N, Buffer, false, true>
  • defines a buffer field of length bytes

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional length: number

      The desired length of the Buffer

    Returns ExtendStruct<T, ClassName, N, Buffer, false, true>

  • CRC16BE<N>(name: N | N[]): ExtendStruct<T, ClassName, N, number, false, false>
  • CRC16BE<N>(name: N | N[], calc: CRCCalc, initial?: number): ExtendStruct<T, ClassName, N, number, true, false>
  • CRC16BE<N>(name: N, opts: CRCOpts): ExtendStruct<T, ClassName, N, number, true, false>
  • The last two bytes in the structure storing unsigned, big-endian 16-bit integer usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    Returns ExtendStruct<T, ClassName, N, number, false, false>

  • The last two bytes in the structure storing unsigned, big-endian 16-bit integer usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • calc: CRCCalc

      checksum function

    • Optional initial: number

      initial value, default 0.

    Returns ExtendStruct<T, ClassName, N, number, true, false>

  • The last two bytes in the structure storing unsigned, big-endian 16-bit integer usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N

      The field name or aliases

    • opts: CRCOpts

      checksum function parameters

    Returns ExtendStruct<T, ClassName, N, number, true, false>

  • CRC16LE<N>(name: N | N[]): ExtendStruct<T, ClassName, N, number, false, false>
  • CRC16LE<N>(name: N | N[], calc: CRCCalc, initial?: number): ExtendStruct<T, ClassName, N, number, true, false>
  • CRC16LE<N>(name: N, opts: CRCOpts): ExtendStruct<T, ClassName, N, number, true, false>
  • The last two bytes in the structure storing unsigned, little-endian 16-bit integer usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    Returns ExtendStruct<T, ClassName, N, number, false, false>

  • The last two bytes in the structure storing unsigned, little-endian 16-bit integer usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • calc: CRCCalc

      checksum function

    • Optional initial: number

      initial value, default 0.

    Returns ExtendStruct<T, ClassName, N, number, true, false>

  • The last two bytes in the structure storing unsigned, little-endian 16-bit integer usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N

      The field name or aliases

    • opts: CRCOpts

      checksum function parameters

    Returns ExtendStruct<T, ClassName, N, number, true, false>

  • CRC32BE<N>(name: N | N[]): ExtendStruct<T, ClassName, N, number, false, false>
  • CRC32BE<N>(name: N | N[], calc: CRCCalc, initial?: number): ExtendStruct<T, ClassName, N, number, true, false>
  • CRC32BE<N>(name: N, opts: CRCOpts): ExtendStruct<T, ClassName, N, number, true, false>
  • The last four bytes in the structure storing unsigned, big-endian 32-bit integer usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    Returns ExtendStruct<T, ClassName, N, number, false, false>

  • The last four bytes in the structure storing unsigned, big-endian 32-bit integer usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • calc: CRCCalc

      checksum function

    • Optional initial: number

      initial value, default 0.

    Returns ExtendStruct<T, ClassName, N, number, true, false>

  • The last four bytes in the structure storing unsigned, big-endian 32-bit integer usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N

      The field name or aliases

    • opts: CRCOpts

      checksum function parameters

    Returns ExtendStruct<T, ClassName, N, number, true, false>

  • CRC32LE<N>(name: N | N[]): ExtendStruct<T, ClassName, N, number, false, false>
  • CRC32LE<N>(name: N | N[], calc: CRCCalc, initial?: number): ExtendStruct<T, ClassName, N, number, true, false>
  • CRC32LE<N>(name: N, opts: CRCOpts): ExtendStruct<T, ClassName, N, number, true, false>
  • The last four bytes in the structure storing unsigned, little-endian 32-bit integer usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    Returns ExtendStruct<T, ClassName, N, number, false, false>

  • The last four bytes in the structure storing unsigned, little-endian 32-bit integer usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • calc: CRCCalc

      checksum function

    • Optional initial: number

      initial value, default 0.

    Returns ExtendStruct<T, ClassName, N, number, true, false>

  • The last four bytes in the structure storing unsigned, little-endian 32-bit integer usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N

      The field name or aliases

    • opts: CRCOpts

      checksum function parameters

    Returns ExtendStruct<T, ClassName, N, number, true, false>

  • CRC8<N>(name: N | N[]): ExtendStruct<T, ClassName, N, number, false, false>
  • CRC8<N>(name: N | N[], calc: CRCCalc, initial?: number): ExtendStruct<T, ClassName, N, number, true, false>
  • CRC8<N>(name: N, opts: CRCOpts): ExtendStruct<T, ClassName, N, number, true, false>
  • The last byte in the structure, usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    Returns ExtendStruct<T, ClassName, N, number, false, false>

  • The last byte in the structure, usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • calc: CRCCalc

      checksum function

    • Optional initial: number

      initial value, default 0.

    Returns ExtendStruct<T, ClassName, N, number, true, false>

  • The last byte in the structure, usually used as a checksum. Typically, used for variable length structures.

    Type parameters

    • N: string

    Parameters

    • name: N

      The field name or aliases

    • opts: CRCOpts

      checksum function parameters

    Returns ExtendStruct<T, ClassName, N, number, true, false>

  • Custom<N, ReturnType>(name: N | N[], size: undefined | number, getter: Getter<ReturnType>): ExtendStruct<T, ClassName, N, ReturnType, false, true>
  • Custom<N, ReturnType>(name: N | N[], size: undefined | number, getter: Getter<ReturnType>, setter: Setter<ReturnType>): ExtendStruct<T, ClassName, N, ReturnType, false, false>
  • Type parameters

    • N: string

    • ReturnType

    Parameters

    • name: N | N[]
    • size: undefined | number
    • getter: Getter<ReturnType>

    Returns ExtendStruct<T, ClassName, N, ReturnType, false, true>

  • defines a field with a custom getter and setter

    Type parameters

    • N: string

    • ReturnType

    Parameters

    • name: N | N[]

      The field name or aliases

    • size: undefined | number

      The field size

    • getter: Getter<ReturnType>

      a function which serves as a getter for the property, or undefined if there is no getter.

    • setter: Setter<ReturnType>

      a function which serves as a setter for the property, or undefined if there is no setter.

    Returns ExtendStruct<T, ClassName, N, ReturnType, false, false>

  • Float32Array<N>(name: N | N[], length?: number): ExtendStruct<T, ClassName, N, Float32Array, false, true>
  • defines a Float32Array typed array represents an array of 32-bit floating numbers.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional length: number

      the number of elements

    Returns ExtendStruct<T, ClassName, N, Float32Array, false, true>

  • Float32BE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a 32-bit, big-endian float field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Float32LE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a 32-bit, little-endian float field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Float64Array<N>(name: N | N[], length?: number): ExtendStruct<T, ClassName, N, Float64Array, false, true>
  • defines a Float64Array typed array represents an array of 64-bit floating numbers.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional length: number

      the number of elements

    Returns ExtendStruct<T, ClassName, N, Float64Array, false, true>

  • Float64BE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a 64-bit, big-endian float field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Float64LE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a 64-bit, little-endian float field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Int16Array<N>(name: N | N[], length?: number): ExtendStruct<T, ClassName, N, Int16Array, false, true>
  • defines a Int16Array typed array represents an array of twos-complement 16-bit signed integers.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional length: number

      the number of elements

    Returns ExtendStruct<T, ClassName, N, Int16Array, false, true>

  • Int16BE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a signed, big-endian 16-bit integer field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Int16LE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a signed, little-endian 16-bit integer field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Int32Array<N>(name: N | N[], length?: number): ExtendStruct<T, ClassName, N, Int32Array, false, true>
  • defines a Int32Array typed array represents an array of twos-complement 32-bit signed integers.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional length: number

      the number of elements

    Returns ExtendStruct<T, ClassName, N, Int32Array, false, true>

  • Int32BE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a signed, big-endian 32-bit integer field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Int32LE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a signed, little-endian 32-bit integer field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Int8<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a signed, 8-bit integer field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • Int8Array<N>(name: N | N[], length?: number): ExtendStruct<T, ClassName, N, Int8Array, false, true>
  • defines a Int8Array typed array represents an array of twos-complement 8-bit signed integers.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional length: number

      the number of elements

    Returns ExtendStruct<T, ClassName, N, Int8Array, false, true>

  • String<N>(name: N | N[]): ExtendStruct<T, ClassName, N, string, false, false>
  • String<N>(name: N | N[], length: number): ExtendStruct<T, ClassName, N, string, false, false>
  • String<N>(name: N | N[], encoding: string): ExtendStruct<T, ClassName, N, string, false, false>
  • String<N>(name: N | N[], length: number, encoding: string): ExtendStruct<T, ClassName, N, string, false, false>
  • String<N>(name: N | N[], encoding: string, length: number): ExtendStruct<T, ClassName, N, string, false, false>
  • String<N, R>(name: N | N[], opts: StringOpts<R>): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines a tailed string field

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    Returns ExtendStruct<T, ClassName, N, string, false, false>

  • defines a string field of length bytes

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • length: number

      The byte length of a string

    Returns ExtendStruct<T, ClassName, N, string, false, false>

  • defines an encoded string field

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • encoding: string

      The encoding of string. Default: utf8. To use the full set of encodings install iconv-lite package

    Returns ExtendStruct<T, ClassName, N, string, false, false>

  • defines an encoded string field of length bytes

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • length: number

      The byte length of a string

    • encoding: string

      The encoding of string. Default: utf8. To use the full set of encodings install iconv-lite package

    Returns ExtendStruct<T, ClassName, N, string, false, false>

  • defines an encoded string field of length bytes

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • encoding: string

      The encoding of string. Default: utf8. To use the full set of encodings install iconv-lite package

    • length: number

      The byte length of a string

    Returns ExtendStruct<T, ClassName, N, string, false, false>

  • defines a string field

    Type parameters

    • N: string

    • R: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • opts: StringOpts<R>

      The string options

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • StringArray<N>(name: N | N[], opts: { encoding?: string; length: number; lines: number }): ExtendStruct<T, ClassName, N, string[], false, true>
  • defines a string array field

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • opts: { encoding?: string; length: number; lines: number }

      The string array options

      • Optional encoding?: string

        The encoding of string. Default: utf8. To use the full set of encodings install iconv-lite package

      • length: number
      • lines: number

        the number of rows in the string array

    Returns ExtendStruct<T, ClassName, N, string[], false, true>

  • Struct<N, S, StructClass>(name: N | N[], struct: StructConstructor<Item<S>, StructClass>): ExtendStruct<T, ClassName, N, S, false, S extends AssignableTypes ? false : true>
  • defines a nested structure

    Type parameters

    • N: string

    • S

    • StructClass: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • struct: StructConstructor<Item<S>, StructClass>

      structure factory

    Returns ExtendStruct<T, ClassName, N, S, false, S extends AssignableTypes ? false : true>

  • StructArray<N, S, StructClass>(name: N | N[], struct: StructConstructor<S, StructClass>, length?: number): ExtendStruct<T, ClassName, N, S[], false, true>
  • defines an array of elements of a typed struct

    Type parameters

    • N: string

    • S

    • StructClass: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • struct: StructConstructor<S, StructClass>

      The custom typed struct

    • Optional length: number

      the number of elements

    Returns ExtendStruct<T, ClassName, N, S[], false, true>

  • UInt16Array<N>(name: N | N[], length?: number): ExtendStruct<T, ClassName, N, Uint16Array, false, true>
  • defines a Uint16Array typed array represents an array of 16-bit unsigned integers.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional length: number

      the number of elements

    Returns ExtendStruct<T, ClassName, N, Uint16Array, false, true>

  • UInt16BE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines an unsigned, big-endian 16-bit integer field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • UInt16LE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines an unsigned, little-endian 16-bit integer field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • UInt32Array<N>(name: N | N[], length?: number): ExtendStruct<T, ClassName, N, Uint32Array, false, true>
  • defines a Uint32Array typed array represents an array of 32-bit unsigned integers.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional length: number

      the number of elements

    Returns ExtendStruct<T, ClassName, N, Uint32Array, false, true>

  • UInt32BE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines an unsigned, big-endian 32-bit integer field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • UInt32LE<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines an unsigned, little-endian 32-bit integer field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • UInt8<N, R>(name: N | N[], literal?: R): ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>
  • defines an unsigned, 8-bit integer field

    Type parameters

    • N: string

    • R: number

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional literal: R

      The fixed value

    Returns ExtendStruct<T, ClassName, N, R, false, R extends AssignableTypes ? false : true>

  • UInt8Array<N>(name: N | N[], length?: number): ExtendStruct<T, ClassName, N, Uint8Array, false, true>
  • defines a Uint8Array typed array represents an array of 8-bit unsigned integers.

    Type parameters

    • N: string

    Parameters

    • name: N | N[]

      The field name or aliases

    • Optional length: number

      the number of elements

    Returns ExtendStruct<T, ClassName, N, Uint8Array, false, true>

  • align2(): default<T, ClassName, HasCRC>
  • Align the current pointer to a two-byte boundary

    Returns default<T, ClassName, HasCRC>

  • align4(): default<T, ClassName, HasCRC>
  • Align the current pointer to a four-byte boundary

    Returns default<T, ClassName, HasCRC>

  • align8(): default<T, ClassName, HasCRC>
  • Align the current pointer to an eight-byte boundary

    Returns default<T, ClassName, HasCRC>

  • back(steps?: number): default<T, ClassName, HasCRC>
  • Move the current pointer in the buffer to the offset of the property that was N steps back.

    see

    default.seek

    Parameters

    • steps: number = 1

      the number of steps back, if the value is 0 then the pointer will point to the beginning of the buffer

    Returns default<T, ClassName, HasCRC>

  • compile(className?: undefined | string): ConditionalExtend<StructConstructor<{ [ P in string | number | symbol]: T[P] }, ClassName>, CRC<StructConstructor<{ [ P in string | number | symbol]: T[P] }, ClassName>>, HasCRC>
  • Create structure constructor

    Parameters

    • className: undefined | string = ...

      The constructor name

    Returns ConditionalExtend<StructConstructor<{ [ P in string | number | symbol]: T[P] }, ClassName>, CRC<StructConstructor<{ [ P in string | number | symbol]: T[P] }, ClassName>>, HasCRC>

  • getOffsetOf(name: keyof T): undefined | number
  • Returns the offset in bytes from the beginning of the structure of the specified field

    Parameters

    • name: keyof T

      The field name or aliases

    Returns undefined | number

  • getOffsets(): Record<keyof T, number>
  • Returns an object where each property stores its offset

    Returns Record<keyof T, number>

  • getSize(): number
  • The current size of the structure in bytes

    Returns number

  • seek(bytes: number): default<T, ClassName, HasCRC>
  • Skip the specified number of bytes. If the value is negative, the pointer in the buffer will move backward, if the value is 0 then the pointer will point to the end of the current buffer.

    see

    default.back

    Parameters

    • bytes: number

    Returns default<T, ClassName, HasCRC>

  • raw<S>(structure: S): Buffer
  • Returns the underlying buffer of the structure

    Type parameters

    • S: StructGuard<string>

    Parameters

    • structure: S

    Returns Buffer

Generated using TypeDoc