call method

  1. @override
Object? call(
  1. Interpreter interpreter,
  2. List<Object?> arguments,
  3. Map<Symbol, Object?> namedArguments
)
override

Implementation

@override
Object? call(Interpreter interpreter, List<Object?> arguments,
    Map<Symbol, Object?> namedArguments) {
  void Function(String)? onPageStarted;
  var onPageStartedParsed = namedArguments[const Symbol('onPageStarted')];
  if (onPageStartedParsed != null) {
    onPageStarted = (s) {
      (onPageStartedParsed as LoxFunction).call(interpreter, [s], {});
    };
  }
  void Function(String)? onPageFinished;
  var onPageFinishedParsed = namedArguments[const Symbol('onPageFinished')];
  if (onPageFinishedParsed != null) {
    onPageFinished = (s) {
      (onPageFinishedParsed as LoxFunction).call(interpreter, [s], {});
    };
  }
  void Function(HttpResponseError)? onHttpError;
  var onHttpErrorParsed = namedArguments[const Symbol('onHttpError')];
  if (onHttpErrorParsed != null) {
    onHttpError = (s) {
      (onHttpErrorParsed as LoxFunction).call(interpreter, [s], {});
    };
  }
  return NavigationDelegate(
    onPageStarted: onPageStarted,
    onPageFinished: onPageFinished,
    onHttpError: onHttpError,
  );
}