Represents an immutable version 1 universally unique identifier (UUID). A UUID represents a 128-bit value.

Usage: TimeUuid.now()

Augments

Constructor

new

TimeUuid

([Date value], [Number ticks], [String or Buffer nodeId], [String or Buffer clockId])

Creates a new instance of Uuid based on the parameters provided according to rfc4122. If any of the arguments is not provided, it will be randomly generated, except for the date that will use the current date.

Note that when nodeId and/or clockId portions are not provided, the constructor will generate them using crypto.randomBytes(). As it’s possible that crypto.randomBytes() might block, it’s recommended that you use the callback-based version of the static methods fromDate() or now() in that case.

Parameters:
Name Type Description
value optional Date

The datetime for the instance, if not provided, it will use the current Date.

ticks optional Number

A number from 0 to 10000 representing the 100-nanoseconds units for this instance to fill in the information not available in the Date, as Ecmascript Dates have only milliseconds precision.

nodeId optional String or Buffer

A 6-length Buffer or string of 6 ascii characters representing the node identifier, ie: ‘host01’.

clockId optional String or Buffer

A 2-length Buffer or string of 6 ascii characters representing the clock identifier.

Methods

equals

(Uuid other)

Compares this object to the specified object. The result is true if and only if the argument is not null, is a UUID object, and contains the same value, bit for bit, as this UUID.

Parameters:
Name Type Description
other Uuid

The other value to test for equality.

TimeUuid.fromDate

(Date date, [Number ticks], [String or Buffer nodeId], [String or Buffer clockId], [function callback])

Generates a TimeUuid instance based on the Date provided using random node and clock values.

Static
This function is static
Examples:
Generate a TimeUuid from a ECMAScript Date
const timeuuid = TimeUuid.fromDate(new Date());
Generate a TimeUuid from a Date with ticks portion
const timeuuid = TimeUuid.fromDate(new Date(), 1203);
Generate a TimeUuid from a Date without any random portion
const timeuuid = TimeUuid.fromDate(new Date(), 1203, 'host01', '02');
Generate a TimeUuid from a Date with random node and clock identifiers
TimeUuid.fromDate(new Date(), 1203, function (err, timeuuid) {
  // do something with the generated timeuuid
});
Parameters:
Name Type Description
date Date

Date to generate the v1 uuid.

ticks optional Number

A number from 0 to 10000 representing the 100-nanoseconds units for this instance to fill in the information not available in the Date, as Ecmascript Dates have only milliseconds precision.

nodeId optional String or Buffer

A 6-length Buffer or string of 6 ascii characters representing the node identifier, ie: ‘host01’. If not provided, a random nodeId will be generated.

clockId optional String or Buffer

A 2-length Buffer or string of 6 ascii characters representing the clock identifier. If not provided a random clockId will be generated.

callback optional function

An optional callback to be invoked with the error as first parameter and the created TimeUuid as second parameter. When a callback is provided, the random portions of the TimeUuid instance are created asynchronously.

When nodeId and/or clockId portions are not provided, this method will generate them using crypto.randomBytes(). As it’s possible that crypto.randomBytes() might block, it’s recommended that you use the callback-based version of this method in that case.

TimeUuid.fromString

(String value)

Parses a string representation of a TimeUuid

Static
This function is static
Parameters:
Name Type Description
value String
Returns:
Type Description
TimeUuid

getBuffer

()

Gets the bytes representation of a Uuid

Returns:
Type Description
Buffer

getClockId

()

Returns the clock id this instance, with the variant applied (first 2 msb being 1 and 0).

Returns:
Type Description
Buffer

getDate

()

Gets the Date representation of this instance.

Returns:
Type Description
Date

getDatePrecision

()

Gets the Date and 100-nanoseconds units representation of this instance.

Returns:
Type Description
Object

getNodeId

()

Returns the node id this instance

Returns:
Type Description
Buffer

getNodeIdString

()

Returns the node id this instance as an ascii string

Returns:
Type Description
String

inspect

()

Provide the name of the constructor and the string representation

Returns:
Type Description
string

TimeUuid.max

()

Returns the biggest possible type 1 uuid with the provided Date.

Static
This function is static

TimeUuid.min

()

Returns the smaller possible type 1 uuid with the provided Date.

Static
This function is static

TimeUuid.now

([String or Buffer nodeId], [String or Buffer clockId], [function callback])

Generates a TimeUuid instance based on the current date using random node and clock values.

Static
This function is static
Examples:
Generate a TimeUuid from a Date without any random portion
const timeuuid = TimeUuid.now('host01', '02');
Generate a TimeUuid with random node and clock identifiers
TimeUuid.now(function (err, timeuuid) {
  // do something with the generated timeuuid
});
Generate a TimeUuid based on the current date (might block)
const timeuuid = TimeUuid.now();
Parameters:
Name Type Description
nodeId optional String or Buffer

A 6-length Buffer or string of 6 ascii characters representing the node identifier, ie: ‘host01’. If not provided, a random nodeId will be generated.

clockId optional String or Buffer

A 2-length Buffer or string of 6 ascii characters representing the clock identifier. If not provided a random clockId will be generated.

callback optional function

An optional callback to be invoked with the error as first parameter and the created TimeUuid as second parameter. When a callback is provided, the random portions of the TimeUuid instance are created asynchronously.

When nodeId and/or clockId portions are not provided, this method will generate them using crypto.randomBytes(). As it’s possible that crypto.randomBytes() might block, it’s recommended that you use the callback-based version of this method in that case.

toJSON

()

Returns the string representation. Method used by the native JSON.stringify() to serialize this instance.

toString

()

Returns a string representation of the value of this Uuid instance. 32 hex separated by hyphens, in the form of 00000000-0000-0000-0000-000000000000.

Returns:
Type Description
String