decode method
Decodes a JSON-compatible wire value.
Implementation
@override
ContentBlock decode(Object? value) {
final payload = decodeAcpObject(value);
final tag = decodeAcpString(payload['type']);
switch (tag) {
case 'text':
return ContentBlockText(textContentCodec.decode(payload));
case 'image':
return ContentBlockImage(imageContentCodec.decode(payload));
case 'audio':
return ContentBlockAudio(audioContentCodec.decode(payload));
case 'resource_link':
return ContentBlockResourceLink(resourceLinkCodec.decode(payload));
case 'resource':
return ContentBlockResource(embeddedResourceCodec.decode(payload));
default:
return ContentBlockCustom(
discriminator: tag,
payload: AcpJsonObject.fromObject(payload),
);
}
}