@regulaforensics/face-sdk 6.3.3-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.
- package/README.md +23 -0
- package/RNFaceSDK.podspec +21 -0
- package/android/CVDFaceSDK.kt +34 -0
- package/android/build.gradle +48 -0
- package/android/cordova.gradle +18 -0
- package/android/src/main/AndroidManifest.xml +1 -0
- package/android/src/main/java/com/regula/plugin/facesdk/Config.kt +165 -0
- package/android/src/main/java/com/regula/plugin/facesdk/JSONConstructor.kt +904 -0
- package/android/src/main/java/com/regula/plugin/facesdk/Main.kt +370 -0
- package/android/src/main/java/com/regula/plugin/facesdk/RNFaceApiModule.kt +54 -0
- package/android/src/main/java/com/regula/plugin/facesdk/RNFaceApiPackage.kt +11 -0
- package/android/src/main/java/com/regula/plugin/facesdk/Utils.kt +287 -0
- package/examples/capacitor/.browserslistrc +6 -0
- package/examples/capacitor/.eslintrc.js +17 -0
- package/examples/capacitor/README.md +27 -0
- package/examples/capacitor/android/app/build.gradle +54 -0
- package/examples/capacitor/android/app/capacitor.build.gradle +22 -0
- package/examples/capacitor/android/app/proguard-rules.pro +21 -0
- package/examples/capacitor/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java +26 -0
- package/examples/capacitor/android/app/src/main/AndroidManifest.xml +43 -0
- package/examples/capacitor/android/app/src/main/java/com/regula/faceapi/MainActivity.java +5 -0
- package/examples/capacitor/android/app/src/main/res/drawable/ic_launcher_background.xml +170 -0
- package/examples/capacitor/android/app/src/main/res/drawable/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-land-hdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-land-mdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-land-xhdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-land-xxhdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-land-xxxhdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-port-hdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-port-mdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-port-xhdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-port-xxhdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-port-xxxhdpi/splash.png +0 -0
- package/examples/capacitor/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +34 -0
- package/examples/capacitor/android/app/src/main/res/layout/activity_main.xml +12 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +5 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +5 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
- package/examples/capacitor/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/examples/capacitor/android/app/src/main/res/values/ic_launcher_background.xml +4 -0
- package/examples/capacitor/android/app/src/main/res/values/strings.xml +7 -0
- package/examples/capacitor/android/app/src/main/res/values/styles.xml +22 -0
- package/examples/capacitor/android/app/src/main/res/xml/file_paths.xml +5 -0
- package/examples/capacitor/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java +18 -0
- package/examples/capacitor/android/build.gradle +30 -0
- package/examples/capacitor/android/capacitor.settings.gradle +15 -0
- package/examples/capacitor/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/examples/capacitor/android/gradle/wrapper/gradle-wrapper.properties +6 -0
- package/examples/capacitor/android/gradle.properties +22 -0
- package/examples/capacitor/android/gradlew +244 -0
- package/examples/capacitor/android/gradlew.bat +92 -0
- package/examples/capacitor/android/settings.gradle +5 -0
- package/examples/capacitor/android/variables.gradle +16 -0
- package/examples/capacitor/capacitor.config.ts +12 -0
- package/examples/capacitor/cypress/e2e/test.cy.ts +6 -0
- package/examples/capacitor/cypress/fixtures/example.json +5 -0
- package/examples/capacitor/cypress/support/commands.ts +37 -0
- package/examples/capacitor/cypress/support/e2e.ts +20 -0
- package/examples/capacitor/cypress.config.ts +10 -0
- package/examples/capacitor/index.html +106 -0
- package/examples/capacitor/ionic.config.json +7 -0
- package/examples/capacitor/ios/App/App/App.entitlements +5 -0
- package/examples/capacitor/ios/App/App/AppDelegate.swift +49 -0
- package/examples/capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png +0 -0
- package/examples/capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json +14 -0
- package/examples/capacitor/ios/App/App/Assets.xcassets/Contents.json +6 -0
- package/examples/capacitor/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json +23 -0
- package/examples/capacitor/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png +0 -0
- package/examples/capacitor/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png +0 -0
- package/examples/capacitor/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png +0 -0
- package/examples/capacitor/ios/App/App/Base.lproj/LaunchScreen.storyboard +32 -0
- package/examples/capacitor/ios/App/App/Base.lproj/Main.storyboard +19 -0
- package/examples/capacitor/ios/App/App/Info.plist +53 -0
- package/examples/capacitor/ios/App/App.xcodeproj/project.pbxproj +410 -0
- package/examples/capacitor/ios/App/App.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/examples/capacitor/ios/App/App.xcworkspace/contents.xcworkspacedata +10 -0
- package/examples/capacitor/ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/examples/capacitor/ios/App/Podfile +27 -0
- package/examples/capacitor/package.json +64 -0
- package/examples/capacitor/public/assets/.gitkeep +0 -0
- package/examples/capacitor/public/assets/img/id.png +0 -0
- package/examples/capacitor/public/assets/img/portrait.png +0 -0
- package/examples/capacitor/public/favicon.png +0 -0
- package/examples/capacitor/public/manifest.json +21 -0
- package/examples/capacitor/src/App.test.tsx +8 -0
- package/examples/capacitor/src/App.tsx +42 -0
- package/examples/capacitor/src/components/ExploreContainer.css +24 -0
- package/examples/capacitor/src/components/ExploreContainer.tsx +14 -0
- package/examples/capacitor/src/main.tsx +11 -0
- package/examples/capacitor/src/pages/Home.tsx +159 -0
- package/examples/capacitor/src/setupTests.ts +14 -0
- package/examples/capacitor/src/theme/variables.css +242 -0
- package/examples/capacitor/src/vite-env.d.ts +1 -0
- package/examples/capacitor/tsconfig.json +21 -0
- package/examples/capacitor/tsconfig.node.json +9 -0
- package/examples/capacitor/vite.config.ts +16 -0
- package/examples/cordova/.vscode/launch.json +28 -0
- package/examples/cordova/config.xml +37 -0
- package/examples/cordova/jsconfig.json +1 -0
- package/examples/cordova/package.json +40 -0
- package/examples/cordova/www/css/index.css +107 -0
- package/examples/cordova/www/img/id.png +0 -0
- package/examples/cordova/www/img/logo.png +0 -0
- package/examples/cordova/www/img/portrait.png +0 -0
- package/examples/cordova/www/index.html +94 -0
- package/examples/cordova/www/js/index.js +154 -0
- package/examples/ionic/angular.json +187 -0
- package/examples/ionic/browserslist +12 -0
- package/examples/ionic/config.xml +114 -0
- package/examples/ionic/e2e/protractor.conf.js +28 -0
- package/examples/ionic/e2e/src/app.e2e-spec.ts +14 -0
- package/examples/ionic/e2e/src/app.po.ts +11 -0
- package/examples/ionic/e2e/tsconfig.json +13 -0
- package/examples/ionic/ionic.config.json +7 -0
- package/examples/ionic/karma.conf.js +31 -0
- package/examples/ionic/package.json +97 -0
- package/examples/ionic/resources/README.md +8 -0
- package/examples/ionic/resources/android/icon/drawable-hdpi-icon.png +0 -0
- package/examples/ionic/resources/android/icon/drawable-ldpi-icon.png +0 -0
- package/examples/ionic/resources/android/icon/drawable-mdpi-icon.png +0 -0
- package/examples/ionic/resources/android/icon/drawable-xhdpi-icon.png +0 -0
- package/examples/ionic/resources/android/icon/drawable-xxhdpi-icon.png +0 -0
- package/examples/ionic/resources/android/icon/drawable-xxxhdpi-icon.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-land-hdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-land-ldpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-land-mdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-land-xhdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-land-xxhdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-land-xxxhdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-port-hdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-port-ldpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-port-mdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-port-xhdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-port-xxhdpi-screen.png +0 -0
- package/examples/ionic/resources/android/splash/drawable-port-xxxhdpi-screen.png +0 -0
- package/examples/ionic/resources/android/xml/network_security_config.xml +6 -0
- package/examples/ionic/resources/icon.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-1024.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-20.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-20@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-20@3x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-24@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-27.5@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-29.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-29@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-29@3x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-40.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-40@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-40@3x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-44@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-50.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-50@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-60.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-60@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-60@3x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-72.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-72@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-76.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-76@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-83.5@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-86@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-98@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-small.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-small@2x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon-small@3x.png +0 -0
- package/examples/ionic/resources/ios/icon/icon.png +0 -0
- package/examples/ionic/resources/ios/icon/icon@2x.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-2436h.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-568h@2x~iphone.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-667h.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-736h.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Landscape-2436h.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Landscape-736h.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Landscape@2x~ipad.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Landscape@~ipadpro.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Landscape~ipad.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Portrait@2x~ipad.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Portrait@~ipadpro.png +0 -0
- package/examples/ionic/resources/ios/splash/Default-Portrait~ipad.png +0 -0
- package/examples/ionic/resources/ios/splash/Default@2x~iphone.png +0 -0
- package/examples/ionic/resources/ios/splash/Default@2x~universal~anyany.png +0 -0
- package/examples/ionic/resources/ios/splash/Default~iphone.png +0 -0
- package/examples/ionic/resources/splash.png +0 -0
- package/examples/ionic/src/app/app-routing.module.ts +15 -0
- package/examples/ionic/src/app/app.component.html +3 -0
- package/examples/ionic/src/app/app.component.scss +0 -0
- package/examples/ionic/src/app/app.component.spec.ts +47 -0
- package/examples/ionic/src/app/app.component.ts +27 -0
- package/examples/ionic/src/app/app.module.ts +23 -0
- package/examples/ionic/src/app/home/home.module.ts +29 -0
- package/examples/ionic/src/app/home/home.page.html +75 -0
- package/examples/ionic/src/app/home/home.page.scss +1 -0
- package/examples/ionic/src/app/home/home.page.spec.ts +24 -0
- package/examples/ionic/src/app/home/home.page.ts +166 -0
- package/examples/ionic/src/assets/icon/favicon.png +0 -0
- package/examples/ionic/src/assets/img/portrait.png +0 -0
- package/examples/ionic/src/assets/shapes.svg +1 -0
- package/examples/ionic/src/environments/environment.prod.ts +3 -0
- package/examples/ionic/src/environments/environment.ts +16 -0
- package/examples/ionic/src/global.scss +31 -0
- package/examples/ionic/src/index.html +25 -0
- package/examples/ionic/src/main.ts +12 -0
- package/examples/ionic/src/polyfills.ts +66 -0
- package/examples/ionic/src/test.ts +20 -0
- package/examples/ionic/src/theme/variables.scss +77 -0
- package/examples/ionic/src/zone-flags.ts +5 -0
- package/examples/ionic/tsconfig.app.json +14 -0
- package/examples/ionic/tsconfig.json +26 -0
- package/examples/ionic/tsconfig.spec.json +19 -0
- package/examples/ionic/tslint.json +88 -0
- package/examples/react-native/.vscode/launch.json +26 -0
- package/examples/react-native/.watchmanconfig +1 -0
- package/examples/react-native/App.tsx +206 -0
- package/examples/react-native/Gemfile +8 -0
- package/examples/react-native/Gemfile.lock +134 -0
- package/examples/react-native/android/app/build.gradle +123 -0
- package/examples/react-native/android/app/debug.keystore +0 -0
- package/examples/react-native/android/app/proguard-rules.pro +10 -0
- package/examples/react-native/android/app/src/debug/AndroidManifest.xml +9 -0
- package/examples/react-native/android/app/src/main/AndroidManifest.xml +27 -0
- package/examples/react-native/android/app/src/main/assets/.gitkeep +0 -0
- package/examples/react-native/android/app/src/main/java/com/regula/face/api/MainActivity.kt +22 -0
- package/examples/react-native/android/app/src/main/java/com/regula/face/api/MainApplication.kt +43 -0
- package/examples/react-native/android/app/src/main/res/drawable/rn_edit_text_material.xml +37 -0
- package/examples/react-native/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/examples/react-native/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/examples/react-native/android/app/src/main/res/values/strings.xml +3 -0
- package/examples/react-native/android/app/src/main/res/values/styles.xml +9 -0
- package/examples/react-native/android/build.gradle +21 -0
- package/examples/react-native/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/examples/react-native/android/gradle/wrapper/gradle-wrapper.properties +7 -0
- package/examples/react-native/android/gradle.properties +39 -0
- package/examples/react-native/android/gradlew +249 -0
- package/examples/react-native/android/gradlew.bat +92 -0
- package/examples/react-native/android/settings.gradle +6 -0
- package/examples/react-native/images/portrait.png +0 -0
- package/examples/react-native/index.js +4 -0
- package/examples/react-native/ios/.xcode.env +11 -0
- package/examples/react-native/ios/FaceSDK/AppDelegate.h +6 -0
- package/examples/react-native/ios/FaceSDK/AppDelegate.mm +31 -0
- package/examples/react-native/ios/FaceSDK/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
- package/examples/react-native/ios/FaceSDK/Images.xcassets/Contents.json +6 -0
- package/examples/react-native/ios/FaceSDK/Info.plist +51 -0
- package/examples/react-native/ios/FaceSDK/LaunchScreen.storyboard +47 -0
- package/examples/react-native/ios/FaceSDK/PrivacyInfo.xcprivacy +38 -0
- package/examples/react-native/ios/FaceSDK/main.m +10 -0
- package/examples/react-native/ios/FaceSDK.xcodeproj/project.pbxproj +719 -0
- package/examples/react-native/ios/FaceSDK.xcodeproj/xcshareddata/xcschemes/FaceSDK.xcscheme +88 -0
- package/examples/react-native/ios/FaceSDK.xcworkspace/contents.xcworkspacedata +10 -0
- package/examples/react-native/ios/FaceSDK.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/examples/react-native/ios/FaceSDKTests/FaceSDKTests.m +66 -0
- package/examples/react-native/ios/FaceSDKTests/Info.plist +24 -0
- package/examples/react-native/ios/Podfile +40 -0
- package/examples/react-native/ios/Podfile.lock +1822 -0
- package/examples/react-native/ios/license/.gitkeep +0 -0
- package/examples/react-native/metro.config.js +15 -0
- package/examples/react-native/package-lock.json +13098 -0
- package/examples/react-native/package.json +42 -0
- package/ios/CVDFaceSDK.h +7 -0
- package/ios/CVDFaceSDK.m +34 -0
- package/ios/RFSWConfig.h +27 -0
- package/ios/RFSWConfig.m +189 -0
- package/ios/RFSWJSONConstructor.h +134 -0
- package/ios/RFSWJSONConstructor.m +977 -0
- package/ios/RFSWMain.h +23 -0
- package/ios/RFSWMain.m +352 -0
- package/ios/RNFaceSDK.h +8 -0
- package/ios/RNFaceSDK.m +42 -0
- package/ios-ci/.gitlab-ci.yml +41 -0
- package/ios-ci/.sample-env +22 -0
- package/ios-ci/README.md +97 -0
- package/ios-ci/RegulaDanger/Package.swift +34 -0
- package/ios-ci/RegulaDanger/Sources/RegulaDanger/RegulaDanger.swift +44 -0
- package/ios-ci/RegulaDanger/Tests/LinuxMain.swift +7 -0
- package/ios-ci/RegulaDanger/Tests/RegulaDangerTests/RegulaDangerTests.swift +15 -0
- package/ios-ci/RegulaDanger/Tests/RegulaDangerTests/XCTestManifests.swift +9 -0
- package/ios-ci/install.sh +9 -0
- package/ios-ci/ios_ci/__init__.py +8 -0
- package/ios-ci/ios_ci/cli.py +408 -0
- package/ios-ci/ios_ci/common/__init__.py +0 -0
- package/ios-ci/ios_ci/common/build_index.py +70 -0
- package/ios-ci/ios_ci/common/clean_cocoapod.sh +13 -0
- package/ios-ci/ios_ci/common/dependency.py +466 -0
- package/ios-ci/ios_ci/common/ftp.py +314 -0
- package/ios-ci/ios_ci/common/searchpod.sh +6 -0
- package/ios-ci/ios_ci/common/wait_for_cocopod.sh +21 -0
- package/ios-ci/ios_ci/inject.py +145 -0
- package/ios-ci/ios_ci/podspec/__init__.py +0 -0
- package/ios-ci/ios_ci/podspec/podspec.py +88 -0
- package/ios-ci/ios_ci/podspec/templates/BTDevice.podspec +17 -0
- package/ios-ci/ios_ci/podspec/templates/Core.podspec +17 -0
- package/ios-ci/ios_ci/podspec/templates/DocumentReader.podspec +19 -0
- package/ios-ci/ios_ci/podspec/templates/FaceCore.podspec +17 -0
- package/ios-ci/ios_ci/podspec/templates/FaceSDK.podspec +18 -0
- package/ios-ci/ios_ci/podspec/templates/IRS.podspec +17 -0
- package/ios-ci/ios_ci/podspec/templates/RegulaCommon.podspec +17 -0
- package/ios-ci/ios_ci/resolve_podfile_common.py +76 -0
- package/ios-ci/ios_ci/spm/AppleRootCA-G3.cer +0 -0
- package/ios-ci/ios_ci/spm/AppleWWDRCAG3.cer +0 -0
- package/ios-ci/ios_ci/spm/SwiftPackageGenerator+Common.sh +48 -0
- package/ios-ci/ios_ci/spm/SwiftPackageGenerator.sh +33 -0
- package/ios-ci/ios_ci/spm/XcodeSPMCollection.json +29 -0
- package/ios-ci/ios_ci/spm/__init__.py +0 -0
- package/ios-ci/ios_ci/spm/askpass.py +19 -0
- package/ios-ci/ios_ci/spm/spm.py +227 -0
- package/ios-ci/ios_ci/upload_build.py +158 -0
- package/ios-ci/ios_ci/version.py +14 -0
- package/ios-ci/poetry.lock +342 -0
- package/ios-ci/pyproject.toml +26 -0
- package/ios-ci/scripts.py +9 -0
- package/ios-ci/tests/__init__.py +0 -0
- package/ios-ci/tests/podspec/fixtures/BTDevice.podspec +17 -0
- package/ios-ci/tests/podspec/fixtures/BTDeviceBeta.podspec +17 -0
- package/ios-ci/tests/podspec/fixtures/DocumentReaderBeta_RegulaCommon_Beta.podspec +19 -0
- package/ios-ci/tests/podspec/fixtures/DocumentReaderBeta_RegulaCommon_Release.podspec +19 -0
- package/ios-ci/tests/podspec/fixtures/DocumentReaderFullRFID.podspec +17 -0
- package/ios-ci/tests/podspec/fixtures/DocumentReaderFullRFIDBeta.podspec +17 -0
- package/ios-ci/tests/podspec/fixtures/DocumentReader_RegulaCommon_Beta.podspec +19 -0
- package/ios-ci/tests/podspec/fixtures/DocumentReader_RegulaCommon_Release.podspec +19 -0
- package/ios-ci/tests/podspec/fixtures/FaceSDK.podspec +18 -0
- package/ios-ci/tests/podspec/fixtures/FaceSDKBeta.podspec +18 -0
- package/ios-ci/tests/podspec/fixtures/IRS.podspec +17 -0
- package/ios-ci/tests/podspec/fixtures/IRSBeta.podspec +17 -0
- package/ios-ci/tests/podspec/fixtures/RegulaCommon.podspec +17 -0
- package/ios-ci/tests/podspec/fixtures/RegulaCommonBeta.podspec +17 -0
- package/ios-ci/tests/podspec/test_podspec.py +188 -0
- package/ios-ci/tests/test_build_index.py +117 -0
- package/ios-ci/tests/test_dependency.py +139 -0
- package/ios-ci/tests/test_ios_ci.py +5 -0
- package/package.json +36 -0
- package/plugin.xml +48 -0
- package/www/capacitor/customization/camera_position.js +4 -0
- package/www/capacitor/customization/customization.js +66 -0
- package/www/capacitor/customization/customization_colors.js +233 -0
- package/www/capacitor/customization/customization_fonts.js +106 -0
- package/www/capacitor/customization/customization_images.js +129 -0
- package/www/capacitor/customization/font.js +23 -0
- package/www/capacitor/customization/screen_orientation.js +4 -0
- package/www/capacitor/detect_faces/detect_face_result.js +38 -0
- package/www/capacitor/detect_faces/detect_faces_attribute.js +15 -0
- package/www/capacitor/detect_faces/detect_faces_attribute_result.js +20 -0
- package/www/capacitor/detect_faces/detect_faces_backend_exception.js +23 -0
- package/www/capacitor/detect_faces/detect_faces_config.js +14 -0
- package/www/capacitor/detect_faces/detect_faces_exception.js +30 -0
- package/www/capacitor/detect_faces/detect_faces_request.js +67 -0
- package/www/capacitor/detect_faces/detect_faces_response.js +24 -0
- package/www/capacitor/detect_faces/detect_faces_scenario.js +10 -0
- package/www/capacitor/face_capture/face_capture_config.js +28 -0
- package/www/capacitor/face_capture/face_capture_exception.js +25 -0
- package/www/capacitor/face_capture/face_capture_image.js +26 -0
- package/www/capacitor/face_capture/face_capture_response.js +17 -0
- package/www/capacitor/image_params/output_image_crop.js +21 -0
- package/www/capacitor/image_params/output_image_params.js +9 -0
- package/www/capacitor/image_params/point.js +14 -0
- package/www/capacitor/image_params/rect.js +18 -0
- package/www/capacitor/image_params/size.js +9 -0
- package/www/capacitor/image_quality/image_quality_characteristic.js +24 -0
- package/www/capacitor/image_quality/image_quality_characteristic_name.js +58 -0
- package/www/capacitor/image_quality/image_quality_group.js +332 -0
- package/www/capacitor/image_quality/image_quality_range.js +26 -0
- package/www/capacitor/image_quality/image_quality_result.js +40 -0
- package/www/capacitor/index.js +219 -0
- package/www/capacitor/init/face_sdk_version.js +16 -0
- package/www/capacitor/init/init_config.js +9 -0
- package/www/capacitor/init/init_exception.js +29 -0
- package/www/capacitor/init/license_exception.js +29 -0
- package/www/capacitor/internal/bridge.js +39 -0
- package/www/capacitor/internal/cordova.js +17 -0
- package/www/capacitor/internal/webpack.config.js +11 -0
- package/www/capacitor/liveness/liveness_backend_exception.js +38 -0
- package/www/capacitor/liveness/liveness_config.js +54 -0
- package/www/capacitor/liveness/liveness_exception.js +35 -0
- package/www/capacitor/liveness/liveness_notification.js +34 -0
- package/www/capacitor/liveness/liveness_response.js +30 -0
- package/www/capacitor/match_faces/compared_face.js +21 -0
- package/www/capacitor/match_faces/compared_faces_pair.js +23 -0
- package/www/capacitor/match_faces/compared_faces_split.js +22 -0
- package/www/capacitor/match_faces/match_faces_backend_exception.js +14 -0
- package/www/capacitor/match_faces/match_faces_config.js +12 -0
- package/www/capacitor/match_faces/match_faces_detection.js +25 -0
- package/www/capacitor/match_faces/match_faces_detection_face.js +28 -0
- package/www/capacitor/match_faces/match_faces_exception.js +30 -0
- package/www/capacitor/match_faces/match_faces_image.js +25 -0
- package/www/capacitor/match_faces/match_faces_request.js +13 -0
- package/www/capacitor/match_faces/match_faces_response.js +28 -0
- package/www/capacitor/person_database/edit_group_persons_request.js +9 -0
- package/www/capacitor/person_database/image_upload.js +16 -0
- package/www/capacitor/person_database/pageable_item_list.js +22 -0
- package/www/capacitor/person_database/person.js +22 -0
- package/www/capacitor/person_database/person_database.js +145 -0
- package/www/capacitor/person_database/person_group.js +18 -0
- package/www/capacitor/person_database/person_image.js +22 -0
- package/www/capacitor/person_database/search_person.js +31 -0
- package/www/capacitor/person_database/search_person_detection.js +22 -0
- package/www/capacitor/person_database/search_person_image.js +26 -0
- package/www/capacitor/person_database/search_person_request.js +17 -0
- package/www/cordova.js +3738 -0
- package/www/react-native/customization/camera_position.js +4 -0
- package/www/react-native/customization/customization.js +66 -0
- package/www/react-native/customization/customization_colors.js +233 -0
- package/www/react-native/customization/customization_fonts.js +106 -0
- package/www/react-native/customization/customization_images.js +129 -0
- package/www/react-native/customization/font.js +23 -0
- package/www/react-native/customization/screen_orientation.js +4 -0
- package/www/react-native/detect_faces/detect_face_result.js +38 -0
- package/www/react-native/detect_faces/detect_faces_attribute.js +15 -0
- package/www/react-native/detect_faces/detect_faces_attribute_result.js +20 -0
- package/www/react-native/detect_faces/detect_faces_backend_exception.js +23 -0
- package/www/react-native/detect_faces/detect_faces_config.js +14 -0
- package/www/react-native/detect_faces/detect_faces_exception.js +30 -0
- package/www/react-native/detect_faces/detect_faces_request.js +67 -0
- package/www/react-native/detect_faces/detect_faces_response.js +24 -0
- package/www/react-native/detect_faces/detect_faces_scenario.js +10 -0
- package/www/react-native/face_capture/face_capture_config.js +28 -0
- package/www/react-native/face_capture/face_capture_exception.js +25 -0
- package/www/react-native/face_capture/face_capture_image.js +26 -0
- package/www/react-native/face_capture/face_capture_response.js +17 -0
- package/www/react-native/image_params/output_image_crop.js +21 -0
- package/www/react-native/image_params/output_image_params.js +9 -0
- package/www/react-native/image_params/point.js +14 -0
- package/www/react-native/image_params/rect.js +18 -0
- package/www/react-native/image_params/size.js +9 -0
- package/www/react-native/image_quality/image_quality_characteristic.js +24 -0
- package/www/react-native/image_quality/image_quality_characteristic_name.js +58 -0
- package/www/react-native/image_quality/image_quality_group.js +332 -0
- package/www/react-native/image_quality/image_quality_range.js +26 -0
- package/www/react-native/image_quality/image_quality_result.js +40 -0
- package/www/react-native/index.js +219 -0
- package/www/react-native/init/face_sdk_version.js +16 -0
- package/www/react-native/init/init_config.js +9 -0
- package/www/react-native/init/init_exception.js +29 -0
- package/www/react-native/init/license_exception.js +29 -0
- package/www/react-native/internal/bridge.js +39 -0
- package/www/react-native/liveness/liveness_backend_exception.js +38 -0
- package/www/react-native/liveness/liveness_config.js +54 -0
- package/www/react-native/liveness/liveness_exception.js +35 -0
- package/www/react-native/liveness/liveness_notification.js +34 -0
- package/www/react-native/liveness/liveness_response.js +30 -0
- package/www/react-native/match_faces/compared_face.js +21 -0
- package/www/react-native/match_faces/compared_faces_pair.js +23 -0
- package/www/react-native/match_faces/compared_faces_split.js +22 -0
- package/www/react-native/match_faces/match_faces_backend_exception.js +14 -0
- package/www/react-native/match_faces/match_faces_config.js +12 -0
- package/www/react-native/match_faces/match_faces_detection.js +25 -0
- package/www/react-native/match_faces/match_faces_detection_face.js +28 -0
- package/www/react-native/match_faces/match_faces_exception.js +30 -0
- package/www/react-native/match_faces/match_faces_image.js +25 -0
- package/www/react-native/match_faces/match_faces_request.js +13 -0
- package/www/react-native/match_faces/match_faces_response.js +28 -0
- package/www/react-native/person_database/edit_group_persons_request.js +9 -0
- package/www/react-native/person_database/image_upload.js +16 -0
- package/www/react-native/person_database/pageable_item_list.js +22 -0
- package/www/react-native/person_database/person.js +22 -0
- package/www/react-native/person_database/person_database.js +145 -0
- package/www/react-native/person_database/person_group.js +18 -0
- package/www/react-native/person_database/person_image.js +22 -0
- package/www/react-native/person_database/search_person.js +31 -0
- package/www/react-native/person_database/search_person_detection.js +22 -0
- package/www/react-native/person_database/search_person_image.js +26 -0
- package/www/react-native/person_database/search_person_request.js +17 -0
- package/www/types/customization/camera_position.d.ts +4 -0
- package/www/types/customization/customization.d.ts +24 -0
- package/www/types/customization/customization_colors.d.ts +31 -0
- package/www/types/customization/customization_fonts.d.ts +17 -0
- package/www/types/customization/customization_images.d.ts +18 -0
- package/www/types/customization/font.d.ts +14 -0
- package/www/types/customization/screen_orientation.d.ts +4 -0
- package/www/types/detect_faces/detect_face_result.d.ts +16 -0
- package/www/types/detect_faces/detect_faces_attribute.d.ts +15 -0
- package/www/types/detect_faces/detect_faces_attribute_result.d.ts +11 -0
- package/www/types/detect_faces/detect_faces_backend_exception.d.ts +15 -0
- package/www/types/detect_faces/detect_faces_config.d.ts +19 -0
- package/www/types/detect_faces/detect_faces_exception.d.ts +21 -0
- package/www/types/detect_faces/detect_faces_request.d.ts +27 -0
- package/www/types/detect_faces/detect_faces_response.d.ts +12 -0
- package/www/types/detect_faces/detect_faces_scenario.d.ts +10 -0
- package/www/types/face_capture/face_capture_config.d.ts +30 -0
- package/www/types/face_capture/face_capture_exception.d.ts +17 -0
- package/www/types/face_capture/face_capture_image.d.ts +15 -0
- package/www/types/face_capture/face_capture_response.d.ts +9 -0
- package/www/types/image_params/output_image_crop.d.ts +25 -0
- package/www/types/image_params/output_image_params.d.ts +13 -0
- package/www/types/image_params/point.d.ts +6 -0
- package/www/types/image_params/rect.d.ts +8 -0
- package/www/types/image_params/size.d.ts +6 -0
- package/www/types/image_quality/image_quality_characteristic.d.ts +4 -0
- package/www/types/image_quality/image_quality_characteristic_name.d.ts +58 -0
- package/www/types/image_quality/image_quality_group.d.ts +155 -0
- package/www/types/image_quality/image_quality_range.d.ts +8 -0
- package/www/types/image_quality/image_quality_result.d.ts +30 -0
- package/www/types/index.d.ts +159 -0
- package/www/types/init/face_sdk_version.d.ts +7 -0
- package/www/types/init/init_config.d.ts +7 -0
- package/www/types/init/init_exception.d.ts +20 -0
- package/www/types/init/license_exception.d.ts +21 -0
- package/www/types/liveness/liveness_backend_exception.d.ts +30 -0
- package/www/types/liveness/liveness_config.d.ts +56 -0
- package/www/types/liveness/liveness_exception.d.ts +26 -0
- package/www/types/liveness/liveness_notification.d.ts +28 -0
- package/www/types/liveness/liveness_response.d.ts +18 -0
- package/www/types/match_faces/compared_face.d.ts +11 -0
- package/www/types/match_faces/compared_faces_pair.d.ts +12 -0
- package/www/types/match_faces/compared_faces_split.d.ts +8 -0
- package/www/types/match_faces/match_faces_backend_exception.d.ts +6 -0
- package/www/types/match_faces/match_faces_config.d.ts +14 -0
- package/www/types/match_faces/match_faces_detection.d.ts +12 -0
- package/www/types/match_faces/match_faces_detection_face.d.ts +13 -0
- package/www/types/match_faces/match_faces_exception.d.ts +21 -0
- package/www/types/match_faces/match_faces_image.d.ts +16 -0
- package/www/types/match_faces/match_faces_request.d.ts +18 -0
- package/www/types/match_faces/match_faces_response.d.ts +12 -0
- package/www/types/person_database/edit_group_persons_request.d.ts +8 -0
- package/www/types/person_database/image_upload.d.ts +6 -0
- package/www/types/person_database/pageable_item_list.d.ts +7 -0
- package/www/types/person_database/person.d.ts +10 -0
- package/www/types/person_database/person_database.d.ts +92 -0
- package/www/types/person_database/person_group.d.ts +8 -0
- package/www/types/person_database/person_image.d.ts +10 -0
- package/www/types/person_database/search_person.d.ts +15 -0
- package/www/types/person_database/search_person_detection.d.ts +11 -0
- package/www/types/person_database/search_person_image.d.ts +12 -0
- package/www/types/person_database/search_person_request.d.ts +15 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "face-sdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"setup": "npm install && (cd ios && bundle install) && npm run pod-install",
|
|
7
|
+
"pod-install": "cd ios && RCT_NEW_ARCH_ENABLED=1 bundle exec pod update",
|
|
8
|
+
"android": "react-native run-android",
|
|
9
|
+
"ios": "react-native run-ios",
|
|
10
|
+
"lint": "eslint .",
|
|
11
|
+
"start": "react-native start",
|
|
12
|
+
"test": "jest"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@regulaforensics/face-sdk": "6.3.3-beta",
|
|
16
|
+
"@regulaforensics/react-native-face-core-basic": "6.2.1",
|
|
17
|
+
"react": "18.3.1",
|
|
18
|
+
"react-native": "0.75.3",
|
|
19
|
+
"react-native-fs": "2.20.0",
|
|
20
|
+
"react-native-image-picker": "7.1.2"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@babel/core": "^7.20.0",
|
|
24
|
+
"@babel/preset-env": "^7.20.0",
|
|
25
|
+
"@babel/runtime": "^7.20.0",
|
|
26
|
+
"@react-native/babel-preset": "0.75.3",
|
|
27
|
+
"@react-native/eslint-config": "0.75.3",
|
|
28
|
+
"@react-native/metro-config": "0.75.3",
|
|
29
|
+
"@react-native/typescript-config": "0.75.3",
|
|
30
|
+
"@types/react": "^18.2.6",
|
|
31
|
+
"@types/react-test-renderer": "^18.0.0",
|
|
32
|
+
"babel-jest": "^29.6.3",
|
|
33
|
+
"eslint": "^8.19.0",
|
|
34
|
+
"jest": "^29.6.3",
|
|
35
|
+
"prettier": "2.8.8",
|
|
36
|
+
"react-test-renderer": "18.3.1",
|
|
37
|
+
"typescript": "5.0.4"
|
|
38
|
+
},
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=18"
|
|
41
|
+
}
|
|
42
|
+
}
|
package/ios/CVDFaceSDK.h
ADDED
package/ios/CVDFaceSDK.m
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#import "CVDFaceSDK.h"
|
|
2
|
+
|
|
3
|
+
CVDFaceSDK* RFSWPlugin;
|
|
4
|
+
@implementation CVDFaceSDK
|
|
5
|
+
|
|
6
|
+
NSMutableDictionary<NSString*, NSString*>* _RFSWEventCallbackIds = nil;
|
|
7
|
+
- (NSMutableDictionary<NSString*, NSString*>*)eventCallbackIds {
|
|
8
|
+
if (_RFSWEventCallbackIds == nil) _RFSWEventCallbackIds = @{}.mutableCopy;
|
|
9
|
+
return _RFSWEventCallbackIds;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
- (void) exec:(CDVInvokedUrlCommand*)command {
|
|
13
|
+
RFSWPlugin = self;
|
|
14
|
+
NSString* method = command.arguments[0];
|
|
15
|
+
NSMutableArray* args = [NSMutableArray new];
|
|
16
|
+
for (int i = 1; i < command.arguments.count; i++) [args addObject:command.arguments[i]];
|
|
17
|
+
if ([method isEqualToString:@"setEvent"]) {
|
|
18
|
+
self.eventCallbackIds[args[0]] = command.callbackId;
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
RFSWEventSender sendEvent = ^(NSString* callbackId, id data) {
|
|
23
|
+
NSString* eventId = [RFSWPlugin.eventCallbackIds objectForKey:callbackId];
|
|
24
|
+
if(eventId) callbackId = eventId;
|
|
25
|
+
data = [RFSWJSONConstructor toSendable:data];
|
|
26
|
+
CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:data];
|
|
27
|
+
[result setKeepCallbackAsBool:YES];
|
|
28
|
+
[RFSWPlugin.commandDelegate sendPluginResult:result callbackId:callbackId];
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
[RFSWMain methodCall:method :args :^(id data) { sendEvent(command.callbackId, data); } :sendEvent];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@end
|
package/ios/RFSWConfig.h
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#ifndef RFSWConfig_h
|
|
2
|
+
#define RFSWConfig_h
|
|
3
|
+
|
|
4
|
+
#import <FaceSDK/FaceSDK.h>
|
|
5
|
+
#import "RFSWJSONConstructor.h"
|
|
6
|
+
|
|
7
|
+
@interface RFSWConfig : NSObject
|
|
8
|
+
|
|
9
|
+
+(RFSFaceCaptureConfiguration* _Nonnull)faceCaptureConfigFromJSON:(id _Nonnull)input;
|
|
10
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateFaceCaptureConfig:(RFSFaceCaptureConfiguration* _Nonnull)input;
|
|
11
|
+
|
|
12
|
+
+(RFSLivenessConfiguration* _Nonnull)livenessConfigFromJSON:(id _Nonnull)input;
|
|
13
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateLivenessConfig:(RFSLivenessConfiguration* _Nonnull)input;
|
|
14
|
+
|
|
15
|
+
+(RFSMatchFacesConfiguration* _Nonnull)matchFacesConfigFromJSON:(id _Nonnull)input;
|
|
16
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateMatchFacesConfig:(RFSMatchFacesConfiguration* _Nonnull)input;
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
+(void)setCustomization:(NSDictionary* _Nonnull)config :(RFSCustomization* _Nonnull)result;
|
|
20
|
+
|
|
21
|
+
+(RFSImageQualityCharacteristic* _Nonnull)imageQualityCharacteristicWithName:(NSString* _Nonnull)name
|
|
22
|
+
recommendedRange:(NSArray<NSNumber*>* _Nullable)recommendedRange
|
|
23
|
+
customRange:(NSArray* _Nullable)customRange
|
|
24
|
+
color:(UIColor* _Nullable)color;
|
|
25
|
+
|
|
26
|
+
@end
|
|
27
|
+
#endif
|
package/ios/RFSWConfig.m
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
#import "RFSWConfig.h"
|
|
2
|
+
|
|
3
|
+
@implementation RFSWConfig
|
|
4
|
+
|
|
5
|
+
+(RFSFaceCaptureConfiguration*)faceCaptureConfigFromJSON:(NSDictionary*)input {
|
|
6
|
+
if (!input || [input isEqual:[NSNull null]]) return nil;
|
|
7
|
+
return [RFSFaceCaptureConfiguration configurationWithBuilder:^(RFSFaceCaptureConfigurationBuilder * _Nonnull builder) {
|
|
8
|
+
for (NSString* key in input) {
|
|
9
|
+
id value = input[key];
|
|
10
|
+
NSDictionary* Switch = @{
|
|
11
|
+
@"copyright": ^{ [builder setCopyright:[value boolValue]]; },
|
|
12
|
+
@"cameraSwitchEnabled": ^{ [builder setCameraSwitchButtonEnabled:[value boolValue]]; },
|
|
13
|
+
@"closeButtonEnabled": ^{ [builder setCloseButtonEnabled:[value boolValue]]; },
|
|
14
|
+
@"torchButtonEnabled": ^{ [builder setTorchButtonEnabled:[value boolValue]]; },
|
|
15
|
+
@"vibrateOnSteps": ^{ [builder setVibrateOnSteps:[value boolValue]]; },
|
|
16
|
+
@"cameraPositionIOS": ^{ [builder setCameraPosition:[value integerValue]]; },
|
|
17
|
+
@"timeout": ^{ [builder setTimeoutInterval:value]; },
|
|
18
|
+
@"holdStillDuration": ^{ [builder setHoldStillDuration:value]; },
|
|
19
|
+
};
|
|
20
|
+
if(Switch[key]) ((void(^)(void))Switch[key])();
|
|
21
|
+
}
|
|
22
|
+
}];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
+(id)generateFaceCaptureConfig:(RFSFaceCaptureConfiguration*)input {
|
|
26
|
+
NSMutableDictionary* result = @{
|
|
27
|
+
@"copyright":@(input.copyright),
|
|
28
|
+
@"cameraSwitchEnabled":@(input.cameraSwitchButtonEnabled),
|
|
29
|
+
@"closeButtonEnabled":@(input.closeButtonEnabled),
|
|
30
|
+
@"torchButtonEnabled":@(input.torchButtonEnabled),
|
|
31
|
+
@"vibrateOnSteps":@(input.vibrateOnSteps),
|
|
32
|
+
@"cameraPositionIOS":@(input.cameraPosition),
|
|
33
|
+
}.mutableCopy;
|
|
34
|
+
if (input.timeoutInterval) result[@"timeout"] = input.timeoutInterval;
|
|
35
|
+
if (input.holdStillDuration) result[@"holdStillDuration"] = input.holdStillDuration;
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
+(RFSLivenessConfiguration*)livenessConfigFromJSON:(NSDictionary*)input {
|
|
40
|
+
if (!input || [input isEqual:[NSNull null]]) return nil;
|
|
41
|
+
return [RFSLivenessConfiguration configurationWithBuilder:^(RFSLivenessConfigurationBuilder * _Nonnull builder) {
|
|
42
|
+
for (NSString* key in input) {
|
|
43
|
+
id value = input[key];
|
|
44
|
+
NSDictionary* Switch = @{
|
|
45
|
+
@"copyright": ^{ [builder setCopyright:[value boolValue]]; },
|
|
46
|
+
@"cameraSwitchEnabled": ^{ [builder setCameraSwitchButtonEnabled:[value boolValue]]; },
|
|
47
|
+
@"closeButtonEnabled": ^{ [builder setCloseButtonEnabled:[value boolValue]]; },
|
|
48
|
+
@"torchButtonEnabled": ^{ [builder setTorchButtonEnabled:[value boolValue]]; },
|
|
49
|
+
@"vibrateOnSteps": ^{ [builder setVibrateOnSteps:[value boolValue]]; },
|
|
50
|
+
@"cameraPositionIOS": ^{ [builder setCameraPosition:[value integerValue]]; },
|
|
51
|
+
@"attemptsCount": ^{ [builder setAttemptsCount:[value integerValue]]; },
|
|
52
|
+
@"locationTrackingEnabled": ^{ [builder setLocationTrackingEnabled:[value boolValue]]; },
|
|
53
|
+
@"recordingProcess": ^{ [builder setRecordingProcess:[value integerValue]]; },
|
|
54
|
+
@"livenessType": ^{ [builder setLivenessType:[value integerValue]]; },
|
|
55
|
+
@"tag": ^{ [builder setTag:value]; },
|
|
56
|
+
@"skipStep": ^{ [builder setStepSkippingMask:[RFSWJSONConstructor livenessStepSkipFromJSON:value]]; },
|
|
57
|
+
@"metadata": ^{ [builder setMetadata:value]; },
|
|
58
|
+
};
|
|
59
|
+
if(Switch[key]) ((void(^)(void))Switch[key])();
|
|
60
|
+
}
|
|
61
|
+
}];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
+(id)generateLivenessConfig:(RFSLivenessConfiguration*)input {
|
|
65
|
+
NSMutableDictionary* result = @{
|
|
66
|
+
@"copyright":@(input.copyright),
|
|
67
|
+
@"cameraSwitchEnabled":@(input.cameraSwitchButtonEnabled),
|
|
68
|
+
@"closeButtonEnabled":@(input.closeButtonEnabled),
|
|
69
|
+
@"torchButtonEnabled":@(input.torchButtonEnabled),
|
|
70
|
+
@"vibrateOnSteps":@(input.vibrateOnSteps),
|
|
71
|
+
@"cameraPositionIOS":@(input.cameraPosition),
|
|
72
|
+
@"attemptsCount":@(input.attemptsCount),
|
|
73
|
+
@"locationTrackingEnabled":@(input.locationTrackingEnabled),
|
|
74
|
+
@"recordingProcess":@(input.recordingProcess),
|
|
75
|
+
@"livenessType":@(input.livenessType),
|
|
76
|
+
@"skipStep":[RFSWJSONConstructor generateLivenessStepSkip:input.stepSkippingMask],
|
|
77
|
+
@"metadata":input.metadata,
|
|
78
|
+
}.mutableCopy;
|
|
79
|
+
if (input.tag) result[@"tag"] = input.tag;
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
+(RFSMatchFacesConfiguration*)matchFacesConfigFromJSON:(NSDictionary*)input {
|
|
84
|
+
if (!input || [input isEqual:[NSNull null]]) return nil;
|
|
85
|
+
return [RFSMatchFacesConfiguration configurationWithBuilder:^(RFSMatchFacesConfigurationBuilder * _Nonnull builder) {
|
|
86
|
+
for (NSString* key in input) {
|
|
87
|
+
id value = input[key];
|
|
88
|
+
NSDictionary* Switch = @{
|
|
89
|
+
@"processingMode": ^{ [builder setProcessingMode:[value integerValue]]; },
|
|
90
|
+
};
|
|
91
|
+
if(Switch[key]) ((void(^)(void))Switch[key])();
|
|
92
|
+
}
|
|
93
|
+
}];
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
+(id)generateMatchFacesConfig:(RFSMatchFacesConfiguration*)input {
|
|
97
|
+
return @{
|
|
98
|
+
@"processingMode":@(input.processingMode),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// For some reason if you iterate over dictionary using NSNumber* or id,
|
|
103
|
+
// it does't work as a key to dictionary unless you do this.
|
|
104
|
+
+(NSNumber*)toKey:(id)input {
|
|
105
|
+
return [NSNumber numberWithInt:[input intValue]];
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
+(void)setCustomization:(NSDictionary*)config :(RFSCustomization*)result {
|
|
109
|
+
RFSUIConfiguration* uiConfig = [result configuration];
|
|
110
|
+
for (NSString* key in config) {
|
|
111
|
+
NSDictionary* value = config[key];
|
|
112
|
+
NSDictionary* Switch = @{
|
|
113
|
+
@"colors": ^{ for (id k in value) [uiConfig valueForKey:key][[RFSWConfig toKey:k]] = [RFSWJSONConstructor colorWithInt:value[k]]; },
|
|
114
|
+
@"fonts": ^{ for (id k in value) [uiConfig valueForKey:key][[RFSWConfig toKey:k]] = [RFSWJSONConstructor fontFromJSON:value[k]]; },
|
|
115
|
+
@"images": ^{ for (id k in value) [uiConfig valueForKey:key][[RFSWConfig toKey:k]] = [RFSWJSONConstructor imageWithBase64:value[k]]; },
|
|
116
|
+
@"uiCustomizationLayer": ^{ [result setCustomUILayerJSON:value]; },
|
|
117
|
+
};
|
|
118
|
+
((void(^)(void))Switch[key])();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
+(id)imageQualityCharacteristicWithName:(NSString*)name recommendedRange:(NSArray*)recommendedRange customRange:(NSArray*)customRange color:(UIColor*)color {
|
|
123
|
+
__block RFSImageQualityCharacteristic* result = nil;
|
|
124
|
+
NSDictionary* Switch = @{
|
|
125
|
+
@"ImageWidth": ^{ result = [RFSImageCharacteristics imageWidthWithRange:recommendedRange]; },
|
|
126
|
+
@"ImageHeight": ^{ result = [RFSImageCharacteristics imageHeightWithRange:recommendedRange]; },
|
|
127
|
+
@"ImageWidthToHeight": ^{ result = [RFSImageCharacteristics imageWidthToHeightWithRange:recommendedRange]; },
|
|
128
|
+
@"ImageChannelsNumber": ^{ result = [RFSImageCharacteristics imageChannelsNumberWithValue:recommendedRange[0]]; },
|
|
129
|
+
@"PaddingRatio": ^{ result = [RFSImageCharacteristics paddingRatioWithMinValue:recommendedRange[0] maxValue:recommendedRange[1]]; },
|
|
130
|
+
@"ArtFace": ^{ result = RFSImageCharacteristics.artFace; },
|
|
131
|
+
|
|
132
|
+
@"FaceMidPointHorizontalPosition": ^{ result = RFSHeadSizeAndPosition.faceMidPointHorizontalPosition; },
|
|
133
|
+
@"FaceMidPointVerticalPosition": ^{ result = RFSHeadSizeAndPosition.faceMidPointVerticalPosition; },
|
|
134
|
+
@"HeadWidthRatio": ^{ result = RFSHeadSizeAndPosition.headWidthRatio; },
|
|
135
|
+
@"HeadHeightRatio": ^{ result = RFSHeadSizeAndPosition.headHeightRatio; },
|
|
136
|
+
@"EyesDistance": ^{ result = RFSHeadSizeAndPosition.eyesDistance; },
|
|
137
|
+
@"Yaw": ^{ result = RFSHeadSizeAndPosition.yaw; },
|
|
138
|
+
@"Pitch": ^{ result = RFSHeadSizeAndPosition.pitch; },
|
|
139
|
+
@"Roll": ^{ result = RFSHeadSizeAndPosition.roll; },
|
|
140
|
+
|
|
141
|
+
@"BlurLevel": ^{ result = RFSFaceImageQuality.blurLevel; },
|
|
142
|
+
@"NoiseLevel": ^{ result = RFSFaceImageQuality.noiseLevel; },
|
|
143
|
+
@"UnnaturalSkinTone": ^{ result = RFSFaceImageQuality.unnaturalSkinTone; },
|
|
144
|
+
@"FaceDynamicRange": ^{ result = RFSFaceImageQuality.faceDynamicRange; },
|
|
145
|
+
|
|
146
|
+
@"EyeRightClosed": ^{ result = RFSEyesCharacteristics.eyeRightClosed; },
|
|
147
|
+
@"EyeLeftClosed": ^{ result = RFSEyesCharacteristics.eyeLeftClosed; },
|
|
148
|
+
@"EyeRightOccluded": ^{ result = RFSEyesCharacteristics.eyeRightOccluded; },
|
|
149
|
+
@"EyeLeftOccluded": ^{ result = RFSEyesCharacteristics.eyeLeftOccluded; },
|
|
150
|
+
@"EyesRed": ^{ result = RFSEyesCharacteristics.eyesRed; },
|
|
151
|
+
@"EyeRightCoveredWithHair": ^{ result = RFSEyesCharacteristics.eyeRightCoveredWithHair; },
|
|
152
|
+
@"EyeLeftCoveredWithHair": ^{ result = RFSEyesCharacteristics.eyeLeftCoveredWithHair; },
|
|
153
|
+
@"OffGaze": ^{ result = RFSEyesCharacteristics.offGaze; },
|
|
154
|
+
|
|
155
|
+
@"TooDark": ^{ result = RFSShadowsAndLightning.tooDark; },
|
|
156
|
+
@"TooLight": ^{ result = RFSShadowsAndLightning.tooLight; },
|
|
157
|
+
@"FaceGlare": ^{ result = RFSShadowsAndLightning.faceGlare; },
|
|
158
|
+
@"ShadowsOnFace": ^{ result = RFSShadowsAndLightning.shadowsOnFace; },
|
|
159
|
+
|
|
160
|
+
@"ShouldersPose": ^{ result = RFSPoseAndExpression.shouldersPose; },
|
|
161
|
+
@"ExpressionLevel": ^{ result = RFSPoseAndExpression.expressionLevel; },
|
|
162
|
+
@"MouthOpen": ^{ result = RFSPoseAndExpression.mouthOpen; },
|
|
163
|
+
@"Smile": ^{ result = RFSPoseAndExpression.smile; },
|
|
164
|
+
|
|
165
|
+
@"DarkGlasses": ^{ result = RFSHeadOcclusion.darkGlasses; },
|
|
166
|
+
@"ReflectionOnGlasses": ^{ result = RFSHeadOcclusion.reflectionOnGlasses; },
|
|
167
|
+
@"FramesTooHeavy": ^{ result = RFSHeadOcclusion.framesTooHeavy; },
|
|
168
|
+
@"FaceOccluded": ^{ result = RFSHeadOcclusion.faceOccluded; },
|
|
169
|
+
@"HeadCovering": ^{ result = RFSHeadOcclusion.headCovering; },
|
|
170
|
+
@"ForeheadCovering": ^{ result = RFSHeadOcclusion.foreheadCovering; },
|
|
171
|
+
@"StrongMakeup": ^{ result = RFSHeadOcclusion.strongMakeup; },
|
|
172
|
+
@"Headphones": ^{ result = RFSHeadOcclusion.headphones; },
|
|
173
|
+
@"MedicalMask": ^{ result = RFSHeadOcclusion.medicalMask; },
|
|
174
|
+
|
|
175
|
+
@"BackgroundUniformity": ^{ result = RFSQualityBackground.backgroundUniformity; },
|
|
176
|
+
@"ShadowsOnBackground": ^{ result = RFSQualityBackground.shadowsOnBackground; },
|
|
177
|
+
@"OtherFaces": ^{ result = RFSQualityBackground.otherFaces; },
|
|
178
|
+
@"BackgroundColorMatch": ^{
|
|
179
|
+
if (color) result = [RFSQualityBackground backgroundColorMatchWithColor:color];
|
|
180
|
+
else result = RFSQualityBackground.backgroundColorMatch;
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
((void(^)(void))Switch[name])();
|
|
184
|
+
if (!result) [NSException raise:@"RFSImageQualityCharacteristic" format:@"name not found"];
|
|
185
|
+
if (customRange) result = [result withCustomRange:customRange];
|
|
186
|
+
return result;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
@end
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
#ifndef RFSWJSONConstructor_h
|
|
2
|
+
#define RFSWJSONConstructor_h
|
|
3
|
+
|
|
4
|
+
#import <FaceSDK/FaceSDK.h>
|
|
5
|
+
#import "RFSWConfig.h"
|
|
6
|
+
|
|
7
|
+
@interface RFSWJSONConstructor : NSObject
|
|
8
|
+
|
|
9
|
+
+(NSString* _Nullable)toSendable:(id _Nullable)input;
|
|
10
|
+
+(id _Nonnull)generateArray:(NSArray* _Nullable)input :(SEL _Nonnull)toJson;
|
|
11
|
+
+(id _Nullable)arrayFromJSON:(NSArray* _Nullable)input :(SEL _Nonnull)fromJson;
|
|
12
|
+
+(id _Nullable)base64Encode:(NSData* _Nullable)input;
|
|
13
|
+
+(id _Nullable)imageWithBase64:(NSString* _Nullable)input;
|
|
14
|
+
|
|
15
|
+
+(UIFont* _Nonnull)fontFromJSON:(NSDictionary* _Nonnull)input;
|
|
16
|
+
+(RFSLivenessStepSkip)livenessStepSkipFromJSON:(NSArray<NSNumber*>* _Nonnull)input;
|
|
17
|
+
+(NSArray<NSNumber*>* _Nonnull)generateLivenessStepSkip:(RFSLivenessStepSkip)input;
|
|
18
|
+
+(UIColor* _Nonnull)colorWithInt:(NSNumber* _Nonnull)input;
|
|
19
|
+
|
|
20
|
+
+(id _Nonnull)generateInitCompletion:(BOOL)success :(NSError* _Nullable)error;
|
|
21
|
+
+(id _Nonnull)generateVideoEncoderCompletion:(NSString* _Nonnull)transactionId :(BOOL)success;
|
|
22
|
+
+(id _Nonnull)generateComparedFacesSplit:(RFSMatchFacesSimilarityThresholdSplit* _Nonnull)input;
|
|
23
|
+
+(id _Nonnull)generatePersonDBResponse:(id _Nullable)data :(NSError* _Nullable)error;
|
|
24
|
+
+(id _Nonnull)idFromJSON:(NSDictionary* _Nonnull)input;
|
|
25
|
+
+(id _Nonnull)updatePersonFromJSON:(RFSPerson* _Nonnull)result :(NSDictionary* _Nonnull)json;
|
|
26
|
+
+(id _Nonnull)updatePersonGroupFromJSON:(RFSPersonGroup* _Nonnull)result :(NSDictionary* _Nonnull)json;
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
+(RFSPoint* _Nonnull)pointFromJSON:(id _Nonnull)input;
|
|
30
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generatePoint:(RFSPoint* _Nonnull)input;
|
|
31
|
+
|
|
32
|
+
+(CGRect)rectFromJSON:(id _Nonnull)input;
|
|
33
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateRect:(CGRect)input;
|
|
34
|
+
|
|
35
|
+
+(CGSize)sizeFromJSON:(id _Nonnull)input;
|
|
36
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateSize:(CGSize)input;
|
|
37
|
+
|
|
38
|
+
+(RFSOutputImageCrop* _Nonnull)outputImageCropFromJSON:(id _Nonnull)input;
|
|
39
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateOutputImageCrop:(RFSOutputImageCrop* _Nonnull)input;
|
|
40
|
+
|
|
41
|
+
+(RFSOutputImageParams* _Nonnull)outputImageParamsFromJSON:(id _Nonnull)input;
|
|
42
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateOutputImageParams:(RFSOutputImageParams* _Nonnull)input;
|
|
43
|
+
|
|
44
|
+
+(RFSImageQualityRange* _Nonnull)imageQualityRangeFromJSON:(id _Nonnull)input;
|
|
45
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateImageQualityRange:(RFSImageQualityRange* _Nonnull)input;
|
|
46
|
+
|
|
47
|
+
+(RFSImageQualityResult* _Nonnull)imageQualityResultFromJSON:(id _Nonnull)input;
|
|
48
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateImageQualityResult:(RFSImageQualityResult* _Nonnull)input;
|
|
49
|
+
|
|
50
|
+
+(RFSImageQualityCharacteristic* _Nonnull)imageQualityCharacteristicFromJSON:(id _Nonnull)input;
|
|
51
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateImageQualityCharacteristic:(RFSImageQualityCharacteristic* _Nonnull)input;
|
|
52
|
+
|
|
53
|
+
+(RFSFaceSDKVersion* _Nonnull)faceSDKVersionFromJSON:(id _Nonnull)input;
|
|
54
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateFaceSDKVersion:(RFSFaceSDKVersion* _Nonnull)input;
|
|
55
|
+
|
|
56
|
+
+(RFSInitializationConfiguration* _Nonnull)initConfigFromJSON:(id _Nonnull)input;
|
|
57
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateInitConfig:(RFSInitializationConfiguration* _Nonnull)input;
|
|
58
|
+
|
|
59
|
+
+(RFSDetectFacesAttributeResult* _Nonnull)detectFacesAttributeResultFromJSON:(id _Nonnull)input;
|
|
60
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateDetectFacesAttributeResult:(RFSDetectFacesAttributeResult* _Nonnull)input;
|
|
61
|
+
|
|
62
|
+
+(RFSDetectFaceResult* _Nonnull)detectFaceResultFromJSON:(id _Nonnull)input;
|
|
63
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateDetectFaceResult:(RFSDetectFaceResult* _Nonnull)input;
|
|
64
|
+
|
|
65
|
+
+(RFSDetectFacesConfiguration* _Nonnull)detectFacesConfigFromJSON:(id _Nonnull)input;
|
|
66
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateDetectFacesConfig:(RFSDetectFacesConfiguration* _Nonnull)input;
|
|
67
|
+
|
|
68
|
+
+(RFSDetectFacesRequest* _Nonnull)detectFacesRequestFromJSON:(id _Nonnull)input;
|
|
69
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateDetectFacesRequest:(RFSDetectFacesRequest* _Nonnull)input;
|
|
70
|
+
|
|
71
|
+
+(RFSDetectFacesResponse* _Nonnull)detectFacesResponseFromJSON:(id _Nonnull)input;
|
|
72
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateDetectFacesResponse:(RFSDetectFacesResponse* _Nonnull)input;
|
|
73
|
+
|
|
74
|
+
+(RFSImage* _Nonnull)faceCaptureImageFromJSON:(id _Nonnull)input;
|
|
75
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateFaceCaptureImage:(RFSImage* _Nonnull)input;
|
|
76
|
+
|
|
77
|
+
+(RFSFaceCaptureResponse* _Nonnull)faceCaptureResponseFromJSON:(id _Nonnull)input;
|
|
78
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateFaceCaptureResponse:(RFSFaceCaptureResponse* _Nonnull)input;
|
|
79
|
+
|
|
80
|
+
+(RFSLivenessResponse* _Nonnull)livenessResponseFromJSON:(id _Nonnull)input;
|
|
81
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateLivenessResponse:(RFSLivenessResponse* _Nonnull)input;
|
|
82
|
+
|
|
83
|
+
+(id _Nonnull)generateLivenessNotification:(RFSLivenessProcessStatus)status result:(RFSLivenessResponse* _Nullable)response;
|
|
84
|
+
|
|
85
|
+
+(RFSMatchFacesImage* _Nonnull)matchFacesImageFromJSON:(id _Nonnull)input;
|
|
86
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateMatchFacesImage:(RFSMatchFacesImage* _Nonnull)input;
|
|
87
|
+
|
|
88
|
+
+(RFSMatchFacesRequest* _Nonnull)matchFacesRequestFromJSON:(id _Nonnull)input;
|
|
89
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateMatchFacesRequest:(RFSMatchFacesRequest* _Nonnull)input;
|
|
90
|
+
|
|
91
|
+
+(RFSMatchFacesDetectionFace* _Nonnull)matchFacesDetectionFaceFromJSON:(id _Nonnull)input;
|
|
92
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateMatchFacesDetectionFace:(RFSMatchFacesDetectionFace* _Nonnull)input;
|
|
93
|
+
|
|
94
|
+
+(RFSMatchFacesDetection* _Nonnull)matchFacesDetectionFromJSON:(id _Nonnull)input;
|
|
95
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateMatchFacesDetection:(RFSMatchFacesDetection* _Nonnull)input;
|
|
96
|
+
|
|
97
|
+
+(RFSMatchFacesComparedFace* _Nonnull)comparedFaceFromJSON:(id _Nonnull)input;
|
|
98
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateComparedFace:(RFSMatchFacesComparedFace* _Nonnull)input;
|
|
99
|
+
|
|
100
|
+
+(RFSMatchFacesComparedFacesPair* _Nonnull)comparedFacesPairFromJSON:(id _Nonnull)input;
|
|
101
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateComparedFacesPair:(RFSMatchFacesComparedFacesPair* _Nonnull)input;
|
|
102
|
+
|
|
103
|
+
+(RFSMatchFacesResponse* _Nonnull)matchFacesResponseFromJSON:(id _Nonnull)input;
|
|
104
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateMatchFacesResponse:(RFSMatchFacesResponse* _Nonnull)input;
|
|
105
|
+
|
|
106
|
+
+(RFSEditGroupPersonsRequest* _Nonnull)editGroupPersonsRequestFromJSON:(id _Nonnull)input;
|
|
107
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateEditGroupPersonsRequest:(RFSEditGroupPersonsRequest* _Nonnull)input;
|
|
108
|
+
|
|
109
|
+
+(RFSImageUpload* _Nonnull)imageUploadFromJSON:(id _Nonnull)input;
|
|
110
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateImageUpload:(RFSImageUpload* _Nonnull)input;
|
|
111
|
+
|
|
112
|
+
+(RFSPerson* _Nonnull)personFromJSON:(id _Nonnull)input;
|
|
113
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generatePerson:(RFSPerson* _Nonnull)input;
|
|
114
|
+
|
|
115
|
+
+(RFSPersonGroup* _Nonnull)personGroupFromJSON:(id _Nonnull)input;
|
|
116
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generatePersonGroup:(RFSPersonGroup* _Nonnull)input;
|
|
117
|
+
|
|
118
|
+
+(RFSPersonImage* _Nonnull)personImageFromJSON:(id _Nonnull)input;
|
|
119
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generatePersonImage:(RFSPersonImage* _Nonnull)input;
|
|
120
|
+
|
|
121
|
+
+(RFSSearchPersonDetection* _Nonnull)searchPersonDetectionFromJSON:(id _Nonnull)input;
|
|
122
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateSearchPersonDetection:(RFSSearchPersonDetection* _Nonnull)input;
|
|
123
|
+
|
|
124
|
+
+(RFSSearchPersonImage* _Nonnull)searchPersonImageFromJSON:(id _Nonnull)input;
|
|
125
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateSearchPersonImage:(RFSSearchPersonImage* _Nonnull)input;
|
|
126
|
+
|
|
127
|
+
+(RFSSearchPerson* _Nonnull)searchPersonFromJSON:(id _Nonnull)input;
|
|
128
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateSearchPerson:(RFSSearchPerson* _Nonnull)input;
|
|
129
|
+
|
|
130
|
+
+(RFSSearchPersonRequest* _Nonnull)searchPersonRequestFromJSON:(id _Nonnull)input;
|
|
131
|
+
+(NSDictionary<NSString*, id>* _Nonnull)generateSearchPersonRequest:(RFSSearchPersonRequest* _Nonnull)input;
|
|
132
|
+
|
|
133
|
+
@end
|
|
134
|
+
#endif
|