react-native-scanbot-sdk
Version:
Scanbot Document and Barcode Scanner SDK React Native Plugin for Android and iOS
507 lines (502 loc) • 21.4 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {
startBarcodeScanner: true,
startDocumentScanner: true,
startCroppingScreen: true
};
exports.startBarcodeScanner = startBarcodeScanner;
exports.startCroppingScreen = startCroppingScreen;
exports.startDocumentScanner = startDocumentScanner;
var _reactNative = require("react-native");
var _SingleScanningModeUseCase = require("./barcode/SingleScanningModeUseCase");
Object.keys(_SingleScanningModeUseCase).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _SingleScanningModeUseCase[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _SingleScanningModeUseCase[key];
}
});
});
var _MultipleScanningModeUseCase = require("./barcode/MultipleScanningModeUseCase");
Object.keys(_MultipleScanningModeUseCase).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _MultipleScanningModeUseCase[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _MultipleScanningModeUseCase[key];
}
});
});
var _ArTrackingOverlayConfiguration = require("./barcode/ArTrackingOverlayConfiguration");
Object.keys(_ArTrackingOverlayConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _ArTrackingOverlayConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _ArTrackingOverlayConfiguration[key];
}
});
});
var _BarcodeInfoMapping = require("./barcode/BarcodeInfoMapping");
Object.keys(_BarcodeInfoMapping).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _BarcodeInfoMapping[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _BarcodeInfoMapping[key];
}
});
});
var _BarcodeItem = require("./barcode/BarcodeItem");
Object.keys(_BarcodeItem).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _BarcodeItem[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _BarcodeItem[key];
}
});
});
var _BarcodeRecognizerConfiguration = require("./barcode/BarcodeRecognizerConfiguration");
Object.keys(_BarcodeRecognizerConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _BarcodeRecognizerConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _BarcodeRecognizerConfiguration[key];
}
});
});
var _BarcodeResult = require("./barcode/BarcodeResult");
Object.keys(_BarcodeResult).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _BarcodeResult[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _BarcodeResult[key];
}
});
});
var _BarcodeScannerConfiguration = require("./barcode/BarcodeScannerConfiguration");
Object.keys(_BarcodeScannerConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _BarcodeScannerConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _BarcodeScannerConfiguration[key];
}
});
});
var _BarcodeTextLocalization = require("./barcode/BarcodeTextLocalization");
Object.keys(_BarcodeTextLocalization).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _BarcodeTextLocalization[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _BarcodeTextLocalization[key];
}
});
});
var _BarcodeUseCase = require("./barcode/BarcodeUseCase");
Object.keys(_BarcodeUseCase).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _BarcodeUseCase[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _BarcodeUseCase[key];
}
});
});
var _FindAndPickScanningModeUseCase = require("./barcode/FindAndPickScanningModeUseCase");
Object.keys(_FindAndPickScanningModeUseCase).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _FindAndPickScanningModeUseCase[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _FindAndPickScanningModeUseCase[key];
}
});
});
var _ActionBarConfiguration = require("./common/ActionBarConfiguration");
Object.keys(_ActionBarConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _ActionBarConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _ActionBarConfiguration[key];
}
});
});
var _CameraConfiguration = require("./common/CameraConfiguration");
Object.keys(_CameraConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _CameraConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _CameraConfiguration[key];
}
});
});
var _CameraPermission = require("./common/CameraPermission");
Object.keys(_CameraPermission).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _CameraPermission[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _CameraPermission[key];
}
});
});
var _Common = require("./common/Common");
Object.keys(_Common).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _Common[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _Common[key];
}
});
});
var _NavigationBarConfiguration = require("./common/NavigationBarConfiguration");
Object.keys(_NavigationBarConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _NavigationBarConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _NavigationBarConfiguration[key];
}
});
});
var _ScanbotAlertDialog = require("./common/ScanbotAlertDialog");
Object.keys(_ScanbotAlertDialog).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _ScanbotAlertDialog[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _ScanbotAlertDialog[key];
}
});
});
var _TopBarConfiguration = require("./common/TopBarConfiguration");
Object.keys(_TopBarConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _TopBarConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _TopBarConfiguration[key];
}
});
});
var _UserGuidanceConfiguration = require("./common/UserGuidanceConfiguration");
Object.keys(_UserGuidanceConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _UserGuidanceConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _UserGuidanceConfiguration[key];
}
});
});
var _ViewFinderConfiguration = require("./common/ViewFinderConfiguration");
Object.keys(_ViewFinderConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _ViewFinderConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _ViewFinderConfiguration[key];
}
});
});
var _AcknowledgementScreenConfiguration = require("./document/AcknowledgementScreenConfiguration");
Object.keys(_AcknowledgementScreenConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _AcknowledgementScreenConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _AcknowledgementScreenConfiguration[key];
}
});
});
var _CameraScreenConfiguration = require("./document/CameraScreenConfiguration");
Object.keys(_CameraScreenConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _CameraScreenConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _CameraScreenConfiguration[key];
}
});
});
var _CroppingConfiguration = require("./document/CroppingConfiguration");
Object.keys(_CroppingConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _CroppingConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _CroppingConfiguration[key];
}
});
});
var _CroppingScreenConfiguration = require("./document/CroppingScreenConfiguration");
Object.keys(_CroppingScreenConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _CroppingScreenConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _CroppingScreenConfiguration[key];
}
});
});
var _CroppingTextLocalization = require("./document/CroppingTextLocalization");
Object.keys(_CroppingTextLocalization).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _CroppingTextLocalization[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _CroppingTextLocalization[key];
}
});
});
var _DocumentScannerCameraConfiguration = require("./document/DocumentScannerCameraConfiguration");
Object.keys(_DocumentScannerCameraConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _DocumentScannerCameraConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _DocumentScannerCameraConfiguration[key];
}
});
});
var _DocumentScannerGuidanceVisibility = require("./document/DocumentScannerGuidanceVisibility");
Object.keys(_DocumentScannerGuidanceVisibility).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _DocumentScannerGuidanceVisibility[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _DocumentScannerGuidanceVisibility[key];
}
});
});
var _DocumentScannerOutputSettings = require("./document/DocumentScannerOutputSettings");
Object.keys(_DocumentScannerOutputSettings).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _DocumentScannerOutputSettings[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _DocumentScannerOutputSettings[key];
}
});
});
var _DocumentScannerScreens = require("./document/DocumentScannerScreens");
Object.keys(_DocumentScannerScreens).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _DocumentScannerScreens[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _DocumentScannerScreens[key];
}
});
});
var _DocumentScannerTextLocalization = require("./document/DocumentScannerTextLocalization");
Object.keys(_DocumentScannerTextLocalization).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _DocumentScannerTextLocalization[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _DocumentScannerTextLocalization[key];
}
});
});
var _DocumentScannerUserGuidance = require("./document/DocumentScannerUserGuidance");
Object.keys(_DocumentScannerUserGuidance).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _DocumentScannerUserGuidance[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _DocumentScannerUserGuidance[key];
}
});
});
var _DocumentScanningFlow = require("./document/DocumentScanningFlow");
Object.keys(_DocumentScanningFlow).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _DocumentScanningFlow[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _DocumentScanningFlow[key];
}
});
});
var _IntroductionScreenConfiguration = require("./document/IntroductionScreenConfiguration");
Object.keys(_IntroductionScreenConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _IntroductionScreenConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _IntroductionScreenConfiguration[key];
}
});
});
var _ReorderPagesScreenConfiguration = require("./document/ReorderPagesScreenConfiguration");
Object.keys(_ReorderPagesScreenConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _ReorderPagesScreenConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _ReorderPagesScreenConfiguration[key];
}
});
});
var _ReviewScreenConfiguration = require("./document/ReviewScreenConfiguration");
Object.keys(_ReviewScreenConfiguration).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _ReviewScreenConfiguration[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _ReviewScreenConfiguration[key];
}
});
});
var _BarcodeItemMapper = require("./BarcodeItemMapper");
Object.keys(_BarcodeItemMapper).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _BarcodeItemMapper[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _BarcodeItemMapper[key];
}
});
});
const LINKING_ERROR = `The package 'react-native-scanbot-sdk' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
ios: "- You have run 'pod install'\n",
default: ''
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
const ScanbotSDKUIImpl = _reactNative.NativeModules.RNScanbotRTUUI ? _reactNative.NativeModules.RNScanbotRTUUI : new Proxy({}, {
get() {
throw new Error(LINKING_ERROR);
}
});
const isIOS = _reactNative.Platform.OS === 'ios';
/**
* Opens the Ready-To-Use UI screen for scanning Barcodes and QR-Codes with the desired configuration.
*/
function startBarcodeScanner(config) {
const barcodeItemMapperEventName = 'barcodeItemMapperEvent';
let barcodeItemMapperCallback = null;
let barcodeItemMapperEventEmitter = null;
if (config.useCase instanceof _SingleScanningModeUseCase.SingleScanningMode || config.useCase instanceof _MultipleScanningModeUseCase.MultipleScanningMode) {
barcodeItemMapperCallback = config.useCase.barcodeInfoMapping.barcodeItemMapper;
if (barcodeItemMapperCallback) {
barcodeItemMapperEventEmitter = new _reactNative.NativeEventEmitter(ScanbotSDKUIImpl);
barcodeItemMapperEventEmitter.removeAllListeners(barcodeItemMapperEventName);
barcodeItemMapperEventEmitter.addListener(barcodeItemMapperEventName, barcodeItem => {
const barcodeItemUuid = `${barcodeItem.textWithExtension}_${barcodeItem.type ?? ''}`;
barcodeItemMapperCallback(barcodeItem, barcodeMappedData => ScanbotSDKUIImpl.onBarcodeItemMapper(barcodeItemUuid, barcodeMappedData), () => ScanbotSDKUIImpl.onBarcodeItemMapper(barcodeItemUuid, null));
});
// 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 new Promise((resolve, reject) => {
ScanbotSDKUIImpl.startBarcodeScannerV2(isIOS ? JSON.stringify(config) : config, true).then(result => {
barcodeItemMapperEventEmitter?.removeAllListeners(barcodeItemMapperEventName);
barcodeItemMapperEventEmitter = null;
resolve(result);
}).catch(error => {
barcodeItemMapperEventEmitter?.removeAllListeners(barcodeItemMapperEventName);
barcodeItemMapperEventEmitter = null;
reject(error);
});
});
}
}
return ScanbotSDKUIImpl.startBarcodeScannerV2(isIOS ? JSON.stringify(config) : config, false);
}
/**
* Opens the Ready-To-Use UI Document Scanner screen with the desired configuration.
*/
function startDocumentScanner(config) {
return ScanbotSDKUIImpl.startDocumentScannerV2(isIOS ? JSON.stringify(config) : config);
}
/**
* Opens the Ready-To-Use UI Cropping screen with the desired configuration.
*/
function startCroppingScreen(config) {
return ScanbotSDKUIImpl.startCroppingScreenV2(isIOS ? JSON.stringify(config) : config);
}
//# sourceMappingURL=index.js.map
;