@@ -133,7 +133,7 @@ defmodule Msgpax.Unpacker do
133
133
options = Macro . var ( :options , nil )
134
134
outer = Macro . var ( :outer , nil )
135
135
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 ]
137
137
unquote ( pipe ( rest , pipe ( result , pipe ( options , pipe ( outer , call , 0 ) , 0 ) , 0 ) , 0 ) )
138
138
end
139
139
end
@@ -143,12 +143,12 @@ defmodule Msgpax.Unpacker do
143
143
end
144
144
145
145
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 )
147
147
end
148
148
149
149
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 )
152
152
end
153
153
end
154
154
@@ -157,13 +157,13 @@ defmodule Msgpax.Unpacker do
157
157
result = Macro . var ( :result , nil )
158
158
options = Macro . var ( :options , nil )
159
159
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 ]
162
162
unquote ( pipe ( rest , pipe ( result , pipe ( options , pipe ( outer , call , 0 ) , 0 ) , 0 ) , 0 ) )
163
163
end
164
164
end
165
165
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
167
167
unpack_continue ( buffer , build_map ( result , [ ] , count ) , options , outer )
168
168
end
169
169
@@ -188,12 +188,12 @@ defmodule Msgpax.Unpacker do
188
188
Msgpax.Ext . new ( type , data )
189
189
end
190
190
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
192
192
unpack_list ( buffer , result , options , outer , index + 1 , length )
193
193
end
194
194
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 )
197
197
end
198
198
199
199
defp unpack_continue ( << buffer :: bits >> , result , options , [ ] ) do
0 commit comments