NetworkFragment class for network IDs.

Hierarchy

Constructors

  • Throws

    [NETWORK_ADDRESS_INVALID] If networkAddress is not "ipv4" or "mac".

    Parameters

    • bits: number

      The number of bits for the fragment.

    • networkAddress: "ipv4" | "mac" = 'ipv4'

      The type of network address to use, "ipv4" or "mac".

      Defaults to "ipv4" if omitted.

    Returns default

Properties

bitMask: bigint

The bit mask used to isolate the fragment's bits from the snowflake.

bitMask is equal to maxValue << bitShift

bitMaskHex: string

The hexadecimal representation of the bit mask as string.

bitShift: bigint

The number of bits for left and right shifting.

bitShift is equal to the number of bits on the right side

bits: number

The number of bits for the fragment.

identifier: string

The fragment identifier.

maxValue: bigint

The maximum value that can be represented by this fragment.

maxValue is equal to 2 ** bits - 1

networkAddress: "ipv4" | "mac" = 'ipv4'

The type of network address to use, "ipv4" or "mac".

Defaults to "ipv4" if omitted.

value: bigint

The current value of the fragment.

Methods

  • Internal

    Returns a destructured fragment.

    Remarks

    Do not use this method outside of a Snowflakify instance.

    Returns

    A destructured fragment object with the following properties:

    • identifier: The identifier of the ID.
    • value: The value of the fragment for that snowflake.

    Parameters

    • snowflake: string | number | bigint

      The snowflake to destructure.

    Returns DestructuredFragment

  • Internal

    Returns the network ID.

    Remarks

    The value is masked by the maxValue to fit in the fragment's bits.

    Returns

    The network ID of the machine based on a non internal network address.

    Returns bigint

Generated using TypeDoc