Puid.Info (puid v2.6.0)

View Source

Information regarding Puid module parameterization

The Puid.Info struct has the following fields:

FieldDescription
char_setpre-defined Puid.Chars atom or :custom
characterssource characters
entropy_bitsentropy bits for generated puid
entropy_bits_per_charentropy bits per character for generated puids
erepuid entropy string representation efficiency
etepuid entropy transform efficiency
lengthpuid string length
rand_bytesentropy source function
iex> defmodule(CustomId, do: use(Puid, total: 1.0e04, risk: 1.0e12, chars: "thequickbrownfxjmpsvlazydg"))
iex> CustomId.info()
%Puid.Info{
  char_set: :custom,
  characters: "thequickbrownfxjmpsvlazydg",
  entropy_bits: 65.81,
  entropy_bits_per_char: 4.7,
  ere: 0.59,
  ete: 0.81,
  length: 14,
  rand_bytes: &:crypto.strong_rand_bytes/1
}

Summary

Types

t()

@type t() :: %Puid.Info{
  char_set: atom() | :custom,
  characters: String.t(),
  entropy_bits: number(),
  entropy_bits_per_char: number(),
  ere: number(),
  ete: number(),
  length: non_neg_integer(),
  rand_bytes: (non_neg_integer() -> binary()) | nil
}