-module(ids@uuid). -compile([no_auto_import, nowarn_unused_vars]). -export([generate_v4/0]). -spec e(integer()) -> integer(). e(N) -> case N of 0 -> 48; 1 -> 49; 2 -> 50; 3 -> 51; 4 -> 52; 5 -> 53; 6 -> 54; 7 -> 55; 8 -> 56; 9 -> 57; 10 -> 97; 11 -> 98; 12 -> 99; 13 -> 100; 14 -> 101; 15 -> 102 end. -spec generate_v4() -> {ok, binary()} | {error, binary()}. generate_v4() -> <> = crypto:strong_rand_bytes(16), <> = <>, Bitstr_id = <<(e(A1)), (e(A2)), (e(A3)), (e(A4)), (e(A5)), (e(A6)), (e(A7)), (e(A8)), 45, (e(B1)), (e(B2)), (e(B3)), (e(B4)), 45, (e(C1)), (e(C2)), (e(C3)), (e(C4)), 45, (e(D1)), (e(D2)), (e(D3)), (e(D4)), 45, (e(E1)), (e(E2)), (e(E3)), (e(E4)), (e(E5)), (e(E6)), (e(E7)), (e(E8)), (e(E9)), (e(E10)), (e(E11)), (e(E12))>>, case gleam@bit_string:to_string(Bitstr_id) of {ok, Str_id} -> _pipe = Str_id, {ok, _pipe}; {error, _} -> Error = <<"Error: BitString could not be converted to String."/utf8>>, _pipe@1 = Error, {error, _pipe@1} end.