ids/cuid
A module for generating CUIDs (Collision-resistant Unique Identifiers). The implementation requires a counter, so an actor is used to keep track of that state. This means before generating a CUID, an actor needs to be started and all work is done via a channel.
Slugs are also supported.
Types
The messages handled by the actor.
The actor shouldn’t be called directly so this type is opaque.
pub opaque type Message
Functions
pub fn generate(channel: Subject(Message)) -> String
Generates a CUID using the given channel.
Usage
import ids/cuid
let assert Ok(channel) = cuid.start()
let id: String = cuid.generate(channel)
let slug: String = cuid.slug(channel)