SmartApiEnvelope.defaultParse constructor
SmartApiEnvelope.defaultParse(
- dynamic json
The default response parser, used when no custom
SmartApiConfig.responseParser is set. Reads keys according to
SmartApiConfigKeyMapHolder.keyMap (set via
SmartApiConfig.init(keyMap: ...)).
Implementation
factory SmartApiEnvelope.defaultParse(dynamic json) {
final km = SmartApiConfigKeyMapHolder.keyMap;
if (json is! Map) {
return SmartApiEnvelope(success: false, message: json?.toString() ?? "");
}
dynamic successRaw;
for (final k in km.successKeys) {
if (json.containsKey(k)) {
successRaw = json[k];
break;
}
}
final success = km.successValues.contains(successRaw);
String message = "";
for (final k in km.messageKeys) {
if (json[k] != null) {
message = json[k].toString();
break;
}
}
int? statusCode;
for (final k in km.statusCodeKeys) {
if (json[k] != null) {
statusCode = json[k] is int ? json[k] as int : int.tryParse(json[k].toString());
break;
}
}
dynamic data;
for (final k in km.dataKeys) {
if (json.containsKey(k)) {
data = json[k];
break;
}
}
return SmartApiEnvelope(success: success, message: message, statusCode: statusCode, data: data);
}