-module(glentities@internal@html_encoder@generic). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([escape/1]). -file("/Users/nicd/svn/glentities/src/glentities/internal/html_encoder/generic.gleam", 21). -spec do_escape( binary(), integer(), binary(), list(binary()), integer(), boolean() ) -> list(binary()). do_escape(String, Skip, Original, Acc, Len, Found_normal) -> case {Found_normal, glentities_ffi:first(String)} of {false, <<"<"/utf8>>} -> Rest = glentities_ffi:drop_first(String), Acc@1 = [<<"<"/utf8>> | Acc], do_escape(Rest, Skip + 1, Original, Acc@1, 0, false); {false, <<">"/utf8>>} -> Rest@1 = glentities_ffi:drop_first(String), Acc@2 = [<<">"/utf8>> | Acc], do_escape(Rest@1, Skip + 1, Original, Acc@2, 0, false); {false, <<"&"/utf8>>} -> Rest@2 = glentities_ffi:drop_first(String), Acc@3 = [<<"&"/utf8>> | Acc], do_escape(Rest@2, Skip + 1, Original, Acc@3, 0, false); {false, <<"\""/utf8>>} -> Rest@3 = glentities_ffi:drop_first(String), Acc@4 = [<<"""/utf8>> | Acc], do_escape(Rest@3, Skip + 1, Original, Acc@4, 0, false); {false, <<"'"/utf8>>} -> Rest@4 = glentities_ffi:drop_first(String), Acc@5 = [<<"'"/utf8>> | Acc], do_escape(Rest@4, Skip + 1, Original, Acc@5, 0, false); {false, <<""/utf8>>} -> Acc; {false, _} -> Rest@5 = glentities_ffi:drop_first(String), do_escape(Rest@5, Skip, Original, Acc, 1, true); {true, <<"<"/utf8>>} -> Rest@6 = glentities_ffi:drop_first(String), Slice = glentities_ffi:slice(Original, Skip, Len), Acc@6 = [<<"<"/utf8>>, Slice | Acc], do_escape(Rest@6, (Skip + Len) + 1, Original, Acc@6, 0, false); {true, <<">"/utf8>>} -> Rest@7 = glentities_ffi:drop_first(String), Slice@1 = glentities_ffi:slice(Original, Skip, Len), Acc@7 = [<<">"/utf8>>, Slice@1 | Acc], do_escape(Rest@7, (Skip + Len) + 1, Original, Acc@7, 0, false); {true, <<"&"/utf8>>} -> Rest@8 = glentities_ffi:drop_first(String), Slice@2 = glentities_ffi:slice(Original, Skip, Len), Acc@8 = [<<"&"/utf8>>, Slice@2 | Acc], do_escape(Rest@8, (Skip + Len) + 1, Original, Acc@8, 0, false); {true, <<"\""/utf8>>} -> Rest@9 = glentities_ffi:drop_first(String), Slice@3 = glentities_ffi:slice(Original, Skip, Len), Acc@9 = [<<"""/utf8>>, Slice@3 | Acc], do_escape(Rest@9, (Skip + Len) + 1, Original, Acc@9, 0, false); {true, <<"'"/utf8>>} -> Rest@10 = glentities_ffi:drop_first(String), Slice@4 = glentities_ffi:slice(Original, Skip, Len), Acc@10 = [<<"'"/utf8>>, Slice@4 | Acc], do_escape(Rest@10, (Skip + Len) + 1, Original, Acc@10, 0, false); {true, <<""/utf8>>} -> case Skip of 0 -> [Original]; _ -> Slice@5 = glentities_ffi:slice(Original, Skip, Len), [Slice@5 | Acc] end; {true, _} -> Rest@11 = glentities_ffi:drop_first(String), do_escape(Rest@11, Skip, Original, Acc, Len + 1, true) end. -file("/Users/nicd/svn/glentities/src/glentities/internal/html_encoder/generic.gleam", 9). -spec escape(binary()) -> binary(). escape(Text) -> _pipe = do_escape(Text, 0, Text, [], 0, false), _pipe@1 = lists:reverse(_pipe), gleam@string:join(_pipe@1, <<""/utf8>>).