@scandit/web-datacapture-core 7.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/LICENSE +4 -0
  2. package/README.md +6 -0
  3. package/THIRD-PARTY.txt +73 -0
  4. package/build/electron/chunk-6RVAZ75N.js +1 -0
  5. package/build/electron/common.cjs +1 -0
  6. package/build/electron/common.js +0 -0
  7. package/build/electron/constants.cjs +1 -0
  8. package/build/electron/constants.js +1 -0
  9. package/build/electron/main.cjs +1 -0
  10. package/build/electron/main.d.cts +26 -0
  11. package/build/electron/main.d.ts +26 -0
  12. package/build/electron/main.js +1 -0
  13. package/build/electron/preload.cjs +1 -0
  14. package/build/electron/preload.d.cts +6 -0
  15. package/build/electron/preload.d.ts +6 -0
  16. package/build/electron/preload.js +1 -0
  17. package/build/js/AimerViewfinder.d.ts +15 -0
  18. package/build/js/AimerViewfinder.js +1 -0
  19. package/build/js/Brush.d.ts +27 -0
  20. package/build/js/Brush.js +1 -0
  21. package/build/js/Camera-Cxbduq94.d.ts +1700 -0
  22. package/build/js/Camera.d.ts +17 -0
  23. package/build/js/Camera.js +1 -0
  24. package/build/js/CameraAccess.d.ts +17 -0
  25. package/build/js/CameraAccess.js +1 -0
  26. package/build/js/CameraRelated.d.ts +17 -0
  27. package/build/js/CameraRelated.js +1 -0
  28. package/build/js/Common.d.ts +229 -0
  29. package/build/js/Common.js +1 -0
  30. package/build/js/DataCaptureContext.d.ts +17 -0
  31. package/build/js/DataCaptureContext.js +1 -0
  32. package/build/js/DataCaptureContextRelated.d.ts +17 -0
  33. package/build/js/DataCaptureContextRelated.js +1 -0
  34. package/build/js/DataCaptureContextSettings.d.ts +13 -0
  35. package/build/js/DataCaptureContextSettings.js +1 -0
  36. package/build/js/DataCaptureError.d.ts +13 -0
  37. package/build/js/DataCaptureError.js +1 -0
  38. package/build/js/DataCaptureVersion.d.ts +6 -0
  39. package/build/js/DataCaptureVersion.js +1 -0
  40. package/build/js/DataCaptureView.d.ts +17 -0
  41. package/build/js/DataCaptureView.js +1 -0
  42. package/build/js/DataCaptureViewPlusRelated.d.ts +25 -0
  43. package/build/js/DataCaptureViewPlusRelated.js +1 -0
  44. package/build/js/DefaultViewClassnames.d.ts +23 -0
  45. package/build/js/DefaultViewClassnames.js +1 -0
  46. package/build/js/Defaults.d.ts +143 -0
  47. package/build/js/Defaults.js +1 -0
  48. package/build/js/Feedback.d.ts +21 -0
  49. package/build/js/Feedback.js +1 -0
  50. package/build/js/FrameData.d.ts +17 -0
  51. package/build/js/FrameData.js +1 -0
  52. package/build/js/ImageFrameSource.d.ts +57 -0
  53. package/build/js/ImageFrameSource.js +1 -0
  54. package/build/js/LoadingStatus.d.ts +23 -0
  55. package/build/js/LoadingStatus.js +1 -0
  56. package/build/js/Localization.d.ts +44 -0
  57. package/build/js/Localization.js +1 -0
  58. package/build/js/LocationSelection.d.ts +39 -0
  59. package/build/js/LocationSelection.js +1 -0
  60. package/build/js/RectangularViewfinder.d.ts +33 -0
  61. package/build/js/RectangularViewfinder.js +1 -0
  62. package/build/js/SingleImageUploader.d.ts +58 -0
  63. package/build/js/SingleImageUploader.js +1 -0
  64. package/build/js/SingleImageUploaderSettings.d.ts +33 -0
  65. package/build/js/SingleImageUploaderSettings.js +1 -0
  66. package/build/js/Sound.d.ts +17 -0
  67. package/build/js/Sound.js +1 -0
  68. package/build/js/Vibration.d.ts +21 -0
  69. package/build/js/Vibration.js +1 -0
  70. package/build/js/ViewControls.d.ts +54 -0
  71. package/build/js/ViewControls.js +1 -0
  72. package/build/js/Viewfinder.d.ts +15 -0
  73. package/build/js/Viewfinder.js +1 -0
  74. package/build/js/ViewfinderPlusRelated.d.ts +58 -0
  75. package/build/js/ViewfinderPlusRelated.js +1 -0
  76. package/build/js/assets/beepSound.d.ts +4 -0
  77. package/build/js/assets/beepSound.js +1 -0
  78. package/build/js/assets/folderImage.d.ts +4 -0
  79. package/build/js/assets/folderImage.js +1 -0
  80. package/build/js/assets/index.d.d.ts +5 -0
  81. package/build/js/assets/index.d.js +1 -0
  82. package/build/js/assets/index.d.ts +5 -0
  83. package/build/js/assets/index.js +1 -0
  84. package/build/js/assets/scanningByScandit.d.ts +4 -0
  85. package/build/js/assets/scanningByScandit.js +1 -0
  86. package/build/js/assets/transparentPixelImage.d.ts +4 -0
  87. package/build/js/assets/transparentPixelImage.js +1 -0
  88. package/build/js/browserCompatibility.d.ts +83 -0
  89. package/build/js/browserCompatibility.js +1 -0
  90. package/build/js/browserHelper.d.ts +154 -0
  91. package/build/js/browserHelper.js +1 -0
  92. package/build/js/chunks/chunk-2DXPVHBJ.js +1 -0
  93. package/build/js/chunks/chunk-2NZR6P45.js +14 -0
  94. package/build/js/chunks/chunk-2Q5FZVGV.js +3 -0
  95. package/build/js/chunks/chunk-2WQHYCZC.js +6 -0
  96. package/build/js/chunks/chunk-3A4KLILV.js +3 -0
  97. package/build/js/chunks/chunk-3FDT22IX.js +3 -0
  98. package/build/js/chunks/chunk-44B7Z6ZZ.js +5 -0
  99. package/build/js/chunks/chunk-457L5N2F.js +6 -0
  100. package/build/js/chunks/chunk-4FJRDG6T.js +6 -0
  101. package/build/js/chunks/chunk-4ZMCJXZS.js +3 -0
  102. package/build/js/chunks/chunk-5IVFVUF4.js +21 -0
  103. package/build/js/chunks/chunk-5LIWL2C4.js +3 -0
  104. package/build/js/chunks/chunk-5RW5274G.js +1 -0
  105. package/build/js/chunks/chunk-5S537AFM.js +3 -0
  106. package/build/js/chunks/chunk-6H6FKGVE.js +3 -0
  107. package/build/js/chunks/chunk-6OQQP3SM.js +29 -0
  108. package/build/js/chunks/chunk-6W7FX6LD.js +3 -0
  109. package/build/js/chunks/chunk-6XT4BUUR.js +9 -0
  110. package/build/js/chunks/chunk-72DAONJI.js +5 -0
  111. package/build/js/chunks/chunk-76GU6PXK.js +3 -0
  112. package/build/js/chunks/chunk-7NUUZ7LP.js +5 -0
  113. package/build/js/chunks/chunk-7SW2PEHB.js +3 -0
  114. package/build/js/chunks/chunk-7XQ3GHYH.js +3 -0
  115. package/build/js/chunks/chunk-AIRWHLJH.js +5 -0
  116. package/build/js/chunks/chunk-BDLLVGRH.js +3 -0
  117. package/build/js/chunks/chunk-BKSPXD6N.js +8 -0
  118. package/build/js/chunks/chunk-CQ5KZRRX.js +17 -0
  119. package/build/js/chunks/chunk-CREAZBG7.js +5 -0
  120. package/build/js/chunks/chunk-D2EQRTOA.js +6 -0
  121. package/build/js/chunks/chunk-D4YDSS77.js +6 -0
  122. package/build/js/chunks/chunk-DEQ72K2Q.js +7 -0
  123. package/build/js/chunks/chunk-E2VUMNY4.js +16 -0
  124. package/build/js/chunks/chunk-EC4DRTKR.js +5 -0
  125. package/build/js/chunks/chunk-EK2IIDFY.js +3 -0
  126. package/build/js/chunks/chunk-EMHHC6NB.js +5 -0
  127. package/build/js/chunks/chunk-EP3GI7KA.js +3 -0
  128. package/build/js/chunks/chunk-EQRBQJYM.js +3 -0
  129. package/build/js/chunks/chunk-EV4OEANA.js +3 -0
  130. package/build/js/chunks/chunk-EYIDRFHC.js +6 -0
  131. package/build/js/chunks/chunk-FGCJ3ZLG.js +3 -0
  132. package/build/js/chunks/chunk-FGO2SSRS.js +3 -0
  133. package/build/js/chunks/chunk-FTD535WI.js +3 -0
  134. package/build/js/chunks/chunk-GE4CBD4E.js +3 -0
  135. package/build/js/chunks/chunk-GPJEB376.js +5 -0
  136. package/build/js/chunks/chunk-GSJH2EXJ.js +6 -0
  137. package/build/js/chunks/chunk-GWI2ZHMO.js +15 -0
  138. package/build/js/chunks/chunk-GX4YCYCH.js +3 -0
  139. package/build/js/chunks/chunk-H4TH4342.js +3 -0
  140. package/build/js/chunks/chunk-HNFNB37O.js +6 -0
  141. package/build/js/chunks/chunk-HRS63RFH.js +47 -0
  142. package/build/js/chunks/chunk-HZY2EBWP.js +8 -0
  143. package/build/js/chunks/chunk-IGJQFAQU.js +3 -0
  144. package/build/js/chunks/chunk-IH7SHTFM.js +5 -0
  145. package/build/js/chunks/chunk-IZLMNXTH.js +41 -0
  146. package/build/js/chunks/chunk-J25IZC7J.js +6 -0
  147. package/build/js/chunks/chunk-J2UL6U3I.js +3 -0
  148. package/build/js/chunks/chunk-JFRSUCMO.js +33 -0
  149. package/build/js/chunks/chunk-JKL2W65E.js +3 -0
  150. package/build/js/chunks/chunk-JS3T7K2Z.js +3 -0
  151. package/build/js/chunks/chunk-JXJQSWYG.js +3 -0
  152. package/build/js/chunks/chunk-KAZWF3JC.js +5 -0
  153. package/build/js/chunks/chunk-KW3YSGJX.js +5 -0
  154. package/build/js/chunks/chunk-KYNYQBNF.js +19 -0
  155. package/build/js/chunks/chunk-L2STPTEN.js +3 -0
  156. package/build/js/chunks/chunk-LA6TM76R.js +3 -0
  157. package/build/js/chunks/chunk-M46MIHI5.js +21 -0
  158. package/build/js/chunks/chunk-MAMZS5CH.js +7 -0
  159. package/build/js/chunks/chunk-MKHBE7BB.js +6 -0
  160. package/build/js/chunks/chunk-MSPQDVWJ.js +5 -0
  161. package/build/js/chunks/chunk-N4NOODAT.js +3 -0
  162. package/build/js/chunks/chunk-N5F43TUJ.js +5 -0
  163. package/build/js/chunks/chunk-N5YZEC56.js +3 -0
  164. package/build/js/chunks/chunk-NMX4VHW2.js +5 -0
  165. package/build/js/chunks/chunk-O7TZTIHO.js +3 -0
  166. package/build/js/chunks/chunk-OTI45AJG.js +12 -0
  167. package/build/js/chunks/chunk-PO2YU6JK.js +6 -0
  168. package/build/js/chunks/chunk-PXXUQXGB.js +7 -0
  169. package/build/js/chunks/chunk-Q7JWDX4U.js +3 -0
  170. package/build/js/chunks/chunk-QBDQQMQ5.js +5 -0
  171. package/build/js/chunks/chunk-QCRFVRSS.js +3 -0
  172. package/build/js/chunks/chunk-QCZSSQAQ.js +3 -0
  173. package/build/js/chunks/chunk-QR4TEDGM.js +6 -0
  174. package/build/js/chunks/chunk-R6E4CT22.js +3 -0
  175. package/build/js/chunks/chunk-RQQK6Z5F.js +3 -0
  176. package/build/js/chunks/chunk-SJE4IFCX.js +10 -0
  177. package/build/js/chunks/chunk-SP3HSP4K.js +3 -0
  178. package/build/js/chunks/chunk-SZ672BOB.js +5 -0
  179. package/build/js/chunks/chunk-T3AOBMAS.js +3 -0
  180. package/build/js/chunks/chunk-T5EUB6UG.js +6 -0
  181. package/build/js/chunks/chunk-T7URG4IQ.js +11 -0
  182. package/build/js/chunks/chunk-TBCW7RDM.js +21 -0
  183. package/build/js/chunks/chunk-TVDFY6ME.js +5 -0
  184. package/build/js/chunks/chunk-U6BTTEV6.js +3 -0
  185. package/build/js/chunks/chunk-UA3E3GGM.js +6 -0
  186. package/build/js/chunks/chunk-UHFABUTI.js +3 -0
  187. package/build/js/chunks/chunk-UPUPKPEP.js +8 -0
  188. package/build/js/chunks/chunk-UZWBB65W.js +3 -0
  189. package/build/js/chunks/chunk-VJB527QZ.js +3 -0
  190. package/build/js/chunks/chunk-VRVSELOR.js +6 -0
  191. package/build/js/chunks/chunk-W7LJM2QO.js +5 -0
  192. package/build/js/chunks/chunk-WSG6WSZN.js +6 -0
  193. package/build/js/chunks/chunk-WUHKODFA.js +3 -0
  194. package/build/js/chunks/chunk-XVLYCDJL.js +7 -0
  195. package/build/js/chunks/chunk-YRNH7TIR.js +1 -0
  196. package/build/js/chunks/chunk-YRSVOTNR.js +3 -0
  197. package/build/js/chunks/chunk-ZKROZLQ4.js +3 -0
  198. package/build/js/chunks/chunk-ZSYUKWWL.js +5 -0
  199. package/build/js/chunks/chunk-ZTM7LWVE.js +10 -0
  200. package/build/js/chunks/chunk-ZVBD3EW5.js +3 -0
  201. package/build/js/common-4FJYEFaM.d.ts +25 -0
  202. package/build/js/global.d.d.ts +42 -0
  203. package/build/js/global.d.js +1 -0
  204. package/build/js/index.d.ts +66 -0
  205. package/build/js/index.js +52 -0
  206. package/build/js/license/OpenSourceSoftwareLicenseInfo.d.ts +8 -0
  207. package/build/js/license/OpenSourceSoftwareLicenseInfo.js +1 -0
  208. package/build/js/logger.d.ts +26 -0
  209. package/build/js/logger.js +1 -0
  210. package/build/js/private/AnchorPositions.d.ts +28 -0
  211. package/build/js/private/AnchorPositions.js +1 -0
  212. package/build/js/private/CameraAccess.d.ts +17 -0
  213. package/build/js/private/CameraAccess.js +1 -0
  214. package/build/js/private/CameraManager.d.ts +17 -0
  215. package/build/js/private/CameraManager.js +1 -0
  216. package/build/js/private/CanvasDrawer.d.ts +36 -0
  217. package/build/js/private/CanvasDrawer.js +1 -0
  218. package/build/js/private/CanvasDrawerWithMetrics.d.ts +39 -0
  219. package/build/js/private/CanvasDrawerWithMetrics.js +1 -0
  220. package/build/js/private/CavansDrawerAbstract.d.ts +37 -0
  221. package/build/js/private/CavansDrawerAbstract.js +1 -0
  222. package/build/js/private/CoreModuleLicenseTextProvider.d.ts +29 -0
  223. package/build/js/private/CoreModuleLicenseTextProvider.js +1 -0
  224. package/build/js/private/CustomLocationsView.d.ts +47 -0
  225. package/build/js/private/CustomLocationsView.js +1 -0
  226. package/build/js/private/CustomLocationsViewStyles.d.ts +7 -0
  227. package/build/js/private/CustomLocationsViewStyles.js +1 -0
  228. package/build/js/private/DataCaptureContextRelated.d.ts +25 -0
  229. package/build/js/private/DataCaptureContextRelated.js +1 -0
  230. package/build/js/private/DrawCommandBuffer.d.ts +44 -0
  231. package/build/js/private/DrawCommandBuffer.js +1 -0
  232. package/build/js/private/EventManager.d.ts +9 -0
  233. package/build/js/private/EventManager.js +1 -0
  234. package/build/js/private/FrameReaders/FrameReader.d.ts +17 -0
  235. package/build/js/private/FrameReaders/FrameReader.js +1 -0
  236. package/build/js/private/FrameReaders/FrameReaderAbstract.d.ts +17 -0
  237. package/build/js/private/FrameReaders/FrameReaderAbstract.js +1 -0
  238. package/build/js/private/FrameReaders/GrayScaleFrameReader.d.ts +52 -0
  239. package/build/js/private/FrameReaders/GrayScaleFrameReader.js +1 -0
  240. package/build/js/private/FrameReaders/WatermarkStack.d.ts +41 -0
  241. package/build/js/private/FrameReaders/WatermarkStack.js +1 -0
  242. package/build/js/private/FrameReaders/index.d.ts +18 -0
  243. package/build/js/private/FrameReaders/index.js +2 -0
  244. package/build/js/private/FrameReaders/webglUtilities.d.ts +5 -0
  245. package/build/js/private/FrameReaders/webglUtilities.js +1 -0
  246. package/build/js/private/GestureRecognizer/GestureRecognizer.d.ts +22 -0
  247. package/build/js/private/GestureRecognizer/GestureRecognizer.js +1 -0
  248. package/build/js/private/GestureRecognizer/PointerEventsDetector.d.ts +19 -0
  249. package/build/js/private/GestureRecognizer/PointerEventsDetector.js +1 -0
  250. package/build/js/private/GestureRecognizer/index.d.ts +5 -0
  251. package/build/js/private/GestureRecognizer/index.js +1 -0
  252. package/build/js/private/Helper.d.ts +14 -0
  253. package/build/js/private/Helper.js +1 -0
  254. package/build/js/private/HtmlElementState.d.ts +35 -0
  255. package/build/js/private/HtmlElementState.js +1 -0
  256. package/build/js/private/ModuleLicenseTextProvider.d.ts +6 -0
  257. package/build/js/private/ModuleLicenseTextProvider.js +1 -0
  258. package/build/js/private/NormalizedConfigureOptions.d.ts +53 -0
  259. package/build/js/private/NormalizedConfigureOptions.js +1 -0
  260. package/build/js/private/OrientationObserver.d.ts +30 -0
  261. package/build/js/private/OrientationObserver.js +1 -0
  262. package/build/js/private/Serializable.d.ts +9 -0
  263. package/build/js/private/Serializable.js +1 -0
  264. package/build/js/private/SingleImageUploaderView.d.ts +55 -0
  265. package/build/js/private/SingleImageUploaderView.js +1 -0
  266. package/build/js/private/SingleImageUploaderViewStyles.d.ts +28 -0
  267. package/build/js/private/SingleImageUploaderViewStyles.js +1 -0
  268. package/build/js/private/View.d.ts +7 -0
  269. package/build/js/private/View.js +1 -0
  270. package/build/js/private/ViewClassNames.d.ts +23 -0
  271. package/build/js/private/ViewClassNames.js +1 -0
  272. package/build/js/private/ViewControls+related.js +1 -0
  273. package/build/js/private/ViewControls_related.d.ts +120 -0
  274. package/build/js/private/ViewStyles.d.ts +4 -0
  275. package/build/js/private/ViewStyles.js +1 -0
  276. package/build/js/private/ViewsRegistry.d.ts +21 -0
  277. package/build/js/private/ViewsRegistry.js +1 -0
  278. package/build/js/private/hybridDesktopPlatformHelpers.d.ts +23 -0
  279. package/build/js/private/hybridDesktopPlatformHelpers.js +1 -0
  280. package/build/js/private/multithreadSimdHelper.d.ts +31 -0
  281. package/build/js/private/multithreadSimdHelper.js +1 -0
  282. package/build/js/private/ui/atoms/ArrowsUp.d.ts +19 -0
  283. package/build/js/private/ui/atoms/ArrowsUp.js +1 -0
  284. package/build/js/private/ui/atoms/ProgressBar.d.ts +28 -0
  285. package/build/js/private/ui/atoms/ProgressBar.js +1 -0
  286. package/build/js/private/ui/atoms/RoundedCheckSvgIcon.d.ts +17 -0
  287. package/build/js/private/ui/atoms/RoundedCheckSvgIcon.js +1 -0
  288. package/build/js/private/ui/atoms/RoundedExclamationMarkSvgIcon.d.ts +17 -0
  289. package/build/js/private/ui/atoms/RoundedExclamationMarkSvgIcon.js +1 -0
  290. package/build/js/private/ui/atoms/ShutterButton.d.ts +39 -0
  291. package/build/js/private/ui/atoms/ShutterButton.js +29 -0
  292. package/build/js/private/ui/atoms/SvgIcon.d.ts +22 -0
  293. package/build/js/private/ui/atoms/SvgIcon.js +1 -0
  294. package/build/js/private/ui/atoms/Toast.d.ts +67 -0
  295. package/build/js/private/ui/atoms/Toast.js +1 -0
  296. package/build/js/private/ui/colors.d.ts +27 -0
  297. package/build/js/private/ui/colors.js +1 -0
  298. package/build/js/private/ui/molecules/HintPresenter.d.ts +58 -0
  299. package/build/js/private/ui/molecules/HintPresenter.js +1 -0
  300. package/build/js/private/ui/molecules/LoadingOverlay.d.ts +26 -0
  301. package/build/js/private/ui/molecules/LoadingOverlay.js +1 -0
  302. package/build/js/private/unsupportedBrowserError.d.ts +10 -0
  303. package/build/js/private/unsupportedBrowserError.js +1 -0
  304. package/build/js/private/utils/ScanditHTMLElement.d.ts +6 -0
  305. package/build/js/private/utils/ScanditHTMLElement.js +1 -0
  306. package/build/js/private/utils/clamp.d.ts +4 -0
  307. package/build/js/private/utils/clamp.js +1 -0
  308. package/build/js/private/utils/css.d.ts +4 -0
  309. package/build/js/private/utils/css.js +1 -0
  310. package/build/js/private/utils/debounce.d.ts +4 -0
  311. package/build/js/private/utils/debounce.js +1 -0
  312. package/build/js/private/utils/deferred.d.ts +9 -0
  313. package/build/js/private/utils/deferred.js +1 -0
  314. package/build/js/private/utils/defineCustomElements.d.ts +4 -0
  315. package/build/js/private/utils/defineCustomElements.js +1 -0
  316. package/build/js/private/utils/html.d.ts +4 -0
  317. package/build/js/private/utils/html.js +1 -0
  318. package/build/js/private/utils/index.d.ts +16 -0
  319. package/build/js/private/utils/index.js +15 -0
  320. package/build/js/private/utils/isObject.d.ts +4 -0
  321. package/build/js/private/utils/isObject.js +1 -0
  322. package/build/js/private/utils/isWorkerScope.d.ts +4 -0
  323. package/build/js/private/utils/isWorkerScope.js +1 -0
  324. package/build/js/private/utils/match.d.ts +11 -0
  325. package/build/js/private/utils/match.js +1 -0
  326. package/build/js/private/utils/throttle.d.ts +4 -0
  327. package/build/js/private/utils/throttle.js +1 -0
  328. package/build/js/private/utils/timeout.d.ts +14 -0
  329. package/build/js/private/utils/timeout.js +1 -0
  330. package/build/js/private/utils/unknownErrorToString.d.ts +4 -0
  331. package/build/js/private/utils/unknownErrorToString.js +1 -0
  332. package/build/js/private/utils/wait.d.ts +4 -0
  333. package/build/js/private/utils/wait.js +1 -0
  334. package/build/js/private/utils/waitTransitionEndForElement.d.ts +4 -0
  335. package/build/js/private/utils/waitTransitionEndForElement.js +1 -0
  336. package/build/js/sdk.d.ts +30 -0
  337. package/build/js/sdk.js +1 -0
  338. package/build/js/translations.d.ts +12 -0
  339. package/build/js/translations.js +1 -0
  340. package/build/js/tsHelper.d.ts +26 -0
  341. package/build/js/tsHelper.js +1 -0
  342. package/build/js/worker/OverrideState.d.ts +8 -0
  343. package/build/js/worker/OverrideState.js +1 -0
  344. package/build/js/worker/WorkerMain.d.ts +40 -0
  345. package/build/js/worker/WorkerMain.js +1 -0
  346. package/build/js/worker/dataCapture.inlineWorker.d.ts +24 -0
  347. package/build/js/worker/dataCapture.inlineWorker.js +1 -0
  348. package/build/js/worker/dataCaptureEngine.d.ts +17 -0
  349. package/build/js/worker/dataCaptureEngine.js +1 -0
  350. package/build/js/worker/dataCaptureLoader.d.ts +17 -0
  351. package/build/js/worker/dataCaptureLoader.js +1 -0
  352. package/build/js/worker/dataCaptureWorkerRelated.d.ts +17 -0
  353. package/build/js/worker/dataCaptureWorkerRelated.js +1 -0
  354. package/build/js/worker/helper.d.ts +16 -0
  355. package/build/js/worker/helper.js +1 -0
  356. package/build/js/worker/helperFetch.d.ts +33 -0
  357. package/build/js/worker/helperFetch.js +1 -0
  358. package/build/js/worker/helperFs.d.ts +9 -0
  359. package/build/js/worker/helperFs.js +1 -0
  360. package/build/js/worker/importWasmScript.d.ts +4 -0
  361. package/build/js/worker/importWasmScript.js +1 -0
  362. package/build/js/worker/index.d.ts +18 -0
  363. package/build/js/worker/index.js +4 -0
  364. package/build/js/worker/inlineWorker.d.d.ts +5 -0
  365. package/build/js/worker/inlineWorker.d.js +1 -0
  366. package/package.json +156 -0
  367. package/sdc-lib/.gitkeep +0 -0
@@ -0,0 +1,1700 @@
1
+ /// <reference types="emscripten" />
2
+ import { Serializable } from './private/Serializable.js';
3
+ import { WatermarkStack } from './private/FrameReaders/WatermarkStack.js';
4
+ import { Optional, MethodSignature } from './tsHelper.js';
5
+ import { Size, Orientation, MarginsWithUnitJSON, PointWithUnitJSON, Anchor, MarginsWithUnit, PointWithUnit, Point, Quadrilateral, JSONType, RectJSON, PointJSON } from './Common.js';
6
+ import { DataCaptureContextSettings, DataCaptureContextSettingsJSON } from './DataCaptureContextSettings.js';
7
+ import { LogoStyle, FocusGestureJSON, ZoomGestureJSON, FocusGesture, ZoomGesture } from './DataCaptureViewPlusRelated.js';
8
+ import { Control } from './ViewControls.js';
9
+ import { DidTapCustomLocationsViewListener, StateToRender } from './private/CustomLocationsView.js';
10
+ import { AnchorPositions } from './private/AnchorPositions.js';
11
+ import { OpenSourceSoftwareLicenseInfo } from './license/OpenSourceSoftwareLicenseInfo.js';
12
+ import { HTMLElementStateJSON } from './private/HtmlElementState.js';
13
+ import { OverrideState } from './worker/OverrideState.js';
14
+ import { Logger } from './logger.js';
15
+ import { ProgressInfo } from './LoadingStatus.js';
16
+
17
+ declare enum CameraPosition$1 {
18
+ WorldFacing = "worldFacing",
19
+ UserFacing = "userFacing"
20
+ }
21
+ declare enum CameraResolutionConstraint$1 {
22
+ ULTRA_HD = 0,
23
+ FULL_HD = 1,
24
+ HD = 2,
25
+ SD = 3,
26
+ NONE = 4
27
+ }
28
+ declare enum AspectRatio {
29
+ AUTO = "auto",
30
+ FOUR_TO_THREE = "fourToThree",
31
+ SIXTEEN_TO_NINE = "sixteenToNine"
32
+ }
33
+ interface DeviceCamera$1 {
34
+ position: CameraPosition$1;
35
+ label: string;
36
+ deviceId: string;
37
+ currentResolution?: VideoFrameResolution;
38
+ }
39
+ /**
40
+ * A helper object to interact with cameras.
41
+ */
42
+ declare namespace CameraAccess$1 {
43
+ /**
44
+ * Overrides for main camera for a given camera position on a desktop/laptop device, set when accessing an initial camera.
45
+ */
46
+ const mainCameraForPositionOverridesOnDesktop: Map<CameraPosition$1, DeviceCamera$1>;
47
+ /**
48
+ *
49
+ * To be accessed directly only for tests.
50
+ *
51
+ * The mapping from deviceIds to camera objects.
52
+ */
53
+ const deviceIdToCameraObjects: Map<string, DeviceCamera$1>;
54
+ /**
55
+ *
56
+ * To be accessed directly only for tests.
57
+ *
58
+ * The list of inaccessible deviceIds.
59
+ */
60
+ const inaccessibleDeviceIds: Set<string>;
61
+ function setMainCameraForPositionOverridesOnDesktop(cameraPosition: CameraPosition$1, deviceCamera: DeviceCamera$1): void;
62
+ /**
63
+ * used mainly for testing
64
+ */
65
+ function clearMainCameraForPositionOverridesOnDesktop(): void;
66
+ /**
67
+ *
68
+ * @param label The camera label.
69
+ * @returns Whether the label identifies the camera being the iOS front (main) camera one.
70
+ */
71
+ function isIOSFrontCameraLabel(label: string): boolean;
72
+ /**
73
+ *
74
+ * @param label The camera label.
75
+ * @returns Whether the label identifies the camera being the iOS back (main) camera one.
76
+ */
77
+ function isIOSBackCameraLabel(label: string): boolean;
78
+ /**
79
+ *
80
+ * @param label The camera label.
81
+ * @returns Whether the label identifies the camera being the iOS Back Dual camera one.
82
+ */
83
+ function isIOSBackDualWideCameraLabel(label: string): boolean;
84
+ /**
85
+ *
86
+ * @param label The camera label.
87
+ * @returns Whether the label identifies the camera being the iOS UltraWide back camera one.
88
+ */
89
+ function isIOSUltraWideBackCameraLabel(label: string): boolean;
90
+ /**
91
+ *
92
+ * Get the main camera for the given camera position.
93
+ *
94
+ * @param cameras The array of available [[DeviceCamera]] objects.
95
+ * @param cameraPosition The wanted camera position.
96
+ * @returns The main camera matching the wanted camera position.
97
+ */
98
+ function getMainCameraForPosition(cameras: DeviceCamera$1[], cameraPosition: CameraPosition$1): DeviceCamera$1 | undefined;
99
+ /**
100
+ *
101
+ * Sort the given cameras in order of priority of access based on the given camera position.
102
+ *
103
+ * @param cameras The array of available [[DeviceCamera]] objects.
104
+ * @param cameraPosition The preferred camera position.
105
+ * @returns The sorted cameras.
106
+ */
107
+ function sortCamerasForCameraPosition<DeviceCameraLike extends DeviceCamera$1 = DeviceCamera$1>(cameras: DeviceCameraLike[], cameraPosition: CameraPosition$1): DeviceCameraLike[];
108
+ /**
109
+ *
110
+ * Adjusts the camera's information based on the given currently active video stream.
111
+ *
112
+ * @param mediaStream The currently active `MediaStream` object.
113
+ * @param camera The currently active [[Camera]] object associated with the video stream.
114
+ */
115
+ function adjustCameraFromMediaStream(mediaStream: MediaStream, camera: DeviceCamera$1): void;
116
+ /**
117
+ * Get a list of cameras (if any) available on the device, a camera access permission is requested to the user
118
+ * the first time this method is called if needed.
119
+ *
120
+ * If the user denies the necessary camera access permission, a list of cameras with the correct amount of devices is
121
+ * returned in any case, but the cameras will have no available (empty) label and deviceId and can thus not be
122
+ * accessed.
123
+ *
124
+ * If the browser is incompatible the returned promise is rejected with a `UnsupportedBrowserError` error.
125
+ *
126
+ * When refreshing available devices, if updated deviceId information is detected, cameras' deviceId are updated
127
+ * accordingly. This could happen after a camera access and stop in some situations.
128
+ *
129
+ * @param refreshDevices Force a call to refresh available video devices even when information is already available.
130
+ * @param cameraAlreadyAccessed Hint that a camera has already been accessed before, avoiding a possible initial
131
+ * camera access permission request on the first call, in cases this cannot be already reliably detected.
132
+ * @returns A promise resolving to the array of available [[Camera]] objects (could be empty).
133
+ */
134
+ function getCameras(refreshDevices?: boolean, cameraAlreadyAccessed?: boolean): Promise<DeviceCamera$1[]>;
135
+ /**
136
+ *
137
+ * Get the *getUserMedia* *video* parameters to be used given a resolution fallback level and the browser used.
138
+ *
139
+ * @param cameraResolutionConstraint The resolution constraint.
140
+ * @returns The resulting *getUserMedia* *video* parameters.
141
+ */
142
+ function getUserMediaVideoParameters(cameraResolutionConstraint: CameraResolutionConstraint$1, preferredAspectRatio?: AspectRatio): MediaTrackConstraints;
143
+ /**
144
+ *
145
+ * Mark a camera to be inaccessible and thus excluded from the camera list returned by [[getCameras]].
146
+ *
147
+ * @param camera The camera to mark to be inaccessible.
148
+ */
149
+ function markCameraAsInaccessible(camera: DeviceCamera$1): void;
150
+ /**
151
+ *
152
+ * Try to access a given camera for video input at the given resolution level.
153
+ *
154
+ * If a camera is inaccessible because of errors, then it's added to the inaccessible device list. If the specific
155
+ * error is of type `OverconstrainedError` or `NotReadableError` however, this procedure is done later on via a
156
+ * separate external logic; also, in case of an error of type `NotAllowedError` (permission denied) this procedure is
157
+ * not executed, in order to possibly recover if and when the user allows the camera to be accessed again.
158
+ * This is done to allow checking if the camera can still be accessed via an updated deviceId when deviceId
159
+ * information changes, or if it should then be confirmed to be considered inaccessible.
160
+ *
161
+ * Depending on parameters, device features and user permissions for camera access, any of the following errors
162
+ * could be the rejected result of the returned promise:
163
+ * - `AbortError`
164
+ * - `NotAllowedError`
165
+ * - `NotFoundError`
166
+ * - `NotReadableError`
167
+ * - `SecurityError`
168
+ * - `OverconstrainedError`
169
+ *
170
+ * @param cameraResolutionConstraint The resolution constraint.
171
+ * @param camera The camera to try to access for video input.
172
+ * @returns A promise resolving to the `MediaStream` object coming from the accessed camera.
173
+ */
174
+ function accessCameraStream(camera: DeviceCamera$1, cameraResolutionConstraint: CameraResolutionConstraint$1, preferredAspectRatio?: AspectRatio): Promise<MediaStream>;
175
+ }
176
+
177
+ /**
178
+ * these are the public exports from CameraAccess
179
+ */
180
+ declare namespace CameraAccess {
181
+ function getCameras(refreshDevices?: boolean, cameraAlreadyAccessed?: boolean): Promise<DeviceCamera[]>;
182
+ }
183
+ interface DeviceCamera {
184
+ position: CameraPosition$1;
185
+ label: string;
186
+ deviceId: string;
187
+ }
188
+
189
+ declare enum FrameSourceState {
190
+ On = "on",
191
+ Off = "off",
192
+ Standby = "standby",
193
+ Starting = "starting",
194
+ Stopping = "stopping",
195
+ BootingUp = "bootingUp",
196
+ WakingUp = "wakingUp",
197
+ GoingToSleep = "goingToSleep",
198
+ ShuttingDown = "shuttingDown"
199
+ }
200
+ declare enum TorchState {
201
+ On = "on",
202
+ Off = "off"
203
+ }
204
+ declare enum CameraPosition {
205
+ WorldFacing = "worldFacing",
206
+ UserFacing = "userFacing"
207
+ }
208
+ declare enum VideoResolution {
209
+ Auto = "auto",
210
+ HD = "hd",
211
+ FullHD = "fullHd",
212
+ UHD4K = "uhd4k"
213
+ }
214
+ declare enum FocusGestureStrategy {
215
+ None = "none",
216
+ Manual = "manual",
217
+ ManualUntilCapture = "manualUntilCapture",
218
+ AutoOnLocation = "autoOnLocation"
219
+ }
220
+ interface FrameSourceListener {
221
+ didChangeState?: (frameSource: FrameSource, newState: FrameSourceState) => void;
222
+ }
223
+ interface FrameSourceJSON {
224
+ type: string;
225
+ }
226
+ interface FrameSource extends Serializable<FrameSourceJSON> {
227
+ readonly desiredState: FrameSourceState;
228
+ getCurrentState: () => FrameSourceState;
229
+ switchToDesiredState: (desiredState: FrameSourceState) => Promise<void>;
230
+ addListener: (listener: FrameSourceListener) => void;
231
+ removeListener: (listener: FrameSourceListener) => void;
232
+ }
233
+ interface CameraSettingsJSONBase {
234
+ preferredResolution: string;
235
+ zoomFactor: number;
236
+ zoomGestureZoomFactor: number;
237
+ api?: number;
238
+ }
239
+ interface CameraSettingsFromJSON extends CameraSettingsJSONBase {
240
+ focusGestureStrategy: string;
241
+ }
242
+ interface CameraSettingsJSON extends CameraSettingsJSONBase {
243
+ focus: {
244
+ focusGestureStrategy: string;
245
+ [key: string]: any;
246
+ };
247
+ [key: string]: any;
248
+ }
249
+ declare function isCameraFrameSource(frameSource?: FrameSource | null): frameSource is Camera;
250
+ declare class CameraSettings implements Serializable<CameraSettingsJSON> {
251
+ preferredResolution: VideoResolution;
252
+ zoomFactor: number;
253
+ zoomGestureZoomFactor: number;
254
+ private focus;
255
+ get focusGestureStrategy(): FocusGestureStrategy;
256
+ set focusGestureStrategy(newStrategy: FocusGestureStrategy);
257
+ private static fromJSON;
258
+ constructor();
259
+ constructor(settings: CameraSettings);
260
+ setProperty(name: string, value: any): void;
261
+ getProperty(name: string): any;
262
+ /**
263
+ * The resulting JSON must also contain properties set on the object itself ("hidden" properties)
264
+ */
265
+ toJSONObject(): CameraSettingsJSON & Record<string, any>;
266
+ }
267
+
268
+ declare abstract class FrameReaderAbstract {
269
+ colorType: ColorType;
270
+ protected readonly _contextWebGL: WebGLRenderingContext;
271
+ protected readonly _maxPoolCapacity: number;
272
+ protected readonly _minPoolCapacity: number;
273
+ /**
274
+ * In mobile applications, particularly on Android, capturing frames at a slow rate can be a common issue,
275
+ * especially in scenarios involving barcode tracking. Using a stack becomes valuable in such situations
276
+ * because it allows us to capture next frame with pixel data while the engine is still processing the previous one,
277
+ * eliminating the need to wait for the engine to finish before capturing the next frame.
278
+ */
279
+ protected _framePool: Optional<WatermarkStack<Uint8ClampedArray>>;
280
+ constructor(contextWebGL: WebGLRenderingContext, options?: {
281
+ maxPoolCapacity: number;
282
+ minPoolCapacity: number;
283
+ } | undefined);
284
+ abstract readFromSource(source: TexImageSource): FrameCapture;
285
+ abstract setup(): void;
286
+ recycle(pixelsData: Uint8ClampedArray): void;
287
+ abstract dispose(): void;
288
+ }
289
+
290
+ declare enum ColorType {
291
+ RGBA = "RGBA",
292
+ GRAYSCALE = "GRAYSCALE"
293
+ }
294
+ declare class FrameReader extends FrameReaderAbstract {
295
+ colorType: ColorType;
296
+ private _framebuffer;
297
+ private _texture;
298
+ private _frameSize;
299
+ private get _initialized();
300
+ readFromSource(source: TexImageSource): FrameCapture;
301
+ setup(): void;
302
+ dispose(): void;
303
+ private updateFrameSizeIfNeeded;
304
+ }
305
+
306
+ interface DataCaptureContextListener {
307
+ didChangeStatus?: (context: DataCaptureContext$1, contextStatus: ContextStatus) => void;
308
+ didStartObservingContext?: (context: DataCaptureContext$1) => void;
309
+ didChangeFrameSource?: (context: DataCaptureContext$1, frameSource: FrameSource | null) => void;
310
+ }
311
+ interface ContextStatusJSON {
312
+ code: number;
313
+ isValid: boolean;
314
+ message: string;
315
+ }
316
+ declare class ContextStatus {
317
+ private _message;
318
+ private _code;
319
+ private _isValid;
320
+ private static fromJSON;
321
+ get message(): string;
322
+ get code(): number;
323
+ get isValid(): boolean;
324
+ }
325
+ declare enum PrivateMirrorAxis {
326
+ None = "None",
327
+ X = "X",
328
+ Y = "Y"
329
+ }
330
+
331
+ interface DataCaptureOverlay extends Serializable {
332
+ toJSONObject: () => any;
333
+ }
334
+ interface DataCaptureViewListener {
335
+ didChangeSize?: (view: DataCaptureView$1, size: Size, orientation: Orientation) => void;
336
+ }
337
+ interface DataCaptureViewJSON {
338
+ scanAreaMargins: MarginsWithUnitJSON;
339
+ pointOfInterest: PointWithUnitJSON;
340
+ logoAnchor: Anchor;
341
+ logoOffset: PointWithUnitJSON;
342
+ logoHidden: boolean;
343
+ logoStyle: LogoStyle;
344
+ overlays: any[];
345
+ controls: any[];
346
+ focusGesture: FocusGestureJSON | null;
347
+ zoomGesture: ZoomGestureJSON | null;
348
+ }
349
+ declare class DataCaptureView$1 implements Serializable<DataCaptureViewJSON> {
350
+ focusGesture: FocusGesture | null;
351
+ zoomGesture: ZoomGesture | null;
352
+ private _scanAreaMargins;
353
+ private _pointOfInterest;
354
+ private _logoStyle;
355
+ private _logoAnchor;
356
+ private _logoOffset;
357
+ private _context;
358
+ private readonly overlays;
359
+ private readonly controls;
360
+ private gestureRecognizer;
361
+ private readonly controlWidgets;
362
+ private containerElement;
363
+ private cameraPaintboardElement?;
364
+ private singleImageUploaderPaintboardElement?;
365
+ private videoElement?;
366
+ private visibilityListener;
367
+ private videoPauseListener;
368
+ private cameraRecoveryListener;
369
+ private controlsElement;
370
+ private cameraRecoveryElement;
371
+ private errorElement;
372
+ private hintContainerElement;
373
+ private hintElement;
374
+ private canvasElement;
375
+ private frozenFrame;
376
+ private frozenFrameCanvas;
377
+ private _canvasDrawer;
378
+ private readonly listeners;
379
+ private htmlElement?;
380
+ private htmlElementState?;
381
+ private lastHtmlElementState;
382
+ private isVideoElementDetached;
383
+ private loadingOverlay;
384
+ private customLocationsView;
385
+ private lastFrameSourceState;
386
+ private singleImageUploaderView;
387
+ private orientation;
388
+ private hiddenProperties;
389
+ private orientationObserver;
390
+ private onOrientationChangeListener;
391
+ private hintPresenter;
392
+ private onHintPresenterUpdateHandler;
393
+ private onBeforeShowToastsHandler;
394
+ private onWorkerMessageHandler;
395
+ private localizationSubscription?;
396
+ constructor();
397
+ get scanAreaMargins(): MarginsWithUnit;
398
+ set scanAreaMargins(margins: MarginsWithUnit);
399
+ get pointOfInterest(): PointWithUnit;
400
+ set pointOfInterest(pointOfInterest: PointWithUnit);
401
+ get logoStyle(): LogoStyle;
402
+ set logoStyle(logoStyle: LogoStyle);
403
+ get logoAnchor(): Anchor;
404
+ set logoAnchor(logoAnchor: Anchor);
405
+ get logoOffset(): PointWithUnit;
406
+ set logoOffset(logoOffset: PointWithUnit);
407
+ private get cameraRecoveryText();
408
+ private get width();
409
+ private get height();
410
+ private get canvasDrawer();
411
+ /**
412
+ * The current context as a PrivateDataCaptureContext
413
+ */
414
+ private get privateContext();
415
+ static forContext(context: DataCaptureContext$1 | null): Promise<DataCaptureView$1>;
416
+ showProgressBar(): void;
417
+ hideProgressBar(): void;
418
+ setProgressBarPercentage(percentage: number | null): void;
419
+ setProgressBarMessage(message: string): void;
420
+ getContext(): DataCaptureContext$1 | null;
421
+ setContext(context: DataCaptureContext$1 | null): Promise<void>;
422
+ connectToElement(element: HTMLElement): void;
423
+ detachFromElement(): void;
424
+ addOverlay(overlay: DataCaptureOverlay): Promise<void>;
425
+ removeOverlay(overlay: DataCaptureOverlay): Promise<void>;
426
+ addListener(listener: DataCaptureViewListener): void;
427
+ removeListener(listener: DataCaptureViewListener): void;
428
+ /**
429
+ * Converts a point in the coordinate system of the last visible frame and maps it to a coordinate in the view.
430
+ * It does *not* take into account if the frameSource is mirrored.
431
+ */
432
+ viewPointForFramePoint(point: Point): Point;
433
+ viewQuadrilateralForFrameQuadrilateral(quadrilateral: Quadrilateral): Quadrilateral;
434
+ addControl(control: Control): void;
435
+ removeControl(control: Control): void;
436
+ toJSONObject(): DataCaptureViewJSON;
437
+ isCameraRecoveryVisible(): boolean;
438
+ setCameraRecoveryVisible(visible: boolean): void;
439
+ allowPictureInPicture(allow: boolean): Promise<void>;
440
+ protected viewAnchorPositionsForFrameAnchorPositions(anchorPositions: AnchorPositions): AnchorPositions;
441
+ protected setDidTapCustomLocationsViewListener(didTapViewListener: DidTapCustomLocationsViewListener): void;
442
+ protected renderCustomLocationsView(state: StateToRender): void;
443
+ private removeStyles;
444
+ private onHintPresenterUpdate;
445
+ private clearHtmlElementContent;
446
+ private setupHtmlElement;
447
+ private setupHtmlElementSingleImageUploader;
448
+ private setupHtmlElementVisibility;
449
+ private createStyles;
450
+ private onOrientationChange;
451
+ private htmlElementDidChange;
452
+ private htmlElementDisconnected;
453
+ private handleVideoDisplay;
454
+ private isCanvasDrawerWithMetrics;
455
+ private onWorkerMessage;
456
+ private onBeforeShowToasts;
457
+ private drawEngineCommands;
458
+ private displayError;
459
+ private clearError;
460
+ private displayHint;
461
+ private hideHint;
462
+ private updateHint;
463
+ private updateAnchor;
464
+ private controlsUpdated;
465
+ private redrawControls;
466
+ /**
467
+ * Allows capture modes to register their own widgets so that they can be added to the view.
468
+ */
469
+ private registerControlWidget;
470
+ private getControlWidget;
471
+ private onFrameSourceChange;
472
+ private onCameraStateChanged;
473
+ private setVideoElementOpacity;
474
+ private onSingleImageUploaderSettingsChange;
475
+ private handleVideoPause;
476
+ private setHiddenProperty;
477
+ private onVisibilityChange;
478
+ private cameraRecovery;
479
+ private freezeFrame;
480
+ private unfreezeFrame;
481
+ }
482
+
483
+ type CommandAndPayload<A, C> = A extends {
484
+ command: C;
485
+ } ? A : never;
486
+ type WorkerCommandPayload<C> = Omit<CommandAndPayload<AnyDataCaptureActionMessage, C>, "command" | "id">;
487
+ type WorkerListener = (event: DataCaptureCallbackMessage) => any;
488
+ interface DataCaptureLoaderOptions {
489
+ libraryLocation: string;
490
+ verifyResponseHash: boolean;
491
+ preloadEngine?: boolean;
492
+ loadProgressNotifier?: (info: ProgressInfo) => void;
493
+ logLevel?: Logger.Level;
494
+ overrideSimdSupport: OverrideState;
495
+ overrideThreadsSupport: OverrideState;
496
+ highEndBlurryRecognition?: boolean;
497
+ }
498
+ /**
499
+ * The DataCaptureLoader class is used by the main thread, it instantiates the worker
500
+ * and sends commands to it. It represents thus the main communication channel
501
+ * between the main thread and the engine running in the worker.
502
+ */
503
+ declare class DataCaptureLoader {
504
+ highEndBlurryRecognition?: boolean;
505
+ protected overrideThreadsSupport: OverrideState;
506
+ protected overrideSimdSupport: OverrideState;
507
+ protected verifyResponseHash: boolean;
508
+ protected _dataCaptureWorker?: DataCaptureWorker;
509
+ protected readonly libraryLocation: string;
510
+ /**
511
+ * Mainly useful for FS when merging preloaded data (blurry tables preloading).
512
+ */
513
+ protected readonly isPreloadEngine: boolean;
514
+ protected workerCommandId: number;
515
+ protected readonly workerTasks: Map<number, {
516
+ resolve: (...arguments_: any[]) => any;
517
+ reject: (...arguments_: any[]) => any;
518
+ command: string;
519
+ }>;
520
+ protected readonly workerListeners: WorkerListener[];
521
+ protected workerMessageListener: (event_: MessageEvent<DataCaptureCallbackMessage>) => void;
522
+ protected constructor(options: DataCaptureLoaderOptions);
523
+ get dataCaptureWorker(): DataCaptureWorker;
524
+ protected get name(): string;
525
+ static create(options: DataCaptureLoaderOptions): Promise<DataCaptureLoader>;
526
+ load(): Promise<WorkerResponse<"loadLibrary">>;
527
+ /**
528
+ * Send a task (i.e. a command) to the worker. Every task sent has a corresponding Promise object which
529
+ * gets resolved when the worker has processed the request. The tasks are identified by an id which is
530
+ * sent along with the data by both sides.
531
+ */
532
+ workerCommand<C extends DataCaptureActionMessageKey>(command: C, payload: WorkerCommandPayload<C>, transferables?: Transferable[]): Promise<WorkerResponse<C>>;
533
+ terminateDataCaptureWorker(disposeContext?: boolean): Promise<void>;
534
+ addWorkerListener(listener: WorkerListener): void;
535
+ removeWorkerListener(listener: WorkerListener): void;
536
+ getOptions(): Pick<DataCaptureLoaderOptions, "libraryLocation" | "overrideSimdSupport" | "overrideThreadsSupport" | "verifyResponseHash">;
537
+ protected onWorkerMessage(event_: MessageEvent<DataCaptureCallbackMessage>): void;
538
+ }
539
+
540
+ type Change = {
541
+ type: "modeEnabled";
542
+ newValue: boolean;
543
+ } | {
544
+ type: "addControl";
545
+ newValue: any;
546
+ } | {
547
+ type: "addOverlay";
548
+ newValue: any;
549
+ } | {
550
+ type: "cameraSettings";
551
+ newValue: any;
552
+ } | {
553
+ type: "frameSourceState";
554
+ newValue: any;
555
+ } | {
556
+ type: "removeControl";
557
+ newValue: any;
558
+ } | {
559
+ type: "removeOverlay";
560
+ newValue: any;
561
+ } | {
562
+ type: "singleImageModeUploaderSettings";
563
+ newValue: any;
564
+ } | {
565
+ type: "torchState";
566
+ newValue: any;
567
+ } | {
568
+ type: "viewChange";
569
+ newValue: {
570
+ orientation: Orientation;
571
+ } & Partial<HTMLElementStateJSON>;
572
+ } | {
573
+ type: "viewSet";
574
+ newValue: DataCaptureView$1 | null;
575
+ };
576
+ type PrivateChangeSet = Change[];
577
+ interface PrivateDataCaptureMode {
578
+ type: "barcodeCapture" | "idCapture";
579
+ skipSerialization: boolean;
580
+ _context: Optional<DataCaptureContext$1>;
581
+ attachedToContext: (context: DataCaptureContext$1) => Promise<void>;
582
+ detachedFromContext: () => Promise<void>;
583
+ }
584
+ interface DataCaptureMode extends Serializable {
585
+ isEnabled(): boolean;
586
+ setEnabled(enabled: boolean): Promise<void>;
587
+ context: Optional<DataCaptureContext$1>;
588
+ }
589
+ interface DataCaptureModeJSON<S = JSONType> {
590
+ type: "barcodeCapture" | "barcodeTracking" | "idCapture" | "parser" | "sparkScan" | "barcodeFind";
591
+ enabled: boolean;
592
+ settings: S;
593
+ }
594
+ interface PrivateDataCaptureComponent {
595
+ _context: DataCaptureContext$1;
596
+ }
597
+ type DataCaptureComponentJSON = JSONType;
598
+ interface DataCaptureComponent extends Serializable<DataCaptureComponentJSON> {
599
+ readonly id: string;
600
+ }
601
+ interface PrivateDataCaptureContextOptions {
602
+ deviceName?: string | null;
603
+ dataCaptureInstance?: DataCaptureLoader;
604
+ delayedRegistration?: boolean;
605
+ }
606
+ interface PrivateDataCaptureContext<W extends (...parameters: any[]) => unknown = DataCaptureLoader["workerCommand"]> {
607
+ _frameSource?: FrameSource | null;
608
+ modes: Set<DataCaptureMode>;
609
+ components: DataCaptureComponent[];
610
+ initialize: () => Promise<void>;
611
+ update: (changeSet?: PrivateChangeSet) => Promise<void>;
612
+ addComponent: (component: DataCaptureComponent) => Promise<void>;
613
+ dataCaptureInstance: DataCaptureLoader;
614
+ sendFrameToProcessor: (capture: FrameCapture) => Promise<WorkerResponse<"processFrame">>;
615
+ subscribeToWorkerMessages: (listener: (message: DataCaptureCallbackMessage) => void) => void;
616
+ unsubscribeToWorkerMessages: (listener: (message: DataCaptureCallbackMessage) => void) => void;
617
+ hasEnabledMode: () => boolean;
618
+ workerCommand: MethodSignature<W>;
619
+ performanceMark: MethodSignature<DataCaptureContext$1["performanceMark"]>;
620
+ isFeatureSupported: (feature: LicensedFeature) => Promise<boolean>;
621
+ new (licenseKey: string, options: PrivateDataCaptureContextOptions): DataCaptureContext$1;
622
+ updateListeners: Set<(change: Change) => void>;
623
+ }
624
+ interface DataCaptureContextCreationOptions {
625
+ deviceName?: string;
626
+ licenseKey?: string;
627
+ settings?: DataCaptureContextSettings;
628
+ }
629
+ interface RuntimeEnvironment {
630
+ deviceOS: string;
631
+ browser: string;
632
+ browserVersion: string;
633
+ deviceModelName: string;
634
+ }
635
+ interface DataCaptureContextJSON extends RuntimeEnvironment {
636
+ framework: string;
637
+ settings: DataCaptureContextSettingsJSON;
638
+ licenseKey: string;
639
+ deviceName: string;
640
+ frameSource: FrameSourceJSON | null;
641
+ modes: DataCaptureModeJSON[];
642
+ components: DataCaptureComponentJSON[];
643
+ view: DataCaptureViewJSON | null;
644
+ }
645
+ type PrivateFrameHandlerResponse = "continue" | "skip";
646
+ type PrivateFrameHandler = (frame: FrameCapture) => Promise<PrivateFrameHandlerResponse>;
647
+ declare class DataCaptureContext$1 implements Serializable<DataCaptureContextJSON> {
648
+ static deviceID: string;
649
+ private static readonly moduleLicenseTextProviders;
650
+ private readonly framework;
651
+ private readonly runtimeEnvironment;
652
+ private settings;
653
+ private readonly licenseKey;
654
+ private readonly deviceName;
655
+ private _frameSource;
656
+ private _view;
657
+ private readonly modes;
658
+ private readonly components;
659
+ private readonly listeners;
660
+ private readonly updateListeners;
661
+ private readonly cameraPropertiesReportListener;
662
+ private readonly cameraAccessErrorListener;
663
+ private readonly onWorkerMessageListener;
664
+ private readonly onVisibilityChangeListener;
665
+ private readonly dataCaptureInstance;
666
+ private readonly delayedRegistration;
667
+ private readonly highEndBlurryRecognition;
668
+ private readonly _frameHandlers;
669
+ private constructor();
670
+ get frameSource(): FrameSource | null;
671
+ private get workerCommand();
672
+ static create(): Promise<DataCaptureContext$1>;
673
+ static createWithOptions(options: DataCaptureContextCreationOptions): Promise<DataCaptureContext$1>;
674
+ static getOpenSourceSoftwareLicenseInfo(): Promise<OpenSourceSoftwareLicenseInfo>;
675
+ /**
676
+ * Disconnect the current frame source from the context and connect the new one. This process can happen multiple
677
+ * times for the same frame source because of its initialisation (The mirroring info of a camera is only available
678
+ * when it has started for example).
679
+ * Trigger the "didChangeFrameSource" listeners only if the new frame source is different than the old one.
680
+ */
681
+ setFrameSource(frameSource: FrameSource | null): Promise<void>;
682
+ addListener(listener: DataCaptureContextListener): void;
683
+ flushAnalytics(): Promise<void>;
684
+ removeListener(listener: DataCaptureContextListener): void;
685
+ addMode(mode: DataCaptureMode): Promise<void>;
686
+ removeMode(mode: DataCaptureMode): Promise<void>;
687
+ removeAllModes(): Promise<void>;
688
+ dispose(): Promise<void>;
689
+ applySettings(settings: DataCaptureContextSettings): Promise<void>;
690
+ toJSONObject(): DataCaptureContextJSON;
691
+ private getView;
692
+ private setView;
693
+ private getAppName;
694
+ private urlToHostname;
695
+ private getParentDomain;
696
+ private initialize;
697
+ private subscribeToVisibilityChange;
698
+ private unsubscribeToVisibilityChange;
699
+ private requestFrameData;
700
+ private performanceMark;
701
+ private sendFrameToProcessor;
702
+ private sendFrameToHandlers;
703
+ private sendFrameToSDC;
704
+ private registerFrameHandler;
705
+ private unregisterFrameHandler;
706
+ private onVisibilityChange;
707
+ private onWorkerMessage;
708
+ private subscribeToCameraManagerEvents;
709
+ private reportCameraProperties;
710
+ private onCameraAccessError;
711
+ private update;
712
+ private updateContext;
713
+ private getViewInfo;
714
+ private getMirrorAxisForFrameSource;
715
+ private addComponent;
716
+ private subscribeToWorkerMessages;
717
+ private unsubscribeToWorkerMessages;
718
+ private hasEnabledMode;
719
+ private isFeatureSupported;
720
+ }
721
+
722
+ /**
723
+ * MESSAGES (ACTIONS) SENT TO THE WORKER
724
+ */
725
+ type DataCaptureActionMessageKey = "createContext" | "deleteFrameData" | "dispose" | "documentVisibility" | "extractCentaurusLicense" | "flushAnalytics" | "isFeatureSupported" | "loadLibrary" | "onTap" | "processFrame" | "reportCameraProperties" | "requestFrameData" | "setFrameSource" | "setLogLevel" | "updateContext" | "hintPresenterV2update" | "getViewfinderInfo" | "getOpenSourceSoftwareLicenseInfo";
726
+ interface ExtractCentaurusLicenseResponse {
727
+ centaurus: {
728
+ licenseKey: string;
729
+ };
730
+ }
731
+ interface RequestFrameDataResponse {
732
+ data: Uint8ClampedArray | null;
733
+ }
734
+ interface IsFeatureSupportedResponse {
735
+ supported: boolean;
736
+ }
737
+ interface GetViewfinderInfo {
738
+ isDisplayingViewfinder: boolean;
739
+ rect: RectJSON;
740
+ }
741
+ interface GetOpenSourceSoftwareLicenseInfoResponse {
742
+ licenseText: string;
743
+ }
744
+ type WorkerResponse<C> = C extends "processFrame" ? ProcessFrameParameters : C extends "extractCentaurusLicense" ? ExtractCentaurusLicenseResponse : C extends "requestFrameData" ? RequestFrameDataResponse : C extends "isFeatureSupported" ? IsFeatureSupportedResponse : C extends "getViewfinderInfo" ? GetViewfinderInfo : C extends "getOpenSourceSoftwareLicenseInfo" ? GetOpenSourceSoftwareLicenseInfoResponse : undefined;
745
+ interface DataCaptureActionMessage {
746
+ command: DataCaptureActionMessageKey;
747
+ id: number;
748
+ }
749
+ type LoadLibraryDataCaptureAction = DataCaptureActionMessage & LoadLibraryParameters & {
750
+ command: "loadLibrary";
751
+ };
752
+ type CreateContextDataCaptureAction = CreateContextParameters & DataCaptureActionMessage & {
753
+ command: "createContext";
754
+ };
755
+ type SetFrameSourceDataCaptureAction = DataCaptureActionMessage & SetFrameSourceParameters & {
756
+ command: "setFrameSource";
757
+ };
758
+ type ProcessFrameDataCaptureAction = DataCaptureActionMessage & ProcessFrameParameters & {
759
+ command: "processFrame";
760
+ };
761
+ type RequestFrameDataDataCaptureAction = DataCaptureActionMessage & {
762
+ command: "requestFrameData";
763
+ frameId: number;
764
+ };
765
+ type DeleteFrameDataDataCaptureAction = DataCaptureActionMessage & {
766
+ command: "deleteFrameData";
767
+ frameId: number;
768
+ };
769
+ type VisibilityChangeAction = DataCaptureActionMessage & {
770
+ command: "documentVisibility";
771
+ state: DocumentVisibilityState;
772
+ };
773
+ type IsFeatureSupportedAction = DataCaptureActionMessage & {
774
+ command: "isFeatureSupported";
775
+ feature: LicensedFeature;
776
+ };
777
+ type UpdateContextDataCaptureAction = DataCaptureActionMessage & {
778
+ command: "updateContext";
779
+ context: DataCaptureContextJSON;
780
+ view: UpdateContextParameters["view"];
781
+ };
782
+ type DisposeDataCaptureAction = DataCaptureActionMessage & {
783
+ command: "dispose";
784
+ };
785
+ type FlushAnalyticsDataCaptureAction = DataCaptureActionMessage & {
786
+ command: "flushAnalytics";
787
+ };
788
+ type ReportCameraPropertiesDataCaptureAction = DataCaptureActionMessage & ReportCameraPropertiesParameters & {
789
+ command: "reportCameraProperties";
790
+ };
791
+ type SetLogLevelDataCaptureAction = DataCaptureActionMessage & {
792
+ command: "setLogLevel";
793
+ level: Logger.Level;
794
+ };
795
+ type ExtractCentaurusLicenseDataCaptureAction = DataCaptureActionMessage & {
796
+ command: "extractCentaurusLicense";
797
+ licenseKey: string;
798
+ };
799
+ type OnTapAction = DataCaptureActionMessage & {
800
+ command: "onTap";
801
+ point: PointJSON;
802
+ };
803
+ type HintPresenterV2updateAction = DataCaptureActionMessage & {
804
+ command: "hintPresenterV2update";
805
+ };
806
+ type GetViewfinderInfoAction = DataCaptureActionMessage & {
807
+ command: "getViewfinderInfo";
808
+ };
809
+ type GetOpenSourceSoftwareLicenseInfoAction = DataCaptureActionMessage & {
810
+ command: "getOpenSourceSoftwareLicenseInfo";
811
+ };
812
+ type AnyDataCaptureActionMessage = CreateContextDataCaptureAction | DeleteFrameDataDataCaptureAction | DisposeDataCaptureAction | ExtractCentaurusLicenseDataCaptureAction | FlushAnalyticsDataCaptureAction | IsFeatureSupportedAction | LoadLibraryDataCaptureAction | OnTapAction | ProcessFrameDataCaptureAction | ReportCameraPropertiesDataCaptureAction | RequestFrameDataDataCaptureAction | SetFrameSourceDataCaptureAction | SetLogLevelDataCaptureAction | UpdateContextDataCaptureAction | VisibilityChangeAction | HintPresenterV2updateAction | GetViewfinderInfoAction | GetOpenSourceSoftwareLicenseInfoAction;
813
+ /**
814
+ * MESSAGES EMITTED BY THE WORKER
815
+ */
816
+ type DataCaptureCallbackMessageKeys = "contextDidChangeStatus" | "didStartObservingContext" | "draw" | "hideHint" | "isFeatureSupported" | "loadLibraryProgress" | "performanceMetricsReport" | "showHint" | "successFeedback" | "updateHint" | "workerTaskId" | "onFrameProcessingStarted" | "onFrameProcessingFinished" | "onFrameSkipped" | "showToast" | "hideToast" | "showGuidance" | "hideGuidance" | "startUpdateTimer" | "stopUpdateTimer" | "setViewfinderRect";
817
+ interface BaseDataCaptureCallbackMessage {
818
+ type: DataCaptureCallbackMessageKeys;
819
+ }
820
+ interface LoadLibraryProgressMessage {
821
+ type: "loadLibraryProgress";
822
+ payload: ProgressInfo;
823
+ }
824
+ interface ConsoleWorkerMessage {
825
+ type: "console";
826
+ payload: string;
827
+ }
828
+ interface WorkerTaskIdWorkerMessage extends BaseDataCaptureCallbackMessage {
829
+ type: "workerTaskId";
830
+ command: string;
831
+ id: number;
832
+ error?: unknown;
833
+ payload?: unknown;
834
+ }
835
+ type DrawWorkerMessage = BaseDataCaptureCallbackMessage & {
836
+ type: "draw";
837
+ payload: Uint8Array;
838
+ };
839
+ type DidChangeStatusWorkerMessage = BaseDataCaptureCallbackMessage & {
840
+ type: "contextDidChangeStatus";
841
+ payload: ContextStatusJSON;
842
+ };
843
+ type StartObservingContextWorkerMessage = BaseDataCaptureCallbackMessage & {
844
+ type: "didStartObservingContext";
845
+ };
846
+ type SuccessFeedbackWorkerMessage = BaseDataCaptureCallbackMessage & {
847
+ type: "successFeedback";
848
+ };
849
+ type ShowHintWorkerMessage = BaseDataCaptureCallbackMessage & {
850
+ type: "showHint";
851
+ payload: {
852
+ text: string;
853
+ style: HintStyle;
854
+ };
855
+ };
856
+ type UpdateHintWorkerMessage = BaseDataCaptureCallbackMessage & {
857
+ type: "updateHint";
858
+ payload: {
859
+ style: HintStyle;
860
+ };
861
+ };
862
+ type IsFeatureSupportedMessage = BaseDataCaptureCallbackMessage & {
863
+ type: "isFeatureSupported";
864
+ payload: {
865
+ [key in LicensedFeature]: boolean;
866
+ };
867
+ };
868
+ type HideHintWorkerMessage = BaseDataCaptureCallbackMessage & {
869
+ type: "hideHint";
870
+ payload: Record<string, never>;
871
+ };
872
+ type PerformanceMetricsReportMessage = BaseDataCaptureCallbackMessage & {
873
+ type: "performanceMetricsReport";
874
+ payload: PerformanceMetrics;
875
+ };
876
+ type DidTapTrackedBarcode = BaseDataCaptureCallbackMessage & {
877
+ type: "didTapTrackedBarcode";
878
+ payload: any;
879
+ };
880
+ type OnFrameProcessingStartedMessage = BaseDataCaptureCallbackMessage & {
881
+ type: "onFrameProcessingStarted";
882
+ };
883
+ type OnFrameProcessingFinishedMessage = BaseDataCaptureCallbackMessage & {
884
+ type: "onFrameProcessingFinished";
885
+ };
886
+ type OnFrameSkippedMessage = BaseDataCaptureCallbackMessage & {
887
+ type: "onFrameSkipped";
888
+ };
889
+ type ShowToastMessage = BaseDataCaptureCallbackMessage & {
890
+ type: "showToast";
891
+ payload: GenericHint;
892
+ };
893
+ type HideToastMessage = BaseDataCaptureCallbackMessage & {
894
+ type: "hideToast";
895
+ payload: GenericHint;
896
+ };
897
+ type ShowGuidanceMessage = BaseDataCaptureCallbackMessage & {
898
+ type: "showGuidance";
899
+ payload: GenericHint;
900
+ };
901
+ type HideGuidanceMessage = BaseDataCaptureCallbackMessage & {
902
+ type: "hideGuidance";
903
+ payload: GenericHint;
904
+ };
905
+ type StartUpdateTimerMessage = BaseDataCaptureCallbackMessage & {
906
+ type: "startUpdateTimer";
907
+ payload: {
908
+ duration: {
909
+ unit: "ms";
910
+ value: number;
911
+ };
912
+ };
913
+ };
914
+ type StopUpdateTimerMessage = BaseDataCaptureCallbackMessage & {
915
+ type: "stopUpdateTimer";
916
+ };
917
+ type DataCaptureCallbackMessage = ConsoleWorkerMessage | DidChangeStatusWorkerMessage | DrawWorkerMessage | HideHintWorkerMessage | IsFeatureSupportedMessage | LoadLibraryProgressMessage | PerformanceMetricsReportMessage | ShowHintWorkerMessage | StartObservingContextWorkerMessage | SuccessFeedbackWorkerMessage | UpdateHintWorkerMessage | WorkerTaskIdWorkerMessage | OnFrameProcessingStartedMessage | OnFrameProcessingFinishedMessage | OnFrameSkippedMessage | ShowToastMessage | HideToastMessage | ShowGuidanceMessage | HideGuidanceMessage | StartUpdateTimerMessage | StopUpdateTimerMessage;
918
+ /**
919
+ * OTHERS
920
+ */
921
+ type PayloadForCommand<A, C> = A extends {
922
+ command: C;
923
+ } ? A : never;
924
+ interface DataCaptureWorker extends Omit<Worker, "postMessage"> {
925
+ onmessage: ((this: Worker, event_: MessageEvent & {
926
+ data: unknown;
927
+ }) => void) | null;
928
+ postMessage: <C extends AnyDataCaptureActionMessage["command"]>(message: PayloadForCommand<AnyDataCaptureActionMessage, C>, transfer?: Transferable[]) => void;
929
+ }
930
+ interface EmscriptenClassHandle<Self = EmscriptenClassHandle<unknown>> {
931
+ clone: () => Self;
932
+ delete: () => void;
933
+ isDeleted: () => boolean;
934
+ deleteLater: () => void;
935
+ isAliasOf: () => Self;
936
+ }
937
+ interface DataCaptureContext extends EmscriptenClassHandle {
938
+ setCameraProperties: (deviceId: string, isFrontFacing: boolean, hasAutofocus: boolean) => void;
939
+ addListener: (function_: unknown) => void;
940
+ addFrameListener: (listener: unknown) => void;
941
+ dispose: () => void;
942
+ setFrameSource: (source: EmscriptenClassHandle) => void;
943
+ flushAnalytics: () => void;
944
+ isFeatureSupported: (feature: LicensedFeature) => boolean;
945
+ }
946
+ interface DataCaptureImageBufferFrameSource extends EmscriptenClassHandle {
947
+ outputFrame: (address: number, width: number, height: number, format: unknown) => void;
948
+ }
949
+ interface GestureListener extends EmscriptenClassHandle<GestureListener> {
950
+ onTap(point: string): void;
951
+ }
952
+ interface GestureRecognizer extends EmscriptenClassHandle {
953
+ setGestureListener(gestureListener: GestureListener, flags: number): void;
954
+ }
955
+ interface DataCaptureView extends EmscriptenClassHandle {
956
+ setViewSize: (w: number, h: number, orientation: Orientation) => void;
957
+ setNeedsRedrawDelegate: (delegate: unknown) => void;
958
+ draw: () => void;
959
+ getDrawCommands: () => Uint8Array;
960
+ isViewRefreshHandlerSet: boolean;
961
+ hintPresenterInitialized: () => boolean;
962
+ setHintPresenter: (hintPresenter: unknown) => void;
963
+ setHintPresenterV2: (hintPresenterV2: HintPresenterV2) => void;
964
+ setGestureRecognizer: (recognizer: GestureRecognizer) => void;
965
+ isDisplayingViewfinder: () => boolean;
966
+ getViewfinderRect: () => string;
967
+ addOverlay: (overlay: EmscriptenClassHandle) => void;
968
+ removeOverlay: (overlay: EmscriptenClassHandle) => void;
969
+ }
970
+ interface JSONParseable {
971
+ toJson: () => string;
972
+ }
973
+ interface DataCaptureContextDeserializerResult extends EmscriptenClassHandle {
974
+ getContext: () => DataCaptureContext;
975
+ getView: () => DataCaptureView | undefined;
976
+ }
977
+ interface DataCaptureContextDeserializer extends EmscriptenClassHandle {
978
+ contextFromJson: (json: string) => DataCaptureContextDeserializerResult | null;
979
+ updateContextFromJson: (context: DataCaptureContext, view: DataCaptureView | undefined, json: string) => DataCaptureContextDeserializerResult | null;
980
+ getLastError: () => string;
981
+ }
982
+ interface CaptureModeDeserializerInstance extends EmscriptenClassHandle {
983
+ setListener: (listener: unknown) => void;
984
+ }
985
+ interface ModuleMirrorAxis {
986
+ None: unknown;
987
+ X: unknown;
988
+ Y: unknown;
989
+ }
990
+ interface Vector<T = unknown> {
991
+ push_back: (element: unknown) => void;
992
+ get: (index: number) => T;
993
+ size: () => number;
994
+ }
995
+ interface WasmFrameData {
996
+ getFrameData: () => Uint8ClampedArray;
997
+ getWidth: () => number;
998
+ getHeight: () => number;
999
+ getMirrorAxis: () => unknown;
1000
+ getOrientation: () => unknown;
1001
+ }
1002
+ declare enum HintFont {
1003
+ Body = "body",
1004
+ Footnote = "footnote"
1005
+ }
1006
+ declare enum HintTextAlignment {
1007
+ Start = "start",
1008
+ Center = "center",
1009
+ End = "end"
1010
+ }
1011
+ declare enum HintWidth {
1012
+ Normal = "normal",
1013
+ Wider = "wider",
1014
+ FitText = "fitText"
1015
+ }
1016
+ declare enum HintHeight {
1017
+ Normal = "normal",
1018
+ Taller = "taller"
1019
+ }
1020
+ declare enum HintCornerStyle {
1021
+ Square = "square",
1022
+ Rounded = "rounded"
1023
+ }
1024
+ declare enum HintIcon {
1025
+ None = "none",
1026
+ Check = "check",
1027
+ ExclamationMark = "exclamationMark"
1028
+ }
1029
+ declare enum HintAnchor {
1030
+ Top = "top",
1031
+ AboveViewFinder = "aboveViewFinder",
1032
+ BelowViewFinder = "belowViewFinder"
1033
+ }
1034
+ interface HintStyle {
1035
+ textColor: string;
1036
+ textAlignment: HintTextAlignment;
1037
+ backgroundColor: string;
1038
+ hintIcon: HintIcon;
1039
+ isAnimatedToView: boolean;
1040
+ hintAnchor: HintAnchor;
1041
+ hintAnchorOffset: number;
1042
+ horizontalMargin: number;
1043
+ maxWidthFraction: number;
1044
+ textSize: number;
1045
+ textWeight: number;
1046
+ lineHeight: number;
1047
+ iconColor: string;
1048
+ maxLines: number;
1049
+ cornerRadius: number;
1050
+ fitToText: boolean;
1051
+ /**
1052
+ * Will be removed after Id Capture migrates to HintPresenter v2
1053
+ * @deprecated
1054
+ */
1055
+ anchor: Anchor;
1056
+ /**
1057
+ * @deprecated
1058
+ */
1059
+ verticalOffsetRatio: number;
1060
+ /**
1061
+ * @deprecated
1062
+ */
1063
+ font: HintFont;
1064
+ /**
1065
+ * @deprecated
1066
+ */
1067
+ hintWidth: HintWidth;
1068
+ /**
1069
+ * @deprecated
1070
+ */
1071
+ hintHeight: HintHeight;
1072
+ /**
1073
+ * @deprecated
1074
+ */
1075
+ hintCornerStyle: HintCornerStyle;
1076
+ }
1077
+ declare enum GuidanceHintAnchor {
1078
+ AboveViewFinder = "aboveViewFinder",
1079
+ BelowViewFinder = "belowViewFinder"
1080
+ }
1081
+ declare enum GuidanceHintStyle {
1082
+ BlackOnWhite = "blackOnWhite",
1083
+ WhiteOnBlack = "whiteOnBlack",
1084
+ Transparent = "transparent"
1085
+ }
1086
+ interface GuidanceHint {
1087
+ text: string;
1088
+ guidanceHintStyle: GuidanceHintStyle;
1089
+ guidanceHintAnchor: GuidanceHintAnchor;
1090
+ hintStyle?: HintStyle;
1091
+ moveCloserAnimation?: boolean;
1092
+ }
1093
+ declare enum ToastHintStyle {
1094
+ Success = "success",
1095
+ Error = "error",
1096
+ Warning = "warning",
1097
+ Info = "info",
1098
+ Notification = "notification"
1099
+ }
1100
+ interface ToastHint {
1101
+ text: string;
1102
+ tag: string;
1103
+ toastHintStyle: ToastHintStyle;
1104
+ hintStyle?: HintStyle;
1105
+ }
1106
+ interface GenericHint {
1107
+ text: string;
1108
+ tag?: string;
1109
+ hintStyle: Omit<HintStyle, "anchor" | "verticalOffsetRatio" | "font" | "hintWidth" | "hintHeight" | "hintCornerStyle">;
1110
+ }
1111
+ interface PerformanceMetrics {
1112
+ processedFramesCount: number;
1113
+ redrawRequestsCount: number;
1114
+ actualRedrawsCount: number;
1115
+ frameDataPoolSize: number;
1116
+ }
1117
+ declare enum LicensedFeature {
1118
+ Ocr = 0,
1119
+ HideLogo = 1,
1120
+ ShowTestLicenseMessage = 2,
1121
+ AugmentedReality = 5,
1122
+ ActivityPingStatsAddon = 8,
1123
+ ActivityPing = 9,
1124
+ Registration = 10,
1125
+ Parser = 11,
1126
+ BarcodeCapture = 14,
1127
+ Analytics = 17,
1128
+ AnalyticsBatchMode = 18,
1129
+ AnalyticsScanContent = 19,
1130
+ AnalyticsOnlineVerification = 20,
1131
+ SparkScan = 21,
1132
+ AamvaIdBarcodeVerification = 22,
1133
+ MappingForTracking = 23,
1134
+ BarcodeFind = 24,
1135
+ MandatoryRegistration = 25,
1136
+ FeatureTracking = 26,
1137
+ IdCaptureViz = 27,
1138
+ IdCaptureMrz = 28,
1139
+ IdCaptureBarcode = 29,
1140
+ BarcodeSelectionAimToScan = 30,
1141
+ BarcodeSelectionTapToScan = 31,
1142
+ BarcodeCount = 32,
1143
+ BarcodePick = 33,
1144
+ IdVerificationDataComparison = 34,
1145
+ SmartLabelBarcode = 35,
1146
+ SmartLabelText = 36,
1147
+ VoidedIdDetection = 37,
1148
+ BarcodeArFull = 38
1149
+ }
1150
+ interface HintPresenterV2 extends EmscriptenClassHandle {
1151
+ showToast: (toastHint: string) => void;
1152
+ hideToast: (tag: string) => void;
1153
+ hideAllToasts: () => void;
1154
+ showGuidance: (guidanceHint: string) => void;
1155
+ hideCurrentGuidance: () => void;
1156
+ update: () => void;
1157
+ }
1158
+ interface PlatformHintPresenter extends EmscriptenClassHandle {
1159
+ setHintPresenter(presenter: HintPresenterV2): void;
1160
+ showToast(toast: string): void;
1161
+ hideToast(toast: string): void;
1162
+ showGuidance(guidanceHint: string): void;
1163
+ hideGuidance(guidanceHint: string): void;
1164
+ startUpdateTimer(intervalMs: number): void;
1165
+ stopUpdateTimer(): void;
1166
+ }
1167
+ interface Module extends EmscriptenModule {
1168
+ callMain: () => void;
1169
+ canvas: OffscreenCanvas | undefined;
1170
+ PThread?: Record<number | string | symbol, unknown>;
1171
+ mainScriptUrlOrBlob: string;
1172
+ DataCaptureContextDeserializer: new (fsFolderPath: string, deviceId: string, deviceModel: string, domain: string, parentDomain: string, modeDeserializer: Vector, delayedRegistration: boolean, highEndBlurryRecognition: boolean, resourcePath: string) => DataCaptureContextDeserializer;
1173
+ DataCaptureContextListener: {
1174
+ extend: (target: "DataCaptureContextListener", parameters: {
1175
+ didChangeStatus: (context: DataCaptureContext, contextStatus: {
1176
+ toJson: () => string;
1177
+ }) => void;
1178
+ didStartObservingContext: (context: DataCaptureContext) => void;
1179
+ }) => new () => EmscriptenClassHandle;
1180
+ };
1181
+ DataCaptureContextFrameListener: {
1182
+ extend: (target: "DataCaptureContextFrameListener", parameters: {
1183
+ onObservationStarted: (context: DataCaptureContext) => void;
1184
+ onObservationStopped: (context: DataCaptureContext) => void;
1185
+ onFrameProcessingStarted: (context: DataCaptureContext, frameData: WasmFrameData) => void;
1186
+ onFrameProcessingFinished: (context: DataCaptureContext, frameData: WasmFrameData) => void;
1187
+ onFrameSkipped: (context: DataCaptureContext, frameData: WasmFrameData) => void;
1188
+ }) => new () => EmscriptenClassHandle;
1189
+ };
1190
+ HintPresenter: {
1191
+ extend: (target: "HintPresenter", parameters: {
1192
+ showHint: (hint: string, style: string) => void;
1193
+ updateHint: (style: string) => void;
1194
+ hideHint: () => void;
1195
+ }) => new () => EmscriptenClassHandle;
1196
+ };
1197
+ PlatformHintPresenter: {
1198
+ extend: (target: "PlatformHintPresenter", parameters: {
1199
+ setHintPresenter(presenter: HintPresenterV2): void;
1200
+ showToast(toastHint: string): void;
1201
+ hideToast(toastHint: string): void;
1202
+ showGuidance(guidanceHint: string): void;
1203
+ hideGuidance(guidanceHint: string): void;
1204
+ startUpdateTimer(intervalMs: number): void;
1205
+ stopUpdateTimer(): void;
1206
+ }) => new () => PlatformHintPresenter;
1207
+ };
1208
+ HintPresenterV2: new (platformHintPresenter: PlatformHintPresenter) => HintPresenterV2;
1209
+ ImageBufferFrameSource: new (mirroredAxis: unknown, isCameraFrameSource: boolean, orientation?: number) => DataCaptureImageBufferFrameSource;
1210
+ ImageBufferFormat: {
1211
+ Grayscale8: unknown;
1212
+ Rgb888: unknown;
1213
+ Rgba8888: unknown;
1214
+ };
1215
+ Axis: ModuleMirrorAxis;
1216
+ NeedsRedrawDelegate: {
1217
+ extend: (target: "NeedsRedrawDelegate", parameters: {
1218
+ setNeedsRedrawIn: (inMs: number) => void;
1219
+ }) => new () => EmscriptenClassHandle;
1220
+ };
1221
+ GestureRecognizer: {
1222
+ extend: (target: "GestureRecognizer", parameters: {
1223
+ setGestureListener(gestureListener: GestureListener, flags: number): void;
1224
+ }) => new () => GestureRecognizer;
1225
+ };
1226
+ VectorDataCaptureModeDeserializer: new () => Vector;
1227
+ allocateUint8Array: (length: number) => number;
1228
+ deleteUint8Array: (adress: number) => void;
1229
+ DataDecoding: {
1230
+ extend: (target: "DataDecoding", options: {
1231
+ decode: (rawData: ArrayBuffer, encodingRanges: string) => string;
1232
+ }) => new () => EmscriptenClassHandle;
1233
+ };
1234
+ setDataDecoding: (decoder: unknown) => void;
1235
+ LicenseUtils: {
1236
+ getBlinkIdLicenseKey: (scanditLicense: string) => string;
1237
+ };
1238
+ Feedback: {
1239
+ extend: (target: "Feedback", parameters: {
1240
+ emit: () => void;
1241
+ }) => new () => EmscriptenClassHandle;
1242
+ };
1243
+ dispose: () => void;
1244
+ LicenseFeature: LicensedFeature;
1245
+ addBarcodeFindToContext: (context: DataCaptureContext, mode: EmscriptenClassHandle) => void;
1246
+ removeBarcodeFindFromContext: (context: DataCaptureContext, mode: EmscriptenClassHandle) => void;
1247
+ addBarcodeFindBasicOverlayToView: (view: DataCaptureView, overlay: EmscriptenClassHandle) => void;
1248
+ removeBarcodeFindBasicOverlayFromView: (view: DataCaptureView, overlay: EmscriptenClassHandle) => void;
1249
+ OpenSourceSoftwareLicenseInfo: {
1250
+ getLicenseText(): string;
1251
+ };
1252
+ }
1253
+ type AugmentedWorker<M extends EmscriptenModule> = Worker & {
1254
+ Module: M;
1255
+ OffscreenCanvas: new (w: number, h: number) => OffscreenCanvas;
1256
+ };
1257
+ type EngineWorkerResponse<C extends DataCaptureActionMessageKey> = WorkerResponse<C> extends Promise<void> | void ? Promise<void> | void : {
1258
+ payload: WorkerResponse<C>;
1259
+ transferables?: Transferable[];
1260
+ };
1261
+ interface ModuleHandler<M extends Module> {
1262
+ get: () => M;
1263
+ set: (v: M) => void;
1264
+ }
1265
+
1266
+ interface FrameData {
1267
+ readonly width: number;
1268
+ readonly height: number;
1269
+ readonly isFrameSourceMirrored: boolean;
1270
+ toBlob(type?: string, quality?: number): Promise<Blob | null>;
1271
+ getData(): Promise<Uint8ClampedArray | null>;
1272
+ }
1273
+ type PrivateLoadableFrameData = Omit<FrameData, "getData" | "toBlob"> & {
1274
+ frameId: number;
1275
+ };
1276
+ /**
1277
+ * Adds some function to the passed frame data object to let the user load the frame data.
1278
+ */
1279
+ declare function convertToPublicFrameData(loadableFrameData: PrivateLoadableFrameData, context: DataCaptureContext$1): FrameData;
1280
+
1281
+ interface LoadLibraryParameters {
1282
+ libraryLocation: string;
1283
+ locationPath: string;
1284
+ preloadEngine: boolean;
1285
+ writableDataPathOverride?: string;
1286
+ overrideSimdSupport: OverrideState;
1287
+ overrideThreadsSupport: OverrideState;
1288
+ verifyResponseHash: boolean;
1289
+ onProgress?: (info: ProgressInfo) => void;
1290
+ referredOrigin?: string;
1291
+ }
1292
+ interface CreateContextParameters {
1293
+ context: DataCaptureContextJSON;
1294
+ deviceId: string;
1295
+ delayedRegistration: boolean;
1296
+ highEndBlurryRecognition: boolean;
1297
+ appName: string | null;
1298
+ parentDomain: string;
1299
+ }
1300
+ interface UpdateContextParameters {
1301
+ context: DataCaptureContextJSON;
1302
+ view: {
1303
+ width: number;
1304
+ height: number;
1305
+ visible: boolean;
1306
+ orientation: Orientation;
1307
+ } | null;
1308
+ }
1309
+ interface SetFrameSourceParameters {
1310
+ mirrorAxis: PrivateMirrorAxis;
1311
+ isCameraFrameSource: boolean;
1312
+ }
1313
+ type ProcessFrameParameters = FrameCapture;
1314
+ interface ReportCameraPropertiesParameters {
1315
+ deviceId: string;
1316
+ hasAutofocus: boolean;
1317
+ isFrontFacing: boolean;
1318
+ }
1319
+ interface WorkerFunctions {
1320
+ getOffscreenCanvas: () => OffscreenCanvas | undefined;
1321
+ postMessage: (message: DataCaptureCallbackMessage, transfer?: Transferable[]) => void;
1322
+ }
1323
+ /**
1324
+ * DataCaptureEngine is an abstraction of the engine, it is created by the engine worker
1325
+ * and should be used as a singleton. It calls the underlying engine methods directly.
1326
+ */
1327
+ declare class DataCaptureEngine<M extends Module> {
1328
+ private static get3dPartyLicenseKeyMethodName;
1329
+ context: DataCaptureContext;
1330
+ lastUsedModuleMirrorAxis: unknown;
1331
+ view: DataCaptureView | undefined;
1332
+ hintPresenterV2: HintPresenterV2 | null;
1333
+ protected readonly MAX_NUMBER_OF_IMAGES_IN_FRAME_DATA_POOL: number;
1334
+ protected readonly moduleHandler: ModuleHandler<M>;
1335
+ protected readonly redrawInterval: number;
1336
+ protected readonly redrawRequests: number[];
1337
+ protected readonly workerFunctions: WorkerFunctions;
1338
+ protected _isDrawLoopRunning: boolean;
1339
+ protected contextDeserializer: DataCaptureContextDeserializer | undefined;
1340
+ protected frameDataPool: Map<number, Uint8ClampedArray>;
1341
+ protected imageFrameSource?: DataCaptureImageBufferFrameSource;
1342
+ protected lastFrameCounter: number;
1343
+ protected libraryLoadingPromise: Promise<void> | undefined;
1344
+ protected loopTimeoutId?: ReturnType<typeof setTimeout>;
1345
+ protected resourcePath: string;
1346
+ protected writableDataPath: string;
1347
+ protected poorMansBenchmarkLogs: boolean;
1348
+ protected parentDomain: string;
1349
+ protected readonly writableDataPathPreload: string;
1350
+ protected readonly writableDataPathStandard: string;
1351
+ protected readonly resourceFilesSubfolder: string;
1352
+ protected performanceMetricsReporterTimer: ReturnType<typeof setTimeout> | undefined;
1353
+ protected performanceMetrics: PerformanceMetrics;
1354
+ protected gestureRecognizer: GestureRecognizer | null;
1355
+ private gestureListener;
1356
+ private webPlatformHintPresenter;
1357
+ constructor(moduleHandler: ModuleHandler<M>, workerFunctions: WorkerFunctions);
1358
+ get Module(): M;
1359
+ set isDrawLoopRunning(newValue: boolean);
1360
+ get isDrawLoopRunning(): boolean;
1361
+ convertToLoadableFrameData(frameData: WasmFrameData): PrivateLoadableFrameData;
1362
+ createContext(createContextJSON: CreateContextParameters): EngineWorkerResponse<"createContext">;
1363
+ onTap(point: PointJSON): void;
1364
+ hintPresenterV2Update(): void;
1365
+ startReportingPerformanceMetrics(): void;
1366
+ reportPerformanceMetrics(): Promise<void>;
1367
+ deleteFrameData(frameId: number): void;
1368
+ dispose(): EngineWorkerResponse<"dispose">;
1369
+ flushAnalytics(): void;
1370
+ extractCentaurusLicense(scanditLicenseKey: string): EngineWorkerResponse<"extractCentaurusLicense">;
1371
+ getModeDeserializers(): Vector;
1372
+ loadLibrary(parameters: LoadLibraryParameters): EngineWorkerResponse<"loadLibrary">;
1373
+ processFrame(parameters: ProcessFrameParameters): EngineWorkerResponse<"processFrame">;
1374
+ reportCameraProperties(properties: ReportCameraPropertiesParameters): EngineWorkerResponse<"reportCameraProperties">;
1375
+ requestFrameData(frameId: number): EngineWorkerResponse<"requestFrameData">;
1376
+ scheduleRedraw(view: DataCaptureView, redrawInMs: number): void;
1377
+ sendViewRefreshCommands(commands: Uint8Array): void;
1378
+ setFrameSource(mirrorAxis: PrivateMirrorAxis, isCameraFrameSource: boolean): EngineWorkerResponse<"setFrameSource">;
1379
+ /**
1380
+ * The draw loop check at regular interval if any redraw request were made by the engine.
1381
+ * If a redraw is necessary, it gathers and sends drawing commands to the main thread.
1382
+ */
1383
+ startDrawLoop(view: DataCaptureView): void;
1384
+ updateContext(contextUpdateParameters: UpdateContextParameters): EngineWorkerResponse<"updateContext">;
1385
+ onDocumentVisibilityChange(state: DocumentVisibilityState): void;
1386
+ isFeatureSupported(feature: LicensedFeature): EngineWorkerResponse<"isFeatureSupported">;
1387
+ getViewfinderInfo(): EngineWorkerResponse<"getViewfinderInfo">;
1388
+ getOpenSourceSoftwareLicenseInfo(): EngineWorkerResponse<"getOpenSourceSoftwareLicenseInfo">;
1389
+ protected getNextFrameId(): number;
1390
+ protected getWasmDynamicLibraries(coreWasmURI: string): string[];
1391
+ protected getWasmCoreExpectedHash(simdSupport: boolean, threadsSupport: boolean): string;
1392
+ protected getWasmCoreFileName(simdSupport: boolean, threadsSupport: boolean): string;
1393
+ protected getWasmMetadata(): Record<string, {
1394
+ bytes: number;
1395
+ }>;
1396
+ protected getWasmSideModuleFileName(): string;
1397
+ private _loadProgressCallback;
1398
+ /**
1399
+ * Redraw requests are scheduled at [now + redrawInMs], so when pushed they must be sorted
1400
+ * in chronological order so that we can later easily check if we need to redraw by checking
1401
+ * the first element.
1402
+ * @param redrawInMs
1403
+ */
1404
+ private addRedrawRequest;
1405
+ private contextDidChangeStatus;
1406
+ private didStartObservingContext;
1407
+ private mapMirrorAxisOnModule;
1408
+ private setView;
1409
+ private setViewRefreshHandler;
1410
+ private setupDataDecoding;
1411
+ private start;
1412
+ private getWritableDataPath;
1413
+ private setup;
1414
+ }
1415
+
1416
+ declare enum MeteringMode {
1417
+ CONTINUOUS = "continuous",
1418
+ MANUAL = "manual",
1419
+ NONE = "none",
1420
+ SINGLE_SHOT = "single-shot"
1421
+ }
1422
+ declare enum CameraResolutionConstraint {
1423
+ ULTRA_HD = 0,
1424
+ FULL_HD = 1,
1425
+ HD = 2,
1426
+ SD = 3,
1427
+ NONE = 4
1428
+ }
1429
+ interface ExtendedMediaTrackCapabilities extends MediaTrackCapabilities {
1430
+ exposureCompensation?: DoubleRange;
1431
+ exposureMode?: MeteringMode[];
1432
+ exposureTime?: DoubleRange;
1433
+ focusDistance?: DoubleRange;
1434
+ focusMode?: MeteringMode[];
1435
+ torch?: boolean;
1436
+ zoom?: DoubleRange;
1437
+ }
1438
+ interface ExtendedMediaTrackConstraintSet extends MediaTrackConstraintSet {
1439
+ exposureCompensation?: ConstrainDouble | number;
1440
+ exposureMode?: MeteringMode;
1441
+ exposureTime?: ConstrainDouble | number;
1442
+ focusDistance?: ConstrainDouble | number;
1443
+ focusMode?: MeteringMode;
1444
+ torch?: boolean;
1445
+ zoom?: ConstrainDouble | number;
1446
+ }
1447
+ interface GUI {
1448
+ isCameraRecoveryVisible: () => boolean;
1449
+ setCameraRecoveryVisible: (visible: boolean) => void;
1450
+ }
1451
+ interface FrameCapture {
1452
+ colorType?: ColorType;
1453
+ data: Uint8ClampedArray;
1454
+ height: number;
1455
+ width: number;
1456
+ }
1457
+ declare enum CameraManagerEvent {
1458
+ CAMERA_PROPERTIES = "cameraProperties",
1459
+ CAMERA_ACCESS_ERROR = "cameraAccessError"
1460
+ }
1461
+ type CameraManagerEventParameters<C> = C extends CameraManagerEvent.CAMERA_PROPERTIES ? ReportCameraPropertiesParameters : C extends CameraManagerEvent.CAMERA_ACCESS_ERROR ? any : never;
1462
+ /**
1463
+ * A barcode picker utility class used to handle camera interaction.
1464
+ */
1465
+ declare class CameraManager {
1466
+ private static readonly autofocusIntervalMs;
1467
+ private static readonly cameraAccessTimeoutMs;
1468
+ private static readonly getCapabilitiesTimeoutMs;
1469
+ private static readonly manualFocusWaitTimeoutMs;
1470
+ private static readonly manualToAutofocusResumeTimeoutMs;
1471
+ private static readonly noCameraErrorParameters;
1472
+ private static readonly notReadableErrorParameters;
1473
+ private static readonly videoMetadataCheckIntervalMs;
1474
+ private static readonly videoMetadataCheckTimeoutMs;
1475
+ private static MIRRORED_CLASS_NAME;
1476
+ private static _instance;
1477
+ activeCamera?: DeviceCamera$1;
1478
+ activeCameraSettings?: CameraSettings;
1479
+ canvas: HTMLCanvasElement;
1480
+ gui: GUI;
1481
+ selectedCamera?: DeviceCamera$1;
1482
+ videoElement: HTMLVideoElement;
1483
+ private readonly checkCameraVideoStreamAccessIfVisibleListener;
1484
+ private readonly handleWebGLContextLostListener;
1485
+ private readonly listeners;
1486
+ private readonly mirrorImageOverrides;
1487
+ private readonly postStreamInitializationListener;
1488
+ private readonly triggerFatalError;
1489
+ private readonly triggerManualFocusListener;
1490
+ private readonly triggerZoomMoveListener;
1491
+ private readonly triggerZoomStartListener;
1492
+ private readonly videoResizeListener;
1493
+ private readonly videoTrackEndedListener;
1494
+ private readonly videoTrackMuteListener;
1495
+ private _canvas2dContext;
1496
+ private _canvasWebGLContext;
1497
+ private _glFrameReaders;
1498
+ private _frameReaderType;
1499
+ private _mediaStream?;
1500
+ private abortedCameraInitializationResolveCallback?;
1501
+ private autofocusInterval;
1502
+ private cameraAccessRejectCallback?;
1503
+ private cameraAccessTimeout;
1504
+ private cameraInitializationPromise?;
1505
+ private cameraPosition;
1506
+ private cameraSetupPromise?;
1507
+ private getCapabilitiesTimeout;
1508
+ private manualFocusWaitTimeout;
1509
+ private manualToAutofocusResumeTimeout;
1510
+ private mediaTrackCapabilities?;
1511
+ private mediaTrackCapabilitiesPromise?;
1512
+ private mediaTrackCapabilitiesPromiseResolver?;
1513
+ private pinchToZoomDistance?;
1514
+ private pinchToZoomEnabled;
1515
+ private pinchToZoomInitialZoom;
1516
+ private selectedCameraSettings?;
1517
+ private tapToFocusEnabled;
1518
+ private torchEnabled;
1519
+ private torchToggleEnabled;
1520
+ private videoMetadataCheckInterval;
1521
+ private isWebGLSupported;
1522
+ constructor();
1523
+ get mediaStream(): MediaStream | undefined;
1524
+ set mediaStream(stream: MediaStream | undefined);
1525
+ private get canvas2dContext();
1526
+ private get canvasWebGLContext();
1527
+ static instance(): CameraManager;
1528
+ recycle(pixelsData: Uint8ClampedArray): void;
1529
+ getCurrentFrame(): FrameCapture | undefined;
1530
+ requestVideoFrame(scheduledFunction: FrameRequestCallback | VideoFrameRequestCallback): number;
1531
+ cancelVideoFrame(id: number): void;
1532
+ addListener<E extends CameraManagerEvent>(event: CameraManagerEvent, listener: (details: CameraManagerEventParameters<E>) => void): void;
1533
+ applyCameraSettings(cameraSettings?: CameraSettings): Promise<void>;
1534
+ captureImage(): FrameCapture | null;
1535
+ initializeCameraWithSettings(camera?: DeviceCamera$1, cameraSettings?: CameraSettings): Promise<void>;
1536
+ isMirrorImageEnabled(): boolean;
1537
+ isPinchToZoomEnabled(): boolean;
1538
+ isTapToFocusEnabled(): boolean;
1539
+ isTorchAvailable(): Promise<boolean>;
1540
+ playVideo(): Promise<void>;
1541
+ reinitializeCamera(): Promise<void>;
1542
+ removeListener<E extends CameraManagerEvent>(event: CameraManagerEvent, listenerToRemove?: (details: CameraManagerEventParameters<E>) => void): void;
1543
+ setCameraPosition(cameraPosition: CameraPosition): Promise<void>;
1544
+ setExposure(exposure: {
1545
+ compensation?: number;
1546
+ time?: number;
1547
+ }): Promise<void>;
1548
+ setFocus(manualLensPosition: number): Promise<void>;
1549
+ setFrameRate(frameRate: {
1550
+ min?: number;
1551
+ max?: number;
1552
+ }): Promise<void>;
1553
+ setInitialCameraPosition(cameraPosition: CameraPosition): void;
1554
+ setInteractionOptions(torchToggleEnabled: boolean, tapToFocusEnabled: boolean, pinchToZoomEnabled: boolean): void;
1555
+ setMirrorImageEnabled(enabled: boolean, override: boolean): void;
1556
+ setPinchToZoomEnabled(enabled: boolean): void;
1557
+ setSelectedCamera(camera?: DeviceCamera$1): void;
1558
+ setSelectedCameraSettings(cameraSettings?: CameraSettings): void;
1559
+ setTapToFocusEnabled(enabled: boolean): void;
1560
+ setTorchEnabled(enabled: boolean): Promise<void>;
1561
+ setZoom(zoomFactor: number): Promise<void>;
1562
+ setupCameras(): Promise<void>;
1563
+ pauseStream(): void;
1564
+ resumeStream(): void;
1565
+ stopStream(cameraInitializationFailure?: boolean): Promise<void>;
1566
+ stopVideoTracks(): void;
1567
+ toggleTorch(): Promise<void>;
1568
+ updateCanvasVideoImage(): void;
1569
+ waitForCapabilities(): Promise<void>;
1570
+ setFrameReaderType(type: ColorType): void;
1571
+ allowPictureInPicture(allow: boolean): Promise<void>;
1572
+ private accessAutoselectedCamera;
1573
+ private accessInitialCamera;
1574
+ /**
1575
+ * When a context has been created for a canvas, it is not possible to get another one from another type.
1576
+ * This function re-creates a new canvas based on the existing one.
1577
+ */
1578
+ private recreateCanvas;
1579
+ private captureImageFor2dContext;
1580
+ private areVideoAndWebGLSizeMismatching;
1581
+ private captureImageForWebGLContext;
1582
+ private checkCameraAccess;
1583
+ private checkCameraVideoStreamAccessIfVisible;
1584
+ private checkVideoMetadata;
1585
+ private disablePinchToZoomListeners;
1586
+ private disableTapToFocusListeners;
1587
+ private emit;
1588
+ private enablePinchToZoomListeners;
1589
+ private enableTapToFocusListeners;
1590
+ private getActiveCamera;
1591
+ private getInitialCameraResolutionConstraint;
1592
+ private handleCameraInitializationError;
1593
+ private handleVideoResize;
1594
+ private handleWebGLContextLost;
1595
+ private initializeCameraAndCheckUpdatedSettings;
1596
+ private initializeCameraForResolution;
1597
+ private initializeStreamForResolution;
1598
+ private isVideoAndContextStateValid;
1599
+ private postStreamInitialization;
1600
+ private recoverStreamIfNeeded;
1601
+ private reportCameraProperties;
1602
+ private setCameraAccessTimeout;
1603
+ private setupAutofocus;
1604
+ private setupCameraStreamVideo;
1605
+ private setupCamerasAndStream;
1606
+ private storeStreamCapabilities;
1607
+ private triggerAutoFocus;
1608
+ private triggerFocusMode;
1609
+ private triggerManualFocus;
1610
+ private triggerManualFocusForContinuous;
1611
+ private triggerManualFocusForSingleShot;
1612
+ private triggerZoomMove;
1613
+ private triggerZoomStart;
1614
+ private updateActiveCameraCurrentResolution;
1615
+ private updateStreamForResolution;
1616
+ private videoTrackEndedRecovery;
1617
+ private videoTrackMuteRecovery;
1618
+ }
1619
+
1620
+ interface CameraJSON extends FrameSourceJSON {
1621
+ type: "camera";
1622
+ position: CameraPosition;
1623
+ settings: CameraSettingsJSON | Record<string, never>;
1624
+ desiredState: FrameSourceState;
1625
+ desiredTorchState: TorchState;
1626
+ }
1627
+ interface VideoFrameResolution {
1628
+ readonly width: number;
1629
+ readonly height: number;
1630
+ }
1631
+ declare class Camera implements FrameSource, Serializable<CameraJSON> {
1632
+ readonly label: string;
1633
+ deviceId: string;
1634
+ readonly position: CameraPosition;
1635
+ private _currentResolution?;
1636
+ private readonly cameraManager;
1637
+ private readonly type;
1638
+ private readonly webGLContextLostListener;
1639
+ private _currentState;
1640
+ private _settings;
1641
+ private _desiredTorchState;
1642
+ private _desiredState;
1643
+ private readonly listeners;
1644
+ private _context;
1645
+ private _desiredMirrorImageEnabled?;
1646
+ private _lastCaptureRequestAnimationFrame?;
1647
+ private _lastCanvasVideoPreviewAnimationFrame?;
1648
+ private _isAndroidWebView?;
1649
+ private readonly stateTransitionStrategyMap;
1650
+ private currentTransitionStrategyPromise?;
1651
+ constructor(manager?: CameraManager);
1652
+ static get default(): Camera;
1653
+ get desiredState(): FrameSourceState;
1654
+ get settings(): CameraSettings;
1655
+ get currentResolution(): VideoFrameResolution | null;
1656
+ private get context();
1657
+ private set context(value);
1658
+ private get currentState();
1659
+ static atPosition(cameraPosition: CameraPosition): Camera | null;
1660
+ static fromDeviceCamera(deviceCamera: DeviceCamera): Camera;
1661
+ switchToDesiredState(state: FrameSourceState): Promise<void>;
1662
+ getDesiredTorchState(): TorchState;
1663
+ setDesiredTorchState(desiredTorchState: TorchState): Promise<void>;
1664
+ isTorchAvailable(): Promise<boolean>;
1665
+ addListener(listener: FrameSourceListener | null): void;
1666
+ removeListener(listener: FrameSourceListener | null): void;
1667
+ applySettings(settings: CameraSettings): Promise<void>;
1668
+ toJSONObject(): CameraJSON;
1669
+ getMirrorImageEnabled(): boolean;
1670
+ setMirrorImageEnabled(enabled: boolean): Promise<void>;
1671
+ getCurrentState(): FrameSourceState;
1672
+ private setCurrentState;
1673
+ /**
1674
+ * Starts camera according to the given position. If a deviceId is set, pre-select the corresponding camera.
1675
+ * The function returns as soon as the camera has started successfully and is active. The label and
1676
+ * position properties reflect then the values found in the accessed stream.
1677
+ */
1678
+ private setupCamera;
1679
+ private notifyContext;
1680
+ private notifyListeners;
1681
+ private updateCanvasVideoImage;
1682
+ private captureAndSend;
1683
+ /**
1684
+ * Capture images from the video stream and send them to the context. If no context is set, the function will
1685
+ * stop itself until called again. While no enabled mode is present in the context, the function will schedule itself
1686
+ * again indefinitely without doing anything else.
1687
+ */
1688
+ private startSendingCapturesToWorker;
1689
+ private stopSendingCapturesToWorker;
1690
+ private transitionFromStateOffToOn;
1691
+ private transitionFromStateOffToStandby;
1692
+ private transitionFromStateOnToOff;
1693
+ private transitionFromStateOnToStandby;
1694
+ private transitionFromStateStandbyToOff;
1695
+ private transitionFromStateStandbyToOn;
1696
+ private isAndroidWebView;
1697
+ private isZoomAvailable;
1698
+ }
1699
+
1700
+ export { type ModuleHandler as $, type PrivateFrameHandler as A, DataCaptureContext$1 as B, CameraPosition as C, DataCaptureLoader as D, type DataCaptureContextListener as E, FocusGestureStrategy as F, type ContextStatusJSON as G, ContextStatus as H, PrivateMirrorAxis as I, type DataCaptureOverlay as J, type DataCaptureViewListener as K, type DataCaptureViewJSON as L, DataCaptureView$1 as M, type FrameData as N, type PrivateLoadableFrameData as O, type PrivateChangeSet as P, convertToPublicFrameData as Q, type DataCaptureLoaderOptions as R, type PerformanceMetrics as S, TorchState as T, DataCaptureEngine as U, VideoResolution as V, type Module as W, type GenericHint as X, type DataCaptureCallbackMessage as Y, type AnyDataCaptureActionMessage as Z, type AugmentedWorker as _, type FrameSource as a, HintIcon as a$, type DataCaptureActionMessageKey as a0, type EngineWorkerResponse as a1, type ExtractCentaurusLicenseResponse as a2, type RequestFrameDataResponse as a3, type IsFeatureSupportedResponse as a4, type GetViewfinderInfo as a5, type GetOpenSourceSoftwareLicenseInfoResponse as a6, type WorkerResponse as a7, type LoadLibraryDataCaptureAction as a8, type CreateContextDataCaptureAction as a9, type OnFrameSkippedMessage as aA, type ShowToastMessage as aB, type HideToastMessage as aC, type ShowGuidanceMessage as aD, type HideGuidanceMessage as aE, type StartUpdateTimerMessage as aF, type StopUpdateTimerMessage as aG, type PayloadForCommand as aH, type DataCaptureWorker as aI, type EmscriptenClassHandle as aJ, type DataCaptureContext as aK, type DataCaptureImageBufferFrameSource as aL, type GestureListener as aM, type GestureRecognizer as aN, type DataCaptureView as aO, type JSONParseable as aP, type DataCaptureContextDeserializerResult as aQ, type DataCaptureContextDeserializer as aR, type CaptureModeDeserializerInstance as aS, type ModuleMirrorAxis as aT, type Vector as aU, type WasmFrameData as aV, HintFont as aW, HintTextAlignment as aX, HintWidth as aY, HintHeight as aZ, HintCornerStyle as a_, type SetFrameSourceDataCaptureAction as aa, type ProcessFrameDataCaptureAction as ab, type RequestFrameDataDataCaptureAction as ac, type DeleteFrameDataDataCaptureAction as ad, type VisibilityChangeAction as ae, type IsFeatureSupportedAction as af, type UpdateContextDataCaptureAction as ag, type DisposeDataCaptureAction as ah, type FlushAnalyticsDataCaptureAction as ai, type ReportCameraPropertiesDataCaptureAction as aj, type SetLogLevelDataCaptureAction as ak, type ExtractCentaurusLicenseDataCaptureAction as al, type OnTapAction as am, type HintPresenterV2updateAction as an, type GetViewfinderInfoAction as ao, type GetOpenSourceSoftwareLicenseInfoAction as ap, type DataCaptureCallbackMessageKeys as aq, type SuccessFeedbackWorkerMessage as ar, type ShowHintWorkerMessage as as, type UpdateHintWorkerMessage as at, type IsFeatureSupportedMessage as au, type HideHintWorkerMessage as av, type PerformanceMetricsReportMessage as aw, type DidTapTrackedBarcode as ax, type OnFrameProcessingStartedMessage as ay, type OnFrameProcessingFinishedMessage as az, FrameSourceState as b, HintAnchor as b0, type HintStyle as b1, GuidanceHintAnchor as b2, GuidanceHintStyle as b3, type GuidanceHint as b4, ToastHintStyle as b5, type ToastHint as b6, LicensedFeature as b7, type HintPresenterV2 as b8, type PlatformHintPresenter as b9, type LoadLibraryParameters as ba, type CreateContextParameters as bb, type UpdateContextParameters as bc, type SetFrameSourceParameters as bd, type ProcessFrameParameters as be, type ReportCameraPropertiesParameters as bf, type WorkerFunctions as bg, FrameReaderAbstract as bh, ColorType as bi, type FrameCapture as bj, FrameReader as bk, CameraPosition$1 as bl, CameraResolutionConstraint$1 as bm, AspectRatio as bn, type DeviceCamera$1 as bo, CameraAccess$1 as bp, MeteringMode as bq, CameraResolutionConstraint as br, type ExtendedMediaTrackCapabilities as bs, type ExtendedMediaTrackConstraintSet as bt, type GUI as bu, CameraManagerEvent as bv, type CameraManagerEventParameters as bw, CameraManager as bx, type FrameSourceListener as c, type FrameSourceJSON as d, type CameraJSON as e, type VideoFrameResolution as f, Camera as g, type CameraSettingsJSONBase as h, type CameraSettingsFromJSON as i, type CameraSettingsJSON as j, isCameraFrameSource as k, CameraSettings as l, CameraAccess as m, type DeviceCamera as n, type Change as o, type PrivateDataCaptureMode as p, type DataCaptureMode as q, type DataCaptureModeJSON as r, type PrivateDataCaptureComponent as s, type DataCaptureComponentJSON as t, type DataCaptureComponent as u, type PrivateDataCaptureContextOptions as v, type PrivateDataCaptureContext as w, type DataCaptureContextCreationOptions as x, type DataCaptureContextJSON as y, type PrivateFrameHandlerResponse as z };