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,93 @@
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
+ #include <NitroModules/JHybridObject.hpp>
11
+ #include <fbjni/fbjni.h>
12
+ #include "HybridRnIapSpec.hpp"
13
+
14
+
15
+
16
+
17
+ namespace margelo::nitro::iap {
18
+
19
+ using namespace facebook;
20
+
21
+ class JHybridRnIapSpec: public jni::HybridClass<JHybridRnIapSpec, JHybridObject>,
22
+ public virtual HybridRnIapSpec {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/HybridRnIapSpec;";
25
+ static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
26
+ static void registerNatives();
27
+
28
+ protected:
29
+ // C++ constructor (called from Java via `initHybrid()`)
30
+ explicit JHybridRnIapSpec(jni::alias_ref<jhybridobject> jThis) :
31
+ HybridObject(HybridRnIapSpec::TAG),
32
+ HybridBase(jThis),
33
+ _javaPart(jni::make_global(jThis)) {}
34
+
35
+ public:
36
+ ~JHybridRnIapSpec() override {
37
+ // Hermes GC can destroy JS objects on a non-JNI Thread.
38
+ jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
39
+ }
40
+
41
+ public:
42
+ size_t getExternalMemorySize() noexcept override;
43
+ void dispose() noexcept override;
44
+
45
+ public:
46
+ inline const jni::global_ref<JHybridRnIapSpec::javaobject>& getJavaPart() const noexcept {
47
+ return _javaPart;
48
+ }
49
+
50
+ public:
51
+ // Properties
52
+
53
+
54
+ public:
55
+ // Methods
56
+ std::shared_ptr<Promise<bool>> initConnection() override;
57
+ std::shared_ptr<Promise<bool>> endConnection() override;
58
+ std::shared_ptr<Promise<std::vector<NitroProduct>>> fetchProducts(const std::vector<std::string>& skus, const std::string& type) override;
59
+ std::shared_ptr<Promise<void>> requestPurchase(const NitroPurchaseRequest& request) override;
60
+ std::shared_ptr<Promise<std::vector<NitroPurchase>>> getAvailablePurchases(const std::optional<NitroAvailablePurchasesOptions>& options) override;
61
+ std::shared_ptr<Promise<std::variant<bool, NitroPurchaseResult>>> finishTransaction(const NitroFinishTransactionParams& params) override;
62
+ void addPurchaseUpdatedListener(const std::function<void(const NitroPurchase& /* purchase */)>& listener) override;
63
+ void addPurchaseErrorListener(const std::function<void(const NitroPurchaseResult& /* error */)>& listener) override;
64
+ void removePurchaseUpdatedListener(const std::function<void(const NitroPurchase& /* purchase */)>& listener) override;
65
+ void removePurchaseErrorListener(const std::function<void(const NitroPurchaseResult& /* error */)>& listener) override;
66
+ void addPromotedProductListenerIOS(const std::function<void(const NitroProduct& /* product */)>& listener) override;
67
+ void removePromotedProductListenerIOS(const std::function<void(const NitroProduct& /* product */)>& listener) override;
68
+ std::shared_ptr<Promise<std::string>> getStorefrontIOS() override;
69
+ std::shared_ptr<Promise<std::optional<std::string>>> getAppTransactionIOS() override;
70
+ std::shared_ptr<Promise<std::optional<NitroProduct>>> requestPromotedProductIOS() override;
71
+ std::shared_ptr<Promise<void>> buyPromotedProductIOS() override;
72
+ std::shared_ptr<Promise<bool>> presentCodeRedemptionSheetIOS() override;
73
+ std::shared_ptr<Promise<void>> clearTransactionIOS() override;
74
+ std::shared_ptr<Promise<std::optional<std::string>>> beginRefundRequestIOS(const std::string& sku) override;
75
+ std::shared_ptr<Promise<std::optional<std::vector<NitroSubscriptionStatus>>>> subscriptionStatusIOS(const std::string& sku) override;
76
+ std::shared_ptr<Promise<std::optional<NitroPurchase>>> currentEntitlementIOS(const std::string& sku) override;
77
+ std::shared_ptr<Promise<std::optional<NitroPurchase>>> latestTransactionIOS(const std::string& sku) override;
78
+ std::shared_ptr<Promise<std::vector<NitroPurchase>>> getPendingTransactionsIOS() override;
79
+ std::shared_ptr<Promise<bool>> syncIOS() override;
80
+ std::shared_ptr<Promise<bool>> showManageSubscriptionsIOS() override;
81
+ std::shared_ptr<Promise<bool>> isEligibleForIntroOfferIOS(const std::string& groupID) override;
82
+ std::shared_ptr<Promise<std::string>> getReceiptDataIOS() override;
83
+ std::shared_ptr<Promise<bool>> isTransactionVerifiedIOS(const std::string& sku) override;
84
+ std::shared_ptr<Promise<std::optional<std::string>>> getTransactionJwsIOS(const std::string& sku) override;
85
+ std::shared_ptr<Promise<std::variant<NitroReceiptValidationResultIOS, NitroReceiptValidationResultAndroid>>> validateReceipt(const NitroReceiptValidationParams& params) override;
86
+
87
+ private:
88
+ friend HybridBase;
89
+ using HybridBase::HybridBase;
90
+ jni::global_ref<JHybridRnIapSpec::javaobject> _javaPart;
91
+ };
92
+
93
+ } // namespace margelo::nitro::iap
@@ -0,0 +1,66 @@
1
+ ///
2
+ /// JNitroAndroidReceiptValidationOptions.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "NitroAndroidReceiptValidationOptions.hpp"
12
+
13
+ #include <optional>
14
+ #include <string>
15
+
16
+ namespace margelo::nitro::iap {
17
+
18
+ using namespace facebook;
19
+
20
+ /**
21
+ * The C++ JNI bridge between the C++ struct "NitroAndroidReceiptValidationOptions" and the the Kotlin data class "NitroAndroidReceiptValidationOptions".
22
+ */
23
+ struct JNitroAndroidReceiptValidationOptions final: public jni::JavaClass<JNitroAndroidReceiptValidationOptions> {
24
+ public:
25
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroAndroidReceiptValidationOptions;";
26
+
27
+ public:
28
+ /**
29
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroAndroidReceiptValidationOptions by copying all values to C++.
30
+ */
31
+ [[maybe_unused]]
32
+ [[nodiscard]]
33
+ NitroAndroidReceiptValidationOptions toCpp() const {
34
+ static const auto clazz = javaClassStatic();
35
+ static const auto fieldPackageName = clazz->getField<jni::JString>("packageName");
36
+ jni::local_ref<jni::JString> packageName = this->getFieldValue(fieldPackageName);
37
+ static const auto fieldProductToken = clazz->getField<jni::JString>("productToken");
38
+ jni::local_ref<jni::JString> productToken = this->getFieldValue(fieldProductToken);
39
+ static const auto fieldAccessToken = clazz->getField<jni::JString>("accessToken");
40
+ jni::local_ref<jni::JString> accessToken = this->getFieldValue(fieldAccessToken);
41
+ static const auto fieldIsSub = clazz->getField<jni::JBoolean>("isSub");
42
+ jni::local_ref<jni::JBoolean> isSub = this->getFieldValue(fieldIsSub);
43
+ return NitroAndroidReceiptValidationOptions(
44
+ packageName->toStdString(),
45
+ productToken->toStdString(),
46
+ accessToken->toStdString(),
47
+ isSub != nullptr ? std::make_optional(static_cast<bool>(isSub->value())) : std::nullopt
48
+ );
49
+ }
50
+
51
+ public:
52
+ /**
53
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
54
+ */
55
+ [[maybe_unused]]
56
+ static jni::local_ref<JNitroAndroidReceiptValidationOptions::javaobject> fromCpp(const NitroAndroidReceiptValidationOptions& value) {
57
+ return newInstance(
58
+ jni::make_jstring(value.packageName),
59
+ jni::make_jstring(value.productToken),
60
+ jni::make_jstring(value.accessToken),
61
+ value.isSub.has_value() ? jni::JBoolean::valueOf(value.isSub.value()) : nullptr
62
+ );
63
+ }
64
+ };
65
+
66
+ } // namespace margelo::nitro::iap
@@ -0,0 +1,54 @@
1
+ ///
2
+ /// JNitroAvailablePurchasesAndroidOptions.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "NitroAvailablePurchasesAndroidOptions.hpp"
12
+
13
+ #include <optional>
14
+ #include <string>
15
+
16
+ namespace margelo::nitro::iap {
17
+
18
+ using namespace facebook;
19
+
20
+ /**
21
+ * The C++ JNI bridge between the C++ struct "NitroAvailablePurchasesAndroidOptions" and the the Kotlin data class "NitroAvailablePurchasesAndroidOptions".
22
+ */
23
+ struct JNitroAvailablePurchasesAndroidOptions final: public jni::JavaClass<JNitroAvailablePurchasesAndroidOptions> {
24
+ public:
25
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroAvailablePurchasesAndroidOptions;";
26
+
27
+ public:
28
+ /**
29
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroAvailablePurchasesAndroidOptions by copying all values to C++.
30
+ */
31
+ [[maybe_unused]]
32
+ [[nodiscard]]
33
+ NitroAvailablePurchasesAndroidOptions toCpp() const {
34
+ static const auto clazz = javaClassStatic();
35
+ static const auto fieldType = clazz->getField<jni::JString>("type");
36
+ jni::local_ref<jni::JString> type = this->getFieldValue(fieldType);
37
+ return NitroAvailablePurchasesAndroidOptions(
38
+ type != nullptr ? std::make_optional(type->toStdString()) : std::nullopt
39
+ );
40
+ }
41
+
42
+ public:
43
+ /**
44
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
45
+ */
46
+ [[maybe_unused]]
47
+ static jni::local_ref<JNitroAvailablePurchasesAndroidOptions::javaobject> fromCpp(const NitroAvailablePurchasesAndroidOptions& value) {
48
+ return newInstance(
49
+ value.type.has_value() ? jni::make_jstring(value.type.value()) : nullptr
50
+ );
51
+ }
52
+ };
53
+
54
+ } // namespace margelo::nitro::iap
@@ -0,0 +1,65 @@
1
+ ///
2
+ /// JNitroAvailablePurchasesIosOptions.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "NitroAvailablePurchasesIosOptions.hpp"
12
+
13
+ #include <optional>
14
+
15
+ namespace margelo::nitro::iap {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "NitroAvailablePurchasesIosOptions" and the the Kotlin data class "NitroAvailablePurchasesIosOptions".
21
+ */
22
+ struct JNitroAvailablePurchasesIosOptions final: public jni::JavaClass<JNitroAvailablePurchasesIosOptions> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroAvailablePurchasesIosOptions;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroAvailablePurchasesIosOptions by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ NitroAvailablePurchasesIosOptions toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldAlsoPublishToEventListener = clazz->getField<jni::JBoolean>("alsoPublishToEventListener");
35
+ jni::local_ref<jni::JBoolean> alsoPublishToEventListener = this->getFieldValue(fieldAlsoPublishToEventListener);
36
+ static const auto fieldOnlyIncludeActiveItems = clazz->getField<jni::JBoolean>("onlyIncludeActiveItems");
37
+ jni::local_ref<jni::JBoolean> onlyIncludeActiveItems = this->getFieldValue(fieldOnlyIncludeActiveItems);
38
+ static const auto fieldAlsoPublishToEventListenerIOS = clazz->getField<jni::JBoolean>("alsoPublishToEventListenerIOS");
39
+ jni::local_ref<jni::JBoolean> alsoPublishToEventListenerIOS = this->getFieldValue(fieldAlsoPublishToEventListenerIOS);
40
+ static const auto fieldOnlyIncludeActiveItemsIOS = clazz->getField<jni::JBoolean>("onlyIncludeActiveItemsIOS");
41
+ jni::local_ref<jni::JBoolean> onlyIncludeActiveItemsIOS = this->getFieldValue(fieldOnlyIncludeActiveItemsIOS);
42
+ return NitroAvailablePurchasesIosOptions(
43
+ alsoPublishToEventListener != nullptr ? std::make_optional(static_cast<bool>(alsoPublishToEventListener->value())) : std::nullopt,
44
+ onlyIncludeActiveItems != nullptr ? std::make_optional(static_cast<bool>(onlyIncludeActiveItems->value())) : std::nullopt,
45
+ alsoPublishToEventListenerIOS != nullptr ? std::make_optional(static_cast<bool>(alsoPublishToEventListenerIOS->value())) : std::nullopt,
46
+ onlyIncludeActiveItemsIOS != nullptr ? std::make_optional(static_cast<bool>(onlyIncludeActiveItemsIOS->value())) : std::nullopt
47
+ );
48
+ }
49
+
50
+ public:
51
+ /**
52
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
53
+ */
54
+ [[maybe_unused]]
55
+ static jni::local_ref<JNitroAvailablePurchasesIosOptions::javaobject> fromCpp(const NitroAvailablePurchasesIosOptions& value) {
56
+ return newInstance(
57
+ value.alsoPublishToEventListener.has_value() ? jni::JBoolean::valueOf(value.alsoPublishToEventListener.value()) : nullptr,
58
+ value.onlyIncludeActiveItems.has_value() ? jni::JBoolean::valueOf(value.onlyIncludeActiveItems.value()) : nullptr,
59
+ value.alsoPublishToEventListenerIOS.has_value() ? jni::JBoolean::valueOf(value.alsoPublishToEventListenerIOS.value()) : nullptr,
60
+ value.onlyIncludeActiveItemsIOS.has_value() ? jni::JBoolean::valueOf(value.onlyIncludeActiveItemsIOS.value()) : nullptr
61
+ );
62
+ }
63
+ };
64
+
65
+ } // namespace margelo::nitro::iap
@@ -0,0 +1,62 @@
1
+ ///
2
+ /// JNitroAvailablePurchasesOptions.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "NitroAvailablePurchasesOptions.hpp"
12
+
13
+ #include "JNitroAvailablePurchasesAndroidOptions.hpp"
14
+ #include "JNitroAvailablePurchasesIosOptions.hpp"
15
+ #include "NitroAvailablePurchasesAndroidOptions.hpp"
16
+ #include "NitroAvailablePurchasesIosOptions.hpp"
17
+ #include <optional>
18
+ #include <string>
19
+
20
+ namespace margelo::nitro::iap {
21
+
22
+ using namespace facebook;
23
+
24
+ /**
25
+ * The C++ JNI bridge between the C++ struct "NitroAvailablePurchasesOptions" and the the Kotlin data class "NitroAvailablePurchasesOptions".
26
+ */
27
+ struct JNitroAvailablePurchasesOptions final: public jni::JavaClass<JNitroAvailablePurchasesOptions> {
28
+ public:
29
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroAvailablePurchasesOptions;";
30
+
31
+ public:
32
+ /**
33
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroAvailablePurchasesOptions by copying all values to C++.
34
+ */
35
+ [[maybe_unused]]
36
+ [[nodiscard]]
37
+ NitroAvailablePurchasesOptions toCpp() const {
38
+ static const auto clazz = javaClassStatic();
39
+ static const auto fieldIos = clazz->getField<JNitroAvailablePurchasesIosOptions>("ios");
40
+ jni::local_ref<JNitroAvailablePurchasesIosOptions> ios = this->getFieldValue(fieldIos);
41
+ static const auto fieldAndroid = clazz->getField<JNitroAvailablePurchasesAndroidOptions>("android");
42
+ jni::local_ref<JNitroAvailablePurchasesAndroidOptions> android = this->getFieldValue(fieldAndroid);
43
+ return NitroAvailablePurchasesOptions(
44
+ ios != nullptr ? std::make_optional(ios->toCpp()) : std::nullopt,
45
+ android != nullptr ? std::make_optional(android->toCpp()) : std::nullopt
46
+ );
47
+ }
48
+
49
+ public:
50
+ /**
51
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
52
+ */
53
+ [[maybe_unused]]
54
+ static jni::local_ref<JNitroAvailablePurchasesOptions::javaobject> fromCpp(const NitroAvailablePurchasesOptions& value) {
55
+ return newInstance(
56
+ value.ios.has_value() ? JNitroAvailablePurchasesIosOptions::fromCpp(value.ios.value()) : nullptr,
57
+ value.android.has_value() ? JNitroAvailablePurchasesAndroidOptions::fromCpp(value.android.value()) : nullptr
58
+ );
59
+ }
60
+ };
61
+
62
+ } // namespace margelo::nitro::iap
@@ -0,0 +1,58 @@
1
+ ///
2
+ /// JNitroFinishTransactionAndroidParams.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "NitroFinishTransactionAndroidParams.hpp"
12
+
13
+ #include <optional>
14
+ #include <string>
15
+
16
+ namespace margelo::nitro::iap {
17
+
18
+ using namespace facebook;
19
+
20
+ /**
21
+ * The C++ JNI bridge between the C++ struct "NitroFinishTransactionAndroidParams" and the the Kotlin data class "NitroFinishTransactionAndroidParams".
22
+ */
23
+ struct JNitroFinishTransactionAndroidParams final: public jni::JavaClass<JNitroFinishTransactionAndroidParams> {
24
+ public:
25
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroFinishTransactionAndroidParams;";
26
+
27
+ public:
28
+ /**
29
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroFinishTransactionAndroidParams by copying all values to C++.
30
+ */
31
+ [[maybe_unused]]
32
+ [[nodiscard]]
33
+ NitroFinishTransactionAndroidParams toCpp() const {
34
+ static const auto clazz = javaClassStatic();
35
+ static const auto fieldPurchaseToken = clazz->getField<jni::JString>("purchaseToken");
36
+ jni::local_ref<jni::JString> purchaseToken = this->getFieldValue(fieldPurchaseToken);
37
+ static const auto fieldIsConsumable = clazz->getField<jni::JBoolean>("isConsumable");
38
+ jni::local_ref<jni::JBoolean> isConsumable = this->getFieldValue(fieldIsConsumable);
39
+ return NitroFinishTransactionAndroidParams(
40
+ purchaseToken->toStdString(),
41
+ isConsumable != nullptr ? std::make_optional(static_cast<bool>(isConsumable->value())) : std::nullopt
42
+ );
43
+ }
44
+
45
+ public:
46
+ /**
47
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
48
+ */
49
+ [[maybe_unused]]
50
+ static jni::local_ref<JNitroFinishTransactionAndroidParams::javaobject> fromCpp(const NitroFinishTransactionAndroidParams& value) {
51
+ return newInstance(
52
+ jni::make_jstring(value.purchaseToken),
53
+ value.isConsumable.has_value() ? jni::JBoolean::valueOf(value.isConsumable.value()) : nullptr
54
+ );
55
+ }
56
+ };
57
+
58
+ } // namespace margelo::nitro::iap
@@ -0,0 +1,53 @@
1
+ ///
2
+ /// JNitroFinishTransactionIosParams.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "NitroFinishTransactionIosParams.hpp"
12
+
13
+ #include <string>
14
+
15
+ namespace margelo::nitro::iap {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "NitroFinishTransactionIosParams" and the the Kotlin data class "NitroFinishTransactionIosParams".
21
+ */
22
+ struct JNitroFinishTransactionIosParams final: public jni::JavaClass<JNitroFinishTransactionIosParams> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroFinishTransactionIosParams;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroFinishTransactionIosParams by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ NitroFinishTransactionIosParams toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldTransactionId = clazz->getField<jni::JString>("transactionId");
35
+ jni::local_ref<jni::JString> transactionId = this->getFieldValue(fieldTransactionId);
36
+ return NitroFinishTransactionIosParams(
37
+ transactionId->toStdString()
38
+ );
39
+ }
40
+
41
+ public:
42
+ /**
43
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
44
+ */
45
+ [[maybe_unused]]
46
+ static jni::local_ref<JNitroFinishTransactionIosParams::javaobject> fromCpp(const NitroFinishTransactionIosParams& value) {
47
+ return newInstance(
48
+ jni::make_jstring(value.transactionId)
49
+ );
50
+ }
51
+ };
52
+
53
+ } // namespace margelo::nitro::iap
@@ -0,0 +1,62 @@
1
+ ///
2
+ /// JNitroFinishTransactionParams.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "NitroFinishTransactionParams.hpp"
12
+
13
+ #include "JNitroFinishTransactionAndroidParams.hpp"
14
+ #include "JNitroFinishTransactionIosParams.hpp"
15
+ #include "NitroFinishTransactionAndroidParams.hpp"
16
+ #include "NitroFinishTransactionIosParams.hpp"
17
+ #include <optional>
18
+ #include <string>
19
+
20
+ namespace margelo::nitro::iap {
21
+
22
+ using namespace facebook;
23
+
24
+ /**
25
+ * The C++ JNI bridge between the C++ struct "NitroFinishTransactionParams" and the the Kotlin data class "NitroFinishTransactionParams".
26
+ */
27
+ struct JNitroFinishTransactionParams final: public jni::JavaClass<JNitroFinishTransactionParams> {
28
+ public:
29
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroFinishTransactionParams;";
30
+
31
+ public:
32
+ /**
33
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroFinishTransactionParams by copying all values to C++.
34
+ */
35
+ [[maybe_unused]]
36
+ [[nodiscard]]
37
+ NitroFinishTransactionParams toCpp() const {
38
+ static const auto clazz = javaClassStatic();
39
+ static const auto fieldIos = clazz->getField<JNitroFinishTransactionIosParams>("ios");
40
+ jni::local_ref<JNitroFinishTransactionIosParams> ios = this->getFieldValue(fieldIos);
41
+ static const auto fieldAndroid = clazz->getField<JNitroFinishTransactionAndroidParams>("android");
42
+ jni::local_ref<JNitroFinishTransactionAndroidParams> android = this->getFieldValue(fieldAndroid);
43
+ return NitroFinishTransactionParams(
44
+ ios != nullptr ? std::make_optional(ios->toCpp()) : std::nullopt,
45
+ android != nullptr ? std::make_optional(android->toCpp()) : std::nullopt
46
+ );
47
+ }
48
+
49
+ public:
50
+ /**
51
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
52
+ */
53
+ [[maybe_unused]]
54
+ static jni::local_ref<JNitroFinishTransactionParams::javaobject> fromCpp(const NitroFinishTransactionParams& value) {
55
+ return newInstance(
56
+ value.ios.has_value() ? JNitroFinishTransactionIosParams::fromCpp(value.ios.value()) : nullptr,
57
+ value.android.has_value() ? JNitroFinishTransactionAndroidParams::fromCpp(value.android.value()) : nullptr
58
+ );
59
+ }
60
+ };
61
+
62
+ } // namespace margelo::nitro::iap