deserialize static method

Map<String, dynamic> deserialize({
  1. required List<int> bytes,
  2. required Layout<Map<String, dynamic>> layout,
})
override

Deserializes bytes into a JSON map for the variant.

Implementation

static Map<String, dynamic> deserialize({
  required List<int> bytes,
  required Layout<Map<String, dynamic>> layout,
}) {
  Map<String, dynamic> json;
  try {
    json = layout.deserialize(bytes).value;
  } catch (_) {
    throw const LayoutException("Invalid variant bytes encoding.");
  }
  if (json['key'] is! String || !json.containsKey('value')) {
    throw const LayoutException("Invalid variant layout.");
  }
  return json;
}