Class UUID

The UUID object type.

Constructors

  • Initializes the UUID object.

    Parameters

    • _timeLow: number

      The time_low field (octet 0-3, uint32).

    • _timeMid: number

      The time_mid field (octet 4-5, uint16).

    • _timeHiAndVersion: number

      The time_hi_and_version field (octet 6-7, uint16).

    • _clockSeqHiAndReserved: number

      The clock_seq_hi_and_reserved field (octet 8, uint8).

    • _clockSeqLow: number

      The clock_seq_low field (octet 9, uint8).

    • _node: number

      The node field (octet 10-15, uint48).

    Returns UUID

Properties

bitFields: readonly string[] & {
    clockSeqHiAndReserved: string;
    clockSeqLow: string;
    node: string;
    timeHiAndVersion: string;
    timeLow: string;
    timeMid: string;
}

The UUID internal field values as an array of binary strings.

Note that these internal fields from the obsolete RFC 4122 are no longer used in the current RFC 9562.

Type declaration

  • Readonly clockSeqHiAndReserved: string
  • Readonly clockSeqLow: string
  • Readonly node: string
  • Readonly timeHiAndVersion: string
  • Readonly timeLow: string
  • Readonly timeMid: string
bitString: string

The 128-bit binary string representation.

hexFields: readonly string[] & {
    clockSeqHiAndReserved: string;
    clockSeqLow: string;
    node: string;
    timeHiAndVersion: string;
    timeLow: string;
    timeMid: string;
}

The UUID internal field values as an array of hexadecimal strings.

Note that these internal fields from the obsolete RFC 4122 are no longer used in the current RFC 9562.

Type declaration

  • Readonly clockSeqHiAndReserved: string
  • Readonly clockSeqLow: string
  • Readonly node: string
  • Readonly timeHiAndVersion: string
  • Readonly timeLow: string
  • Readonly timeMid: string
hexNoDelim: string

The non-delimited hexadecimal string representation ("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx").

Since

v3.3.0

hexString: string

The hexadecimal string representation ("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx").

intFields: readonly number[] & {
    clockSeqHiAndReserved: number;
    clockSeqLow: number;
    node: number;
    timeHiAndVersion: number;
    timeLow: number;
    timeMid: number;
}

The UUID internal field values as an array of integers.

Note that these internal fields from the obsolete RFC 4122 are no longer used in the current RFC 9562.

Type declaration

  • Readonly clockSeqHiAndReserved: number
  • Readonly clockSeqLow: number
  • Readonly node: number
  • Readonly timeHiAndVersion: number
  • Readonly timeLow: number
  • Readonly timeMid: number
urn: string

The URN string representation ("urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx").

version: number

The UUID version number.

FIELD_NAMES: readonly string[] = ...

The names of UUID internal fields.

Note that these internal fields from the obsolete RFC 4122 are no longer used in the current RFC 9562.

Since

3.0

FIELD_SIZES: readonly number[] = ...

The sizes of UUID internal fields.

Note that these internal fields from the obsolete RFC 4122 are no longer used in the current RFC 9562.

Since

3.0

NIL: UUID = ...

A nil UUID object.

Since

v3.4.0

_mathPRNG: ((x) => number) = UUID._getRandomInt

Type declaration

    • (x): number
    • Returns an unsigned x-bit random integer.

      Parameters

      • x: number

        An unsigned integer ranging from 0 to 53, inclusive.

      Returns number

      An unsigned x-bit random integer (0 <= f(x) < 2^x).

_state: null | UUIDState = null

The persistent internal state for UUIDv1 and UUIDv6 creation.

Methods

  • Tests if two UUID objects are equal.

    Parameters

    Returns boolean

    true if two UUID objects are equal.

  • Converts an integer to a zero-filled binary string.

    Parameters

    • num: number
    • length: number

    Returns string

  • Returns an unsigned x-bit random integer.

    Parameters

    • x: number

      An unsigned integer ranging from 0 to 53, inclusive.

    Returns number

    An unsigned x-bit random integer (0 <= f(x) < 2^x).

  • Parameters

    • time: number

      The number of milliseconds elapsed since 1970-01-01.

    Returns {
        hi: number;
        low: number;
        mid: number;
        timestamp: number;
    }

    • hi: number
    • low: number
    • mid: number
    • timestamp: number
  • Converts an integer to a zero-filled hexadecimal string.

    Parameters

    • num: number
    • length: number

    Returns string

  • Creates a UUIDv1 object.

    Returns UUID

    A UUIDv1 object.

    Since

    3.0

  • Creates a UUIDv4 object.

    Returns UUID

    A UUIDv4 object.

    Since

    3.0

  • Creates a UUIDv6 object.

    Returns UUID

    A UUIDv6 object.

    Since

    v4.2.13

  • Generates a UUIDv4 as a hexadecimal string.

    Returns string

    The hexadecimal UUID string.

  • Converts a hexadecimal UUID string to a UUID object.

    Parameters

    • strId: string

      A hexadecimal UUID string ("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx").

    Returns null | UUID

    The UUID object or null.

    Since

    3.0

  • Re-initializes the internal state for UUIDv1 and UUIDv6 creation.

    Returns void

    Since

    3.0

  • Enables Math.random()-based pseudorandom number generator instead of cryptographically safer options.

    Returns void

    Since

    v3.5.0

    Deprecated

    This method is provided only to work around performance drawbacks of the safer algorithms.