UNPKG

@scandit/web-datacapture-barcode

Version:

Scandit Data Capture SDK for the Web

1 lines 2.26 kB
import {a}from'./chunk-74NQM2AV.js';import {CameraPosition,isCameraFrameSource,Camera,FrameSourceState}from'@scandit/web-datacapture-core';var m=class{constructor(){this.toggleCameraPosition={[CameraPosition.WorldFacing]:CameraPosition.UserFacing,[CameraPosition.UserFacing]:CameraPosition.WorldFacing};}get camera(){var a;return (a=this.context)==null?void 0:a.frameSource}async prepareScanning(a$1,t){this.context=a$1;let e=isCameraFrameSource(a$1.frameSource)?a$1.frameSource:Camera.pickBestGuessForPosition(t.defaultCameraPosition);return await a$1.setFrameSource(e),await e.applySettings(a.recommendedCameraSettings),await e.switchToDesiredState(FrameSourceState.Standby),{isTorchAvailable:await e.isTorchAvailable(),isZoomAvailable:e.isZoomAvailable(),cameraPosition:e.position}}async onSwitchToActiveState(a){var t,e;await((t=this.camera)==null?void 0:t.switchToDesiredState(FrameSourceState.On)),await((e=this.camera)==null?void 0:e.setDesiredTorchState(a));}async onSwitchToInactiveState(a){var t;a!=="persistent"&&await((t=this.camera)==null?void 0:t.switchToDesiredState(FrameSourceState.Standby));}async onSwitchToIdleState(){var a;await((a=this.camera)==null?void 0:a.switchToDesiredState(FrameSourceState.Standby));}async onSwitchToErrorState(){var a;await((a=this.camera)==null?void 0:a.switchToDesiredState(FrameSourceState.Standby));}async stopScanning(){var a;await((a=this.camera)==null?void 0:a.switchToDesiredState(FrameSourceState.Off));}async onTorchButtonTap(a){var t,e;((t=this.camera)==null?void 0:t.getCurrentState())===FrameSourceState.On&&await((e=this.camera)==null?void 0:e.setDesiredTorchState(a));}async onCameraSwitchButtonTap(){var s;if(!this.camera)return;let a=this.camera,t=a.settings,e=this.toggleCameraPosition[this.camera.position],r=Camera.pickBestGuessForPosition(e);return await a.switchToDesiredState(FrameSourceState.Off),await r.applySettings(t),await((s=this.context)==null?void 0:s.setFrameSource(r)),await r.switchToDesiredState(FrameSourceState.On),{isTorchAvailable:await r.isTorchAvailable(),isZoomAvailable:r.isZoomAvailable(),cameraPosition:e}}async onMiniPreviewZoomButtonTap(a){this.camera&&(this.camera.settings.zoomFactor=a,await this.camera.applySettings(this.camera.settings));}};export{m as a};