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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +144 -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,577 @@
1
+ ///
2
+ /// JHybridRnIapSpec.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 "JHybridRnIapSpec.hpp"
9
+
10
+ // Forward declaration of `NitroProduct` to properly resolve imports.
11
+ namespace margelo::nitro::iap { struct NitroProduct; }
12
+ // Forward declaration of `NitroPurchase` to properly resolve imports.
13
+ namespace margelo::nitro::iap { struct NitroPurchase; }
14
+ // Forward declaration of `NitroPurchaseResult` to properly resolve imports.
15
+ namespace margelo::nitro::iap { struct NitroPurchaseResult; }
16
+ // Forward declaration of `NitroSubscriptionStatus` to properly resolve imports.
17
+ namespace margelo::nitro::iap { struct NitroSubscriptionStatus; }
18
+ // Forward declaration of `NitroSubscriptionRenewalInfo` to properly resolve imports.
19
+ namespace margelo::nitro::iap { struct NitroSubscriptionRenewalInfo; }
20
+ // Forward declaration of `NitroReceiptValidationResultIOS` to properly resolve imports.
21
+ namespace margelo::nitro::iap { struct NitroReceiptValidationResultIOS; }
22
+ // Forward declaration of `NitroReceiptValidationResultAndroid` to properly resolve imports.
23
+ namespace margelo::nitro::iap { struct NitroReceiptValidationResultAndroid; }
24
+ // Forward declaration of `NitroPurchaseRequest` to properly resolve imports.
25
+ namespace margelo::nitro::iap { struct NitroPurchaseRequest; }
26
+ // Forward declaration of `NitroRequestPurchaseIos` to properly resolve imports.
27
+ namespace margelo::nitro::iap { struct NitroRequestPurchaseIos; }
28
+ // Forward declaration of `NitroRequestPurchaseAndroid` to properly resolve imports.
29
+ namespace margelo::nitro::iap { struct NitroRequestPurchaseAndroid; }
30
+ // Forward declaration of `NitroSubscriptionOffer` to properly resolve imports.
31
+ namespace margelo::nitro::iap { struct NitroSubscriptionOffer; }
32
+ // Forward declaration of `NitroAvailablePurchasesOptions` to properly resolve imports.
33
+ namespace margelo::nitro::iap { struct NitroAvailablePurchasesOptions; }
34
+ // Forward declaration of `NitroAvailablePurchasesIosOptions` to properly resolve imports.
35
+ namespace margelo::nitro::iap { struct NitroAvailablePurchasesIosOptions; }
36
+ // Forward declaration of `NitroAvailablePurchasesAndroidOptions` to properly resolve imports.
37
+ namespace margelo::nitro::iap { struct NitroAvailablePurchasesAndroidOptions; }
38
+ // Forward declaration of `NitroFinishTransactionParams` to properly resolve imports.
39
+ namespace margelo::nitro::iap { struct NitroFinishTransactionParams; }
40
+ // Forward declaration of `NitroFinishTransactionIosParams` to properly resolve imports.
41
+ namespace margelo::nitro::iap { struct NitroFinishTransactionIosParams; }
42
+ // Forward declaration of `NitroFinishTransactionAndroidParams` to properly resolve imports.
43
+ namespace margelo::nitro::iap { struct NitroFinishTransactionAndroidParams; }
44
+ // Forward declaration of `NitroReceiptValidationParams` to properly resolve imports.
45
+ namespace margelo::nitro::iap { struct NitroReceiptValidationParams; }
46
+ // Forward declaration of `NitroAndroidReceiptValidationOptions` to properly resolve imports.
47
+ namespace margelo::nitro::iap { struct NitroAndroidReceiptValidationOptions; }
48
+
49
+ #include <NitroModules/Promise.hpp>
50
+ #include <NitroModules/JPromise.hpp>
51
+ #include "NitroProduct.hpp"
52
+ #include <vector>
53
+ #include "JNitroProduct.hpp"
54
+ #include <string>
55
+ #include <optional>
56
+ #include "NitroPurchase.hpp"
57
+ #include "JNitroPurchase.hpp"
58
+ #include "NitroPurchaseResult.hpp"
59
+ #include <variant>
60
+ #include "JVariant_Boolean_NitroPurchaseResult.hpp"
61
+ #include "JNitroPurchaseResult.hpp"
62
+ #include "NitroSubscriptionStatus.hpp"
63
+ #include "JNitroSubscriptionStatus.hpp"
64
+ #include "NitroSubscriptionRenewalInfo.hpp"
65
+ #include "JNitroSubscriptionRenewalInfo.hpp"
66
+ #include "NitroReceiptValidationResultIOS.hpp"
67
+ #include "NitroReceiptValidationResultAndroid.hpp"
68
+ #include "JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.hpp"
69
+ #include "JNitroReceiptValidationResultIOS.hpp"
70
+ #include "JNitroReceiptValidationResultAndroid.hpp"
71
+ #include "NitroPurchaseRequest.hpp"
72
+ #include "JNitroPurchaseRequest.hpp"
73
+ #include "NitroRequestPurchaseIos.hpp"
74
+ #include "JNitroRequestPurchaseIos.hpp"
75
+ #include <unordered_map>
76
+ #include "NitroRequestPurchaseAndroid.hpp"
77
+ #include "JNitroRequestPurchaseAndroid.hpp"
78
+ #include "NitroSubscriptionOffer.hpp"
79
+ #include "JNitroSubscriptionOffer.hpp"
80
+ #include "NitroAvailablePurchasesOptions.hpp"
81
+ #include "JNitroAvailablePurchasesOptions.hpp"
82
+ #include "NitroAvailablePurchasesIosOptions.hpp"
83
+ #include "JNitroAvailablePurchasesIosOptions.hpp"
84
+ #include "NitroAvailablePurchasesAndroidOptions.hpp"
85
+ #include "JNitroAvailablePurchasesAndroidOptions.hpp"
86
+ #include "NitroFinishTransactionParams.hpp"
87
+ #include "JNitroFinishTransactionParams.hpp"
88
+ #include "NitroFinishTransactionIosParams.hpp"
89
+ #include "JNitroFinishTransactionIosParams.hpp"
90
+ #include "NitroFinishTransactionAndroidParams.hpp"
91
+ #include "JNitroFinishTransactionAndroidParams.hpp"
92
+ #include <functional>
93
+ #include "JFunc_void_NitroPurchase.hpp"
94
+ #include "JFunc_void_NitroPurchaseResult.hpp"
95
+ #include "JFunc_void_NitroProduct.hpp"
96
+ #include "NitroReceiptValidationParams.hpp"
97
+ #include "JNitroReceiptValidationParams.hpp"
98
+ #include "NitroAndroidReceiptValidationOptions.hpp"
99
+ #include "JNitroAndroidReceiptValidationOptions.hpp"
100
+
101
+ namespace margelo::nitro::iap {
102
+
103
+ jni::local_ref<JHybridRnIapSpec::jhybriddata> JHybridRnIapSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
104
+ return makeCxxInstance(jThis);
105
+ }
106
+
107
+ void JHybridRnIapSpec::registerNatives() {
108
+ registerHybrid({
109
+ makeNativeMethod("initHybrid", JHybridRnIapSpec::initHybrid),
110
+ });
111
+ }
112
+
113
+ size_t JHybridRnIapSpec::getExternalMemorySize() noexcept {
114
+ static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
115
+ return method(_javaPart);
116
+ }
117
+
118
+ void JHybridRnIapSpec::dispose() noexcept {
119
+ static const auto method = javaClassStatic()->getMethod<void()>("dispose");
120
+ method(_javaPart);
121
+ }
122
+
123
+ // Properties
124
+
125
+
126
+ // Methods
127
+ std::shared_ptr<Promise<bool>> JHybridRnIapSpec::initConnection() {
128
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("initConnection");
129
+ auto __result = method(_javaPart);
130
+ return [&]() {
131
+ auto __promise = Promise<bool>::create();
132
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
133
+ auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
134
+ __promise->resolve(static_cast<bool>(__result->value()));
135
+ });
136
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
137
+ jni::JniException __jniError(__throwable);
138
+ __promise->reject(std::make_exception_ptr(__jniError));
139
+ });
140
+ return __promise;
141
+ }();
142
+ }
143
+ std::shared_ptr<Promise<bool>> JHybridRnIapSpec::endConnection() {
144
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("endConnection");
145
+ auto __result = method(_javaPart);
146
+ return [&]() {
147
+ auto __promise = Promise<bool>::create();
148
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
149
+ auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
150
+ __promise->resolve(static_cast<bool>(__result->value()));
151
+ });
152
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
153
+ jni::JniException __jniError(__throwable);
154
+ __promise->reject(std::make_exception_ptr(__jniError));
155
+ });
156
+ return __promise;
157
+ }();
158
+ }
159
+ std::shared_ptr<Promise<std::vector<NitroProduct>>> JHybridRnIapSpec::fetchProducts(const std::vector<std::string>& skus, const std::string& type) {
160
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JArrayClass<jni::JString>> /* skus */, jni::alias_ref<jni::JString> /* type */)>("fetchProducts");
161
+ auto __result = method(_javaPart, [&]() {
162
+ size_t __size = skus.size();
163
+ jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
164
+ for (size_t __i = 0; __i < __size; __i++) {
165
+ const auto& __element = skus[__i];
166
+ __array->setElement(__i, *jni::make_jstring(__element));
167
+ }
168
+ return __array;
169
+ }(), jni::make_jstring(type));
170
+ return [&]() {
171
+ auto __promise = Promise<std::vector<NitroProduct>>::create();
172
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
173
+ auto __result = jni::static_ref_cast<jni::JArrayClass<JNitroProduct>>(__boxedResult);
174
+ __promise->resolve([&]() {
175
+ size_t __size = __result->size();
176
+ std::vector<NitroProduct> __vector;
177
+ __vector.reserve(__size);
178
+ for (size_t __i = 0; __i < __size; __i++) {
179
+ auto __element = __result->getElement(__i);
180
+ __vector.push_back(__element->toCpp());
181
+ }
182
+ return __vector;
183
+ }());
184
+ });
185
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
186
+ jni::JniException __jniError(__throwable);
187
+ __promise->reject(std::make_exception_ptr(__jniError));
188
+ });
189
+ return __promise;
190
+ }();
191
+ }
192
+ std::shared_ptr<Promise<void>> JHybridRnIapSpec::requestPurchase(const NitroPurchaseRequest& request) {
193
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JNitroPurchaseRequest> /* request */)>("requestPurchase");
194
+ auto __result = method(_javaPart, JNitroPurchaseRequest::fromCpp(request));
195
+ return [&]() {
196
+ auto __promise = Promise<void>::create();
197
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
198
+ __promise->resolve();
199
+ });
200
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
201
+ jni::JniException __jniError(__throwable);
202
+ __promise->reject(std::make_exception_ptr(__jniError));
203
+ });
204
+ return __promise;
205
+ }();
206
+ }
207
+ std::shared_ptr<Promise<std::vector<NitroPurchase>>> JHybridRnIapSpec::getAvailablePurchases(const std::optional<NitroAvailablePurchasesOptions>& options) {
208
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JNitroAvailablePurchasesOptions> /* options */)>("getAvailablePurchases");
209
+ auto __result = method(_javaPart, options.has_value() ? JNitroAvailablePurchasesOptions::fromCpp(options.value()) : nullptr);
210
+ return [&]() {
211
+ auto __promise = Promise<std::vector<NitroPurchase>>::create();
212
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
213
+ auto __result = jni::static_ref_cast<jni::JArrayClass<JNitroPurchase>>(__boxedResult);
214
+ __promise->resolve([&]() {
215
+ size_t __size = __result->size();
216
+ std::vector<NitroPurchase> __vector;
217
+ __vector.reserve(__size);
218
+ for (size_t __i = 0; __i < __size; __i++) {
219
+ auto __element = __result->getElement(__i);
220
+ __vector.push_back(__element->toCpp());
221
+ }
222
+ return __vector;
223
+ }());
224
+ });
225
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
226
+ jni::JniException __jniError(__throwable);
227
+ __promise->reject(std::make_exception_ptr(__jniError));
228
+ });
229
+ return __promise;
230
+ }();
231
+ }
232
+ std::shared_ptr<Promise<std::variant<bool, NitroPurchaseResult>>> JHybridRnIapSpec::finishTransaction(const NitroFinishTransactionParams& params) {
233
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JNitroFinishTransactionParams> /* params */)>("finishTransaction");
234
+ auto __result = method(_javaPart, JNitroFinishTransactionParams::fromCpp(params));
235
+ return [&]() {
236
+ auto __promise = Promise<std::variant<bool, NitroPurchaseResult>>::create();
237
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
238
+ auto __result = jni::static_ref_cast<JVariant_Boolean_NitroPurchaseResult>(__boxedResult);
239
+ __promise->resolve(__result->toCpp());
240
+ });
241
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
242
+ jni::JniException __jniError(__throwable);
243
+ __promise->reject(std::make_exception_ptr(__jniError));
244
+ });
245
+ return __promise;
246
+ }();
247
+ }
248
+ void JHybridRnIapSpec::addPurchaseUpdatedListener(const std::function<void(const NitroPurchase& /* purchase */)>& listener) {
249
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_NitroPurchase::javaobject> /* listener */)>("addPurchaseUpdatedListener_cxx");
250
+ method(_javaPart, JFunc_void_NitroPurchase_cxx::fromCpp(listener));
251
+ }
252
+ void JHybridRnIapSpec::addPurchaseErrorListener(const std::function<void(const NitroPurchaseResult& /* error */)>& listener) {
253
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_NitroPurchaseResult::javaobject> /* listener */)>("addPurchaseErrorListener_cxx");
254
+ method(_javaPart, JFunc_void_NitroPurchaseResult_cxx::fromCpp(listener));
255
+ }
256
+ void JHybridRnIapSpec::removePurchaseUpdatedListener(const std::function<void(const NitroPurchase& /* purchase */)>& listener) {
257
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_NitroPurchase::javaobject> /* listener */)>("removePurchaseUpdatedListener_cxx");
258
+ method(_javaPart, JFunc_void_NitroPurchase_cxx::fromCpp(listener));
259
+ }
260
+ void JHybridRnIapSpec::removePurchaseErrorListener(const std::function<void(const NitroPurchaseResult& /* error */)>& listener) {
261
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_NitroPurchaseResult::javaobject> /* listener */)>("removePurchaseErrorListener_cxx");
262
+ method(_javaPart, JFunc_void_NitroPurchaseResult_cxx::fromCpp(listener));
263
+ }
264
+ void JHybridRnIapSpec::addPromotedProductListenerIOS(const std::function<void(const NitroProduct& /* product */)>& listener) {
265
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_NitroProduct::javaobject> /* listener */)>("addPromotedProductListenerIOS_cxx");
266
+ method(_javaPart, JFunc_void_NitroProduct_cxx::fromCpp(listener));
267
+ }
268
+ void JHybridRnIapSpec::removePromotedProductListenerIOS(const std::function<void(const NitroProduct& /* product */)>& listener) {
269
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_NitroProduct::javaobject> /* listener */)>("removePromotedProductListenerIOS_cxx");
270
+ method(_javaPart, JFunc_void_NitroProduct_cxx::fromCpp(listener));
271
+ }
272
+ std::shared_ptr<Promise<std::string>> JHybridRnIapSpec::getStorefrontIOS() {
273
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getStorefrontIOS");
274
+ auto __result = method(_javaPart);
275
+ return [&]() {
276
+ auto __promise = Promise<std::string>::create();
277
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
278
+ auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
279
+ __promise->resolve(__result->toStdString());
280
+ });
281
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
282
+ jni::JniException __jniError(__throwable);
283
+ __promise->reject(std::make_exception_ptr(__jniError));
284
+ });
285
+ return __promise;
286
+ }();
287
+ }
288
+ std::shared_ptr<Promise<std::optional<std::string>>> JHybridRnIapSpec::getAppTransactionIOS() {
289
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getAppTransactionIOS");
290
+ auto __result = method(_javaPart);
291
+ return [&]() {
292
+ auto __promise = Promise<std::optional<std::string>>::create();
293
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
294
+ auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
295
+ __promise->resolve(__result != nullptr ? std::make_optional(__result->toStdString()) : std::nullopt);
296
+ });
297
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
298
+ jni::JniException __jniError(__throwable);
299
+ __promise->reject(std::make_exception_ptr(__jniError));
300
+ });
301
+ return __promise;
302
+ }();
303
+ }
304
+ std::shared_ptr<Promise<std::optional<NitroProduct>>> JHybridRnIapSpec::requestPromotedProductIOS() {
305
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("requestPromotedProductIOS");
306
+ auto __result = method(_javaPart);
307
+ return [&]() {
308
+ auto __promise = Promise<std::optional<NitroProduct>>::create();
309
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
310
+ auto __result = jni::static_ref_cast<JNitroProduct>(__boxedResult);
311
+ __promise->resolve(__result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt);
312
+ });
313
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
314
+ jni::JniException __jniError(__throwable);
315
+ __promise->reject(std::make_exception_ptr(__jniError));
316
+ });
317
+ return __promise;
318
+ }();
319
+ }
320
+ std::shared_ptr<Promise<void>> JHybridRnIapSpec::buyPromotedProductIOS() {
321
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("buyPromotedProductIOS");
322
+ auto __result = method(_javaPart);
323
+ return [&]() {
324
+ auto __promise = Promise<void>::create();
325
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
326
+ __promise->resolve();
327
+ });
328
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
329
+ jni::JniException __jniError(__throwable);
330
+ __promise->reject(std::make_exception_ptr(__jniError));
331
+ });
332
+ return __promise;
333
+ }();
334
+ }
335
+ std::shared_ptr<Promise<bool>> JHybridRnIapSpec::presentCodeRedemptionSheetIOS() {
336
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("presentCodeRedemptionSheetIOS");
337
+ auto __result = method(_javaPart);
338
+ return [&]() {
339
+ auto __promise = Promise<bool>::create();
340
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
341
+ auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
342
+ __promise->resolve(static_cast<bool>(__result->value()));
343
+ });
344
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
345
+ jni::JniException __jniError(__throwable);
346
+ __promise->reject(std::make_exception_ptr(__jniError));
347
+ });
348
+ return __promise;
349
+ }();
350
+ }
351
+ std::shared_ptr<Promise<void>> JHybridRnIapSpec::clearTransactionIOS() {
352
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("clearTransactionIOS");
353
+ auto __result = method(_javaPart);
354
+ return [&]() {
355
+ auto __promise = Promise<void>::create();
356
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
357
+ __promise->resolve();
358
+ });
359
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
360
+ jni::JniException __jniError(__throwable);
361
+ __promise->reject(std::make_exception_ptr(__jniError));
362
+ });
363
+ return __promise;
364
+ }();
365
+ }
366
+ std::shared_ptr<Promise<std::optional<std::string>>> JHybridRnIapSpec::beginRefundRequestIOS(const std::string& sku) {
367
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* sku */)>("beginRefundRequestIOS");
368
+ auto __result = method(_javaPart, jni::make_jstring(sku));
369
+ return [&]() {
370
+ auto __promise = Promise<std::optional<std::string>>::create();
371
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
372
+ auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
373
+ __promise->resolve(__result != nullptr ? std::make_optional(__result->toStdString()) : std::nullopt);
374
+ });
375
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
376
+ jni::JniException __jniError(__throwable);
377
+ __promise->reject(std::make_exception_ptr(__jniError));
378
+ });
379
+ return __promise;
380
+ }();
381
+ }
382
+ std::shared_ptr<Promise<std::optional<std::vector<NitroSubscriptionStatus>>>> JHybridRnIapSpec::subscriptionStatusIOS(const std::string& sku) {
383
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* sku */)>("subscriptionStatusIOS");
384
+ auto __result = method(_javaPart, jni::make_jstring(sku));
385
+ return [&]() {
386
+ auto __promise = Promise<std::optional<std::vector<NitroSubscriptionStatus>>>::create();
387
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
388
+ auto __result = jni::static_ref_cast<jni::JArrayClass<JNitroSubscriptionStatus>>(__boxedResult);
389
+ __promise->resolve(__result != nullptr ? std::make_optional([&]() {
390
+ size_t __size = __result->size();
391
+ std::vector<NitroSubscriptionStatus> __vector;
392
+ __vector.reserve(__size);
393
+ for (size_t __i = 0; __i < __size; __i++) {
394
+ auto __element = __result->getElement(__i);
395
+ __vector.push_back(__element->toCpp());
396
+ }
397
+ return __vector;
398
+ }()) : std::nullopt);
399
+ });
400
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
401
+ jni::JniException __jniError(__throwable);
402
+ __promise->reject(std::make_exception_ptr(__jniError));
403
+ });
404
+ return __promise;
405
+ }();
406
+ }
407
+ std::shared_ptr<Promise<std::optional<NitroPurchase>>> JHybridRnIapSpec::currentEntitlementIOS(const std::string& sku) {
408
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* sku */)>("currentEntitlementIOS");
409
+ auto __result = method(_javaPart, jni::make_jstring(sku));
410
+ return [&]() {
411
+ auto __promise = Promise<std::optional<NitroPurchase>>::create();
412
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
413
+ auto __result = jni::static_ref_cast<JNitroPurchase>(__boxedResult);
414
+ __promise->resolve(__result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt);
415
+ });
416
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
417
+ jni::JniException __jniError(__throwable);
418
+ __promise->reject(std::make_exception_ptr(__jniError));
419
+ });
420
+ return __promise;
421
+ }();
422
+ }
423
+ std::shared_ptr<Promise<std::optional<NitroPurchase>>> JHybridRnIapSpec::latestTransactionIOS(const std::string& sku) {
424
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* sku */)>("latestTransactionIOS");
425
+ auto __result = method(_javaPart, jni::make_jstring(sku));
426
+ return [&]() {
427
+ auto __promise = Promise<std::optional<NitroPurchase>>::create();
428
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
429
+ auto __result = jni::static_ref_cast<JNitroPurchase>(__boxedResult);
430
+ __promise->resolve(__result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt);
431
+ });
432
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
433
+ jni::JniException __jniError(__throwable);
434
+ __promise->reject(std::make_exception_ptr(__jniError));
435
+ });
436
+ return __promise;
437
+ }();
438
+ }
439
+ std::shared_ptr<Promise<std::vector<NitroPurchase>>> JHybridRnIapSpec::getPendingTransactionsIOS() {
440
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getPendingTransactionsIOS");
441
+ auto __result = method(_javaPart);
442
+ return [&]() {
443
+ auto __promise = Promise<std::vector<NitroPurchase>>::create();
444
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
445
+ auto __result = jni::static_ref_cast<jni::JArrayClass<JNitroPurchase>>(__boxedResult);
446
+ __promise->resolve([&]() {
447
+ size_t __size = __result->size();
448
+ std::vector<NitroPurchase> __vector;
449
+ __vector.reserve(__size);
450
+ for (size_t __i = 0; __i < __size; __i++) {
451
+ auto __element = __result->getElement(__i);
452
+ __vector.push_back(__element->toCpp());
453
+ }
454
+ return __vector;
455
+ }());
456
+ });
457
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
458
+ jni::JniException __jniError(__throwable);
459
+ __promise->reject(std::make_exception_ptr(__jniError));
460
+ });
461
+ return __promise;
462
+ }();
463
+ }
464
+ std::shared_ptr<Promise<bool>> JHybridRnIapSpec::syncIOS() {
465
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("syncIOS");
466
+ auto __result = method(_javaPart);
467
+ return [&]() {
468
+ auto __promise = Promise<bool>::create();
469
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
470
+ auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
471
+ __promise->resolve(static_cast<bool>(__result->value()));
472
+ });
473
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
474
+ jni::JniException __jniError(__throwable);
475
+ __promise->reject(std::make_exception_ptr(__jniError));
476
+ });
477
+ return __promise;
478
+ }();
479
+ }
480
+ std::shared_ptr<Promise<bool>> JHybridRnIapSpec::showManageSubscriptionsIOS() {
481
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("showManageSubscriptionsIOS");
482
+ auto __result = method(_javaPart);
483
+ return [&]() {
484
+ auto __promise = Promise<bool>::create();
485
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
486
+ auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
487
+ __promise->resolve(static_cast<bool>(__result->value()));
488
+ });
489
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
490
+ jni::JniException __jniError(__throwable);
491
+ __promise->reject(std::make_exception_ptr(__jniError));
492
+ });
493
+ return __promise;
494
+ }();
495
+ }
496
+ std::shared_ptr<Promise<bool>> JHybridRnIapSpec::isEligibleForIntroOfferIOS(const std::string& groupID) {
497
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* groupID */)>("isEligibleForIntroOfferIOS");
498
+ auto __result = method(_javaPart, jni::make_jstring(groupID));
499
+ return [&]() {
500
+ auto __promise = Promise<bool>::create();
501
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
502
+ auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
503
+ __promise->resolve(static_cast<bool>(__result->value()));
504
+ });
505
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
506
+ jni::JniException __jniError(__throwable);
507
+ __promise->reject(std::make_exception_ptr(__jniError));
508
+ });
509
+ return __promise;
510
+ }();
511
+ }
512
+ std::shared_ptr<Promise<std::string>> JHybridRnIapSpec::getReceiptDataIOS() {
513
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getReceiptDataIOS");
514
+ auto __result = method(_javaPart);
515
+ return [&]() {
516
+ auto __promise = Promise<std::string>::create();
517
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
518
+ auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
519
+ __promise->resolve(__result->toStdString());
520
+ });
521
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
522
+ jni::JniException __jniError(__throwable);
523
+ __promise->reject(std::make_exception_ptr(__jniError));
524
+ });
525
+ return __promise;
526
+ }();
527
+ }
528
+ std::shared_ptr<Promise<bool>> JHybridRnIapSpec::isTransactionVerifiedIOS(const std::string& sku) {
529
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* sku */)>("isTransactionVerifiedIOS");
530
+ auto __result = method(_javaPart, jni::make_jstring(sku));
531
+ return [&]() {
532
+ auto __promise = Promise<bool>::create();
533
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
534
+ auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
535
+ __promise->resolve(static_cast<bool>(__result->value()));
536
+ });
537
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
538
+ jni::JniException __jniError(__throwable);
539
+ __promise->reject(std::make_exception_ptr(__jniError));
540
+ });
541
+ return __promise;
542
+ }();
543
+ }
544
+ std::shared_ptr<Promise<std::optional<std::string>>> JHybridRnIapSpec::getTransactionJwsIOS(const std::string& sku) {
545
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* sku */)>("getTransactionJwsIOS");
546
+ auto __result = method(_javaPart, jni::make_jstring(sku));
547
+ return [&]() {
548
+ auto __promise = Promise<std::optional<std::string>>::create();
549
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
550
+ auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
551
+ __promise->resolve(__result != nullptr ? std::make_optional(__result->toStdString()) : std::nullopt);
552
+ });
553
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
554
+ jni::JniException __jniError(__throwable);
555
+ __promise->reject(std::make_exception_ptr(__jniError));
556
+ });
557
+ return __promise;
558
+ }();
559
+ }
560
+ std::shared_ptr<Promise<std::variant<NitroReceiptValidationResultIOS, NitroReceiptValidationResultAndroid>>> JHybridRnIapSpec::validateReceipt(const NitroReceiptValidationParams& params) {
561
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JNitroReceiptValidationParams> /* params */)>("validateReceipt");
562
+ auto __result = method(_javaPart, JNitroReceiptValidationParams::fromCpp(params));
563
+ return [&]() {
564
+ auto __promise = Promise<std::variant<NitroReceiptValidationResultIOS, NitroReceiptValidationResultAndroid>>::create();
565
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
566
+ auto __result = jni::static_ref_cast<JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid>(__boxedResult);
567
+ __promise->resolve(__result->toCpp());
568
+ });
569
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
570
+ jni::JniException __jniError(__throwable);
571
+ __promise->reject(std::make_exception_ptr(__jniError));
572
+ });
573
+ return __promise;
574
+ }();
575
+ }
576
+
577
+ } // namespace margelo::nitro::iap