invokeMethodJs method

Implementation

@override
Future<DartWebPluginBaseChannelMessageArguments> invokeMethodJs(
  MethodCall call,
) async {
  final method = DartWebPluginBaseChannelMessage.values.firstWhere(
    (f) => f.name == call.method,
    orElse: () => DartWebPluginBaseChannelMessage.sendMethodMessageToClient,
  );

  switch (method) {
    case DartWebPluginBaseChannelMessage.sendMethodMessageToClient:
      {
        final arguments = DartWebPluginBaseChannelMessageArguments();
        arguments.methodTarget = call.arguments.methodTarget;
        arguments.arguments = call.arguments.arguments;
        arguments.file = call.arguments.file;
        return await onMessageFromDart(arguments);
      }
    default:
      throw PlatformException(
        code: 'Unimplemented',
        details:
            'flutter_plugin for web doesn\'t implement \'${method.name}\'',
      );
  }
}