Current section
Files
Jump to
Current section
Files
src/pgl@internal@sasl.erl
-module(pgl@internal@sasl).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/pgl/internal/sasl.gleam").
-export([validate/1]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(false).
-file("src/pgl/internal/sasl.gleam", 40).
?DOC(false).
-spec is_non_ascii_space_char(integer()) -> boolean().
is_non_ascii_space_char(Char) ->
case Char of
16#00A0 ->
true;
16#1680 ->
true;
16#2000 ->
true;
16#2001 ->
true;
16#2002 ->
true;
16#2003 ->
true;
16#2004 ->
true;
16#2005 ->
true;
16#2006 ->
true;
16#2007 ->
true;
16#2008 ->
true;
16#2009 ->
true;
16#200A ->
true;
16#200B ->
true;
16#202F ->
true;
16#205F ->
true;
16#3000 ->
true;
_ ->
false
end.
-file("src/pgl/internal/sasl.gleam", 64).
?DOC(false).
-spec is_ascii_control_char(integer()) -> boolean().
is_ascii_control_char(Char) ->
(Char =< 16#001F) orelse (Char =:= 16#007F).
-file("src/pgl/internal/sasl.gleam", 69).
?DOC(false).
-spec is_non_ascii_control_char(integer()) -> boolean().
is_non_ascii_control_char(Char) ->
(((((16#0080 =< Char) andalso (Char =< 16#009F)) orelse case Char of
16#06DD ->
true;
16#070F ->
true;
16#180E ->
true;
16#200C ->
true;
16#200D ->
true;
16#2028 ->
true;
16#2029 ->
true;
16#2060 ->
true;
16#2061 ->
true;
16#2062 ->
true;
16#2063 ->
true;
16#FEFF ->
true;
_ ->
false
end) orelse ((16#206A =< Char) andalso (Char =< 16#206F))) orelse ((16#FFF9
=< Char)
andalso (Char =< 16#FFFC))) orelse ((16#1D173 =< Char) andalso (Char =< 16#1D17A)).
-file("src/pgl/internal/sasl.gleam", 92).
?DOC(false).
-spec is_private_use_char(integer()) -> boolean().
is_private_use_char(Char) ->
(((16#E000 =< Char) andalso (Char =< 16#F8FF)) orelse ((16#F000 =< Char)
andalso (Char =< 16#FFFFD)))
orelse ((16#100000 =< Char) andalso (Char =< 16#10FFFD)).
-file("src/pgl/internal/sasl.gleam", 99).
?DOC(false).
-spec is_non_char_code_points(integer()) -> boolean().
is_non_char_code_points(Char) ->
((((((((((((((((((16#FDD0 =< Char) andalso (Char =< 16#FDEF)) orelse ((16#FFFE
=< Char)
andalso (Char =< 16#FFFF)))
orelse ((16#1FFFE =< Char) andalso (Char =< 16#1FFFF)))
orelse ((16#2FFFE =< Char) andalso (Char =< 16#2FFFF)))
orelse ((16#3FFFE =< Char) andalso (Char =< 16#3FFFF)))
orelse ((16#4FFFE =< Char) andalso (Char =< 16#4FFFF)))
orelse ((16#5FFFE =< Char) andalso (Char =< 16#5FFFF)))
orelse ((16#6FFFE =< Char) andalso (Char =< 16#6FFFF)))
orelse ((16#7FFFE =< Char) andalso (Char =< 16#7FFFF)))
orelse ((16#8FFFE =< Char) andalso (Char =< 16#8FFFF)))
orelse ((16#9FFFE =< Char) andalso (Char =< 16#9FFFF)))
orelse ((16#AFFFE =< Char) andalso (Char =< 16#AFFFF)))
orelse ((16#BFFFE =< Char) andalso (Char =< 16#BFFFF)))
orelse ((16#CFFFE =< Char) andalso (Char =< 16#CFFFF)))
orelse ((16#DFFFE =< Char) andalso (Char =< 16#DFFFF)))
orelse ((16#EFFFE =< Char) andalso (Char =< 16#EFFFF)))
orelse ((16#FFFFE =< Char) andalso (Char =< 16#FFFFF)))
orelse ((16#10FFFE =< Char) andalso (Char =< 16#10FFFF)).
-file("src/pgl/internal/sasl.gleam", 121).
?DOC(false).
-spec is_surrogate_code_point(integer()) -> boolean().
is_surrogate_code_point(Char) ->
(16#D800 =< Char) andalso (Char =< 16#DFFF).
-file("src/pgl/internal/sasl.gleam", 126).
?DOC(false).
-spec is_inappropriate_for_plan_text_char(integer()) -> boolean().
is_inappropriate_for_plan_text_char(Char) ->
(16#FFF9 =< Char) andalso (Char =< 16#FFFD).
-file("src/pgl/internal/sasl.gleam", 131).
?DOC(false).
-spec is_inappropriate_for_canonical_representation_char(integer()) -> boolean().
is_inappropriate_for_canonical_representation_char(Char) ->
(16#2FF0 =< Char) andalso (Char =< 16#2FFB).
-file("src/pgl/internal/sasl.gleam", 136).
?DOC(false).
-spec is_change_display_properties_or_deprecated_char(integer()) -> boolean().
is_change_display_properties_or_deprecated_char(Char) ->
(case Char of
16#0340 ->
true;
16#0341 ->
true;
16#200E ->
true;
16#200F ->
true;
_ ->
false
end orelse ((16#202A =< Char) andalso (Char =< 16#202E))) orelse ((16#206A
=< Char)
andalso (Char =< 16#206F)).
-file("src/pgl/internal/sasl.gleam", 149).
?DOC(false).
-spec is_tagging_char(integer()) -> boolean().
is_tagging_char(Char) ->
(Char =:= 16#E0001) orelse ((16#E0020 =< Char) andalso (Char =< 16#E007F)).
-file("src/pgl/internal/sasl.gleam", 7).
?DOC(false).
-spec validate(bitstring()) -> {ok, bitstring()} | {error, nil}.
validate(Data) ->
_pipe = Data,
_pipe@1 = gleam@bit_array:to_string(_pipe),
_pipe@3 = gleam@result:map(
_pipe@1,
fun(Str) -> _pipe@2 = gleam@string:to_utf_codepoints(Str),
gleam@list:map(_pipe@2, fun gleam_stdlib:identity/1) end
),
_pipe@5 = gleam@result:'try'(
_pipe@3,
fun(Chars) ->
Fns = [fun is_non_ascii_space_char/1,
fun is_ascii_control_char/1,
fun is_non_ascii_control_char/1,
fun is_private_use_char/1,
fun is_non_char_code_points/1,
fun is_surrogate_code_point/1,
fun is_inappropriate_for_plan_text_char/1,
fun is_inappropriate_for_canonical_representation_char/1,
fun is_change_display_properties_or_deprecated_char/1,
fun is_tagging_char/1],
_pipe@4 = Fns,
gleam@list:try_each(
_pipe@4,
fun(Validation) -> case gleam@list:any(Chars, Validation) of
true ->
{error, nil};
false ->
{ok, nil}
end end
)
end
),
gleam@result:replace(_pipe@5, Data).