decode method
Decodes a JSON-compatible wire value.
Implementation
@override
MultiSelectItems decode(Object? value) {
if (value is Map<Object?, Object?>) {
final payload = decodeAcpObject(value);
if (payload['type'] == 'string') {
return MultiSelectItemsStringMultiSelectItems(
stringMultiSelectItemsCodec.decode(value),
);
}
}
try {
return MultiSelectItemsTitled(titledMultiSelectItemsCodec.decode(value));
} on Object {
// Try the next structurally distinct member.
}
if (value is Map<Object?, Object?>) {
return MultiSelectItemsOther(AcpJsonObject.fromObject(value));
}
throw const FormatException('Value does not match MultiSelectItems');
}