dynamsoft-capture-vision-react-native 3.4.1300 → 3.4.3000

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 (222) hide show
  1. package/LICENSE +4 -4
  2. package/README.md +62 -62
  3. package/android/README.md +14 -14
  4. package/android/build.gradle +167 -163
  5. package/android/gradle.properties +20 -20
  6. package/android/settings.gradle +5 -5
  7. package/android/src/main/AndroidManifest.xml +6 -6
  8. package/android/src/main/AndroidManifest_noPackage.xml +5 -5
  9. package/android/src/main/cpp/CMakeLists.txt +21 -21
  10. package/android/src/main/cpp/ImgHO.cpp +94 -94
  11. package/android/src/main/cpp/ImgHO.h +34 -34
  12. package/android/src/main/cpp/JsiCore.cpp +296 -296
  13. package/android/src/main/cpp/JsiCore.h +51 -51
  14. package/android/src/main/cpp/JsiCvr.cpp +332 -332
  15. package/android/src/main/cpp/JsiCvr.h +54 -54
  16. package/android/src/main/cpp/JsiDbr.cpp +283 -283
  17. package/android/src/main/cpp/JsiDbr.h +26 -26
  18. package/android/src/main/cpp/JsiDce.cpp +59 -59
  19. package/android/src/main/cpp/JsiDce.h +17 -17
  20. package/android/src/main/cpp/JsiDcp.cpp +51 -51
  21. package/android/src/main/cpp/JsiDcp.h +31 -31
  22. package/android/src/main/cpp/JsiDdn.cpp +50 -50
  23. package/android/src/main/cpp/JsiDdn.h +28 -28
  24. package/android/src/main/cpp/JsiDlr.cpp +60 -60
  25. package/android/src/main/cpp/JsiDlr.h +26 -26
  26. package/android/src/main/cpp/JsiUtility.cpp +604 -604
  27. package/android/src/main/cpp/JsiUtility.h +26 -26
  28. package/android/src/main/cpp/RawBuffer.cpp +23 -23
  29. package/android/src/main/cpp/RawBuffer.h +24 -24
  30. package/android/src/main/cpp/android_log.h +14 -14
  31. package/android/src/main/dysJniLibs/debug/arm64-v8a/librn_dys.so +0 -0
  32. package/android/src/main/dysJniLibs/debug/armeabi-v7a/librn_dys.so +0 -0
  33. package/android/src/main/dysJniLibs/debug/x86/librn_dys.so +0 -0
  34. package/android/src/main/dysJniLibs/debug/x86_64/librn_dys.so +0 -0
  35. package/android/src/main/dysJniLibs/release/arm64-v8a/librn_dys.so +0 -0
  36. package/android/src/main/dysJniLibs/release/armeabi-v7a/librn_dys.so +0 -0
  37. package/android/src/main/dysJniLibs/release/x86/librn_dys.so +0 -0
  38. package/android/src/main/dysJniLibs/release/x86_64/librn_dys.so +0 -0
  39. package/android/src/main/dysJniLibsFor81/debug/arm64-v8a/librn_dys.so +0 -0
  40. package/android/src/main/dysJniLibsFor81/debug/armeabi-v7a/librn_dys.so +0 -0
  41. package/android/src/main/dysJniLibsFor81/debug/x86/librn_dys.so +0 -0
  42. package/android/src/main/dysJniLibsFor81/debug/x86_64/librn_dys.so +0 -0
  43. package/android/src/main/dysJniLibsFor81/release/arm64-v8a/librn_dys.so +0 -0
  44. package/android/src/main/dysJniLibsFor81/release/armeabi-v7a/librn_dys.so +0 -0
  45. package/android/src/main/dysJniLibsFor81/release/x86/librn_dys.so +0 -0
  46. package/android/src/main/dysJniLibsFor81/release/x86_64/librn_dys.so +0 -0
  47. package/android/src/main/dysJniLibsFor82/debug/arm64-v8a/librn_dys.so +0 -0
  48. package/android/src/main/dysJniLibsFor82/debug/armeabi-v7a/librn_dys.so +0 -0
  49. package/android/src/main/dysJniLibsFor82/debug/x86/librn_dys.so +0 -0
  50. package/android/src/main/dysJniLibsFor82/debug/x86_64/librn_dys.so +0 -0
  51. package/android/src/main/dysJniLibsFor82/release/arm64-v8a/librn_dys.so +0 -0
  52. package/android/src/main/dysJniLibsFor82/release/armeabi-v7a/librn_dys.so +0 -0
  53. package/android/src/main/dysJniLibsFor82/release/x86/librn_dys.so +0 -0
  54. package/android/src/main/dysJniLibsFor82/release/x86_64/librn_dys.so +0 -0
  55. package/android/src/main/dysJniLibsFor86/debug/arm64-v8a/librn_dys.so +3 -0
  56. package/android/src/main/dysJniLibsFor86/debug/armeabi-v7a/librn_dys.so +3 -0
  57. package/android/src/main/dysJniLibsFor86/debug/x86/librn_dys.so +3 -0
  58. package/android/src/main/dysJniLibsFor86/debug/x86_64/librn_dys.so +3 -0
  59. package/android/src/main/dysJniLibsFor86/release/arm64-v8a/librn_dys.so +3 -0
  60. package/android/src/main/dysJniLibsFor86/release/armeabi-v7a/librn_dys.so +3 -0
  61. package/android/src/main/dysJniLibsFor86/release/x86/librn_dys.so +3 -0
  62. package/android/src/main/dysJniLibsFor86/release/x86_64/librn_dys.so +3 -0
  63. package/android/src/main/java/com/dynamsoft/reactnativelib/CVRModule.kt +137 -137
  64. package/android/src/main/java/com/dynamsoft/reactnativelib/CameraViewManager.kt +62 -62
  65. package/android/src/main/java/com/dynamsoft/reactnativelib/DCEModule.kt +125 -125
  66. package/android/src/main/java/com/dynamsoft/reactnativelib/DynamsoftBaseModule.kt +8 -8
  67. package/android/src/main/java/com/dynamsoft/reactnativelib/ISAModule.kt +73 -73
  68. package/android/src/main/java/com/dynamsoft/reactnativelib/ImageEditorViewManager.kt +14 -14
  69. package/android/src/main/java/com/dynamsoft/reactnativelib/ImageEditorViewModule.kt +35 -35
  70. package/android/src/main/java/com/dynamsoft/reactnativelib/ImageManagerModule.kt +15 -15
  71. package/android/src/main/java/com/dynamsoft/reactnativelib/LicenseModule.kt +29 -29
  72. package/android/src/main/java/com/dynamsoft/reactnativelib/MultiCrossFilterModule.kt +83 -83
  73. package/android/src/main/java/com/dynamsoft/reactnativelib/ReactNativeDcvPackage.kt +32 -32
  74. package/android/src/main/java/com/dynamsoft/reactnativelib/VersionsModule.kt +41 -41
  75. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/Basic.kt +44 -44
  76. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForCore.kt +50 -50
  77. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForCvr.kt +129 -129
  78. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDBR.kt +157 -157
  79. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDCE.kt +110 -110
  80. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDCP.kt +49 -49
  81. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDDN.kt +85 -85
  82. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDLR.kt +72 -72
  83. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ImageUtil.kt +58 -58
  84. package/android/src/main/java/com/dynamsoft/reactnativelib/core/ImageSourceAdapterModuleImpl.kt +120 -120
  85. package/android/src/main/java/com/dynamsoft/reactnativelib/cvr/CaptureVisionRouterModuleImpl.kt +306 -306
  86. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraEnhancerModuleImpl.kt +247 -247
  87. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraLifeCycleOwner.java +14 -14
  88. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraViewManagerImpl.kt +77 -77
  89. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/ImageEditorViewManagerImpl.kt +15 -15
  90. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/ImageEditorViewModuleImpl.kt +110 -110
  91. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/RNCameraView.kt +20 -20
  92. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/RNImageEditorView.kt +19 -19
  93. package/android/src/main/java/com/dynamsoft/reactnativelib/license/LicenseModuleImpl.kt +39 -39
  94. package/android/src/main/java/com/dynamsoft/reactnativelib/utility/ImageManagerModuleImpl.kt +120 -120
  95. package/android/src/main/java/com/dynamsoft/reactnativelib/utility/MultiCrossFilterModuleImpl.kt +111 -111
  96. package/app.plugin.js +21 -21
  97. package/dynamsoft-capture-vision-react-native.podspec +24 -24
  98. package/ios/CPP/DSImageData+HostObject.h +18 -18
  99. package/ios/CPP/DSImageData+HostObject.mm +38 -38
  100. package/ios/CPP/ImageDataHostObject.cpp +87 -87
  101. package/ios/CPP/ImageDataHostObject.hpp +35 -35
  102. package/ios/CPP/MutableRawBuffer.cpp +23 -23
  103. package/ios/CPP/MutableRawBuffer.hpp +23 -23
  104. package/ios/CPP/RNDynamsoft+JSI.h +22 -22
  105. package/ios/CPP/RNDynamsoft+JSI.mm +303 -303
  106. package/ios/CPP/RNDynamsoft+Json.h +93 -93
  107. package/ios/CPP/RNDynamsoft+Json.m +733 -733
  108. package/ios/CPP/YeetJSIUtils.h +56 -56
  109. package/ios/CPP/YeetJSIUtils.mm +208 -208
  110. package/ios/RNDynamsoftCameraView.h +31 -31
  111. package/ios/RNDynamsoftCameraView.m +108 -108
  112. package/ios/RNDynamsoftCameraViewManager.h +14 -14
  113. package/ios/RNDynamsoftCameraViewManager.m +195 -195
  114. package/ios/RNDynamsoftCaptureVisionRouter.h +18 -18
  115. package/ios/RNDynamsoftCaptureVisionRouter.mm +532 -532
  116. package/ios/RNDynamsoftImageEditorView.h +17 -17
  117. package/ios/RNDynamsoftImageEditorView.m +25 -25
  118. package/ios/RNDynamsoftImageEditorViewManager.h +14 -14
  119. package/ios/RNDynamsoftImageEditorViewManager.mm +183 -183
  120. package/ios/RNDynamsoftImageManager.h +14 -14
  121. package/ios/RNDynamsoftImageManager.mm +369 -369
  122. package/ios/RNDynamsoftImageSourceAdapter.h +19 -19
  123. package/ios/RNDynamsoftImageSourceAdapter.mm +255 -255
  124. package/ios/RNDynamsoftLicense.h +14 -14
  125. package/ios/RNDynamsoftLicense.m +62 -62
  126. package/ios/RNDynamsoftMultiCrossFilter.h +14 -14
  127. package/ios/RNDynamsoftMultiCrossFilter.m +145 -145
  128. package/ios/RNDynamsoftVersions.h +13 -13
  129. package/ios/RNDynamsoftVersions.m +27 -27
  130. package/package.json +48 -48
  131. package/src/NativeDynamsoftVersionsModule.tsx +20 -20
  132. package/src/VersionsModule.tsx +7 -7
  133. package/src/core/CapturedResultBase.tsx +18 -18
  134. package/src/core/CapturedResultItem.tsx +23 -23
  135. package/src/core/CoreModule.tsx +9 -9
  136. package/src/core/DSRect.tsx +29 -29
  137. package/src/core/EnumCaptureResultItemType.tsx +52 -52
  138. package/src/core/EnumColourChannelUsageType.tsx +26 -26
  139. package/src/core/EnumCrossVerificationStatus.tsx +46 -46
  140. package/src/core/EnumGrayscaleEnhancementMode.tsx +46 -46
  141. package/src/core/EnumGrayscaleTransformationMode.tsx +35 -35
  142. package/src/core/EnumImageFileFormat.tsx +6 -6
  143. package/src/core/EnumPixelFormat.tsx +53 -53
  144. package/src/core/ImageData.tsx +87 -87
  145. package/src/core/ImageSourceAdapter.tsx +160 -160
  146. package/src/core/NativeDynamsoftImageSourceAdapterModule.tsx +29 -29
  147. package/src/core/Point.tsx +13 -13
  148. package/src/core/Quadrilateral.tsx +12 -12
  149. package/src/core/index.tsx +18 -18
  150. package/src/cvr/CaptureVisionRouter.tsx +683 -683
  151. package/src/cvr/CaptureVisionRouterModule.tsx +9 -9
  152. package/src/cvr/CapturedResult.tsx +123 -123
  153. package/src/cvr/CapturedResultFilter.tsx +13 -13
  154. package/src/cvr/CapturedResultReceiver.tsx +71 -71
  155. package/src/cvr/EnumPresetTemplate.tsx +81 -81
  156. package/src/cvr/NativeDynamsoftCaptureVisionRouterModule.tsx +25 -25
  157. package/src/cvr/SimplifiedCaptureVisionSettings.tsx +61 -61
  158. package/src/cvr/index.tsx +11 -11
  159. package/src/dbr/BarcodeDetails.tsx +51 -51
  160. package/src/dbr/BarcodeReaderModule.tsx +9 -9
  161. package/src/dbr/BarcodeResultItem.tsx +65 -65
  162. package/src/dbr/DecodedBarcodesResult.tsx +14 -14
  163. package/src/dbr/ECISegment.tsx +23 -23
  164. package/src/dbr/EnumBarcodeFormat.tsx +112 -112
  165. package/src/dbr/EnumDeblurMode.tsx +29 -29
  166. package/src/dbr/EnumLocalizationMode.tsx +27 -27
  167. package/src/dbr/EnumQRCodeErrorCorrectionLevel.tsx +6 -6
  168. package/src/dbr/SimplifiedBarcodeReaderSettings.tsx +80 -80
  169. package/src/dbr/index.tsx +9 -9
  170. package/src/dce/CameraEnhancer.tsx +254 -254
  171. package/src/dce/CameraEnhancerModule.tsx +9 -9
  172. package/src/dce/CameraView.tsx +100 -100
  173. package/src/dce/DynamsoftCameraViewNativeComponent.ts +96 -96
  174. package/src/dce/DynamsoftImageEditorViewNativeComponent.ts +9 -9
  175. package/src/dce/EnumCameraPosition.tsx +25 -25
  176. package/src/dce/EnumDrawingLayerId.tsx +17 -17
  177. package/src/dce/EnumEnhancedFeatures.tsx +24 -24
  178. package/src/dce/EnumFocusMode.tsx +6 -6
  179. package/src/dce/EnumResolution.tsx +8 -8
  180. package/src/dce/EnumTorchState.tsx +10 -10
  181. package/src/dce/FeedBack.tsx +28 -28
  182. package/src/dce/ImageEditorView.tsx +131 -131
  183. package/src/dce/NativeDynamsoftCameraViewModule.tsx +47 -47
  184. package/src/dce/NativeDynamsoftImageEditorViewModule.ts +9 -9
  185. package/src/dce/index.tsx +13 -13
  186. package/src/dcp/CodeParserDedicatorModule.tsx +9 -9
  187. package/src/dcp/CodeParserModule.tsx +9 -9
  188. package/src/dcp/EnumMappingStatus.tsx +14 -14
  189. package/src/dcp/EnumValidationStatus.tsx +14 -14
  190. package/src/dcp/ParsedResult.tsx +14 -14
  191. package/src/dcp/ParsedResultItem.tsx +50 -50
  192. package/src/dcp/index.tsx +8 -8
  193. package/src/ddn/DeskewedImageResultItem.tsx +40 -40
  194. package/src/ddn/DetectedQuadResultItem.tsx +31 -31
  195. package/src/ddn/DocumentNormalizerModule.tsx +9 -9
  196. package/src/ddn/EnhancedImageResultItem.tsx +20 -20
  197. package/src/ddn/EnumImageColourMode.tsx +14 -14
  198. package/src/ddn/ProcessedDocumentResult.tsx +27 -27
  199. package/src/ddn/SimplifiedDocumentNormalizerSettings.tsx +65 -65
  200. package/src/ddn/index.tsx +11 -11
  201. package/src/dip/ImageProcessingModule.tsx +9 -9
  202. package/src/dip/index.tsx +1 -1
  203. package/src/dlr/CharacterResult.tsx +28 -28
  204. package/src/dlr/LabelRecognizerModule.tsx +9 -9
  205. package/src/dlr/RecognizedTextLinesResult.tsx +19 -19
  206. package/src/dlr/SimplifiedLabelRecognizerSettings.tsx +33 -33
  207. package/src/dlr/TextLineResultItem.tsx +41 -41
  208. package/src/dlr/index.tsx +8 -8
  209. package/src/index.tsx +13 -13
  210. package/src/license/LicenseManager.tsx +49 -49
  211. package/src/license/LicenseModule.tsx +9 -9
  212. package/src/license/NativeDynamsoftLicenseModule.tsx +7 -7
  213. package/src/license/index.tsx +7 -7
  214. package/src/utility/CrossVerificationCriteria.tsx +11 -11
  215. package/src/utility/EnumFilterType.tsx +5 -5
  216. package/src/utility/ImageManager.tsx +348 -348
  217. package/src/utility/MultiFrameResultCrossFilter.tsx +183 -183
  218. package/src/utility/NativeDynamsoftImageManagerModule.tsx +7 -7
  219. package/src/utility/NativeDynamsoftMultiCrossFilterModule.tsx +18 -18
  220. package/src/utility/UtilityModule.tsx +9 -9
  221. package/src/utility/index.tsx +4 -4
  222. package/android/.gitignore +0 -4
@@ -1,183 +1,183 @@
1
- import {NativeModules} from 'react-native';
2
- import type {CapturedResultFilter, CaptureVisionRouter} from '../cvr'
3
- import {EnumCapturedResultItemType} from '../core'
4
- import type { CrossVerificationCriteria } from './CrossVerificationCriteria';
5
-
6
- // @ts-ignore Check whether __turboModuleProxy exists, it may not
7
- const isTurboModuleEnabled = global.__turboModuleProxy != null;
8
-
9
- const DynamsoftMultiCrossFilterModule = isTurboModuleEnabled ?
10
- require("./NativeDynamsoftMultiCrossFilterModule").default :
11
- NativeModules.DynamsoftMultiCrossFilterModule;
12
-
13
- /**
14
- * The MultiFrameResultCrossFilter class offers a set of API functions designed for managing and filtering results from multiple image frames,
15
- * typically used in consecutive frames of a streaming video.
16
- *
17
- * @see {@link CapturedResultFilter}
18
- * @see {@link CaptureVisionRouter.addFilter}
19
- * */
20
- export class MultiFrameResultCrossFilter implements CapturedResultFilter {
21
- filterId = "";
22
-
23
- constructor() {
24
- this.filterId = DynamsoftMultiCrossFilterModule.createInstance()
25
- }
26
-
27
- /**@internal*/
28
- _getFilterId(): string {
29
- return this.filterId;
30
- }
31
-
32
- destroy() {
33
- DynamsoftMultiCrossFilterModule.destroy(this.filterId)
34
- }
35
-
36
- /**
37
- * Enables or disables the verification of specific result item types.
38
- * <p>Code Snippet:</p>
39
- *
40
- * ```
41
- * let filter = new MultiFrameResultCrossFilter();
42
- * filter.enableResultCrossVerification(EnumCapturedResultItemType.CRIT_BARCODE | EnumCapturedResultItemType.CRIT_TEXT_LINE, true); //enable
43
- * //...
44
- * filter.enableResultCrossVerification(EnumCapturedResultItemType.CRIT_BARCODE | EnumCapturedResultItemType.CRIT_TEXT_LINE, false); //disable
45
- * ```
46
- *
47
- * @param resultItemTypes - Specifies one or multiple specific result item types.
48
- * @param enable - Boolean to toggle verification on or off.
49
- * @see {@link EnumCapturedResultItemType}
50
- * */
51
- enableResultCrossVerification(resultItemTypes: EnumCapturedResultItemType | number, enable: boolean) {
52
- DynamsoftMultiCrossFilterModule.enableResultCrossVerification(this.filterId, resultItemTypes, enable)
53
- }
54
-
55
- /**
56
- * Checks if verification is active for a given result item type.
57
- * @param type - Specifies one specific result item type.
58
- * @return Promise<void> - A promise that resolves a boolean indicating the status of verification for the specified type.
59
- * */
60
- isResultCrossVerificationEnabled(type: EnumCapturedResultItemType | number): Promise<boolean> {
61
- return DynamsoftMultiCrossFilterModule.isResultCrossVerificationEnabled(this.filterId, type);
62
- }
63
-
64
- /**
65
- * Enables or disables the deduplication process for one or multiple specific result item types.
66
- * <p>Code Snippet:</p>
67
- *
68
- * ```
69
- * let filter = new MultiFrameResultCrossFilter();
70
- * filter.enableResultDeduplication(EnumCapturedResultItemType.CRIT_BARCODE | EnumCapturedResultItemType.CRIT_TEXT_LINE, true); //enable
71
- * //...
72
- * filter.enableResultDeduplication(EnumCapturedResultItemType.CRIT_BARCODE | EnumCapturedResultItemType.CRIT_TEXT_LINE, false); //disable
73
- * ```
74
- *
75
- * @param resultItemTypes - Specifies one or multiple specific result item types.
76
- * @param enable - Boolean to toggle deduplication on or off.
77
- * @see {@link EnumCapturedResultItemType}
78
- * */
79
- enableResultDeduplication(resultItemTypes: EnumCapturedResultItemType | number, enable: boolean) {
80
- DynamsoftMultiCrossFilterModule.enableResultDeduplication(this.filterId, resultItemTypes, enable);
81
- }
82
-
83
- /**
84
- * Checks if deduplication is active for a given result item type.
85
- * @param type - Specifies one specific result item type.
86
- * @return Promise<boolean> - A promise that resolves a boolean indicating the deduplication status for the specified type.
87
- * */
88
- isResultDeduplicationEnabled(type: EnumCapturedResultItemType | number): Promise<boolean> {
89
- return DynamsoftMultiCrossFilterModule.isResultDeduplicationEnabled(this.filterId, type);
90
- }
91
-
92
- /**
93
- * Sets the interval during which duplicates are disregarded for one or multiple specific result item types.
94
- *
95
- * @param types Specifies one or multiple specific result item types.
96
- * @param time Time in milliseconds during which duplicates are disregarded.
97
- * */
98
- setDuplicateForgetTime(types: EnumCapturedResultItemType | number, time: number) {
99
- DynamsoftMultiCrossFilterModule.setDuplicateForgetTime(this.filterId, types, time);
100
- }
101
-
102
- /**
103
- * Gets the interval during which duplicates are disregarded for a given result item type.
104
- * @param type Specifies one specific result item type.
105
- * @return Promise<boolean> - A promise that resolves the maximum overlapping frames count for a given result item type.
106
- * */
107
- getDuplicateForgetTime(type: EnumCapturedResultItemType | number): Promise<number> {
108
- return DynamsoftMultiCrossFilterModule.getDuplicateForgetTime(this.filterId, type);
109
- }
110
-
111
- /**
112
- * Enables or disables the to-the-latest overlapping feature of one or multiple specific result item types.
113
- * <p>Code Snippet:</p>
114
- *
115
- * ```
116
- * let filter = new MultiFrameResultCrossFilter();
117
- * filter.enableLatestOverlapping(EnumCapturedResultItemType.CRIT_BARCODE | EnumCapturedResultItemType.CRIT_TEXT_LINE, true); //enable
118
- * //...
119
- * filter.enableLatestOverlapping(EnumCapturedResultItemType.CRIT_BARCODE | EnumCapturedResultItemType.CRIT_TEXT_LINE, false); //disable
120
- * ```
121
- *
122
- * @param resultItemTypes - Specifies one or multiple specific result item types.
123
- * @param enable - Boolean to toggle to-the-latest overlapping on or off.
124
- * @see {@link EnumCapturedResultItemType}
125
- * */
126
- enableLatestOverlapping(resultItemTypes: EnumCapturedResultItemType | number, enable: boolean) {
127
- return DynamsoftMultiCrossFilterModule.enableLatestOverlapping(this.filterId, resultItemTypes, enable);
128
- }
129
-
130
- /**
131
- * Checks if to-the-latest overlapping is active for a given result item type.
132
- * @param type - Specifies one specific result item type.
133
- * @return Promise<void> - A promise that resolves a boolean indicating the to-the-latest overlapping status for the specified type.
134
- * */
135
- isLatestOverlappingEnabled(type: EnumCapturedResultItemType | number): Promise<boolean> {
136
- return DynamsoftMultiCrossFilterModule.isLatestOverlappingEnabled(this.filterId, type)
137
- }
138
-
139
- /**
140
- * Set the maximum overlapping frames count for one or multiple specific result item types.
141
- * You can set it higher if:
142
- * - You capture device is stationary or moving stably.
143
- * - You want to further improve the read-rate.
144
- *
145
- * @param types Specifies one or multiple specific result item types.
146
- * @param maxOverlappingFrames The maximum overlapping frame count for the overlapping.
147
- * */
148
- setMaxOverlappingFrames(types: EnumCapturedResultItemType | number, maxOverlappingFrames: number) {
149
- DynamsoftMultiCrossFilterModule.setMaxOverlappingFrames(this.filterId, types, maxOverlappingFrames);
150
- }
151
-
152
- /**
153
- * Get the maximum overlapping frames count for a given result item type.
154
- *
155
- * @param type Specifies a result item type.
156
- * @return {Promise<number>} A promise that resolves the maximum overlapping frame count for the overlapping..
157
- * */
158
- getMaxOverlappingFrames(type: EnumCapturedResultItemType | number): Promise<number> {
159
- return DynamsoftMultiCrossFilterModule.getMaxOverlappingFrames(this.filterId, type);
160
- }
161
-
162
- /**
163
- * Set the criteria for cross-verification of one or multiple specific result item types.
164
- *
165
- * @param types Specifies one or multiple specific result item types.
166
- * @param criteria The criteria for cross-verification, including parameters such as frameWindow and minConsistentFrames.
167
- * @see {@link CrossVerificationCriteria}
168
- * */
169
- setResultCrossVerificationCriteria(types: EnumCapturedResultItemType | number, criteria: CrossVerificationCriteria) {
170
- DynamsoftMultiCrossFilterModule.setResultCrossVerificationCriteria(this.filterId, types, criteria);
171
- }
172
-
173
- /**
174
- * Get the criteria for cross-verification of a given result item type.
175
- *
176
- * @param type Specifies a result item type.
177
- * @return {Promise<CrossVerificationCriteria>} A promise that resolves the criteria for cross-verification, including parameters such as frameWindow and minConsistentFrames.
178
- * @see {@link CrossVerificationCriteria}
179
- * */
180
- getResultCrossVerificationCriteria(type: EnumCapturedResultItemType | number): Promise<CrossVerificationCriteria> {
181
- return DynamsoftMultiCrossFilterModule.getResultCrossVerificationCriteria(this.filterId, type);
182
- }
183
- }
1
+ import {NativeModules} from 'react-native';
2
+ import type {CapturedResultFilter, CaptureVisionRouter} from '../cvr'
3
+ import {EnumCapturedResultItemType} from '../core'
4
+ import type { CrossVerificationCriteria } from './CrossVerificationCriteria';
5
+
6
+ // @ts-ignore Check whether __turboModuleProxy exists, it may not
7
+ const isTurboModuleEnabled = global.__turboModuleProxy != null;
8
+
9
+ const DynamsoftMultiCrossFilterModule = isTurboModuleEnabled ?
10
+ require("./NativeDynamsoftMultiCrossFilterModule").default :
11
+ NativeModules.DynamsoftMultiCrossFilterModule;
12
+
13
+ /**
14
+ * The MultiFrameResultCrossFilter class offers a set of API functions designed for managing and filtering results from multiple image frames,
15
+ * typically used in consecutive frames of a streaming video.
16
+ *
17
+ * @see {@link CapturedResultFilter}
18
+ * @see {@link CaptureVisionRouter.addFilter}
19
+ * */
20
+ export class MultiFrameResultCrossFilter implements CapturedResultFilter {
21
+ filterId = "";
22
+
23
+ constructor() {
24
+ this.filterId = DynamsoftMultiCrossFilterModule.createInstance()
25
+ }
26
+
27
+ /**@internal*/
28
+ _getFilterId(): string {
29
+ return this.filterId;
30
+ }
31
+
32
+ destroy() {
33
+ DynamsoftMultiCrossFilterModule.destroy(this.filterId)
34
+ }
35
+
36
+ /**
37
+ * Enables or disables the verification of specific result item types.
38
+ * <p>Code Snippet:</p>
39
+ *
40
+ * ```
41
+ * let filter = new MultiFrameResultCrossFilter();
42
+ * filter.enableResultCrossVerification(EnumCapturedResultItemType.CRIT_BARCODE | EnumCapturedResultItemType.CRIT_TEXT_LINE, true); //enable
43
+ * //...
44
+ * filter.enableResultCrossVerification(EnumCapturedResultItemType.CRIT_BARCODE | EnumCapturedResultItemType.CRIT_TEXT_LINE, false); //disable
45
+ * ```
46
+ *
47
+ * @param resultItemTypes - Specifies one or multiple specific result item types.
48
+ * @param enable - Boolean to toggle verification on or off.
49
+ * @see {@link EnumCapturedResultItemType}
50
+ * */
51
+ enableResultCrossVerification(resultItemTypes: EnumCapturedResultItemType | number, enable: boolean) {
52
+ DynamsoftMultiCrossFilterModule.enableResultCrossVerification(this.filterId, resultItemTypes, enable)
53
+ }
54
+
55
+ /**
56
+ * Checks if verification is active for a given result item type.
57
+ * @param type - Specifies one specific result item type.
58
+ * @return Promise<void> - A promise that resolves a boolean indicating the status of verification for the specified type.
59
+ * */
60
+ isResultCrossVerificationEnabled(type: EnumCapturedResultItemType | number): Promise<boolean> {
61
+ return DynamsoftMultiCrossFilterModule.isResultCrossVerificationEnabled(this.filterId, type);
62
+ }
63
+
64
+ /**
65
+ * Enables or disables the deduplication process for one or multiple specific result item types.
66
+ * <p>Code Snippet:</p>
67
+ *
68
+ * ```
69
+ * let filter = new MultiFrameResultCrossFilter();
70
+ * filter.enableResultDeduplication(EnumCapturedResultItemType.CRIT_BARCODE | EnumCapturedResultItemType.CRIT_TEXT_LINE, true); //enable
71
+ * //...
72
+ * filter.enableResultDeduplication(EnumCapturedResultItemType.CRIT_BARCODE | EnumCapturedResultItemType.CRIT_TEXT_LINE, false); //disable
73
+ * ```
74
+ *
75
+ * @param resultItemTypes - Specifies one or multiple specific result item types.
76
+ * @param enable - Boolean to toggle deduplication on or off.
77
+ * @see {@link EnumCapturedResultItemType}
78
+ * */
79
+ enableResultDeduplication(resultItemTypes: EnumCapturedResultItemType | number, enable: boolean) {
80
+ DynamsoftMultiCrossFilterModule.enableResultDeduplication(this.filterId, resultItemTypes, enable);
81
+ }
82
+
83
+ /**
84
+ * Checks if deduplication is active for a given result item type.
85
+ * @param type - Specifies one specific result item type.
86
+ * @return Promise<boolean> - A promise that resolves a boolean indicating the deduplication status for the specified type.
87
+ * */
88
+ isResultDeduplicationEnabled(type: EnumCapturedResultItemType | number): Promise<boolean> {
89
+ return DynamsoftMultiCrossFilterModule.isResultDeduplicationEnabled(this.filterId, type);
90
+ }
91
+
92
+ /**
93
+ * Sets the interval during which duplicates are disregarded for one or multiple specific result item types.
94
+ *
95
+ * @param types Specifies one or multiple specific result item types.
96
+ * @param time Time in milliseconds during which duplicates are disregarded.
97
+ * */
98
+ setDuplicateForgetTime(types: EnumCapturedResultItemType | number, time: number) {
99
+ DynamsoftMultiCrossFilterModule.setDuplicateForgetTime(this.filterId, types, time);
100
+ }
101
+
102
+ /**
103
+ * Gets the interval during which duplicates are disregarded for a given result item type.
104
+ * @param type Specifies one specific result item type.
105
+ * @return Promise<boolean> - A promise that resolves the maximum overlapping frames count for a given result item type.
106
+ * */
107
+ getDuplicateForgetTime(type: EnumCapturedResultItemType | number): Promise<number> {
108
+ return DynamsoftMultiCrossFilterModule.getDuplicateForgetTime(this.filterId, type);
109
+ }
110
+
111
+ /**
112
+ * Enables or disables the to-the-latest overlapping feature of one or multiple specific result item types.
113
+ * <p>Code Snippet:</p>
114
+ *
115
+ * ```
116
+ * let filter = new MultiFrameResultCrossFilter();
117
+ * filter.enableLatestOverlapping(EnumCapturedResultItemType.CRIT_BARCODE | EnumCapturedResultItemType.CRIT_TEXT_LINE, true); //enable
118
+ * //...
119
+ * filter.enableLatestOverlapping(EnumCapturedResultItemType.CRIT_BARCODE | EnumCapturedResultItemType.CRIT_TEXT_LINE, false); //disable
120
+ * ```
121
+ *
122
+ * @param resultItemTypes - Specifies one or multiple specific result item types.
123
+ * @param enable - Boolean to toggle to-the-latest overlapping on or off.
124
+ * @see {@link EnumCapturedResultItemType}
125
+ * */
126
+ enableLatestOverlapping(resultItemTypes: EnumCapturedResultItemType | number, enable: boolean) {
127
+ return DynamsoftMultiCrossFilterModule.enableLatestOverlapping(this.filterId, resultItemTypes, enable);
128
+ }
129
+
130
+ /**
131
+ * Checks if to-the-latest overlapping is active for a given result item type.
132
+ * @param type - Specifies one specific result item type.
133
+ * @return Promise<void> - A promise that resolves a boolean indicating the to-the-latest overlapping status for the specified type.
134
+ * */
135
+ isLatestOverlappingEnabled(type: EnumCapturedResultItemType | number): Promise<boolean> {
136
+ return DynamsoftMultiCrossFilterModule.isLatestOverlappingEnabled(this.filterId, type)
137
+ }
138
+
139
+ /**
140
+ * Set the maximum overlapping frames count for one or multiple specific result item types.
141
+ * You can set it higher if:
142
+ * - You capture device is stationary or moving stably.
143
+ * - You want to further improve the read-rate.
144
+ *
145
+ * @param types Specifies one or multiple specific result item types.
146
+ * @param maxOverlappingFrames The maximum overlapping frame count for the overlapping.
147
+ * */
148
+ setMaxOverlappingFrames(types: EnumCapturedResultItemType | number, maxOverlappingFrames: number) {
149
+ DynamsoftMultiCrossFilterModule.setMaxOverlappingFrames(this.filterId, types, maxOverlappingFrames);
150
+ }
151
+
152
+ /**
153
+ * Get the maximum overlapping frames count for a given result item type.
154
+ *
155
+ * @param type Specifies a result item type.
156
+ * @return {Promise<number>} A promise that resolves the maximum overlapping frame count for the overlapping..
157
+ * */
158
+ getMaxOverlappingFrames(type: EnumCapturedResultItemType | number): Promise<number> {
159
+ return DynamsoftMultiCrossFilterModule.getMaxOverlappingFrames(this.filterId, type);
160
+ }
161
+
162
+ /**
163
+ * Set the criteria for cross-verification of one or multiple specific result item types.
164
+ *
165
+ * @param types Specifies one or multiple specific result item types.
166
+ * @param criteria The criteria for cross-verification, including parameters such as frameWindow and minConsistentFrames.
167
+ * @see {@link CrossVerificationCriteria}
168
+ * */
169
+ setResultCrossVerificationCriteria(types: EnumCapturedResultItemType | number, criteria: CrossVerificationCriteria) {
170
+ DynamsoftMultiCrossFilterModule.setResultCrossVerificationCriteria(this.filterId, types, criteria);
171
+ }
172
+
173
+ /**
174
+ * Get the criteria for cross-verification of a given result item type.
175
+ *
176
+ * @param type Specifies a result item type.
177
+ * @return {Promise<CrossVerificationCriteria>} A promise that resolves the criteria for cross-verification, including parameters such as frameWindow and minConsistentFrames.
178
+ * @see {@link CrossVerificationCriteria}
179
+ * */
180
+ getResultCrossVerificationCriteria(type: EnumCapturedResultItemType | number): Promise<CrossVerificationCriteria> {
181
+ return DynamsoftMultiCrossFilterModule.getResultCrossVerificationCriteria(this.filterId, type);
182
+ }
183
+ }
@@ -1,7 +1,7 @@
1
- import {type TurboModule, TurboModuleRegistry} from "react-native";
2
-
3
- export interface Spec extends TurboModule {
4
- install(): boolean;
5
- }
6
-
7
- export default TurboModuleRegistry.get<Spec>("DynamsoftImageManagerModule") as Spec | null;
1
+ import {type TurboModule, TurboModuleRegistry} from "react-native";
2
+
3
+ export interface Spec extends TurboModule {
4
+ install(): boolean;
5
+ }
6
+
7
+ export default TurboModuleRegistry.get<Spec>("DynamsoftImageManagerModule") as Spec | null;
@@ -1,18 +1,18 @@
1
- import {type TurboModule, TurboModuleRegistry} from "react-native";
2
-
3
- export interface Spec extends TurboModule {
4
- createInstance(): string;
5
- destroy(filterId: string): void;
6
- enableResultCrossVerification(filterId: string, resultItemTypes: number, enable: boolean): void;
7
- isResultCrossVerificationEnabled(filterId: string, type: number): Promise<boolean>;
8
- enableResultDeduplication(filterId: string, resultItemTypes: number, enable: boolean): void;
9
- isResultDeduplicationEnabled(filterId: string, type: number): Promise<boolean>;
10
- setDuplicateForgetTime(filterId: string, resultItemTypes: number, time: number): void;
11
- getDuplicateForgetTime(filterId: string, type: number): Promise<number>;
12
- enableLatestOverlapping(filterId: string, resultItemTypes: number, enable: boolean): void;
13
- isLatestOverlappingEnabled(filterId: string, type: number): Promise<boolean>;
14
- setMaxOverlappingFrames(filterId: string, resultItemTypes: number, maxFrameToCheck: number): void;
15
- getMaxOverlappingFrames(filterId: string, type: number): Promise<number>;
16
- }
17
-
18
- export default TurboModuleRegistry.get<Spec>("DynamsoftMultiCrossFilterModule") as Spec | null;
1
+ import {type TurboModule, TurboModuleRegistry} from "react-native";
2
+
3
+ export interface Spec extends TurboModule {
4
+ createInstance(): string;
5
+ destroy(filterId: string): void;
6
+ enableResultCrossVerification(filterId: string, resultItemTypes: number, enable: boolean): void;
7
+ isResultCrossVerificationEnabled(filterId: string, type: number): Promise<boolean>;
8
+ enableResultDeduplication(filterId: string, resultItemTypes: number, enable: boolean): void;
9
+ isResultDeduplicationEnabled(filterId: string, type: number): Promise<boolean>;
10
+ setDuplicateForgetTime(filterId: string, resultItemTypes: number, time: number): void;
11
+ getDuplicateForgetTime(filterId: string, type: number): Promise<number>;
12
+ enableLatestOverlapping(filterId: string, resultItemTypes: number, enable: boolean): void;
13
+ isLatestOverlappingEnabled(filterId: string, type: number): Promise<boolean>;
14
+ setMaxOverlappingFrames(filterId: string, resultItemTypes: number, maxFrameToCheck: number): void;
15
+ getMaxOverlappingFrames(filterId: string, type: number): Promise<number>;
16
+ }
17
+
18
+ export default TurboModuleRegistry.get<Spec>("DynamsoftMultiCrossFilterModule") as Spec | null;
@@ -1,9 +1,9 @@
1
- import {DynamsoftVersions} from '../VersionsModule'
2
- import {Platform} from "react-native";
3
-
4
- /** @hideconstructor */
5
- export class UtilityModule {
6
- static getVersion(): string {
7
- return '['+Platform.OS+']: ' + DynamsoftVersions.utility
8
- }
9
- }
1
+ import {DynamsoftVersions} from '../VersionsModule'
2
+ import {Platform} from "react-native";
3
+
4
+ /** @hideconstructor */
5
+ export class UtilityModule {
6
+ static getVersion(): string {
7
+ return '['+Platform.OS+']: ' + DynamsoftVersions.utility
8
+ }
9
+ }
@@ -1,5 +1,5 @@
1
- export * from "./UtilityModule"
2
- export * from "./MultiFrameResultCrossFilter"
3
- export * from "./ImageManager"
4
- export * from "./EnumFilterType"
1
+ export * from "./UtilityModule"
2
+ export * from "./MultiFrameResultCrossFilter"
3
+ export * from "./ImageManager"
4
+ export * from "./EnumFilterType"
5
5
  export * from "./CrossVerificationCriteria"
@@ -1,4 +0,0 @@
1
- build
2
- .cxx
3
- .idea
4
- .gradle