src/xid

Types

Xid = object
  
XidError = object of ValueError

Procs

proc `$`(xid: Xid): string {....raises: [], tags: [], forbids: [].}
Xid base32 hex string repr

Example:

block:
  let xidBase32Hex = $initXid()
  echo xidBase32Hex
proc `==`(a, b: Xid): bool {....raises: [], tags: [], forbids: [].}
proc castToXid(raw: array[12, uint8]): Xid {.inline, ...raises: [], tags: [],
    forbids: [].}
cast a 12 bytes as Xid

Example:

block:
  let raw =
    [byte 0x4d, 0x88, 0xe1, 0x5b, 0x60, 0xf4, 0x86, 0xe4, 0x28, 0x41, 0x2d, 0xc9]
  let xid = castToXid(raw)
  xid.debug()
proc count(xid: Xid): uint32 {....raises: [], tags: [], forbids: [].}
resolve count uint32 value from Xid

Example:

block:
  let count = initXid().count()
  echo count
proc debug(xid: Xid) {....raises: [], tags: [], forbids: [].}
echo Xid debug info

Example:

block:
  let xid = initXid()
  xid.debug()
proc initXid(time: Time = getTime()): Xid {....raises: [], tags: [], forbids: [].}
init Xid

Example:

block:
  let xid = initXid()
  xid.debug()

import std/times
block:
  let xid = initXid(time = getTime())
  xid.debug()
proc machineId(xid: Xid): uint32 {....raises: [], tags: [], forbids: [].}
resolve machine-id uint32 value from Xid

Example:

block:
  let machineId = initXid().machineId()
  echo machineId
proc parseXid(s: string): Xid {....raises: [XidError], tags: [], forbids: [].}
parse Xid from a string

Example:

block:
  let xid = parseXid("9m4e2mr0ui3e8a215n4g")
  xid.debug()
proc processId(xid: Xid): uint16 {....raises: [], tags: [], forbids: [].}
resolve process-id uint16 value from Xid

Example:

block:
  let processId = initXid().processId()
  echo processId
proc time(xid: Xid): Time {....raises: [], tags: [], forbids: [].}
resolve Time from Xid

Example:

block:
  let time = initXid().time()
  echo time

Iterators

iterator items(xid: Xid): uint8 {....raises: [], tags: [], forbids: [].}
uint8 iterator

Example:

block:
  let xid = initXid()
  for b in xid:
    echo b