UNPKG

capacitor-plugin-scanbot-barcode-scanner-sdk

Version:

Scanbot Barcode Scanner SDK for Capacitor

51 lines 2.76 kB
import { _ScanbotBarcodeSDKUiV2 } from '../index'; import { MultipleScanningMode } from './barcode/MultipleScanningModeUseCase'; import { SingleScanningMode } from './barcode/SingleScanningModeUseCase'; /** * Opens the Ready-To-Use UI screen for scanning barcodes with the desired configuration. * * @param {BarcodeScannerConfiguration} config * @returns {Promise<ResultWrapper<BarcodeScannerResult>>} */ export function startBarcodeScanner(config) { if (config.useCase instanceof SingleScanningMode || config.useCase instanceof MultipleScanningMode) { const barcodeItemMapperCallback = config.useCase.barcodeInfoMapping.barcodeItemMapper; if (barcodeItemMapperCallback !== null) { _ScanbotBarcodeSDKUiV2.registerBarcodeItemMapperCallback({}, barcodeItem => { var _a; const barcodeItemUuid = `${barcodeItem.textWithExtension}_${(_a = barcodeItem.type) !== null && _a !== void 0 ? _a : ''}`; barcodeItemMapperCallback(barcodeItem, (barcodeMappedData) => _ScanbotBarcodeSDKUiV2.onBarcodeItemMapper({ barcodeItemUuid, barcodeMappedData, }), () => _ScanbotBarcodeSDKUiV2.onBarcodeItemMapper({ barcodeItemUuid })); }); // On iOS, the communication with the native part is throwing an error (startBarcodeScannerV2) because of the barcodeItemMapper // callback in the configuration class (not parsable), that's why we need to remove it before executing startBarcodeScannerV2 method config.useCase.barcodeInfoMapping.barcodeItemMapper = null; } } return _ScanbotBarcodeSDKUiV2.startBarcodeScannerV2(config); } export * from './barcode/ArTrackingOverlayConfiguration'; export * from './barcode/BarcodeInfoMapping'; export * from './barcode/BarcodeItem'; export * from './barcode/BarcodeRecognizerConfiguration'; export * from './barcode/BarcodeResult'; export * from './barcode/BarcodeScannerConfiguration'; export * from './barcode/BarcodeTextLocalization'; export * from './barcode/BarcodeUseCase'; export * from './barcode/FindAndPickScanningModeUseCase'; export * from './barcode/MultipleScanningModeUseCase'; export * from './barcode/SingleScanningModeUseCase'; export * from './common/ActionBarConfiguration'; export * from './common/CameraConfiguration'; export * from './common/CameraPermission'; export * from './common/Common'; export * from './common/NavigationBarConfiguration'; export * from './common/ScanbotAlertDialog'; export * from './common/TopBarConfiguration'; export * from './common/UserGuidanceConfiguration'; export * from './common/ViewFinderConfiguration'; export * from './BarcodeItemMapper'; //# sourceMappingURL=index.js.map