defmodule ShortUUID do @moduledoc """ ShortUUID is a module for encoding and decoding UUIDs using a base57 alphabet. ## Functions - `encode/1` - Encodes a UUID into a shorter string using base57 alphabet - `encode!/1` - Same as encode/1 but raises an error on failure - `decode/1` - Decodes a shortened string back into a UUID - `decode!/1` - Same as decode/1 but raises an error on failure ## Example iex> ShortUUID.encode("550e8400-e29b-41d4-a716-446655440000") {:ok, "H9cNmGXLEc8NWcZzSThA9S"} iex> ShortUUID.decode("H9cNmGXLEc8NWcZzSThA9S") {:ok, "550e8400-e29b-41d4-a716-446655440000"} For custom alphabets and more options, see `ShortUUID.Builder`. To implement your own compatible ShortUUID module, use `ShortUUID.Behaviour`. """ use ShortUUID.Builder, alphabet: :base57_shortuuid end