Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface BinaryDataType

Binary data type.

Accessed via: diffusion.datatypes.binary();

The implementation provides support for binary deltas.

Binary values can be used to store and transmit arbitrary information. The responsibility for formatting and interpreting the information belongs solely to the application. Before using Binary for a topic, consider other data types such as JSON or single value topic types; these may provide a simpler interface for your application.

The implementation provides support for binary deltas.

Binary values are created by passing a Uint8Array object to BinaryDataType.from. When running the Diffusion Client in a browser context, access to the Uint8Array api is made available through diffusion.buffer.

since

5.7

Hierarchy

Index

Properties

Binary

Binary: object

The Binary data type value class

Type declaration

Methods

canReadAs

  • canReadAs(valueType: object): boolean
  • Test whether this data type is compatible with valueType. Compatibility with a valueType means than any valid binary representation of a value can be read as an instance of valueType.

    Every data type should be compatible with the following:

    • Value Type – the class corresponding to the data type's value type.

    For a data type with a value type of X, readAs(X, buffer) is equivalent to readValue(buffer).

    since

    6.0

    Parameters

    • valueType: object

      the type to check

    Returns boolean

    true if a binary representation created by this data type can read as an instance * of valueType

deltaType

  • Obtain a DeltaType by name or delta type.

    Example:

    // Get by name
    var deltas = datatype.deltaType("binary");

    Example:

    // Get by type
    var deltas = datatype.deltaType(delta);

    Parameters

    • Optional name: undefined | string

      the name, as returned by DeltaType.name

    Returns DeltaType<Binary, Uint8Array | Binary, Binary>

    the delta type

from

  • from(buffer: Uint8Array): Binary
  • Returns a new Binary instance from a buffer.

    throws

    an IllegalArgumentError if the data is not a valid Binary

    Parameters

    • buffer: Uint8Array

      The binary data

    Returns Binary

    A Binary data-type instance

name

  • name(): string
  • The external type identifier.

    Returns string

    the name of this datatype

readAs

  • readAs<T>(valueType: object, buffer: Uint8Array, offset?: undefined | number, length?: undefined | number): T | null
  • readAs<T>(valueType: object, buffer: Binary): T | null
  • Create a value of a compatible class from binary.

    throws

    an InvalidDataError if valueType is incompatible with this data type, or buffer does not represent a valid value.

    since

    6.0

    Type parameters

    • T

    Parameters

    • valueType: object

      the type of the result

    • buffer: Uint8Array

      the binary data

    • Optional offset: undefined | number

      the offset to start reading from the provided buffer (default = 0)

    • Optional length: undefined | number

      the length of the data to read (default = input.length)

    Returns T | null

    the value in the form of the specified type

  • Type parameters

    • T

    Parameters

    • valueType: object
    • buffer: Binary

    Returns T | null

readValue

  • readValue(input: Uint8Array, offset?: undefined | number, length?: undefined | number): Binary | null
  • readValue(input: Binary): Binary | null
  • Parse a value from binary.

    throws

    an InvalidDataError error if the data is invalid for this type

    Parameters

    • input: Uint8Array

      the binary data

    • Optional offset: undefined | number

      the offset to start reading from the provided buffer (default = 0)

    • Optional length: undefined | number

      the length of the data to read (default = input.length)

    Returns Binary | null

    an instance of this data type value

  • Parameters

    Returns Binary | null

writeValue

  • writeValue(value: Uint8Array | Binary | undefined | null): Buffer
  • Serialise a value to binary

    throws

    an IllegalArgumentError if the value cannot be serialised

    deprecated

    since version 6.11. Buffer has been replaced by Uint8Array. Use writeValueToArray instead. This will be removed in a future release.

    Parameters

    • value: Uint8Array | Binary | undefined | null

      the value to serialise. For primitive and JSON datatypes the value can be undefined or null. In this case a null value will be serialised.

    Returns Buffer

    the serialised value as a buffer

writeValueToArray

  • writeValueToArray(value: Uint8Array | Binary | undefined | null): Uint8Array
  • Serialise a value to binary

    throws

    an IllegalArgumentError if the value cannot be serialised

    Parameters

    • value: Uint8Array | Binary | undefined | null

      the value to serialise. For primitive and JSON datatypes the value can be undefined or null. In this case a null value will be serialised.

    Returns Uint8Array

    the serialised value as a buffer