Current section

Files

Jump to
subaru lib ex_ulid ulid.ex
Raw

lib/ex_ulid/ulid.ex

defmodule ExULID.ULID do
@moduledoc false
@spec generate() :: String.t()
def generate do
timestamp = System.system_time(:millisecond)
ts = <<timestamp::unsigned-integer-size(48)>>
random = :crypto.strong_rand_bytes(10)
Base.encode32(ts <> random, case: :upper, padding: false)
end
end