UNPKG

@scandit/web-datacapture-barcode

Version:

Scandit Data Capture SDK for the Web

1 lines 3.05 kB
import{PropertyPushSource as e}from"./PropertyPushSource.js";var t=class{constructor(t,n,r){this.captureListenerSet=!1,this.propertyPushSource=new e,this.coreEngine=t,this.Module=n,this.workerFunctions=r,this.setup()}sparkScanDidUpdateSession(e){this.workerFunctions.postMessage({type:`sparkScanDidUpdateSession`,payload:JSON.parse(e.toJson())})}getSparkScanDeserializer(){return this.sparkScanDeserializer}setup(){let e=this.Module.SparkScanListener.extend(`SparkScanListener`,{didScan:(e,t,n)=>{this.sparkScanDidScan(t,n),e.delete(),t.delete(),n.delete()},didUpdateSession:(e,t,n)=>{this.sparkScanDidUpdateSession(t),e.delete(),t.delete(),n.delete()}}),t=this.Module.Feedback.extend(`Feedback`,{emit:()=>{this.successFeedback()}}),n=this.Module.SparkScanDeserializerListener.extend(`SparkScanDeserializerListener`,{onModeDeserializationFinished:(n,r,i)=>{if(!this.captureListenerSet){r.addListener(new e,1),r.setSuccessFeedback(new t),r.setPropertyPushSource(this.propertyPushSource);let n=new(this.Module.SparkScanViewHandlerDelegate.extend(`SparkScanViewHandlerDelegate`,{onSwitchedAwayFromSmartScanSelection:()=>{this.workerFunctions.postMessage({type:`sparkScanSwitchedAwayFromSmartScanSelection`})},onSwitchedToSmartScanSelection:()=>{this.workerFunctions.postMessage({type:`sparkScanSwitchedToSmartScanSelection`})},enableHapticWhenOverlapping:()=>{},onStateTransition:()=>{},resetAllTimers:()=>{}})),i=r.getStateMachine();i.setViewHandlerDelegate(n),n.delete(),i.delete(),this.sparkScan=r.clone(),this.captureListenerSet=!0}n.delete(),i.delete(),r.delete()},onModeDeserializationStarted(e,t,n){e.delete(),t.delete(),n.delete()},onSettingsDeserializationStarted(e,t,n){e.delete(),t.delete(),n.delete()},onSettingsDeserializationFinished(e,t,n){e.delete(),t.delete(),n.delete()},onOverlayDeserializationStarted(e,t,n){e.delete(),t.delete(),n.delete()},onOverlayDeserializationFinished:(e,t,n)=>{var r;(r=this.sparkScanOverlay)==null||r.delete(),this.sparkScanOverlay=t,e.delete(),n.delete()}});this.sparkScanDeserializer=new this.Module.SparkScanDeserializer,this.sparkScanDeserializer.setListener(new n)}emitErrorFeedback(e){var t;(t=this.sparkScanOverlay)==null||t.onErrorFeedbackEmitted(e)}overlayReadyForDraw(){var e;(e=this.sparkScanOverlay)==null||e.onReadyForNewData()}discardEnqueuedData(){var e;(e=this.sparkScanOverlay)==null||e.discardEnqueuedData()}analyticsManagerPropertyChanged(e){this.propertyPushSource.getBehaviorSubject(e.key).setProperty(e)}successFeedback(){this.workerFunctions.postMessage({type:`successFeedback`})}selectItemWithSmartScanSelection(){var e;(e=this.sparkScan)==null||e.selectItemWithSmartScanSelectionAsync()}async removeMode(){var e,t;this.captureListenerSet=!1,(e=this.sparkScan)==null||e.delete(),this.sparkScan=void 0,(t=this.sparkScanOverlay)==null||t.delete(),this.sparkScanOverlay=void 0}sparkScanDidScan(e,t){let n=this.coreEngine.prepareFrameForListener(t);this.workerFunctions.postMessage({type:`sparkScanDidScan`,payload:{session:JSON.parse(e.toJson()),frameData:n}})}};export{t as SparkScanMode};