function method

  1. @override
JsValue function(
  1. dynamic func(
    1. List argv
    )
)
override

Send a dart callback to JS context.

Implementation

@override
JsValue function(Function(List argv) func) =>
    wrap(js.JsFunction.withThis((self, [arg1, arg2, arg3, arg4, arg5]) {
      List argv;
      if (arg5 != null) {
        argv = [arg1, arg2, arg3, arg4, arg5];
      } else if (arg4 != null) {
        argv = [arg1, arg2, arg3, arg4];
      } else if (arg3 != null) {
        argv = [arg1, arg2, arg3];
      } else if (arg2 != null) {
        argv = [arg1, arg2];
      } else if (arg1 != null) {
        argv = [arg1];
      } else {
        argv = [];
      }
      return jsValue(func(argv.map((e) => wrap(e, this)).toList()), this);
    }), this);