Current section

Files

Jump to
blah src blah@fa@string.erl
Raw

src/blah@fa@string.erl

-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()).