react-native-iap 13.0.4 → 14.0.0-rc.2
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/NitroIap.podspec +33 -0
- package/README.md +163 -51
- package/android/CMakeLists.txt +32 -0
- package/android/build.gradle +107 -138
- package/android/fix-prefab.gradle +51 -0
- package/android/gradle.properties +5 -13
- package/android/src/main/AndroidManifest.xml +1 -4
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +843 -0
- package/android/src/main/java/com/margelo/nitro/iap/NitroIapPackage.java +33 -0
- package/android/src/main/java/com/margelo/nitro/iap/Types.kt +173 -0
- package/ios/Bridge.h +8 -0
- package/ios/ErrorUtils.swift +153 -0
- package/ios/HybridRnIap.swift +1326 -0
- package/ios/ProductStore.swift +33 -0
- package/ios/reactnativeiap.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/ios/reactnativeiap.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/lib/module/helpers/subscription.js +56 -0
- package/lib/module/helpers/subscription.js.map +1 -0
- package/lib/module/hooks/useIAP.js +175 -123
- package/lib/module/hooks/useIAP.js.map +1 -1
- package/lib/module/index.js +1015 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/specs/RnIap.nitro.js +4 -0
- package/lib/{commonjs/modules/common.js.map → module/specs/RnIap.nitro.js.map} +1 -1
- package/lib/module/types.js +187 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/utils/error.js +80 -0
- package/lib/module/utils/error.js.map +1 -0
- package/lib/module/utils/type-bridge.js +202 -0
- package/lib/module/utils/type-bridge.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/plugin/src/withIAP.d.ts +2 -7
- package/lib/typescript/plugin/src/withIAP.d.ts.map +1 -1
- package/lib/typescript/scripts/check-nitro-versions.d.ts +3 -0
- package/lib/typescript/scripts/check-nitro-versions.d.ts.map +1 -0
- package/lib/typescript/src/helpers/subscription.d.ts +14 -0
- package/lib/typescript/src/helpers/subscription.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useIAP.d.ts +42 -26
- package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +356 -8
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/RnIap.nitro.d.ts +404 -0
- package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +544 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/utils/error.d.ts +30 -0
- package/lib/typescript/src/utils/error.d.ts.map +1 -0
- package/lib/typescript/src/utils/type-bridge.d.ts +40 -0
- package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -0
- package/nitro.json +17 -0
- package/nitrogen/generated/android/NitroIap+autolinking.cmake +80 -0
- package/nitrogen/generated/android/NitroIap+autolinking.gradle +27 -0
- package/nitrogen/generated/android/NitroIapOnLoad.cpp +50 -0
- package/nitrogen/generated/android/NitroIapOnLoad.hpp +25 -0
- package/nitrogen/generated/android/c++/JFunc_void_NitroProduct.hpp +78 -0
- package/nitrogen/generated/android/c++/JFunc_void_NitroPurchase.hpp +78 -0
- package/nitrogen/generated/android/c++/JFunc_void_NitroPurchaseResult.hpp +78 -0
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +577 -0
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +93 -0
- package/nitrogen/generated/android/c++/JNitroAndroidReceiptValidationOptions.hpp +66 -0
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidOptions.hpp +54 -0
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesIosOptions.hpp +65 -0
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesOptions.hpp +62 -0
- package/nitrogen/generated/android/c++/JNitroFinishTransactionAndroidParams.hpp +58 -0
- package/nitrogen/generated/android/c++/JNitroFinishTransactionIosParams.hpp +53 -0
- package/nitrogen/generated/android/c++/JNitroFinishTransactionParams.hpp +62 -0
- package/nitrogen/generated/android/c++/JNitroProduct.hpp +154 -0
- package/nitrogen/generated/android/c++/JNitroPurchase.hpp +122 -0
- package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +66 -0
- package/nitrogen/generated/android/c++/JNitroPurchaseResult.hpp +70 -0
- package/nitrogen/generated/android/c++/JNitroReceiptValidationParams.hpp +60 -0
- package/nitrogen/generated/android/c++/JNitroReceiptValidationResultAndroid.hpp +122 -0
- package/nitrogen/generated/android/c++/JNitroReceiptValidationResultIOS.hpp +68 -0
- package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +115 -0
- package/nitrogen/generated/android/c++/JNitroRequestPurchaseIos.hpp +84 -0
- package/nitrogen/generated/android/c++/JNitroSubscriptionOffer.hpp +57 -0
- package/nitrogen/generated/android/c++/JNitroSubscriptionRenewalInfo.hpp +74 -0
- package/nitrogen/generated/android/c++/JNitroSubscriptionStatus.hpp +64 -0
- package/nitrogen/generated/android/c++/JVariant_Boolean_NitroPurchaseResult.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_Boolean_NitroPurchaseResult.hpp +71 -0
- package/nitrogen/generated/android/c++/JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.hpp +75 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroProduct.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchase.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchaseResult.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +198 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAndroidReceiptValidationOptions.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesAndroidOptions.kt +29 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesIosOptions.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesOptions.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionAndroidParams.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionIosParams.kt +29 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionParams.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroIapOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +104 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseRequest.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseResult.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationParams.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultAndroid.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultIOS.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseIos.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionOffer.kt +32 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionRenewalInfo.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionStatus.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_Boolean_NitroPurchaseResult.kt +42 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.kt +42 -0
- package/nitrogen/generated/ios/NitroIap+autolinking.rb +60 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +152 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +1061 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +107 -0
- package/nitrogen/generated/ios/NitroIapAutolinking.mm +33 -0
- package/nitrogen/generated/ios/NitroIapAutolinking.swift +25 -0
- package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +355 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_NitroProduct.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_NitroPurchase.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_NitroPurchaseResult.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroProduct_.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroPurchase_.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_std__vector_NitroSubscriptionStatus__.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_bool__NitroPurchaseResult_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_NitroProduct_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_NitroPurchase_.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +78 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +750 -0
- package/nitrogen/generated/ios/swift/NitroAndroidReceiptValidationOptions.swift +80 -0
- package/nitrogen/generated/ios/swift/NitroAvailablePurchasesAndroidOptions.swift +54 -0
- package/nitrogen/generated/ios/swift/NitroAvailablePurchasesIosOptions.swift +116 -0
- package/nitrogen/generated/ios/swift/NitroAvailablePurchasesOptions.swift +84 -0
- package/nitrogen/generated/ios/swift/NitroFinishTransactionAndroidParams.swift +58 -0
- package/nitrogen/generated/ios/swift/NitroFinishTransactionIosParams.swift +35 -0
- package/nitrogen/generated/ios/swift/NitroFinishTransactionParams.swift +84 -0
- package/nitrogen/generated/ios/swift/NitroProduct.swift +653 -0
- package/nitrogen/generated/ios/swift/NitroPurchase.swift +453 -0
- package/nitrogen/generated/ios/swift/NitroPurchaseRequest.swift +84 -0
- package/nitrogen/generated/ios/swift/NitroPurchaseResult.swift +117 -0
- package/nitrogen/generated/ios/swift/NitroReceiptValidationParams.swift +65 -0
- package/nitrogen/generated/ios/swift/NitroReceiptValidationResultAndroid.swift +258 -0
- package/nitrogen/generated/ios/swift/NitroReceiptValidationResultIOS.swift +87 -0
- package/nitrogen/generated/ios/swift/NitroRequestPurchaseAndroid.swift +225 -0
- package/nitrogen/generated/ios/swift/NitroRequestPurchaseIos.swift +161 -0
- package/nitrogen/generated/ios/swift/NitroSubscriptionOffer.swift +46 -0
- package/nitrogen/generated/ios/swift/NitroSubscriptionRenewalInfo.swift +152 -0
- package/nitrogen/generated/ios/swift/NitroSubscriptionStatus.swift +76 -0
- package/nitrogen/generated/ios/swift/Variant_Bool_NitroPurchaseResult.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.swift +18 -0
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +50 -0
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +125 -0
- package/nitrogen/generated/shared/c++/NitroAndroidReceiptValidationOptions.hpp +80 -0
- package/nitrogen/generated/shared/c++/NitroAvailablePurchasesAndroidOptions.hpp +68 -0
- package/nitrogen/generated/shared/c++/NitroAvailablePurchasesIosOptions.hpp +79 -0
- package/nitrogen/generated/shared/c++/NitroAvailablePurchasesOptions.hpp +76 -0
- package/nitrogen/generated/shared/c++/NitroFinishTransactionAndroidParams.hpp +72 -0
- package/nitrogen/generated/shared/c++/NitroFinishTransactionIosParams.hpp +67 -0
- package/nitrogen/generated/shared/c++/NitroFinishTransactionParams.hpp +76 -0
- package/nitrogen/generated/shared/c++/NitroProduct.hpp +168 -0
- package/nitrogen/generated/shared/c++/NitroPurchase.hpp +136 -0
- package/nitrogen/generated/shared/c++/NitroPurchaseRequest.hpp +76 -0
- package/nitrogen/generated/shared/c++/NitroPurchaseResult.hpp +84 -0
- package/nitrogen/generated/shared/c++/NitroReceiptValidationParams.hpp +74 -0
- package/nitrogen/generated/shared/c++/NitroReceiptValidationResultAndroid.hpp +136 -0
- package/nitrogen/generated/shared/c++/NitroReceiptValidationResultIOS.hpp +82 -0
- package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +95 -0
- package/nitrogen/generated/shared/c++/NitroRequestPurchaseIos.hpp +85 -0
- package/nitrogen/generated/shared/c++/NitroSubscriptionOffer.hpp +71 -0
- package/nitrogen/generated/shared/c++/NitroSubscriptionRenewalInfo.hpp +88 -0
- package/nitrogen/generated/shared/c++/NitroSubscriptionStatus.hpp +78 -0
- package/package.json +144 -104
- package/plugin/build/src/withIAP.d.ts +3 -0
- package/plugin/build/src/withIAP.js +81 -0
- package/plugin/build/tsconfig.tsbuildinfo +1 -0
- package/plugin/build/withIAP.d.ts +2 -7
- package/plugin/build/withIAP.js +62 -51
- package/plugin/src/withIAP.ts +119 -0
- package/plugin/tsconfig.json +18 -0
- package/plugin/tsconfig.tsbuildinfo +1 -0
- package/src/helpers/subscription.ts +65 -0
- package/src/hooks/useIAP.ts +361 -222
- package/src/index.ts +1194 -9
- package/src/specs/RnIap.nitro.ts +501 -0
- package/src/types.ts +680 -0
- package/src/utils/error.ts +97 -0
- package/src/utils/type-bridge.ts +209 -0
- package/LICENSE +0 -21
- package/RNIap.podspec +0 -36
- package/android/src/amazon/AndroidManifest.xml +0 -14
- package/android/src/amazon/java/com/dooboolab/rniap/EventSender.kt +0 -10
- package/android/src/amazon/java/com/dooboolab/rniap/PurchasingServiceProxy.kt +0 -29
- package/android/src/amazon/java/com/dooboolab/rniap/PurchasingServiceProxyAmazonImpl.kt +0 -31
- package/android/src/amazon/java/com/dooboolab/rniap/RNIapActivityListener.kt +0 -55
- package/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonListener.kt +0 -325
- package/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonModule.kt +0 -244
- package/android/src/amazon/java/com/dooboolab/rniap/RNIapPackage.kt +0 -17
- package/android/src/amazon/java/com/dooboolab/rniap/modifysubscription/RNIapAmazonModifySubscriptionListener.kt +0 -88
- package/android/src/amazon/java/com/dooboolab/rniap/utils/Extensions.kt +0 -22
- package/android/src/main/java/com/dooboolab/rniap/PromiseUtils.kt +0 -62
- package/android/src/main/java/com/dooboolab/rniap/PromiseUtlis.kt +0 -43
- package/android/src/play/java/com/dooboolab/rniap/PlayUtils.kt +0 -114
- package/android/src/play/java/com/dooboolab/rniap/RNIapActivityListener.kt +0 -15
- package/android/src/play/java/com/dooboolab/rniap/RNIapModule.kt +0 -911
- package/android/src/play/java/com/dooboolab/rniap/RNIapPackage.kt +0 -17
- package/android/src/testAmazon/java/com/dooboolab/rniap/RNIapAmazonModuleTest.kt +0 -170
- package/app.plugin.js +0 -1
- package/ios/IapSerializationUtils.swift +0 -290
- package/ios/IapTypes.swift +0 -56
- package/ios/IapUtils.swift +0 -40
- package/ios/LatestPromiseKeeper.swift +0 -52
- package/ios/RNIapIos-Bridging-Header.h +0 -2
- package/ios/RNIapIos.m +0 -69
- package/ios/RNIapIos.swift +0 -868
- package/ios/RNIapIos.xcodeproj/project.pbxproj +0 -289
- package/ios/RNIapIosSk2.m +0 -126
- package/ios/RNIapIosSk2.swift +0 -1413
- package/ios/ThreadSafe.swift +0 -18
- package/lib/commonjs/eventEmitter.js +0 -195
- package/lib/commonjs/eventEmitter.js.map +0 -1
- package/lib/commonjs/hooks/index.js +0 -17
- package/lib/commonjs/hooks/index.js.map +0 -1
- package/lib/commonjs/hooks/useIAP.js +0 -203
- package/lib/commonjs/hooks/useIAP.js.map +0 -1
- package/lib/commonjs/hooks/withIAPContext.js +0 -95
- package/lib/commonjs/hooks/withIAPContext.js.map +0 -1
- package/lib/commonjs/iap.js +0 -836
- package/lib/commonjs/iap.js.map +0 -1
- package/lib/commonjs/index.js +0 -105
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/internal/enhancedFetch.js +0 -26
- package/lib/commonjs/internal/enhancedFetch.js.map +0 -1
- package/lib/commonjs/internal/fillProductsWithAdditionalData.js +0 -50
- package/lib/commonjs/internal/fillProductsWithAdditionalData.js.map +0 -1
- package/lib/commonjs/internal/index.js +0 -39
- package/lib/commonjs/internal/index.js.map +0 -1
- package/lib/commonjs/internal/platform.js +0 -119
- package/lib/commonjs/internal/platform.js.map +0 -1
- package/lib/commonjs/modules/amazon.js +0 -50
- package/lib/commonjs/modules/amazon.js.map +0 -1
- package/lib/commonjs/modules/android.js +0 -92
- package/lib/commonjs/modules/android.js.map +0 -1
- package/lib/commonjs/modules/common.js +0 -2
- package/lib/commonjs/modules/index.js +0 -50
- package/lib/commonjs/modules/index.js.map +0 -1
- package/lib/commonjs/modules/ios.js +0 -160
- package/lib/commonjs/modules/ios.js.map +0 -1
- package/lib/commonjs/modules/iosSk2.js +0 -113
- package/lib/commonjs/modules/iosSk2.js.map +0 -1
- package/lib/commonjs/purchaseError.js +0 -170
- package/lib/commonjs/purchaseError.js.map +0 -1
- package/lib/commonjs/types/amazon.js +0 -2
- package/lib/commonjs/types/amazon.js.map +0 -1
- package/lib/commonjs/types/android.js +0 -67
- package/lib/commonjs/types/android.js.map +0 -1
- package/lib/commonjs/types/apple.js +0 -24
- package/lib/commonjs/types/apple.js.map +0 -1
- package/lib/commonjs/types/appleSk2.js +0 -137
- package/lib/commonjs/types/appleSk2.js.map +0 -1
- package/lib/commonjs/types/index.js +0 -67
- package/lib/commonjs/types/index.js.map +0 -1
- package/lib/commonjs/utils/errorMapping.js +0 -83
- package/lib/commonjs/utils/errorMapping.js.map +0 -1
- package/lib/commonjs/utils/typeGuards.js +0 -74
- package/lib/commonjs/utils/typeGuards.js.map +0 -1
- package/lib/module/eventEmitter.js +0 -185
- package/lib/module/eventEmitter.js.map +0 -1
- package/lib/module/hooks/index.js +0 -2
- package/lib/module/hooks/index.js.map +0 -1
- package/lib/module/hooks/withIAPContext.js +0 -86
- package/lib/module/hooks/withIAPContext.js.map +0 -1
- package/lib/module/iap.js +0 -805
- package/lib/module/iap.js.map +0 -1
- package/lib/module/internal/enhancedFetch.js +0 -19
- package/lib/module/internal/enhancedFetch.js.map +0 -1
- package/lib/module/internal/fillProductsWithAdditionalData.js +0 -43
- package/lib/module/internal/fillProductsWithAdditionalData.js.map +0 -1
- package/lib/module/internal/index.js +0 -4
- package/lib/module/internal/index.js.map +0 -1
- package/lib/module/internal/platform.js +0 -102
- package/lib/module/internal/platform.js.map +0 -1
- package/lib/module/modules/amazon.js +0 -42
- package/lib/module/modules/amazon.js.map +0 -1
- package/lib/module/modules/android.js +0 -81
- package/lib/module/modules/android.js.map +0 -1
- package/lib/module/modules/common.js +0 -2
- package/lib/module/modules/common.js.map +0 -1
- package/lib/module/modules/index.js +0 -5
- package/lib/module/modules/index.js.map +0 -1
- package/lib/module/modules/ios.js +0 -145
- package/lib/module/modules/ios.js.map +0 -1
- package/lib/module/modules/iosSk2.js +0 -96
- package/lib/module/modules/iosSk2.js.map +0 -1
- package/lib/module/purchaseError.js +0 -164
- package/lib/module/purchaseError.js.map +0 -1
- package/lib/module/types/amazon.js +0 -2
- package/lib/module/types/amazon.js.map +0 -1
- package/lib/module/types/android.js +0 -63
- package/lib/module/types/android.js.map +0 -1
- package/lib/module/types/apple.js +0 -17
- package/lib/module/types/apple.js.map +0 -1
- package/lib/module/types/appleSk2.js +0 -129
- package/lib/module/types/appleSk2.js.map +0 -1
- package/lib/module/types/index.js +0 -75
- package/lib/module/types/index.js.map +0 -1
- package/lib/module/utils/errorMapping.js +0 -75
- package/lib/module/utils/errorMapping.js.map +0 -1
- package/lib/module/utils/typeGuards.js +0 -61
- package/lib/module/utils/typeGuards.js.map +0 -1
- package/lib/typescript/src/eventEmitter.d.ts +0 -151
- package/lib/typescript/src/eventEmitter.d.ts.map +0 -1
- package/lib/typescript/src/hooks/index.d.ts +0 -2
- package/lib/typescript/src/hooks/index.d.ts.map +0 -1
- package/lib/typescript/src/hooks/withIAPContext.d.ts +0 -27
- package/lib/typescript/src/hooks/withIAPContext.d.ts.map +0 -1
- package/lib/typescript/src/iap.d.ts +0 -503
- package/lib/typescript/src/iap.d.ts.map +0 -1
- package/lib/typescript/src/internal/enhancedFetch.d.ts +0 -6
- package/lib/typescript/src/internal/enhancedFetch.d.ts.map +0 -1
- package/lib/typescript/src/internal/fillProductsWithAdditionalData.d.ts +0 -7
- package/lib/typescript/src/internal/fillProductsWithAdditionalData.d.ts.map +0 -1
- package/lib/typescript/src/internal/index.d.ts +0 -4
- package/lib/typescript/src/internal/index.d.ts.map +0 -1
- package/lib/typescript/src/internal/platform.d.ts +0 -27
- package/lib/typescript/src/internal/platform.d.ts.map +0 -1
- package/lib/typescript/src/modules/amazon.d.ts +0 -55
- package/lib/typescript/src/modules/amazon.d.ts.map +0 -1
- package/lib/typescript/src/modules/android.d.ts +0 -74
- package/lib/typescript/src/modules/android.d.ts.map +0 -1
- package/lib/typescript/src/modules/common.d.ts +0 -14
- package/lib/typescript/src/modules/common.d.ts.map +0 -1
- package/lib/typescript/src/modules/index.d.ts +0 -5
- package/lib/typescript/src/modules/index.d.ts.map +0 -1
- package/lib/typescript/src/modules/ios.d.ts +0 -117
- package/lib/typescript/src/modules/ios.d.ts.map +0 -1
- package/lib/typescript/src/modules/iosSk2.d.ts +0 -140
- package/lib/typescript/src/modules/iosSk2.d.ts.map +0 -1
- package/lib/typescript/src/purchaseError.d.ts +0 -133
- package/lib/typescript/src/purchaseError.d.ts.map +0 -1
- package/lib/typescript/src/types/amazon.d.ts +0 -33
- package/lib/typescript/src/types/amazon.d.ts.map +0 -1
- package/lib/typescript/src/types/android.d.ts +0 -66
- package/lib/typescript/src/types/android.d.ts.map +0 -1
- package/lib/typescript/src/types/apple.d.ts +0 -27
- package/lib/typescript/src/types/apple.d.ts.map +0 -1
- package/lib/typescript/src/types/appleSk2.d.ts +0 -129
- package/lib/typescript/src/types/appleSk2.d.ts.map +0 -1
- package/lib/typescript/src/types/index.d.ts +0 -302
- package/lib/typescript/src/types/index.d.ts.map +0 -1
- package/lib/typescript/src/utils/errorMapping.d.ts +0 -29
- package/lib/typescript/src/utils/errorMapping.d.ts.map +0 -1
- package/lib/typescript/src/utils/typeGuards.d.ts +0 -53
- package/lib/typescript/src/utils/typeGuards.d.ts.map +0 -1
- package/src/eventEmitter.ts +0 -212
- package/src/hooks/index.ts +0 -1
- package/src/hooks/withIAPContext.tsx +0 -179
- package/src/iap.ts +0 -1046
- package/src/internal/enhancedFetch.ts +0 -25
- package/src/internal/fillProductsWithAdditionalData.ts +0 -47
- package/src/internal/index.ts +0 -3
- package/src/internal/platform.ts +0 -135
- package/src/modules/amazon.ts +0 -94
- package/src/modules/android.ts +0 -179
- package/src/modules/common.ts +0 -16
- package/src/modules/index.ts +0 -4
- package/src/modules/ios.ts +0 -229
- package/src/modules/iosSk2.ts +0 -194
- package/src/purchaseError.ts +0 -196
- package/src/types/amazon.ts +0 -40
- package/src/types/android.ts +0 -89
- package/src/types/apple.ts +0 -44
- package/src/types/appleSk2.ts +0 -275
- package/src/types/index.ts +0 -379
- package/src/utils/errorMapping.ts +0 -88
- package/src/utils/typeGuards.ts +0 -90
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNitroProduct.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NitroProduct.hpp"
|
|
12
|
+
|
|
13
|
+
#include <optional>
|
|
14
|
+
#include <string>
|
|
15
|
+
|
|
16
|
+
namespace margelo::nitro::iap {
|
|
17
|
+
|
|
18
|
+
using namespace facebook;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The C++ JNI bridge between the C++ struct "NitroProduct" and the the Kotlin data class "NitroProduct".
|
|
22
|
+
*/
|
|
23
|
+
struct JNitroProduct final: public jni::JavaClass<JNitroProduct> {
|
|
24
|
+
public:
|
|
25
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroProduct;";
|
|
26
|
+
|
|
27
|
+
public:
|
|
28
|
+
/**
|
|
29
|
+
* Convert this Java/Kotlin-based struct to the C++ struct NitroProduct by copying all values to C++.
|
|
30
|
+
*/
|
|
31
|
+
[[maybe_unused]]
|
|
32
|
+
[[nodiscard]]
|
|
33
|
+
NitroProduct toCpp() const {
|
|
34
|
+
static const auto clazz = javaClassStatic();
|
|
35
|
+
static const auto fieldId = clazz->getField<jni::JString>("id");
|
|
36
|
+
jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
|
|
37
|
+
static const auto fieldTitle = clazz->getField<jni::JString>("title");
|
|
38
|
+
jni::local_ref<jni::JString> title = this->getFieldValue(fieldTitle);
|
|
39
|
+
static const auto fieldDescription = clazz->getField<jni::JString>("description");
|
|
40
|
+
jni::local_ref<jni::JString> description = this->getFieldValue(fieldDescription);
|
|
41
|
+
static const auto fieldType = clazz->getField<jni::JString>("type");
|
|
42
|
+
jni::local_ref<jni::JString> type = this->getFieldValue(fieldType);
|
|
43
|
+
static const auto fieldDisplayName = clazz->getField<jni::JString>("displayName");
|
|
44
|
+
jni::local_ref<jni::JString> displayName = this->getFieldValue(fieldDisplayName);
|
|
45
|
+
static const auto fieldDisplayPrice = clazz->getField<jni::JString>("displayPrice");
|
|
46
|
+
jni::local_ref<jni::JString> displayPrice = this->getFieldValue(fieldDisplayPrice);
|
|
47
|
+
static const auto fieldCurrency = clazz->getField<jni::JString>("currency");
|
|
48
|
+
jni::local_ref<jni::JString> currency = this->getFieldValue(fieldCurrency);
|
|
49
|
+
static const auto fieldPrice = clazz->getField<jni::JDouble>("price");
|
|
50
|
+
jni::local_ref<jni::JDouble> price = this->getFieldValue(fieldPrice);
|
|
51
|
+
static const auto fieldPlatform = clazz->getField<jni::JString>("platform");
|
|
52
|
+
jni::local_ref<jni::JString> platform = this->getFieldValue(fieldPlatform);
|
|
53
|
+
static const auto fieldIsFamilyShareable = clazz->getField<jni::JBoolean>("isFamilyShareable");
|
|
54
|
+
jni::local_ref<jni::JBoolean> isFamilyShareable = this->getFieldValue(fieldIsFamilyShareable);
|
|
55
|
+
static const auto fieldJsonRepresentation = clazz->getField<jni::JString>("jsonRepresentation");
|
|
56
|
+
jni::local_ref<jni::JString> jsonRepresentation = this->getFieldValue(fieldJsonRepresentation);
|
|
57
|
+
static const auto fieldSubscriptionPeriodUnitIOS = clazz->getField<jni::JString>("subscriptionPeriodUnitIOS");
|
|
58
|
+
jni::local_ref<jni::JString> subscriptionPeriodUnitIOS = this->getFieldValue(fieldSubscriptionPeriodUnitIOS);
|
|
59
|
+
static const auto fieldSubscriptionPeriodNumberIOS = clazz->getField<jni::JDouble>("subscriptionPeriodNumberIOS");
|
|
60
|
+
jni::local_ref<jni::JDouble> subscriptionPeriodNumberIOS = this->getFieldValue(fieldSubscriptionPeriodNumberIOS);
|
|
61
|
+
static const auto fieldIntroductoryPriceIOS = clazz->getField<jni::JString>("introductoryPriceIOS");
|
|
62
|
+
jni::local_ref<jni::JString> introductoryPriceIOS = this->getFieldValue(fieldIntroductoryPriceIOS);
|
|
63
|
+
static const auto fieldIntroductoryPriceAsAmountIOS = clazz->getField<jni::JDouble>("introductoryPriceAsAmountIOS");
|
|
64
|
+
jni::local_ref<jni::JDouble> introductoryPriceAsAmountIOS = this->getFieldValue(fieldIntroductoryPriceAsAmountIOS);
|
|
65
|
+
static const auto fieldIntroductoryPricePaymentModeIOS = clazz->getField<jni::JString>("introductoryPricePaymentModeIOS");
|
|
66
|
+
jni::local_ref<jni::JString> introductoryPricePaymentModeIOS = this->getFieldValue(fieldIntroductoryPricePaymentModeIOS);
|
|
67
|
+
static const auto fieldIntroductoryPriceNumberOfPeriodsIOS = clazz->getField<jni::JDouble>("introductoryPriceNumberOfPeriodsIOS");
|
|
68
|
+
jni::local_ref<jni::JDouble> introductoryPriceNumberOfPeriodsIOS = this->getFieldValue(fieldIntroductoryPriceNumberOfPeriodsIOS);
|
|
69
|
+
static const auto fieldIntroductoryPriceSubscriptionPeriodIOS = clazz->getField<jni::JString>("introductoryPriceSubscriptionPeriodIOS");
|
|
70
|
+
jni::local_ref<jni::JString> introductoryPriceSubscriptionPeriodIOS = this->getFieldValue(fieldIntroductoryPriceSubscriptionPeriodIOS);
|
|
71
|
+
static const auto fieldOriginalPrice = clazz->getField<jni::JString>("originalPrice");
|
|
72
|
+
jni::local_ref<jni::JString> originalPrice = this->getFieldValue(fieldOriginalPrice);
|
|
73
|
+
static const auto fieldOriginalPriceAmountMicros = clazz->getField<jni::JDouble>("originalPriceAmountMicros");
|
|
74
|
+
jni::local_ref<jni::JDouble> originalPriceAmountMicros = this->getFieldValue(fieldOriginalPriceAmountMicros);
|
|
75
|
+
static const auto fieldIntroductoryPriceValue = clazz->getField<jni::JDouble>("introductoryPriceValue");
|
|
76
|
+
jni::local_ref<jni::JDouble> introductoryPriceValue = this->getFieldValue(fieldIntroductoryPriceValue);
|
|
77
|
+
static const auto fieldIntroductoryPriceCycles = clazz->getField<jni::JDouble>("introductoryPriceCycles");
|
|
78
|
+
jni::local_ref<jni::JDouble> introductoryPriceCycles = this->getFieldValue(fieldIntroductoryPriceCycles);
|
|
79
|
+
static const auto fieldIntroductoryPricePeriod = clazz->getField<jni::JString>("introductoryPricePeriod");
|
|
80
|
+
jni::local_ref<jni::JString> introductoryPricePeriod = this->getFieldValue(fieldIntroductoryPricePeriod);
|
|
81
|
+
static const auto fieldSubscriptionPeriod = clazz->getField<jni::JString>("subscriptionPeriod");
|
|
82
|
+
jni::local_ref<jni::JString> subscriptionPeriod = this->getFieldValue(fieldSubscriptionPeriod);
|
|
83
|
+
static const auto fieldFreeTrialPeriod = clazz->getField<jni::JString>("freeTrialPeriod");
|
|
84
|
+
jni::local_ref<jni::JString> freeTrialPeriod = this->getFieldValue(fieldFreeTrialPeriod);
|
|
85
|
+
static const auto fieldSubscriptionOfferDetailsAndroid = clazz->getField<jni::JString>("subscriptionOfferDetailsAndroid");
|
|
86
|
+
jni::local_ref<jni::JString> subscriptionOfferDetailsAndroid = this->getFieldValue(fieldSubscriptionOfferDetailsAndroid);
|
|
87
|
+
return NitroProduct(
|
|
88
|
+
id->toStdString(),
|
|
89
|
+
title->toStdString(),
|
|
90
|
+
description->toStdString(),
|
|
91
|
+
type->toStdString(),
|
|
92
|
+
displayName != nullptr ? std::make_optional(displayName->toStdString()) : std::nullopt,
|
|
93
|
+
displayPrice != nullptr ? std::make_optional(displayPrice->toStdString()) : std::nullopt,
|
|
94
|
+
currency != nullptr ? std::make_optional(currency->toStdString()) : std::nullopt,
|
|
95
|
+
price != nullptr ? std::make_optional(price->value()) : std::nullopt,
|
|
96
|
+
platform->toStdString(),
|
|
97
|
+
isFamilyShareable != nullptr ? std::make_optional(static_cast<bool>(isFamilyShareable->value())) : std::nullopt,
|
|
98
|
+
jsonRepresentation != nullptr ? std::make_optional(jsonRepresentation->toStdString()) : std::nullopt,
|
|
99
|
+
subscriptionPeriodUnitIOS != nullptr ? std::make_optional(subscriptionPeriodUnitIOS->toStdString()) : std::nullopt,
|
|
100
|
+
subscriptionPeriodNumberIOS != nullptr ? std::make_optional(subscriptionPeriodNumberIOS->value()) : std::nullopt,
|
|
101
|
+
introductoryPriceIOS != nullptr ? std::make_optional(introductoryPriceIOS->toStdString()) : std::nullopt,
|
|
102
|
+
introductoryPriceAsAmountIOS != nullptr ? std::make_optional(introductoryPriceAsAmountIOS->value()) : std::nullopt,
|
|
103
|
+
introductoryPricePaymentModeIOS != nullptr ? std::make_optional(introductoryPricePaymentModeIOS->toStdString()) : std::nullopt,
|
|
104
|
+
introductoryPriceNumberOfPeriodsIOS != nullptr ? std::make_optional(introductoryPriceNumberOfPeriodsIOS->value()) : std::nullopt,
|
|
105
|
+
introductoryPriceSubscriptionPeriodIOS != nullptr ? std::make_optional(introductoryPriceSubscriptionPeriodIOS->toStdString()) : std::nullopt,
|
|
106
|
+
originalPrice != nullptr ? std::make_optional(originalPrice->toStdString()) : std::nullopt,
|
|
107
|
+
originalPriceAmountMicros != nullptr ? std::make_optional(originalPriceAmountMicros->value()) : std::nullopt,
|
|
108
|
+
introductoryPriceValue != nullptr ? std::make_optional(introductoryPriceValue->value()) : std::nullopt,
|
|
109
|
+
introductoryPriceCycles != nullptr ? std::make_optional(introductoryPriceCycles->value()) : std::nullopt,
|
|
110
|
+
introductoryPricePeriod != nullptr ? std::make_optional(introductoryPricePeriod->toStdString()) : std::nullopt,
|
|
111
|
+
subscriptionPeriod != nullptr ? std::make_optional(subscriptionPeriod->toStdString()) : std::nullopt,
|
|
112
|
+
freeTrialPeriod != nullptr ? std::make_optional(freeTrialPeriod->toStdString()) : std::nullopt,
|
|
113
|
+
subscriptionOfferDetailsAndroid != nullptr ? std::make_optional(subscriptionOfferDetailsAndroid->toStdString()) : std::nullopt
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
public:
|
|
118
|
+
/**
|
|
119
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
120
|
+
*/
|
|
121
|
+
[[maybe_unused]]
|
|
122
|
+
static jni::local_ref<JNitroProduct::javaobject> fromCpp(const NitroProduct& value) {
|
|
123
|
+
return newInstance(
|
|
124
|
+
jni::make_jstring(value.id),
|
|
125
|
+
jni::make_jstring(value.title),
|
|
126
|
+
jni::make_jstring(value.description),
|
|
127
|
+
jni::make_jstring(value.type),
|
|
128
|
+
value.displayName.has_value() ? jni::make_jstring(value.displayName.value()) : nullptr,
|
|
129
|
+
value.displayPrice.has_value() ? jni::make_jstring(value.displayPrice.value()) : nullptr,
|
|
130
|
+
value.currency.has_value() ? jni::make_jstring(value.currency.value()) : nullptr,
|
|
131
|
+
value.price.has_value() ? jni::JDouble::valueOf(value.price.value()) : nullptr,
|
|
132
|
+
jni::make_jstring(value.platform),
|
|
133
|
+
value.isFamilyShareable.has_value() ? jni::JBoolean::valueOf(value.isFamilyShareable.value()) : nullptr,
|
|
134
|
+
value.jsonRepresentation.has_value() ? jni::make_jstring(value.jsonRepresentation.value()) : nullptr,
|
|
135
|
+
value.subscriptionPeriodUnitIOS.has_value() ? jni::make_jstring(value.subscriptionPeriodUnitIOS.value()) : nullptr,
|
|
136
|
+
value.subscriptionPeriodNumberIOS.has_value() ? jni::JDouble::valueOf(value.subscriptionPeriodNumberIOS.value()) : nullptr,
|
|
137
|
+
value.introductoryPriceIOS.has_value() ? jni::make_jstring(value.introductoryPriceIOS.value()) : nullptr,
|
|
138
|
+
value.introductoryPriceAsAmountIOS.has_value() ? jni::JDouble::valueOf(value.introductoryPriceAsAmountIOS.value()) : nullptr,
|
|
139
|
+
value.introductoryPricePaymentModeIOS.has_value() ? jni::make_jstring(value.introductoryPricePaymentModeIOS.value()) : nullptr,
|
|
140
|
+
value.introductoryPriceNumberOfPeriodsIOS.has_value() ? jni::JDouble::valueOf(value.introductoryPriceNumberOfPeriodsIOS.value()) : nullptr,
|
|
141
|
+
value.introductoryPriceSubscriptionPeriodIOS.has_value() ? jni::make_jstring(value.introductoryPriceSubscriptionPeriodIOS.value()) : nullptr,
|
|
142
|
+
value.originalPrice.has_value() ? jni::make_jstring(value.originalPrice.value()) : nullptr,
|
|
143
|
+
value.originalPriceAmountMicros.has_value() ? jni::JDouble::valueOf(value.originalPriceAmountMicros.value()) : nullptr,
|
|
144
|
+
value.introductoryPriceValue.has_value() ? jni::JDouble::valueOf(value.introductoryPriceValue.value()) : nullptr,
|
|
145
|
+
value.introductoryPriceCycles.has_value() ? jni::JDouble::valueOf(value.introductoryPriceCycles.value()) : nullptr,
|
|
146
|
+
value.introductoryPricePeriod.has_value() ? jni::make_jstring(value.introductoryPricePeriod.value()) : nullptr,
|
|
147
|
+
value.subscriptionPeriod.has_value() ? jni::make_jstring(value.subscriptionPeriod.value()) : nullptr,
|
|
148
|
+
value.freeTrialPeriod.has_value() ? jni::make_jstring(value.freeTrialPeriod.value()) : nullptr,
|
|
149
|
+
value.subscriptionOfferDetailsAndroid.has_value() ? jni::make_jstring(value.subscriptionOfferDetailsAndroid.value()) : nullptr
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
} // namespace margelo::nitro::iap
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNitroPurchase.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NitroPurchase.hpp"
|
|
12
|
+
|
|
13
|
+
#include <optional>
|
|
14
|
+
#include <string>
|
|
15
|
+
|
|
16
|
+
namespace margelo::nitro::iap {
|
|
17
|
+
|
|
18
|
+
using namespace facebook;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The C++ JNI bridge between the C++ struct "NitroPurchase" and the the Kotlin data class "NitroPurchase".
|
|
22
|
+
*/
|
|
23
|
+
struct JNitroPurchase final: public jni::JavaClass<JNitroPurchase> {
|
|
24
|
+
public:
|
|
25
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroPurchase;";
|
|
26
|
+
|
|
27
|
+
public:
|
|
28
|
+
/**
|
|
29
|
+
* Convert this Java/Kotlin-based struct to the C++ struct NitroPurchase by copying all values to C++.
|
|
30
|
+
*/
|
|
31
|
+
[[maybe_unused]]
|
|
32
|
+
[[nodiscard]]
|
|
33
|
+
NitroPurchase toCpp() const {
|
|
34
|
+
static const auto clazz = javaClassStatic();
|
|
35
|
+
static const auto fieldId = clazz->getField<jni::JString>("id");
|
|
36
|
+
jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
|
|
37
|
+
static const auto fieldProductId = clazz->getField<jni::JString>("productId");
|
|
38
|
+
jni::local_ref<jni::JString> productId = this->getFieldValue(fieldProductId);
|
|
39
|
+
static const auto fieldTransactionDate = clazz->getField<double>("transactionDate");
|
|
40
|
+
double transactionDate = this->getFieldValue(fieldTransactionDate);
|
|
41
|
+
static const auto fieldPurchaseToken = clazz->getField<jni::JString>("purchaseToken");
|
|
42
|
+
jni::local_ref<jni::JString> purchaseToken = this->getFieldValue(fieldPurchaseToken);
|
|
43
|
+
static const auto fieldPlatform = clazz->getField<jni::JString>("platform");
|
|
44
|
+
jni::local_ref<jni::JString> platform = this->getFieldValue(fieldPlatform);
|
|
45
|
+
static const auto fieldQuantityIOS = clazz->getField<jni::JDouble>("quantityIOS");
|
|
46
|
+
jni::local_ref<jni::JDouble> quantityIOS = this->getFieldValue(fieldQuantityIOS);
|
|
47
|
+
static const auto fieldOriginalTransactionDateIOS = clazz->getField<jni::JDouble>("originalTransactionDateIOS");
|
|
48
|
+
jni::local_ref<jni::JDouble> originalTransactionDateIOS = this->getFieldValue(fieldOriginalTransactionDateIOS);
|
|
49
|
+
static const auto fieldOriginalTransactionIdentifierIOS = clazz->getField<jni::JString>("originalTransactionIdentifierIOS");
|
|
50
|
+
jni::local_ref<jni::JString> originalTransactionIdentifierIOS = this->getFieldValue(fieldOriginalTransactionIdentifierIOS);
|
|
51
|
+
static const auto fieldAppAccountToken = clazz->getField<jni::JString>("appAccountToken");
|
|
52
|
+
jni::local_ref<jni::JString> appAccountToken = this->getFieldValue(fieldAppAccountToken);
|
|
53
|
+
static const auto fieldPurchaseTokenAndroid = clazz->getField<jni::JString>("purchaseTokenAndroid");
|
|
54
|
+
jni::local_ref<jni::JString> purchaseTokenAndroid = this->getFieldValue(fieldPurchaseTokenAndroid);
|
|
55
|
+
static const auto fieldDataAndroid = clazz->getField<jni::JString>("dataAndroid");
|
|
56
|
+
jni::local_ref<jni::JString> dataAndroid = this->getFieldValue(fieldDataAndroid);
|
|
57
|
+
static const auto fieldSignatureAndroid = clazz->getField<jni::JString>("signatureAndroid");
|
|
58
|
+
jni::local_ref<jni::JString> signatureAndroid = this->getFieldValue(fieldSignatureAndroid);
|
|
59
|
+
static const auto fieldAutoRenewingAndroid = clazz->getField<jni::JBoolean>("autoRenewingAndroid");
|
|
60
|
+
jni::local_ref<jni::JBoolean> autoRenewingAndroid = this->getFieldValue(fieldAutoRenewingAndroid);
|
|
61
|
+
static const auto fieldPurchaseStateAndroid = clazz->getField<jni::JDouble>("purchaseStateAndroid");
|
|
62
|
+
jni::local_ref<jni::JDouble> purchaseStateAndroid = this->getFieldValue(fieldPurchaseStateAndroid);
|
|
63
|
+
static const auto fieldIsAcknowledgedAndroid = clazz->getField<jni::JBoolean>("isAcknowledgedAndroid");
|
|
64
|
+
jni::local_ref<jni::JBoolean> isAcknowledgedAndroid = this->getFieldValue(fieldIsAcknowledgedAndroid);
|
|
65
|
+
static const auto fieldPackageNameAndroid = clazz->getField<jni::JString>("packageNameAndroid");
|
|
66
|
+
jni::local_ref<jni::JString> packageNameAndroid = this->getFieldValue(fieldPackageNameAndroid);
|
|
67
|
+
static const auto fieldObfuscatedAccountIdAndroid = clazz->getField<jni::JString>("obfuscatedAccountIdAndroid");
|
|
68
|
+
jni::local_ref<jni::JString> obfuscatedAccountIdAndroid = this->getFieldValue(fieldObfuscatedAccountIdAndroid);
|
|
69
|
+
static const auto fieldObfuscatedProfileIdAndroid = clazz->getField<jni::JString>("obfuscatedProfileIdAndroid");
|
|
70
|
+
jni::local_ref<jni::JString> obfuscatedProfileIdAndroid = this->getFieldValue(fieldObfuscatedProfileIdAndroid);
|
|
71
|
+
return NitroPurchase(
|
|
72
|
+
id->toStdString(),
|
|
73
|
+
productId->toStdString(),
|
|
74
|
+
transactionDate,
|
|
75
|
+
purchaseToken != nullptr ? std::make_optional(purchaseToken->toStdString()) : std::nullopt,
|
|
76
|
+
platform->toStdString(),
|
|
77
|
+
quantityIOS != nullptr ? std::make_optional(quantityIOS->value()) : std::nullopt,
|
|
78
|
+
originalTransactionDateIOS != nullptr ? std::make_optional(originalTransactionDateIOS->value()) : std::nullopt,
|
|
79
|
+
originalTransactionIdentifierIOS != nullptr ? std::make_optional(originalTransactionIdentifierIOS->toStdString()) : std::nullopt,
|
|
80
|
+
appAccountToken != nullptr ? std::make_optional(appAccountToken->toStdString()) : std::nullopt,
|
|
81
|
+
purchaseTokenAndroid != nullptr ? std::make_optional(purchaseTokenAndroid->toStdString()) : std::nullopt,
|
|
82
|
+
dataAndroid != nullptr ? std::make_optional(dataAndroid->toStdString()) : std::nullopt,
|
|
83
|
+
signatureAndroid != nullptr ? std::make_optional(signatureAndroid->toStdString()) : std::nullopt,
|
|
84
|
+
autoRenewingAndroid != nullptr ? std::make_optional(static_cast<bool>(autoRenewingAndroid->value())) : std::nullopt,
|
|
85
|
+
purchaseStateAndroid != nullptr ? std::make_optional(purchaseStateAndroid->value()) : std::nullopt,
|
|
86
|
+
isAcknowledgedAndroid != nullptr ? std::make_optional(static_cast<bool>(isAcknowledgedAndroid->value())) : std::nullopt,
|
|
87
|
+
packageNameAndroid != nullptr ? std::make_optional(packageNameAndroid->toStdString()) : std::nullopt,
|
|
88
|
+
obfuscatedAccountIdAndroid != nullptr ? std::make_optional(obfuscatedAccountIdAndroid->toStdString()) : std::nullopt,
|
|
89
|
+
obfuscatedProfileIdAndroid != nullptr ? std::make_optional(obfuscatedProfileIdAndroid->toStdString()) : std::nullopt
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
public:
|
|
94
|
+
/**
|
|
95
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
96
|
+
*/
|
|
97
|
+
[[maybe_unused]]
|
|
98
|
+
static jni::local_ref<JNitroPurchase::javaobject> fromCpp(const NitroPurchase& value) {
|
|
99
|
+
return newInstance(
|
|
100
|
+
jni::make_jstring(value.id),
|
|
101
|
+
jni::make_jstring(value.productId),
|
|
102
|
+
value.transactionDate,
|
|
103
|
+
value.purchaseToken.has_value() ? jni::make_jstring(value.purchaseToken.value()) : nullptr,
|
|
104
|
+
jni::make_jstring(value.platform),
|
|
105
|
+
value.quantityIOS.has_value() ? jni::JDouble::valueOf(value.quantityIOS.value()) : nullptr,
|
|
106
|
+
value.originalTransactionDateIOS.has_value() ? jni::JDouble::valueOf(value.originalTransactionDateIOS.value()) : nullptr,
|
|
107
|
+
value.originalTransactionIdentifierIOS.has_value() ? jni::make_jstring(value.originalTransactionIdentifierIOS.value()) : nullptr,
|
|
108
|
+
value.appAccountToken.has_value() ? jni::make_jstring(value.appAccountToken.value()) : nullptr,
|
|
109
|
+
value.purchaseTokenAndroid.has_value() ? jni::make_jstring(value.purchaseTokenAndroid.value()) : nullptr,
|
|
110
|
+
value.dataAndroid.has_value() ? jni::make_jstring(value.dataAndroid.value()) : nullptr,
|
|
111
|
+
value.signatureAndroid.has_value() ? jni::make_jstring(value.signatureAndroid.value()) : nullptr,
|
|
112
|
+
value.autoRenewingAndroid.has_value() ? jni::JBoolean::valueOf(value.autoRenewingAndroid.value()) : nullptr,
|
|
113
|
+
value.purchaseStateAndroid.has_value() ? jni::JDouble::valueOf(value.purchaseStateAndroid.value()) : nullptr,
|
|
114
|
+
value.isAcknowledgedAndroid.has_value() ? jni::JBoolean::valueOf(value.isAcknowledgedAndroid.value()) : nullptr,
|
|
115
|
+
value.packageNameAndroid.has_value() ? jni::make_jstring(value.packageNameAndroid.value()) : nullptr,
|
|
116
|
+
value.obfuscatedAccountIdAndroid.has_value() ? jni::make_jstring(value.obfuscatedAccountIdAndroid.value()) : nullptr,
|
|
117
|
+
value.obfuscatedProfileIdAndroid.has_value() ? jni::make_jstring(value.obfuscatedProfileIdAndroid.value()) : nullptr
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
} // namespace margelo::nitro::iap
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNitroPurchaseRequest.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NitroPurchaseRequest.hpp"
|
|
12
|
+
|
|
13
|
+
#include "JNitroRequestPurchaseAndroid.hpp"
|
|
14
|
+
#include "JNitroRequestPurchaseIos.hpp"
|
|
15
|
+
#include "JNitroSubscriptionOffer.hpp"
|
|
16
|
+
#include "NitroRequestPurchaseAndroid.hpp"
|
|
17
|
+
#include "NitroRequestPurchaseIos.hpp"
|
|
18
|
+
#include "NitroSubscriptionOffer.hpp"
|
|
19
|
+
#include <optional>
|
|
20
|
+
#include <string>
|
|
21
|
+
#include <unordered_map>
|
|
22
|
+
#include <vector>
|
|
23
|
+
|
|
24
|
+
namespace margelo::nitro::iap {
|
|
25
|
+
|
|
26
|
+
using namespace facebook;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* The C++ JNI bridge between the C++ struct "NitroPurchaseRequest" and the the Kotlin data class "NitroPurchaseRequest".
|
|
30
|
+
*/
|
|
31
|
+
struct JNitroPurchaseRequest final: public jni::JavaClass<JNitroPurchaseRequest> {
|
|
32
|
+
public:
|
|
33
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroPurchaseRequest;";
|
|
34
|
+
|
|
35
|
+
public:
|
|
36
|
+
/**
|
|
37
|
+
* Convert this Java/Kotlin-based struct to the C++ struct NitroPurchaseRequest by copying all values to C++.
|
|
38
|
+
*/
|
|
39
|
+
[[maybe_unused]]
|
|
40
|
+
[[nodiscard]]
|
|
41
|
+
NitroPurchaseRequest toCpp() const {
|
|
42
|
+
static const auto clazz = javaClassStatic();
|
|
43
|
+
static const auto fieldIos = clazz->getField<JNitroRequestPurchaseIos>("ios");
|
|
44
|
+
jni::local_ref<JNitroRequestPurchaseIos> ios = this->getFieldValue(fieldIos);
|
|
45
|
+
static const auto fieldAndroid = clazz->getField<JNitroRequestPurchaseAndroid>("android");
|
|
46
|
+
jni::local_ref<JNitroRequestPurchaseAndroid> android = this->getFieldValue(fieldAndroid);
|
|
47
|
+
return NitroPurchaseRequest(
|
|
48
|
+
ios != nullptr ? std::make_optional(ios->toCpp()) : std::nullopt,
|
|
49
|
+
android != nullptr ? std::make_optional(android->toCpp()) : std::nullopt
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
public:
|
|
54
|
+
/**
|
|
55
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
56
|
+
*/
|
|
57
|
+
[[maybe_unused]]
|
|
58
|
+
static jni::local_ref<JNitroPurchaseRequest::javaobject> fromCpp(const NitroPurchaseRequest& value) {
|
|
59
|
+
return newInstance(
|
|
60
|
+
value.ios.has_value() ? JNitroRequestPurchaseIos::fromCpp(value.ios.value()) : nullptr,
|
|
61
|
+
value.android.has_value() ? JNitroRequestPurchaseAndroid::fromCpp(value.android.value()) : nullptr
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
} // namespace margelo::nitro::iap
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNitroPurchaseResult.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NitroPurchaseResult.hpp"
|
|
12
|
+
|
|
13
|
+
#include <optional>
|
|
14
|
+
#include <string>
|
|
15
|
+
|
|
16
|
+
namespace margelo::nitro::iap {
|
|
17
|
+
|
|
18
|
+
using namespace facebook;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The C++ JNI bridge between the C++ struct "NitroPurchaseResult" and the the Kotlin data class "NitroPurchaseResult".
|
|
22
|
+
*/
|
|
23
|
+
struct JNitroPurchaseResult final: public jni::JavaClass<JNitroPurchaseResult> {
|
|
24
|
+
public:
|
|
25
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroPurchaseResult;";
|
|
26
|
+
|
|
27
|
+
public:
|
|
28
|
+
/**
|
|
29
|
+
* Convert this Java/Kotlin-based struct to the C++ struct NitroPurchaseResult by copying all values to C++.
|
|
30
|
+
*/
|
|
31
|
+
[[maybe_unused]]
|
|
32
|
+
[[nodiscard]]
|
|
33
|
+
NitroPurchaseResult toCpp() const {
|
|
34
|
+
static const auto clazz = javaClassStatic();
|
|
35
|
+
static const auto fieldResponseCode = clazz->getField<double>("responseCode");
|
|
36
|
+
double responseCode = this->getFieldValue(fieldResponseCode);
|
|
37
|
+
static const auto fieldDebugMessage = clazz->getField<jni::JString>("debugMessage");
|
|
38
|
+
jni::local_ref<jni::JString> debugMessage = this->getFieldValue(fieldDebugMessage);
|
|
39
|
+
static const auto fieldCode = clazz->getField<jni::JString>("code");
|
|
40
|
+
jni::local_ref<jni::JString> code = this->getFieldValue(fieldCode);
|
|
41
|
+
static const auto fieldMessage = clazz->getField<jni::JString>("message");
|
|
42
|
+
jni::local_ref<jni::JString> message = this->getFieldValue(fieldMessage);
|
|
43
|
+
static const auto fieldPurchaseToken = clazz->getField<jni::JString>("purchaseToken");
|
|
44
|
+
jni::local_ref<jni::JString> purchaseToken = this->getFieldValue(fieldPurchaseToken);
|
|
45
|
+
return NitroPurchaseResult(
|
|
46
|
+
responseCode,
|
|
47
|
+
debugMessage != nullptr ? std::make_optional(debugMessage->toStdString()) : std::nullopt,
|
|
48
|
+
code->toStdString(),
|
|
49
|
+
message->toStdString(),
|
|
50
|
+
purchaseToken != nullptr ? std::make_optional(purchaseToken->toStdString()) : std::nullopt
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
/**
|
|
56
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
57
|
+
*/
|
|
58
|
+
[[maybe_unused]]
|
|
59
|
+
static jni::local_ref<JNitroPurchaseResult::javaobject> fromCpp(const NitroPurchaseResult& value) {
|
|
60
|
+
return newInstance(
|
|
61
|
+
value.responseCode,
|
|
62
|
+
value.debugMessage.has_value() ? jni::make_jstring(value.debugMessage.value()) : nullptr,
|
|
63
|
+
jni::make_jstring(value.code),
|
|
64
|
+
jni::make_jstring(value.message),
|
|
65
|
+
value.purchaseToken.has_value() ? jni::make_jstring(value.purchaseToken.value()) : nullptr
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
} // namespace margelo::nitro::iap
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNitroReceiptValidationParams.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NitroReceiptValidationParams.hpp"
|
|
12
|
+
|
|
13
|
+
#include "JNitroAndroidReceiptValidationOptions.hpp"
|
|
14
|
+
#include "NitroAndroidReceiptValidationOptions.hpp"
|
|
15
|
+
#include <optional>
|
|
16
|
+
#include <string>
|
|
17
|
+
|
|
18
|
+
namespace margelo::nitro::iap {
|
|
19
|
+
|
|
20
|
+
using namespace facebook;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The C++ JNI bridge between the C++ struct "NitroReceiptValidationParams" and the the Kotlin data class "NitroReceiptValidationParams".
|
|
24
|
+
*/
|
|
25
|
+
struct JNitroReceiptValidationParams final: public jni::JavaClass<JNitroReceiptValidationParams> {
|
|
26
|
+
public:
|
|
27
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroReceiptValidationParams;";
|
|
28
|
+
|
|
29
|
+
public:
|
|
30
|
+
/**
|
|
31
|
+
* Convert this Java/Kotlin-based struct to the C++ struct NitroReceiptValidationParams by copying all values to C++.
|
|
32
|
+
*/
|
|
33
|
+
[[maybe_unused]]
|
|
34
|
+
[[nodiscard]]
|
|
35
|
+
NitroReceiptValidationParams toCpp() const {
|
|
36
|
+
static const auto clazz = javaClassStatic();
|
|
37
|
+
static const auto fieldSku = clazz->getField<jni::JString>("sku");
|
|
38
|
+
jni::local_ref<jni::JString> sku = this->getFieldValue(fieldSku);
|
|
39
|
+
static const auto fieldAndroidOptions = clazz->getField<JNitroAndroidReceiptValidationOptions>("androidOptions");
|
|
40
|
+
jni::local_ref<JNitroAndroidReceiptValidationOptions> androidOptions = this->getFieldValue(fieldAndroidOptions);
|
|
41
|
+
return NitroReceiptValidationParams(
|
|
42
|
+
sku->toStdString(),
|
|
43
|
+
androidOptions != nullptr ? std::make_optional(androidOptions->toCpp()) : std::nullopt
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public:
|
|
48
|
+
/**
|
|
49
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
50
|
+
*/
|
|
51
|
+
[[maybe_unused]]
|
|
52
|
+
static jni::local_ref<JNitroReceiptValidationParams::javaobject> fromCpp(const NitroReceiptValidationParams& value) {
|
|
53
|
+
return newInstance(
|
|
54
|
+
jni::make_jstring(value.sku),
|
|
55
|
+
value.androidOptions.has_value() ? JNitroAndroidReceiptValidationOptions::fromCpp(value.androidOptions.value()) : nullptr
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
} // namespace margelo::nitro::iap
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNitroReceiptValidationResultAndroid.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NitroReceiptValidationResultAndroid.hpp"
|
|
12
|
+
|
|
13
|
+
#include <optional>
|
|
14
|
+
#include <string>
|
|
15
|
+
|
|
16
|
+
namespace margelo::nitro::iap {
|
|
17
|
+
|
|
18
|
+
using namespace facebook;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The C++ JNI bridge between the C++ struct "NitroReceiptValidationResultAndroid" and the the Kotlin data class "NitroReceiptValidationResultAndroid".
|
|
22
|
+
*/
|
|
23
|
+
struct JNitroReceiptValidationResultAndroid final: public jni::JavaClass<JNitroReceiptValidationResultAndroid> {
|
|
24
|
+
public:
|
|
25
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroReceiptValidationResultAndroid;";
|
|
26
|
+
|
|
27
|
+
public:
|
|
28
|
+
/**
|
|
29
|
+
* Convert this Java/Kotlin-based struct to the C++ struct NitroReceiptValidationResultAndroid by copying all values to C++.
|
|
30
|
+
*/
|
|
31
|
+
[[maybe_unused]]
|
|
32
|
+
[[nodiscard]]
|
|
33
|
+
NitroReceiptValidationResultAndroid toCpp() const {
|
|
34
|
+
static const auto clazz = javaClassStatic();
|
|
35
|
+
static const auto fieldAutoRenewing = clazz->getField<jboolean>("autoRenewing");
|
|
36
|
+
jboolean autoRenewing = this->getFieldValue(fieldAutoRenewing);
|
|
37
|
+
static const auto fieldBetaProduct = clazz->getField<jboolean>("betaProduct");
|
|
38
|
+
jboolean betaProduct = this->getFieldValue(fieldBetaProduct);
|
|
39
|
+
static const auto fieldCancelDate = clazz->getField<jni::JDouble>("cancelDate");
|
|
40
|
+
jni::local_ref<jni::JDouble> cancelDate = this->getFieldValue(fieldCancelDate);
|
|
41
|
+
static const auto fieldCancelReason = clazz->getField<jni::JString>("cancelReason");
|
|
42
|
+
jni::local_ref<jni::JString> cancelReason = this->getFieldValue(fieldCancelReason);
|
|
43
|
+
static const auto fieldDeferredDate = clazz->getField<jni::JDouble>("deferredDate");
|
|
44
|
+
jni::local_ref<jni::JDouble> deferredDate = this->getFieldValue(fieldDeferredDate);
|
|
45
|
+
static const auto fieldDeferredSku = clazz->getField<jni::JDouble>("deferredSku");
|
|
46
|
+
jni::local_ref<jni::JDouble> deferredSku = this->getFieldValue(fieldDeferredSku);
|
|
47
|
+
static const auto fieldFreeTrialEndDate = clazz->getField<double>("freeTrialEndDate");
|
|
48
|
+
double freeTrialEndDate = this->getFieldValue(fieldFreeTrialEndDate);
|
|
49
|
+
static const auto fieldGracePeriodEndDate = clazz->getField<double>("gracePeriodEndDate");
|
|
50
|
+
double gracePeriodEndDate = this->getFieldValue(fieldGracePeriodEndDate);
|
|
51
|
+
static const auto fieldParentProductId = clazz->getField<jni::JString>("parentProductId");
|
|
52
|
+
jni::local_ref<jni::JString> parentProductId = this->getFieldValue(fieldParentProductId);
|
|
53
|
+
static const auto fieldProductId = clazz->getField<jni::JString>("productId");
|
|
54
|
+
jni::local_ref<jni::JString> productId = this->getFieldValue(fieldProductId);
|
|
55
|
+
static const auto fieldProductType = clazz->getField<jni::JString>("productType");
|
|
56
|
+
jni::local_ref<jni::JString> productType = this->getFieldValue(fieldProductType);
|
|
57
|
+
static const auto fieldPurchaseDate = clazz->getField<double>("purchaseDate");
|
|
58
|
+
double purchaseDate = this->getFieldValue(fieldPurchaseDate);
|
|
59
|
+
static const auto fieldQuantity = clazz->getField<double>("quantity");
|
|
60
|
+
double quantity = this->getFieldValue(fieldQuantity);
|
|
61
|
+
static const auto fieldReceiptId = clazz->getField<jni::JString>("receiptId");
|
|
62
|
+
jni::local_ref<jni::JString> receiptId = this->getFieldValue(fieldReceiptId);
|
|
63
|
+
static const auto fieldRenewalDate = clazz->getField<double>("renewalDate");
|
|
64
|
+
double renewalDate = this->getFieldValue(fieldRenewalDate);
|
|
65
|
+
static const auto fieldTerm = clazz->getField<jni::JString>("term");
|
|
66
|
+
jni::local_ref<jni::JString> term = this->getFieldValue(fieldTerm);
|
|
67
|
+
static const auto fieldTermSku = clazz->getField<jni::JString>("termSku");
|
|
68
|
+
jni::local_ref<jni::JString> termSku = this->getFieldValue(fieldTermSku);
|
|
69
|
+
static const auto fieldTestTransaction = clazz->getField<jboolean>("testTransaction");
|
|
70
|
+
jboolean testTransaction = this->getFieldValue(fieldTestTransaction);
|
|
71
|
+
return NitroReceiptValidationResultAndroid(
|
|
72
|
+
static_cast<bool>(autoRenewing),
|
|
73
|
+
static_cast<bool>(betaProduct),
|
|
74
|
+
cancelDate != nullptr ? std::make_optional(cancelDate->value()) : std::nullopt,
|
|
75
|
+
cancelReason->toStdString(),
|
|
76
|
+
deferredDate != nullptr ? std::make_optional(deferredDate->value()) : std::nullopt,
|
|
77
|
+
deferredSku != nullptr ? std::make_optional(deferredSku->value()) : std::nullopt,
|
|
78
|
+
freeTrialEndDate,
|
|
79
|
+
gracePeriodEndDate,
|
|
80
|
+
parentProductId->toStdString(),
|
|
81
|
+
productId->toStdString(),
|
|
82
|
+
productType->toStdString(),
|
|
83
|
+
purchaseDate,
|
|
84
|
+
quantity,
|
|
85
|
+
receiptId->toStdString(),
|
|
86
|
+
renewalDate,
|
|
87
|
+
term->toStdString(),
|
|
88
|
+
termSku->toStdString(),
|
|
89
|
+
static_cast<bool>(testTransaction)
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
public:
|
|
94
|
+
/**
|
|
95
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
96
|
+
*/
|
|
97
|
+
[[maybe_unused]]
|
|
98
|
+
static jni::local_ref<JNitroReceiptValidationResultAndroid::javaobject> fromCpp(const NitroReceiptValidationResultAndroid& value) {
|
|
99
|
+
return newInstance(
|
|
100
|
+
value.autoRenewing,
|
|
101
|
+
value.betaProduct,
|
|
102
|
+
value.cancelDate.has_value() ? jni::JDouble::valueOf(value.cancelDate.value()) : nullptr,
|
|
103
|
+
jni::make_jstring(value.cancelReason),
|
|
104
|
+
value.deferredDate.has_value() ? jni::JDouble::valueOf(value.deferredDate.value()) : nullptr,
|
|
105
|
+
value.deferredSku.has_value() ? jni::JDouble::valueOf(value.deferredSku.value()) : nullptr,
|
|
106
|
+
value.freeTrialEndDate,
|
|
107
|
+
value.gracePeriodEndDate,
|
|
108
|
+
jni::make_jstring(value.parentProductId),
|
|
109
|
+
jni::make_jstring(value.productId),
|
|
110
|
+
jni::make_jstring(value.productType),
|
|
111
|
+
value.purchaseDate,
|
|
112
|
+
value.quantity,
|
|
113
|
+
jni::make_jstring(value.receiptId),
|
|
114
|
+
value.renewalDate,
|
|
115
|
+
jni::make_jstring(value.term),
|
|
116
|
+
jni::make_jstring(value.termSku),
|
|
117
|
+
value.testTransaction
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
} // namespace margelo::nitro::iap
|