TransactionMetadata<T>.fromJson constructor
TransactionMetadata<T>.fromJson(
- Map<String, dynamic> json
)
Implementation
factory TransactionMetadata.fromJson(Map<String, dynamic> json) {
TransactionMetadataType type;
try {
type = TransactionMetadataType.fromName(json.keys.first);
} on StateError {
throw MessageException("Invalid metadata json.", details: {"json": json});
}
final TransactionMetadata metadata;
switch (type) {
case TransactionMetadataType.metadataBytes:
metadata = TransactionMetadataBytes.fromJson(json);
break;
case TransactionMetadataType.metadataInt:
metadata = TransactionMetadataInt.fromJson(json);
break;
case TransactionMetadataType.metadataList:
metadata = TransactionMetadataList.fromJson(json);
break;
case TransactionMetadataType.metadataMap:
metadata = TransactionMetadataMap.fromJson(json);
break;
default:
metadata = TransactionMetadataText.fromJson(json);
break;
}
return metadata as TransactionMetadata<T>;
}