call method
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,
);
}