hasNativeMethod method

bool hasNativeMethod(
  1. dynamic args
)

Implementation

@pragma('vm:entry-point')
bool hasNativeMethod(dynamic args) {
  if (args == null || args.isEmpty) {
    return false;
  }
  var methodName = args['name'].trim();
  final type = args['type'].trim();
  final list = controller._parseNamespace(methodName);
  final namespace = list[0];
  methodName = list[1];
  final jsb = controller._javaScriptNamespaceInterfaces[namespace];
  if (jsb == null) {
    return false;
  }
  bool asyn = false;
  final method = jsb.functionMap[methodName];
  if (method == null) {
    return false;
  }
  if (method.runtimeType.toString().contains((#CompletionHandler).name)) {
    asyn = true;
  }
  if (type == 'all' || (asyn && type == 'asyn') || (!asyn && type == 'syn')) {
    return true;
  }
  return false;
}