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,161 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroRequestPurchaseIos.swift
|
|
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
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `NitroRequestPurchaseIos`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias NitroRequestPurchaseIos = margelo.nitro.iap.NitroRequestPurchaseIos
|
|
14
|
+
|
|
15
|
+
public extension NitroRequestPurchaseIos {
|
|
16
|
+
private typealias bridge = margelo.nitro.iap.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `NitroRequestPurchaseIos`.
|
|
20
|
+
*/
|
|
21
|
+
init(sku: String, andDangerouslyFinishTransactionAutomatically: Bool?, appAccountToken: String?, quantity: Double?, withOffer: Dictionary<String, String>?) {
|
|
22
|
+
self.init(std.string(sku), { () -> bridge.std__optional_bool_ in
|
|
23
|
+
if let __unwrappedValue = andDangerouslyFinishTransactionAutomatically {
|
|
24
|
+
return bridge.create_std__optional_bool_(__unwrappedValue)
|
|
25
|
+
} else {
|
|
26
|
+
return .init()
|
|
27
|
+
}
|
|
28
|
+
}(), { () -> bridge.std__optional_std__string_ in
|
|
29
|
+
if let __unwrappedValue = appAccountToken {
|
|
30
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
31
|
+
} else {
|
|
32
|
+
return .init()
|
|
33
|
+
}
|
|
34
|
+
}(), { () -> bridge.std__optional_double_ in
|
|
35
|
+
if let __unwrappedValue = quantity {
|
|
36
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
37
|
+
} else {
|
|
38
|
+
return .init()
|
|
39
|
+
}
|
|
40
|
+
}(), { () -> bridge.std__optional_std__unordered_map_std__string__std__string__ in
|
|
41
|
+
if let __unwrappedValue = withOffer {
|
|
42
|
+
return bridge.create_std__optional_std__unordered_map_std__string__std__string__({ () -> bridge.std__unordered_map_std__string__std__string_ in
|
|
43
|
+
var __map = bridge.create_std__unordered_map_std__string__std__string_(__unwrappedValue.count)
|
|
44
|
+
for (__k, __v) in __unwrappedValue {
|
|
45
|
+
bridge.emplace_std__unordered_map_std__string__std__string_(&__map, std.string(__k), std.string(__v))
|
|
46
|
+
}
|
|
47
|
+
return __map
|
|
48
|
+
}())
|
|
49
|
+
} else {
|
|
50
|
+
return .init()
|
|
51
|
+
}
|
|
52
|
+
}())
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
var sku: String {
|
|
56
|
+
@inline(__always)
|
|
57
|
+
get {
|
|
58
|
+
return String(self.__sku)
|
|
59
|
+
}
|
|
60
|
+
@inline(__always)
|
|
61
|
+
set {
|
|
62
|
+
self.__sku = std.string(newValue)
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
var andDangerouslyFinishTransactionAutomatically: Bool? {
|
|
67
|
+
@inline(__always)
|
|
68
|
+
get {
|
|
69
|
+
return self.__andDangerouslyFinishTransactionAutomatically.value
|
|
70
|
+
}
|
|
71
|
+
@inline(__always)
|
|
72
|
+
set {
|
|
73
|
+
self.__andDangerouslyFinishTransactionAutomatically = { () -> bridge.std__optional_bool_ in
|
|
74
|
+
if let __unwrappedValue = newValue {
|
|
75
|
+
return bridge.create_std__optional_bool_(__unwrappedValue)
|
|
76
|
+
} else {
|
|
77
|
+
return .init()
|
|
78
|
+
}
|
|
79
|
+
}()
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
var appAccountToken: String? {
|
|
84
|
+
@inline(__always)
|
|
85
|
+
get {
|
|
86
|
+
return { () -> String? in
|
|
87
|
+
if bridge.has_value_std__optional_std__string_(self.__appAccountToken) {
|
|
88
|
+
let __unwrapped = bridge.get_std__optional_std__string_(self.__appAccountToken)
|
|
89
|
+
return String(__unwrapped)
|
|
90
|
+
} else {
|
|
91
|
+
return nil
|
|
92
|
+
}
|
|
93
|
+
}()
|
|
94
|
+
}
|
|
95
|
+
@inline(__always)
|
|
96
|
+
set {
|
|
97
|
+
self.__appAccountToken = { () -> bridge.std__optional_std__string_ in
|
|
98
|
+
if let __unwrappedValue = newValue {
|
|
99
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
100
|
+
} else {
|
|
101
|
+
return .init()
|
|
102
|
+
}
|
|
103
|
+
}()
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
var quantity: Double? {
|
|
108
|
+
@inline(__always)
|
|
109
|
+
get {
|
|
110
|
+
return self.__quantity.value
|
|
111
|
+
}
|
|
112
|
+
@inline(__always)
|
|
113
|
+
set {
|
|
114
|
+
self.__quantity = { () -> bridge.std__optional_double_ in
|
|
115
|
+
if let __unwrappedValue = newValue {
|
|
116
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
117
|
+
} else {
|
|
118
|
+
return .init()
|
|
119
|
+
}
|
|
120
|
+
}()
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
var withOffer: Dictionary<String, String>? {
|
|
125
|
+
@inline(__always)
|
|
126
|
+
get {
|
|
127
|
+
return { () -> Dictionary<String, String>? in
|
|
128
|
+
if bridge.has_value_std__optional_std__unordered_map_std__string__std__string__(self.__withOffer) {
|
|
129
|
+
let __unwrapped = bridge.get_std__optional_std__unordered_map_std__string__std__string__(self.__withOffer)
|
|
130
|
+
return { () -> Dictionary<String, String> in
|
|
131
|
+
var __dictionary = Dictionary<String, String>(minimumCapacity: __unwrapped.size())
|
|
132
|
+
let __keys = bridge.get_std__unordered_map_std__string__std__string__keys(__unwrapped)
|
|
133
|
+
for __key in __keys {
|
|
134
|
+
let __value = bridge.get_std__unordered_map_std__string__std__string__value(__unwrapped, __key)
|
|
135
|
+
__dictionary[String(__key)] = String(__value)
|
|
136
|
+
}
|
|
137
|
+
return __dictionary
|
|
138
|
+
}()
|
|
139
|
+
} else {
|
|
140
|
+
return nil
|
|
141
|
+
}
|
|
142
|
+
}()
|
|
143
|
+
}
|
|
144
|
+
@inline(__always)
|
|
145
|
+
set {
|
|
146
|
+
self.__withOffer = { () -> bridge.std__optional_std__unordered_map_std__string__std__string__ in
|
|
147
|
+
if let __unwrappedValue = newValue {
|
|
148
|
+
return bridge.create_std__optional_std__unordered_map_std__string__std__string__({ () -> bridge.std__unordered_map_std__string__std__string_ in
|
|
149
|
+
var __map = bridge.create_std__unordered_map_std__string__std__string_(__unwrappedValue.count)
|
|
150
|
+
for (__k, __v) in __unwrappedValue {
|
|
151
|
+
bridge.emplace_std__unordered_map_std__string__std__string_(&__map, std.string(__k), std.string(__v))
|
|
152
|
+
}
|
|
153
|
+
return __map
|
|
154
|
+
}())
|
|
155
|
+
} else {
|
|
156
|
+
return .init()
|
|
157
|
+
}
|
|
158
|
+
}()
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroSubscriptionOffer.swift
|
|
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
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `NitroSubscriptionOffer`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias NitroSubscriptionOffer = margelo.nitro.iap.NitroSubscriptionOffer
|
|
14
|
+
|
|
15
|
+
public extension NitroSubscriptionOffer {
|
|
16
|
+
private typealias bridge = margelo.nitro.iap.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `NitroSubscriptionOffer`.
|
|
20
|
+
*/
|
|
21
|
+
init(sku: String, offerToken: String) {
|
|
22
|
+
self.init(std.string(sku), std.string(offerToken))
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var sku: String {
|
|
26
|
+
@inline(__always)
|
|
27
|
+
get {
|
|
28
|
+
return String(self.__sku)
|
|
29
|
+
}
|
|
30
|
+
@inline(__always)
|
|
31
|
+
set {
|
|
32
|
+
self.__sku = std.string(newValue)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
var offerToken: String {
|
|
37
|
+
@inline(__always)
|
|
38
|
+
get {
|
|
39
|
+
return String(self.__offerToken)
|
|
40
|
+
}
|
|
41
|
+
@inline(__always)
|
|
42
|
+
set {
|
|
43
|
+
self.__offerToken = std.string(newValue)
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroSubscriptionRenewalInfo.swift
|
|
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
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `NitroSubscriptionRenewalInfo`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias NitroSubscriptionRenewalInfo = margelo.nitro.iap.NitroSubscriptionRenewalInfo
|
|
14
|
+
|
|
15
|
+
public extension NitroSubscriptionRenewalInfo {
|
|
16
|
+
private typealias bridge = margelo.nitro.iap.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `NitroSubscriptionRenewalInfo`.
|
|
20
|
+
*/
|
|
21
|
+
init(autoRenewStatus: Bool, autoRenewPreference: String?, expirationReason: Double?, gracePeriodExpirationDate: Double?, currentProductID: String?, platform: String) {
|
|
22
|
+
self.init(autoRenewStatus, { () -> bridge.std__optional_std__string_ in
|
|
23
|
+
if let __unwrappedValue = autoRenewPreference {
|
|
24
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
25
|
+
} else {
|
|
26
|
+
return .init()
|
|
27
|
+
}
|
|
28
|
+
}(), { () -> bridge.std__optional_double_ in
|
|
29
|
+
if let __unwrappedValue = expirationReason {
|
|
30
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
31
|
+
} else {
|
|
32
|
+
return .init()
|
|
33
|
+
}
|
|
34
|
+
}(), { () -> bridge.std__optional_double_ in
|
|
35
|
+
if let __unwrappedValue = gracePeriodExpirationDate {
|
|
36
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
37
|
+
} else {
|
|
38
|
+
return .init()
|
|
39
|
+
}
|
|
40
|
+
}(), { () -> bridge.std__optional_std__string_ in
|
|
41
|
+
if let __unwrappedValue = currentProductID {
|
|
42
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
43
|
+
} else {
|
|
44
|
+
return .init()
|
|
45
|
+
}
|
|
46
|
+
}(), std.string(platform))
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
var autoRenewStatus: Bool {
|
|
50
|
+
@inline(__always)
|
|
51
|
+
get {
|
|
52
|
+
return self.__autoRenewStatus
|
|
53
|
+
}
|
|
54
|
+
@inline(__always)
|
|
55
|
+
set {
|
|
56
|
+
self.__autoRenewStatus = newValue
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
var autoRenewPreference: String? {
|
|
61
|
+
@inline(__always)
|
|
62
|
+
get {
|
|
63
|
+
return { () -> String? in
|
|
64
|
+
if bridge.has_value_std__optional_std__string_(self.__autoRenewPreference) {
|
|
65
|
+
let __unwrapped = bridge.get_std__optional_std__string_(self.__autoRenewPreference)
|
|
66
|
+
return String(__unwrapped)
|
|
67
|
+
} else {
|
|
68
|
+
return nil
|
|
69
|
+
}
|
|
70
|
+
}()
|
|
71
|
+
}
|
|
72
|
+
@inline(__always)
|
|
73
|
+
set {
|
|
74
|
+
self.__autoRenewPreference = { () -> bridge.std__optional_std__string_ in
|
|
75
|
+
if let __unwrappedValue = newValue {
|
|
76
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
77
|
+
} else {
|
|
78
|
+
return .init()
|
|
79
|
+
}
|
|
80
|
+
}()
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
var expirationReason: Double? {
|
|
85
|
+
@inline(__always)
|
|
86
|
+
get {
|
|
87
|
+
return self.__expirationReason.value
|
|
88
|
+
}
|
|
89
|
+
@inline(__always)
|
|
90
|
+
set {
|
|
91
|
+
self.__expirationReason = { () -> bridge.std__optional_double_ in
|
|
92
|
+
if let __unwrappedValue = newValue {
|
|
93
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
94
|
+
} else {
|
|
95
|
+
return .init()
|
|
96
|
+
}
|
|
97
|
+
}()
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
var gracePeriodExpirationDate: Double? {
|
|
102
|
+
@inline(__always)
|
|
103
|
+
get {
|
|
104
|
+
return self.__gracePeriodExpirationDate.value
|
|
105
|
+
}
|
|
106
|
+
@inline(__always)
|
|
107
|
+
set {
|
|
108
|
+
self.__gracePeriodExpirationDate = { () -> bridge.std__optional_double_ in
|
|
109
|
+
if let __unwrappedValue = newValue {
|
|
110
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
111
|
+
} else {
|
|
112
|
+
return .init()
|
|
113
|
+
}
|
|
114
|
+
}()
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
var currentProductID: String? {
|
|
119
|
+
@inline(__always)
|
|
120
|
+
get {
|
|
121
|
+
return { () -> String? in
|
|
122
|
+
if bridge.has_value_std__optional_std__string_(self.__currentProductID) {
|
|
123
|
+
let __unwrapped = bridge.get_std__optional_std__string_(self.__currentProductID)
|
|
124
|
+
return String(__unwrapped)
|
|
125
|
+
} else {
|
|
126
|
+
return nil
|
|
127
|
+
}
|
|
128
|
+
}()
|
|
129
|
+
}
|
|
130
|
+
@inline(__always)
|
|
131
|
+
set {
|
|
132
|
+
self.__currentProductID = { () -> bridge.std__optional_std__string_ in
|
|
133
|
+
if let __unwrappedValue = newValue {
|
|
134
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
135
|
+
} else {
|
|
136
|
+
return .init()
|
|
137
|
+
}
|
|
138
|
+
}()
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
var platform: String {
|
|
143
|
+
@inline(__always)
|
|
144
|
+
get {
|
|
145
|
+
return String(self.__platform)
|
|
146
|
+
}
|
|
147
|
+
@inline(__always)
|
|
148
|
+
set {
|
|
149
|
+
self.__platform = std.string(newValue)
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroSubscriptionStatus.swift
|
|
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
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `NitroSubscriptionStatus`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias NitroSubscriptionStatus = margelo.nitro.iap.NitroSubscriptionStatus
|
|
14
|
+
|
|
15
|
+
public extension NitroSubscriptionStatus {
|
|
16
|
+
private typealias bridge = margelo.nitro.iap.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `NitroSubscriptionStatus`.
|
|
20
|
+
*/
|
|
21
|
+
init(state: Double, platform: String, renewalInfo: NitroSubscriptionRenewalInfo?) {
|
|
22
|
+
self.init(state, std.string(platform), { () -> bridge.std__optional_NitroSubscriptionRenewalInfo_ in
|
|
23
|
+
if let __unwrappedValue = renewalInfo {
|
|
24
|
+
return bridge.create_std__optional_NitroSubscriptionRenewalInfo_(__unwrappedValue)
|
|
25
|
+
} else {
|
|
26
|
+
return .init()
|
|
27
|
+
}
|
|
28
|
+
}())
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
var state: Double {
|
|
32
|
+
@inline(__always)
|
|
33
|
+
get {
|
|
34
|
+
return self.__state
|
|
35
|
+
}
|
|
36
|
+
@inline(__always)
|
|
37
|
+
set {
|
|
38
|
+
self.__state = newValue
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
var platform: String {
|
|
43
|
+
@inline(__always)
|
|
44
|
+
get {
|
|
45
|
+
return String(self.__platform)
|
|
46
|
+
}
|
|
47
|
+
@inline(__always)
|
|
48
|
+
set {
|
|
49
|
+
self.__platform = std.string(newValue)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
var renewalInfo: NitroSubscriptionRenewalInfo? {
|
|
54
|
+
@inline(__always)
|
|
55
|
+
get {
|
|
56
|
+
return { () -> NitroSubscriptionRenewalInfo? in
|
|
57
|
+
if bridge.has_value_std__optional_NitroSubscriptionRenewalInfo_(self.__renewalInfo) {
|
|
58
|
+
let __unwrapped = bridge.get_std__optional_NitroSubscriptionRenewalInfo_(self.__renewalInfo)
|
|
59
|
+
return __unwrapped
|
|
60
|
+
} else {
|
|
61
|
+
return nil
|
|
62
|
+
}
|
|
63
|
+
}()
|
|
64
|
+
}
|
|
65
|
+
@inline(__always)
|
|
66
|
+
set {
|
|
67
|
+
self.__renewalInfo = { () -> bridge.std__optional_NitroSubscriptionRenewalInfo_ in
|
|
68
|
+
if let __unwrappedValue = newValue {
|
|
69
|
+
return bridge.create_std__optional_NitroSubscriptionRenewalInfo_(__unwrappedValue)
|
|
70
|
+
} else {
|
|
71
|
+
return .init()
|
|
72
|
+
}
|
|
73
|
+
}()
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// Variant_Bool_NitroPurchaseResult.swift
|
|
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
|
+
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* An Swift enum with associated values representing a Variant/Union type.
|
|
12
|
+
* JS type: `boolean | struct`
|
|
13
|
+
*/
|
|
14
|
+
@frozen
|
|
15
|
+
public indirect enum Variant_Bool_NitroPurchaseResult {
|
|
16
|
+
case first(Bool)
|
|
17
|
+
case second(NitroPurchaseResult)
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.swift
|
|
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
|
+
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* An Swift enum with associated values representing a Variant/Union type.
|
|
12
|
+
* JS type: `struct | struct`
|
|
13
|
+
*/
|
|
14
|
+
@frozen
|
|
15
|
+
public indirect enum Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid {
|
|
16
|
+
case first(NitroReceiptValidationResultIOS)
|
|
17
|
+
case second(NitroReceiptValidationResultAndroid)
|
|
18
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridRnIapSpec.cpp
|
|
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
|
+
#include "HybridRnIapSpec.hpp"
|
|
9
|
+
|
|
10
|
+
namespace margelo::nitro::iap {
|
|
11
|
+
|
|
12
|
+
void HybridRnIapSpec::loadHybridMethods() {
|
|
13
|
+
// load base methods/properties
|
|
14
|
+
HybridObject::loadHybridMethods();
|
|
15
|
+
// load custom methods/properties
|
|
16
|
+
registerHybrids(this, [](Prototype& prototype) {
|
|
17
|
+
prototype.registerHybridMethod("initConnection", &HybridRnIapSpec::initConnection);
|
|
18
|
+
prototype.registerHybridMethod("endConnection", &HybridRnIapSpec::endConnection);
|
|
19
|
+
prototype.registerHybridMethod("fetchProducts", &HybridRnIapSpec::fetchProducts);
|
|
20
|
+
prototype.registerHybridMethod("requestPurchase", &HybridRnIapSpec::requestPurchase);
|
|
21
|
+
prototype.registerHybridMethod("getAvailablePurchases", &HybridRnIapSpec::getAvailablePurchases);
|
|
22
|
+
prototype.registerHybridMethod("finishTransaction", &HybridRnIapSpec::finishTransaction);
|
|
23
|
+
prototype.registerHybridMethod("addPurchaseUpdatedListener", &HybridRnIapSpec::addPurchaseUpdatedListener);
|
|
24
|
+
prototype.registerHybridMethod("addPurchaseErrorListener", &HybridRnIapSpec::addPurchaseErrorListener);
|
|
25
|
+
prototype.registerHybridMethod("removePurchaseUpdatedListener", &HybridRnIapSpec::removePurchaseUpdatedListener);
|
|
26
|
+
prototype.registerHybridMethod("removePurchaseErrorListener", &HybridRnIapSpec::removePurchaseErrorListener);
|
|
27
|
+
prototype.registerHybridMethod("addPromotedProductListenerIOS", &HybridRnIapSpec::addPromotedProductListenerIOS);
|
|
28
|
+
prototype.registerHybridMethod("removePromotedProductListenerIOS", &HybridRnIapSpec::removePromotedProductListenerIOS);
|
|
29
|
+
prototype.registerHybridMethod("getStorefrontIOS", &HybridRnIapSpec::getStorefrontIOS);
|
|
30
|
+
prototype.registerHybridMethod("getAppTransactionIOS", &HybridRnIapSpec::getAppTransactionIOS);
|
|
31
|
+
prototype.registerHybridMethod("requestPromotedProductIOS", &HybridRnIapSpec::requestPromotedProductIOS);
|
|
32
|
+
prototype.registerHybridMethod("buyPromotedProductIOS", &HybridRnIapSpec::buyPromotedProductIOS);
|
|
33
|
+
prototype.registerHybridMethod("presentCodeRedemptionSheetIOS", &HybridRnIapSpec::presentCodeRedemptionSheetIOS);
|
|
34
|
+
prototype.registerHybridMethod("clearTransactionIOS", &HybridRnIapSpec::clearTransactionIOS);
|
|
35
|
+
prototype.registerHybridMethod("beginRefundRequestIOS", &HybridRnIapSpec::beginRefundRequestIOS);
|
|
36
|
+
prototype.registerHybridMethod("subscriptionStatusIOS", &HybridRnIapSpec::subscriptionStatusIOS);
|
|
37
|
+
prototype.registerHybridMethod("currentEntitlementIOS", &HybridRnIapSpec::currentEntitlementIOS);
|
|
38
|
+
prototype.registerHybridMethod("latestTransactionIOS", &HybridRnIapSpec::latestTransactionIOS);
|
|
39
|
+
prototype.registerHybridMethod("getPendingTransactionsIOS", &HybridRnIapSpec::getPendingTransactionsIOS);
|
|
40
|
+
prototype.registerHybridMethod("syncIOS", &HybridRnIapSpec::syncIOS);
|
|
41
|
+
prototype.registerHybridMethod("showManageSubscriptionsIOS", &HybridRnIapSpec::showManageSubscriptionsIOS);
|
|
42
|
+
prototype.registerHybridMethod("isEligibleForIntroOfferIOS", &HybridRnIapSpec::isEligibleForIntroOfferIOS);
|
|
43
|
+
prototype.registerHybridMethod("getReceiptDataIOS", &HybridRnIapSpec::getReceiptDataIOS);
|
|
44
|
+
prototype.registerHybridMethod("isTransactionVerifiedIOS", &HybridRnIapSpec::isTransactionVerifiedIOS);
|
|
45
|
+
prototype.registerHybridMethod("getTransactionJwsIOS", &HybridRnIapSpec::getTransactionJwsIOS);
|
|
46
|
+
prototype.registerHybridMethod("validateReceipt", &HybridRnIapSpec::validateReceipt);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
} // namespace margelo::nitro::iap
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridRnIapSpec.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
|
+
#if __has_include(<NitroModules/HybridObject.hpp>)
|
|
11
|
+
#include <NitroModules/HybridObject.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
// Forward declaration of `NitroProduct` to properly resolve imports.
|
|
17
|
+
namespace margelo::nitro::iap { struct NitroProduct; }
|
|
18
|
+
// Forward declaration of `NitroPurchaseRequest` to properly resolve imports.
|
|
19
|
+
namespace margelo::nitro::iap { struct NitroPurchaseRequest; }
|
|
20
|
+
// Forward declaration of `NitroPurchase` to properly resolve imports.
|
|
21
|
+
namespace margelo::nitro::iap { struct NitroPurchase; }
|
|
22
|
+
// Forward declaration of `NitroAvailablePurchasesOptions` to properly resolve imports.
|
|
23
|
+
namespace margelo::nitro::iap { struct NitroAvailablePurchasesOptions; }
|
|
24
|
+
// Forward declaration of `NitroPurchaseResult` to properly resolve imports.
|
|
25
|
+
namespace margelo::nitro::iap { struct NitroPurchaseResult; }
|
|
26
|
+
// Forward declaration of `NitroFinishTransactionParams` to properly resolve imports.
|
|
27
|
+
namespace margelo::nitro::iap { struct NitroFinishTransactionParams; }
|
|
28
|
+
// Forward declaration of `NitroSubscriptionStatus` to properly resolve imports.
|
|
29
|
+
namespace margelo::nitro::iap { struct NitroSubscriptionStatus; }
|
|
30
|
+
// Forward declaration of `NitroReceiptValidationResultIOS` to properly resolve imports.
|
|
31
|
+
namespace margelo::nitro::iap { struct NitroReceiptValidationResultIOS; }
|
|
32
|
+
// Forward declaration of `NitroReceiptValidationResultAndroid` to properly resolve imports.
|
|
33
|
+
namespace margelo::nitro::iap { struct NitroReceiptValidationResultAndroid; }
|
|
34
|
+
// Forward declaration of `NitroReceiptValidationParams` to properly resolve imports.
|
|
35
|
+
namespace margelo::nitro::iap { struct NitroReceiptValidationParams; }
|
|
36
|
+
|
|
37
|
+
#include <NitroModules/Promise.hpp>
|
|
38
|
+
#include "NitroProduct.hpp"
|
|
39
|
+
#include <vector>
|
|
40
|
+
#include <string>
|
|
41
|
+
#include "NitroPurchaseRequest.hpp"
|
|
42
|
+
#include "NitroPurchase.hpp"
|
|
43
|
+
#include "NitroAvailablePurchasesOptions.hpp"
|
|
44
|
+
#include <optional>
|
|
45
|
+
#include "NitroPurchaseResult.hpp"
|
|
46
|
+
#include <variant>
|
|
47
|
+
#include "NitroFinishTransactionParams.hpp"
|
|
48
|
+
#include <functional>
|
|
49
|
+
#include "NitroSubscriptionStatus.hpp"
|
|
50
|
+
#include "NitroReceiptValidationResultIOS.hpp"
|
|
51
|
+
#include "NitroReceiptValidationResultAndroid.hpp"
|
|
52
|
+
#include "NitroReceiptValidationParams.hpp"
|
|
53
|
+
|
|
54
|
+
namespace margelo::nitro::iap {
|
|
55
|
+
|
|
56
|
+
using namespace margelo::nitro;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* An abstract base class for `RnIap`
|
|
60
|
+
* Inherit this class to create instances of `HybridRnIapSpec` in C++.
|
|
61
|
+
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
|
|
62
|
+
* @example
|
|
63
|
+
* ```cpp
|
|
64
|
+
* class HybridRnIap: public HybridRnIapSpec {
|
|
65
|
+
* public:
|
|
66
|
+
* HybridRnIap(...): HybridObject(TAG) { ... }
|
|
67
|
+
* // ...
|
|
68
|
+
* };
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
class HybridRnIapSpec: public virtual HybridObject {
|
|
72
|
+
public:
|
|
73
|
+
// Constructor
|
|
74
|
+
explicit HybridRnIapSpec(): HybridObject(TAG) { }
|
|
75
|
+
|
|
76
|
+
// Destructor
|
|
77
|
+
~HybridRnIapSpec() override = default;
|
|
78
|
+
|
|
79
|
+
public:
|
|
80
|
+
// Properties
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
public:
|
|
84
|
+
// Methods
|
|
85
|
+
virtual std::shared_ptr<Promise<bool>> initConnection() = 0;
|
|
86
|
+
virtual std::shared_ptr<Promise<bool>> endConnection() = 0;
|
|
87
|
+
virtual std::shared_ptr<Promise<std::vector<NitroProduct>>> fetchProducts(const std::vector<std::string>& skus, const std::string& type) = 0;
|
|
88
|
+
virtual std::shared_ptr<Promise<void>> requestPurchase(const NitroPurchaseRequest& request) = 0;
|
|
89
|
+
virtual std::shared_ptr<Promise<std::vector<NitroPurchase>>> getAvailablePurchases(const std::optional<NitroAvailablePurchasesOptions>& options) = 0;
|
|
90
|
+
virtual std::shared_ptr<Promise<std::variant<bool, NitroPurchaseResult>>> finishTransaction(const NitroFinishTransactionParams& params) = 0;
|
|
91
|
+
virtual void addPurchaseUpdatedListener(const std::function<void(const NitroPurchase& /* purchase */)>& listener) = 0;
|
|
92
|
+
virtual void addPurchaseErrorListener(const std::function<void(const NitroPurchaseResult& /* error */)>& listener) = 0;
|
|
93
|
+
virtual void removePurchaseUpdatedListener(const std::function<void(const NitroPurchase& /* purchase */)>& listener) = 0;
|
|
94
|
+
virtual void removePurchaseErrorListener(const std::function<void(const NitroPurchaseResult& /* error */)>& listener) = 0;
|
|
95
|
+
virtual void addPromotedProductListenerIOS(const std::function<void(const NitroProduct& /* product */)>& listener) = 0;
|
|
96
|
+
virtual void removePromotedProductListenerIOS(const std::function<void(const NitroProduct& /* product */)>& listener) = 0;
|
|
97
|
+
virtual std::shared_ptr<Promise<std::string>> getStorefrontIOS() = 0;
|
|
98
|
+
virtual std::shared_ptr<Promise<std::optional<std::string>>> getAppTransactionIOS() = 0;
|
|
99
|
+
virtual std::shared_ptr<Promise<std::optional<NitroProduct>>> requestPromotedProductIOS() = 0;
|
|
100
|
+
virtual std::shared_ptr<Promise<void>> buyPromotedProductIOS() = 0;
|
|
101
|
+
virtual std::shared_ptr<Promise<bool>> presentCodeRedemptionSheetIOS() = 0;
|
|
102
|
+
virtual std::shared_ptr<Promise<void>> clearTransactionIOS() = 0;
|
|
103
|
+
virtual std::shared_ptr<Promise<std::optional<std::string>>> beginRefundRequestIOS(const std::string& sku) = 0;
|
|
104
|
+
virtual std::shared_ptr<Promise<std::optional<std::vector<NitroSubscriptionStatus>>>> subscriptionStatusIOS(const std::string& sku) = 0;
|
|
105
|
+
virtual std::shared_ptr<Promise<std::optional<NitroPurchase>>> currentEntitlementIOS(const std::string& sku) = 0;
|
|
106
|
+
virtual std::shared_ptr<Promise<std::optional<NitroPurchase>>> latestTransactionIOS(const std::string& sku) = 0;
|
|
107
|
+
virtual std::shared_ptr<Promise<std::vector<NitroPurchase>>> getPendingTransactionsIOS() = 0;
|
|
108
|
+
virtual std::shared_ptr<Promise<bool>> syncIOS() = 0;
|
|
109
|
+
virtual std::shared_ptr<Promise<bool>> showManageSubscriptionsIOS() = 0;
|
|
110
|
+
virtual std::shared_ptr<Promise<bool>> isEligibleForIntroOfferIOS(const std::string& groupID) = 0;
|
|
111
|
+
virtual std::shared_ptr<Promise<std::string>> getReceiptDataIOS() = 0;
|
|
112
|
+
virtual std::shared_ptr<Promise<bool>> isTransactionVerifiedIOS(const std::string& sku) = 0;
|
|
113
|
+
virtual std::shared_ptr<Promise<std::optional<std::string>>> getTransactionJwsIOS(const std::string& sku) = 0;
|
|
114
|
+
virtual std::shared_ptr<Promise<std::variant<NitroReceiptValidationResultIOS, NitroReceiptValidationResultAndroid>>> validateReceipt(const NitroReceiptValidationParams& params) = 0;
|
|
115
|
+
|
|
116
|
+
protected:
|
|
117
|
+
// Hybrid Setup
|
|
118
|
+
void loadHybridMethods() override;
|
|
119
|
+
|
|
120
|
+
protected:
|
|
121
|
+
// Tag for logging
|
|
122
|
+
static constexpr auto TAG = "RnIap";
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
} // namespace margelo::nitro::iap
|