diff --git a/src/jsx_encoder.erl b/src/jsx_encoder.erl index 914b35a..4784b96 100644 --- a/src/jsx_encoder.erl +++ b/src/jsx_encoder.erl @@ -53,12 +53,7 @@ start(Term, {Handler, State}, Config) -> value(String, {Handler, State}, Config) when is_binary(String) -> - case clean_string(String, Config) of - {error, badarg} -> - ?error([String, {Handler, State}, Config]); - CleanString -> - Handler:handle_event({string, CleanString}, State) - end; + Handler:handle_event({string, clean_string(String, Config)}, State); value(Float, {Handler, State}, _Config) when is_float(Float) -> Handler:handle_event({float, Float}, State); value(Int, {Handler, State}, _Config) when is_integer(Int) -> diff --git a/src/jsx_parser.erl b/src/jsx_parser.erl index 0cb146b..e8a3bd9 100644 --- a/src/jsx_parser.erl +++ b/src/jsx_parser.erl @@ -101,19 +101,9 @@ value([Number|Tokens], Handler, Stack, Config) when is_integer(Number) -> value([Number|Tokens], Handler, Stack, Config) when is_float(Number) -> value([{float, Number}] ++ Tokens, Handler, Stack, Config); value([{string, String}|Tokens], Handler, [], Config) when is_binary(String) -> - case clean_string(String, Config) of - {error, badarg} -> - ?error([[{string, String}|Tokens], Handler, [], Config]); - CleanString -> - done(Tokens, handle_event({string, CleanString}, Handler, Config), [], Config) - end; + done(Tokens, handle_event({string, clean_string(String, Config)}, Handler, Config), [], Config); value([{string, String}|Tokens], Handler, Stack, Config) when is_binary(String) -> - case clean_string(String, Config) of - {error, badarg} -> - ?error([[{string, String}|Tokens], Handler, Stack, Config]); - CleanString -> - maybe_done(Tokens, handle_event({string, CleanString}, Handler, Config), Stack, Config) - end; + maybe_done(Tokens, handle_event({string, clean_string(String, Config)}, Handler, Config), Stack, Config); value([String|Tokens], Handler, Stack, Config) when is_binary(String) -> value([{string, String}] ++ Tokens, Handler, Stack, Config); value([], Handler, Stack, Config) -> @@ -126,12 +116,7 @@ value(Token, Handler, Stack, Config) -> object([end_object|Tokens], Handler, [object|Stack], Config) -> maybe_done(Tokens, handle_event(end_object, Handler, Config), Stack, Config); object([{key, Key}|Tokens], Handler, Stack, Config) when is_atom(Key); is_binary(Key) -> - case clean_string(fix_key(Key), Config) of - {error, badarg} -> - ?error([[{key, Key}|Tokens], Handler, Stack, Config]); - CleanString -> - value(Tokens, handle_event({key, CleanString}, Handler, Config), Stack, Config) - end; + value(Tokens, handle_event({key, clean_string(fix_key(Key), Config)}, Handler, Config), Stack, Config); object([Key|Tokens], Handler, Stack, Config) when is_atom(Key); is_binary(Key) -> object([{key, Key}] ++ Tokens, Handler, Stack, Config); object([], Handler, Stack, Config) ->