@@ -48,10 +48,13 @@ defmodule JSONAPI.Serializer do
4848 def encode_data ( _view , nil , _conn , _query_includes , _options ) , do: { [ ] , nil }
4949
5050 def encode_data ( view , data , conn , query_includes , options ) when is_list ( data ) do
51- Enum . map_reduce ( data , [ ] , fn d , acc ->
52- { to_include , encoded_data } = encode_data ( view , d , conn , query_includes , options )
53- { to_include , Enum . reverse ( [ encoded_data | acc ] ) }
54- end )
51+ { to_include , encoded_data } =
52+ Enum . map_reduce ( data , [ ] , fn d , acc ->
53+ { to_include , encoded_data } = encode_data ( view , d , conn , query_includes , options )
54+ { to_include , [ encoded_data | acc ] }
55+ end )
56+
57+ { to_include , Enum . reverse ( encoded_data ) }
5558 end
5659
5760 def encode_data ( view , data , conn , query_includes , options ) do
@@ -115,9 +118,10 @@ defmodule JSONAPI.Serializer do
115118 query_includes
116119 # credo:disable-for-next-line
117120 |> Enum . reduce ( [ ] , fn
118- { ^ relationship_name , value } , acc -> Enum . reverse ( [ value | acc ] )
121+ { ^ relationship_name , value } , acc -> [ value | acc ]
119122 _ , acc -> acc
120123 end )
124+ |> Enum . reverse ( )
121125 |> List . flatten ( )
122126 else
123127 [ ]
@@ -126,7 +130,8 @@ defmodule JSONAPI.Serializer do
126130 { rel_included , encoded_rel } =
127131 encode_data ( rel_view , rel_data , conn , rel_query_includes , options )
128132
129- { Enum . reverse ( [ encoded_rel | rel_included ] ) , acc }
133+ # credo:disable-for-next-line
134+ { rel_included ++ [ encoded_rel ] , acc }
130135 else
131136 { nil , acc }
132137 end
0 commit comments