-module(apiculture@alphabets). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/apiculture/alphabets.gleam"). -export([hex_lower/0, hex_upper/0, base32_rfc/0, base32_rfc_padding/0, base32_hex/0, base32_crockford/0, base32_z/0, base36_lower/0, base36_upper/0, base58/0, base62/0, base64/0, base64_url/0, lower/0, upper/0, numeric/0, alphanumeric_lower/0, alphanumeric_upper/0, alphanumeric_mixed/0, human_safe/0]). -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/alphabets.gleam", 15). ?DOC(" Lowercase hexadecimal (0-9, a-f)\n"). -spec hex_lower() -> apiculture@alphabet:alphabet(). hex_lower() -> {alphabet, <<"0123456789abcdef"/utf8>>}. -file("src/apiculture/alphabets.gleam", 20). ?DOC(" Uppercase hexadecimal (0-9, A-F)\n"). -spec hex_upper() -> apiculture@alphabet:alphabet(). hex_upper() -> {alphabet, <<"0123456789ABCDEF"/utf8>>}. -file("src/apiculture/alphabets.gleam", 29). ?DOC(" RFC 4648 Base32 alphabet (A-Z, 2-7)\n"). -spec base32_rfc() -> apiculture@alphabet:alphabet(). base32_rfc() -> {alphabet, <<"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"/utf8>>}. -file("src/apiculture/alphabets.gleam", 34). ?DOC(" RFC 4648 Base32 alphabet with padding (not typically used for sampling)\n"). -spec base32_rfc_padding() -> apiculture@alphabet:alphabet(). base32_rfc_padding() -> {alphabet, <<"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567="/utf8>>}. -file("src/apiculture/alphabets.gleam", 39). ?DOC(" Base32hex alphabet (0-9, A-V)\n"). -spec base32_hex() -> apiculture@alphabet:alphabet(). base32_hex() -> {alphabet, <<"0123456789ABCDEFGHIJKLMNOPQRSTUV"/utf8>>}. -file("src/apiculture/alphabets.gleam", 45). ?DOC( " Crockford's Base32 alphabet\n" " Designed to be human-safe, excludes I, L, O, U\n" ). -spec base32_crockford() -> apiculture@alphabet:alphabet(). base32_crockford() -> {alphabet, <<"0123456789ABCDEFGHJKMNPQRSTVWXYZ"/utf8>>}. -file("src/apiculture/alphabets.gleam", 51). ?DOC( " z-base-32 alphabet (human-friendly)\n" " Order is designed for easy memorization and transcription\n" ). -spec base32_z() -> apiculture@alphabet:alphabet(). base32_z() -> {alphabet, <<"ybndrfg8ejkmcpqxot1uwisza345h769"/utf8>>}. -file("src/apiculture/alphabets.gleam", 60). ?DOC(" Lowercase Base36 (0-9, a-z)\n"). -spec base36_lower() -> apiculture@alphabet:alphabet(). base36_lower() -> {alphabet, <<"0123456789abcdefghijklmnopqrstuvwxyz"/utf8>>}. -file("src/apiculture/alphabets.gleam", 65). ?DOC(" Uppercase Base36 (0-9, A-Z)\n"). -spec base36_upper() -> apiculture@alphabet:alphabet(). base36_upper() -> {alphabet, <<"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"/utf8>>}. -file("src/apiculture/alphabets.gleam", 75). ?DOC( " Bitcoin-style Base58 alphabet\n" " Excludes 0, O, I, l for visual clarity\n" ). -spec base58() -> apiculture@alphabet:alphabet(). base58() -> {alphabet, <<"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"/utf8>>}. -file("src/apiculture/alphabets.gleam", 86). ?DOC(" Standard Base62 (0-9, A-Z, a-z)\n"). -spec base62() -> apiculture@alphabet:alphabet(). base62() -> {alphabet, <<"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"/utf8>>}. -file("src/apiculture/alphabets.gleam", 97). ?DOC(" Standard Base64 character repertoire\n"). -spec base64() -> apiculture@alphabet:alphabet(). base64() -> {alphabet, <<"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"/utf8>>}. -file("src/apiculture/alphabets.gleam", 104). ?DOC(" Base64URL variant (URL-safe, replaces +/ with -_)\n"). -spec base64_url() -> apiculture@alphabet:alphabet(). base64_url() -> {alphabet, <<"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"/utf8>>}. -file("src/apiculture/alphabets.gleam", 115). ?DOC(" Lowercase letters only (a-z)\n"). -spec lower() -> apiculture@alphabet:alphabet(). lower() -> {alphabet, <<"abcdefghijklmnopqrstuvwxyz"/utf8>>}. -file("src/apiculture/alphabets.gleam", 120). ?DOC(" Uppercase letters only (A-Z)\n"). -spec upper() -> apiculture@alphabet:alphabet(). upper() -> {alphabet, <<"ABCDEFGHIJKLMNOPQRSTUVWXYZ"/utf8>>}. -file("src/apiculture/alphabets.gleam", 129). ?DOC(" Numeric characters only (0-9)\n"). -spec numeric() -> apiculture@alphabet:alphabet(). numeric() -> {alphabet, <<"0123456789"/utf8>>}. -file("src/apiculture/alphabets.gleam", 138). ?DOC(" Lowercase alphanumeric (0-9, a-z)\n"). -spec alphanumeric_lower() -> apiculture@alphabet:alphabet(). alphanumeric_lower() -> {alphabet, <<"0123456789abcdefghijklmnopqrstuvwxyz"/utf8>>}. -file("src/apiculture/alphabets.gleam", 143). ?DOC(" Uppercase alphanumeric (0-9, A-Z)\n"). -spec alphanumeric_upper() -> apiculture@alphabet:alphabet(). alphanumeric_upper() -> {alphabet, <<"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"/utf8>>}. -file("src/apiculture/alphabets.gleam", 148). ?DOC(" Mixed-case alphanumeric (0-9, A-Z, a-z)\n"). -spec alphanumeric_mixed() -> apiculture@alphabet:alphabet(). alphanumeric_mixed() -> {alphabet, <<"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"/utf8>>}. -file("src/apiculture/alphabets.gleam", 161). ?DOC( " Human-safe alphabet excluding visually ambiguous characters\n" " Excludes: 0, O, 1, I, l, B, 8, S (can be confused)\n" " Uses: 2-9, A-H, J-N, P-R, T-Z, a-k, m-n, p-t, v-z\n" ). -spec human_safe() -> apiculture@alphabet:alphabet(). human_safe() -> {alphabet, <<"23456789ABCDEFGHJKMNPQRTVWXYZabcdefghjkmnpqrtvwxyz"/utf8>>}.