@myazahq/kyc-sdk-react-native 2.0.1 → 2.1.0
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 +111 -8
- package/android/build.gradle +6 -0
- package/android/src/main/AndroidManifest.xml +14 -4
- package/android/src/main/java/com/margelo/nitro/myazakyc/HybridMyazaEmrtd.kt +358 -0
- package/android/src/main/java/com/margelo/nitro/myazakyc/HybridMyazaFaceDetector.kt +88 -1
- package/android/src/main/java/com/margelo/nitro/myazakyc/HybridMyazaRectDetector.kt +34 -0
- package/android/src/main/java/com/margelo/nitro/myazakyc/HybridMyazaTextRecognizer.kt +118 -0
- package/android/src/main/java/com/margelo/nitro/myazakyc/Jp2Decoder.kt +117 -0
- package/app.plugin.js +102 -13
- package/ios/HybridMyazaEmrtd.swift +447 -0
- package/ios/HybridMyazaFaceDetector.swift +104 -2
- package/ios/HybridMyazaRectDetector.swift +103 -0
- package/ios/HybridMyazaTextRecognizer.swift +111 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/KycSdkReactNative+autolinking.cmake +87 -0
- package/nitrogen/generated/android/KycSdkReactNative+autolinking.gradle +27 -0
- package/nitrogen/generated/android/KycSdkReactNativeOnLoad.cpp +102 -0
- package/nitrogen/generated/android/KycSdkReactNativeOnLoad.hpp +34 -0
- package/nitrogen/generated/android/c++/JDetectedRect.hpp +81 -0
- package/nitrogen/generated/android/c++/JEmrtdApduResponse.hpp +61 -0
- package/nitrogen/generated/android/c++/JEmrtdTagInfo.hpp +61 -0
- package/nitrogen/generated/android/c++/JFaceResult.hpp +113 -0
- package/nitrogen/generated/android/c++/JHybridMyazaEmrtdSpec.cpp +176 -0
- package/nitrogen/generated/android/c++/JHybridMyazaEmrtdSpec.hpp +75 -0
- package/nitrogen/generated/android/c++/JHybridMyazaFaceDetectorSpec.cpp +60 -0
- package/nitrogen/generated/android/c++/JHybridMyazaFaceDetectorSpec.hpp +63 -0
- package/nitrogen/generated/android/c++/JHybridMyazaRectDetectorSpec.cpp +60 -0
- package/nitrogen/generated/android/c++/JHybridMyazaRectDetectorSpec.hpp +63 -0
- package/nitrogen/generated/android/c++/JHybridMyazaTextRecognizerSpec.cpp +80 -0
- package/nitrogen/generated/android/c++/JHybridMyazaTextRecognizerSpec.hpp +64 -0
- package/nitrogen/generated/android/c++/JTextResult.hpp +76 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/myazakyc/DetectedRect.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/myazakyc/EmrtdApduResponse.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/myazakyc/EmrtdTagInfo.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/myazakyc/FaceResult.kt +121 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/myazakyc/HybridMyazaEmrtdSpec.kt +103 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/myazakyc/HybridMyazaFaceDetectorSpec.kt +55 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/myazakyc/HybridMyazaRectDetectorSpec.kt +55 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/myazakyc/HybridMyazaTextRecognizerSpec.kt +60 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/myazakyc/KycSdkReactNativeOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/myazakyc/TextResult.kt +51 -0
- package/nitrogen/generated/ios/KycSdkReactNative+autolinking.rb +62 -0
- package/nitrogen/generated/ios/KycSdkReactNative-Swift-Cxx-Bridge.cpp +143 -0
- package/nitrogen/generated/ios/KycSdkReactNative-Swift-Cxx-Bridge.hpp +423 -0
- package/nitrogen/generated/ios/KycSdkReactNative-Swift-Cxx-Umbrella.hpp +81 -0
- package/nitrogen/generated/ios/KycSdkReactNativeAutolinking.mm +57 -0
- package/nitrogen/generated/ios/KycSdkReactNativeAutolinking.swift +62 -0
- package/nitrogen/generated/ios/c++/HybridMyazaEmrtdSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridMyazaEmrtdSpecSwift.hpp +184 -0
- package/nitrogen/generated/ios/c++/HybridMyazaFaceDetectorSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridMyazaFaceDetectorSpecSwift.hpp +87 -0
- package/nitrogen/generated/ios/c++/HybridMyazaRectDetectorSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridMyazaRectDetectorSpecSwift.hpp +87 -0
- package/nitrogen/generated/ios/c++/HybridMyazaTextRecognizerSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridMyazaTextRecognizerSpecSwift.hpp +98 -0
- package/nitrogen/generated/ios/swift/DetectedRect.swift +59 -0
- package/nitrogen/generated/ios/swift/EmrtdApduResponse.swift +34 -0
- package/nitrogen/generated/ios/swift/EmrtdTagInfo.swift +34 -0
- package/nitrogen/generated/ios/swift/FaceResult.swift +99 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_EmrtdApduResponse.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_EmrtdTagInfo.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_TextResult.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridMyazaEmrtdSpec.swift +67 -0
- package/nitrogen/generated/ios/swift/HybridMyazaEmrtdSpec_cxx.swift +317 -0
- package/nitrogen/generated/ios/swift/HybridMyazaFaceDetectorSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridMyazaFaceDetectorSpec_cxx.swift +143 -0
- package/nitrogen/generated/ios/swift/HybridMyazaRectDetectorSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridMyazaRectDetectorSpec_cxx.swift +143 -0
- package/nitrogen/generated/ios/swift/HybridMyazaTextRecognizerSpec.swift +57 -0
- package/nitrogen/generated/ios/swift/HybridMyazaTextRecognizerSpec_cxx.swift +162 -0
- package/nitrogen/generated/ios/swift/TextResult.swift +35 -0
- package/nitrogen/generated/shared/c++/DetectedRect.hpp +107 -0
- package/nitrogen/generated/shared/c++/EmrtdApduResponse.hpp +87 -0
- package/nitrogen/generated/shared/c++/EmrtdTagInfo.hpp +87 -0
- package/nitrogen/generated/shared/c++/FaceResult.hpp +139 -0
- package/nitrogen/generated/shared/c++/HybridMyazaEmrtdSpec.cpp +33 -0
- package/nitrogen/generated/shared/c++/HybridMyazaEmrtdSpec.hpp +80 -0
- package/nitrogen/generated/shared/c++/HybridMyazaFaceDetectorSpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridMyazaFaceDetectorSpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridMyazaRectDetectorSpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridMyazaRectDetectorSpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridMyazaTextRecognizerSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridMyazaTextRecognizerSpec.hpp +70 -0
- package/nitrogen/generated/shared/c++/TextResult.hpp +84 -0
- package/package.json +16 -4
- package/src/MyazaKYC.tsx +115 -22
- package/src/capture/documentIdentity.ts +153 -0
- package/src/capture/documentSignals.ts +177 -0
- package/src/capture/documentTextGate.ts +171 -0
- package/src/capture/hints.ts +57 -0
- package/src/capture/index.ts +24 -0
- package/src/capture/rectDetector.ts +84 -0
- package/src/capture/rectGate.ts +91 -0
- package/src/capture/useAutoCapture.ts +198 -0
- package/src/components/CameraPermissionView.tsx +39 -3
- package/src/components/CameraViewfinder.tsx +226 -70
- package/src/components/ContactCodeEntry.tsx +139 -0
- package/src/components/CountryField.tsx +87 -0
- package/src/components/CountryFlag.tsx +15 -15
- package/src/components/DialCodePicker.tsx +186 -0
- package/src/components/DocumentCropper.tsx +1 -1
- package/src/components/DocumentReview.tsx +142 -0
- package/src/components/DocumentReviewSide.tsx +135 -0
- package/src/components/DocumentReviewZoom.tsx +119 -0
- package/src/components/ExpiryCountdown.tsx +52 -0
- package/src/components/FlashOverlay.tsx +156 -0
- package/src/components/Icon.tsx +67 -1
- package/src/components/KycFlow.tsx +66 -94
- package/src/components/KycSheet.tsx +148 -18
- package/src/components/MediaSourceSheet.tsx +163 -0
- package/src/components/MyazaButton.tsx +14 -2
- package/src/components/MyazaDateField.tsx +240 -0
- package/src/components/MyazaInput.tsx +73 -26
- package/src/components/MyazaSelect.tsx +283 -0
- package/src/components/MyazaWordmark.tsx +33 -0
- package/src/components/OptionRow.tsx +132 -0
- package/src/components/PhoneNumberInput.tsx +149 -0
- package/src/components/PoweredBy.tsx +89 -0
- package/src/components/ReadyPrimer.tsx +149 -0
- package/src/components/StepView.tsx +91 -0
- package/src/components/Typography.tsx +18 -3
- package/src/components/VerifiedNotice.tsx +38 -0
- package/src/components/WhatsAppIcon.tsx +29 -0
- package/src/components/WorkflowGate.tsx +128 -0
- package/src/components/brand-font.ts +113 -0
- package/src/components/flashHoleGeometry.ts +35 -0
- package/src/components/flow/FatalConfigError.tsx +56 -0
- package/src/components/fonts.ts +2 -19
- package/src/components/readyPrimerContent.ts +52 -0
- package/src/components/runtime.tsx +38 -43
- package/src/components/stepHeaderMeta.tsx +87 -0
- package/src/components/theme-provider.tsx +89 -0
- package/src/components/useWorkflowMount.ts +116 -0
- package/src/components/viewfinder/CardGuide.tsx +60 -0
- package/src/components/viewfinder/DocumentGhost.tsx +149 -0
- package/src/components/viewfinder/ImmersiveBottomBar.tsx +172 -0
- package/src/components/viewfinder/ImmersiveControls.tsx +127 -0
- package/src/components/viewfinder/ImmersiveGuide.tsx +174 -0
- package/src/components/viewfinder/ImmersiveOverlay.tsx +79 -0
- package/src/components/viewfinder/ViewfinderControls.tsx +154 -0
- package/src/config/brand.ts +97 -0
- package/src/config/business.ts +179 -0
- package/src/config/businessSteps.ts +105 -0
- package/src/config/contact.ts +159 -0
- package/src/config/countryNames.g.ts +254 -0
- package/src/config/currencyFlags.ts +144 -0
- package/src/config/font-resolve.ts +78 -0
- package/src/config/idTypes.ts +98 -1
- package/src/config/keyPeople.ts +152 -0
- package/src/config/phone.ts +39 -0
- package/src/config/proofOfAddress.ts +75 -0
- package/src/config/questionnaire.ts +153 -0
- package/src/config/regions.ts +118 -0
- package/src/config/registrationHint.ts +87 -0
- package/src/config/stepOrder.ts +118 -0
- package/src/config/theme.ts +38 -2
- package/src/config/workflowMerge.ts +124 -0
- package/src/emrtd/bac.ts +128 -0
- package/src/emrtd/bytes.ts +127 -0
- package/src/emrtd/crypto.ts +163 -0
- package/src/emrtd/der.ts +192 -0
- package/src/emrtd/dg2.ts +111 -0
- package/src/emrtd/files.ts +215 -0
- package/src/emrtd/index.ts +30 -0
- package/src/emrtd/mrzKey.ts +54 -0
- package/src/emrtd/native.ts +79 -0
- package/src/emrtd/optionalRead.ts +42 -0
- package/src/emrtd/read.ts +224 -0
- package/src/emrtd/retry.ts +98 -0
- package/src/emrtd/secureMessaging.ts +178 -0
- package/src/emrtd/session.ts +200 -0
- package/src/emrtd/stages.ts +122 -0
- package/src/index.ts +110 -0
- package/src/lib/calendar.ts +71 -0
- package/src/lib/use-keyboard-inset.ts +34 -0
- package/src/liveness/challengeManager.ts +27 -1
- package/src/liveness/faceContinuity.ts +153 -0
- package/src/liveness/flashDetector.ts +145 -0
- package/src/liveness/flashReadyGate.ts +106 -0
- package/src/liveness/flashRunner.ts +118 -0
- package/src/liveness/integritySignals.ts +60 -0
- package/src/liveness/livenessState.ts +139 -0
- package/src/liveness/speech.ts +19 -1
- package/src/liveness/types.ts +48 -1
- package/src/liveness/useFlashPhase.ts +78 -0
- package/src/liveness/useLiveness.ts +260 -75
- package/src/liveness/visionCameraFaceDetector.ts +14 -0
- package/src/mrz/extract.ts +101 -0
- package/src/mrz/parse.ts +178 -0
- package/src/mrz/textRecognizer.ts +149 -0
- package/src/screens/ApplicantRoleStep.tsx +331 -0
- package/src/screens/BusinessDetailsStep.tsx +212 -0
- package/src/screens/BusinessDocumentSlot.tsx +167 -0
- package/src/screens/BusinessDocumentsStep.tsx +213 -0
- package/src/screens/BusinessKeyPeopleStep.tsx +151 -0
- package/src/screens/BusinessKeyPersonRow.tsx +170 -0
- package/src/screens/CompanyInfoFields.tsx +83 -0
- package/src/screens/ConsentStep.tsx +68 -68
- package/src/screens/ContactChannelChoice.tsx +133 -0
- package/src/screens/ContactCodeStep.tsx +130 -0
- package/src/screens/ContactDestinationField.tsx +70 -0
- package/src/screens/ContactFooterNote.tsx +34 -0
- package/src/screens/ContactVerificationStep.tsx +199 -0
- package/src/screens/ContactVerifiedPanel.tsx +36 -0
- package/src/screens/CountrySelectStep.tsx +210 -0
- package/src/screens/DocumentCaptureStep.tsx +190 -145
- package/src/screens/IdInputStep.tsx +19 -9
- package/src/screens/IdTypeStep.tsx +74 -33
- package/src/screens/KeyPeopleInviteLinks.tsx +239 -0
- package/src/screens/LivenessStep.tsx +181 -267
- package/src/screens/MrzScanView.tsx +173 -0
- package/src/screens/NfcStep.tsx +290 -0
- package/src/screens/ProofOfAddressStep.tsx +238 -0
- package/src/screens/QuestionnaireField.tsx +219 -0
- package/src/screens/QuestionnaireMoneyField.tsx +134 -0
- package/src/screens/QuestionnaireStep.tsx +76 -0
- package/src/screens/SubmittedStep.tsx +5 -0
- package/src/screens/consent/model.ts +109 -0
- package/src/screens/document/CameraPhase.tsx +150 -0
- package/src/screens/document/RequiredPill.tsx +60 -0
- package/src/screens/liveness/LightingBanner.tsx +50 -0
- package/src/screens/liveness/LivenessOutcome.tsx +109 -0
- package/src/screens/liveness/ProgressDots.tsx +67 -0
- package/src/screens/liveness/SelfiePreview.tsx +39 -0
- package/src/screens/liveness/constants.ts +31 -0
- package/src/screens/liveness/index.ts +8 -0
- package/src/screens/liveness/resolveGuidance.ts +27 -0
- package/src/screens/liveness/useSelfieUpload.ts +107 -0
- package/src/screens/nfc/NfcMrzPrompt.tsx +40 -0
- package/src/screens/nfc/NfcReadBody.tsx +63 -0
- package/src/screens/nfc/NfcReadProgress.tsx +96 -0
- package/src/screens/nfc/NfcScanIllustration.tsx +244 -0
- package/src/screens/nfc/NfcScannedSummary.tsx +74 -0
- package/src/screens/nfc/NfcSuccessPanel.tsx +162 -0
- package/src/screens/nfc/availability.ts +73 -0
- package/src/screens/nfc/readErrorMessage.ts +93 -0
- package/src/screens/nfc/useChipPortrait.ts +58 -0
- package/src/screens/nfc/useNfcAvailability.ts +82 -0
- package/src/screens/useFlashHole.ts +105 -0
- package/src/screens/useFlashSequence.ts +96 -0
- package/src/screens/usePoaAttach.ts +121 -0
- package/src/services/api-types.ts +164 -0
- package/src/services/api-verify-types.ts +99 -0
- package/src/services/api.ts +72 -102
- package/src/services/cardCrop.ts +25 -10
- package/src/services/contactErrors.ts +43 -0
- package/src/services/deviceMetadata.ts +1 -1
- package/src/services/documentPicker.ts +20 -0
- package/src/services/fingerprint-sources.ts +129 -0
- package/src/services/fingerprint.ts +101 -0
- package/src/services/haptics.ts +38 -0
- package/src/services/mediaCompress.ts +7 -2
- package/src/services/resolveUrl.ts +3 -2
- package/src/services/validators.ts +3 -0
- package/src/services/workflowGate.ts +138 -0
- package/src/specs/MyazaEmrtd.nitro.ts +114 -0
- package/src/specs/MyazaFaceDetector.nitro.ts +10 -0
- package/src/specs/MyazaRectDetector.nitro.ts +50 -0
- package/src/specs/MyazaTextRecognizer.nitro.ts +48 -0
- package/src/store/derive.ts +225 -0
- package/src/store/kycStore.ts +250 -149
- package/src/store/state.ts +253 -0
- package/src/store/submit.ts +101 -0
- package/src/store/submitApplicant.ts +81 -0
- package/src/types/appearance.ts +113 -0
- package/src/types/business.ts +131 -0
- package/src/types/config.ts +150 -119
- package/src/types/id-types.ts +57 -0
- package/src/types/verification.ts +5 -0
- package/src/types/workflow.ts +141 -0
- package/src/utils/amountFormat.ts +73 -0
- package/src/utils/tokens.ts +4 -2
- package/src/__tests__/cardCrop.test.ts +0 -39
- package/src/__tests__/deviceMetadata.test.ts +0 -34
- package/src/__tests__/errors.test.ts +0 -34
- package/src/__tests__/flow.test.ts +0 -61
- package/src/__tests__/gestureDetector.test.ts +0 -37
- package/src/__tests__/liveness.test.ts +0 -112
- package/src/__tests__/resolveUrl.test.ts +0 -64
- package/src/__tests__/validators.test.ts +0 -38
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridMyazaEmrtdSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "JHybridMyazaEmrtdSpec.hpp"
|
|
9
|
+
|
|
10
|
+
// Forward declaration of `EmrtdTagInfo` to properly resolve imports.
|
|
11
|
+
namespace margelo::nitro::myazakyc { struct EmrtdTagInfo; }
|
|
12
|
+
// Forward declaration of `EmrtdApduResponse` to properly resolve imports.
|
|
13
|
+
namespace margelo::nitro::myazakyc { struct EmrtdApduResponse; }
|
|
14
|
+
|
|
15
|
+
#include "EmrtdTagInfo.hpp"
|
|
16
|
+
#include <NitroModules/Promise.hpp>
|
|
17
|
+
#include <NitroModules/JPromise.hpp>
|
|
18
|
+
#include "JEmrtdTagInfo.hpp"
|
|
19
|
+
#include <string>
|
|
20
|
+
#include <NitroModules/JUnit.hpp>
|
|
21
|
+
#include "EmrtdApduResponse.hpp"
|
|
22
|
+
#include "JEmrtdApduResponse.hpp"
|
|
23
|
+
|
|
24
|
+
namespace margelo::nitro::myazakyc {
|
|
25
|
+
|
|
26
|
+
std::shared_ptr<JHybridMyazaEmrtdSpec> JHybridMyazaEmrtdSpec::JavaPart::getJHybridMyazaEmrtdSpec() {
|
|
27
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
28
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridMyazaEmrtdSpec>(hybridObject);
|
|
29
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
30
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridMyazaEmrtdSpec!");
|
|
31
|
+
}
|
|
32
|
+
return castHybridObject;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
jni::local_ref<JHybridMyazaEmrtdSpec::CxxPart::jhybriddata> JHybridMyazaEmrtdSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
36
|
+
return makeCxxInstance(jThis);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
std::shared_ptr<JHybridObject> JHybridMyazaEmrtdSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
40
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridMyazaEmrtdSpec::JavaPart>(javaPart);
|
|
41
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
42
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridMyazaEmrtdSpec::JavaPart!");
|
|
43
|
+
}
|
|
44
|
+
return std::make_shared<JHybridMyazaEmrtdSpec>(castJavaPart);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
void JHybridMyazaEmrtdSpec::CxxPart::registerNatives() {
|
|
48
|
+
registerHybrid({
|
|
49
|
+
makeNativeMethod("initHybrid", JHybridMyazaEmrtdSpec::CxxPart::initHybrid),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Properties
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
// Methods
|
|
57
|
+
bool JHybridMyazaEmrtdSpec::isAvailable() {
|
|
58
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean()>("isAvailable");
|
|
59
|
+
auto __result = method(_javaPart);
|
|
60
|
+
return static_cast<bool>(__result);
|
|
61
|
+
}
|
|
62
|
+
std::shared_ptr<Promise<EmrtdTagInfo>> JHybridMyazaEmrtdSpec::startSession(const std::string& alertMessage) {
|
|
63
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* alertMessage */)>("startSession");
|
|
64
|
+
auto __result = method(_javaPart, jni::make_jstring(alertMessage));
|
|
65
|
+
return [&]() {
|
|
66
|
+
auto __promise = Promise<EmrtdTagInfo>::create();
|
|
67
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
68
|
+
auto __result = jni::static_ref_cast<JEmrtdTagInfo>(__boxedResult);
|
|
69
|
+
__promise->resolve(__result->toCpp());
|
|
70
|
+
});
|
|
71
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
72
|
+
jni::JniException __jniError(__throwable);
|
|
73
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
74
|
+
});
|
|
75
|
+
return __promise;
|
|
76
|
+
}();
|
|
77
|
+
}
|
|
78
|
+
std::shared_ptr<Promise<void>> JHybridMyazaEmrtdSpec::stopSession(const std::string& message) {
|
|
79
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* message */)>("stopSession");
|
|
80
|
+
auto __result = method(_javaPart, jni::make_jstring(message));
|
|
81
|
+
return [&]() {
|
|
82
|
+
auto __promise = Promise<void>::create();
|
|
83
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
84
|
+
__promise->resolve();
|
|
85
|
+
});
|
|
86
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
87
|
+
jni::JniException __jniError(__throwable);
|
|
88
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
89
|
+
});
|
|
90
|
+
return __promise;
|
|
91
|
+
}();
|
|
92
|
+
}
|
|
93
|
+
std::shared_ptr<Promise<void>> JHybridMyazaEmrtdSpec::updateSessionMessage(const std::string& message) {
|
|
94
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* message */)>("updateSessionMessage");
|
|
95
|
+
auto __result = method(_javaPart, jni::make_jstring(message));
|
|
96
|
+
return [&]() {
|
|
97
|
+
auto __promise = Promise<void>::create();
|
|
98
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
99
|
+
__promise->resolve();
|
|
100
|
+
});
|
|
101
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
102
|
+
jni::JniException __jniError(__throwable);
|
|
103
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
104
|
+
});
|
|
105
|
+
return __promise;
|
|
106
|
+
}();
|
|
107
|
+
}
|
|
108
|
+
std::shared_ptr<Promise<EmrtdApduResponse>> JHybridMyazaEmrtdSpec::transceive(const std::string& apduBase64) {
|
|
109
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* apduBase64 */)>("transceive");
|
|
110
|
+
auto __result = method(_javaPart, jni::make_jstring(apduBase64));
|
|
111
|
+
return [&]() {
|
|
112
|
+
auto __promise = Promise<EmrtdApduResponse>::create();
|
|
113
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
114
|
+
auto __result = jni::static_ref_cast<JEmrtdApduResponse>(__boxedResult);
|
|
115
|
+
__promise->resolve(__result->toCpp());
|
|
116
|
+
});
|
|
117
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
118
|
+
jni::JniException __jniError(__throwable);
|
|
119
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
120
|
+
});
|
|
121
|
+
return __promise;
|
|
122
|
+
}();
|
|
123
|
+
}
|
|
124
|
+
std::shared_ptr<Promise<std::string>> JHybridMyazaEmrtdSpec::decodeImage(const std::string& dataBase64) {
|
|
125
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* dataBase64 */)>("decodeImage");
|
|
126
|
+
auto __result = method(_javaPart, jni::make_jstring(dataBase64));
|
|
127
|
+
return [&]() {
|
|
128
|
+
auto __promise = Promise<std::string>::create();
|
|
129
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
130
|
+
auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
|
|
131
|
+
__promise->resolve(__result->toStdString());
|
|
132
|
+
});
|
|
133
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
134
|
+
jni::JniException __jniError(__throwable);
|
|
135
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
136
|
+
});
|
|
137
|
+
return __promise;
|
|
138
|
+
}();
|
|
139
|
+
}
|
|
140
|
+
std::string JHybridMyazaEmrtdSpec::sha1(const std::string& dataBase64) {
|
|
141
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<jni::JString> /* dataBase64 */)>("sha1");
|
|
142
|
+
auto __result = method(_javaPart, jni::make_jstring(dataBase64));
|
|
143
|
+
return __result->toStdString();
|
|
144
|
+
}
|
|
145
|
+
std::string JHybridMyazaEmrtdSpec::sha256(const std::string& dataBase64) {
|
|
146
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<jni::JString> /* dataBase64 */)>("sha256");
|
|
147
|
+
auto __result = method(_javaPart, jni::make_jstring(dataBase64));
|
|
148
|
+
return __result->toStdString();
|
|
149
|
+
}
|
|
150
|
+
std::string JHybridMyazaEmrtdSpec::desEde2Cbc(const std::string& keyBase64, const std::string& dataBase64, const std::string& ivBase64, bool encrypt) {
|
|
151
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<jni::JString> /* keyBase64 */, jni::alias_ref<jni::JString> /* dataBase64 */, jni::alias_ref<jni::JString> /* ivBase64 */, jboolean /* encrypt */)>("desEde2Cbc");
|
|
152
|
+
auto __result = method(_javaPart, jni::make_jstring(keyBase64), jni::make_jstring(dataBase64), jni::make_jstring(ivBase64), encrypt);
|
|
153
|
+
return __result->toStdString();
|
|
154
|
+
}
|
|
155
|
+
std::string JHybridMyazaEmrtdSpec::desBlock(const std::string& keyBase64, const std::string& blockBase64, bool encrypt) {
|
|
156
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<jni::JString> /* keyBase64 */, jni::alias_ref<jni::JString> /* blockBase64 */, jboolean /* encrypt */)>("desBlock");
|
|
157
|
+
auto __result = method(_javaPart, jni::make_jstring(keyBase64), jni::make_jstring(blockBase64), encrypt);
|
|
158
|
+
return __result->toStdString();
|
|
159
|
+
}
|
|
160
|
+
std::string JHybridMyazaEmrtdSpec::aesCbc(const std::string& keyBase64, const std::string& dataBase64, const std::string& ivBase64, bool encrypt) {
|
|
161
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<jni::JString> /* keyBase64 */, jni::alias_ref<jni::JString> /* dataBase64 */, jni::alias_ref<jni::JString> /* ivBase64 */, jboolean /* encrypt */)>("aesCbc");
|
|
162
|
+
auto __result = method(_javaPart, jni::make_jstring(keyBase64), jni::make_jstring(dataBase64), jni::make_jstring(ivBase64), encrypt);
|
|
163
|
+
return __result->toStdString();
|
|
164
|
+
}
|
|
165
|
+
std::string JHybridMyazaEmrtdSpec::aesCmac(const std::string& keyBase64, const std::string& dataBase64) {
|
|
166
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<jni::JString> /* keyBase64 */, jni::alias_ref<jni::JString> /* dataBase64 */)>("aesCmac");
|
|
167
|
+
auto __result = method(_javaPart, jni::make_jstring(keyBase64), jni::make_jstring(dataBase64));
|
|
168
|
+
return __result->toStdString();
|
|
169
|
+
}
|
|
170
|
+
std::string JHybridMyazaEmrtdSpec::randomBytes(double length) {
|
|
171
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>(double /* length */)>("randomBytes");
|
|
172
|
+
auto __result = method(_javaPart, length);
|
|
173
|
+
return __result->toStdString();
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
} // namespace margelo::nitro::myazakyc
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridMyazaEmrtdSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <NitroModules/JHybridObject.hpp>
|
|
11
|
+
#include <fbjni/fbjni.h>
|
|
12
|
+
#include "HybridMyazaEmrtdSpec.hpp"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::myazakyc {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
class JHybridMyazaEmrtdSpec: public virtual HybridMyazaEmrtdSpec, public virtual JHybridObject {
|
|
22
|
+
public:
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/myazakyc/HybridMyazaEmrtdSpec;";
|
|
25
|
+
std::shared_ptr<JHybridMyazaEmrtdSpec> getJHybridMyazaEmrtdSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/myazakyc/HybridMyazaEmrtdSpec$CxxPart;";
|
|
29
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
30
|
+
static void registerNatives();
|
|
31
|
+
using HybridBase::HybridBase;
|
|
32
|
+
protected:
|
|
33
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
public:
|
|
37
|
+
explicit JHybridMyazaEmrtdSpec(const jni::local_ref<JHybridMyazaEmrtdSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridMyazaEmrtdSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
41
|
+
~JHybridMyazaEmrtdSpec() override {
|
|
42
|
+
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
43
|
+
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
inline const jni::global_ref<JHybridMyazaEmrtdSpec::JavaPart>& getJavaPart() const noexcept {
|
|
48
|
+
return _javaPart;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public:
|
|
52
|
+
// Properties
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
public:
|
|
56
|
+
// Methods
|
|
57
|
+
bool isAvailable() override;
|
|
58
|
+
std::shared_ptr<Promise<EmrtdTagInfo>> startSession(const std::string& alertMessage) override;
|
|
59
|
+
std::shared_ptr<Promise<void>> stopSession(const std::string& message) override;
|
|
60
|
+
std::shared_ptr<Promise<void>> updateSessionMessage(const std::string& message) override;
|
|
61
|
+
std::shared_ptr<Promise<EmrtdApduResponse>> transceive(const std::string& apduBase64) override;
|
|
62
|
+
std::shared_ptr<Promise<std::string>> decodeImage(const std::string& dataBase64) override;
|
|
63
|
+
std::string sha1(const std::string& dataBase64) override;
|
|
64
|
+
std::string sha256(const std::string& dataBase64) override;
|
|
65
|
+
std::string desEde2Cbc(const std::string& keyBase64, const std::string& dataBase64, const std::string& ivBase64, bool encrypt) override;
|
|
66
|
+
std::string desBlock(const std::string& keyBase64, const std::string& blockBase64, bool encrypt) override;
|
|
67
|
+
std::string aesCbc(const std::string& keyBase64, const std::string& dataBase64, const std::string& ivBase64, bool encrypt) override;
|
|
68
|
+
std::string aesCmac(const std::string& keyBase64, const std::string& dataBase64) override;
|
|
69
|
+
std::string randomBytes(double length) override;
|
|
70
|
+
|
|
71
|
+
private:
|
|
72
|
+
jni::global_ref<JHybridMyazaEmrtdSpec::JavaPart> _javaPart;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
} // namespace margelo::nitro::myazakyc
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridMyazaFaceDetectorSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "JHybridMyazaFaceDetectorSpec.hpp"
|
|
9
|
+
|
|
10
|
+
// Forward declaration of `FaceResult` to properly resolve imports.
|
|
11
|
+
namespace margelo::nitro::myazakyc { struct FaceResult; }
|
|
12
|
+
// Forward declaration of `HybridFrameSpec` to properly resolve imports.
|
|
13
|
+
namespace margelo::nitro::camera { class HybridFrameSpec; }
|
|
14
|
+
|
|
15
|
+
#include "FaceResult.hpp"
|
|
16
|
+
#include "JFaceResult.hpp"
|
|
17
|
+
#include <memory>
|
|
18
|
+
#include <VisionCamera/HybridFrameSpec.hpp>
|
|
19
|
+
#include <VisionCamera/JHybridFrameSpec.hpp>
|
|
20
|
+
|
|
21
|
+
namespace margelo::nitro::myazakyc {
|
|
22
|
+
|
|
23
|
+
std::shared_ptr<JHybridMyazaFaceDetectorSpec> JHybridMyazaFaceDetectorSpec::JavaPart::getJHybridMyazaFaceDetectorSpec() {
|
|
24
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
25
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridMyazaFaceDetectorSpec>(hybridObject);
|
|
26
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
27
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridMyazaFaceDetectorSpec!");
|
|
28
|
+
}
|
|
29
|
+
return castHybridObject;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
jni::local_ref<JHybridMyazaFaceDetectorSpec::CxxPart::jhybriddata> JHybridMyazaFaceDetectorSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
33
|
+
return makeCxxInstance(jThis);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
std::shared_ptr<JHybridObject> JHybridMyazaFaceDetectorSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
37
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridMyazaFaceDetectorSpec::JavaPart>(javaPart);
|
|
38
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
39
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridMyazaFaceDetectorSpec::JavaPart!");
|
|
40
|
+
}
|
|
41
|
+
return std::make_shared<JHybridMyazaFaceDetectorSpec>(castJavaPart);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
void JHybridMyazaFaceDetectorSpec::CxxPart::registerNatives() {
|
|
45
|
+
registerHybrid({
|
|
46
|
+
makeNativeMethod("initHybrid", JHybridMyazaFaceDetectorSpec::CxxPart::initHybrid),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Properties
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
// Methods
|
|
54
|
+
FaceResult JHybridMyazaFaceDetectorSpec::detectFace(const std::shared_ptr<margelo::nitro::camera::HybridFrameSpec>& frame) {
|
|
55
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFaceResult>(jni::alias_ref<margelo::nitro::camera::JHybridFrameSpec::JavaPart> /* frame */)>("detectFace");
|
|
56
|
+
auto __result = method(_javaPart, std::dynamic_pointer_cast<margelo::nitro::camera::JHybridFrameSpec>(frame)->getJavaPart());
|
|
57
|
+
return __result->toCpp();
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
} // namespace margelo::nitro::myazakyc
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridMyazaFaceDetectorSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <NitroModules/JHybridObject.hpp>
|
|
11
|
+
#include <fbjni/fbjni.h>
|
|
12
|
+
#include "HybridMyazaFaceDetectorSpec.hpp"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::myazakyc {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
class JHybridMyazaFaceDetectorSpec: public virtual HybridMyazaFaceDetectorSpec, public virtual JHybridObject {
|
|
22
|
+
public:
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/myazakyc/HybridMyazaFaceDetectorSpec;";
|
|
25
|
+
std::shared_ptr<JHybridMyazaFaceDetectorSpec> getJHybridMyazaFaceDetectorSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/myazakyc/HybridMyazaFaceDetectorSpec$CxxPart;";
|
|
29
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
30
|
+
static void registerNatives();
|
|
31
|
+
using HybridBase::HybridBase;
|
|
32
|
+
protected:
|
|
33
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
public:
|
|
37
|
+
explicit JHybridMyazaFaceDetectorSpec(const jni::local_ref<JHybridMyazaFaceDetectorSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridMyazaFaceDetectorSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
41
|
+
~JHybridMyazaFaceDetectorSpec() override {
|
|
42
|
+
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
43
|
+
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
inline const jni::global_ref<JHybridMyazaFaceDetectorSpec::JavaPart>& getJavaPart() const noexcept {
|
|
48
|
+
return _javaPart;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public:
|
|
52
|
+
// Properties
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
public:
|
|
56
|
+
// Methods
|
|
57
|
+
FaceResult detectFace(const std::shared_ptr<margelo::nitro::camera::HybridFrameSpec>& frame) override;
|
|
58
|
+
|
|
59
|
+
private:
|
|
60
|
+
jni::global_ref<JHybridMyazaFaceDetectorSpec::JavaPart> _javaPart;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
} // namespace margelo::nitro::myazakyc
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridMyazaRectDetectorSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "JHybridMyazaRectDetectorSpec.hpp"
|
|
9
|
+
|
|
10
|
+
// Forward declaration of `DetectedRect` to properly resolve imports.
|
|
11
|
+
namespace margelo::nitro::myazakyc { struct DetectedRect; }
|
|
12
|
+
// Forward declaration of `HybridFrameSpec` to properly resolve imports.
|
|
13
|
+
namespace margelo::nitro::camera { class HybridFrameSpec; }
|
|
14
|
+
|
|
15
|
+
#include "DetectedRect.hpp"
|
|
16
|
+
#include "JDetectedRect.hpp"
|
|
17
|
+
#include <memory>
|
|
18
|
+
#include <VisionCamera/HybridFrameSpec.hpp>
|
|
19
|
+
#include <VisionCamera/JHybridFrameSpec.hpp>
|
|
20
|
+
|
|
21
|
+
namespace margelo::nitro::myazakyc {
|
|
22
|
+
|
|
23
|
+
std::shared_ptr<JHybridMyazaRectDetectorSpec> JHybridMyazaRectDetectorSpec::JavaPart::getJHybridMyazaRectDetectorSpec() {
|
|
24
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
25
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridMyazaRectDetectorSpec>(hybridObject);
|
|
26
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
27
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridMyazaRectDetectorSpec!");
|
|
28
|
+
}
|
|
29
|
+
return castHybridObject;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
jni::local_ref<JHybridMyazaRectDetectorSpec::CxxPart::jhybriddata> JHybridMyazaRectDetectorSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
33
|
+
return makeCxxInstance(jThis);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
std::shared_ptr<JHybridObject> JHybridMyazaRectDetectorSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
37
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridMyazaRectDetectorSpec::JavaPart>(javaPart);
|
|
38
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
39
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridMyazaRectDetectorSpec::JavaPart!");
|
|
40
|
+
}
|
|
41
|
+
return std::make_shared<JHybridMyazaRectDetectorSpec>(castJavaPart);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
void JHybridMyazaRectDetectorSpec::CxxPart::registerNatives() {
|
|
45
|
+
registerHybrid({
|
|
46
|
+
makeNativeMethod("initHybrid", JHybridMyazaRectDetectorSpec::CxxPart::initHybrid),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Properties
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
// Methods
|
|
54
|
+
DetectedRect JHybridMyazaRectDetectorSpec::detectRect(const std::shared_ptr<margelo::nitro::camera::HybridFrameSpec>& frame) {
|
|
55
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JDetectedRect>(jni::alias_ref<margelo::nitro::camera::JHybridFrameSpec::JavaPart> /* frame */)>("detectRect");
|
|
56
|
+
auto __result = method(_javaPart, std::dynamic_pointer_cast<margelo::nitro::camera::JHybridFrameSpec>(frame)->getJavaPart());
|
|
57
|
+
return __result->toCpp();
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
} // namespace margelo::nitro::myazakyc
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridMyazaRectDetectorSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <NitroModules/JHybridObject.hpp>
|
|
11
|
+
#include <fbjni/fbjni.h>
|
|
12
|
+
#include "HybridMyazaRectDetectorSpec.hpp"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::myazakyc {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
class JHybridMyazaRectDetectorSpec: public virtual HybridMyazaRectDetectorSpec, public virtual JHybridObject {
|
|
22
|
+
public:
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/myazakyc/HybridMyazaRectDetectorSpec;";
|
|
25
|
+
std::shared_ptr<JHybridMyazaRectDetectorSpec> getJHybridMyazaRectDetectorSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/myazakyc/HybridMyazaRectDetectorSpec$CxxPart;";
|
|
29
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
30
|
+
static void registerNatives();
|
|
31
|
+
using HybridBase::HybridBase;
|
|
32
|
+
protected:
|
|
33
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
public:
|
|
37
|
+
explicit JHybridMyazaRectDetectorSpec(const jni::local_ref<JHybridMyazaRectDetectorSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridMyazaRectDetectorSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
41
|
+
~JHybridMyazaRectDetectorSpec() override {
|
|
42
|
+
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
43
|
+
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
inline const jni::global_ref<JHybridMyazaRectDetectorSpec::JavaPart>& getJavaPart() const noexcept {
|
|
48
|
+
return _javaPart;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public:
|
|
52
|
+
// Properties
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
public:
|
|
56
|
+
// Methods
|
|
57
|
+
DetectedRect detectRect(const std::shared_ptr<margelo::nitro::camera::HybridFrameSpec>& frame) override;
|
|
58
|
+
|
|
59
|
+
private:
|
|
60
|
+
jni::global_ref<JHybridMyazaRectDetectorSpec::JavaPart> _javaPart;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
} // namespace margelo::nitro::myazakyc
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridMyazaTextRecognizerSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "JHybridMyazaTextRecognizerSpec.hpp"
|
|
9
|
+
|
|
10
|
+
// Forward declaration of `TextResult` to properly resolve imports.
|
|
11
|
+
namespace margelo::nitro::myazakyc { struct TextResult; }
|
|
12
|
+
// Forward declaration of `HybridFrameSpec` to properly resolve imports.
|
|
13
|
+
namespace margelo::nitro::camera { class HybridFrameSpec; }
|
|
14
|
+
|
|
15
|
+
#include "TextResult.hpp"
|
|
16
|
+
#include "JTextResult.hpp"
|
|
17
|
+
#include <string>
|
|
18
|
+
#include <vector>
|
|
19
|
+
#include <NitroModules/Promise.hpp>
|
|
20
|
+
#include <NitroModules/JPromise.hpp>
|
|
21
|
+
#include <memory>
|
|
22
|
+
#include <VisionCamera/HybridFrameSpec.hpp>
|
|
23
|
+
#include <VisionCamera/JHybridFrameSpec.hpp>
|
|
24
|
+
|
|
25
|
+
namespace margelo::nitro::myazakyc {
|
|
26
|
+
|
|
27
|
+
std::shared_ptr<JHybridMyazaTextRecognizerSpec> JHybridMyazaTextRecognizerSpec::JavaPart::getJHybridMyazaTextRecognizerSpec() {
|
|
28
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
29
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridMyazaTextRecognizerSpec>(hybridObject);
|
|
30
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
31
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridMyazaTextRecognizerSpec!");
|
|
32
|
+
}
|
|
33
|
+
return castHybridObject;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
jni::local_ref<JHybridMyazaTextRecognizerSpec::CxxPart::jhybriddata> JHybridMyazaTextRecognizerSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
37
|
+
return makeCxxInstance(jThis);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
std::shared_ptr<JHybridObject> JHybridMyazaTextRecognizerSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
41
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridMyazaTextRecognizerSpec::JavaPart>(javaPart);
|
|
42
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
43
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridMyazaTextRecognizerSpec::JavaPart!");
|
|
44
|
+
}
|
|
45
|
+
return std::make_shared<JHybridMyazaTextRecognizerSpec>(castJavaPart);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
void JHybridMyazaTextRecognizerSpec::CxxPart::registerNatives() {
|
|
49
|
+
registerHybrid({
|
|
50
|
+
makeNativeMethod("initHybrid", JHybridMyazaTextRecognizerSpec::CxxPart::initHybrid),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Properties
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
// Methods
|
|
58
|
+
TextResult JHybridMyazaTextRecognizerSpec::recognizeText(const std::shared_ptr<margelo::nitro::camera::HybridFrameSpec>& frame, double bottomFraction) {
|
|
59
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JTextResult>(jni::alias_ref<margelo::nitro::camera::JHybridFrameSpec::JavaPart> /* frame */, double /* bottomFraction */)>("recognizeText");
|
|
60
|
+
auto __result = method(_javaPart, std::dynamic_pointer_cast<margelo::nitro::camera::JHybridFrameSpec>(frame)->getJavaPart(), bottomFraction);
|
|
61
|
+
return __result->toCpp();
|
|
62
|
+
}
|
|
63
|
+
std::shared_ptr<Promise<TextResult>> JHybridMyazaTextRecognizerSpec::recognizeTextInImage(const std::string& uri, double bottomFraction) {
|
|
64
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* uri */, double /* bottomFraction */)>("recognizeTextInImage");
|
|
65
|
+
auto __result = method(_javaPart, jni::make_jstring(uri), bottomFraction);
|
|
66
|
+
return [&]() {
|
|
67
|
+
auto __promise = Promise<TextResult>::create();
|
|
68
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
69
|
+
auto __result = jni::static_ref_cast<JTextResult>(__boxedResult);
|
|
70
|
+
__promise->resolve(__result->toCpp());
|
|
71
|
+
});
|
|
72
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
73
|
+
jni::JniException __jniError(__throwable);
|
|
74
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
75
|
+
});
|
|
76
|
+
return __promise;
|
|
77
|
+
}();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
} // namespace margelo::nitro::myazakyc
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridMyazaTextRecognizerSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <NitroModules/JHybridObject.hpp>
|
|
11
|
+
#include <fbjni/fbjni.h>
|
|
12
|
+
#include "HybridMyazaTextRecognizerSpec.hpp"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::myazakyc {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
class JHybridMyazaTextRecognizerSpec: public virtual HybridMyazaTextRecognizerSpec, public virtual JHybridObject {
|
|
22
|
+
public:
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/myazakyc/HybridMyazaTextRecognizerSpec;";
|
|
25
|
+
std::shared_ptr<JHybridMyazaTextRecognizerSpec> getJHybridMyazaTextRecognizerSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/myazakyc/HybridMyazaTextRecognizerSpec$CxxPart;";
|
|
29
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
30
|
+
static void registerNatives();
|
|
31
|
+
using HybridBase::HybridBase;
|
|
32
|
+
protected:
|
|
33
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
public:
|
|
37
|
+
explicit JHybridMyazaTextRecognizerSpec(const jni::local_ref<JHybridMyazaTextRecognizerSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridMyazaTextRecognizerSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
41
|
+
~JHybridMyazaTextRecognizerSpec() override {
|
|
42
|
+
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
43
|
+
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
inline const jni::global_ref<JHybridMyazaTextRecognizerSpec::JavaPart>& getJavaPart() const noexcept {
|
|
48
|
+
return _javaPart;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public:
|
|
52
|
+
// Properties
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
public:
|
|
56
|
+
// Methods
|
|
57
|
+
TextResult recognizeText(const std::shared_ptr<margelo::nitro::camera::HybridFrameSpec>& frame, double bottomFraction) override;
|
|
58
|
+
std::shared_ptr<Promise<TextResult>> recognizeTextInImage(const std::string& uri, double bottomFraction) override;
|
|
59
|
+
|
|
60
|
+
private:
|
|
61
|
+
jni::global_ref<JHybridMyazaTextRecognizerSpec::JavaPart> _javaPart;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
} // namespace margelo::nitro::myazakyc
|