From 5fcd4644bf1ade87ac12d487275ee33b3e724ff6 Mon Sep 17 00:00:00 2001 From: alisdair sullivan Date: Wed, 13 Nov 2013 02:29:44 +0000 Subject: [PATCH] make sure `jsx_encoder:encode/2' dispatches recursive calls correctly --- src/jsx_encoder.erl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/jsx_encoder.erl b/src/jsx_encoder.erl index f4e8699..35acffe 100644 --- a/src/jsx_encoder.erl +++ b/src/jsx_encoder.erl @@ -43,9 +43,13 @@ encode([], _EntryPoint) -> [start_array, end_array]; encode([{}], _EntryPoint) -> [start_object, end_object]; encode([{_, _}|_] = Term, EntryPoint) -> - lists:flatten([start_object] ++ [ EntryPoint:encode(T) || T <- unzip(Term) ] ++ [end_object]); + lists:flatten( + [start_object] ++ [ EntryPoint:encode(T, EntryPoint) || T <- unzip(Term) ] ++ [end_object] + ); encode(Term, EntryPoint) when is_list(Term) -> - lists:flatten([start_array] ++ [ EntryPoint:encode(T) || T <- Term ] ++ [end_array]); + lists:flatten( + [start_array] ++ [ EntryPoint:encode(T, EntryPoint) || T <- Term ] ++ [end_array] + ); encode(Else, _EntryPoint) -> [Else].