scandit-sdk
Version:
Scandit Barcode Scanner SDK for the Web
54 lines • 2.25 kB
JavaScript
import { deviceId, highEndBlurryRecognition, scanditDataCaptureLocation, textRecognition, userLicenseKey, } from "../index";
import { BrowserHelper } from "./browserHelper";
import { dataCaptureWorkerBlob } from "./workers/dataCaptureWorker";
export class DataCaptureLoader {
preloadedDataCaptureWorker;
preloadedDataCaptureWorkerAvailable;
constructor(preload) {
if (preload) {
this.preloadedDataCaptureWorker = new Worker(URL.createObjectURL(dataCaptureWorkerBlob));
DataCaptureLoader.load(this.preloadedDataCaptureWorker);
}
this.preloadedDataCaptureWorkerAvailable = preload;
}
static load(dataCaptureWorker, preload = false, delayedRegistration = false) {
dataCaptureWorker.postMessage({
type: "load-library",
deviceId,
libraryLocation: scanditDataCaptureLocation,
path: window.location.pathname,
preload,
delayedRegistration,
highEndBlurryRecognition,
textRecognition,
licenseKey: userLicenseKey,
deviceModelName: BrowserHelper.userAgentInfo.getDevice().model,
writableDataPathOverride: localStorage.getItem("scanditWritableDataPathOverride") ?? undefined,
});
}
getDataCaptureWorker() {
if (this.preloadedDataCaptureWorkerAvailable && this.preloadedDataCaptureWorker != null) {
this.preloadedDataCaptureWorkerAvailable = false;
return this.preloadedDataCaptureWorker;
}
else {
return new Worker(URL.createObjectURL(dataCaptureWorkerBlob));
}
}
returnDataCaptureWorker(dataCaptureWorker) {
if (this.preloadedDataCaptureWorker == null) {
this.preloadedDataCaptureWorker = dataCaptureWorker;
}
if (this.preloadedDataCaptureWorker === dataCaptureWorker) {
this.preloadedDataCaptureWorker.onmessage = null;
this.preloadedDataCaptureWorker.postMessage({
type: "reset",
});
this.preloadedDataCaptureWorkerAvailable = true;
}
else {
dataCaptureWorker.terminate();
}
}
}
//# sourceMappingURL=dataCaptureLoader.js.map