@@ -133,7 +133,7 @@ defmodule Msgpax.Unpacker do
133133 options = Macro . var ( :options , nil )
134134 outer = Macro . var ( :outer , nil )
135135 defp unpack_list ( << unquote_splicing ( format ) , rest :: bits >> , result , options , outer , index , length ) when index < length do
136- outer = [ { index , length } | outer ]
136+ outer = [ :list , index , length | outer ]
137137 unquote ( pipe ( rest , pipe ( result , pipe ( options , pipe ( outer , call , 0 ) , 0 ) , 0 ) , 0 ) )
138138 end
139139 end
@@ -143,12 +143,12 @@ defmodule Msgpax.Unpacker do
143143 end
144144
145145 defp unpack_map ( << buffer :: bits >> , result , options , outer , length ) do
146- unpack_map ( buffer , result , options , outer , 0 , length * 2 , :key )
146+ unpack_map ( buffer , result , options , outer , 0 , length * 2 )
147147 end
148148
149149 for { format , { :value , value } } <- formats do
150- defp unpack_map ( << unquote_splicing ( format ) , rest :: bits >> , result , options , outer , index , length , type ) when index < length do
151- unpack_map ( rest , [ unquote ( value ) | result ] , options , outer , index + 1 , length , type )
150+ defp unpack_map ( << unquote_splicing ( format ) , rest :: bits >> , result , options , outer , index , length ) when index < length do
151+ unpack_map ( rest , [ unquote ( value ) | result ] , options , outer , index + 1 , length )
152152 end
153153 end
154154
@@ -157,13 +157,13 @@ defmodule Msgpax.Unpacker do
157157 result = Macro . var ( :result , nil )
158158 options = Macro . var ( :options , nil )
159159 outer = Macro . var ( :outer , nil )
160- defp unpack_map ( << unquote_splicing ( format ) , rest :: bits >> , result , options , outer , index , length , type ) when index < length do
161- outer = [ { index , length , type } | outer ]
160+ defp unpack_map ( << unquote_splicing ( format ) , rest :: bits >> , result , options , outer , index , length ) when index < length do
161+ outer = [ :map , index , length | outer ]
162162 unquote ( pipe ( rest , pipe ( result , pipe ( options , pipe ( outer , call , 0 ) , 0 ) , 0 ) , 0 ) )
163163 end
164164 end
165165
166- defp unpack_map ( << buffer :: bits >> , result , options , outer , count , count , :key ) do
166+ defp unpack_map ( << buffer :: bits >> , result , options , outer , count , count ) do
167167 unpack_continue ( buffer , build_map ( result , [ ] , count ) , options , outer )
168168 end
169169
@@ -188,12 +188,12 @@ defmodule Msgpax.Unpacker do
188188 Msgpax.Ext . new ( type , data )
189189 end
190190
191- defp unpack_continue ( << buffer :: bits >> , result , options , [ { index , length } | outer ] ) do
191+ defp unpack_continue ( << buffer :: bits >> , result , options , [ :list , index , length | outer ] ) do
192192 unpack_list ( buffer , result , options , outer , index + 1 , length )
193193 end
194194
195- defp unpack_continue ( << buffer :: bits >> , result , options , [ { index , length , type } | outer ] ) do
196- unpack_map ( buffer , result , options , outer , index + 1 , length , type )
195+ defp unpack_continue ( << buffer :: bits >> , result , options , [ :map , index , length | outer ] ) do
196+ unpack_map ( buffer , result , options , outer , index + 1 , length )
197197 end
198198
199199 defp unpack_continue ( << buffer :: bits >> , result , options , [ ] ) do
0 commit comments