Packages

128-bit, k-ordered, conflict-free IDs Elixir.

Current section

Files

Jump to
bigflake lib bigflake base62.ex
Raw

lib/bigflake/base62.ex

defmodule Bigflake.Base62 do
def encode(data, opts \\ []) do
len = Keyword.get(opts, :length)
Base62.encode(data) |> with_padding(len)
end
def decode(data) do
String.lstrip(data, ?0) |> Base62.decode!
end
defp with_padding(data, nil), do: data
defp with_padding(data, len), do: String.rjust(data, len, ?0)
end