-module(blah@en@string). -compile(no_auto_import). -export([alpha/1, lower_alpha/1, upper_alpha/1, numeric/1, alphanumeric/1, with_pattern/1]). -spec alpha(integer()) -> binary(). alpha(Length) -> alpha_internal(gleam@string_builder:new(), Length). -spec lower_alpha(integer()) -> binary(). lower_alpha(Length) -> lower_internal(gleam@string_builder:new(), Length). -spec upper_alpha(integer()) -> binary(). upper_alpha(Length) -> upper_internal(gleam@string_builder:new(), Length). -spec numeric(integer()) -> binary(). numeric(Length) -> numeric_internal(gleam@string_builder:new(), Length). -spec alphanumeric(integer()) -> binary(). alphanumeric(Length) -> alphanumeric_internal(gleam@string_builder:new(), Length). -spec with_pattern(binary()) -> binary(). with_pattern(Given_pattern) -> with_pattern_internal(gleam@string_builder:new(), Given_pattern). -spec alpha_internal(gleam@string_builder:string_builder(), integer()) -> binary(). alpha_internal(State, Remaining) -> case Remaining =:= 0 of true -> _pipe = State, gleam@string_builder:to_string(_pipe); false -> {ok, Letter@1} = case blah@utils:get_random_item( [<<"A"/utf8>>, <<"B"/utf8>>, <<"C"/utf8>>, <<"D"/utf8>>, <<"E"/utf8>>, <<"F"/utf8>>, <<"G"/utf8>>, <<"H"/utf8>>, <<"I"/utf8>>, <<"J"/utf8>>, <<"K"/utf8>>, <<"L"/utf8>>, <<"M"/utf8>>, <<"N"/utf8>>, <<"O"/utf8>>, <<"P"/utf8>>, <<"Q"/utf8>>, <<"R"/utf8>>, <<"S"/utf8>>, <<"T"/utf8>>, <<"U"/utf8>>, <<"V"/utf8>>, <<"W"/utf8>>, <<"X"/utf8>>, <<"Y"/utf8>>, <<"Z"/utf8>>, <<"a"/utf8>>, <<"b"/utf8>>, <<"c"/utf8>>, <<"d"/utf8>>, <<"e"/utf8>>, <<"f"/utf8>>, <<"g"/utf8>>, <<"h"/utf8>>, <<"i"/utf8>>, <<"j"/utf8>>, <<"k"/utf8>>, <<"l"/utf8>>, <<"m"/utf8>>, <<"n"/utf8>>, <<"o"/utf8>>, <<"p"/utf8>>, <<"q"/utf8>>, <<"r"/utf8>>, <<"s"/utf8>>, <<"t"/utf8>>, <<"u"/utf8>>, <<"v"/utf8>>, <<"w"/utf8>>, <<"x"/utf8>>, <<"y"/utf8>>, <<"z"/utf8>>] ) of {ok, Letter} -> {ok, Letter}; _try -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try, module => <<"blah/en/string"/utf8>>, function => <<"alpha_internal"/utf8>>, line => 80}) end, alpha_internal( begin _pipe@1 = State, gleam@string_builder:append(_pipe@1, Letter@1) end, Remaining - 1 ) end. -spec lower_internal(gleam@string_builder:string_builder(), integer()) -> binary(). lower_internal(State, Remaining) -> case Remaining =:= 0 of true -> _pipe = State, gleam@string_builder:to_string(_pipe); false -> {ok, Letter@1} = case blah@utils:get_random_item( [<<"a"/utf8>>, <<"b"/utf8>>, <<"c"/utf8>>, <<"d"/utf8>>, <<"e"/utf8>>, <<"f"/utf8>>, <<"g"/utf8>>, <<"h"/utf8>>, <<"i"/utf8>>, <<"j"/utf8>>, <<"k"/utf8>>, <<"l"/utf8>>, <<"m"/utf8>>, <<"n"/utf8>>, <<"o"/utf8>>, <<"p"/utf8>>, <<"q"/utf8>>, <<"r"/utf8>>, <<"s"/utf8>>, <<"t"/utf8>>, <<"u"/utf8>>, <<"v"/utf8>>, <<"w"/utf8>>, <<"x"/utf8>>, <<"y"/utf8>>, <<"z"/utf8>>] ) of {ok, Letter} -> {ok, Letter}; _try -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try, module => <<"blah/en/string"/utf8>>, function => <<"lower_internal"/utf8>>, line => 97}) end, lower_internal( begin _pipe@1 = State, gleam@string_builder:append(_pipe@1, Letter@1) end, Remaining - 1 ) end. -spec upper_internal(gleam@string_builder:string_builder(), integer()) -> binary(). upper_internal(State, Remaining) -> case Remaining =:= 0 of true -> _pipe = State, gleam@string_builder:to_string(_pipe); false -> {ok, Letter@1} = case blah@utils:get_random_item( [<<"A"/utf8>>, <<"B"/utf8>>, <<"C"/utf8>>, <<"D"/utf8>>, <<"E"/utf8>>, <<"F"/utf8>>, <<"G"/utf8>>, <<"H"/utf8>>, <<"I"/utf8>>, <<"J"/utf8>>, <<"K"/utf8>>, <<"L"/utf8>>, <<"M"/utf8>>, <<"N"/utf8>>, <<"O"/utf8>>, <<"P"/utf8>>, <<"Q"/utf8>>, <<"R"/utf8>>, <<"S"/utf8>>, <<"T"/utf8>>, <<"U"/utf8>>, <<"V"/utf8>>, <<"W"/utf8>>, <<"X"/utf8>>, <<"Y"/utf8>>, <<"Z"/utf8>>] ) of {ok, Letter} -> {ok, Letter}; _try -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try, module => <<"blah/en/string"/utf8>>, function => <<"upper_internal"/utf8>>, line => 114}) end, upper_internal( begin _pipe@1 = State, gleam@string_builder:append(_pipe@1, Letter@1) end, Remaining - 1 ) end. -spec numeric_internal(gleam@string_builder:string_builder(), integer()) -> binary(). numeric_internal(State, Remaining) -> case Remaining =:= 0 of true -> _pipe = State, gleam@string_builder:to_string(_pipe); false -> {ok, Digit@1} = case blah@utils:get_random_item( [<<"0"/utf8>>, <<"1"/utf8>>, <<"2"/utf8>>, <<"3"/utf8>>, <<"4"/utf8>>, <<"5"/utf8>>, <<"6"/utf8>>, <<"7"/utf8>>, <<"8"/utf8>>, <<"9"/utf8>>] ) of {ok, Digit} -> {ok, Digit}; _try -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try, module => <<"blah/en/string"/utf8>>, function => <<"numeric_internal"/utf8>>, line => 131}) end, numeric_internal( begin _pipe@1 = State, gleam@string_builder:append(_pipe@1, Digit@1) end, Remaining - 1 ) end. -spec alphanumeric_internal(gleam@string_builder:string_builder(), integer()) -> binary(). alphanumeric_internal(State, Remaining) -> case Remaining =:= 0 of true -> _pipe = State, gleam@string_builder:to_string(_pipe); false -> {ok, Character@1} = case blah@utils:get_random_item( [<<"A"/utf8>>, <<"B"/utf8>>, <<"C"/utf8>>, <<"D"/utf8>>, <<"E"/utf8>>, <<"F"/utf8>>, <<"G"/utf8>>, <<"H"/utf8>>, <<"I"/utf8>>, <<"J"/utf8>>, <<"K"/utf8>>, <<"L"/utf8>>, <<"M"/utf8>>, <<"N"/utf8>>, <<"O"/utf8>>, <<"P"/utf8>>, <<"Q"/utf8>>, <<"R"/utf8>>, <<"S"/utf8>>, <<"T"/utf8>>, <<"U"/utf8>>, <<"V"/utf8>>, <<"W"/utf8>>, <<"X"/utf8>>, <<"Y"/utf8>>, <<"Z"/utf8>>, <<"a"/utf8>>, <<"b"/utf8>>, <<"c"/utf8>>, <<"d"/utf8>>, <<"e"/utf8>>, <<"f"/utf8>>, <<"g"/utf8>>, <<"h"/utf8>>, <<"i"/utf8>>, <<"j"/utf8>>, <<"k"/utf8>>, <<"l"/utf8>>, <<"m"/utf8>>, <<"n"/utf8>>, <<"o"/utf8>>, <<"p"/utf8>>, <<"q"/utf8>>, <<"r"/utf8>>, <<"s"/utf8>>, <<"t"/utf8>>, <<"u"/utf8>>, <<"v"/utf8>>, <<"w"/utf8>>, <<"x"/utf8>>, <<"y"/utf8>>, <<"z"/utf8>>, <<"0"/utf8>>, <<"1"/utf8>>, <<"2"/utf8>>, <<"3"/utf8>>, <<"4"/utf8>>, <<"5"/utf8>>, <<"6"/utf8>>, <<"7"/utf8>>, <<"8"/utf8>>, <<"9"/utf8>>] ) of {ok, Character} -> {ok, Character}; _try -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try, module => <<"blah/en/string"/utf8>>, function => <<"alphanumeric_internal"/utf8>>, line => 148}) end, alphanumeric_internal( begin _pipe@1 = State, gleam@string_builder:append(_pipe@1, Character@1) end, Remaining - 1 ) end. -spec with_pattern_internal(gleam@string_builder:string_builder(), binary()) -> binary(). with_pattern_internal(State, Given_pattern) -> case begin _pipe = Given_pattern, gleam@string:first(_pipe) end of {ok, <<"%"/utf8>>} -> {ok, To_append@1} = case case begin _pipe@1 = Given_pattern, gleam@string:slice(_pipe@1, 0, 2) end of <<"%d"/utf8>> -> blah@utils:get_random_item( [<<"0"/utf8>>, <<"1"/utf8>>, <<"2"/utf8>>, <<"3"/utf8>>, <<"4"/utf8>>, <<"5"/utf8>>, <<"6"/utf8>>, <<"7"/utf8>>, <<"8"/utf8>>, <<"9"/utf8>>] ); <<"%w"/utf8>> -> blah@utils:get_random_item( [<<"A"/utf8>>, <<"B"/utf8>>, <<"C"/utf8>>, <<"D"/utf8>>, <<"E"/utf8>>, <<"F"/utf8>>, <<"G"/utf8>>, <<"H"/utf8>>, <<"I"/utf8>>, <<"J"/utf8>>, <<"K"/utf8>>, <<"L"/utf8>>, <<"M"/utf8>>, <<"N"/utf8>>, <<"O"/utf8>>, <<"P"/utf8>>, <<"Q"/utf8>>, <<"R"/utf8>>, <<"S"/utf8>>, <<"T"/utf8>>, <<"U"/utf8>>, <<"V"/utf8>>, <<"W"/utf8>>, <<"X"/utf8>>, <<"Y"/utf8>>, <<"Z"/utf8>>, <<"a"/utf8>>, <<"b"/utf8>>, <<"c"/utf8>>, <<"d"/utf8>>, <<"e"/utf8>>, <<"f"/utf8>>, <<"g"/utf8>>, <<"h"/utf8>>, <<"i"/utf8>>, <<"j"/utf8>>, <<"k"/utf8>>, <<"l"/utf8>>, <<"m"/utf8>>, <<"n"/utf8>>, <<"o"/utf8>>, <<"p"/utf8>>, <<"q"/utf8>>, <<"r"/utf8>>, <<"s"/utf8>>, <<"t"/utf8>>, <<"u"/utf8>>, <<"v"/utf8>>, <<"w"/utf8>>, <<"x"/utf8>>, <<"y"/utf8>>, <<"z"/utf8>>] ); <<"%c"/utf8>> -> blah@utils:get_random_item( [<<"A"/utf8>>, <<"B"/utf8>>, <<"C"/utf8>>, <<"D"/utf8>>, <<"E"/utf8>>, <<"F"/utf8>>, <<"G"/utf8>>, <<"H"/utf8>>, <<"I"/utf8>>, <<"J"/utf8>>, <<"K"/utf8>>, <<"L"/utf8>>, <<"M"/utf8>>, <<"N"/utf8>>, <<"O"/utf8>>, <<"P"/utf8>>, <<"Q"/utf8>>, <<"R"/utf8>>, <<"S"/utf8>>, <<"T"/utf8>>, <<"U"/utf8>>, <<"V"/utf8>>, <<"W"/utf8>>, <<"X"/utf8>>, <<"Y"/utf8>>, <<"Z"/utf8>>, <<"a"/utf8>>, <<"b"/utf8>>, <<"c"/utf8>>, <<"d"/utf8>>, <<"e"/utf8>>, <<"f"/utf8>>, <<"g"/utf8>>, <<"h"/utf8>>, <<"i"/utf8>>, <<"j"/utf8>>, <<"k"/utf8>>, <<"l"/utf8>>, <<"m"/utf8>>, <<"n"/utf8>>, <<"o"/utf8>>, <<"p"/utf8>>, <<"q"/utf8>>, <<"r"/utf8>>, <<"s"/utf8>>, <<"t"/utf8>>, <<"u"/utf8>>, <<"v"/utf8>>, <<"w"/utf8>>, <<"x"/utf8>>, <<"y"/utf8>>, <<"z"/utf8>>, <<"0"/utf8>>, <<"1"/utf8>>, <<"2"/utf8>>, <<"3"/utf8>>, <<"4"/utf8>>, <<"5"/utf8>>, <<"6"/utf8>>, <<"7"/utf8>>, <<"8"/utf8>>, <<"9"/utf8>>] ); <<"%l"/utf8>> -> blah@utils:get_random_item( [<<"a"/utf8>>, <<"b"/utf8>>, <<"c"/utf8>>, <<"d"/utf8>>, <<"e"/utf8>>, <<"f"/utf8>>, <<"g"/utf8>>, <<"h"/utf8>>, <<"i"/utf8>>, <<"j"/utf8>>, <<"k"/utf8>>, <<"l"/utf8>>, <<"m"/utf8>>, <<"n"/utf8>>, <<"o"/utf8>>, <<"p"/utf8>>, <<"q"/utf8>>, <<"r"/utf8>>, <<"s"/utf8>>, <<"t"/utf8>>, <<"u"/utf8>>, <<"v"/utf8>>, <<"w"/utf8>>, <<"x"/utf8>>, <<"y"/utf8>>, <<"z"/utf8>>] ); <<"%u"/utf8>> -> blah@utils:get_random_item( [<<"A"/utf8>>, <<"B"/utf8>>, <<"C"/utf8>>, <<"D"/utf8>>, <<"E"/utf8>>, <<"F"/utf8>>, <<"G"/utf8>>, <<"H"/utf8>>, <<"I"/utf8>>, <<"J"/utf8>>, <<"K"/utf8>>, <<"L"/utf8>>, <<"M"/utf8>>, <<"N"/utf8>>, <<"O"/utf8>>, <<"P"/utf8>>, <<"Q"/utf8>>, <<"R"/utf8>>, <<"S"/utf8>>, <<"T"/utf8>>, <<"U"/utf8>>, <<"V"/utf8>>, <<"W"/utf8>>, <<"X"/utf8>>, <<"Y"/utf8>>, <<"Z"/utf8>>] ); <<"%n"/utf8>> -> blah@utils:get_random_item( [<<"1"/utf8>>, <<"2"/utf8>>, <<"3"/utf8>>, <<"4"/utf8>>, <<"5"/utf8>>, <<"6"/utf8>>, <<"7"/utf8>>, <<"8"/utf8>>, <<"9"/utf8>>] ); Characters -> {ok, Characters} end of {ok, To_append} -> {ok, To_append}; _try -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try, module => <<"blah/en/string"/utf8>>, function => <<"with_pattern_internal"/utf8>>, line => 164}) end, with_pattern_internal( begin _pipe@2 = State, gleam@string_builder:append(_pipe@2, To_append@1) end, begin _pipe@3 = Given_pattern, gleam@string:drop_left(_pipe@3, 2) end ); {ok, To_append@2} -> with_pattern_internal( begin _pipe@4 = State, gleam@string_builder:append(_pipe@4, To_append@2) end, begin _pipe@5 = Given_pattern, gleam@string:drop_left(_pipe@5, 1) end ); {error, nil} -> _pipe@6 = State, gleam@string_builder:to_string(_pipe@6) end.