remove stray tabs
This commit is contained in:
parent
d3fd69a351
commit
d9e0611a52
2 changed files with 25 additions and 26 deletions
|
@ -373,10 +373,10 @@ test_decode(JSON, Flags) ->
|
||||||
|
|
||||||
|
|
||||||
incremental_decode(<<C:1/binary, Rest/binary>>, Flags) ->
|
incremental_decode(<<C:1/binary, Rest/binary>>, Flags) ->
|
||||||
P = jsx_decoder:decoder(?MODULE, [], Flags ++ [explicit_end]),
|
P = jsx_decoder:decoder(?MODULE, [], Flags ++ [explicit_end]),
|
||||||
try incremental_decode_loop(P(C), Rest)
|
try incremental_decode_loop(P(C), Rest)
|
||||||
catch error:badarg -> {error, badarg}
|
catch error:badarg -> {error, badarg}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
incremental_decode_loop({incomplete, More}, <<>>) ->
|
incremental_decode_loop({incomplete, More}, <<>>) ->
|
||||||
case More(end_stream) of
|
case More(end_stream) of
|
||||||
|
|
|
@ -73,23 +73,23 @@ value(Term, Handler, Opts) -> ?error([Term, Handler, Opts]).
|
||||||
|
|
||||||
|
|
||||||
list_or_object([Term|Rest], {Handler, State}, Opts) ->
|
list_or_object([Term|Rest], {Handler, State}, Opts) ->
|
||||||
case pre_encode(Term, Opts) of
|
case pre_encode(Term, Opts) of
|
||||||
{K, V} ->
|
{K, V} ->
|
||||||
object([{K, V}|Rest], {Handler, Handler:handle_event(start_object, State)}, Opts)
|
object([{K, V}|Rest], {Handler, Handler:handle_event(start_object, State)}, Opts)
|
||||||
; T ->
|
; T ->
|
||||||
list([T|Rest], {Handler, Handler:handle_event(start_array, State)}, Opts)
|
list([T|Rest], {Handler, Handler:handle_event(start_array, State)}, Opts)
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
||||||
object([{Key, Value}, Next|Rest], {Handler, State}, Opts) when is_atom(Key); is_binary(Key) ->
|
object([{Key, Value}, Next|Rest], {Handler, State}, Opts) when is_atom(Key); is_binary(Key) ->
|
||||||
V = pre_encode(Value, Opts),
|
V = pre_encode(Value, Opts),
|
||||||
object(
|
object(
|
||||||
[pre_encode(Next, Opts)|Rest],
|
[pre_encode(Next, Opts)|Rest],
|
||||||
{
|
{
|
||||||
Handler,
|
Handler,
|
||||||
value(
|
value(
|
||||||
V,
|
V,
|
||||||
{Handler, Handler:handle_event({key, clean_string(fix_key(Key), Opts)}, State)},
|
{Handler, Handler:handle_event({key, clean_string(fix_key(Key), Opts)}, State)},
|
||||||
Opts
|
Opts
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
@ -115,13 +115,12 @@ object(Term, Handler, Opts) -> ?error([Term, Handler, Opts]).
|
||||||
list([Value, Next|Rest], {Handler, State}, Opts) ->
|
list([Value, Next|Rest], {Handler, State}, Opts) ->
|
||||||
list([pre_encode(Next, Opts)|Rest], {Handler, value(Value, {Handler, State}, Opts)}, Opts);
|
list([pre_encode(Next, Opts)|Rest], {Handler, value(Value, {Handler, State}, Opts)}, Opts);
|
||||||
list([Value], {Handler, State}, Opts) ->
|
list([Value], {Handler, State}, Opts) ->
|
||||||
list([], {Handler, value(Value, {Handler, State}, Opts)}, Opts);
|
list([], {Handler, value(Value, {Handler, State}, Opts)}, Opts);
|
||||||
list([], {Handler, State}, _Opts) -> Handler:handle_event(end_array, State);
|
list([], {Handler, State}, _Opts) -> Handler:handle_event(end_array, State);
|
||||||
list(Term, Handler, Opts) -> ?error([Term, Handler, Opts]).
|
list(Term, Handler, Opts) -> ?error([Term, Handler, Opts]).
|
||||||
|
|
||||||
|
pre_encode(Value, #opts{pre_encode=false}) -> Value; pre_encode(Value, Opts) ->
|
||||||
pre_encode(Value, #opts{pre_encode=false}) -> Value;
|
(Opts#opts.pre_encode)(Value).
|
||||||
pre_encode(Value, Opts) -> (Opts#opts.pre_encode)(Value).
|
|
||||||
|
|
||||||
|
|
||||||
fix_key(Key) when is_atom(Key) -> fix_key(atom_to_binary(Key, utf8));
|
fix_key(Key) when is_atom(Key) -> fix_key(atom_to_binary(Key, utf8));
|
||||||
|
@ -331,15 +330,15 @@ pre_encoders_test_() ->
|
||||||
end_json
|
end_json
|
||||||
]
|
]
|
||||||
)},
|
)},
|
||||||
{"pre_encode list", ?_assertEqual(
|
{"pre_encode list", ?_assertEqual(
|
||||||
encode([1,2,3], [{pre_encode, fun(X) when is_integer(X) -> X + 1; (V) -> V end}]),
|
encode([1,2,3], [{pre_encode, fun(X) when is_integer(X) -> X + 1; (V) -> V end}]),
|
||||||
[
|
[
|
||||||
start_array,
|
start_array,
|
||||||
{integer, 2}, {integer, 3}, {integer, 4},
|
{integer, 2}, {integer, 3}, {integer, 4},
|
||||||
end_array,
|
end_array,
|
||||||
end_json
|
end_json
|
||||||
]
|
]
|
||||||
)}
|
)}
|
||||||
].
|
].
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue