react-native-iap 14.7.13 → 14.7.15

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 (521) hide show
  1. package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +151 -120
  2. package/ios/HybridRnIap.swift +113 -69
  3. package/ios/RnIapHelper.swift +256 -165
  4. package/nitrogen/generated/android/NitroIap+autolinking.cmake +40 -1
  5. package/nitrogen/generated/android/NitroIap+autolinking.gradle +1 -1
  6. package/nitrogen/generated/android/NitroIapOnLoad.cpp +32 -22
  7. package/nitrogen/generated/android/NitroIapOnLoad.hpp +14 -5
  8. package/nitrogen/generated/android/c++/JAlternativeBillingModeAndroid.hpp +4 -5
  9. package/nitrogen/generated/android/c++/JAndroidSubscriptionOfferInput.hpp +1 -1
  10. package/nitrogen/generated/android/c++/JBillingProgramAndroid.hpp +6 -7
  11. package/nitrogen/generated/android/c++/JDeveloperProvidedBillingDetailsAndroid.hpp +1 -1
  12. package/nitrogen/generated/android/c++/JExternalLinkLaunchModeAndroid.hpp +4 -5
  13. package/nitrogen/generated/android/c++/JExternalLinkTypeAndroid.hpp +4 -5
  14. package/nitrogen/generated/android/c++/JExternalPurchaseCustomLinkNoticeResultIOS.hpp +10 -6
  15. package/nitrogen/generated/android/c++/JExternalPurchaseCustomLinkNoticeTypeIOS.hpp +3 -4
  16. package/nitrogen/generated/android/c++/JExternalPurchaseCustomLinkTokenResultIOS.hpp +14 -10
  17. package/nitrogen/generated/android/c++/JExternalPurchaseCustomLinkTokenTypeIOS.hpp +3 -4
  18. package/nitrogen/generated/android/c++/JExternalPurchaseLinkResultIOS.hpp +10 -6
  19. package/nitrogen/generated/android/c++/JExternalPurchaseNoticeAction.hpp +3 -4
  20. package/nitrogen/generated/android/c++/JExternalPurchaseNoticeResultIOS.hpp +14 -10
  21. package/nitrogen/generated/android/c++/JFunc_void_DeveloperProvidedBillingDetailsAndroid.hpp +3 -2
  22. package/nitrogen/generated/android/c++/JFunc_void_NitroProduct.hpp +16 -2
  23. package/nitrogen/generated/android/c++/JFunc_void_NitroPurchase.hpp +10 -2
  24. package/nitrogen/generated/android/c++/JFunc_void_NitroPurchaseResult.hpp +3 -2
  25. package/nitrogen/generated/android/c++/JFunc_void_UserChoiceBillingDetails.hpp +3 -2
  26. package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +168 -124
  27. package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +31 -32
  28. package/nitrogen/generated/android/c++/JIapPlatform.hpp +3 -4
  29. package/nitrogen/generated/android/c++/JIapStore.hpp +5 -6
  30. package/nitrogen/generated/android/c++/JIapkitPurchaseState.hpp +10 -11
  31. package/nitrogen/generated/android/c++/JInitConnectionConfig.hpp +1 -1
  32. package/nitrogen/generated/android/c++/JNitroActiveSubscription.hpp +48 -41
  33. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidOptions.hpp +10 -6
  34. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidType.hpp +3 -4
  35. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesIosOptions.hpp +26 -22
  36. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesOptions.hpp +14 -8
  37. package/nitrogen/generated/android/c++/JNitroBillingProgramAvailabilityResultAndroid.hpp +1 -1
  38. package/nitrogen/generated/android/c++/JNitroBillingProgramReportingDetailsAndroid.hpp +1 -1
  39. package/nitrogen/generated/android/c++/JNitroDeepLinkOptionsAndroid.hpp +14 -10
  40. package/nitrogen/generated/android/c++/JNitroDiscountAmountAndroid.hpp +1 -1
  41. package/nitrogen/generated/android/c++/JNitroDiscountDisplayInfoAndroid.hpp +14 -9
  42. package/nitrogen/generated/android/c++/JNitroFinishTransactionAndroidParams.hpp +10 -6
  43. package/nitrogen/generated/android/c++/JNitroFinishTransactionIosParams.hpp +1 -1
  44. package/nitrogen/generated/android/c++/JNitroFinishTransactionParams.hpp +14 -8
  45. package/nitrogen/generated/android/c++/JNitroLaunchExternalLinkParamsAndroid.hpp +1 -1
  46. package/nitrogen/generated/android/c++/JNitroLimitedQuantityInfoAndroid.hpp +1 -1
  47. package/nitrogen/generated/android/c++/JNitroOneTimePurchaseOfferDetail.hpp +38 -26
  48. package/nitrogen/generated/android/c++/JNitroPreorderDetailsAndroid.hpp +1 -1
  49. package/nitrogen/generated/android/c++/JNitroProduct.hpp +115 -119
  50. package/nitrogen/generated/android/c++/JNitroPurchase.hpp +144 -137
  51. package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +27 -14
  52. package/nitrogen/generated/android/c++/JNitroPurchaseResult.hpp +1 -1
  53. package/nitrogen/generated/android/c++/JNitroReceiptValidationAppleOptions.hpp +1 -1
  54. package/nitrogen/generated/android/c++/JNitroReceiptValidationGoogleOptions.hpp +10 -6
  55. package/nitrogen/generated/android/c++/JNitroReceiptValidationHorizonOptions.hpp +1 -1
  56. package/nitrogen/generated/android/c++/JNitroReceiptValidationParams.hpp +18 -11
  57. package/nitrogen/generated/android/c++/JNitroReceiptValidationResultAndroid.hpp +23 -18
  58. package/nitrogen/generated/android/c++/JNitroReceiptValidationResultIOS.hpp +13 -5
  59. package/nitrogen/generated/android/c++/JNitroRenewalInfoIOS.hpp +48 -42
  60. package/nitrogen/generated/android/c++/JNitroRentalDetailsAndroid.hpp +10 -6
  61. package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +43 -51
  62. package/nitrogen/generated/android/c++/JNitroRequestPurchaseIos.hpp +41 -45
  63. package/nitrogen/generated/android/c++/JNitroSubscriptionRenewalInfo.hpp +23 -18
  64. package/nitrogen/generated/android/c++/JNitroSubscriptionStatus.hpp +11 -5
  65. package/nitrogen/generated/android/c++/JNitroValidTimeWindowAndroid.hpp +1 -1
  66. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitAppleProps.hpp +1 -1
  67. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitGoogleProps.hpp +1 -1
  68. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitProps.hpp +18 -12
  69. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitResult.hpp +1 -1
  70. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderError.hpp +10 -6
  71. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderProps.hpp +12 -5
  72. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderResult.hpp +15 -26
  73. package/nitrogen/generated/android/c++/JPaymentModeIOS.hpp +5 -6
  74. package/nitrogen/generated/android/c++/JPendingPurchaseUpdateAndroid.hpp +3 -2
  75. package/nitrogen/generated/android/c++/JPromotionalOfferJwsInputIOS.hpp +1 -1
  76. package/nitrogen/generated/android/c++/JPurchase.cpp +1 -1
  77. package/nitrogen/generated/android/c++/JPurchase.hpp +12 -3
  78. package/nitrogen/generated/android/c++/JPurchaseAndroid.hpp +64 -74
  79. package/nitrogen/generated/android/c++/JPurchaseIOS.hpp +109 -117
  80. package/nitrogen/generated/android/c++/JPurchaseOfferIOS.hpp +1 -1
  81. package/nitrogen/generated/android/c++/JPurchaseState.hpp +4 -5
  82. package/nitrogen/generated/android/c++/JPurchaseVerificationProvider.hpp +3 -4
  83. package/nitrogen/generated/android/c++/JRenewalInfoIOS.hpp +48 -42
  84. package/nitrogen/generated/android/c++/JRequestPurchaseResult.cpp +20 -16
  85. package/nitrogen/generated/android/c++/JRequestPurchaseResult.hpp +42 -17
  86. package/nitrogen/generated/android/c++/JSubscriptionProductReplacementParamsAndroid.hpp +1 -1
  87. package/nitrogen/generated/android/c++/JSubscriptionReplacementModeAndroid.hpp +8 -9
  88. package/nitrogen/generated/android/c++/JUserChoiceBillingDetails.hpp +3 -2
  89. package/nitrogen/generated/android/c++/JVariant_Boolean_NitroPurchaseResult.cpp +1 -1
  90. package/nitrogen/generated/android/c++/JVariant_Boolean_NitroPurchaseResult.hpp +3 -3
  91. package/nitrogen/generated/android/c++/JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.cpp +1 -1
  92. package/nitrogen/generated/android/c++/JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.hpp +10 -3
  93. package/nitrogen/generated/android/c++/JVariant_NullType_Array_AndroidSubscriptionOfferInput_.cpp +35 -0
  94. package/nitrogen/generated/android/c++/JVariant_NullType_Array_AndroidSubscriptionOfferInput_.hpp +82 -0
  95. package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroOneTimePurchaseOfferDetail_.cpp +35 -0
  96. package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroOneTimePurchaseOfferDetail_.hpp +103 -0
  97. package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroSubscriptionStatus_.cpp +35 -0
  98. package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroSubscriptionStatus_.hpp +88 -0
  99. package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroVerifyPurchaseWithProviderError_.cpp +35 -0
  100. package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroVerifyPurchaseWithProviderError_.hpp +84 -0
  101. package/nitrogen/generated/android/c++/JVariant_NullType_Array_String_.cpp +35 -0
  102. package/nitrogen/generated/android/c++/JVariant_NullType_Array_String_.hpp +80 -0
  103. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean.cpp +26 -0
  104. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean.hpp +69 -0
  105. package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +26 -0
  106. package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +69 -0
  107. package/nitrogen/generated/android/c++/JVariant_NullType_InitConnectionConfig.cpp +26 -0
  108. package/nitrogen/generated/android/c++/JVariant_NullType_InitConnectionConfig.hpp +76 -0
  109. package/nitrogen/generated/android/c++/JVariant_NullType_Map_String__String_.cpp +33 -0
  110. package/nitrogen/generated/android/c++/JVariant_NullType_Map_String__String_.hpp +77 -0
  111. package/nitrogen/generated/android/c++/JVariant_NullType_NitroAvailablePurchasesAndroidOptions.cpp +26 -0
  112. package/nitrogen/generated/android/c++/JVariant_NullType_NitroAvailablePurchasesAndroidOptions.hpp +75 -0
  113. package/nitrogen/generated/android/c++/JVariant_NullType_NitroAvailablePurchasesIosOptions.cpp +26 -0
  114. package/nitrogen/generated/android/c++/JVariant_NullType_NitroAvailablePurchasesIosOptions.hpp +73 -0
  115. package/nitrogen/generated/android/c++/JVariant_NullType_NitroDiscountAmountAndroid.cpp +26 -0
  116. package/nitrogen/generated/android/c++/JVariant_NullType_NitroDiscountAmountAndroid.hpp +72 -0
  117. package/nitrogen/generated/android/c++/JVariant_NullType_NitroDiscountDisplayInfoAndroid.cpp +26 -0
  118. package/nitrogen/generated/android/c++/JVariant_NullType_NitroDiscountDisplayInfoAndroid.hpp +77 -0
  119. package/nitrogen/generated/android/c++/JVariant_NullType_NitroFinishTransactionAndroidParams.cpp +26 -0
  120. package/nitrogen/generated/android/c++/JVariant_NullType_NitroFinishTransactionAndroidParams.hpp +74 -0
  121. package/nitrogen/generated/android/c++/JVariant_NullType_NitroFinishTransactionIosParams.cpp +26 -0
  122. package/nitrogen/generated/android/c++/JVariant_NullType_NitroFinishTransactionIosParams.hpp +72 -0
  123. package/nitrogen/generated/android/c++/JVariant_NullType_NitroLimitedQuantityInfoAndroid.cpp +26 -0
  124. package/nitrogen/generated/android/c++/JVariant_NullType_NitroLimitedQuantityInfoAndroid.hpp +71 -0
  125. package/nitrogen/generated/android/c++/JVariant_NullType_NitroPreorderDetailsAndroid.cpp +26 -0
  126. package/nitrogen/generated/android/c++/JVariant_NullType_NitroPreorderDetailsAndroid.hpp +72 -0
  127. package/nitrogen/generated/android/c++/JVariant_NullType_NitroProduct.cpp +26 -0
  128. package/nitrogen/generated/android/c++/JVariant_NullType_NitroProduct.hpp +102 -0
  129. package/nitrogen/generated/android/c++/JVariant_NullType_NitroPurchase.cpp +26 -0
  130. package/nitrogen/generated/android/c++/JVariant_NullType_NitroPurchase.hpp +85 -0
  131. package/nitrogen/generated/android/c++/JVariant_NullType_NitroReceiptValidationAppleOptions.cpp +26 -0
  132. package/nitrogen/generated/android/c++/JVariant_NullType_NitroReceiptValidationAppleOptions.hpp +72 -0
  133. package/nitrogen/generated/android/c++/JVariant_NullType_NitroReceiptValidationGoogleOptions.cpp +26 -0
  134. package/nitrogen/generated/android/c++/JVariant_NullType_NitroReceiptValidationGoogleOptions.hpp +74 -0
  135. package/nitrogen/generated/android/c++/JVariant_NullType_NitroReceiptValidationHorizonOptions.cpp +26 -0
  136. package/nitrogen/generated/android/c++/JVariant_NullType_NitroReceiptValidationHorizonOptions.hpp +72 -0
  137. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRenewalInfoIOS.cpp +26 -0
  138. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRenewalInfoIOS.hpp +76 -0
  139. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRentalDetailsAndroid.cpp +26 -0
  140. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRentalDetailsAndroid.hpp +74 -0
  141. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRequestPurchaseAndroid.cpp +26 -0
  142. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRequestPurchaseAndroid.hpp +85 -0
  143. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRequestPurchaseIos.cpp +26 -0
  144. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRequestPurchaseIos.hpp +84 -0
  145. package/nitrogen/generated/android/c++/JVariant_NullType_NitroSubscriptionRenewalInfo.cpp +26 -0
  146. package/nitrogen/generated/android/c++/JVariant_NullType_NitroSubscriptionRenewalInfo.hpp +75 -0
  147. package/nitrogen/generated/android/c++/JVariant_NullType_NitroValidTimeWindowAndroid.cpp +26 -0
  148. package/nitrogen/generated/android/c++/JVariant_NullType_NitroValidTimeWindowAndroid.hpp +72 -0
  149. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitAppleProps.cpp +26 -0
  150. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitAppleProps.hpp +72 -0
  151. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitGoogleProps.cpp +26 -0
  152. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitGoogleProps.hpp +72 -0
  153. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitProps.cpp +26 -0
  154. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitProps.hpp +80 -0
  155. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitResult.cpp +26 -0
  156. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitResult.hpp +75 -0
  157. package/nitrogen/generated/android/c++/JVariant_NullType_PendingPurchaseUpdateAndroid.cpp +26 -0
  158. package/nitrogen/generated/android/c++/JVariant_NullType_PendingPurchaseUpdateAndroid.hpp +73 -0
  159. package/nitrogen/generated/android/c++/JVariant_NullType_PromotionalOfferJwsInputIOS.cpp +26 -0
  160. package/nitrogen/generated/android/c++/JVariant_NullType_PromotionalOfferJwsInputIOS.hpp +72 -0
  161. package/nitrogen/generated/android/c++/JVariant_NullType_PurchaseOfferIOS.cpp +26 -0
  162. package/nitrogen/generated/android/c++/JVariant_NullType_PurchaseOfferIOS.hpp +72 -0
  163. package/nitrogen/generated/android/c++/JVariant_NullType_RenewalInfoIOS.cpp +26 -0
  164. package/nitrogen/generated/android/c++/JVariant_NullType_RenewalInfoIOS.hpp +76 -0
  165. package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +26 -0
  166. package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +70 -0
  167. package/nitrogen/generated/android/c++/JVariant_NullType_SubscriptionProductReplacementParamsAndroid.cpp +26 -0
  168. package/nitrogen/generated/android/c++/JVariant_NullType_SubscriptionProductReplacementParamsAndroid.hpp +74 -0
  169. package/nitrogen/generated/android/c++/JVariant_NullType_WinBackOfferInputIOS.cpp +26 -0
  170. package/nitrogen/generated/android/c++/JVariant_NullType_WinBackOfferInputIOS.hpp +72 -0
  171. package/nitrogen/generated/android/c++/JWinBackOfferInputIOS.hpp +1 -1
  172. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AlternativeBillingModeAndroid.kt +3 -1
  173. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AndroidSubscriptionOfferInput.kt +4 -2
  174. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingProgramAndroid.kt +3 -1
  175. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperProvidedBillingDetailsAndroid.kt +4 -2
  176. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalLinkLaunchModeAndroid.kt +3 -1
  177. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalLinkTypeAndroid.kt +3 -1
  178. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseCustomLinkNoticeResultIOS.kt +7 -5
  179. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseCustomLinkNoticeTypeIOS.kt +3 -1
  180. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseCustomLinkTokenResultIOS.kt +8 -6
  181. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseCustomLinkTokenTypeIOS.kt +3 -1
  182. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseLinkResultIOS.kt +7 -5
  183. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseNoticeAction.kt +3 -1
  184. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseNoticeResultIOS.kt +8 -6
  185. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_DeveloperProvidedBillingDetailsAndroid.kt +1 -1
  186. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroProduct.kt +1 -1
  187. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchase.kt +1 -1
  188. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchaseResult.kt +1 -1
  189. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_UserChoiceBillingDetails.kt +1 -1
  190. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +28 -25
  191. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/IapPlatform.kt +3 -1
  192. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/IapStore.kt +3 -1
  193. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/IapkitPurchaseState.kt +3 -1
  194. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InitConnectionConfig.kt +4 -2
  195. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroActiveSubscription.kt +16 -14
  196. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesAndroidOptions.kt +7 -5
  197. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesAndroidType.kt +3 -1
  198. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesIosOptions.kt +11 -9
  199. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesOptions.kt +8 -6
  200. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramAvailabilityResultAndroid.kt +4 -2
  201. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramReportingDetailsAndroid.kt +4 -2
  202. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDeepLinkOptionsAndroid.kt +8 -6
  203. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDiscountAmountAndroid.kt +4 -2
  204. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDiscountDisplayInfoAndroid.kt +8 -6
  205. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionAndroidParams.kt +7 -5
  206. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionIosParams.kt +4 -2
  207. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionParams.kt +8 -6
  208. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroIapOnLoad.kt +1 -1
  209. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLaunchExternalLinkParamsAndroid.kt +4 -2
  210. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLimitedQuantityInfoAndroid.kt +4 -2
  211. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroOneTimePurchaseOfferDetail.kt +13 -11
  212. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPreorderDetailsAndroid.kt +4 -2
  213. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +31 -29
  214. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +40 -38
  215. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseRequest.kt +10 -8
  216. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseResult.kt +4 -2
  217. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationAppleOptions.kt +4 -2
  218. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationGoogleOptions.kt +7 -5
  219. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationHorizonOptions.kt +4 -2
  220. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationParams.kt +9 -7
  221. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultAndroid.kt +10 -8
  222. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultIOS.kt +7 -5
  223. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRenewalInfoIOS.kt +16 -14
  224. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRentalDetailsAndroid.kt +7 -5
  225. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +14 -12
  226. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseIos.kt +14 -12
  227. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionRenewalInfo.kt +10 -8
  228. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionStatus.kt +7 -5
  229. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroValidTimeWindowAndroid.kt +4 -2
  230. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitAppleProps.kt +4 -2
  231. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitGoogleProps.kt +4 -2
  232. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitProps.kt +9 -7
  233. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitResult.kt +4 -2
  234. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderError.kt +7 -5
  235. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderProps.kt +7 -5
  236. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderResult.kt +8 -6
  237. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PaymentModeIOS.kt +3 -1
  238. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PendingPurchaseUpdateAndroid.kt +4 -2
  239. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PromotionalOfferJwsInputIOS.kt +4 -2
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Purchase.kt +1 -7
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseAndroid.kt +20 -18
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseIOS.kt +31 -29
  243. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseOfferIOS.kt +4 -2
  244. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseState.kt +3 -1
  245. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseVerificationProvider.kt +3 -1
  246. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RenewalInfoIOS.kt +16 -14
  247. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RequestPurchaseResult.kt +25 -20
  248. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/SubscriptionProductReplacementParamsAndroid.kt +4 -2
  249. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/SubscriptionReplacementModeAndroid.kt +3 -1
  250. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/UserChoiceBillingDetails.kt +4 -2
  251. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_Boolean_NitroPurchaseResult.kt +1 -7
  252. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.kt +1 -7
  253. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_AndroidSubscriptionOfferInput_.kt +53 -0
  254. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_NitroOneTimePurchaseOfferDetail_.kt +53 -0
  255. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_NitroSubscriptionStatus_.kt +53 -0
  256. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_NitroVerifyPurchaseWithProviderError_.kt +53 -0
  257. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_String_.kt +53 -0
  258. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Boolean.kt +53 -0
  259. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Double.kt +53 -0
  260. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_InitConnectionConfig.kt +53 -0
  261. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Map_String__String_.kt +53 -0
  262. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroAvailablePurchasesAndroidOptions.kt +53 -0
  263. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroAvailablePurchasesIosOptions.kt +53 -0
  264. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroDiscountAmountAndroid.kt +53 -0
  265. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroDiscountDisplayInfoAndroid.kt +53 -0
  266. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroFinishTransactionAndroidParams.kt +53 -0
  267. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroFinishTransactionIosParams.kt +53 -0
  268. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroLimitedQuantityInfoAndroid.kt +53 -0
  269. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroPreorderDetailsAndroid.kt +53 -0
  270. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroProduct.kt +53 -0
  271. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroPurchase.kt +53 -0
  272. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroReceiptValidationAppleOptions.kt +53 -0
  273. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroReceiptValidationGoogleOptions.kt +53 -0
  274. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroReceiptValidationHorizonOptions.kt +53 -0
  275. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroRenewalInfoIOS.kt +53 -0
  276. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroRentalDetailsAndroid.kt +53 -0
  277. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroRequestPurchaseAndroid.kt +53 -0
  278. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroRequestPurchaseIos.kt +53 -0
  279. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroSubscriptionRenewalInfo.kt +53 -0
  280. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroValidTimeWindowAndroid.kt +53 -0
  281. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitAppleProps.kt +53 -0
  282. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitGoogleProps.kt +53 -0
  283. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitProps.kt +53 -0
  284. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitResult.kt +53 -0
  285. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_PendingPurchaseUpdateAndroid.kt +53 -0
  286. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_PromotionalOfferJwsInputIOS.kt +53 -0
  287. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_PurchaseOfferIOS.kt +53 -0
  288. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_RenewalInfoIOS.kt +53 -0
  289. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_String.kt +53 -0
  290. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_SubscriptionProductReplacementParamsAndroid.kt +53 -0
  291. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_WinBackOfferInputIOS.kt +53 -0
  292. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/WinBackOfferInputIOS.kt +4 -2
  293. package/nitrogen/generated/ios/NitroIap+autolinking.rb +2 -2
  294. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +22 -21
  295. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +1592 -470
  296. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +2 -1
  297. package/nitrogen/generated/ios/NitroIapAutolinking.mm +1 -1
  298. package/nitrogen/generated/ios/NitroIapAutolinking.swift +9 -8
  299. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.cpp +1 -1
  300. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +23 -13
  301. package/nitrogen/generated/ios/swift/AlternativeBillingModeAndroid.swift +1 -1
  302. package/nitrogen/generated/ios/swift/AndroidSubscriptionOfferInput.swift +5 -17
  303. package/nitrogen/generated/ios/swift/BillingProgramAndroid.swift +1 -1
  304. package/nitrogen/generated/ios/swift/DeveloperProvidedBillingDetailsAndroid.swift +3 -9
  305. package/nitrogen/generated/ios/swift/ExternalLinkLaunchModeAndroid.swift +1 -1
  306. package/nitrogen/generated/ios/swift/ExternalLinkTypeAndroid.swift +1 -1
  307. package/nitrogen/generated/ios/swift/ExternalPurchaseCustomLinkNoticeResultIOS.swift +35 -34
  308. package/nitrogen/generated/ios/swift/ExternalPurchaseCustomLinkNoticeTypeIOS.swift +1 -1
  309. package/nitrogen/generated/ios/swift/ExternalPurchaseCustomLinkTokenResultIOS.swift +64 -50
  310. package/nitrogen/generated/ios/swift/ExternalPurchaseCustomLinkTokenTypeIOS.swift +1 -1
  311. package/nitrogen/generated/ios/swift/ExternalPurchaseLinkResultIOS.swift +35 -34
  312. package/nitrogen/generated/ios/swift/ExternalPurchaseNoticeAction.swift +1 -1
  313. package/nitrogen/generated/ios/swift/ExternalPurchaseNoticeResultIOS.swift +66 -58
  314. package/nitrogen/generated/ios/swift/Func_void.swift +1 -2
  315. package/nitrogen/generated/ios/swift/Func_void_DeveloperProvidedBillingDetailsAndroid.swift +1 -2
  316. package/nitrogen/generated/ios/swift/Func_void_ExternalPurchaseCustomLinkNoticeResultIOS.swift +1 -2
  317. package/nitrogen/generated/ios/swift/Func_void_ExternalPurchaseCustomLinkTokenResultIOS.swift +1 -2
  318. package/nitrogen/generated/ios/swift/Func_void_ExternalPurchaseLinkResultIOS.swift +1 -2
  319. package/nitrogen/generated/ios/swift/Func_void_ExternalPurchaseNoticeResultIOS.swift +1 -2
  320. package/nitrogen/generated/ios/swift/Func_void_NitroBillingProgramAvailabilityResultAndroid.swift +1 -2
  321. package/nitrogen/generated/ios/swift/Func_void_NitroBillingProgramReportingDetailsAndroid.swift +1 -2
  322. package/nitrogen/generated/ios/swift/Func_void_NitroProduct.swift +1 -2
  323. package/nitrogen/generated/ios/swift/Func_void_NitroPurchase.swift +1 -2
  324. package/nitrogen/generated/ios/swift/Func_void_NitroPurchaseResult.swift +1 -2
  325. package/nitrogen/generated/ios/swift/Func_void_NitroVerifyPurchaseWithProviderResult.swift +1 -2
  326. package/nitrogen/generated/ios/swift/Func_void_UserChoiceBillingDetails.swift +1 -2
  327. package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -2
  328. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -2
  329. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -2
  330. package/nitrogen/generated/ios/swift/Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_.swift +1 -2
  331. package/nitrogen/generated/ios/swift/Func_void_std__variant_bool__NitroPurchaseResult_.swift +1 -2
  332. package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__NitroProduct_.swift +58 -0
  333. package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__NitroPurchase_.swift +58 -0
  334. package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS___.swift +76 -0
  335. package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__std__string_.swift +58 -0
  336. package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__std__vector_NitroSubscriptionStatus__.swift +58 -0
  337. package/nitrogen/generated/ios/swift/Func_void_std__vector_NitroActiveSubscription_.swift +1 -2
  338. package/nitrogen/generated/ios/swift/Func_void_std__vector_NitroProduct_.swift +1 -2
  339. package/nitrogen/generated/ios/swift/Func_void_std__vector_NitroPurchase_.swift +1 -2
  340. package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +21 -16
  341. package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +207 -157
  342. package/nitrogen/generated/ios/swift/IapPlatform.swift +1 -1
  343. package/nitrogen/generated/ios/swift/IapStore.swift +1 -1
  344. package/nitrogen/generated/ios/swift/IapkitPurchaseState.swift +1 -1
  345. package/nitrogen/generated/ios/swift/InitConnectionConfig.swift +5 -29
  346. package/nitrogen/generated/ios/swift/NitroActiveSubscription.swift +320 -253
  347. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesAndroidOptions.swift +35 -40
  348. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesAndroidType.swift +1 -1
  349. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesIosOptions.swift +157 -122
  350. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesOptions.swift +64 -36
  351. package/nitrogen/generated/ios/swift/NitroBillingProgramAvailabilityResultAndroid.swift +5 -17
  352. package/nitrogen/generated/ios/swift/NitroBillingProgramReportingDetailsAndroid.swift +5 -17
  353. package/nitrogen/generated/ios/swift/NitroDeepLinkOptionsAndroid.swift +64 -50
  354. package/nitrogen/generated/ios/swift/NitroDiscountAmountAndroid.swift +5 -17
  355. package/nitrogen/generated/ios/swift/NitroDiscountDisplayInfoAndroid.swift +64 -36
  356. package/nitrogen/generated/ios/swift/NitroFinishTransactionAndroidParams.swift +35 -34
  357. package/nitrogen/generated/ios/swift/NitroFinishTransactionIosParams.swift +3 -9
  358. package/nitrogen/generated/ios/swift/NitroFinishTransactionParams.swift +64 -36
  359. package/nitrogen/generated/ios/swift/NitroLaunchExternalLinkParamsAndroid.swift +9 -33
  360. package/nitrogen/generated/ios/swift/NitroLimitedQuantityInfoAndroid.swift +5 -17
  361. package/nitrogen/generated/ios/swift/NitroOneTimePurchaseOfferDetail.swift +229 -181
  362. package/nitrogen/generated/ios/swift/NitroPreorderDetailsAndroid.swift +5 -17
  363. package/nitrogen/generated/ios/swift/NitroProduct.swift +862 -704
  364. package/nitrogen/generated/ios/swift/NitroPurchase.swift +1072 -840
  365. package/nitrogen/generated/ios/swift/NitroPurchaseRequest.swift +126 -70
  366. package/nitrogen/generated/ios/swift/NitroPurchaseResult.swift +25 -67
  367. package/nitrogen/generated/ios/swift/NitroReceiptValidationAppleOptions.swift +3 -9
  368. package/nitrogen/generated/ios/swift/NitroReceiptValidationGoogleOptions.swift +41 -58
  369. package/nitrogen/generated/ios/swift/NitroReceiptValidationHorizonOptions.swift +7 -25
  370. package/nitrogen/generated/ios/swift/NitroReceiptValidationParams.swift +95 -53
  371. package/nitrogen/generated/ios/swift/NitroReceiptValidationResultAndroid.swift +162 -204
  372. package/nitrogen/generated/ios/swift/NitroReceiptValidationResultIOS.swift +39 -43
  373. package/nitrogen/generated/ios/swift/NitroRenewalInfoIOS.swift +314 -236
  374. package/nitrogen/generated/ios/swift/NitroRentalDetailsAndroid.swift +35 -34
  375. package/nitrogen/generated/ios/swift/NitroRequestPurchaseAndroid.swift +257 -205
  376. package/nitrogen/generated/ios/swift/NitroRequestPurchaseIos.swift +265 -200
  377. package/nitrogen/generated/ios/swift/NitroSubscriptionRenewalInfo.swift +130 -100
  378. package/nitrogen/generated/ios/swift/NitroSubscriptionStatus.swift +37 -35
  379. package/nitrogen/generated/ios/swift/NitroValidTimeWindowAndroid.swift +5 -17
  380. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithIapkitAppleProps.swift +3 -9
  381. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithIapkitGoogleProps.swift +3 -9
  382. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithIapkitProps.swift +95 -60
  383. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithIapkitResult.swift +7 -25
  384. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithProviderError.swift +35 -34
  385. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithProviderProps.swift +35 -27
  386. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithProviderResult.swift +71 -62
  387. package/nitrogen/generated/ios/swift/PaymentModeIOS.swift +1 -1
  388. package/nitrogen/generated/ios/swift/PendingPurchaseUpdateAndroid.swift +5 -23
  389. package/nitrogen/generated/ios/swift/PromotionalOfferJwsInputIOS.swift +5 -17
  390. package/nitrogen/generated/ios/swift/Purchase.swift +1 -1
  391. package/nitrogen/generated/ios/swift/PurchaseAndroid.swift +457 -406
  392. package/nitrogen/generated/ios/swift/PurchaseIOS.swift +848 -691
  393. package/nitrogen/generated/ios/swift/PurchaseOfferIOS.swift +7 -25
  394. package/nitrogen/generated/ios/swift/PurchaseState.swift +1 -1
  395. package/nitrogen/generated/ios/swift/PurchaseVerificationProvider.swift +1 -1
  396. package/nitrogen/generated/ios/swift/RenewalInfoIOS.swift +314 -236
  397. package/nitrogen/generated/ios/swift/RequestPurchaseResult.swift +7 -6
  398. package/nitrogen/generated/ios/swift/SubscriptionProductReplacementParamsAndroid.swift +5 -17
  399. package/nitrogen/generated/ios/swift/SubscriptionReplacementModeAndroid.swift +1 -1
  400. package/nitrogen/generated/ios/swift/UserChoiceBillingDetails.swift +5 -23
  401. package/nitrogen/generated/ios/swift/Variant_Bool_NitroPurchaseResult.swift +1 -1
  402. package/nitrogen/generated/ios/swift/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.swift +1 -1
  403. package/nitrogen/generated/ios/swift/Variant_NullType_Bool.swift +18 -0
  404. package/nitrogen/generated/ios/swift/Variant_NullType_Dictionary_String__String_.swift +18 -0
  405. package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +18 -0
  406. package/nitrogen/generated/ios/swift/Variant_NullType_InitConnectionConfig.swift +18 -0
  407. package/nitrogen/generated/ios/swift/Variant_NullType_NitroAvailablePurchasesAndroidOptions.swift +18 -0
  408. package/nitrogen/generated/ios/swift/Variant_NullType_NitroAvailablePurchasesIosOptions.swift +18 -0
  409. package/nitrogen/generated/ios/swift/Variant_NullType_NitroDiscountAmountAndroid.swift +18 -0
  410. package/nitrogen/generated/ios/swift/Variant_NullType_NitroDiscountDisplayInfoAndroid.swift +18 -0
  411. package/nitrogen/generated/ios/swift/Variant_NullType_NitroFinishTransactionAndroidParams.swift +18 -0
  412. package/nitrogen/generated/ios/swift/Variant_NullType_NitroFinishTransactionIosParams.swift +18 -0
  413. package/nitrogen/generated/ios/swift/Variant_NullType_NitroLimitedQuantityInfoAndroid.swift +18 -0
  414. package/nitrogen/generated/ios/swift/Variant_NullType_NitroPreorderDetailsAndroid.swift +18 -0
  415. package/nitrogen/generated/ios/swift/Variant_NullType_NitroProduct.swift +18 -0
  416. package/nitrogen/generated/ios/swift/Variant_NullType_NitroPurchase.swift +18 -0
  417. package/nitrogen/generated/ios/swift/Variant_NullType_NitroReceiptValidationAppleOptions.swift +18 -0
  418. package/nitrogen/generated/ios/swift/Variant_NullType_NitroReceiptValidationGoogleOptions.swift +18 -0
  419. package/nitrogen/generated/ios/swift/Variant_NullType_NitroReceiptValidationHorizonOptions.swift +18 -0
  420. package/nitrogen/generated/ios/swift/Variant_NullType_NitroRenewalInfoIOS.swift +18 -0
  421. package/nitrogen/generated/ios/swift/Variant_NullType_NitroRentalDetailsAndroid.swift +18 -0
  422. package/nitrogen/generated/ios/swift/Variant_NullType_NitroRequestPurchaseAndroid.swift +18 -0
  423. package/nitrogen/generated/ios/swift/Variant_NullType_NitroRequestPurchaseIos.swift +18 -0
  424. package/nitrogen/generated/ios/swift/Variant_NullType_NitroSubscriptionRenewalInfo.swift +18 -0
  425. package/nitrogen/generated/ios/swift/Variant_NullType_NitroValidTimeWindowAndroid.swift +18 -0
  426. package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitAppleProps.swift +18 -0
  427. package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitGoogleProps.swift +18 -0
  428. package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitProps.swift +18 -0
  429. package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitResult.swift +18 -0
  430. package/nitrogen/generated/ios/swift/Variant_NullType_PendingPurchaseUpdateAndroid.swift +18 -0
  431. package/nitrogen/generated/ios/swift/Variant_NullType_PromotionalOfferJwsInputIOS.swift +18 -0
  432. package/nitrogen/generated/ios/swift/Variant_NullType_PurchaseOfferIOS.swift +18 -0
  433. package/nitrogen/generated/ios/swift/Variant_NullType_RenewalInfoIOS.swift +18 -0
  434. package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +18 -0
  435. package/nitrogen/generated/ios/swift/Variant_NullType_SubscriptionProductReplacementParamsAndroid.swift +18 -0
  436. package/nitrogen/generated/ios/swift/Variant_NullType_WinBackOfferInputIOS.swift +18 -0
  437. package/nitrogen/generated/ios/swift/Variant_NullType__AndroidSubscriptionOfferInput_.swift +18 -0
  438. package/nitrogen/generated/ios/swift/Variant_NullType__NitroOneTimePurchaseOfferDetail_.swift +18 -0
  439. package/nitrogen/generated/ios/swift/Variant_NullType__NitroSubscriptionStatus_.swift +18 -0
  440. package/nitrogen/generated/ios/swift/Variant_NullType__NitroVerifyPurchaseWithProviderError_.swift +18 -0
  441. package/nitrogen/generated/ios/swift/Variant_NullType__String_.swift +18 -0
  442. package/nitrogen/generated/ios/swift/WinBackOfferInputIOS.swift +3 -9
  443. package/nitrogen/generated/shared/c++/AlternativeBillingModeAndroid.hpp +1 -1
  444. package/nitrogen/generated/shared/c++/AndroidSubscriptionOfferInput.hpp +16 -8
  445. package/nitrogen/generated/shared/c++/BillingProgramAndroid.hpp +1 -1
  446. package/nitrogen/generated/shared/c++/DeveloperProvidedBillingDetailsAndroid.hpp +13 -5
  447. package/nitrogen/generated/shared/c++/ExternalLinkLaunchModeAndroid.hpp +1 -1
  448. package/nitrogen/generated/shared/c++/ExternalLinkTypeAndroid.hpp +1 -1
  449. package/nitrogen/generated/shared/c++/ExternalPurchaseCustomLinkNoticeResultIOS.hpp +20 -10
  450. package/nitrogen/generated/shared/c++/ExternalPurchaseCustomLinkNoticeTypeIOS.hpp +1 -1
  451. package/nitrogen/generated/shared/c++/ExternalPurchaseCustomLinkTokenResultIOS.hpp +21 -11
  452. package/nitrogen/generated/shared/c++/ExternalPurchaseCustomLinkTokenTypeIOS.hpp +1 -1
  453. package/nitrogen/generated/shared/c++/ExternalPurchaseLinkResultIOS.hpp +20 -10
  454. package/nitrogen/generated/shared/c++/ExternalPurchaseNoticeAction.hpp +1 -1
  455. package/nitrogen/generated/shared/c++/ExternalPurchaseNoticeResultIOS.hpp +24 -14
  456. package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +1 -1
  457. package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +14 -13
  458. package/nitrogen/generated/shared/c++/IapPlatform.hpp +1 -1
  459. package/nitrogen/generated/shared/c++/IapStore.hpp +1 -1
  460. package/nitrogen/generated/shared/c++/IapkitPurchaseState.hpp +1 -1
  461. package/nitrogen/generated/shared/c++/InitConnectionConfig.hpp +16 -8
  462. package/nitrogen/generated/shared/c++/NitroActiveSubscription.hpp +65 -55
  463. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesAndroidOptions.hpp +20 -10
  464. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesAndroidType.hpp +1 -1
  465. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesIosOptions.hpp +33 -23
  466. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesOptions.hpp +21 -11
  467. package/nitrogen/generated/shared/c++/NitroBillingProgramAvailabilityResultAndroid.hpp +16 -8
  468. package/nitrogen/generated/shared/c++/NitroBillingProgramReportingDetailsAndroid.hpp +16 -8
  469. package/nitrogen/generated/shared/c++/NitroDeepLinkOptionsAndroid.hpp +21 -11
  470. package/nitrogen/generated/shared/c++/NitroDiscountAmountAndroid.hpp +16 -8
  471. package/nitrogen/generated/shared/c++/NitroDiscountDisplayInfoAndroid.hpp +21 -11
  472. package/nitrogen/generated/shared/c++/NitroFinishTransactionAndroidParams.hpp +20 -10
  473. package/nitrogen/generated/shared/c++/NitroFinishTransactionIosParams.hpp +13 -5
  474. package/nitrogen/generated/shared/c++/NitroFinishTransactionParams.hpp +21 -11
  475. package/nitrogen/generated/shared/c++/NitroLaunchExternalLinkParamsAndroid.hpp +22 -14
  476. package/nitrogen/generated/shared/c++/NitroLimitedQuantityInfoAndroid.hpp +16 -8
  477. package/nitrogen/generated/shared/c++/NitroOneTimePurchaseOfferDetail.hpp +56 -46
  478. package/nitrogen/generated/shared/c++/NitroPreorderDetailsAndroid.hpp +16 -8
  479. package/nitrogen/generated/shared/c++/NitroProduct.hpp +137 -127
  480. package/nitrogen/generated/shared/c++/NitroPurchase.hpp +173 -163
  481. package/nitrogen/generated/shared/c++/NitroPurchaseRequest.hpp +29 -19
  482. package/nitrogen/generated/shared/c++/NitroPurchaseResult.hpp +25 -17
  483. package/nitrogen/generated/shared/c++/NitroReceiptValidationAppleOptions.hpp +13 -5
  484. package/nitrogen/generated/shared/c++/NitroReceiptValidationGoogleOptions.hpp +29 -19
  485. package/nitrogen/generated/shared/c++/NitroReceiptValidationHorizonOptions.hpp +19 -11
  486. package/nitrogen/generated/shared/c++/NitroReceiptValidationParams.hpp +25 -15
  487. package/nitrogen/generated/shared/c++/NitroReceiptValidationResultAndroid.hpp +71 -61
  488. package/nitrogen/generated/shared/c++/NitroReceiptValidationResultIOS.hpp +26 -16
  489. package/nitrogen/generated/shared/c++/NitroRenewalInfoIOS.hpp +56 -46
  490. package/nitrogen/generated/shared/c++/NitroRentalDetailsAndroid.hpp +20 -10
  491. package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +48 -38
  492. package/nitrogen/generated/shared/c++/NitroRequestPurchaseIos.hpp +48 -38
  493. package/nitrogen/generated/shared/c++/NitroSubscriptionRenewalInfo.hpp +35 -25
  494. package/nitrogen/generated/shared/c++/NitroSubscriptionStatus.hpp +23 -13
  495. package/nitrogen/generated/shared/c++/NitroValidTimeWindowAndroid.hpp +16 -8
  496. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithIapkitAppleProps.hpp +13 -5
  497. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithIapkitGoogleProps.hpp +13 -5
  498. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithIapkitProps.hpp +25 -15
  499. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithIapkitResult.hpp +19 -11
  500. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithProviderError.hpp +20 -10
  501. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithProviderProps.hpp +20 -10
  502. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithProviderResult.hpp +24 -14
  503. package/nitrogen/generated/shared/c++/PaymentModeIOS.hpp +1 -1
  504. package/nitrogen/generated/shared/c++/PendingPurchaseUpdateAndroid.hpp +16 -8
  505. package/nitrogen/generated/shared/c++/PromotionalOfferJwsInputIOS.hpp +16 -8
  506. package/nitrogen/generated/shared/c++/PurchaseAndroid.hpp +93 -83
  507. package/nitrogen/generated/shared/c++/PurchaseIOS.hpp +140 -130
  508. package/nitrogen/generated/shared/c++/PurchaseOfferIOS.hpp +19 -11
  509. package/nitrogen/generated/shared/c++/PurchaseState.hpp +1 -1
  510. package/nitrogen/generated/shared/c++/PurchaseVerificationProvider.hpp +1 -1
  511. package/nitrogen/generated/shared/c++/RenewalInfoIOS.hpp +56 -46
  512. package/nitrogen/generated/shared/c++/SubscriptionProductReplacementParamsAndroid.hpp +16 -8
  513. package/nitrogen/generated/shared/c++/SubscriptionReplacementModeAndroid.hpp +1 -1
  514. package/nitrogen/generated/shared/c++/UserChoiceBillingDetails.hpp +16 -8
  515. package/nitrogen/generated/shared/c++/WinBackOfferInputIOS.hpp +13 -5
  516. package/package.json +6 -6
  517. package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroProduct_.swift +0 -47
  518. package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroPurchase_.swift +0 -47
  519. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +0 -54
  520. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS____.swift +0 -81
  521. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__vector_NitroSubscriptionStatus__.swift +0 -54
@@ -40,9 +40,13 @@ class HybridRnIap: HybridRnIapSpec {
40
40
 
41
41
 
42
42
 
43
- func initConnection(config: InitConnectionConfig?) throws -> Promise<Bool> {
43
+ func initConnection(config: Variant_NullType_InitConnectionConfig?) throws -> Promise<Bool> {
44
44
  return Promise.async {
45
- RnIapLog.payload("initConnection", config?.alternativeBillingModeAndroid)
45
+ let configValue: InitConnectionConfig? = {
46
+ if case .second(let c) = config { return c }
47
+ return nil
48
+ }()
49
+ RnIapLog.payload("initConnection", configValue?.alternativeBillingModeAndroid)
46
50
  self.attachListenersIfNeeded()
47
51
 
48
52
  if self.isInitialized || self.isInitializing {
@@ -144,9 +148,9 @@ class HybridRnIap: HybridRnIapSpec {
144
148
  }
145
149
  }
146
150
 
147
- func requestPurchase(request: NitroPurchaseRequest) throws -> Promise<RequestPurchaseResult?> {
151
+ func requestPurchase(request: NitroPurchaseRequest) throws -> Promise<RequestPurchaseResult> {
148
152
  return Promise.async {
149
- let defaultResult: RequestPurchaseResult? = .third([])
153
+ let defaultResult: RequestPurchaseResult = .fourth([])
150
154
  RnIapLog.payload(
151
155
  "requestPurchase", [
152
156
  "hasIOS": request.ios != nil,
@@ -154,7 +158,10 @@ class HybridRnIap: HybridRnIapSpec {
154
158
  ]
155
159
  )
156
160
 
157
- guard let iosRequest = request.ios else {
161
+ let iosRequest: NitroRequestPurchaseIos
162
+ if case .second(let unwrapped) = request.ios {
163
+ iosRequest = unwrapped
164
+ } else {
158
165
  let error = RnIapHelper.makePurchaseErrorResult(
159
166
  code: .developerError,
160
167
  message: "No iOS request provided"
@@ -175,30 +182,30 @@ class HybridRnIap: HybridRnIapSpec {
175
182
 
176
183
  do {
177
184
  var iosPayload: [String: Any] = ["sku": iosRequest.sku]
178
- if let quantity = iosRequest.quantity { iosPayload["quantity"] = Int(quantity) }
179
- if let finishAutomatically = iosRequest.andDangerouslyFinishTransactionAutomatically {
185
+ if case .second(let quantity) = iosRequest.quantity { iosPayload["quantity"] = Int(quantity) }
186
+ if case .second(let finishAutomatically) = iosRequest.andDangerouslyFinishTransactionAutomatically {
180
187
  iosPayload["andDangerouslyFinishTransactionAutomatically"] = finishAutomatically
181
188
  }
182
- if let appAccountToken = iosRequest.appAccountToken {
189
+ if case .second(let appAccountToken) = iosRequest.appAccountToken {
183
190
  iosPayload["appAccountToken"] = appAccountToken
184
191
  }
185
- if let withOffer = iosRequest.withOffer {
192
+ if case .second(let withOffer) = iosRequest.withOffer {
186
193
  iosPayload["withOffer"] = withOffer
187
194
  }
188
- if let advancedCommerceData = iosRequest.advancedCommerceData {
195
+ if case .second(let advancedCommerceData) = iosRequest.advancedCommerceData {
189
196
  iosPayload["advancedCommerceData"] = advancedCommerceData
190
197
  }
191
198
  // WWDC 2025 / iOS 18+ subscription offer fields
192
- if let introductoryOfferEligibility = iosRequest.introductoryOfferEligibility {
199
+ if case .second(let introductoryOfferEligibility) = iosRequest.introductoryOfferEligibility {
193
200
  iosPayload["introductoryOfferEligibility"] = introductoryOfferEligibility
194
201
  }
195
- if let promotionalOfferJWS = iosRequest.promotionalOfferJWS {
202
+ if case .second(let promotionalOfferJWS) = iosRequest.promotionalOfferJWS {
196
203
  iosPayload["promotionalOfferJWS"] = [
197
204
  "jws": promotionalOfferJWS.jws,
198
205
  "offerId": promotionalOfferJWS.offerId
199
206
  ]
200
207
  }
201
- if let winBackOffer = iosRequest.winBackOffer {
208
+ if case .second(let winBackOffer) = iosRequest.winBackOffer {
202
209
  iosPayload["winBackOffer"] = ["offerId": winBackOffer.offerId]
203
210
  }
204
211
 
@@ -248,8 +255,22 @@ class HybridRnIap: HybridRnIapSpec {
248
255
  return Promise.async {
249
256
  try self.ensureConnection()
250
257
  do {
251
- let alsoPublish = options?.ios?.alsoPublishToEventListener ?? false
252
- let onlyActive = options?.ios?.onlyIncludeActiveItemsIOS ?? options?.ios?.onlyIncludeActiveItems ?? false
258
+ // Unwrap Variant ios options
259
+ let iosOpts: NitroAvailablePurchasesIosOptions?
260
+ if case .second(let unwrapped) = options?.ios {
261
+ iosOpts = unwrapped
262
+ } else {
263
+ iosOpts = nil
264
+ }
265
+ let alsoPublish: Bool = {
266
+ if case .second(let val) = iosOpts?.alsoPublishToEventListener { return val }
267
+ return false
268
+ }()
269
+ let onlyActive: Bool = {
270
+ if case .second(let val) = iosOpts?.onlyIncludeActiveItemsIOS { return val }
271
+ if case .second(let val) = iosOpts?.onlyIncludeActiveItems { return val }
272
+ return false
273
+ }()
253
274
  let optionsDictionary: [String: Any] = [
254
275
  "alsoPublishToEventListenerIOS": alsoPublish,
255
276
  "onlyIncludeActiveItemsIOS": onlyActive
@@ -310,7 +331,7 @@ class HybridRnIap: HybridRnIapSpec {
310
331
 
311
332
  func finishTransaction(params: NitroFinishTransactionParams) throws -> Promise<Variant_Bool_NitroPurchaseResult> {
312
333
  return Promise.async {
313
- guard let iosParams = params.ios else { return .first(true) }
334
+ guard case .second(let iosParams) = params.ios else { return .first(true) }
314
335
  try self.ensureConnection()
315
336
  do {
316
337
  RnIapLog.payload(
@@ -347,7 +368,7 @@ class HybridRnIap: HybridRnIapSpec {
347
368
  return Promise.async {
348
369
  do {
349
370
  // Extract SKU from apple options (new platform-specific structure)
350
- guard let appleOptions = params.apple, !appleOptions.sku.isEmpty else {
371
+ guard case .second(let appleOptions) = params.apple, !appleOptions.sku.isEmpty else {
351
372
  throw OpenIapException.make(code: .developerError, message: "Missing required parameter: apple.sku")
352
373
  }
353
374
  let sku = appleOptions.sku
@@ -372,7 +393,7 @@ class HybridRnIap: HybridRnIapSpec {
372
393
  isValid: result.isValid,
373
394
  receiptData: result.receiptData,
374
395
  jwsRepresentation: result.jwsRepresentation,
375
- latestTransaction: latest
396
+ latestTransaction: latest.map { .second($0) }
376
397
  )
377
398
  return .first(mapped)
378
399
  } catch let purchaseError as PurchaseError {
@@ -392,18 +413,18 @@ class HybridRnIap: HybridRnIapSpec {
392
413
  // Convert Nitro params to OpenIAP props using JSONSerialization (same as expo-iap)
393
414
  // Use stringValue for enum to get proper string representation ("iapkit" instead of numeric rawValue)
394
415
  var propsDict: [String: Any] = ["provider": params.provider.stringValue]
395
- if let iapkit = params.iapkit {
416
+ if case .second(let iapkit) = params.iapkit {
396
417
  var iapkitDict: [String: Any] = [:]
397
418
  // Use provided apiKey, or fallback to Info.plist IAPKitAPIKey (set by config plugin)
398
- if let apiKey = iapkit.apiKey {
419
+ if case .second(let apiKey) = iapkit.apiKey {
399
420
  iapkitDict["apiKey"] = apiKey
400
421
  } else if let plistApiKey = Bundle.main.object(forInfoDictionaryKey: "IAPKitAPIKey") as? String {
401
422
  iapkitDict["apiKey"] = plistApiKey
402
423
  }
403
- if let apple = iapkit.apple {
424
+ if case .second(let apple) = iapkit.apple {
404
425
  iapkitDict["apple"] = ["jws": apple.jws]
405
426
  }
406
- if let google = iapkit.google {
427
+ if case .second(let google) = iapkit.google {
407
428
  iapkitDict["google"] = ["purchaseToken": google.purchaseToken]
408
429
  }
409
430
  propsDict["iapkit"] = iapkitDict
@@ -427,14 +448,16 @@ class HybridRnIap: HybridRnIapSpec {
427
448
  if let errors = result.errors {
428
449
  nitroErrors = errors.map { error in
429
450
  NitroVerifyPurchaseWithProviderError(
430
- code: error.code,
451
+ code: RnIapHelper.wrapString(error.code),
431
452
  message: error.message
432
453
  )
433
454
  }
434
455
  }
456
+ let wrappedIapkit: Variant_NullType_NitroVerifyPurchaseWithIapkitResult? = nitroIapkitResult.map { .second($0) }
457
+ let wrappedErrors: Variant_NullType__NitroVerifyPurchaseWithProviderError_? = nitroErrors.map { .second($0) }
435
458
  return NitroVerifyPurchaseWithProviderResult(
436
- iapkit: nitroIapkitResult,
437
- errors: nitroErrors,
459
+ iapkit: wrappedIapkit,
460
+ errors: wrappedErrors,
438
461
  provider: PurchaseVerificationProvider(fromString: result.provider.rawValue) ?? .iapkit
439
462
  )
440
463
  } catch let purchaseError as PurchaseError {
@@ -470,7 +493,7 @@ class HybridRnIap: HybridRnIapSpec {
470
493
  return try getStorefront()
471
494
  }
472
495
 
473
- func getAppTransactionIOS() throws -> Promise<String?> {
496
+ func getAppTransactionIOS() throws -> Promise<Variant_NullType_String> {
474
497
  return Promise.async {
475
498
  do {
476
499
  RnIapLog.payload("getAppTransactionIOS", nil)
@@ -494,33 +517,34 @@ class HybridRnIap: HybridRnIapSpec {
494
517
  let jsonData = try JSONSerialization.data(withJSONObject: result, options: [])
495
518
  let string = String(data: jsonData, encoding: .utf8)
496
519
  RnIapLog.result("getAppTransactionIOS", "<appTransaction>")
497
- return string
520
+ if let s = string { return .second(s) }
521
+ return .first(.null)
498
522
  }
499
523
  RnIapLog.result("getAppTransactionIOS", nil)
500
- return nil
524
+ return .first(.null)
501
525
  } else {
502
526
  RnIapLog.result("getAppTransactionIOS", nil)
503
- return nil
527
+ return .first(.null)
504
528
  }
505
529
  } catch {
506
530
  RnIapLog.failure("getAppTransactionIOS", error: error)
507
- return nil
531
+ return .first(.null)
508
532
  }
509
533
  }
510
534
  }
511
535
 
512
- func getPromotedProductIOS() throws -> Promise<NitroProduct?> {
536
+ func getPromotedProductIOS() throws -> Promise<Variant_NullType_NitroProduct> {
513
537
  return Promise.async {
514
538
  try self.ensureConnection()
515
539
  do {
516
540
  RnIapLog.payload("getPromotedProductIOS", nil)
517
541
  guard let product = try await OpenIapModule.shared.getPromotedProductIOS() else {
518
542
  RnIapLog.result("getPromotedProductIOS", nil)
519
- return nil
543
+ return .first(.null)
520
544
  }
521
545
  let payload = RnIapHelper.sanitizeDictionary(OpenIapSerialization.encode(product))
522
546
  RnIapLog.result("getPromotedProductIOS", payload)
523
- return RnIapHelper.convertProductDictionary(payload)
547
+ return .second(RnIapHelper.convertProductDictionary(payload))
524
548
  } catch let purchaseError as PurchaseError {
525
549
  RnIapLog.failure("getPromotedProductIOS", error: purchaseError)
526
550
  throw OpenIapException.from(purchaseError)
@@ -531,7 +555,7 @@ class HybridRnIap: HybridRnIapSpec {
531
555
  }
532
556
  }
533
557
 
534
- func requestPromotedProductIOS() throws -> Promise<NitroProduct?> {
558
+ func requestPromotedProductIOS() throws -> Promise<Variant_NullType_NitroProduct> {
535
559
  return try getPromotedProductIOS()
536
560
  }
537
561
 
@@ -578,7 +602,7 @@ class HybridRnIap: HybridRnIapSpec {
578
602
 
579
603
  // Additional iOS-only functions for feature parity with expo-iap
580
604
 
581
- func subscriptionStatusIOS(sku: String) throws -> Promise<[NitroSubscriptionStatus]?> {
605
+ func subscriptionStatusIOS(sku: String) throws -> Promise<Variant_NullType__NitroSubscriptionStatus_> {
582
606
  return Promise.async {
583
607
  try self.ensureConnection()
584
608
  do {
@@ -586,7 +610,7 @@ class HybridRnIap: HybridRnIapSpec {
586
610
  let statuses = try await OpenIapModule.shared.subscriptionStatusIOS(sku: sku)
587
611
  let payloads = statuses.map { RnIapHelper.sanitizeDictionary(OpenIapSerialization.encode($0)) }
588
612
  RnIapLog.result("subscriptionStatusIOS", payloads)
589
- return payloads.map { payload in
613
+ let result: [NitroSubscriptionStatus] = payloads.map { payload in
590
614
  let stateValue: Double
591
615
  if let numeric = RnIapHelper.doubleValue(payload["state"]) {
592
616
  stateValue = numeric
@@ -596,20 +620,23 @@ class HybridRnIap: HybridRnIapSpec {
596
620
  stateValue = 0
597
621
  }
598
622
  let platform = payload["platform"] as? String ?? "ios"
599
- var renewalInfo: NitroSubscriptionRenewalInfo? = nil
623
+ var renewalInfo: Variant_NullType_NitroSubscriptionRenewalInfo? = nil
600
624
  if let renewalPayload = payload["renewalInfo"] as? [String: Any?] {
601
- renewalInfo = RnIapHelper.convertRenewalInfo(RnIapHelper.sanitizeDictionary(renewalPayload))
625
+ if let info = RnIapHelper.convertRenewalInfo(RnIapHelper.sanitizeDictionary(renewalPayload)) {
626
+ renewalInfo = .second(info)
627
+ }
602
628
  }
603
629
  return NitroSubscriptionStatus(state: stateValue, platform: platform, renewalInfo: renewalInfo)
604
630
  }
631
+ return .second(result)
605
632
  } catch {
606
633
  RnIapLog.failure("subscriptionStatusIOS", error: error)
607
- return []
634
+ return .second([])
608
635
  }
609
636
  }
610
637
  }
611
638
 
612
- func currentEntitlementIOS(sku: String) throws -> Promise<NitroPurchase?> {
639
+ func currentEntitlementIOS(sku: String) throws -> Promise<Variant_NullType_NitroPurchase> {
613
640
  return Promise.async {
614
641
  try self.ensureConnection()
615
642
  do {
@@ -624,10 +651,10 @@ class HybridRnIap: HybridRnIapSpec {
624
651
  self.purchasePayloadById[identifier] = raw
625
652
  }
626
653
  }
627
- return RnIapHelper.convertPurchaseDictionary(payload)
654
+ return .second(RnIapHelper.convertPurchaseDictionary(payload))
628
655
  }
629
656
  RnIapLog.result("currentEntitlementIOS", nil)
630
- return Optional<NitroPurchase>.none
657
+ return .first(.null)
631
658
  } catch {
632
659
  RnIapLog.failure("currentEntitlementIOS", error: error)
633
660
  throw OpenIapException.make(code: .skuNotFound, productId: sku)
@@ -635,7 +662,7 @@ class HybridRnIap: HybridRnIapSpec {
635
662
  }
636
663
  }
637
664
 
638
- func latestTransactionIOS(sku: String) throws -> Promise<NitroPurchase?> {
665
+ func latestTransactionIOS(sku: String) throws -> Promise<Variant_NullType_NitroPurchase> {
639
666
  return Promise.async {
640
667
  try self.ensureConnection()
641
668
  do {
@@ -650,10 +677,10 @@ class HybridRnIap: HybridRnIapSpec {
650
677
  self.purchasePayloadById[identifier] = raw
651
678
  }
652
679
  }
653
- return RnIapHelper.convertPurchaseDictionary(payload)
680
+ return .second(RnIapHelper.convertPurchaseDictionary(payload))
654
681
  }
655
682
  RnIapLog.result("latestTransactionIOS", nil)
656
- return Optional<NitroPurchase>.none
683
+ return .first(.null)
657
684
  } catch {
658
685
  RnIapLog.failure("latestTransactionIOS", error: error)
659
686
  throw OpenIapException.make(code: .skuNotFound, productId: sku)
@@ -822,7 +849,7 @@ class HybridRnIap: HybridRnIapSpec {
822
849
  }
823
850
  }
824
851
 
825
- func getTransactionJwsIOS(sku: String) throws -> Promise<String?> {
852
+ func getTransactionJwsIOS(sku: String) throws -> Promise<Variant_NullType_String> {
826
853
  return Promise.async {
827
854
  try self.ensureConnection()
828
855
  do {
@@ -830,7 +857,10 @@ class HybridRnIap: HybridRnIapSpec {
830
857
  let jws = try await OpenIapModule.shared.getTransactionJwsIOS(sku: sku)
831
858
  let maskedJws: Any? = (jws == nil) ? nil : "<jws>"
832
859
  RnIapLog.result("getTransactionJwsIOS", maskedJws)
833
- return jws
860
+ if let jws {
861
+ return .second(jws)
862
+ }
863
+ return .first(.null)
834
864
  } catch {
835
865
  RnIapLog.failure("getTransactionJwsIOS", error: error)
836
866
  throw OpenIapException.make(code: .transactionValidationFailed, message: "Can't find transaction for sku \(sku)")
@@ -838,16 +868,19 @@ class HybridRnIap: HybridRnIapSpec {
838
868
  }
839
869
  }
840
870
 
841
- func beginRefundRequestIOS(sku: String) throws -> Promise<String?> {
871
+ func beginRefundRequestIOS(sku: String) throws -> Promise<Variant_NullType_String> {
842
872
  return Promise.async {
843
873
  do {
844
874
  RnIapLog.payload("beginRefundRequestIOS", ["sku": sku])
845
875
  let result = try await OpenIapModule.shared.beginRefundRequestIOS(sku: sku)
846
876
  RnIapLog.result("beginRefundRequestIOS", result)
847
- return result
877
+ if let result {
878
+ return .second(result)
879
+ }
880
+ return .first(.null)
848
881
  } catch {
849
882
  RnIapLog.failure("beginRefundRequestIOS", error: error)
850
- return nil
883
+ return .first(.null)
851
884
  }
852
885
  }
853
886
  }
@@ -960,11 +993,7 @@ class HybridRnIap: HybridRnIapSpec {
960
993
  let id = productId
961
994
  let snapshot = self.listenerLock.withLock { Array(self.promotedProductListeners) }
962
995
  await MainActor.run {
963
- var minimal = NitroProduct()
964
- minimal.id = id
965
- minimal.title = id
966
- minimal.type = "inapp"
967
- minimal.platform = .ios
996
+ let minimal = RnIapHelper.makeMinimalProduct(id: id)
968
997
  for listener in snapshot { listener(minimal) }
969
998
  }
970
999
  }
@@ -981,12 +1010,16 @@ class HybridRnIap: HybridRnIapSpec {
981
1010
  }
982
1011
 
983
1012
  private func sendPurchaseUpdate(_ purchase: NitroPurchase) {
984
- let keyComponents = [
1013
+ let originalTxId: String
1014
+ if case .second(let val) = purchase.originalTransactionIdentifierIOS { originalTxId = val } else { originalTxId = "" }
1015
+ let purchaseTokenStr: String
1016
+ if case .second(let val) = purchase.purchaseToken { purchaseTokenStr = val } else { purchaseTokenStr = "" }
1017
+ let keyComponents: [String] = [
985
1018
  purchase.id,
986
1019
  purchase.productId,
987
1020
  String(purchase.transactionDate),
988
- purchase.originalTransactionIdentifierIOS ?? "",
989
- purchase.purchaseToken ?? ""
1021
+ originalTxId,
1022
+ purchaseTokenStr
990
1023
  ]
991
1024
  let eventKey = keyComponents.joined(separator: "#")
992
1025
 
@@ -1037,9 +1070,17 @@ class HybridRnIap: HybridRnIapSpec {
1037
1070
  if shouldSkip { return }
1038
1071
 
1039
1072
  // Ensure we never leak SKU via purchaseToken
1040
- var sanitized = error
1041
- if let pid = productId, sanitized.purchaseToken == pid {
1042
- sanitized.purchaseToken = nil
1073
+ let sanitized: NitroPurchaseResult
1074
+ if let pid = productId, error.purchaseToken == pid {
1075
+ sanitized = NitroPurchaseResult(
1076
+ responseCode: error.responseCode,
1077
+ debugMessage: error.debugMessage,
1078
+ code: error.code,
1079
+ message: error.message,
1080
+ purchaseToken: nil
1081
+ )
1082
+ } else {
1083
+ sanitized = error
1043
1084
  }
1044
1085
  let snapshot = listenerLock.withLock { Array(purchaseErrorListeners) }
1045
1086
  for listener in snapshot {
@@ -1089,7 +1130,10 @@ class HybridRnIap: HybridRnIapSpec {
1089
1130
  lastPurchaseErrorTimestamp = 0
1090
1131
  deliveredPurchaseEventKeys.removeAll()
1091
1132
  deliveredPurchaseEventOrder.removeAll()
1092
- purchasePayloadById.removeAll()
1133
+ }
1134
+ // Clear purchasePayloadById on MainActor to match its access pattern
1135
+ Task { @MainActor in
1136
+ self.purchasePayloadById.removeAll()
1093
1137
  }
1094
1138
  }
1095
1139
 
@@ -1113,7 +1157,7 @@ class HybridRnIap: HybridRnIapSpec {
1113
1157
  }
1114
1158
  }
1115
1159
 
1116
- func createAlternativeBillingTokenAndroid(sku: String?) throws -> Promise<String?> {
1160
+ func createAlternativeBillingTokenAndroid(sku: Variant_NullType_String?) throws -> Promise<Variant_NullType_String> {
1117
1161
  return Promise.async {
1118
1162
  throw OpenIapException.make(code: .featureNotSupported)
1119
1163
  }
@@ -1202,8 +1246,8 @@ class HybridRnIap: HybridRnIapSpec {
1202
1246
  }
1203
1247
 
1204
1248
  let nitroResult = ExternalPurchaseNoticeResultIOS(
1205
- error: result.error,
1206
- externalPurchaseToken: result.externalPurchaseToken,
1249
+ error: RnIapHelper.wrapString(result.error),
1250
+ externalPurchaseToken: RnIapHelper.wrapString(result.externalPurchaseToken),
1207
1251
  result: nitroAction
1208
1252
  )
1209
1253
  var encoded = RnIapHelper.sanitizeDictionary(OpenIapSerialization.encode(result))
@@ -1236,7 +1280,7 @@ class HybridRnIap: HybridRnIapSpec {
1236
1280
  do {
1237
1281
  let result = try await OpenIapModule.shared.presentExternalPurchaseLinkIOS(url)
1238
1282
  let nitroResult = ExternalPurchaseLinkResultIOS(
1239
- error: result.error,
1283
+ error: RnIapHelper.wrapString(result.error),
1240
1284
  success: result.success
1241
1285
  )
1242
1286
  RnIapLog.result("presentExternalPurchaseLinkIOS", result)
@@ -1285,8 +1329,8 @@ class HybridRnIap: HybridRnIapSpec {
1285
1329
  }
1286
1330
  let result = try await OpenIapModule.shared.getExternalPurchaseCustomLinkTokenIOS(openIapTokenType)
1287
1331
  let nitroResult = ExternalPurchaseCustomLinkTokenResultIOS(
1288
- error: result.error,
1289
- token: result.token
1332
+ error: RnIapHelper.wrapString(result.error),
1333
+ token: RnIapHelper.wrapString(result.token)
1290
1334
  )
1291
1335
  var encoded = RnIapHelper.sanitizeDictionary(OpenIapSerialization.encode(result))
1292
1336
  if encoded["token"] != nil {
@@ -1322,7 +1366,7 @@ class HybridRnIap: HybridRnIapSpec {
1322
1366
  let result = try await OpenIapModule.shared.showExternalPurchaseCustomLinkNoticeIOS(openIapNoticeType)
1323
1367
  let nitroResult = ExternalPurchaseCustomLinkNoticeResultIOS(
1324
1368
  continued: result.continued,
1325
- error: result.error
1369
+ error: RnIapHelper.wrapString(result.error)
1326
1370
  )
1327
1371
  RnIapLog.result("showExternalPurchaseCustomLinkNoticeIOS", result)
1328
1372
  return nitroResult