react-native-iap 13.0.4 → 14.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/NitroIap.podspec +33 -0
  2. package/README.md +163 -51
  3. package/android/CMakeLists.txt +32 -0
  4. package/android/build.gradle +107 -138
  5. package/android/fix-prefab.gradle +51 -0
  6. package/android/gradle.properties +5 -13
  7. package/android/src/main/AndroidManifest.xml +1 -4
  8. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  9. package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +843 -0
  10. package/android/src/main/java/com/margelo/nitro/iap/NitroIapPackage.java +33 -0
  11. package/android/src/main/java/com/margelo/nitro/iap/Types.kt +173 -0
  12. package/ios/Bridge.h +8 -0
  13. package/ios/ErrorUtils.swift +153 -0
  14. package/ios/HybridRnIap.swift +1326 -0
  15. package/ios/ProductStore.swift +33 -0
  16. package/ios/reactnativeiap.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  17. package/ios/reactnativeiap.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  18. package/lib/module/helpers/subscription.js +56 -0
  19. package/lib/module/helpers/subscription.js.map +1 -0
  20. package/lib/module/hooks/useIAP.js +175 -123
  21. package/lib/module/hooks/useIAP.js.map +1 -1
  22. package/lib/module/index.js +1015 -9
  23. package/lib/module/index.js.map +1 -1
  24. package/lib/module/package.json +1 -0
  25. package/lib/module/specs/RnIap.nitro.js +4 -0
  26. package/lib/{commonjs/modules/common.js.map → module/specs/RnIap.nitro.js.map} +1 -1
  27. package/lib/module/types.js +187 -0
  28. package/lib/module/types.js.map +1 -0
  29. package/lib/module/utils/error.js +80 -0
  30. package/lib/module/utils/error.js.map +1 -0
  31. package/lib/module/utils/type-bridge.js +202 -0
  32. package/lib/module/utils/type-bridge.js.map +1 -0
  33. package/lib/typescript/package.json +1 -0
  34. package/lib/typescript/plugin/src/withIAP.d.ts +2 -7
  35. package/lib/typescript/plugin/src/withIAP.d.ts.map +1 -1
  36. package/lib/typescript/scripts/check-nitro-versions.d.ts +3 -0
  37. package/lib/typescript/scripts/check-nitro-versions.d.ts.map +1 -0
  38. package/lib/typescript/src/helpers/subscription.d.ts +14 -0
  39. package/lib/typescript/src/helpers/subscription.d.ts.map +1 -0
  40. package/lib/typescript/src/hooks/useIAP.d.ts +42 -26
  41. package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
  42. package/lib/typescript/src/index.d.ts +356 -8
  43. package/lib/typescript/src/index.d.ts.map +1 -1
  44. package/lib/typescript/src/specs/RnIap.nitro.d.ts +404 -0
  45. package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -0
  46. package/lib/typescript/src/types.d.ts +544 -0
  47. package/lib/typescript/src/types.d.ts.map +1 -0
  48. package/lib/typescript/src/utils/error.d.ts +30 -0
  49. package/lib/typescript/src/utils/error.d.ts.map +1 -0
  50. package/lib/typescript/src/utils/type-bridge.d.ts +40 -0
  51. package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -0
  52. package/nitro.json +17 -0
  53. package/nitrogen/generated/android/NitroIap+autolinking.cmake +80 -0
  54. package/nitrogen/generated/android/NitroIap+autolinking.gradle +27 -0
  55. package/nitrogen/generated/android/NitroIapOnLoad.cpp +50 -0
  56. package/nitrogen/generated/android/NitroIapOnLoad.hpp +25 -0
  57. package/nitrogen/generated/android/c++/JFunc_void_NitroProduct.hpp +78 -0
  58. package/nitrogen/generated/android/c++/JFunc_void_NitroPurchase.hpp +78 -0
  59. package/nitrogen/generated/android/c++/JFunc_void_NitroPurchaseResult.hpp +78 -0
  60. package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +577 -0
  61. package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +93 -0
  62. package/nitrogen/generated/android/c++/JNitroAndroidReceiptValidationOptions.hpp +66 -0
  63. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidOptions.hpp +54 -0
  64. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesIosOptions.hpp +65 -0
  65. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesOptions.hpp +62 -0
  66. package/nitrogen/generated/android/c++/JNitroFinishTransactionAndroidParams.hpp +58 -0
  67. package/nitrogen/generated/android/c++/JNitroFinishTransactionIosParams.hpp +53 -0
  68. package/nitrogen/generated/android/c++/JNitroFinishTransactionParams.hpp +62 -0
  69. package/nitrogen/generated/android/c++/JNitroProduct.hpp +154 -0
  70. package/nitrogen/generated/android/c++/JNitroPurchase.hpp +122 -0
  71. package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +66 -0
  72. package/nitrogen/generated/android/c++/JNitroPurchaseResult.hpp +70 -0
  73. package/nitrogen/generated/android/c++/JNitroReceiptValidationParams.hpp +60 -0
  74. package/nitrogen/generated/android/c++/JNitroReceiptValidationResultAndroid.hpp +122 -0
  75. package/nitrogen/generated/android/c++/JNitroReceiptValidationResultIOS.hpp +68 -0
  76. package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +115 -0
  77. package/nitrogen/generated/android/c++/JNitroRequestPurchaseIos.hpp +84 -0
  78. package/nitrogen/generated/android/c++/JNitroSubscriptionOffer.hpp +57 -0
  79. package/nitrogen/generated/android/c++/JNitroSubscriptionRenewalInfo.hpp +74 -0
  80. package/nitrogen/generated/android/c++/JNitroSubscriptionStatus.hpp +64 -0
  81. package/nitrogen/generated/android/c++/JVariant_Boolean_NitroPurchaseResult.cpp +26 -0
  82. package/nitrogen/generated/android/c++/JVariant_Boolean_NitroPurchaseResult.hpp +71 -0
  83. package/nitrogen/generated/android/c++/JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.cpp +26 -0
  84. package/nitrogen/generated/android/c++/JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.hpp +75 -0
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroProduct.kt +81 -0
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchase.kt +81 -0
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchaseResult.kt +81 -0
  88. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +198 -0
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAndroidReceiptValidationOptions.kt +38 -0
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesAndroidOptions.kt +29 -0
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesIosOptions.kt +38 -0
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesOptions.kt +32 -0
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionAndroidParams.kt +32 -0
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionIosParams.kt +29 -0
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionParams.kt +32 -0
  96. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroIapOnLoad.kt +35 -0
  97. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +104 -0
  98. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +80 -0
  99. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseRequest.kt +32 -0
  100. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseResult.kt +41 -0
  101. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationParams.kt +32 -0
  102. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultAndroid.kt +80 -0
  103. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultIOS.kt +38 -0
  104. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +47 -0
  105. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseIos.kt +41 -0
  106. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionOffer.kt +32 -0
  107. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionRenewalInfo.kt +44 -0
  108. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionStatus.kt +35 -0
  109. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_Boolean_NitroPurchaseResult.kt +42 -0
  110. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.kt +42 -0
  111. package/nitrogen/generated/ios/NitroIap+autolinking.rb +60 -0
  112. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +152 -0
  113. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +1061 -0
  114. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +107 -0
  115. package/nitrogen/generated/ios/NitroIapAutolinking.mm +33 -0
  116. package/nitrogen/generated/ios/NitroIapAutolinking.swift +25 -0
  117. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.cpp +11 -0
  118. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +355 -0
  119. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  120. package/nitrogen/generated/ios/swift/Func_void_NitroProduct.swift +47 -0
  121. package/nitrogen/generated/ios/swift/Func_void_NitroPurchase.swift +47 -0
  122. package/nitrogen/generated/ios/swift/Func_void_NitroPurchaseResult.swift +47 -0
  123. package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
  124. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  125. package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroProduct_.swift +54 -0
  126. package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroPurchase_.swift +54 -0
  127. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +54 -0
  128. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__vector_NitroSubscriptionStatus__.swift +54 -0
  129. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  130. package/nitrogen/generated/ios/swift/Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_.swift +59 -0
  131. package/nitrogen/generated/ios/swift/Func_void_std__variant_bool__NitroPurchaseResult_.swift +59 -0
  132. package/nitrogen/generated/ios/swift/Func_void_std__vector_NitroProduct_.swift +47 -0
  133. package/nitrogen/generated/ios/swift/Func_void_std__vector_NitroPurchase_.swift +47 -0
  134. package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +78 -0
  135. package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +750 -0
  136. package/nitrogen/generated/ios/swift/NitroAndroidReceiptValidationOptions.swift +80 -0
  137. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesAndroidOptions.swift +54 -0
  138. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesIosOptions.swift +116 -0
  139. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesOptions.swift +84 -0
  140. package/nitrogen/generated/ios/swift/NitroFinishTransactionAndroidParams.swift +58 -0
  141. package/nitrogen/generated/ios/swift/NitroFinishTransactionIosParams.swift +35 -0
  142. package/nitrogen/generated/ios/swift/NitroFinishTransactionParams.swift +84 -0
  143. package/nitrogen/generated/ios/swift/NitroProduct.swift +653 -0
  144. package/nitrogen/generated/ios/swift/NitroPurchase.swift +453 -0
  145. package/nitrogen/generated/ios/swift/NitroPurchaseRequest.swift +84 -0
  146. package/nitrogen/generated/ios/swift/NitroPurchaseResult.swift +117 -0
  147. package/nitrogen/generated/ios/swift/NitroReceiptValidationParams.swift +65 -0
  148. package/nitrogen/generated/ios/swift/NitroReceiptValidationResultAndroid.swift +258 -0
  149. package/nitrogen/generated/ios/swift/NitroReceiptValidationResultIOS.swift +87 -0
  150. package/nitrogen/generated/ios/swift/NitroRequestPurchaseAndroid.swift +225 -0
  151. package/nitrogen/generated/ios/swift/NitroRequestPurchaseIos.swift +161 -0
  152. package/nitrogen/generated/ios/swift/NitroSubscriptionOffer.swift +46 -0
  153. package/nitrogen/generated/ios/swift/NitroSubscriptionRenewalInfo.swift +152 -0
  154. package/nitrogen/generated/ios/swift/NitroSubscriptionStatus.swift +76 -0
  155. package/nitrogen/generated/ios/swift/Variant_Bool_NitroPurchaseResult.swift +18 -0
  156. package/nitrogen/generated/ios/swift/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.swift +18 -0
  157. package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +50 -0
  158. package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +125 -0
  159. package/nitrogen/generated/shared/c++/NitroAndroidReceiptValidationOptions.hpp +80 -0
  160. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesAndroidOptions.hpp +68 -0
  161. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesIosOptions.hpp +79 -0
  162. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesOptions.hpp +76 -0
  163. package/nitrogen/generated/shared/c++/NitroFinishTransactionAndroidParams.hpp +72 -0
  164. package/nitrogen/generated/shared/c++/NitroFinishTransactionIosParams.hpp +67 -0
  165. package/nitrogen/generated/shared/c++/NitroFinishTransactionParams.hpp +76 -0
  166. package/nitrogen/generated/shared/c++/NitroProduct.hpp +168 -0
  167. package/nitrogen/generated/shared/c++/NitroPurchase.hpp +136 -0
  168. package/nitrogen/generated/shared/c++/NitroPurchaseRequest.hpp +76 -0
  169. package/nitrogen/generated/shared/c++/NitroPurchaseResult.hpp +84 -0
  170. package/nitrogen/generated/shared/c++/NitroReceiptValidationParams.hpp +74 -0
  171. package/nitrogen/generated/shared/c++/NitroReceiptValidationResultAndroid.hpp +136 -0
  172. package/nitrogen/generated/shared/c++/NitroReceiptValidationResultIOS.hpp +82 -0
  173. package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +95 -0
  174. package/nitrogen/generated/shared/c++/NitroRequestPurchaseIos.hpp +85 -0
  175. package/nitrogen/generated/shared/c++/NitroSubscriptionOffer.hpp +71 -0
  176. package/nitrogen/generated/shared/c++/NitroSubscriptionRenewalInfo.hpp +88 -0
  177. package/nitrogen/generated/shared/c++/NitroSubscriptionStatus.hpp +78 -0
  178. package/package.json +145 -104
  179. package/plugin/build/src/withIAP.d.ts +3 -0
  180. package/plugin/build/src/withIAP.js +81 -0
  181. package/plugin/build/tsconfig.tsbuildinfo +1 -0
  182. package/plugin/build/withIAP.d.ts +2 -7
  183. package/plugin/build/withIAP.js +62 -51
  184. package/plugin/src/withIAP.ts +119 -0
  185. package/plugin/tsconfig.json +18 -0
  186. package/plugin/tsconfig.tsbuildinfo +1 -0
  187. package/src/helpers/subscription.ts +65 -0
  188. package/src/hooks/useIAP.ts +361 -222
  189. package/src/index.ts +1194 -9
  190. package/src/specs/RnIap.nitro.ts +501 -0
  191. package/src/types.ts +680 -0
  192. package/src/utils/error.ts +97 -0
  193. package/src/utils/type-bridge.ts +209 -0
  194. package/LICENSE +0 -21
  195. package/RNIap.podspec +0 -36
  196. package/android/src/amazon/AndroidManifest.xml +0 -14
  197. package/android/src/amazon/java/com/dooboolab/rniap/EventSender.kt +0 -10
  198. package/android/src/amazon/java/com/dooboolab/rniap/PurchasingServiceProxy.kt +0 -29
  199. package/android/src/amazon/java/com/dooboolab/rniap/PurchasingServiceProxyAmazonImpl.kt +0 -31
  200. package/android/src/amazon/java/com/dooboolab/rniap/RNIapActivityListener.kt +0 -55
  201. package/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonListener.kt +0 -325
  202. package/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonModule.kt +0 -244
  203. package/android/src/amazon/java/com/dooboolab/rniap/RNIapPackage.kt +0 -17
  204. package/android/src/amazon/java/com/dooboolab/rniap/modifysubscription/RNIapAmazonModifySubscriptionListener.kt +0 -88
  205. package/android/src/amazon/java/com/dooboolab/rniap/utils/Extensions.kt +0 -22
  206. package/android/src/main/java/com/dooboolab/rniap/PromiseUtils.kt +0 -62
  207. package/android/src/main/java/com/dooboolab/rniap/PromiseUtlis.kt +0 -43
  208. package/android/src/play/java/com/dooboolab/rniap/PlayUtils.kt +0 -114
  209. package/android/src/play/java/com/dooboolab/rniap/RNIapActivityListener.kt +0 -15
  210. package/android/src/play/java/com/dooboolab/rniap/RNIapModule.kt +0 -911
  211. package/android/src/play/java/com/dooboolab/rniap/RNIapPackage.kt +0 -17
  212. package/android/src/testAmazon/java/com/dooboolab/rniap/RNIapAmazonModuleTest.kt +0 -170
  213. package/app.plugin.js +0 -1
  214. package/ios/IapSerializationUtils.swift +0 -290
  215. package/ios/IapTypes.swift +0 -56
  216. package/ios/IapUtils.swift +0 -40
  217. package/ios/LatestPromiseKeeper.swift +0 -52
  218. package/ios/RNIapIos-Bridging-Header.h +0 -2
  219. package/ios/RNIapIos.m +0 -69
  220. package/ios/RNIapIos.swift +0 -868
  221. package/ios/RNIapIos.xcodeproj/project.pbxproj +0 -289
  222. package/ios/RNIapIosSk2.m +0 -126
  223. package/ios/RNIapIosSk2.swift +0 -1413
  224. package/ios/ThreadSafe.swift +0 -18
  225. package/lib/commonjs/eventEmitter.js +0 -195
  226. package/lib/commonjs/eventEmitter.js.map +0 -1
  227. package/lib/commonjs/hooks/index.js +0 -17
  228. package/lib/commonjs/hooks/index.js.map +0 -1
  229. package/lib/commonjs/hooks/useIAP.js +0 -203
  230. package/lib/commonjs/hooks/useIAP.js.map +0 -1
  231. package/lib/commonjs/hooks/withIAPContext.js +0 -95
  232. package/lib/commonjs/hooks/withIAPContext.js.map +0 -1
  233. package/lib/commonjs/iap.js +0 -836
  234. package/lib/commonjs/iap.js.map +0 -1
  235. package/lib/commonjs/index.js +0 -105
  236. package/lib/commonjs/index.js.map +0 -1
  237. package/lib/commonjs/internal/enhancedFetch.js +0 -26
  238. package/lib/commonjs/internal/enhancedFetch.js.map +0 -1
  239. package/lib/commonjs/internal/fillProductsWithAdditionalData.js +0 -50
  240. package/lib/commonjs/internal/fillProductsWithAdditionalData.js.map +0 -1
  241. package/lib/commonjs/internal/index.js +0 -39
  242. package/lib/commonjs/internal/index.js.map +0 -1
  243. package/lib/commonjs/internal/platform.js +0 -119
  244. package/lib/commonjs/internal/platform.js.map +0 -1
  245. package/lib/commonjs/modules/amazon.js +0 -50
  246. package/lib/commonjs/modules/amazon.js.map +0 -1
  247. package/lib/commonjs/modules/android.js +0 -92
  248. package/lib/commonjs/modules/android.js.map +0 -1
  249. package/lib/commonjs/modules/common.js +0 -2
  250. package/lib/commonjs/modules/index.js +0 -50
  251. package/lib/commonjs/modules/index.js.map +0 -1
  252. package/lib/commonjs/modules/ios.js +0 -160
  253. package/lib/commonjs/modules/ios.js.map +0 -1
  254. package/lib/commonjs/modules/iosSk2.js +0 -113
  255. package/lib/commonjs/modules/iosSk2.js.map +0 -1
  256. package/lib/commonjs/purchaseError.js +0 -170
  257. package/lib/commonjs/purchaseError.js.map +0 -1
  258. package/lib/commonjs/types/amazon.js +0 -2
  259. package/lib/commonjs/types/amazon.js.map +0 -1
  260. package/lib/commonjs/types/android.js +0 -67
  261. package/lib/commonjs/types/android.js.map +0 -1
  262. package/lib/commonjs/types/apple.js +0 -24
  263. package/lib/commonjs/types/apple.js.map +0 -1
  264. package/lib/commonjs/types/appleSk2.js +0 -137
  265. package/lib/commonjs/types/appleSk2.js.map +0 -1
  266. package/lib/commonjs/types/index.js +0 -67
  267. package/lib/commonjs/types/index.js.map +0 -1
  268. package/lib/commonjs/utils/errorMapping.js +0 -83
  269. package/lib/commonjs/utils/errorMapping.js.map +0 -1
  270. package/lib/commonjs/utils/typeGuards.js +0 -74
  271. package/lib/commonjs/utils/typeGuards.js.map +0 -1
  272. package/lib/module/eventEmitter.js +0 -185
  273. package/lib/module/eventEmitter.js.map +0 -1
  274. package/lib/module/hooks/index.js +0 -2
  275. package/lib/module/hooks/index.js.map +0 -1
  276. package/lib/module/hooks/withIAPContext.js +0 -86
  277. package/lib/module/hooks/withIAPContext.js.map +0 -1
  278. package/lib/module/iap.js +0 -805
  279. package/lib/module/iap.js.map +0 -1
  280. package/lib/module/internal/enhancedFetch.js +0 -19
  281. package/lib/module/internal/enhancedFetch.js.map +0 -1
  282. package/lib/module/internal/fillProductsWithAdditionalData.js +0 -43
  283. package/lib/module/internal/fillProductsWithAdditionalData.js.map +0 -1
  284. package/lib/module/internal/index.js +0 -4
  285. package/lib/module/internal/index.js.map +0 -1
  286. package/lib/module/internal/platform.js +0 -102
  287. package/lib/module/internal/platform.js.map +0 -1
  288. package/lib/module/modules/amazon.js +0 -42
  289. package/lib/module/modules/amazon.js.map +0 -1
  290. package/lib/module/modules/android.js +0 -81
  291. package/lib/module/modules/android.js.map +0 -1
  292. package/lib/module/modules/common.js +0 -2
  293. package/lib/module/modules/common.js.map +0 -1
  294. package/lib/module/modules/index.js +0 -5
  295. package/lib/module/modules/index.js.map +0 -1
  296. package/lib/module/modules/ios.js +0 -145
  297. package/lib/module/modules/ios.js.map +0 -1
  298. package/lib/module/modules/iosSk2.js +0 -96
  299. package/lib/module/modules/iosSk2.js.map +0 -1
  300. package/lib/module/purchaseError.js +0 -164
  301. package/lib/module/purchaseError.js.map +0 -1
  302. package/lib/module/types/amazon.js +0 -2
  303. package/lib/module/types/amazon.js.map +0 -1
  304. package/lib/module/types/android.js +0 -63
  305. package/lib/module/types/android.js.map +0 -1
  306. package/lib/module/types/apple.js +0 -17
  307. package/lib/module/types/apple.js.map +0 -1
  308. package/lib/module/types/appleSk2.js +0 -129
  309. package/lib/module/types/appleSk2.js.map +0 -1
  310. package/lib/module/types/index.js +0 -75
  311. package/lib/module/types/index.js.map +0 -1
  312. package/lib/module/utils/errorMapping.js +0 -75
  313. package/lib/module/utils/errorMapping.js.map +0 -1
  314. package/lib/module/utils/typeGuards.js +0 -61
  315. package/lib/module/utils/typeGuards.js.map +0 -1
  316. package/lib/typescript/src/eventEmitter.d.ts +0 -151
  317. package/lib/typescript/src/eventEmitter.d.ts.map +0 -1
  318. package/lib/typescript/src/hooks/index.d.ts +0 -2
  319. package/lib/typescript/src/hooks/index.d.ts.map +0 -1
  320. package/lib/typescript/src/hooks/withIAPContext.d.ts +0 -27
  321. package/lib/typescript/src/hooks/withIAPContext.d.ts.map +0 -1
  322. package/lib/typescript/src/iap.d.ts +0 -503
  323. package/lib/typescript/src/iap.d.ts.map +0 -1
  324. package/lib/typescript/src/internal/enhancedFetch.d.ts +0 -6
  325. package/lib/typescript/src/internal/enhancedFetch.d.ts.map +0 -1
  326. package/lib/typescript/src/internal/fillProductsWithAdditionalData.d.ts +0 -7
  327. package/lib/typescript/src/internal/fillProductsWithAdditionalData.d.ts.map +0 -1
  328. package/lib/typescript/src/internal/index.d.ts +0 -4
  329. package/lib/typescript/src/internal/index.d.ts.map +0 -1
  330. package/lib/typescript/src/internal/platform.d.ts +0 -27
  331. package/lib/typescript/src/internal/platform.d.ts.map +0 -1
  332. package/lib/typescript/src/modules/amazon.d.ts +0 -55
  333. package/lib/typescript/src/modules/amazon.d.ts.map +0 -1
  334. package/lib/typescript/src/modules/android.d.ts +0 -74
  335. package/lib/typescript/src/modules/android.d.ts.map +0 -1
  336. package/lib/typescript/src/modules/common.d.ts +0 -14
  337. package/lib/typescript/src/modules/common.d.ts.map +0 -1
  338. package/lib/typescript/src/modules/index.d.ts +0 -5
  339. package/lib/typescript/src/modules/index.d.ts.map +0 -1
  340. package/lib/typescript/src/modules/ios.d.ts +0 -117
  341. package/lib/typescript/src/modules/ios.d.ts.map +0 -1
  342. package/lib/typescript/src/modules/iosSk2.d.ts +0 -140
  343. package/lib/typescript/src/modules/iosSk2.d.ts.map +0 -1
  344. package/lib/typescript/src/purchaseError.d.ts +0 -133
  345. package/lib/typescript/src/purchaseError.d.ts.map +0 -1
  346. package/lib/typescript/src/types/amazon.d.ts +0 -33
  347. package/lib/typescript/src/types/amazon.d.ts.map +0 -1
  348. package/lib/typescript/src/types/android.d.ts +0 -66
  349. package/lib/typescript/src/types/android.d.ts.map +0 -1
  350. package/lib/typescript/src/types/apple.d.ts +0 -27
  351. package/lib/typescript/src/types/apple.d.ts.map +0 -1
  352. package/lib/typescript/src/types/appleSk2.d.ts +0 -129
  353. package/lib/typescript/src/types/appleSk2.d.ts.map +0 -1
  354. package/lib/typescript/src/types/index.d.ts +0 -302
  355. package/lib/typescript/src/types/index.d.ts.map +0 -1
  356. package/lib/typescript/src/utils/errorMapping.d.ts +0 -29
  357. package/lib/typescript/src/utils/errorMapping.d.ts.map +0 -1
  358. package/lib/typescript/src/utils/typeGuards.d.ts +0 -53
  359. package/lib/typescript/src/utils/typeGuards.d.ts.map +0 -1
  360. package/src/eventEmitter.ts +0 -212
  361. package/src/hooks/index.ts +0 -1
  362. package/src/hooks/withIAPContext.tsx +0 -179
  363. package/src/iap.ts +0 -1046
  364. package/src/internal/enhancedFetch.ts +0 -25
  365. package/src/internal/fillProductsWithAdditionalData.ts +0 -47
  366. package/src/internal/index.ts +0 -3
  367. package/src/internal/platform.ts +0 -135
  368. package/src/modules/amazon.ts +0 -94
  369. package/src/modules/android.ts +0 -179
  370. package/src/modules/common.ts +0 -16
  371. package/src/modules/index.ts +0 -4
  372. package/src/modules/ios.ts +0 -229
  373. package/src/modules/iosSk2.ts +0 -194
  374. package/src/purchaseError.ts +0 -196
  375. package/src/types/amazon.ts +0 -40
  376. package/src/types/android.ts +0 -89
  377. package/src/types/apple.ts +0 -44
  378. package/src/types/appleSk2.ts +0 -275
  379. package/src/types/index.ts +0 -379
  380. package/src/utils/errorMapping.ts +0 -88
  381. 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