map static method
map values
Implementation
static CustomLayout map(
Layout keyLayout,
Layout valueLayout, {
String? property,
}) {
final length = padding(u32(property: "length"), propery: "length");
final layout = struct([
length,
seq(
MapEntryLayout(
keyLayout: keyLayout,
valueLayout: valueLayout,
property: "",
),
offset(length, -length.span),
property: 'values',
),
]);
return CustomLayout<Map<String, dynamic>, Map<dynamic, dynamic>>(
layout: layout,
decoder: (data) {
final List<MapEntry<dynamic, dynamic>> values =
(data['values'] as List).cast();
return Map.fromEntries(values);
},
encoder: (values) => {'values': values.entries.toList()},
property: property,
);
}