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) {
  if (arguments.isEmpty) {
    throw "Missing argument: callback";
  }
  var listener = stream.listen((result) {
    (arguments[0] as LoxFunction).call(interpreter, [result], {});
  });
  return StreamListenerHandler(listener);
}