deserialize static method

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

Deserializes bytes into a BCS variant structure. Validates the presence of key and value in the deserialized data.

Implementation

static Map<String, dynamic> deserialize({
  required List<int> bytes,
  required Layout<Map<String, dynamic>> layout,
}) {
  final decode = layout.deserialize(bytes);
  final json = decode.value;
  if (json['key'] is! String || !json.containsKey('value')) {
    throw const BcsSerializationException(
      'Invalid variant layout. only use enum layout to deserialize with `BcsVariantSerialization.deserialize` method.',
    );
  }
  return json;
}