Jidoka.Id (Jidoka v0.9.0)

Copy Markdown View Source

Small boundary for generated Jidoka identifiers.

Core data constructors accept explicit IDs. When callers use convenience constructors without IDs, generation is routed through this module so entropy is isolated and tests can inject deterministic generators.

Summary

Functions

Generates an ID for a prefix using either the default generator or a caller-supplied generator.

Generates an ID or raises when the generator returns an invalid value.

Generates a prefixed UUIDv7 identifier.

Generates a UUIDv7 identifier.

Types

generator()

@type generator() :: (prefix() -> String.t())

prefix()

@type prefix() :: String.t()

Functions

generate(prefix, generator \\ nil)

@spec generate(prefix(), generator() | nil) :: {:ok, String.t()} | {:error, term()}

Generates an ID for a prefix using either the default generator or a caller-supplied generator.

generate!(prefix, generator \\ nil)

@spec generate!(prefix(), generator() | nil) :: String.t()

Generates an ID or raises when the generator returns an invalid value.

random(prefix)

@spec random(prefix()) :: String.t()

Generates a prefixed UUIDv7 identifier.

uuid7()

@spec uuid7() :: String.t()

Generates a UUIDv7 identifier.