Constructor
new TimeUuid(dateopt, ticksopt, nodeIdopt, clockIdopt)
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.
If 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 | Attributes | Description |
---|---|---|---|
date |
Date |
<optional> |
The date for the instance. If not provided, current Date will be used. |
ticks |
number |
<optional> |
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 |
string | Buffer |
<optional> |
A 6-length Buffer or string of 6 ascii characters representing the node identifier, ie: 'host01'. |
clockId |
string | Buffer |
<optional> |
A 2-length Buffer or string of 6 ascii characters representing the clock identifier. |
- Source:
Extends
Members
(readonly) buffer :Buffer
Returns the underlying buffer
Type:
- Buffer
- Overrides:
- Source:
uuidRegex
Used to check if the UUID is in a correct format Source: https://stackoverflow.com/a/6640851 Verified also with documentation of UUID library in Rust: https://docs.rs/uuid/latest/uuid/
- Overrides:
- Source:
Methods
equals(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. |
- Overrides:
- Source:
getBuffer() → {Buffer}
Gets the bytes representation of a Uuid
- Overrides:
- Source:
Returns:
- Type
- Buffer
getClockId() → {Buffer}
Returns the clock id this instance, with the variant applied (first 2 msb being 1 and 0).
- Source:
Returns:
- Type
- Buffer
getDate() → {Date}
Gets the Date representation of this instance.
- Source:
Returns:
- Type
- Date
getDatePrecision() → {Object}
Gets the Date and 100-nanoseconds units representation of this instance.
- Source:
Returns:
- Type
- Object
(package) getInternal() → {rust.UuidWrapper}
- Overrides:
- Source:
Returns:
- Type
- rust.UuidWrapper
getNodeId() → {Buffer}
Returns the node id this instance
- Source:
Returns:
- Type
- Buffer
getNodeIdString() → {string}
Returns the node id this instance as an ascii string
- Source:
Returns:
- Type
- string
inspect() → {string}
Provide the name of the constructor and the string representation
- Overrides:
- Source:
Returns:
- Type
- string
toJSON()
Returns the string representation. Method used by the native JSON.stringify() to serialize this instance.
- Overrides:
- Source:
toString() → {string}
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.
- Overrides:
- Source:
Returns:
- Type
- string
(static) fromDate(date, ticksopt, nodeIdopt, clockIdopt, callbackopt)
Generates a TimeUuid instance based on the Date provided using random node and clock values.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
date |
Date | Date to generate the v1 uuid. |
|
ticks |
number |
<optional> |
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 |
string | Buffer |
<optional> |
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 |
string | Buffer |
<optional> |
A 2-length Buffer or string of 6 ascii characters representing the clock identifier. If not provided a random clockId will be generated. |
callback |
function |
<optional> |
An optional callback to be invoked with the error as first parameter and the created
When nodeId and/or clockId portions are not provided, this method will generate them using
|
- Source:
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
});
(package, static) fromRust(buffer) → {TimeUuid}
Parameters:
Name | Type | Description |
---|---|---|
buffer |
rust.TimeUuidWrapper |
- Source:
Returns:
- Type
- TimeUuid
(static) fromString(value) → {TimeUuid}
Parses a string representation of a TimeUuid
Parameters:
Name | Type | Description |
---|---|---|
value |
string | should be in 00000000-0000-0000-0000-000000000000 format |
- Source:
Returns:
- Type
- TimeUuid
(static) max(date, ticks) → {TimeUuid}
Returns the biggest possible type 1 uuid with the provided Date.
Parameters:
Name | Type | Description |
---|---|---|
date |
Date | |
ticks |
number |
- Source:
Returns:
- Type
- TimeUuid
(static) min(date, ticks) → {TimeUuid}
Returns the smallest possible type 1 uuid with the provided Date.
Parameters:
Name | Type | Description |
---|---|---|
date |
Date | |
ticks |
number |
- Source:
Returns:
- Type
- TimeUuid
(static) now(nodeIdopt, clockIdopt, callbackopt)
Generates a TimeUuid instance based on the current date using random node and clock values.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
nodeId |
string | Buffer |
<optional> |
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 |
string | Buffer |
<optional> |
A 2-length Buffer or string of 6 ascii characters representing the clock identifier. If not provided a random clockId will be generated. |
callback |
function |
<optional> |
An optional callback to be invoked with the error as first parameter and the created
When nodeId and/or clockId portions are not provided, this method will generate them using
|
- Source:
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();