JavaScript / TypeScript API Reference

This page is generated from JSDoc comments in typescript/src/main.ts.

b32encode(n)

Encode a non-negative BigInt using Crockford Base32.

Arguments:
  • n (bigint)

Returns:

string

makeGeneratorId(seed)

Deterministically hash an arbitrary string (e.g. a user ID) to a 10-bit generator ID (0–1023) using FNV-1a.

Use this if you want to have IDs partitioned based on some

Arguments:
  • seed (string)

Returns:

number

mintSkuid(entityType, generatorId=thisGenerator)

Mint a short-form Snowflake SKUID: <entityType>-<base32_snowflake>.

The 63-bit snowflake layout is as follows: [42 bits: ms since SKAO epoch][10 bits: generator ID][11 bits: random]

Arguments:
  • entityType (EntityType) – A valid entity type prefix, defined in Entity.

  • generatorId (number) – Optional 10-bit (0–1023) generator ID. Defaults to a random value initialised once at runtime.

Returns:

string

Entity

type: { DP: “dp”; EB: “eb”; OB: “ob”; OBSQ: “obsq”; OBSQI: “obsqi”; PB: “pb”; PNL: “pnl”; PNLD: “pnld”; PRJ: “prj”; PRP: “prp”; RVW: “rvw”; SBD: “sbd”; SBI: “sbi”; SFT: “sft”; SFTA: “sfta”; SFTC: “sftc”; SFTCR: “sftcr”; TXN: “txn”; }