-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_from_bytes/2, key_from_uuid/1, key_from_uuid_with/2, key_from_ulid/1, key_from_ulid_with/2, 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_from_bytes(apiculture@key:key_config(), bitstring()) -> {ok, apiculture@key:key()} | {error, apiculture@error:error()}. key_from_bytes(Config, Bytes) -> apiculture@key:from_bytes(Config, Bytes). -file("src/apiculture.gleam", 106). -spec key_from_uuid(binary()) -> {ok, apiculture@key:key()} | {error, apiculture@error:error()}. key_from_uuid(Input) -> apiculture@key:from_uuid(Input). -file("src/apiculture.gleam", 110). -spec key_from_uuid_with(apiculture@key:key_config(), binary()) -> {ok, apiculture@key:key()} | {error, apiculture@error:error()}. key_from_uuid_with(Config, Input) -> apiculture@key:from_uuid_with(Config, Input). -file("src/apiculture.gleam", 117). -spec key_from_ulid(binary()) -> {ok, apiculture@key:key()} | {error, apiculture@error:error()}. key_from_ulid(Input) -> apiculture@key:from_ulid(Input). -file("src/apiculture.gleam", 121). -spec key_from_ulid_with(apiculture@key:key_config(), binary()) -> {ok, apiculture@key:key()} | {error, apiculture@error:error()}. key_from_ulid_with(Config, Input) -> apiculture@key:from_ulid_with(Config, Input). -file("src/apiculture.gleam", 128). -spec key_value(apiculture@key:key()) -> binary(). key_value(K) -> apiculture@key:value(K). -file("src/apiculture.gleam", 132). -spec key_bytes(apiculture@key:key()) -> bitstring(). key_bytes(K) -> apiculture@key:bytes(K). -file("src/apiculture.gleam", 137). -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", 141). -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", 145). -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", 149). -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", 153). -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", 157). -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", 161). -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", 165). -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", 173). -spec encoding_encode(apiculture@encoding:encoding(), bitstring()) -> binary(). encoding_encode(Enc, Bytes) -> apiculture@encoding:encode(Enc, Bytes). -file("src/apiculture.gleam", 177). -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", 184). -spec encoding_uses_padding(apiculture@encoding:encoding()) -> boolean(). encoding_uses_padding(Enc) -> apiculture@encoding:uses_padding(Enc). -file("src/apiculture.gleam", 188). -spec encoding_name(apiculture@encoding:encoding()) -> binary(). encoding_name(Enc) -> apiculture@encoding:name(Enc). -file("src/apiculture.gleam", 193). -spec hex_lower() -> apiculture@encoding:encoding(). hex_lower() -> apiculture@encoding:hex_lower(). -file("src/apiculture.gleam", 197). -spec hex_upper() -> apiculture@encoding:encoding(). hex_upper() -> apiculture@encoding:hex_upper(). -file("src/apiculture.gleam", 202). -spec base32_rfc() -> apiculture@encoding:encoding(). base32_rfc() -> apiculture@encoding:base32_rfc(). -file("src/apiculture.gleam", 206). -spec base32_rfc_unpadded() -> apiculture@encoding:encoding(). base32_rfc_unpadded() -> apiculture@encoding:base32_rfc_unpadded(). -file("src/apiculture.gleam", 210). -spec base32_hex() -> apiculture@encoding:encoding(). base32_hex() -> apiculture@encoding:base32_hex(). -file("src/apiculture.gleam", 214). -spec base32_crockford() -> apiculture@encoding:encoding(). base32_crockford() -> apiculture@encoding:base32_crockford(). -file("src/apiculture.gleam", 218). -spec base32_z() -> apiculture@encoding:encoding(). base32_z() -> apiculture@encoding:base32_z(). -file("src/apiculture.gleam", 223). -spec base36() -> apiculture@encoding:encoding(). base36() -> apiculture@encoding:base36(). -file("src/apiculture.gleam", 228). -spec base58() -> apiculture@encoding:encoding(). base58() -> apiculture@encoding:base58(). -file("src/apiculture.gleam", 233). -spec base62() -> apiculture@encoding:encoding(). base62() -> apiculture@encoding:base62(). -file("src/apiculture.gleam", 238). -spec base64() -> apiculture@encoding:encoding(). base64() -> apiculture@encoding:base64(). -file("src/apiculture.gleam", 242). -spec base64_url() -> apiculture@encoding:encoding(). base64_url() -> apiculture@encoding:base64_url(). -file("src/apiculture.gleam", 250). -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", 258). -spec checksum_verify(apiculture@checksum:checksum(), bitstring(), bitstring()) -> boolean(). checksum_verify(Csum, Bytes, Expected) -> apiculture@checksum:verify(Csum, Bytes, Expected). -file("src/apiculture.gleam", 266). -spec crc32() -> apiculture@checksum:checksum(). crc32() -> apiculture@checksum:crc32_checksum(). -file("src/apiculture.gleam", 277). ?DOC( " Generate a default format key without a prefix.\n" "\n" " This produces a key in the format: ``\n" ). -spec default_generate() -> {ok, apiculture@key:key()} | {error, apiculture@error:error()}. default_generate() -> apiculture@default_key:generate(). -file("src/apiculture.gleam", 286). ?DOC( " Generate a default format key with the given prefix.\n" "\n" " This produces a key in the format: `_`\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).