capacitor-plugin-scanbot-barcode-scanner-sdk
Version:
Scanbot Barcode Scanner SDK for Capacitor
51 lines • 2.76 kB
JavaScript
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