decodeArg method
Decode a single argument
Implementation
@override
dynamic decodeArg(dynamic arg) {
if (isNullOrUndefined(arg)) {
return null;
}
if (!isObject(arg)) {
return arg;
}
final map = (arg as Map).cast<String, dynamic>();
if (!map.containsKey('_type')) {
return map.map((key, value) => MapEntry(key, decodeArg(value)));
}
switch (map['_type']) {
case 'base64':
return _decodeBase64(map);
case 'instance':
return _decodeInstance(map);
case 'callback':
return _decodeCallback(map);
default:
return map;
}
}