@@ -153,7 +153,7 @@ final class ResponseConverter<B, H> with Converter<http.StreamedResponse, Future
153
153
}
154
154
155
155
/// Encoder to efficiently convert a raw response to json.
156
- final class RawResponseEncoder with Converter <DynamiteRawResponse <dynamic , dynamic >, Map < String , Object ?> > {
156
+ final class RawResponseEncoder with Converter <DynamiteRawResponse <dynamic , dynamic >, Object ?> {
157
157
/// Creates a new raw response encoder.
158
158
const RawResponseEncoder ();
159
159
@@ -166,15 +166,19 @@ final class RawResponseEncoder with Converter<DynamiteRawResponse<dynamic, dynam
166
166
}
167
167
168
168
/// Encoder to revive the json from a raw response.
169
- final class RawResponseDecoder <B , H > with Converter <Map < String , Object ?> , DynamiteResponse <B , H >> {
169
+ final class RawResponseDecoder <B , H > with Converter <Object ?, DynamiteResponse <B , H >> {
170
170
/// Creates a new raw response decoder.
171
171
const RawResponseDecoder (this .serializer);
172
172
173
173
/// The serializer to convert the raw header and body into [B] and [H] .
174
174
final DynamiteSerializer <B , H > serializer;
175
175
176
176
@override
177
- DynamiteResponse <B , H > convert (Map <String , Object ?> input) {
177
+ DynamiteResponse <B , H > convert (Object ? input) {
178
+ if (input is ! Map <String , Object ?>) {
179
+ throw ArgumentError ('Expected Map<String, Object?>, got ${input .runtimeType } instead' );
180
+ }
181
+
178
182
final rawHeaders = input['headers' ];
179
183
final headers = _deserialize <H >(rawHeaders, serializer.serializers, serializer.headersType);
180
184
0 commit comments