moves escaping of strings from encoder to formatter
This commit is contained in:
parent
cef8ccd5c2
commit
245640743d
2 changed files with 16 additions and 18 deletions
|
@ -47,8 +47,8 @@ start(Term, {Handler, State}, Opts) ->
|
|||
Handler:handle_event(end_json, value(Term, {Handler, State}, Opts)).
|
||||
|
||||
|
||||
value(String, {Handler, State}, Opts) when is_binary(String) ->
|
||||
Handler:handle_event({string, jsx_utils:json_escape(String, Opts)}, State);
|
||||
value(String, {Handler, State}, _Opts) when is_binary(String) ->
|
||||
Handler:handle_event({string, String}, State);
|
||||
value(Float, {Handler, State}, _Opts) when is_float(Float) ->
|
||||
Handler:handle_event({float, Float}, State);
|
||||
value(Int, {Handler, State}, _Opts) when is_integer(Int) ->
|
||||
|
@ -73,7 +73,7 @@ list_or_object(List, {Handler, State}, Opts) ->
|
|||
|
||||
object([{Key, Value}|Rest], {Handler, State}, Opts) ->
|
||||
object(Rest, {Handler,
|
||||
value(Value, {Handler, Handler:handle_event({key, fix_key(Key, Opts)}, State)}, Opts)
|
||||
value(Value, {Handler, Handler:handle_event({key, fix_key(Key)}, State)}, Opts)
|
||||
}, Opts);
|
||||
object([], {Handler, State}, _Opts) -> Handler:handle_event(end_object, State);
|
||||
object(Term, Handler, Opts) -> ?error([Term, Handler, Opts]).
|
||||
|
@ -85,10 +85,8 @@ list([], {Handler, State}, _Opts) -> Handler:handle_event(end_array, State);
|
|||
list(Term, Handler, Opts) -> ?error([Term, Handler, Opts]).
|
||||
|
||||
|
||||
fix_key(Key, Opts) when is_binary(Key) ->
|
||||
jsx_utils:json_escape(Key, Opts);
|
||||
fix_key(Key, Opts) when is_atom(Key) ->
|
||||
jsx_utils:json_escape(atom_to_binary(Key, utf8), Opts).
|
||||
fix_key(Key) when is_binary(Key) -> Key;
|
||||
fix_key(Key) when is_atom(Key) -> atom_to_binary(Key, utf8).
|
||||
|
||||
|
||||
-ifdef(TEST).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue