Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface DoubleDataType

Double data type.

Accessed via: diffusion.datatypes.double();

Provides a data type implementation which supports double float (native JavaScript Number) values. The double value is serialized in CBOR-format binary.

This data type supports null double values.

since

6.0

Hierarchy

Index

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

  • deltaType(name?: undefined | string): DeltaType<Number, Number, Bytes>
  • 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<Number, Number, Bytes>

    the delta type

name

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

    Returns string

    the name of this datatype

readAs

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

    throws

    an error 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: Buffer

      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: Bytes

    Returns T | null

readValue

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

    When running the Diffusion Client in a browser context, access to the Buffer api is made available through diffusion.buffer.

    throws

    an error if the data is invalid for this type

    Parameters

    • input: Buffer

      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 Number | null

    an instance of this data type value

  • Parameters

    Returns Number | null

writeValue

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

    When running the Diffusion Client in a browser context, access to the Buffer api is made available through diffusion.buffer.

    throws

    an error if the value can not be serialised

    Parameters

    • value: Number | 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