diff --git a/priv/jsx_decoder.erl b/priv/jsx_decoder.erl index 3222921..1d01ecb 100644 --- a/priv/jsx_decoder.erl +++ b/priv/jsx_decoder.erl @@ -63,12 +63,7 @@ start(<>, Stack, ?comments_enabled(Opts)) -> maybe_comment(Rest, fun(Resume) -> start(Resume, Stack, Opts) end); start(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> start(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> start(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -87,15 +82,10 @@ maybe_done(<>, Stack, ?comments_enabled(Opts)) maybe_done(Rest, [], ?multi_term(Opts)) -> {event, end_json, fun() -> start(Rest, [], Opts) end}; maybe_done(Rest, [], Opts) -> - {event, end_json, fun() -> done(Rest, Opts) end}; + done(Rest, Opts); maybe_done(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> case Bin == <<>> of true -> ok; false -> {error, badjson} end - ; (Stream) -> maybe_done(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> maybe_done(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -103,14 +93,11 @@ done(<>, Opts) when ?is_whitespace(S) -> done(Rest, Opts); done(<>, ?comments_enabled(Opts)) -> maybe_comment(Rest, fun(Resume) -> done(Resume, Opts) end); +done(<<>>, Opts) -> + {event, end_json, fun() -> {incomplete, fun(Stream) -> done(Stream, Opts) end} end}; done(Bin, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> case Bin == <<>> of true -> ok; false -> {error, badjson} end - ; (Stream) -> done(<>, Opts) - end - } + true -> {incomplete, fun(Stream) -> done(<>, Opts) end} ; false -> {error, badjson} end. @@ -125,12 +112,7 @@ object(<>, Stack, ?comments_enabled(Opts)) -> maybe_comment(Rest, fun(Resume) -> object(Resume, Stack, Opts) end); object(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> object(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> object(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -161,12 +143,7 @@ array(<>, Stack, ?comments_enabled(Opts)) -> maybe_comment(Rest, fun(Resume) -> array(Resume, Stack, Opts) end); array(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> array(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> array(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -195,12 +172,7 @@ value(<>, Stack, ?comments_enabled(Opts)) -> maybe_comment(Rest, fun(Resume) -> value(Resume, Stack, Opts) end); value(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> value(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> value(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -213,12 +185,7 @@ colon(<>, Stack, ?comments_enabled(Opts)) -> maybe_comment(Rest, fun(Resume) -> colon(Resume, Stack, Opts) end); colon(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> colon(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> colon(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -231,12 +198,7 @@ key(<>, Stack, ?comments_enabled(Opts)) -> maybe_comment(Rest, fun(Resume) -> key(Resume, Stack, Opts) end); key(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> key(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> key(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -257,12 +219,7 @@ string(<>, Stack, Opts, Acc) when ?is_noncontrol(S) -> string(Rest, Stack, Opts, [S] ++ Acc); string(Bin, Stack, Opts, Acc) -> case partial_utf(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> string(<>, Stack, Opts, Acc) - end - } + true -> {incomplete, fun(Stream) -> string(<>, Stack, Opts, Acc) end} ; false -> {error, badjson} end. @@ -335,12 +292,7 @@ escape(<>, Stack, Opts, Acc) string(Rest, Stack, Opts, [S] ++ Acc); escape(Bin, Stack, Opts, Acc) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> escape(<>, Stack, Opts, Acc) - end - } + true -> {incomplete, fun(Stream) -> escape(<>, Stack, Opts, Acc) end} ; false -> {error, badjson} end. @@ -389,12 +341,7 @@ escaped_unicode(<>, Stack, Opts, String, Acc) when ?is escaped_unicode(Rest, Stack, Opts, String, [S] ++ Acc); escaped_unicode(Bin, Stack, Opts, String, Acc) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> escaped_unicode(<>, Stack, Opts, String, Acc) - end - } + true -> {incomplete, fun(Stream) -> escaped_unicode(<>, Stack, Opts, String, Acc) end} ; false -> {error, badjson} end. @@ -424,12 +371,7 @@ negative(<>, Stack, Opts, Acc) when ?is_nonzero(S) -> integer(Rest, Stack, Opts, [S] ++ Acc); negative(Bin, Stack, Opts, Acc) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> negative(<>, Stack, Opts, Acc) - end - } + true -> {incomplete, fun(Stream) -> negative(<>, Stack, Opts, Acc) end} ; false -> {error, badjson} end. @@ -453,20 +395,10 @@ zero(<>, Stack, Opts, Acc) when ?is_whitespace(S) -> zero(<>, Stack, ?comments_enabled(Opts), Acc) -> maybe_comment(Rest, fun(Resume) -> zero(Resume, Stack, Opts, Acc) end); zero(<<>>, [], Opts, Acc) -> - {incomplete, - fun - (end_stream) -> {event, {integer, lists:reverse(Acc)}, fun() -> maybe_done(<<>>, [], Opts) end} - ; (Stream) -> zero(Stream, [], Opts, Acc) - end - }; + {event, {integer, lists:reverse(Acc)}, fun() -> {incomplete, fun(Stream) -> zero(Stream, [], Opts, Acc) end} end}; zero(Bin, Stack, Opts, Acc) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> zero(<>, Stack, Opts, Acc) - end - } + true -> {incomplete, fun(Stream) -> zero(<>, Stack, Opts, Acc) end} ; false -> {error, badjson} end. @@ -498,20 +430,10 @@ integer(<>, Stack, Opts, Acc) when ?is_whitespace(S) - integer(<>, Stack, ?comments_enabled(Opts), Acc) -> maybe_comment(Rest, fun(Resume) -> integer(Resume, Stack, Opts, Acc) end); integer(<<>>, [], Opts, Acc) -> - {incomplete, - fun - (end_stream) -> {event, {integer, lists:reverse(Acc)}, fun() -> maybe_done(<<>>, [], Opts) end} - ; (Stream) -> integer(Stream, [], Opts, Acc) - end - }; + {event, {integer, lists:reverse(Acc)}, fun() -> {incomplete, fun(Stream) -> integer(Stream, [], Opts, Acc) end} end}; integer(Bin, Stack, Opts, Acc) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> integer(<>, Stack, Opts, Acc) - end - } + true -> {incomplete, fun(Stream) -> integer(<>, Stack, Opts, Acc) end} ; false -> {error, badjson} end. @@ -522,12 +444,7 @@ initial_decimal(<>, Stack, Opts, Acc) -> decimal(Rest, Stack, Opts, [?zero] ++ Acc); initial_decimal(Bin, Stack, Opts, Acc) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> initial_decimal(<>, Stack, Opts, Acc) - end - } + true -> {incomplete, fun(Stream) -> initial_decimal(<>, Stack, Opts, Acc) end} ; false -> {error, badjson} end. @@ -557,20 +474,10 @@ decimal(<>, Stack, Opts, Acc) when ?is_whitespace(S) - decimal(<>, Stack, ?comments_enabled(Opts), Acc) -> maybe_comment(Rest, fun(Resume) -> decimal(Resume, Stack, Opts, Acc) end); decimal(<<>>, [], Opts, Acc) -> - {incomplete, - fun - (end_stream) -> {event, {float, lists:reverse(Acc)}, fun() -> maybe_done(<<>>, [], Opts) end} - ; (Stream) -> decimal(Stream, [], Opts, Acc) - end - }; + {event, {float, lists:reverse(Acc)}, fun() -> {incomplete, fun(Stream) -> decimal(Stream, [], Opts, Acc) end} end}; decimal(Bin, Stack, Opts, Acc) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> decimal(<>, Stack, Opts, Acc) - end - } + true -> {incomplete, fun(Stream) -> decimal(<>, Stack, Opts, Acc) end} ; false -> {error, badjson} end. @@ -581,12 +488,7 @@ e(<>, Stack, Opts, Acc) when S =:= ?positive; S =:= ?n ex(Rest, Stack, Opts, [S] ++ Acc); e(Bin, Stack, Opts, Acc) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> e(<>, Stack, Opts, Acc) - end - } + true -> {incomplete, fun(Stream) -> e(<>, Stack, Opts, Acc) end} ; false -> {error, badjson} end. @@ -595,12 +497,7 @@ ex(<>, Stack, Opts, Acc) when S =:= ?zero; ?is_nonzero exp(Rest, Stack, Opts, [S] ++ Acc); ex(Bin, Stack, Opts, Acc) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> ex(<>, Stack, Opts, Acc) - end - } + true -> {incomplete, fun(Stream) -> ex(<>, Stack, Opts, Acc) end} ; false -> {error, badjson} end. @@ -626,20 +523,10 @@ exp(<>, Stack, Opts, Acc) when ?is_whitespace(S) -> exp(<>, Stack, ?comments_enabled(Opts), Acc) -> maybe_comment(Rest, fun(Resume) -> exp(Resume, Stack, Opts, Acc) end); exp(<<>>, [], Opts, Acc) -> - {incomplete, - fun - (end_stream) -> {event, {float, lists:reverse(Acc)}, fun() -> maybe_done(<<>>, [], Opts) end} - ; (Stream) -> exp(Stream, [], Opts, Acc) - end - }; + {event, {float, lists:reverse(Acc)}, fun() -> {incomplete, fun(Stream) -> exp(Stream, [], Opts, Acc) end} end}; exp(Bin, Stack, Opts, Acc) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> exp(<>, Stack, Opts, Acc) - end - } + true -> {incomplete, fun(Stream) -> exp(<>, Stack, Opts, Acc) end} ; false -> {error, badjson} end. @@ -648,12 +535,7 @@ tr(<<$r/?encoding, Rest/binary>>, Stack, Opts) -> tru(Rest, Stack, Opts); tr(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> tr(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> tr(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -662,12 +544,7 @@ tru(<<$u/?encoding, Rest/binary>>, Stack, Opts) -> true(Rest, Stack, Opts); tru(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> tru(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> tru(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -676,12 +553,7 @@ true(<<$e/?encoding, Rest/binary>>, Stack, Opts) -> {event, {literal, true}, fun() -> maybe_done(Rest, Stack, Opts) end}; true(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> true(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> true(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -690,12 +562,7 @@ fa(<<$a/?encoding, Rest/binary>>, Stack, Opts) -> fal(Rest, Stack, Opts); fa(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> fa(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> fa(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -704,12 +571,7 @@ fal(<<$l/?encoding, Rest/binary>>, Stack, Opts) -> fals(Rest, Stack, Opts); fal(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> fal(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> fal(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -718,12 +580,7 @@ fals(<<$s/?encoding, Rest/binary>>, Stack, Opts) -> false(Rest, Stack, Opts); fals(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> fals(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> fals(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -732,12 +589,7 @@ false(<<$e/?encoding, Rest/binary>>, Stack, Opts) -> {event, {literal, false}, fun() -> maybe_done(Rest, Stack, Opts) end}; false(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> false(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> false(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -746,12 +598,7 @@ nu(<<$u/?encoding, Rest/binary>>, Stack, Opts) -> nul(Rest, Stack, Opts); nu(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> nu(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> nu(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -760,12 +607,7 @@ nul(<<$l/?encoding, Rest/binary>>, Stack, Opts) -> null(Rest, Stack, Opts); nul(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> nul(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> nul(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -774,12 +616,7 @@ null(<<$l/?encoding, Rest/binary>>, Stack, Opts) -> {event, {literal, null}, fun() -> maybe_done(Rest, Stack, Opts) end}; null(Bin, Stack, Opts) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> null(<>, Stack, Opts) - end - } + true -> {incomplete, fun(Stream) -> null(<>, Stack, Opts) end} ; false -> {error, badjson} end. @@ -793,12 +630,7 @@ maybe_comment(<>, Resume) -> comment(Rest, Resume); maybe_comment(Bin, Resume) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> maybe_comment(<>, Resume) - end - } + true -> {incomplete, fun(Stream) -> maybe_comment(<>, Resume) end} ; false -> {error, badjson} end. @@ -809,12 +641,7 @@ comment(<<_/?encoding, Rest/binary>>, Resume) -> comment(Rest, Resume); comment(Bin, Resume) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> comment(<>, Resume) - end - } + true -> {incomplete, fun(Stream) -> comment(<>, Resume) end} ; false -> {error, badjson} end. @@ -825,11 +652,6 @@ maybe_comment_done(<<_/?encoding, Rest/binary>>, Resume) -> comment(Rest, Resume); maybe_comment_done(Bin, Resume) -> case ?partial_codepoint(Bin) of - true -> - {incomplete, - fun(end_stream) -> {error, badjson} - ; (Stream) -> maybe_comment_done(<>, Resume) - end - } + true -> {incomplete, fun(Stream) -> maybe_comment_done(<>, Resume) end} ; false -> {error, badjson} end. \ No newline at end of file