| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.101.0/docs/apis/_sources/ulid_protocol_0.rst.txt |
.. index:: single: ulid_protocol .. _ulid_protocol/0:
.. rst-class:: right
protocol
ulid_protocolUniversally Unique Lexicographically Sortable Identifier (ULID) generator protocol.
| Availability:
| logtalk_load(ulid(loader))
| Author: Paulo Moura | Version: 1:1:0 | Date: 2026-07-06
| Compilation flags:
| static
| Dependencies: | (none)
| Remarks: | (none)
| Inherited public predicates: | (none)
.. contents:: :local: :backlinks: top
.. index:: generate/1 .. _ulid_protocol/0::generate/1:
generate/1 ^^^^^^^^^^^^^^
Generates a new ULID.
| Compilation flags:
| static
| Template:
| generate(ULID)
| Mode and number of proofs:
| generate(--ulid) - one_or_error
| Exceptions:
| The representation parameter is a variable:
| instantiation_error
| The representation parameter is not a variable but also neither atom, chars, nor codes:
| domain_error(ulid_representation,Representation)
.. index:: generate/2 .. _ulid_protocol/0::generate/2:
generate/2 ^^^^^^^^^^^^^^
Generates a new ULID from a timestamp (number of milliseconds since the Unix epoch: 00:00:00 UTC on January 1, 1970).
| Compilation flags:
| static
| Template:
| generate(Milliseconds,ULID)
| Mode and number of proofs:
| generate(+integer,--ulid) - one_or_error
| Exceptions:
| The representation parameter is a variable:
| instantiation_error
| The representation parameter is not a variable but also neither atom, chars, nor codes:
| domain_error(ulid_representation,Representation)
| Milliseconds is a variable:
| instantiation_error
| Milliseconds is neither a variable nor an integer:
| type_error(integer,Milliseconds)
| Milliseconds is outside the 48-bit range required by the ULID specification:
| domain_error(ulid_timestamp,Milliseconds)
.. index:: generate/8 .. _ulid_protocol/0::generate/8:
generate/8 ^^^^^^^^^^^^^^
Generates a new ULID from a timestamp discrete components.
| Compilation flags:
| static
| Template:
| generate(Year,Month,Day,Hours,Minutes,Seconds,Milliseconds,ULID)
| Mode and number of proofs:
| generate(+integer,+integer,+integer,+integer,+integer,+integer,+integer,--ulid) - one_or_error
| Exceptions:
| The representation parameter is a variable:
| instantiation_error
| The representation parameter is not a variable but also neither atom, chars, nor codes:
| domain_error(ulid_representation,Representation)
| Milliseconds is a variable:
| instantiation_error
| Milliseconds is neither a variable nor an integer:
| type_error(integer,Milliseconds)
| Milliseconds is an integer but outside the 0..999 range:
| domain_error(ulid_millisecond,Milliseconds)
| The timestamp is outside the 48-bit range required by the ULID specification:
| domain_error(ulid_timestamp,Timestamp)
.. index:: timestamp/2 .. _ulid_protocol/0::timestamp/2:
timestamp/2 ^^^^^^^^^^^^^^^
Returns the given ULID timestamp (number of milliseconds since the Unix epoch: 00:00:00 UTC on January 1, 1970).
| Compilation flags:
| static
| Template:
| timestamp(ULID,Milliseconds)
| Mode and number of proofs:
| timestamp(++ulid,-integer) - one_or_error
| Exceptions:
| The representation parameter is a variable:
| instantiation_error
| The representation parameter is not a variable but also neither atom, chars, nor codes:
| domain_error(ulid_representation,Representation)
| ULID is a variable:
| instantiation_error
| ULID is neither a variable nor an atom when using the atom representation:
| type_error(atom,ULID)
| ULID is neither a variable nor a list of characters when using the chars representation:
| type_error(chars,ULID)
| ULID is neither a variable nor a list of character codes when using the codes representation:
| type_error(codes,ULID)
| ULID is not a valid ULID:
| domain_error(ulid,ULID)
.. index:: timestamp/8 .. _ulid_protocol/0::timestamp/8:
timestamp/8 ^^^^^^^^^^^^^^^
Decodes a ULID into its timestamp discrete components.
| Compilation flags:
| static
| Template:
| timestamp(ULID,Year,Month,Day,Hours,Minutes,Seconds,Milliseconds)
| Mode and number of proofs:
| timestamp(++ulid,-integer,-integer,-integer,-integer,-integer,-integer,-integer) - one_or_error
| Exceptions:
| The representation parameter is a variable:
| instantiation_error
| The representation parameter is not a variable but also neither atom, chars, nor codes:
| domain_error(ulid_representation,Representation)
| ULID is a variable:
| instantiation_error
| ULID is neither a variable nor an atom when using the atom representation:
| type_error(atom,ULID)
| ULID is neither a variable nor a list of characters when using the chars representation:
| type_error(chars,ULID)
| ULID is neither a variable nor a list of character codes when using the codes representation:
| type_error(codes,ULID)
| ULID is not a valid ULID:
| domain_error(ulid,ULID)
(none)
(none)
(none)