cordova-plugin-scanbot-barcode-scanner
Version:
Cordova Plugin for the Scanbot Barcode Scanner SDK
52 lines (44 loc) • 1.87 kB
JavaScript
/*
Scanbot Barcode Scanner SDK Cordova Plugin
Copyright (c) 2023 doo GmbH. All rights reserved.
*/
function cordova_exec(actionName, moduleName) {
return function (successCallback, errorCallback, ...args) {
cordova.exec(successCallback, errorCallback, moduleName, actionName, (args ?? []));
};
}
function promisify(fn) {
return function (...args) {
return new Promise(function (resolve, reject) {
fn(resolve, reject, ...args);
});
}
}
function makeCaller(actionName, promisifyExec) {
let exec = cordova_exec(actionName, "ScanbotBarcodeSDK")
return promisifyExec ? promisify(exec) : exec
}
let promisifiedAPIs = {
initializeSdk: makeCaller("initializeSdk", true),
getLicenseInfo: makeCaller("getLicenseInfo", true),
startBarcodeScanner: makeCaller("startBarcodeScanner", true),
closeBarcodeScanner: makeCaller("closeBarcodeScanner", true),
startBatchBarcodeScanner: makeCaller("startBatchBarcodeScanner", true),
closeBatchBarcodeScanner: makeCaller("closeBatchBarcodeScanner", true),
detectBarcodesOnImage: makeCaller("detectBarcodesOnImage", true),
extractImagesFromPDF: makeCaller("extractImagesFromPDF", true),
cleanup: makeCaller("cleanup", true),
};
let APIs = {
initializeSdk: makeCaller("initializeSdk", false),
getLicenseInfo: makeCaller("getLicenseInfo", false),
startBarcodeScanner: makeCaller("startBarcodeScanner", false),
closeBarcodeScanner: makeCaller("closeBarcodeScanner", false),
startBatchBarcodeScanner: makeCaller("startBatchBarcodeScanner", false),
closeBatchBarcodeScanner: makeCaller("closeBatchBarcodeScanner", false),
detectBarcodesOnImage: makeCaller("detectBarcodesOnImage", false),
extractImagesFromPDF: makeCaller("extractImagesFromPDF", false),
cleanup: makeCaller("cleanup", false),
promisify: function(){ return promisifiedAPIs },
};
module.exports = APIs