@regulaforensics/face-sdk 6.5.67-beta → 6.5.84-beta

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 (184) hide show
  1. package/RNFaceSDK.podspec +2 -2
  2. package/android/build.gradle +2 -2
  3. package/android/cordova.gradle +2 -2
  4. package/examples/capacitor/README.md +4 -4
  5. package/examples/capacitor/package.json +5 -5
  6. package/examples/capacitor/scripts/android.sh +9 -0
  7. package/examples/capacitor/scripts/ios.sh +8 -0
  8. package/examples/capacitor/scripts/setup.sh +4 -0
  9. package/examples/cordova/README.md +4 -4
  10. package/examples/cordova/package.json +6 -11
  11. package/examples/cordova/scripts/android.sh +8 -0
  12. package/examples/cordova/scripts/ios.sh +8 -0
  13. package/examples/cordova/scripts/setup.sh +5 -0
  14. package/examples/ionic/README.md +4 -4
  15. package/examples/ionic/package.json +5 -5
  16. package/examples/ionic/scripts/android.sh +8 -0
  17. package/examples/ionic/scripts/ios.sh +8 -0
  18. package/examples/ionic/scripts/setup.sh +5 -0
  19. package/examples/ionic/src/app/home/home.page.ts +56 -5
  20. package/examples/react-native/README.md +4 -4
  21. package/examples/react-native/ios/Podfile.lock +319 -303
  22. package/examples/react-native/package.json +5 -6
  23. package/examples/react-native/scripts/android.sh +8 -0
  24. package/examples/react-native/scripts/ios.sh +8 -0
  25. package/examples/react-native/scripts/setup.sh +8 -0
  26. package/package.json +2 -1
  27. package/plugin.xml +2 -2
  28. package/www/capacitor/customization/customization.js +66 -0
  29. package/www/capacitor/customization/customization_colors.js +233 -0
  30. package/www/capacitor/customization/customization_fonts.js +106 -0
  31. package/www/capacitor/customization/customization_images.js +129 -0
  32. package/www/capacitor/customization/font.js +29 -0
  33. package/www/capacitor/detect_faces/detect_face_result.js +38 -0
  34. package/www/capacitor/detect_faces/detect_faces_attribute.js +15 -0
  35. package/www/capacitor/detect_faces/detect_faces_attribute_result.js +20 -0
  36. package/www/capacitor/detect_faces/detect_faces_backend_exception.js +23 -0
  37. package/www/capacitor/detect_faces/detect_faces_config.js +14 -0
  38. package/www/capacitor/detect_faces/detect_faces_exception.js +30 -0
  39. package/www/capacitor/detect_faces/detect_faces_request.js +67 -0
  40. package/www/capacitor/detect_faces/detect_faces_response.js +24 -0
  41. package/www/capacitor/detect_faces/detect_faces_scenario.js +10 -0
  42. package/www/capacitor/face_capture/face_capture_config.js +28 -0
  43. package/www/capacitor/face_capture/face_capture_exception.js +25 -0
  44. package/www/capacitor/face_capture/face_capture_image.js +26 -0
  45. package/www/capacitor/face_capture/face_capture_response.js +17 -0
  46. package/www/capacitor/image_params/output_image_crop.js +21 -0
  47. package/www/capacitor/image_params/output_image_params.js +9 -0
  48. package/www/capacitor/image_params/point.js +14 -0
  49. package/www/capacitor/image_params/rect.js +18 -0
  50. package/www/capacitor/image_params/size.js +9 -0
  51. package/www/capacitor/image_quality/image_quality_characteristic.js +24 -0
  52. package/www/capacitor/image_quality/image_quality_characteristic_name.js +58 -0
  53. package/www/capacitor/image_quality/image_quality_group.js +332 -0
  54. package/www/capacitor/image_quality/image_quality_range.js +26 -0
  55. package/www/capacitor/image_quality/image_quality_result.js +40 -0
  56. package/www/capacitor/index.js +179 -4
  57. package/www/capacitor/init/face_sdk_version.js +16 -0
  58. package/www/capacitor/match_faces/compared_face.js +21 -0
  59. package/www/capacitor/match_faces/compared_faces_pair.js +23 -0
  60. package/www/capacitor/match_faces/compared_faces_split.js +22 -0
  61. package/www/capacitor/match_faces/match_faces_backend_exception.js +14 -0
  62. package/www/capacitor/match_faces/match_faces_config.js +12 -0
  63. package/www/capacitor/match_faces/match_faces_detection.js +25 -0
  64. package/www/capacitor/match_faces/match_faces_detection_face.js +28 -0
  65. package/www/capacitor/match_faces/match_faces_exception.js +30 -0
  66. package/www/capacitor/match_faces/match_faces_image.js +25 -0
  67. package/www/capacitor/match_faces/match_faces_request.js +13 -0
  68. package/www/capacitor/match_faces/match_faces_response.js +28 -0
  69. package/www/capacitor/person_database/edit_group_persons_request.js +9 -0
  70. package/www/capacitor/person_database/image_upload.js +16 -0
  71. package/www/capacitor/person_database/pageable_item_list.js +22 -0
  72. package/www/capacitor/person_database/person.js +22 -0
  73. package/www/capacitor/person_database/person_database.js +145 -0
  74. package/www/capacitor/person_database/person_group.js +18 -0
  75. package/www/capacitor/person_database/person_image.js +22 -0
  76. package/www/capacitor/person_database/search_person.js +31 -0
  77. package/www/capacitor/person_database/search_person_detection.js +22 -0
  78. package/www/capacitor/person_database/search_person_image.js +26 -0
  79. package/www/capacitor/person_database/search_person_request.js +17 -0
  80. package/www/cordova.js +3478 -385
  81. package/www/react-native/customization/customization.js +66 -0
  82. package/www/react-native/customization/customization_colors.js +233 -0
  83. package/www/react-native/customization/customization_fonts.js +106 -0
  84. package/www/react-native/customization/customization_images.js +129 -0
  85. package/www/react-native/customization/font.js +29 -0
  86. package/www/react-native/detect_faces/detect_face_result.js +38 -0
  87. package/www/react-native/detect_faces/detect_faces_attribute.js +15 -0
  88. package/www/react-native/detect_faces/detect_faces_attribute_result.js +20 -0
  89. package/www/react-native/detect_faces/detect_faces_backend_exception.js +23 -0
  90. package/www/react-native/detect_faces/detect_faces_config.js +14 -0
  91. package/www/react-native/detect_faces/detect_faces_exception.js +30 -0
  92. package/www/react-native/detect_faces/detect_faces_request.js +67 -0
  93. package/www/react-native/detect_faces/detect_faces_response.js +24 -0
  94. package/www/react-native/detect_faces/detect_faces_scenario.js +10 -0
  95. package/www/react-native/face_capture/face_capture_config.js +28 -0
  96. package/www/react-native/face_capture/face_capture_exception.js +25 -0
  97. package/www/react-native/face_capture/face_capture_image.js +26 -0
  98. package/www/react-native/face_capture/face_capture_response.js +17 -0
  99. package/www/react-native/image_params/output_image_crop.js +21 -0
  100. package/www/react-native/image_params/output_image_params.js +9 -0
  101. package/www/react-native/image_params/point.js +14 -0
  102. package/www/react-native/image_params/rect.js +18 -0
  103. package/www/react-native/image_params/size.js +9 -0
  104. package/www/react-native/image_quality/image_quality_characteristic.js +24 -0
  105. package/www/react-native/image_quality/image_quality_characteristic_name.js +58 -0
  106. package/www/react-native/image_quality/image_quality_group.js +332 -0
  107. package/www/react-native/image_quality/image_quality_range.js +26 -0
  108. package/www/react-native/image_quality/image_quality_result.js +40 -0
  109. package/www/react-native/index.js +179 -4
  110. package/www/react-native/init/face_sdk_version.js +16 -0
  111. package/www/react-native/match_faces/compared_face.js +21 -0
  112. package/www/react-native/match_faces/compared_faces_pair.js +23 -0
  113. package/www/react-native/match_faces/compared_faces_split.js +22 -0
  114. package/www/react-native/match_faces/match_faces_backend_exception.js +14 -0
  115. package/www/react-native/match_faces/match_faces_config.js +12 -0
  116. package/www/react-native/match_faces/match_faces_detection.js +25 -0
  117. package/www/react-native/match_faces/match_faces_detection_face.js +28 -0
  118. package/www/react-native/match_faces/match_faces_exception.js +30 -0
  119. package/www/react-native/match_faces/match_faces_image.js +25 -0
  120. package/www/react-native/match_faces/match_faces_request.js +13 -0
  121. package/www/react-native/match_faces/match_faces_response.js +28 -0
  122. package/www/react-native/person_database/edit_group_persons_request.js +9 -0
  123. package/www/react-native/person_database/image_upload.js +16 -0
  124. package/www/react-native/person_database/pageable_item_list.js +22 -0
  125. package/www/react-native/person_database/person.js +22 -0
  126. package/www/react-native/person_database/person_database.js +145 -0
  127. package/www/react-native/person_database/person_group.js +18 -0
  128. package/www/react-native/person_database/person_image.js +22 -0
  129. package/www/react-native/person_database/search_person.js +31 -0
  130. package/www/react-native/person_database/search_person_detection.js +22 -0
  131. package/www/react-native/person_database/search_person_image.js +26 -0
  132. package/www/react-native/person_database/search_person_request.js +17 -0
  133. package/www/types/customization/customization.d.ts +46 -0
  134. package/www/types/customization/customization_colors.d.ts +37 -0
  135. package/www/types/customization/customization_fonts.d.ts +23 -0
  136. package/www/types/customization/customization_images.d.ts +24 -0
  137. package/www/types/customization/font.d.ts +41 -0
  138. package/www/types/detect_faces/detect_face_result.d.ts +16 -0
  139. package/www/types/detect_faces/detect_faces_attribute.d.ts +15 -0
  140. package/www/types/detect_faces/detect_faces_attribute_result.d.ts +11 -0
  141. package/www/types/detect_faces/detect_faces_backend_exception.d.ts +15 -0
  142. package/www/types/detect_faces/detect_faces_config.d.ts +37 -0
  143. package/www/types/detect_faces/detect_faces_exception.d.ts +24 -0
  144. package/www/types/detect_faces/detect_faces_request.d.ts +80 -0
  145. package/www/types/detect_faces/detect_faces_response.d.ts +12 -0
  146. package/www/types/detect_faces/detect_faces_scenario.d.ts +10 -0
  147. package/www/types/face_capture/face_capture_config.d.ts +39 -0
  148. package/www/types/face_capture/face_capture_exception.d.ts +17 -0
  149. package/www/types/face_capture/face_capture_image.d.ts +39 -0
  150. package/www/types/face_capture/face_capture_response.d.ts +9 -0
  151. package/www/types/image_params/output_image_crop.d.ts +49 -0
  152. package/www/types/image_params/output_image_params.d.ts +28 -0
  153. package/www/types/image_params/point.d.ts +9 -0
  154. package/www/types/image_params/rect.d.ts +8 -0
  155. package/www/types/image_params/size.d.ts +6 -0
  156. package/www/types/image_quality/image_quality_characteristic.d.ts +7 -0
  157. package/www/types/image_quality/image_quality_characteristic_name.d.ts +61 -0
  158. package/www/types/image_quality/image_quality_group.d.ts +418 -0
  159. package/www/types/image_quality/image_quality_range.d.ts +8 -0
  160. package/www/types/image_quality/image_quality_result.d.ts +30 -0
  161. package/www/types/index.d.ts +140 -4
  162. package/www/types/init/face_sdk_version.d.ts +16 -0
  163. package/www/types/match_faces/compared_face.d.ts +29 -0
  164. package/www/types/match_faces/compared_faces_pair.d.ts +36 -0
  165. package/www/types/match_faces/compared_faces_split.d.ts +8 -0
  166. package/www/types/match_faces/match_faces_backend_exception.d.ts +6 -0
  167. package/www/types/match_faces/match_faces_config.d.ts +14 -0
  168. package/www/types/match_faces/match_faces_detection.d.ts +30 -0
  169. package/www/types/match_faces/match_faces_detection_face.d.ts +43 -0
  170. package/www/types/match_faces/match_faces_exception.d.ts +21 -0
  171. package/www/types/match_faces/match_faces_image.d.ts +34 -0
  172. package/www/types/match_faces/match_faces_request.d.ts +34 -0
  173. package/www/types/match_faces/match_faces_response.d.ts +27 -0
  174. package/www/types/person_database/edit_group_persons_request.d.ts +8 -0
  175. package/www/types/person_database/image_upload.d.ts +20 -0
  176. package/www/types/person_database/pageable_item_list.d.ts +7 -0
  177. package/www/types/person_database/person.d.ts +33 -0
  178. package/www/types/person_database/person_database.d.ts +95 -0
  179. package/www/types/person_database/person_group.d.ts +22 -0
  180. package/www/types/person_database/person_image.d.ts +10 -0
  181. package/www/types/person_database/search_person.d.ts +31 -0
  182. package/www/types/person_database/search_person_detection.d.ts +11 -0
  183. package/www/types/person_database/search_person_image.d.ts +25 -0
  184. package/www/types/person_database/search_person_request.d.ts +39 -0
package/RNFaceSDK.podspec CHANGED
@@ -5,7 +5,7 @@ source = File.join(__dir__, 'ios')
5
5
 
6
6
  Pod::Spec.new do |s|
7
7
  s.name = 'RNFaceSDK'
8
- s.version = '6.5.67-beta'
8
+ s.version = '6.5.84-beta'
9
9
  s.summary = package['description']
10
10
  s.license = package['license']
11
11
 
@@ -16,6 +16,6 @@ Pod::Spec.new do |s|
16
16
  s.ios.deployment_target = '12.0'
17
17
  s.source_files = 'ios/**/*.{h,m}'
18
18
  s.exclude_files = [ 'ios/CVDFaceSDK.h', 'ios/CVDFaceSDK.m' ]
19
- s.dependency 'FaceSDK', '6.4.2321'
19
+ s.dependency 'FaceSDKBeta', '6.2.1930'
20
20
  s.dependency 'React'
21
21
  end
@@ -32,7 +32,7 @@ android {
32
32
  rootProject.allprojects {
33
33
  repositories {
34
34
  maven {
35
- url "https://maven.regulaforensics.com/RegulaDocumentReader"
35
+ url "https://maven.regulaforensics.com/RegulaDocumentReader/Beta"
36
36
  }
37
37
  }
38
38
  }
@@ -41,7 +41,7 @@ dependencies {
41
41
  //noinspection GradleDynamicVersion
42
42
  implementation 'com.facebook.react:react-native:+'
43
43
  //noinspection GradleDependency
44
- implementation('com.regula.face:api:6.4.3456'){
44
+ implementation('com.regula.face:api:7.1.3022'){
45
45
  transitive = true
46
46
  }
47
47
  }
@@ -6,13 +6,13 @@ android {
6
6
 
7
7
  repositories {
8
8
  maven {
9
- url "https://maven.regulaforensics.com/RegulaDocumentReader"
9
+ url "https://maven.regulaforensics.com/RegulaDocumentReader/Beta"
10
10
  }
11
11
  }
12
12
 
13
13
  dependencies {
14
14
  //noinspection GradleDependency
15
- implementation('com.regula.face:api:6.4.3456'){
15
+ implementation('com.regula.face:api:7.1.3022'){
16
16
  transitive = true
17
17
  }
18
18
  }
@@ -3,13 +3,13 @@
3
3
  ## How to build demo application
4
4
  1. Download or the clone current repository using the command `git clone https://github.com/regulaforensics/npm-face-sdk.git`.
5
5
 
6
- 2. Run `npm run setup` within this directory.
6
+ 2. Execute `npm run setup` within this directory.
7
7
 
8
8
  3. Run the app:
9
- * Android: use command `ionic cap run android`.
10
- * IOS: use command `ionic cap run ios`.
9
+ * IOS: `npm run ios`.
10
+ * Android: `npm run android`.
11
11
 
12
- **Note**: this is just one way of running the app. You can also run it directly from Xcode and Android Studio, but in this case make sure to run `ionic cap sync` before building if any changes were make to the project.
12
+ **Note**: this is just one way of running the app. You can also pass `-o` or `--open` argument to the command, and this will open Xcode/Android Studio, then run the app directly from the IDE. Overall, this is a more consistent way, so if you're having troubles running the app from terminal, try running it from the IDE.
13
13
 
14
14
 
15
15
  ## How to use offine match
@@ -4,9 +4,9 @@
4
4
  "version": "1.0.0",
5
5
  "type": "module",
6
6
  "scripts": {
7
- "setup": "npm install",
8
- "android": "ionic cap run android --open",
9
- "ios": "ionic cap run ios --open",
7
+ "setup": "scripts/setup.sh",
8
+ "ios": "scripts/ios.sh",
9
+ "android": "scripts/android.sh",
10
10
  "dev": "vite",
11
11
  "build": "tsc && vite build",
12
12
  "preview": "vite preview",
@@ -15,8 +15,8 @@
15
15
  "lint": "eslint"
16
16
  },
17
17
  "dependencies": {
18
- "@regulaforensics/face-sdk": "6.5.67-beta",
19
- "@regulaforensics/face-core-basic": "6.3.12-beta",
18
+ "@regulaforensics/face-sdk": "6.5.84-beta",
19
+ "@regulaforensics/face-core-basic": "6.3.146-beta",
20
20
  "@awesome-cordova-plugins/camera": "6.6.0",
21
21
  "@awesome-cordova-plugins/file": "6.6.0",
22
22
  "@awesome-cordova-plugins/dialogs": "6.6.0",
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ if [[ $npm_config_o || $npm_config_open ]]; then
5
+ ionic cap sync android
6
+ studio android || open -a 'Android Studio' android
7
+ else
8
+ ionic cap run android
9
+ fi
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ if [[ $npm_config_o || $npm_config_open ]]; then
5
+ ionic cap run ios --open
6
+ else
7
+ ionic cap run ios
8
+ fi
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ npm install
@@ -3,13 +3,13 @@
3
3
  ## How to build demo application
4
4
  1. Download or the clone current repository using the command `git clone https://github.com/regulaforensics/npm-face-sdk.git`.
5
5
 
6
- 2. Run `npm run setup` within this directory.
6
+ 2. Execute `npm run setup` within this directory.
7
7
 
8
8
  3. Run the app:
9
- * Android: use command `npm run android`.
10
- * IOS: use command `npm run ios`.
9
+ * IOS: `npm run ios`.
10
+ * Android: `npm run android`.
11
11
 
12
- **Note**: this is just one way of running the app. You can also run it directly from Xcode and Android Studio, but in this case make sure to run `cordova prepare ios` and `cordova prepare android` before building if any changes were make to the project.
12
+ **Note**: this is just one way of running the app. You can also pass `-o` or `--open` argument to the command, and this will open Xcode/Android Studio, then run the app directly from the IDE. Overall, this is a more consistent way, so if you're having troubles running the app from terminal, try running it from the IDE.
13
13
 
14
14
 
15
15
  ## How to use offine match
@@ -4,18 +4,13 @@
4
4
  "version": "1.0.0",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
- "setup": "npm install && cordova prepare",
8
- "android": "cordova run android",
9
- "ios": "cordova run ios"
7
+ "setup": "scripts/setup.sh",
8
+ "ios": "scripts/ios.sh",
9
+ "android": "scripts/android.sh"
10
10
  },
11
- "keywords": [
12
- "ecosystem:cordova"
13
- ],
14
- "author": "Regula Forensics Inc.",
15
- "license": "commercial",
16
11
  "dependencies": {
17
- "@regulaforensics/face-sdk": "6.5.67-beta",
18
- "@regulaforensics/face-core-basic": "6.3.12-beta",
12
+ "@regulaforensics/face-sdk": "6.5.84-beta",
13
+ "@regulaforensics/face-core-basic": "6.3.146-beta",
19
14
  "cordova-android": "13.0.0",
20
15
  "cordova-ios": "7.1.1",
21
16
  "cordova-plugin-add-swift-support": "2.0.2",
@@ -36,4 +31,4 @@
36
31
  "ios"
37
32
  ]
38
33
  }
39
- }
34
+ }
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+
3
+ if [[ $npm_config_o || $npm_config_open ]]; then
4
+ cordova prepare android
5
+ studio platforms/android || open -a 'Android Studio' platforms/android
6
+ else
7
+ cordova run android
8
+ fi
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+
3
+ if [[ $npm_config_o || $npm_config_open ]]; then
4
+ cordova prepare ios
5
+ open platforms/ios/FaceSDK.xcworkspace
6
+ else
7
+ cordova run ios
8
+ fi
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ npm install
5
+ cordova prepare
@@ -3,13 +3,13 @@
3
3
  ## How to build demo application
4
4
  1. Download or the clone current repository using the command `git clone https://github.com/regulaforensics/npm-face-sdk.git`.
5
5
 
6
- 2. Run `npm run setup` within this directory.
6
+ 2. Execute `npm run setup` within this directory.
7
7
 
8
8
  3. Run the app:
9
- * Android: use command `npm run android`.
10
- * IOS: use command `npm run ios`.
9
+ * IOS: `npm run ios`.
10
+ * Android: `npm run android`.
11
11
 
12
- **Note**: this is just one way of running the app. You can also run it directly from Xcode and Android Studio, but in this case make sure to run `ionic cordova prepare ios` and `ionic cordova prepare android` before building if any changes were make to the project.
12
+ **Note**: this is just one way of running the app. You can also pass `-o` or `--open` argument to the command, and this will open Xcode/Android Studio, then run the app directly from the IDE. Overall, this is a more consistent way, so if you're having troubles running the app from terminal, try running it from the IDE.
13
13
 
14
14
 
15
15
  ## How to use offine match
@@ -4,9 +4,9 @@
4
4
  "author": "Ionic Framework",
5
5
  "homepage": "https://ionicframework.com/",
6
6
  "scripts": {
7
- "setup": "npm install && ionic cordova prepare",
8
- "android": "ionic cordova run android",
9
- "ios": "ionic cordova run ios",
7
+ "setup": "scripts/setup.sh",
8
+ "ios": "scripts/ios.sh",
9
+ "android": "scripts/android.sh",
10
10
  "ng": "ng",
11
11
  "start": "ng serve",
12
12
  "build": "ng build",
@@ -16,8 +16,8 @@
16
16
  },
17
17
  "private": true,
18
18
  "dependencies": {
19
- "@regulaforensics/face-sdk": "6.5.67-beta",
20
- "@regulaforensics/face-core-basic": "6.3.12-beta",
19
+ "@regulaforensics/face-sdk": "6.5.84-beta",
20
+ "@regulaforensics/face-core-basic": "6.3.146-beta",
21
21
  "cordova-plugin-camera": "8.0.0",
22
22
  "@awesome-cordova-plugins/camera": "6.14.0",
23
23
  "@awesome-cordova-plugins/core": "6.14.0",
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+
3
+ if [[ $npm_config_o || $npm_config_open ]]; then
4
+ ionic cordova prepare android
5
+ studio platforms/android || open -a 'Android Studio' platforms/android
6
+ else
7
+ ionic cordova run android
8
+ fi
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+
3
+ if [[ $npm_config_o || $npm_config_open ]]; then
4
+ ionic cordova prepare ios
5
+ open platforms/ios/FaceSDK.xcworkspace
6
+ else
7
+ ionic cordova run ios
8
+ fi
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ npm install
5
+ ionic cordova prepare
@@ -3,7 +3,7 @@ import { Dialogs } from '@awesome-cordova-plugins/dialogs/ngx'
3
3
  import { File } from '@awesome-cordova-plugins/file'
4
4
  import { Camera, DestinationType, MediaType, PictureSourceType } from '@awesome-cordova-plugins/camera/ngx'
5
5
  import { Platform } from '@ionic/angular'
6
- import { FaceSDK, InitConfig, LivenessSkipStep, LivenessStatus, LivenessConfig } from '@regulaforensics/face-sdk'
6
+ import { FaceSDK, MatchFacesRequest, MatchFacesImage, InitConfig, LivenessSkipStep, ImageType, LivenessStatus, LivenessConfig } from '@regulaforensics/face-sdk'
7
7
 
8
8
  async function init() {
9
9
  if (!await initialize()) return
@@ -20,14 +20,33 @@ async function startLiveness() {
20
20
  }
21
21
  })
22
22
  if (response.image == null) return
23
- setImage(response.image, 1)
23
+ setImage(response.image, ImageType.LIVE, 1)
24
24
  setLivenessStatus(response.liveness == LivenessStatus.PASSED ? "passed" : "unknown")
25
25
  }
26
26
 
27
+ async function matchFaces() {
28
+ if (image1 == null || image2 == null) {
29
+ setStatus("Both images required!")
30
+ return
31
+ }
32
+ setStatus("Processing...")
33
+ var request = new MatchFacesRequest([image1, image2])
34
+ var response = await faceSdk.matchFaces(request)
35
+ var split = await faceSdk.splitComparedFaces(response.results, 0.75)
36
+ var match = split.matchedFaces
37
+ setSimilarityStatus("failed")
38
+ if (match.length > 0)
39
+ setSimilarityStatus((match[0].similarity * 100).toFixed(2) + "%")
40
+ setStatus("Ready")
41
+ }
42
+
27
43
  function clearResults() {
28
44
  setStatus("Ready")
45
+ setSimilarityStatus("null")
29
46
  setLivenessStatus("null")
30
47
  resetImages()
48
+ image1 = null
49
+ image2 = null
31
50
  }
32
51
 
33
52
  // If 'regula.license' exists, init using license(enables offline match)
@@ -45,14 +64,40 @@ async function initialize() {
45
64
  return success
46
65
  }
47
66
 
48
- function setImage(base64: string, position: number) {
67
+ function setImage(base64: string, type: number, position: number) {
49
68
  setSimilarityStatus("null")
69
+ var mfImage = new MatchFacesImage(base64, type)
50
70
  if (position == 1) {
71
+ image1 = mfImage
51
72
  setUiImage1("data:image/png;base64," + base64)
52
73
  setLivenessStatus("null")
53
74
  }
54
- if (position == 2)
75
+ if (position == 2) {
76
+ image2 = mfImage
55
77
  setUiImage2("data:image/png;base64," + base64)
78
+ }
79
+ }
80
+
81
+ async function useCamera(position: number) {
82
+ var response = await faceSdk.startFaceCapture()
83
+ if (response.image == null) return
84
+ var image = response.image
85
+ setImage(image.image, image.imageType, position)
86
+ }
87
+
88
+ function useGallery(position: number) {
89
+ app.camera.getPicture({
90
+ destinationType: DestinationType.DATA_URL,
91
+ mediaType: MediaType.PICTURE,
92
+ sourceType: PictureSourceType.PHOTOLIBRARY
93
+ }).then((result: string) => setImage(result, ImageType.PRINTED, position))
94
+ }
95
+
96
+ function pickImage(position: number) {
97
+ app.dialogs.confirm("", "Select option", ["Use gallery", "Use camera"]).then(button => {
98
+ if (button == 1) useGallery(position)
99
+ else useCamera(position)
100
+ })
56
101
  }
57
102
 
58
103
  async function loadAssetIfExists(path: string): Promise<string | null> {
@@ -73,7 +118,10 @@ async function loadAssetIfExists(path: string): Promise<string | null> {
73
118
  }
74
119
 
75
120
  var app: HomePage
76
- var faceSdk = new FaceSDK()
121
+ var faceSdk = FaceSDK.instance
122
+
123
+ var image1: MatchFacesImage | null
124
+ var image2: MatchFacesImage | null
77
125
 
78
126
  var setStatus = (data: string) => app.status.nativeElement.innerHTML = data
79
127
  var setSimilarityStatus = (data: string) => app.similarityResult.nativeElement.innerHTML = data
@@ -106,6 +154,9 @@ export class HomePage {
106
154
  async ionViewDidEnter() {
107
155
  app = this
108
156
 
157
+ app.img1.nativeElement.onclick = () => pickImage(1)
158
+ app.img2.nativeElement.onclick = () => pickImage(2)
159
+ app.matchFacesButton.nativeElement.addEventListener("click", matchFaces)
109
160
  app.livenessButton.nativeElement.addEventListener("click", startLiveness)
110
161
  app.clearResultsButton.nativeElement.addEventListener("click", clearResults)
111
162
 
@@ -3,13 +3,13 @@
3
3
  ## How to build demo application
4
4
  1. Download or the clone current repository using the command `git clone https://github.com/regulaforensics/npm-face-sdk.git`.
5
5
 
6
- 2. Run `npm run setup` within this directory.
6
+ 2. Execute `npm run setup` within this directory.
7
7
 
8
8
  3. Run the app:
9
- * Android: use command `npm run android`.
10
- * IOS: use command `npm run ios`.
9
+ * IOS: `npm run ios`.
10
+ * Android: `npm run android`.
11
11
 
12
- **Note**: this is just one way of running the app. You can also run it directly from Xcode and Android Studio, but in this case make sure that Metro Bundler is running(`npm start`).
12
+ **Note**: this is just one way of running the app. You can also pass `-o` or `--open` argument to the command, and this will open Xcode/Android Studio, then run the app directly from the IDE. Overall, this is a more consistent way, so if you're having troubles running the app from terminal, try running it from the IDE. Just don't forget to make sure that Metro Bundler is running(`npm start`).
13
13
 
14
14
 
15
15
  ## How to use offine match