apiCallback method
dynamic
apiCallback(
- String apiName,
- dynamic arguments
)
override
Implementation
@override
dynamic apiCallback(String apiName, dynamic arguments) {
AffiseApiMethod? api = apiMethodFrom(apiName);
if (api == null) return null;
Map<Object?, Object?>? map = tryCast<Map<Object?, Object?>>(arguments);
String? uuid = map?[_UUID]?.toString();
String? tag = map?[_TAG]?.toString();
dynamic data = map?[apiName];
dynamic result;
if (uuid == null || uuid.isEmpty) {
dynamic callback = _callbacks[api];
result = handleCallback(api, callback, data, null);
} else if (tag != null && tag.isNotEmpty) {
dynamic callback = _callbacksGroup[uuid]?[tag];
result = handleCallback(api, callback, data, tag);
_callbacksGroup.remove(uuid);
} else {
dynamic callback = _callbacksOnce[uuid];
result = handleCallback(api, callback, data, null);
_callbacksOnce.remove(uuid);
}
return result;
}