@regulaforensics/document-reader 7.1.301-rc

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 (435) hide show
  1. package/README.md +17 -0
  2. package/RNDocumentReader.podspec +21 -0
  3. package/android/CVDDocumentReader.kt +74 -0
  4. package/android/build.gradle +36 -0
  5. package/android/cordova.gradle +12 -0
  6. package/android/src/main/java/com/regula/plugin/documentreader/BluetoothUtil.kt +160 -0
  7. package/android/src/main/java/com/regula/plugin/documentreader/Config.kt +834 -0
  8. package/android/src/main/java/com/regula/plugin/documentreader/JSONConstructor.kt +1795 -0
  9. package/android/src/main/java/com/regula/plugin/documentreader/Main.kt +579 -0
  10. package/android/src/main/java/com/regula/plugin/documentreader/RNDocumentReaderModule.kt +100 -0
  11. package/android/src/main/java/com/regula/plugin/documentreader/Utils.kt +181 -0
  12. package/examples/capacitor/README.md +22 -0
  13. package/examples/capacitor/android/app/build.gradle +50 -0
  14. package/examples/capacitor/android/app/capacitor.build.gradle +22 -0
  15. package/examples/capacitor/android/app/proguard-rules.pro +21 -0
  16. package/examples/capacitor/android/app/src/main/AndroidManifest.xml +27 -0
  17. package/examples/capacitor/android/app/src/main/assets/Regula/.gitkeep +0 -0
  18. package/examples/capacitor/android/app/src/main/java/com/regula/example/dr/capacitor/MainActivity.java +5 -0
  19. package/examples/capacitor/android/app/src/main/res/drawable/ic_launcher.png +0 -0
  20. package/examples/capacitor/android/app/src/main/res/drawable/ic_launcher_foreground.png +0 -0
  21. package/examples/capacitor/android/app/src/main/res/drawable/ic_launcher_round.png +0 -0
  22. package/examples/capacitor/android/app/src/main/res/drawable/launcher.xml +4 -0
  23. package/examples/capacitor/android/app/src/main/res/drawable/launcher_round.xml +4 -0
  24. package/examples/capacitor/android/app/src/main/res/drawable/splash.png +0 -0
  25. package/examples/capacitor/android/app/src/main/res/layout/activity_main.xml +12 -0
  26. package/examples/capacitor/android/app/src/main/res/values/styles.xml +22 -0
  27. package/examples/capacitor/android/build.gradle +30 -0
  28. package/examples/capacitor/android/capacitor.settings.gradle +15 -0
  29. package/examples/capacitor/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  30. package/examples/capacitor/android/gradle/wrapper/gradle-wrapper.properties +7 -0
  31. package/examples/capacitor/android/gradle.properties +22 -0
  32. package/examples/capacitor/android/gradlew +252 -0
  33. package/examples/capacitor/android/gradlew.bat +94 -0
  34. package/examples/capacitor/android/settings.gradle +5 -0
  35. package/examples/capacitor/android/variables.gradle +16 -0
  36. package/examples/capacitor/index.html +5 -0
  37. package/examples/capacitor/index.tsx +39 -0
  38. package/examples/capacitor/ionic.config.json +7 -0
  39. package/examples/capacitor/ios/App/App/App.entitlements +10 -0
  40. package/examples/capacitor/ios/App/App/AppDelegate.swift +49 -0
  41. package/examples/capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png +0 -0
  42. package/examples/capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json +14 -0
  43. package/examples/capacitor/ios/App/App/Assets.xcassets/Contents.json +6 -0
  44. package/examples/capacitor/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json +23 -0
  45. package/examples/capacitor/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png +0 -0
  46. package/examples/capacitor/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png +0 -0
  47. package/examples/capacitor/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png +0 -0
  48. package/examples/capacitor/ios/App/App/Base.lproj/LaunchScreen.storyboard +32 -0
  49. package/examples/capacitor/ios/App/App/Base.lproj/Main.storyboard +19 -0
  50. package/examples/capacitor/ios/App/App/Info.plist +67 -0
  51. package/examples/capacitor/ios/App/App.xcodeproj/project.pbxproj +414 -0
  52. package/examples/capacitor/ios/App/App.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  53. package/examples/capacitor/ios/App/App.xcworkspace/contents.xcworkspacedata +10 -0
  54. package/examples/capacitor/ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  55. package/examples/capacitor/ios/App/Podfile +26 -0
  56. package/examples/capacitor/ios/App/Podfile.lock +56 -0
  57. package/examples/capacitor/package-lock.json +3411 -0
  58. package/examples/capacitor/package.json +27 -0
  59. package/examples/capacitor/public/assets/.gitkeep +0 -0
  60. package/examples/capacitor/public/images/document.png +0 -0
  61. package/examples/capacitor/public/images/portrait.png +0 -0
  62. package/examples/capacitor/scripts/android.sh +9 -0
  63. package/examples/capacitor/scripts/ios.sh +8 -0
  64. package/examples/capacitor/scripts/setup.sh +12 -0
  65. package/examples/capacitor/src/extra/bt_device.tsx +33 -0
  66. package/examples/capacitor/src/extra/custom_rfid.tsx +61 -0
  67. package/examples/capacitor/src/main.css +148 -0
  68. package/examples/capacitor/src/main.html +38 -0
  69. package/examples/capacitor/src/main.tsx +172 -0
  70. package/examples/capacitor/tsconfig.json +5 -0
  71. package/examples/capacitor/vite.config.ts +17 -0
  72. package/examples/ionic/README.md +22 -0
  73. package/examples/ionic/angular.json +39 -0
  74. package/examples/ionic/assets/.gitkeep +0 -0
  75. package/examples/ionic/config.xml +61 -0
  76. package/examples/ionic/images/document.png +0 -0
  77. package/examples/ionic/images/icon.png +0 -0
  78. package/examples/ionic/images/portrait.png +0 -0
  79. package/examples/ionic/index.html +19 -0
  80. package/examples/ionic/index.tsx +54 -0
  81. package/examples/ionic/ionic.config.json +7 -0
  82. package/examples/ionic/package-lock.json +14349 -0
  83. package/examples/ionic/package.json +44 -0
  84. package/examples/ionic/scripts/android.sh +8 -0
  85. package/examples/ionic/scripts/ios.sh +8 -0
  86. package/examples/ionic/scripts/setup.sh +8 -0
  87. package/examples/ionic/src/extra/bt_device.tsx +33 -0
  88. package/examples/ionic/src/extra/custom_rfid.tsx +61 -0
  89. package/examples/ionic/src/main.css +148 -0
  90. package/examples/ionic/src/main.html +38 -0
  91. package/examples/ionic/src/main.tsx +172 -0
  92. package/examples/ionic/tsconfig.json +14 -0
  93. package/examples/react_native/README.md +22 -0
  94. package/examples/react_native/app.config.ts +49 -0
  95. package/examples/react_native/assets/.gitkeep +0 -0
  96. package/examples/react_native/images/document.png +0 -0
  97. package/examples/react_native/images/icon.png +0 -0
  98. package/examples/react_native/images/portrait.png +0 -0
  99. package/examples/react_native/index.html +11 -0
  100. package/examples/react_native/index.tsx +81 -0
  101. package/examples/react_native/metro.config.js +7 -0
  102. package/examples/react_native/package-lock.json +8612 -0
  103. package/examples/react_native/package.json +27 -0
  104. package/examples/react_native/scripts/android.sh +13 -0
  105. package/examples/react_native/scripts/ios.sh +12 -0
  106. package/examples/react_native/scripts/setup.sh +8 -0
  107. package/examples/react_native/src/extra/bt_device.tsx +33 -0
  108. package/examples/react_native/src/extra/custom_rfid.tsx +61 -0
  109. package/examples/react_native/src/main.css +148 -0
  110. package/examples/react_native/src/main.html +38 -0
  111. package/examples/react_native/src/main.tsx +172 -0
  112. package/ios/CVDDocumentReader.h +7 -0
  113. package/ios/CVDDocumentReader.m +39 -0
  114. package/ios/RGLWConfig.h +42 -0
  115. package/ios/RGLWConfig.m +1404 -0
  116. package/ios/RGLWJSONConstructor.h +185 -0
  117. package/ios/RGLWJSONConstructor.m +2379 -0
  118. package/ios/RGLWMain.h +36 -0
  119. package/ios/RGLWMain.m +620 -0
  120. package/ios/RNDocumentReader.h +8 -0
  121. package/ios/RNDocumentReader.m +49 -0
  122. package/package.json +36 -0
  123. package/plugin.xml +50 -0
  124. package/test/json.tsx +868 -0
  125. package/test/package-lock.json +584 -0
  126. package/test/package.json +9 -0
  127. package/test/test.tsx +93 -0
  128. package/test/utils.tsx +38 -0
  129. package/www/capacitor/config/InitConfig.js +52 -0
  130. package/www/capacitor/config/OnlineProcessingConfig.js +52 -0
  131. package/www/capacitor/config/RFIDConfig.js +31 -0
  132. package/www/capacitor/config/RecognizeConfig.js +126 -0
  133. package/www/capacitor/config/ScannerConfig.js +48 -0
  134. package/www/capacitor/index.js +502 -0
  135. package/www/capacitor/info/DocReaderException.js +64 -0
  136. package/www/capacitor/info/DocReaderScenario.js +89 -0
  137. package/www/capacitor/info/DocReaderVersion.js +32 -0
  138. package/www/capacitor/info/DocumentsDatabase.js +39 -0
  139. package/www/capacitor/info/License.js +30 -0
  140. package/www/capacitor/info/PrepareProgress.js +31 -0
  141. package/www/capacitor/info/RFIDException.js +26 -0
  142. package/www/capacitor/internal/bridge.js +98 -0
  143. package/www/capacitor/internal/cordova.js +17 -0
  144. package/www/capacitor/params/Functionality.js +355 -0
  145. package/www/capacitor/params/customization/Customization.js +633 -0
  146. package/www/capacitor/params/customization/CustomizationColors.js +87 -0
  147. package/www/capacitor/params/customization/CustomizationFonts.js +48 -0
  148. package/www/capacitor/params/customization/CustomizationImages.js +31 -0
  149. package/www/capacitor/params/customization/Font.js +36 -0
  150. package/www/capacitor/params/process_params/AuthenticityParams.js +150 -0
  151. package/www/capacitor/params/process_params/BackendProcessingConfig.js +34 -0
  152. package/www/capacitor/params/process_params/FaceApiParams.js +51 -0
  153. package/www/capacitor/params/process_params/FaceApiSearchParams.js +29 -0
  154. package/www/capacitor/params/process_params/GlaresCheckParams.js +25 -0
  155. package/www/capacitor/params/process_params/ImageQA.js +113 -0
  156. package/www/capacitor/params/process_params/LivenessParams.js +79 -0
  157. package/www/capacitor/params/process_params/ProcessParams.js +665 -0
  158. package/www/capacitor/params/process_params/RFIDParams.js +21 -0
  159. package/www/capacitor/params/rfid_scenario/DTCDataGroup.js +63 -0
  160. package/www/capacitor/params/rfid_scenario/EDLDataGroups.js +135 -0
  161. package/www/capacitor/params/rfid_scenario/EIDDataGroups.js +191 -0
  162. package/www/capacitor/params/rfid_scenario/EPassportDataGroups.js +151 -0
  163. package/www/capacitor/params/rfid_scenario/RFIDScenario.js +560 -0
  164. package/www/capacitor/results/DocumentType.js +302 -0
  165. package/www/capacitor/results/Position.js +88 -0
  166. package/www/capacitor/results/Results.js +343 -0
  167. package/www/capacitor/results/TransactionInfo.js +24 -0
  168. package/www/capacitor/results/authenticity/Authenticity.js +23 -0
  169. package/www/capacitor/results/authenticity/AuthenticityCheck.js +43 -0
  170. package/www/capacitor/results/authenticity/AuthenticityElement.js +37 -0
  171. package/www/capacitor/results/authenticity/AuthenticityResult.js +33 -0
  172. package/www/capacitor/results/authenticity/CheckDiagnose.js +125 -0
  173. package/www/capacitor/results/authenticity/SecurityFeatureType.js +59 -0
  174. package/www/capacitor/results/barcode/BarcodeField.js +34 -0
  175. package/www/capacitor/results/barcode/BarcodeResult.js +30 -0
  176. package/www/capacitor/results/barcode/BarcodeStatus.js +33 -0
  177. package/www/capacitor/results/barcode/BarcodeType.js +21 -0
  178. package/www/capacitor/results/barcode/PDF417Info.js +24 -0
  179. package/www/capacitor/results/image_quality/ImageQuality.js +40 -0
  180. package/www/capacitor/results/image_quality/ImageQualityCheckType.js +19 -0
  181. package/www/capacitor/results/image_quality/ImageQualityGroup.js +39 -0
  182. package/www/capacitor/results/rfid/AccessControlProcedureType.js +30 -0
  183. package/www/capacitor/results/rfid/Application.js +59 -0
  184. package/www/capacitor/results/rfid/Attribute.js +23 -0
  185. package/www/capacitor/results/rfid/Authority.js +36 -0
  186. package/www/capacitor/results/rfid/CardProperties.js +57 -0
  187. package/www/capacitor/results/rfid/CertificateChain.js +69 -0
  188. package/www/capacitor/results/rfid/CertificateData.js +21 -0
  189. package/www/capacitor/results/rfid/DataField.js +23 -0
  190. package/www/capacitor/results/rfid/Extension.js +21 -0
  191. package/www/capacitor/results/rfid/File.js +56 -0
  192. package/www/capacitor/results/rfid/FileData.js +27 -0
  193. package/www/capacitor/results/rfid/RFIDAccessControlProcedureType.js +10 -0
  194. package/www/capacitor/results/rfid/RFIDCertificateType.js +13 -0
  195. package/www/capacitor/results/rfid/RFIDDataFileType.js +98 -0
  196. package/www/capacitor/results/rfid/RFIDSessionData.js +92 -0
  197. package/www/capacitor/results/rfid/RFIDValidity.js +23 -0
  198. package/www/capacitor/results/rfid/RFIDValue.js +30 -0
  199. package/www/capacitor/results/rfid/SecurityObject.js +41 -0
  200. package/www/capacitor/results/rfid/SecurityObjectCertificates.js +20 -0
  201. package/www/capacitor/results/rfid/SignerInfo.js +74 -0
  202. package/www/capacitor/results/status/CheckResult.js +5 -0
  203. package/www/capacitor/results/status/OpticalStatus.js +44 -0
  204. package/www/capacitor/results/status/RFIDStatus.js +38 -0
  205. package/www/capacitor/results/status/ResultsStatus.js +40 -0
  206. package/www/capacitor/results/visible_digital_seals/BytesData.js +27 -0
  207. package/www/capacitor/results/visible_digital_seals/LDSParsingErrorCodes.js +134 -0
  208. package/www/capacitor/results/visible_digital_seals/LDSParsingNotificationCodes.js +232 -0
  209. package/www/capacitor/results/visible_digital_seals/VDSNCData.js +54 -0
  210. package/www/capacitor/results/visual_results/Comparison.js +27 -0
  211. package/www/capacitor/results/visual_results/FieldType.js +660 -0
  212. package/www/capacitor/results/visual_results/GraphicField.js +47 -0
  213. package/www/capacitor/results/visual_results/GraphicFieldType.js +25 -0
  214. package/www/capacitor/results/visual_results/GraphicResult.js +28 -0
  215. package/www/capacitor/results/visual_results/LCID.js +174 -0
  216. package/www/capacitor/results/visual_results/Lights.js +11 -0
  217. package/www/capacitor/results/visual_results/RFIDOrigin.js +27 -0
  218. package/www/capacitor/results/visual_results/Rect.js +27 -0
  219. package/www/capacitor/results/visual_results/Symbol.js +26 -0
  220. package/www/capacitor/results/visual_results/TextField.js +85 -0
  221. package/www/capacitor/results/visual_results/TextResult.js +52 -0
  222. package/www/capacitor/results/visual_results/TextSource.js +27 -0
  223. package/www/capacitor/results/visual_results/Validity.js +24 -0
  224. package/www/capacitor/results/visual_results/Value.js +52 -0
  225. package/www/capacitor/rfid/PAAttribute.js +24 -0
  226. package/www/capacitor/rfid/PAResourcesIssuer.js +35 -0
  227. package/www/capacitor/rfid/PKDCertificate.js +62 -0
  228. package/www/capacitor/rfid/RFIDErrorCodes.js +123 -0
  229. package/www/capacitor/rfid/RFIDNotification.js +68 -0
  230. package/www/capacitor/rfid/TAChallenge.js +33 -0
  231. package/www/capacitor/rfid/TccParams.js +34 -0
  232. package/www/cordova.js +11029 -0
  233. package/www/react-native/config/InitConfig.js +52 -0
  234. package/www/react-native/config/OnlineProcessingConfig.js +52 -0
  235. package/www/react-native/config/RFIDConfig.js +31 -0
  236. package/www/react-native/config/RecognizeConfig.js +126 -0
  237. package/www/react-native/config/ScannerConfig.js +48 -0
  238. package/www/react-native/index.js +502 -0
  239. package/www/react-native/info/DocReaderException.js +64 -0
  240. package/www/react-native/info/DocReaderScenario.js +89 -0
  241. package/www/react-native/info/DocReaderVersion.js +32 -0
  242. package/www/react-native/info/DocumentsDatabase.js +39 -0
  243. package/www/react-native/info/License.js +30 -0
  244. package/www/react-native/info/PrepareProgress.js +31 -0
  245. package/www/react-native/info/RFIDException.js +26 -0
  246. package/www/react-native/internal/bridge.js +98 -0
  247. package/www/react-native/params/Functionality.js +355 -0
  248. package/www/react-native/params/customization/Customization.js +633 -0
  249. package/www/react-native/params/customization/CustomizationColors.js +87 -0
  250. package/www/react-native/params/customization/CustomizationFonts.js +48 -0
  251. package/www/react-native/params/customization/CustomizationImages.js +31 -0
  252. package/www/react-native/params/customization/Font.js +36 -0
  253. package/www/react-native/params/process_params/AuthenticityParams.js +150 -0
  254. package/www/react-native/params/process_params/BackendProcessingConfig.js +34 -0
  255. package/www/react-native/params/process_params/FaceApiParams.js +51 -0
  256. package/www/react-native/params/process_params/FaceApiSearchParams.js +29 -0
  257. package/www/react-native/params/process_params/GlaresCheckParams.js +25 -0
  258. package/www/react-native/params/process_params/ImageQA.js +113 -0
  259. package/www/react-native/params/process_params/LivenessParams.js +79 -0
  260. package/www/react-native/params/process_params/ProcessParams.js +665 -0
  261. package/www/react-native/params/process_params/RFIDParams.js +21 -0
  262. package/www/react-native/params/rfid_scenario/DTCDataGroup.js +63 -0
  263. package/www/react-native/params/rfid_scenario/EDLDataGroups.js +135 -0
  264. package/www/react-native/params/rfid_scenario/EIDDataGroups.js +191 -0
  265. package/www/react-native/params/rfid_scenario/EPassportDataGroups.js +151 -0
  266. package/www/react-native/params/rfid_scenario/RFIDScenario.js +560 -0
  267. package/www/react-native/results/DocumentType.js +302 -0
  268. package/www/react-native/results/Position.js +88 -0
  269. package/www/react-native/results/Results.js +343 -0
  270. package/www/react-native/results/TransactionInfo.js +24 -0
  271. package/www/react-native/results/authenticity/Authenticity.js +23 -0
  272. package/www/react-native/results/authenticity/AuthenticityCheck.js +43 -0
  273. package/www/react-native/results/authenticity/AuthenticityElement.js +37 -0
  274. package/www/react-native/results/authenticity/AuthenticityResult.js +33 -0
  275. package/www/react-native/results/authenticity/CheckDiagnose.js +125 -0
  276. package/www/react-native/results/authenticity/SecurityFeatureType.js +59 -0
  277. package/www/react-native/results/barcode/BarcodeField.js +34 -0
  278. package/www/react-native/results/barcode/BarcodeResult.js +30 -0
  279. package/www/react-native/results/barcode/BarcodeStatus.js +33 -0
  280. package/www/react-native/results/barcode/BarcodeType.js +21 -0
  281. package/www/react-native/results/barcode/PDF417Info.js +24 -0
  282. package/www/react-native/results/image_quality/ImageQuality.js +40 -0
  283. package/www/react-native/results/image_quality/ImageQualityCheckType.js +19 -0
  284. package/www/react-native/results/image_quality/ImageQualityGroup.js +39 -0
  285. package/www/react-native/results/rfid/AccessControlProcedureType.js +30 -0
  286. package/www/react-native/results/rfid/Application.js +59 -0
  287. package/www/react-native/results/rfid/Attribute.js +23 -0
  288. package/www/react-native/results/rfid/Authority.js +36 -0
  289. package/www/react-native/results/rfid/CardProperties.js +57 -0
  290. package/www/react-native/results/rfid/CertificateChain.js +69 -0
  291. package/www/react-native/results/rfid/CertificateData.js +21 -0
  292. package/www/react-native/results/rfid/DataField.js +23 -0
  293. package/www/react-native/results/rfid/Extension.js +21 -0
  294. package/www/react-native/results/rfid/File.js +56 -0
  295. package/www/react-native/results/rfid/FileData.js +27 -0
  296. package/www/react-native/results/rfid/RFIDAccessControlProcedureType.js +10 -0
  297. package/www/react-native/results/rfid/RFIDCertificateType.js +13 -0
  298. package/www/react-native/results/rfid/RFIDDataFileType.js +98 -0
  299. package/www/react-native/results/rfid/RFIDSessionData.js +92 -0
  300. package/www/react-native/results/rfid/RFIDValidity.js +23 -0
  301. package/www/react-native/results/rfid/RFIDValue.js +30 -0
  302. package/www/react-native/results/rfid/SecurityObject.js +41 -0
  303. package/www/react-native/results/rfid/SecurityObjectCertificates.js +20 -0
  304. package/www/react-native/results/rfid/SignerInfo.js +74 -0
  305. package/www/react-native/results/status/CheckResult.js +5 -0
  306. package/www/react-native/results/status/OpticalStatus.js +44 -0
  307. package/www/react-native/results/status/RFIDStatus.js +38 -0
  308. package/www/react-native/results/status/ResultsStatus.js +40 -0
  309. package/www/react-native/results/visible_digital_seals/BytesData.js +27 -0
  310. package/www/react-native/results/visible_digital_seals/LDSParsingErrorCodes.js +134 -0
  311. package/www/react-native/results/visible_digital_seals/LDSParsingNotificationCodes.js +232 -0
  312. package/www/react-native/results/visible_digital_seals/VDSNCData.js +54 -0
  313. package/www/react-native/results/visual_results/Comparison.js +27 -0
  314. package/www/react-native/results/visual_results/FieldType.js +660 -0
  315. package/www/react-native/results/visual_results/GraphicField.js +47 -0
  316. package/www/react-native/results/visual_results/GraphicFieldType.js +25 -0
  317. package/www/react-native/results/visual_results/GraphicResult.js +28 -0
  318. package/www/react-native/results/visual_results/LCID.js +174 -0
  319. package/www/react-native/results/visual_results/Lights.js +11 -0
  320. package/www/react-native/results/visual_results/RFIDOrigin.js +27 -0
  321. package/www/react-native/results/visual_results/Rect.js +27 -0
  322. package/www/react-native/results/visual_results/Symbol.js +26 -0
  323. package/www/react-native/results/visual_results/TextField.js +85 -0
  324. package/www/react-native/results/visual_results/TextResult.js +52 -0
  325. package/www/react-native/results/visual_results/TextSource.js +27 -0
  326. package/www/react-native/results/visual_results/Validity.js +24 -0
  327. package/www/react-native/results/visual_results/Value.js +52 -0
  328. package/www/react-native/rfid/PAAttribute.js +24 -0
  329. package/www/react-native/rfid/PAResourcesIssuer.js +35 -0
  330. package/www/react-native/rfid/PKDCertificate.js +62 -0
  331. package/www/react-native/rfid/RFIDErrorCodes.js +123 -0
  332. package/www/react-native/rfid/RFIDNotification.js +68 -0
  333. package/www/react-native/rfid/TAChallenge.js +33 -0
  334. package/www/react-native/rfid/TccParams.js +34 -0
  335. package/www/types/config/InitConfig.d.ts +63 -0
  336. package/www/types/config/OnlineProcessingConfig.d.ts +22 -0
  337. package/www/types/config/RFIDConfig.d.ts +131 -0
  338. package/www/types/config/RecognizeConfig.d.ts +119 -0
  339. package/www/types/config/ScannerConfig.d.ts +54 -0
  340. package/www/types/index.d.ts +427 -0
  341. package/www/types/info/DocReaderException.d.ts +79 -0
  342. package/www/types/info/DocReaderScenario.d.ts +90 -0
  343. package/www/types/info/DocReaderVersion.d.ts +28 -0
  344. package/www/types/info/DocumentsDatabase.d.ts +42 -0
  345. package/www/types/info/License.d.ts +23 -0
  346. package/www/types/info/PrepareProgress.d.ts +15 -0
  347. package/www/types/info/RFIDException.d.ts +8 -0
  348. package/www/types/params/Functionality.d.ts +320 -0
  349. package/www/types/params/customization/Customization.d.ts +563 -0
  350. package/www/types/params/customization/CustomizationColors.d.ts +16 -0
  351. package/www/types/params/customization/CustomizationFonts.d.ts +13 -0
  352. package/www/types/params/customization/CustomizationImages.d.ts +12 -0
  353. package/www/types/params/customization/Font.d.ts +36 -0
  354. package/www/types/params/process_params/AuthenticityParams.d.ts +30 -0
  355. package/www/types/params/process_params/BackendProcessingConfig.d.ts +25 -0
  356. package/www/types/params/process_params/FaceApiParams.d.ts +68 -0
  357. package/www/types/params/process_params/FaceApiSearchParams.d.ts +35 -0
  358. package/www/types/params/process_params/GlaresCheckParams.d.ts +26 -0
  359. package/www/types/params/process_params/ImageQA.d.ts +79 -0
  360. package/www/types/params/process_params/LivenessParams.d.ts +20 -0
  361. package/www/types/params/process_params/ProcessParams.d.ts +473 -0
  362. package/www/types/params/process_params/RFIDParams.d.ts +19 -0
  363. package/www/types/params/rfid_scenario/DTCDataGroup.d.ts +13 -0
  364. package/www/types/params/rfid_scenario/EDLDataGroups.d.ts +22 -0
  365. package/www/types/params/rfid_scenario/EIDDataGroups.d.ts +29 -0
  366. package/www/types/params/rfid_scenario/EPassportDataGroups.d.ts +24 -0
  367. package/www/types/params/rfid_scenario/RFIDScenario.d.ts +167 -0
  368. package/www/types/results/DocumentType.d.ts +525 -0
  369. package/www/types/results/Position.d.ts +50 -0
  370. package/www/types/results/Results.d.ts +283 -0
  371. package/www/types/results/TransactionInfo.d.ts +9 -0
  372. package/www/types/results/authenticity/Authenticity.d.ts +67 -0
  373. package/www/types/results/authenticity/AuthenticityCheck.d.ts +23 -0
  374. package/www/types/results/authenticity/AuthenticityElement.d.ts +26 -0
  375. package/www/types/results/authenticity/AuthenticityResult.d.ts +16 -0
  376. package/www/types/results/authenticity/CheckDiagnose.d.ts +231 -0
  377. package/www/types/results/authenticity/SecurityFeatureType.d.ts +100 -0
  378. package/www/types/results/barcode/BarcodeField.d.ts +37 -0
  379. package/www/types/results/barcode/BarcodeResult.d.ts +14 -0
  380. package/www/types/results/barcode/BarcodeStatus.d.ts +66 -0
  381. package/www/types/results/barcode/BarcodeType.d.ts +45 -0
  382. package/www/types/results/barcode/PDF417Info.d.ts +15 -0
  383. package/www/types/results/image_quality/ImageQuality.d.ts +18 -0
  384. package/www/types/results/image_quality/ImageQualityCheckType.d.ts +30 -0
  385. package/www/types/results/image_quality/ImageQualityGroup.d.ts +17 -0
  386. package/www/types/results/rfid/AccessControlProcedureType.d.ts +21 -0
  387. package/www/types/results/rfid/Application.d.ts +44 -0
  388. package/www/types/results/rfid/Attribute.d.ts +9 -0
  389. package/www/types/results/rfid/Authority.d.ts +11 -0
  390. package/www/types/results/rfid/CardProperties.d.ts +48 -0
  391. package/www/types/results/rfid/CertificateChain.d.ts +28 -0
  392. package/www/types/results/rfid/CertificateData.d.ts +7 -0
  393. package/www/types/results/rfid/DataField.d.ts +9 -0
  394. package/www/types/results/rfid/Extension.d.ts +7 -0
  395. package/www/types/results/rfid/File.d.ts +22 -0
  396. package/www/types/results/rfid/FileData.d.ts +9 -0
  397. package/www/types/results/rfid/RFIDAccessControlProcedureType.d.ts +18 -0
  398. package/www/types/results/rfid/RFIDCertificateType.d.ts +13 -0
  399. package/www/types/results/rfid/RFIDDataFileType.d.ts +101 -0
  400. package/www/types/results/rfid/RFIDSessionData.d.ts +48 -0
  401. package/www/types/results/rfid/RFIDValidity.d.ts +9 -0
  402. package/www/types/results/rfid/RFIDValue.d.ts +10 -0
  403. package/www/types/results/rfid/SecurityObject.d.ts +28 -0
  404. package/www/types/results/rfid/SecurityObjectCertificates.d.ts +8 -0
  405. package/www/types/results/rfid/SignerInfo.d.ts +41 -0
  406. package/www/types/results/status/CheckResult.d.ts +8 -0
  407. package/www/types/results/status/OpticalStatus.d.ts +29 -0
  408. package/www/types/results/status/RFIDStatus.d.ts +22 -0
  409. package/www/types/results/status/ResultsStatus.d.ts +24 -0
  410. package/www/types/results/visible_digital_seals/BytesData.d.ts +9 -0
  411. package/www/types/results/visible_digital_seals/LDSParsingErrorCodes.d.ts +132 -0
  412. package/www/types/results/visible_digital_seals/LDSParsingNotificationCodes.d.ts +230 -0
  413. package/www/types/results/visible_digital_seals/VDSNCData.d.ts +35 -0
  414. package/www/types/results/visual_results/Comparison.d.ts +15 -0
  415. package/www/types/results/visual_results/FieldType.d.ts +1314 -0
  416. package/www/types/results/visual_results/GraphicField.d.ts +29 -0
  417. package/www/types/results/visual_results/GraphicFieldType.d.ts +52 -0
  418. package/www/types/results/visual_results/GraphicResult.d.ts +10 -0
  419. package/www/types/results/visual_results/LCID.d.ts +173 -0
  420. package/www/types/results/visual_results/Lights.d.ts +23 -0
  421. package/www/types/results/visual_results/RFIDOrigin.d.ts +10 -0
  422. package/www/types/results/visual_results/Rect.d.ts +9 -0
  423. package/www/types/results/visual_results/Symbol.d.ts +14 -0
  424. package/www/types/results/visual_results/TextField.d.ts +40 -0
  425. package/www/types/results/visual_results/TextResult.d.ts +23 -0
  426. package/www/types/results/visual_results/TextSource.d.ts +15 -0
  427. package/www/types/results/visual_results/Validity.d.ts +13 -0
  428. package/www/types/results/visual_results/Value.d.ts +27 -0
  429. package/www/types/rfid/PAAttribute.d.ts +4 -0
  430. package/www/types/rfid/PAResourcesIssuer.d.ts +7 -0
  431. package/www/types/rfid/PKDCertificate.d.ts +34 -0
  432. package/www/types/rfid/RFIDErrorCodes.d.ts +121 -0
  433. package/www/types/rfid/RFIDNotification.d.ts +153 -0
  434. package/www/types/rfid/TAChallenge.d.ts +7 -0
  435. package/www/types/rfid/TccParams.d.ts +25 -0
package/test/test.tsx ADDED
@@ -0,0 +1,93 @@
1
+ import { compare } from './utils'
2
+ import { AccessControlProcedureType, Application, Attribute, AuthenticityCheck, AuthenticityElement, AuthenticityParams, AuthenticityResult, Authority, BackendProcessingConfig, BarcodeField, BarcodeResult, BytesData, CardProperties, CertificateChain, CertificateData, Comparison, Coordinate, Customization, CustomizationColors, CustomizationFonts, CustomizationImages, DataField, DocReaderException, DocReaderScenario, DocReaderVersion, DocumentsDatabase, DocumentType, EDLDataGroups, EIDDataGroups, DTCDataGroup, EPassportDataGroups, Extension, FaceApiParams, FaceApiSearchParams, File, FileData, Functionality, GlaresCheckParams, RFIDParams, GraphicField, GraphicResult, ImageInputData, ImageQA, ImageQuality, ImageQualityGroup, InitConfig, License, LivenessParams, OnlineProcessingConfig, OpticalStatus, PAAttribute, PAResourcesIssuer, PDF417Info, PKDCertificate, Position, PrepareProgress, ProcessParams, RecognizeConfig, Rect, Results, ResultsStatus, RFIDException, RFIDNotification, RFIDOrigin, RFIDScenario, RFIDSessionData, RFIDStatus, RFIDValidity, RFIDValue, ScannerConfig, SecurityObject, SecurityObjectCertificates, SignerInfo, Symbol, TAChallenge, TccParams, TextField, TextResult, TextSource, TransactionInfo, Validity, Value, VDSNCData } from '@regulaforensics/document-reader'
3
+ import { accessControlProcedureType, application, attribute, authenticityCheck, authenticityElement, authenticityParams, authenticityResult, authority, backendProcessingConfig, barcodeField, barcodeResult, bytesData, cardProperties, certificateChain, certificateData, comparison, coordinate, customization, customizationColors, customizationFonts, customizationImages, dataField, docReaderException, docReaderScenario, docReaderVersion, documentsDatabase, documentType, eDLDataGroups, eIDDataGroups, dtcDataGroup, ePassportDataGroups, extension, faceApiParams, faceApiSearchParams, file, fileData, functionality, glaresCheckParams, rfidParams, graphicField, graphicResult, imageInputData, imageQA, imageQuality, imageQualityGroup, initConfig, license, livenessParams, onlineProcessingConfig, opticalStatus, paAttribute, paResourcesIssuer, pdf417Info, pkdCertificate, position, prepareProgress, processParams, recognizeConfig, recognizeConfig2, rect, results, resultsStatus, rfidException, rfidNotification, rfidOrigin, rfidScenario, rfidSessionData, rfidStatus, rfidValidity, rfidValue, scannerConfig, securityObject, securityObjectCertificates, signerInfo, symbol, taChallenge, tccParams, textField, textResult, textSource, transactionInfo, validity, value, vdsncData } from './json'
4
+
5
+ compare('initConfig', initConfig, InitConfig.fromJson)
6
+ compare('onlineProcessingConfig', onlineProcessingConfig, OnlineProcessingConfig.fromJson)
7
+ compare('imageInputData', imageInputData, ImageInputData.fromJson)
8
+ compare('recognizeConfig', recognizeConfig, RecognizeConfig.fromJson)
9
+ compare('recognizeConfig2', recognizeConfig2, RecognizeConfig.fromJson)
10
+ compare('scannerConfig', scannerConfig, ScannerConfig.fromJson)
11
+
12
+ compare('faceApiSearchParams', faceApiSearchParams, FaceApiSearchParams.fromJson)
13
+ compare('faceApiParams', faceApiParams, FaceApiParams.fromJson)
14
+
15
+ compare('livenessParams', livenessParams, LivenessParams.fromJson)
16
+ compare('authenticityParams', authenticityParams, AuthenticityParams.fromJson)
17
+ compare('glaresCheckParams', glaresCheckParams, GlaresCheckParams.fromJson)
18
+ compare('rfidParams', rfidParams, RFIDParams.fromJson)
19
+ compare('imageQA', imageQA, ImageQA.fromJson)
20
+ compare('backendProcessingConfig', backendProcessingConfig, BackendProcessingConfig.fromJson)
21
+ compare('processParams', processParams, ProcessParams.fromJson, ['logs'])
22
+ compare('eDLDataGroups', eDLDataGroups, EDLDataGroups.fromJson)
23
+ compare('ePassportDataGroups', ePassportDataGroups, EPassportDataGroups.fromJson)
24
+ compare('eIDDataGroups', eIDDataGroups, EIDDataGroups.fromJson)
25
+ compare('dtcDataGroup', dtcDataGroup, DTCDataGroup.fromJson)
26
+ compare('rfidScenario', rfidScenario, RFIDScenario.fromJson)
27
+ compare('customizationColors', customizationColors, CustomizationColors.fromJson)
28
+ compare('customizationFonts', customizationFonts, CustomizationFonts.fromJson)
29
+ compare('customizationImages', customizationImages, CustomizationImages.fromJson)
30
+ compare('customization', customization, Customization.fromJson)
31
+ compare('functionality', functionality, Functionality.fromJson)
32
+
33
+ compare('documentsDatabase', documentsDatabase, DocumentsDatabase.fromJson)
34
+ compare('docReaderVersion', docReaderVersion, DocReaderVersion.fromJson)
35
+ compare('docReaderScenario', docReaderScenario, DocReaderScenario.fromJson)
36
+ compare('license', license, License.fromJson)
37
+ compare('docReaderException', docReaderException, DocReaderException.fromJson)
38
+ compare('rfidException', rfidException, RFIDException.fromJson)
39
+ compare('prepareProgress', prepareProgress, PrepareProgress.fromJson)
40
+
41
+ compare('authenticityElement', authenticityElement, AuthenticityElement.fromJson)
42
+ compare('authenticityCheck', authenticityCheck, AuthenticityCheck.fromJson)
43
+ compare('authenticityResult', authenticityResult, AuthenticityResult.fromJson)
44
+ compare('pdf417Info', pdf417Info, PDF417Info.fromJson)
45
+ compare('barcodeField', barcodeField, BarcodeField.fromJson)
46
+ compare('barcodeResult', barcodeResult, BarcodeResult.fromJson)
47
+ compare('imageQuality', imageQuality, ImageQuality.fromJson)
48
+ compare('imageQualityGroup', imageQualityGroup, ImageQualityGroup.fromJson)
49
+ compare('accessControlProcedureType', accessControlProcedureType, AccessControlProcedureType.fromJson)
50
+ compare('fileData', fileData, FileData.fromJson)
51
+ compare('certificateData', certificateData, CertificateData.fromJson)
52
+ compare('securityObjectCertificates', securityObjectCertificates, SecurityObjectCertificates.fromJson)
53
+ compare('file', file, File.fromJson)
54
+ compare('application', application, Application.fromJson)
55
+ compare('rfidValue', rfidValue, RFIDValue.fromJson)
56
+ compare('attribute', attribute, Attribute.fromJson)
57
+ compare('authority', authority, Authority.fromJson)
58
+ compare('cardProperties', cardProperties, CardProperties.fromJson)
59
+ compare('extension', extension, Extension.fromJson)
60
+ compare('rfidValidity', rfidValidity, RFIDValidity.fromJson)
61
+ compare('certificateChain', certificateChain, CertificateChain.fromJson)
62
+ compare('dataField', dataField, DataField.fromJson)
63
+ compare('signerInfo', signerInfo, SignerInfo.fromJson)
64
+ compare('securityObject', securityObject, SecurityObject.fromJson)
65
+ compare('rfidSessionData', rfidSessionData, RFIDSessionData.fromJson)
66
+ compare('bytesData', bytesData, BytesData.fromJson)
67
+ compare('vdsncData', vdsncData, VDSNCData.fromJson)
68
+ compare('opticalStatus', opticalStatus, OpticalStatus.fromJson)
69
+ compare('rfidStatus', rfidStatus, RFIDStatus.fromJson)
70
+ compare('resultsStatus', resultsStatus, ResultsStatus.fromJson)
71
+ compare('comparison', comparison, Comparison.fromJson)
72
+ compare('rect', rect, Rect.fromJson)
73
+ compare('graphicField', graphicField, GraphicField.fromJson)
74
+ compare('graphicResult', graphicResult, GraphicResult.fromJson)
75
+ compare('rfidOrigin', rfidOrigin, RFIDOrigin.fromJson)
76
+ compare('symbol', symbol, Symbol.fromJson)
77
+ compare('validity', validity, Validity.fromJson)
78
+ compare('value', value, Value.fromJson)
79
+ compare('textField', textField, TextField.fromJson)
80
+ compare('textSource', textSource, TextSource.fromJson)
81
+ compare('textResult', textResult, TextResult.fromJson)
82
+ compare('documentType', documentType, DocumentType.fromJson)
83
+ compare('coordinate', coordinate, Coordinate.fromJson)
84
+ compare('position', position, Position.fromJson)
85
+ compare('transactionInfo', transactionInfo, TransactionInfo.fromJson)
86
+ compare('results', results, Results.fromJson)
87
+
88
+ compare('rfidNotification', rfidNotification, RFIDNotification.fromJson)
89
+ compare('paAttribute', paAttribute, PAAttribute.fromJson)
90
+ compare('paResourcesIssuer', paResourcesIssuer, PAResourcesIssuer.fromJson)
91
+ compare('pkdCertificate', pkdCertificate, PKDCertificate.fromJson)
92
+ compare('taChallenge', taChallenge, TAChallenge.fromJson)
93
+ compare('tccParams', tccParams, TccParams.fromJson)
package/test/utils.tsx ADDED
@@ -0,0 +1,38 @@
1
+ import test from 'node:test'
2
+ import * as assert from 'assert'
3
+
4
+ export function compare(
5
+ name: string,
6
+ json: Record<string, any>,
7
+ fromJson: (json: Record<string, any>) => any,
8
+ skip?: string[],
9
+ ) {
10
+ test(name, () => {
11
+ var actual = removeUndefineds(fromJson(json).toJson())
12
+ if (skip) for (const item of skip) delete actual[item]
13
+ assert.deepEqual(actual, json)
14
+ })
15
+ }
16
+
17
+ function removeUndefineds(input) {
18
+ const isPlainObject = obj => Object.prototype.toString.call(obj) === '[object Object]';
19
+
20
+ if (input === undefined) return undefined;
21
+ if (input === null || typeof input !== 'object') return input;
22
+
23
+ if (Array.isArray(input)) {
24
+ return input
25
+ .map(item => removeUndefineds(item))
26
+ .filter(item => item !== undefined);
27
+ }
28
+
29
+ if (!isPlainObject(input)) return input;
30
+
31
+ const result = {};
32
+ for (const [key, value] of Object.entries(input)) {
33
+ if (value === undefined) continue;
34
+ const cleaned = removeUndefineds(value);
35
+ if (cleaned !== undefined) result[key] = cleaned;
36
+ }
37
+ return result;
38
+ }
@@ -0,0 +1,52 @@
1
+ export class InitConfig {
2
+ license
3
+ licenseUpdate
4
+ delayedNNLoad
5
+ databasePath
6
+ customDb
7
+ blackList
8
+ useBleDevice
9
+
10
+ static withBleDevice() {
11
+ var result = new InitConfig()
12
+ result.useBleDevice = true
13
+ return result
14
+ }
15
+
16
+ constructor(license, options) {
17
+ this.license = license
18
+ this.licenseUpdate = options?.licenseUpdate ?? true
19
+ this.delayedNNLoad = options?.delayedNNLoad ?? false
20
+ this.databasePath = options?.databasePath
21
+ this.customDb = options?.customDb
22
+ this.blackList = options?.blackList
23
+ this.useBleDevice = false
24
+ }
25
+
26
+ static fromJson(jsonObject) {
27
+ if (jsonObject == null) return null;
28
+ var result = new InitConfig(jsonObject["license"]);
29
+
30
+ result.customDb = jsonObject["customDb"];
31
+ result.delayedNNLoad = jsonObject["delayedNNLoad"];
32
+ result.licenseUpdate = jsonObject["licenseUpdate"];
33
+ result.blackList = jsonObject["blackList"];
34
+ result.databasePath = jsonObject["databasePath"];
35
+ result.useBleDevice = jsonObject["useBleDevice"];
36
+
37
+ return result;
38
+ }
39
+
40
+
41
+ toJson() {
42
+ return {
43
+ "license": this.license,
44
+ "delayedNNLoad": this.delayedNNLoad,
45
+ "licenseUpdate": this.licenseUpdate,
46
+ "blackList": this.blackList,
47
+ "customDb": this.customDb,
48
+ "databasePath": this.databasePath,
49
+ "useBleDevice": this.useBleDevice,
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,52 @@
1
+ import { ProcessParams } from "../params/process_params/ProcessParams";
2
+ import { Scenario } from "../info/DocReaderScenario";
3
+
4
+ export class OnlineProcessingConfig {
5
+ mode
6
+ url
7
+ processParams
8
+ imageFormat
9
+ imageCompressionQuality
10
+ requestHeaders
11
+
12
+ constructor(mode) {
13
+ this.mode = mode
14
+ this.processParams = new ProcessParams()
15
+ this.processParams.scenario = Scenario.FULL_PROCESS
16
+ }
17
+
18
+ static fromJson(jsonObject) {
19
+ if (jsonObject == null) return null
20
+
21
+ const result = new OnlineProcessingConfig(jsonObject["mode"])
22
+
23
+ result.url = jsonObject["url"]
24
+ result.imageFormat = jsonObject["imageFormat"]
25
+ result.imageCompressionQuality = jsonObject["imageCompressionQuality"]
26
+ result.processParams = ProcessParams.fromJson(jsonObject["processParams"])
27
+ result.requestHeaders = jsonObject["requestHeaders"]
28
+
29
+ return result
30
+ }
31
+
32
+ toJson() {
33
+ return {
34
+ "mode": this.mode,
35
+ "url": this.url,
36
+ "imageFormat": this.imageFormat,
37
+ "imageCompressionQuality": this.imageCompressionQuality,
38
+ "processParams": this.processParams?.toJson(),
39
+ "requestHeaders": this.requestHeaders,
40
+ }
41
+ }
42
+ }
43
+
44
+ export const ImageFormat = {
45
+ PNG: 0,
46
+ JPG: 1
47
+ }
48
+
49
+ export const OnlineMode = {
50
+ MANUAL: 0,
51
+ AUTO: 1
52
+ }
@@ -0,0 +1,31 @@
1
+ import { DocReaderAction } from "../index";
2
+ import { Results } from "../results/Results";
3
+ import { RFIDException } from "../info/RFIDException";
4
+ import { RFIDNotification } from "../rfid/RFIDNotification";
5
+ import { PAResourcesIssuer } from "../rfid/PAResourcesIssuer";
6
+ import { PKDCertificate } from "../rfid/PKDCertificate";
7
+ import { TAChallenge } from "../rfid/TAChallenge";
8
+
9
+ export class RFIDConfig {
10
+ _completion
11
+ _rfidCompletion
12
+ _disableUI
13
+ onProgress
14
+ onChipDetected
15
+ onRetryReadChip
16
+ onRequestPACertificates
17
+ onRequestTACertificates
18
+ onRequestTASignature
19
+
20
+ constructor(completion) {
21
+ this._completion = completion
22
+ this._disableUI = false
23
+ }
24
+
25
+ static withoutUI(completion) {
26
+ const result = new RFIDConfig(null)
27
+ result._rfidCompletion = completion
28
+ result._disableUI = true
29
+ return result
30
+ }
31
+ }
@@ -0,0 +1,126 @@
1
+ import { OnlineProcessingConfig } from "./OnlineProcessingConfig";
2
+ import { Scenario } from "../info/DocReaderScenario";
3
+ import { Lights } from "../results/visual_results/Lights";
4
+
5
+ export class RecognizeConfig {
6
+ scenario
7
+ onlineProcessingConfig
8
+ image
9
+ images
10
+ data
11
+ imageInputData
12
+ dtc
13
+ livePortrait
14
+ extPortrait
15
+ oneShotIdentification
16
+
17
+ constructor() {
18
+ this.oneShotIdentification = false
19
+ }
20
+
21
+ static withScenario(scenario, options) {
22
+ const result = new RecognizeConfig()
23
+ result.scenario = scenario
24
+ result.image = options?.image
25
+ result.images = options?.images
26
+ result.data = options?.data
27
+ result.imageInputData = options?.imageInputData
28
+ result.dtc = options?.dtc
29
+ result.livePortrait = options?.livePortrait
30
+ result.extPortrait = options?.extPortrait
31
+ result.oneShotIdentification = options?.oneShotIdentification ?? false
32
+ return result
33
+ }
34
+
35
+ static withOnlineProcessingConfig(onlineProcessingConfig, options) {
36
+ const result = new RecognizeConfig()
37
+ result.onlineProcessingConfig = onlineProcessingConfig
38
+ result.image = options?.image
39
+ result.images = options?.images
40
+ result.data = options?.data
41
+ result.imageInputData = options?.imageInputData
42
+ result.dtc = options?.dtc
43
+ result.livePortrait = options?.livePortrait
44
+ result.extPortrait = options?.extPortrait
45
+ result.oneShotIdentification = options?.oneShotIdentification ?? false
46
+ return result
47
+ }
48
+
49
+ static fromJson(jsonObject) {
50
+ if (jsonObject == null) return null
51
+ const result = new RecognizeConfig()
52
+
53
+ result.scenario = jsonObject["scenario"]
54
+ result.onlineProcessingConfig = OnlineProcessingConfig.fromJson(jsonObject["onlineProcessingConfig"])
55
+ result.image = jsonObject["image"]
56
+ if (jsonObject["images"] != null) {
57
+ result.images = []
58
+ for (const item of jsonObject["images"]) {
59
+ if (item != null) {
60
+ result.images.push(item)
61
+ }
62
+ }
63
+ }
64
+ result.data = jsonObject["data"]
65
+ if (jsonObject["imageInputData"] != null) {
66
+ result.imageInputData = []
67
+ for (const item of jsonObject["imageInputData"]) {
68
+ const imageInputData = ImageInputData.fromJson(item)
69
+ if (imageInputData != null) {
70
+ result.imageInputData.push(imageInputData)
71
+ }
72
+ }
73
+ }
74
+ result.dtc = jsonObject["dtc"]
75
+ result.livePortrait = jsonObject["livePortrait"]
76
+ result.extPortrait = jsonObject["extPortrait"]
77
+ result.oneShotIdentification = jsonObject["oneShotIdentification"]
78
+
79
+ return result
80
+ }
81
+
82
+ toJson() {
83
+ return {
84
+ "scenario": this.scenario,
85
+ "onlineProcessingConfig": this.onlineProcessingConfig?.toJson(),
86
+ "image": this.image,
87
+ "images": this.images,
88
+ "data": this.data,
89
+ "imageInputData": this.imageInputData?.map(e => e.toJson()),
90
+ "dtc": this.dtc,
91
+ "livePortrait": this.livePortrait,
92
+ "extPortrait": this.extPortrait,
93
+ "oneShotIdentification": this.oneShotIdentification,
94
+ }
95
+ }
96
+ }
97
+
98
+ export class ImageInputData {
99
+ image
100
+ light
101
+ pageIndex
102
+
103
+ constructor(image, options) {
104
+ this.image = image
105
+ this.light = options?.light ?? Lights.WHITE_FULL
106
+ this.pageIndex = options?.pageIndex ?? 0
107
+ }
108
+
109
+ static fromJson(jsonObject) {
110
+ if (jsonObject == null) return null
111
+ const result = new ImageInputData(jsonObject["image"])
112
+
113
+ result.pageIndex = jsonObject["pageIndex"]
114
+ result.light = jsonObject["light"]
115
+
116
+ return result
117
+ }
118
+
119
+ toJson() {
120
+ return {
121
+ "image": this.image,
122
+ "light": this.light,
123
+ "pageIndex": this.pageIndex,
124
+ }
125
+ }
126
+ }
@@ -0,0 +1,48 @@
1
+ import { OnlineProcessingConfig } from "./OnlineProcessingConfig";
2
+
3
+ export class ScannerConfig {
4
+ scenario
5
+ onlineProcessingConfig
6
+ livePortrait
7
+ extPortrait
8
+ cameraId
9
+
10
+ constructor(scenario, onlineProcessingConfig) {
11
+ this.scenario = scenario
12
+ this.onlineProcessingConfig = onlineProcessingConfig
13
+ }
14
+
15
+ static withScenario(scenario) {
16
+ const result = new ScannerConfig(scenario, undefined)
17
+ return result
18
+ }
19
+
20
+ static withOnlineProcessingConfig(onlineProcessingConfig) {
21
+ const result = new ScannerConfig(undefined, onlineProcessingConfig)
22
+ return result
23
+ }
24
+
25
+ static fromJson(jsonObject) {
26
+ if (jsonObject == null) return null
27
+
28
+ const result = new ScannerConfig(undefined, undefined)
29
+
30
+ result.scenario = jsonObject["scenario"]
31
+ result.onlineProcessingConfig = OnlineProcessingConfig.fromJson(jsonObject["onlineProcessingConfig"])
32
+ result.livePortrait = jsonObject["livePortrait"]
33
+ result.extPortrait = jsonObject["extPortrait"]
34
+ result.cameraId = jsonObject["cameraId"]
35
+
36
+ return result
37
+ }
38
+
39
+ toJson() {
40
+ return {
41
+ "scenario": this.scenario,
42
+ "onlineProcessingConfig": this.onlineProcessingConfig?.toJson(),
43
+ "livePortrait": this.livePortrait,
44
+ "extPortrait": this.extPortrait,
45
+ "cameraId": this.cameraId,
46
+ }
47
+ }
48
+ }