decode method
Decodes a JSON-compatible wire value.
Implementation
@override
CreateElicitationResponse decode(Object? value) {
final payload = decodeAcpObject(value);
final tag = decodeAcpString(payload['action']);
switch (tag) {
case 'accept':
final decoder = AcpResilientDecoder(payload);
return CreateElicitationResponseAccept(
elicitationAcceptActionCodec.decode(payload),
meta: decoder.meta(),
);
case 'decline':
final decoder = AcpResilientDecoder(payload);
return CreateElicitationResponseDecline(meta: decoder.meta());
case 'cancel':
final decoder = AcpResilientDecoder(payload);
return CreateElicitationResponseCancel(meta: decoder.meta());
default:
return CreateElicitationResponseCustom(
discriminator: tag,
payload: AcpJsonObject.fromObject(payload),
);
}
}