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;
}