-module(blah@fa@string). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([pronounceable/0, alpha/1, numeric/1, alphanumeric/1, with_pattern/1]). -file("/home/runner/work/blah/blah/src/blah/fa/string.gleam", 74). -spec pronounceable_internal(integer(), gleam@string_tree:string_tree()) -> binary(). pronounceable_internal(Remaining, Storage) -> case Remaining of 0 -> unicode:characters_to_binary(Storage); _ -> Nonce = blah@utils:get_random_int(4, 2048), Letters = case Nonce rem 2 of 0 -> First = blah@utils:get_random_item( [<<"ا"/utf8>>, <<"و"/utf8>>] ), Second = blah@utils:get_random_item( [<<"ب"/utf8>>, <<"پ"/utf8>>, <<"ت"/utf8>>, <<"ث"/utf8>>, <<"ج"/utf8>>, <<"چ"/utf8>>, <<"ح"/utf8>>, <<"خ"/utf8>>, <<"د"/utf8>>, <<"ذ"/utf8>>, <<"ر"/utf8>>, <<"ز"/utf8>>, <<"ژ"/utf8>>, <<"س"/utf8>>, <<"ش"/utf8>>, <<"ص"/utf8>>, <<"ض"/utf8>>, <<"ط"/utf8>>, <<"ظ"/utf8>>, <<"ع"/utf8>>, <<"غ"/utf8>>, <<"ف"/utf8>>, <<"ق"/utf8>>, <<"ک"/utf8>>, <<"گ"/utf8>>, <<"ل"/utf8>>, <<"م"/utf8>>, <<"ن"/utf8>>, <<"ه"/utf8>>, <<"ی"/utf8>>] ), _pipe = [First, Second], gleam@list:map(_pipe, fun gleam_stdlib:identity/1); _ -> First@1 = blah@utils:get_random_item( [<<"ب"/utf8>>, <<"پ"/utf8>>, <<"ت"/utf8>>, <<"ث"/utf8>>, <<"ج"/utf8>>, <<"چ"/utf8>>, <<"ح"/utf8>>, <<"خ"/utf8>>, <<"د"/utf8>>, <<"ذ"/utf8>>, <<"ر"/utf8>>, <<"ز"/utf8>>, <<"ژ"/utf8>>, <<"س"/utf8>>, <<"ش"/utf8>>, <<"ص"/utf8>>, <<"ض"/utf8>>, <<"ط"/utf8>>, <<"ظ"/utf8>>, <<"ع"/utf8>>, <<"غ"/utf8>>, <<"ف"/utf8>>, <<"ق"/utf8>>, <<"ک"/utf8>>, <<"گ"/utf8>>, <<"ل"/utf8>>, <<"م"/utf8>>, <<"ن"/utf8>>, <<"ه"/utf8>>, <<"ی"/utf8>>] ), Second@1 = blah@utils:get_random_item( [<<"ا"/utf8>>, <<"و"/utf8>>] ), _pipe@1 = [First@1, Second@1], gleam@list:map(_pipe@1, fun gleam_stdlib:identity/1) end, pronounceable_internal( Remaining - 2, gleam_stdlib:identity([Storage | Letters]) ) end. -file("/home/runner/work/blah/blah/src/blah/fa/string.gleam", 32). -spec pronounceable() -> binary(). pronounceable() -> Nonce = blah@utils:get_random_int(4, 2048), Length = (blah@utils:get_random_int(2, 4)) * 2, case Nonce rem 2 of 0 -> First = blah@utils:get_random_item([<<"آ"/utf8>>, <<"او"/utf8>>]), Second = blah@utils:get_random_item( [<<"ب"/utf8>>, <<"پ"/utf8>>, <<"ت"/utf8>>, <<"ث"/utf8>>, <<"ج"/utf8>>, <<"چ"/utf8>>, <<"ح"/utf8>>, <<"خ"/utf8>>, <<"د"/utf8>>, <<"ذ"/utf8>>, <<"ر"/utf8>>, <<"ز"/utf8>>, <<"ژ"/utf8>>, <<"س"/utf8>>, <<"ش"/utf8>>, <<"ص"/utf8>>, <<"ض"/utf8>>, <<"ط"/utf8>>, <<"ظ"/utf8>>, <<"ع"/utf8>>, <<"غ"/utf8>>, <<"ف"/utf8>>, <<"ق"/utf8>>, <<"ک"/utf8>>, <<"گ"/utf8>>, <<"ل"/utf8>>, <<"م"/utf8>>, <<"ن"/utf8>>, <<"ه"/utf8>>, <<"ی"/utf8>>] ), pronounceable_internal( Length - 2, gleam_stdlib:identity([First, Second]) ); _ -> pronounceable_internal(Length, gleam@string_tree:new()) end. -file("/home/runner/work/blah/blah/src/blah/fa/string.gleam", 102). -spec alpha_internal(integer(), gleam@string_tree:string_tree()) -> binary(). alpha_internal(Remaining, Storage) -> case Remaining =:= 0 of true -> unicode:characters_to_binary(Storage); false -> Letter = blah@utils:get_random_item( [<<"آ"/utf8>>, <<"ا"/utf8>>, <<"ب"/utf8>>, <<"پ"/utf8>>, <<"ت"/utf8>>, <<"ث"/utf8>>, <<"ج"/utf8>>, <<"چ"/utf8>>, <<"ح"/utf8>>, <<"خ"/utf8>>, <<"د"/utf8>>, <<"ذ"/utf8>>, <<"ر"/utf8>>, <<"ز"/utf8>>, <<"ژ"/utf8>>, <<"س"/utf8>>, <<"ش"/utf8>>, <<"ص"/utf8>>, <<"ض"/utf8>>, <<"ط"/utf8>>, <<"ظ"/utf8>>, <<"ع"/utf8>>, <<"غ"/utf8>>, <<"ف"/utf8>>, <<"ق"/utf8>>, <<"ک"/utf8>>, <<"گ"/utf8>>, <<"ل"/utf8>>, <<"م"/utf8>>, <<"ن"/utf8>>, <<"و"/utf8>>, <<"ه"/utf8>>, <<"ی"/utf8>>] ), alpha_internal( Remaining - 1, gleam@string_tree:append(Storage, Letter) ) end. -file("/home/runner/work/blah/blah/src/blah/fa/string.gleam", 7). -spec alpha(integer()) -> binary(). alpha(Length) -> alpha_internal(Length, gleam@string_tree:new()). -file("/home/runner/work/blah/blah/src/blah/fa/string.gleam", 113). -spec numeric_internal(integer(), gleam@string_tree:string_tree()) -> binary(). numeric_internal(Remaining, Storage) -> case Remaining =:= 0 of true -> unicode:characters_to_binary(Storage); false -> Digit = blah@utils:get_random_item( [<<"۰"/utf8>>, <<"۱"/utf8>>, <<"۲"/utf8>>, <<"۳"/utf8>>, <<"۴"/utf8>>, <<"۵"/utf8>>, <<"۶"/utf8>>, <<"۷"/utf8>>, <<"۸"/utf8>>, <<"۹"/utf8>>] ), numeric_internal( Remaining - 1, gleam@string_tree:append(Storage, Digit) ) end. -file("/home/runner/work/blah/blah/src/blah/fa/string.gleam", 11). -spec numeric(integer()) -> binary(). numeric(Length) -> numeric_internal(Length, gleam@string_tree:new()). -file("/home/runner/work/blah/blah/src/blah/fa/string.gleam", 124). -spec alphanumeric_internal(integer(), gleam@string_tree:string_tree()) -> binary(). alphanumeric_internal(Remaining, Storage) -> case Remaining =:= 0 of true -> unicode:characters_to_binary(Storage); false -> Character = blah@utils:get_random_item( [<<"آ"/utf8>>, <<"ا"/utf8>>, <<"ب"/utf8>>, <<"پ"/utf8>>, <<"ت"/utf8>>, <<"ث"/utf8>>, <<"ج"/utf8>>, <<"چ"/utf8>>, <<"ح"/utf8>>, <<"خ"/utf8>>, <<"د"/utf8>>, <<"ذ"/utf8>>, <<"ر"/utf8>>, <<"ز"/utf8>>, <<"ژ"/utf8>>, <<"س"/utf8>>, <<"ش"/utf8>>, <<"ص"/utf8>>, <<"ض"/utf8>>, <<"ط"/utf8>>, <<"ظ"/utf8>>, <<"ع"/utf8>>, <<"غ"/utf8>>, <<"ف"/utf8>>, <<"ق"/utf8>>, <<"ک"/utf8>>, <<"گ"/utf8>>, <<"ل"/utf8>>, <<"م"/utf8>>, <<"ن"/utf8>>, <<"و"/utf8>>, <<"ه"/utf8>>, <<"ی"/utf8>>, <<"۰"/utf8>>, <<"۱"/utf8>>, <<"۲"/utf8>>, <<"۳"/utf8>>, <<"۴"/utf8>>, <<"۵"/utf8>>, <<"۶"/utf8>>, <<"۷"/utf8>>, <<"۸"/utf8>>, <<"۹"/utf8>>] ), alphanumeric_internal( Remaining - 1, gleam@string_tree:append(Storage, Character) ) end. -file("/home/runner/work/blah/blah/src/blah/fa/string.gleam", 15). -spec alphanumeric(integer()) -> binary(). alphanumeric(Length) -> alphanumeric_internal(Length, gleam@string_tree:new()). -file("/home/runner/work/blah/blah/src/blah/fa/string.gleam", 138). -spec with_pattern_internal(binary(), gleam@string_tree:string_tree()) -> binary(). with_pattern_internal(Given_pattern, Storage) -> case gleam@string:first(Given_pattern) of {ok, <<"%"/utf8>>} -> To_append = case gleam@string:slice(Given_pattern, 0, 2) of <<"%d"/utf8>> -> blah@utils:get_random_item( [<<"۰"/utf8>>, <<"۱"/utf8>>, <<"۲"/utf8>>, <<"۳"/utf8>>, <<"۴"/utf8>>, <<"۵"/utf8>>, <<"۶"/utf8>>, <<"۷"/utf8>>, <<"۸"/utf8>>, <<"۹"/utf8>>] ); <<"%w"/utf8>> -> blah@utils:get_random_item( [<<"آ"/utf8>>, <<"ا"/utf8>>, <<"ب"/utf8>>, <<"پ"/utf8>>, <<"ت"/utf8>>, <<"ث"/utf8>>, <<"ج"/utf8>>, <<"چ"/utf8>>, <<"ح"/utf8>>, <<"خ"/utf8>>, <<"د"/utf8>>, <<"ذ"/utf8>>, <<"ر"/utf8>>, <<"ز"/utf8>>, <<"ژ"/utf8>>, <<"س"/utf8>>, <<"ش"/utf8>>, <<"ص"/utf8>>, <<"ض"/utf8>>, <<"ط"/utf8>>, <<"ظ"/utf8>>, <<"ع"/utf8>>, <<"غ"/utf8>>, <<"ف"/utf8>>, <<"ق"/utf8>>, <<"ک"/utf8>>, <<"گ"/utf8>>, <<"ل"/utf8>>, <<"م"/utf8>>, <<"ن"/utf8>>, <<"و"/utf8>>, <<"ه"/utf8>>, <<"ی"/utf8>>] ); <<"%c"/utf8>> -> blah@utils:get_random_item( [<<"آ"/utf8>>, <<"ا"/utf8>>, <<"ب"/utf8>>, <<"پ"/utf8>>, <<"ت"/utf8>>, <<"ث"/utf8>>, <<"ج"/utf8>>, <<"چ"/utf8>>, <<"ح"/utf8>>, <<"خ"/utf8>>, <<"د"/utf8>>, <<"ذ"/utf8>>, <<"ر"/utf8>>, <<"ز"/utf8>>, <<"ژ"/utf8>>, <<"س"/utf8>>, <<"ش"/utf8>>, <<"ص"/utf8>>, <<"ض"/utf8>>, <<"ط"/utf8>>, <<"ظ"/utf8>>, <<"ع"/utf8>>, <<"غ"/utf8>>, <<"ف"/utf8>>, <<"ق"/utf8>>, <<"ک"/utf8>>, <<"گ"/utf8>>, <<"ل"/utf8>>, <<"م"/utf8>>, <<"ن"/utf8>>, <<"و"/utf8>>, <<"ه"/utf8>>, <<"ی"/utf8>>, <<"۰"/utf8>>, <<"۱"/utf8>>, <<"۲"/utf8>>, <<"۳"/utf8>>, <<"۴"/utf8>>, <<"۵"/utf8>>, <<"۶"/utf8>>, <<"۷"/utf8>>, <<"۸"/utf8>>, <<"۹"/utf8>>] ); <<"%n"/utf8>> -> blah@utils:get_random_item( [<<"۱"/utf8>>, <<"۲"/utf8>>, <<"۳"/utf8>>, <<"۴"/utf8>>, <<"۵"/utf8>>, <<"۶"/utf8>>, <<"۷"/utf8>>, <<"۸"/utf8>>, <<"۹"/utf8>>] ); Characters -> Characters end, with_pattern_internal( gleam@string:drop_start(Given_pattern, 2), gleam@string_tree:append(Storage, To_append) ); {ok, To_append@1} -> with_pattern_internal( gleam@string:drop_start(Given_pattern, 1), gleam@string_tree:append(Storage, To_append@1) ); {error, nil} -> unicode:characters_to_binary(Storage) end. -file("/home/runner/work/blah/blah/src/blah/fa/string.gleam", 28). -spec with_pattern(binary()) -> binary(). with_pattern(Given_pattern) -> with_pattern_internal(Given_pattern, gleam@string_tree:new()).