decode method
Decodes a JSON-compatible wire value.
Implementation
@override
StateUpdate decode(Object? value) {
final payload = decodeAcpObject(value);
final tag = decodeAcpString(payload['state']);
switch (tag) {
case 'running':
return StateUpdateRunning(runningStateUpdateCodec.decode(payload));
case 'idle':
return StateUpdateIdle(idleStateUpdateCodec.decode(payload));
case 'requires_action':
return StateUpdateRequiresAction(
requiresActionStateUpdateCodec.decode(payload),
);
default:
return StateUpdateCustom(
discriminator: tag,
payload: AcpJsonObject.fromObject(payload),
);
}
}