Current section
Files
Jump to
Current section
Files
src/apiculture.erl
-module(apiculture).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/apiculture.gleam").
-export([empty_alphabet_error/0, single_character_alphabet_error/0, duplicate_characters_error/0, secure_random_unavailable_error/0, invalid_byte_count_error/0, invalid_encoding_error/0, malformed_input_error/0, checksum_mismatch_error/0, new_alphabet/1, alphabet_characters/1, alphabet_size/1, key_new/0, key_generate/1, key_value/1, key_bytes/1, key_with_random_bytes/2, key_with_random_chars/2, key_with_alphabet/2, key_with_encoding/2, key_with_prefix/2, key_with_separator/2, key_with_checksum/2, key_without_checksum/1, encoding_encode/2, encoding_decode/2, encoding_uses_padding/1, encoding_name/1, hex_lower/0, hex_upper/0, base32_rfc/0, base32_rfc_unpadded/0, base32_hex/0, base32_crockford/0, base32_z/0, base36/0, base58/0, base62/0, base64/0, base64_url/0, checksum_format/3, checksum_verify/3, crc32/0, default_generate/0, default_prefixed/1]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-file("src/apiculture.gleam", 39).
-spec empty_alphabet_error() -> apiculture@error:error().
empty_alphabet_error() ->
empty_alphabet.
-file("src/apiculture.gleam", 43).
-spec single_character_alphabet_error() -> apiculture@error:error().
single_character_alphabet_error() ->
single_character_alphabet.
-file("src/apiculture.gleam", 47).
-spec duplicate_characters_error() -> apiculture@error:error().
duplicate_characters_error() ->
duplicate_characters.
-file("src/apiculture.gleam", 51).
-spec secure_random_unavailable_error() -> apiculture@error:error().
secure_random_unavailable_error() ->
secure_random_unavailable.
-file("src/apiculture.gleam", 55).
-spec invalid_byte_count_error() -> apiculture@error:error().
invalid_byte_count_error() ->
invalid_byte_count.
-file("src/apiculture.gleam", 59).
-spec invalid_encoding_error() -> apiculture@error:error().
invalid_encoding_error() ->
invalid_encoding.
-file("src/apiculture.gleam", 63).
-spec malformed_input_error() -> apiculture@error:error().
malformed_input_error() ->
malformed_input.
-file("src/apiculture.gleam", 67).
-spec checksum_mismatch_error() -> apiculture@error:error().
checksum_mismatch_error() ->
checksum_mismatch.
-file("src/apiculture.gleam", 75).
-spec new_alphabet(binary()) -> {ok, apiculture@alphabet:alphabet()} |
{error, apiculture@error:error()}.
new_alphabet(Chars) ->
apiculture@alphabet:new_alphabet(Chars).
-file("src/apiculture.gleam", 79).
-spec alphabet_characters(apiculture@alphabet:alphabet()) -> list(binary()).
alphabet_characters(Alphabet) ->
apiculture@alphabet:characters(Alphabet).
-file("src/apiculture.gleam", 83).
-spec alphabet_size(apiculture@alphabet:alphabet()) -> integer().
alphabet_size(Alphabet) ->
apiculture@alphabet:size(Alphabet).
-file("src/apiculture.gleam", 91).
-spec key_new() -> apiculture@key:key_config().
key_new() ->
apiculture@key:new().
-file("src/apiculture.gleam", 95).
-spec key_generate(apiculture@key:key_config()) -> {ok, apiculture@key:key()} |
{error, apiculture@error:error()}.
key_generate(Config) ->
apiculture@key:generate(Config).
-file("src/apiculture.gleam", 99).
-spec key_value(apiculture@key:key()) -> binary().
key_value(K) ->
apiculture@key:value(K).
-file("src/apiculture.gleam", 103).
-spec key_bytes(apiculture@key:key()) -> bitstring().
key_bytes(K) ->
apiculture@key:bytes(K).
-file("src/apiculture.gleam", 108).
-spec key_with_random_bytes(apiculture@key:key_config(), integer()) -> apiculture@key:key_config().
key_with_random_bytes(Config, Count) ->
apiculture@key:with_random_bytes(Config, Count).
-file("src/apiculture.gleam", 112).
-spec key_with_random_chars(apiculture@key:key_config(), integer()) -> apiculture@key:key_config().
key_with_random_chars(Config, Count) ->
apiculture@key:with_random_chars(Config, Count).
-file("src/apiculture.gleam", 116).
-spec key_with_alphabet(
apiculture@key:key_config(),
apiculture@alphabet:alphabet()
) -> apiculture@key:key_config().
key_with_alphabet(Config, Alphabet) ->
apiculture@key:with_alphabet(Config, Alphabet).
-file("src/apiculture.gleam", 120).
-spec key_with_encoding(
apiculture@key:key_config(),
apiculture@encoding:encoding()
) -> apiculture@key:key_config().
key_with_encoding(Config, Encoding) ->
apiculture@key:with_encoding(Config, Encoding).
-file("src/apiculture.gleam", 124).
-spec key_with_prefix(apiculture@key:key_config(), binary()) -> apiculture@key:key_config().
key_with_prefix(Config, Prefix) ->
apiculture@key:with_prefix(Config, Prefix).
-file("src/apiculture.gleam", 128).
-spec key_with_separator(apiculture@key:key_config(), binary()) -> apiculture@key:key_config().
key_with_separator(Config, Separator) ->
apiculture@key:with_separator(Config, Separator).
-file("src/apiculture.gleam", 132).
-spec key_with_checksum(
apiculture@key:key_config(),
apiculture@checksum:checksum()
) -> apiculture@key:key_config().
key_with_checksum(Config, Checksum) ->
apiculture@key:with_checksum(Config, Checksum).
-file("src/apiculture.gleam", 136).
-spec key_without_checksum(apiculture@key:key_config()) -> apiculture@key:key_config().
key_without_checksum(Config) ->
apiculture@key:without_checksum(Config).
-file("src/apiculture.gleam", 144).
-spec encoding_encode(apiculture@encoding:encoding(), bitstring()) -> binary().
encoding_encode(Enc, Bytes) ->
apiculture@encoding:encode(Enc, Bytes).
-file("src/apiculture.gleam", 148).
-spec encoding_decode(apiculture@encoding:encoding(), binary()) -> {ok,
bitstring()} |
{error, apiculture@error:error()}.
encoding_decode(Enc, Input) ->
apiculture@encoding:decode(Enc, Input).
-file("src/apiculture.gleam", 155).
-spec encoding_uses_padding(apiculture@encoding:encoding()) -> boolean().
encoding_uses_padding(Enc) ->
apiculture@encoding:uses_padding(Enc).
-file("src/apiculture.gleam", 159).
-spec encoding_name(apiculture@encoding:encoding()) -> binary().
encoding_name(Enc) ->
apiculture@encoding:name(Enc).
-file("src/apiculture.gleam", 164).
-spec hex_lower() -> apiculture@encoding:encoding().
hex_lower() ->
apiculture@encoding:hex_lower().
-file("src/apiculture.gleam", 168).
-spec hex_upper() -> apiculture@encoding:encoding().
hex_upper() ->
apiculture@encoding:hex_upper().
-file("src/apiculture.gleam", 173).
-spec base32_rfc() -> apiculture@encoding:encoding().
base32_rfc() ->
apiculture@encoding:base32_rfc().
-file("src/apiculture.gleam", 177).
-spec base32_rfc_unpadded() -> apiculture@encoding:encoding().
base32_rfc_unpadded() ->
apiculture@encoding:base32_rfc_unpadded().
-file("src/apiculture.gleam", 181).
-spec base32_hex() -> apiculture@encoding:encoding().
base32_hex() ->
apiculture@encoding:base32_hex().
-file("src/apiculture.gleam", 185).
-spec base32_crockford() -> apiculture@encoding:encoding().
base32_crockford() ->
apiculture@encoding:base32_crockford().
-file("src/apiculture.gleam", 189).
-spec base32_z() -> apiculture@encoding:encoding().
base32_z() ->
apiculture@encoding:base32_z().
-file("src/apiculture.gleam", 194).
-spec base36() -> apiculture@encoding:encoding().
base36() ->
apiculture@encoding:base36().
-file("src/apiculture.gleam", 199).
-spec base58() -> apiculture@encoding:encoding().
base58() ->
apiculture@encoding:base58().
-file("src/apiculture.gleam", 204).
-spec base62() -> apiculture@encoding:encoding().
base62() ->
apiculture@encoding:base62().
-file("src/apiculture.gleam", 209).
-spec base64() -> apiculture@encoding:encoding().
base64() ->
apiculture@encoding:base64().
-file("src/apiculture.gleam", 213).
-spec base64_url() -> apiculture@encoding:encoding().
base64_url() ->
apiculture@encoding:base64_url().
-file("src/apiculture.gleam", 221).
-spec checksum_format(
apiculture@checksum:checksum(),
bitstring(),
fun((bitstring()) -> binary())
) -> binary().
checksum_format(Csum, Bytes, Format_with) ->
apiculture@checksum:format(Csum, Bytes, Format_with).
-file("src/apiculture.gleam", 229).
-spec checksum_verify(apiculture@checksum:checksum(), bitstring(), bitstring()) -> boolean().
checksum_verify(Csum, Bytes, Expected) ->
apiculture@checksum:verify(Csum, Bytes, Expected).
-file("src/apiculture.gleam", 237).
-spec crc32() -> apiculture@checksum:checksum().
crc32() ->
apiculture@checksum:crc32_checksum().
-file("src/apiculture.gleam", 248).
?DOC(
" Generate a default format key without a prefix.\n"
"\n"
" This produces a key in the format: `<base62-random><checksum>`\n"
).
-spec default_generate() -> {ok, apiculture@key:key()} |
{error, apiculture@error:error()}.
default_generate() ->
apiculture@default_key:generate().
-file("src/apiculture.gleam", 257).
?DOC(
" Generate a default format key with the given prefix.\n"
"\n"
" This produces a key in the format: `<prefix>_<base62-random><checksum>`\n"
"\n"
" The prefix should be a short semantic identifier (e.g., \"sk\", \"token\", \"key\").\n"
).
-spec default_prefixed(binary()) -> {ok, apiculture@key:key()} |
{error, apiculture@error:error()}.
default_prefixed(Prefix) ->
apiculture@default_key:prefixed(Prefix).