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) {
  var key = namedArguments[const Symbol('key')];
  if (key == null) {
    throw 'Key is required';
  }
  void Function(QRViewController) onQRViewCreated;
  var onQRViewCreatedParsed = namedArguments[const Symbol('onQRViewCreated')];
  if (onQRViewCreatedParsed == null) {
    throw "onQRViewCreated is required";
  }
  onQRViewCreated = (ctl) {
    (onQRViewCreatedParsed as LoxFunction)
        .call(interpreter, [IQRViewControllerIns(ctl)], {});
  };
  QrScannerOverlayShape? overlay;
  var overlayParsed = namedArguments[const Symbol('overlay')];
  if (overlayParsed != null) {
    overlay = overlayParsed as QrScannerOverlayShape;
  }
  EdgeInsetsGeometry overlayMargin = EdgeInsets.zero;
  var overlayMarginParsed = namedArguments[const Symbol('overlayMargin')];
  if (overlayMarginParsed != null) {
    overlayMargin = overlayMarginParsed as EdgeInsetsGeometry;
  }
  CameraFacing cameraFacing = CameraFacing.back;
  var cameraFacingParsed = namedArguments[const Symbol('cameraFacing')];
  if (cameraFacingParsed != null) {
    cameraFacing = cameraFacingParsed as CameraFacing;
  }
  void Function(QRViewController, bool)? onPermissionSet;
  var onPermissionSetParsed = namedArguments[const Symbol('onPermissionSet')];
  if (onPermissionSetParsed != null) {
    onPermissionSet = (ctl, allow) {
      (onPermissionSetParsed as LoxFunction)
          .call(interpreter, [IQRViewControllerIns(ctl), allow], {});
    };
  }
  return QRView(
    key: key as Key,
    onQRViewCreated: onQRViewCreated,
    overlay: overlay,
    overlayMargin: overlayMargin,
    cameraFacing: cameraFacing,
    onPermissionSet: onPermissionSet,
  );
}