decode method
Decodes a JSON-compatible wire value.
Implementation
@override
RequestPermissionOutcome decode(Object? value) {
final payload = decodeAcpObject(value);
final tag = decodeAcpString(payload['outcome']);
switch (tag) {
case 'cancelled':
return RequestPermissionOutcomeCancelled();
case 'selected':
return RequestPermissionOutcomeSelected(
selectedPermissionOutcomeCodec.decode(payload),
);
default:
return RequestPermissionOutcomeCustom(
discriminator: tag,
payload: AcpJsonObject.fromObject(payload),
);
}
}