react-native-iap 15.4.0-rc.3 → 15.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (489) hide show
  1. package/README.md +23 -25
  2. package/android/src/main/java/com/margelo/nitro/iap/ConnectionLifecycleQueue.kt +113 -0
  3. package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +471 -255
  4. package/android/src/main/java/com/margelo/nitro/iap/ProductSerialization.kt +98 -0
  5. package/android/src/main/java/com/margelo/nitro/iap/RnIapLog.kt +23 -1
  6. package/ios/HybridRnIap.swift +230 -140
  7. package/ios/RnIapHelper.swift +180 -28
  8. package/ios/RnIapLog.swift +24 -1
  9. package/lib/module/hooks/useIAP.js +20 -4
  10. package/lib/module/hooks/useIAP.js.map +1 -1
  11. package/lib/module/index.js +151 -46
  12. package/lib/module/index.js.map +1 -1
  13. package/lib/module/index.kepler.js +3 -0
  14. package/lib/module/index.kepler.js.map +1 -1
  15. package/lib/module/types.js +77 -14
  16. package/lib/module/types.js.map +1 -1
  17. package/lib/module/utils/error.js +7 -3
  18. package/lib/module/utils/error.js.map +1 -1
  19. package/lib/module/utils/errorMapping.js +2 -0
  20. package/lib/module/utils/errorMapping.js.map +1 -1
  21. package/lib/module/utils/type-bridge.js +50 -22
  22. package/lib/module/utils/type-bridge.js.map +1 -1
  23. package/lib/module/vega-adapter.js +55 -8
  24. package/lib/module/vega-adapter.js.map +1 -1
  25. package/lib/typescript/src/hooks/useIAP.d.ts +28 -5
  26. package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
  27. package/lib/typescript/src/index.d.ts +50 -10
  28. package/lib/typescript/src/index.d.ts.map +1 -1
  29. package/lib/typescript/src/index.kepler.d.ts +3 -0
  30. package/lib/typescript/src/index.kepler.d.ts.map +1 -1
  31. package/lib/typescript/src/specs/RnIap.nitro.d.ts +98 -26
  32. package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
  33. package/lib/typescript/src/types.d.ts +279 -59
  34. package/lib/typescript/src/types.d.ts.map +1 -1
  35. package/lib/typescript/src/utils/error.d.ts.map +1 -1
  36. package/lib/typescript/src/utils/errorMapping.d.ts +3 -1
  37. package/lib/typescript/src/utils/errorMapping.d.ts.map +1 -1
  38. package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -1
  39. package/lib/typescript/src/vega-adapter.d.ts.map +1 -1
  40. package/nitro.json +8 -2
  41. package/nitrogen/generated/android/NitroIap+autolinking.cmake +4 -1
  42. package/nitrogen/generated/android/NitroIapOnLoad.cpp +2 -2
  43. package/nitrogen/generated/android/c++/JAdvancedCommerceInfoIOS.hpp +10 -10
  44. package/nitrogen/generated/android/c++/JAdvancedCommerceItemDetailsIOS.hpp +2 -2
  45. package/nitrogen/generated/android/c++/JAdvancedCommerceItemIOS.hpp +2 -2
  46. package/nitrogen/generated/android/c++/JAdvancedCommerceRefundIOS.hpp +2 -2
  47. package/nitrogen/generated/android/c++/JAlternativeBillingModeAndroid.hpp +2 -2
  48. package/nitrogen/generated/android/c++/JAndroidSubscriptionOfferInput.hpp +2 -2
  49. package/nitrogen/generated/android/c++/JBillingChoiceImageLayoutAndroid.hpp +61 -0
  50. package/nitrogen/generated/android/c++/JBillingChoiceScreenTypeAndroid.hpp +61 -0
  51. package/nitrogen/generated/android/c++/JBillingProgramAndroid.hpp +5 -2
  52. package/nitrogen/generated/android/c++/JDeveloperBillingLaunchModeAndroid.hpp +61 -0
  53. package/nitrogen/generated/android/c++/JDeveloperBillingOptionParamsAndroid.hpp +78 -0
  54. package/nitrogen/generated/android/c++/JDeveloperBillingTypeAndroid.hpp +61 -0
  55. package/nitrogen/generated/android/c++/JDeveloperProvidedBillingDetailsAndroid.hpp +47 -7
  56. package/nitrogen/generated/android/c++/JDeveloperProvidedBillingProductAndroid.hpp +72 -0
  57. package/nitrogen/generated/android/c++/JExternalLinkLaunchModeAndroid.hpp +2 -2
  58. package/nitrogen/generated/android/c++/JExternalLinkTypeAndroid.hpp +2 -2
  59. package/nitrogen/generated/android/c++/JExternalPurchaseCustomLinkNoticeResultIOS.hpp +2 -2
  60. package/nitrogen/generated/android/c++/JExternalPurchaseCustomLinkNoticeTypeIOS.hpp +2 -2
  61. package/nitrogen/generated/android/c++/JExternalPurchaseCustomLinkTokenResultIOS.hpp +2 -2
  62. package/nitrogen/generated/android/c++/JExternalPurchaseCustomLinkTokenTypeIOS.hpp +2 -2
  63. package/nitrogen/generated/android/c++/JExternalPurchaseLinkResultIOS.hpp +2 -2
  64. package/nitrogen/generated/android/c++/JExternalPurchaseNoticeAction.hpp +2 -2
  65. package/nitrogen/generated/android/c++/JExternalPurchaseNoticeResultIOS.hpp +2 -2
  66. package/nitrogen/generated/android/c++/JFunc_void_DeveloperProvidedBillingDetailsAndroid.hpp +12 -2
  67. package/nitrogen/generated/android/c++/JFunc_void_NitroProduct.hpp +2 -2
  68. package/nitrogen/generated/android/c++/JFunc_void_NitroPurchase.hpp +26 -2
  69. package/nitrogen/generated/android/c++/JFunc_void_NitroPurchaseResult.hpp +5 -2
  70. package/nitrogen/generated/android/c++/JFunc_void_UserChoiceBillingDetails.hpp +12 -2
  71. package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +160 -48
  72. package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +7 -4
  73. package/nitrogen/generated/android/c++/JIapPlatform.hpp +2 -2
  74. package/nitrogen/generated/android/c++/JIapStore.hpp +2 -2
  75. package/nitrogen/generated/android/c++/JIapkitPurchaseState.hpp +2 -2
  76. package/nitrogen/generated/android/c++/JInAppMessageCategoryAndroid.hpp +58 -0
  77. package/nitrogen/generated/android/c++/JInAppMessageResponseCodeAndroid.hpp +58 -0
  78. package/nitrogen/generated/android/c++/JInitConnectionConfig.hpp +9 -3
  79. package/nitrogen/generated/android/c++/JNitroActiveSubscription.hpp +7 -2
  80. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidOptions.hpp +2 -2
  81. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidType.hpp +2 -2
  82. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesIosOptions.hpp +2 -2
  83. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesOptions.hpp +2 -2
  84. package/nitrogen/generated/android/c++/JNitroBillingChoiceInfoAndroid.hpp +66 -0
  85. package/nitrogen/generated/android/c++/JNitroBillingProgramAvailabilityResultAndroid.hpp +20 -5
  86. package/nitrogen/generated/android/c++/JNitroBillingProgramInformationDialogParamsAndroid.hpp +63 -0
  87. package/nitrogen/generated/android/c++/JNitroBillingProgramReportingDetailsAndroid.hpp +2 -2
  88. package/nitrogen/generated/android/c++/JNitroBillingResultAndroid.hpp +72 -0
  89. package/nitrogen/generated/android/c++/JNitroDeepLinkOptionsAndroid.hpp +2 -2
  90. package/nitrogen/generated/android/c++/JNitroDiscountAmountAndroid.hpp +2 -2
  91. package/nitrogen/generated/android/c++/JNitroDiscountDisplayInfoAndroid.hpp +2 -2
  92. package/nitrogen/generated/android/c++/JNitroFinishTransactionAndroidParams.hpp +2 -2
  93. package/nitrogen/generated/android/c++/JNitroFinishTransactionIosParams.hpp +2 -2
  94. package/nitrogen/generated/android/c++/JNitroFinishTransactionParams.hpp +2 -2
  95. package/nitrogen/generated/android/c++/JNitroGetBillingChoiceInfoParamsAndroid.hpp +74 -0
  96. package/nitrogen/generated/android/c++/JNitroInAppMessageParamsAndroid.hpp +64 -0
  97. package/nitrogen/generated/android/c++/JNitroInAppMessageResultAndroid.hpp +68 -0
  98. package/nitrogen/generated/android/c++/JNitroLaunchExternalLinkParamsAndroid.hpp +12 -3
  99. package/nitrogen/generated/android/c++/JNitroLimitedQuantityInfoAndroid.hpp +2 -2
  100. package/nitrogen/generated/android/c++/JNitroOneTimePurchaseOfferDetail.hpp +15 -11
  101. package/nitrogen/generated/android/c++/JNitroPreorderDetailsAndroid.hpp +2 -2
  102. package/nitrogen/generated/android/c++/JNitroProduct.hpp +15 -3
  103. package/nitrogen/generated/android/c++/JNitroPurchase.hpp +53 -5
  104. package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +9 -2
  105. package/nitrogen/generated/android/c++/JNitroPurchaseResult.hpp +46 -5
  106. package/nitrogen/generated/android/c++/JNitroReceiptValidationAppleOptions.hpp +2 -2
  107. package/nitrogen/generated/android/c++/JNitroReceiptValidationGoogleOptions.hpp +2 -2
  108. package/nitrogen/generated/android/c++/JNitroReceiptValidationHorizonOptions.hpp +2 -2
  109. package/nitrogen/generated/android/c++/JNitroReceiptValidationParams.hpp +2 -2
  110. package/nitrogen/generated/android/c++/JNitroReceiptValidationResultAndroid.hpp +2 -2
  111. package/nitrogen/generated/android/c++/JNitroReceiptValidationResultIOS.hpp +26 -2
  112. package/nitrogen/generated/android/c++/JNitroRenewalInfoIOS.hpp +16 -3
  113. package/nitrogen/generated/android/c++/JNitroRentalDetailsAndroid.hpp +2 -2
  114. package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +26 -11
  115. package/nitrogen/generated/android/c++/JNitroRequestPurchaseIos.hpp +2 -2
  116. package/nitrogen/generated/android/c++/JNitroSubscriptionStatus.hpp +15 -9
  117. package/nitrogen/generated/android/c++/JNitroValidTimeWindowAndroid.hpp +2 -2
  118. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitAmazonProps.hpp +2 -2
  119. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitAppleProps.hpp +2 -2
  120. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitGoogleProps.hpp +2 -2
  121. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitProps.hpp +2 -2
  122. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitResult.hpp +2 -2
  123. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderError.hpp +2 -2
  124. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderProps.hpp +2 -2
  125. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderResult.hpp +2 -2
  126. package/nitrogen/generated/android/c++/JPaymentModeIOS.hpp +2 -2
  127. package/nitrogen/generated/android/c++/JPendingPurchaseUpdateAndroid.hpp +10 -10
  128. package/nitrogen/generated/android/c++/JProductType.hpp +58 -0
  129. package/nitrogen/generated/android/c++/JPromotionalOfferJwsInputIOS.hpp +2 -2
  130. package/nitrogen/generated/android/c++/JPurchase.hpp +3 -3
  131. package/nitrogen/generated/android/c++/JPurchaseAndroid.hpp +2 -2
  132. package/nitrogen/generated/android/c++/JPurchaseIOS.hpp +2 -2
  133. package/nitrogen/generated/android/c++/JPurchaseOfferIOS.hpp +2 -2
  134. package/nitrogen/generated/android/c++/JPurchaseState.hpp +2 -2
  135. package/nitrogen/generated/android/c++/JPurchaseUpdatedListenerOptions.hpp +2 -2
  136. package/nitrogen/generated/android/c++/JPurchaseVerificationProvider.hpp +2 -2
  137. package/nitrogen/generated/android/c++/JRenewalCommitmentInfoIOS.hpp +2 -2
  138. package/nitrogen/generated/android/c++/JRenewalInfoIOS.hpp +2 -2
  139. package/nitrogen/generated/android/c++/JRequestPurchaseResult.cpp +4 -4
  140. package/nitrogen/generated/android/c++/JRequestPurchaseResult.hpp +9 -9
  141. package/nitrogen/generated/android/c++/JSubResponseCodeAndroid.hpp +61 -0
  142. package/nitrogen/generated/android/c++/JSubscriptionBillingPlanTypeIOS.hpp +2 -2
  143. package/nitrogen/generated/android/c++/JSubscriptionProductReplacementParamsAndroid.hpp +2 -2
  144. package/nitrogen/generated/android/c++/JSubscriptionReplacementModeAndroid.hpp +2 -2
  145. package/nitrogen/generated/android/c++/JTransactionCommitmentInfoIOS.hpp +2 -2
  146. package/nitrogen/generated/android/c++/JUserChoiceBillingDetails.hpp +29 -11
  147. package/nitrogen/generated/android/c++/JVariant_Boolean_NitroPurchaseResult.hpp +6 -3
  148. package/nitrogen/generated/android/c++/JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.hpp +27 -3
  149. package/nitrogen/generated/android/c++/JVariant_NullType_AdvancedCommerceInfoIOS.hpp +3 -3
  150. package/nitrogen/generated/android/c++/JVariant_NullType_AdvancedCommerceItemDetailsIOS.hpp +3 -3
  151. package/nitrogen/generated/android/c++/JVariant_NullType_Array_AdvancedCommerceRefundIOS_.cpp +4 -4
  152. package/nitrogen/generated/android/c++/JVariant_NullType_Array_AdvancedCommerceRefundIOS_.hpp +7 -7
  153. package/nitrogen/generated/android/c++/JVariant_NullType_Array_AndroidSubscriptionOfferInput_.cpp +4 -4
  154. package/nitrogen/generated/android/c++/JVariant_NullType_Array_AndroidSubscriptionOfferInput_.hpp +7 -7
  155. package/nitrogen/generated/android/c++/JVariant_NullType_Array_DeveloperProvidedBillingProductAndroid_.cpp +35 -0
  156. package/nitrogen/generated/android/c++/JVariant_NullType_Array_DeveloperProvidedBillingProductAndroid_.hpp +86 -0
  157. package/nitrogen/generated/android/c++/JVariant_NullType_Array_InAppMessageCategoryAndroid_.cpp +35 -0
  158. package/nitrogen/generated/android/c++/JVariant_NullType_Array_InAppMessageCategoryAndroid_.hpp +81 -0
  159. package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroOneTimePurchaseOfferDetail_.cpp +4 -4
  160. package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroOneTimePurchaseOfferDetail_.hpp +7 -7
  161. package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroSubscriptionStatus_.cpp +4 -4
  162. package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroSubscriptionStatus_.hpp +16 -10
  163. package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroVerifyPurchaseWithProviderError_.cpp +4 -4
  164. package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroVerifyPurchaseWithProviderError_.hpp +7 -7
  165. package/nitrogen/generated/android/c++/JVariant_NullType_Array_String_.cpp +4 -4
  166. package/nitrogen/generated/android/c++/JVariant_NullType_Array_String_.hpp +7 -7
  167. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean.hpp +3 -3
  168. package/nitrogen/generated/android/c++/JVariant_NullType_DeveloperBillingOptionParamsAndroid.cpp +26 -0
  169. package/nitrogen/generated/android/c++/JVariant_NullType_DeveloperBillingOptionParamsAndroid.hpp +78 -0
  170. package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +3 -3
  171. package/nitrogen/generated/android/c++/JVariant_NullType_InitConnectionConfig.hpp +5 -3
  172. package/nitrogen/generated/android/c++/JVariant_NullType_Map_String__String_.hpp +3 -3
  173. package/nitrogen/generated/android/c++/JVariant_NullType_NitroAvailablePurchasesAndroidOptions.hpp +3 -3
  174. package/nitrogen/generated/android/c++/JVariant_NullType_NitroAvailablePurchasesIosOptions.hpp +3 -3
  175. package/nitrogen/generated/android/c++/JVariant_NullType_NitroDiscountAmountAndroid.hpp +3 -3
  176. package/nitrogen/generated/android/c++/JVariant_NullType_NitroDiscountDisplayInfoAndroid.hpp +3 -3
  177. package/nitrogen/generated/android/c++/JVariant_NullType_NitroFinishTransactionAndroidParams.hpp +3 -3
  178. package/nitrogen/generated/android/c++/JVariant_NullType_NitroFinishTransactionIosParams.hpp +3 -3
  179. package/nitrogen/generated/android/c++/JVariant_NullType_NitroInAppMessageParamsAndroid.cpp +26 -0
  180. package/nitrogen/generated/android/c++/JVariant_NullType_NitroInAppMessageParamsAndroid.hpp +76 -0
  181. package/nitrogen/generated/android/c++/JVariant_NullType_NitroLimitedQuantityInfoAndroid.hpp +3 -3
  182. package/nitrogen/generated/android/c++/JVariant_NullType_NitroPreorderDetailsAndroid.hpp +3 -3
  183. package/nitrogen/generated/android/c++/JVariant_NullType_NitroProduct.hpp +3 -3
  184. package/nitrogen/generated/android/c++/JVariant_NullType_NitroPurchase.hpp +27 -3
  185. package/nitrogen/generated/android/c++/JVariant_NullType_NitroReceiptValidationAppleOptions.hpp +3 -3
  186. package/nitrogen/generated/android/c++/JVariant_NullType_NitroReceiptValidationGoogleOptions.hpp +3 -3
  187. package/nitrogen/generated/android/c++/JVariant_NullType_NitroReceiptValidationHorizonOptions.hpp +3 -3
  188. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRenewalInfoIOS.hpp +8 -3
  189. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRentalDetailsAndroid.hpp +3 -3
  190. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRequestPurchaseAndroid.hpp +10 -3
  191. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRequestPurchaseIos.hpp +3 -3
  192. package/nitrogen/generated/android/c++/JVariant_NullType_NitroValidTimeWindowAndroid.hpp +3 -3
  193. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitAmazonProps.hpp +3 -3
  194. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitAppleProps.hpp +3 -3
  195. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitGoogleProps.hpp +3 -3
  196. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitProps.hpp +3 -3
  197. package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitResult.hpp +3 -3
  198. package/nitrogen/generated/android/c++/JVariant_NullType_PendingPurchaseUpdateAndroid.hpp +3 -3
  199. package/nitrogen/generated/android/c++/JVariant_NullType_PromotionalOfferJwsInputIOS.hpp +3 -3
  200. package/nitrogen/generated/android/c++/JVariant_NullType_PurchaseOfferIOS.hpp +3 -3
  201. package/nitrogen/generated/android/c++/JVariant_NullType_RenewalCommitmentInfoIOS.hpp +3 -3
  202. package/nitrogen/generated/android/c++/JVariant_NullType_RenewalInfoIOS.hpp +3 -3
  203. package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +3 -3
  204. package/nitrogen/generated/android/c++/JVariant_NullType_SubscriptionProductReplacementParamsAndroid.hpp +3 -3
  205. package/nitrogen/generated/android/c++/JVariant_NullType_TransactionCommitmentInfoIOS.hpp +3 -3
  206. package/nitrogen/generated/android/c++/JVariant_NullType_WinBackOfferInputIOS.hpp +3 -3
  207. package/nitrogen/generated/android/c++/JWinBackOfferInputIOS.hpp +2 -2
  208. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AdvancedCommerceInfoIOS.kt +27 -0
  209. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AdvancedCommerceItemDetailsIOS.kt +13 -0
  210. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AdvancedCommerceItemIOS.kt +17 -0
  211. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AdvancedCommerceRefundIOS.kt +13 -0
  212. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AndroidSubscriptionOfferInput.kt +15 -0
  213. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingChoiceImageLayoutAndroid.kt +24 -0
  214. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingChoiceScreenTypeAndroid.kt +24 -0
  215. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingProgramAndroid.kt +2 -1
  216. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingLaunchModeAndroid.kt +24 -0
  217. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingOptionParamsAndroid.kt +66 -0
  218. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingTypeAndroid.kt +24 -0
  219. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperProvidedBillingDetailsAndroid.kt +32 -4
  220. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperProvidedBillingProductAndroid.kt +61 -0
  221. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseCustomLinkNoticeResultIOS.kt +15 -0
  222. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseCustomLinkTokenResultIOS.kt +15 -0
  223. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseLinkResultIOS.kt +15 -0
  224. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseNoticeResultIOS.kt +17 -0
  225. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +14 -2
  226. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InAppMessageCategoryAndroid.kt +23 -0
  227. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InAppMessageResponseCodeAndroid.kt +23 -0
  228. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InitConnectionConfig.kt +22 -2
  229. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroActiveSubscription.kt +39 -0
  230. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesAndroidOptions.kt +15 -0
  231. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesIosOptions.kt +21 -0
  232. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesOptions.kt +15 -0
  233. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingChoiceInfoAndroid.kt +56 -0
  234. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramAvailabilityResultAndroid.kt +29 -4
  235. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramInformationDialogParamsAndroid.kt +56 -0
  236. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramReportingDetailsAndroid.kt +15 -0
  237. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingResultAndroid.kt +61 -0
  238. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDeepLinkOptionsAndroid.kt +15 -0
  239. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDiscountAmountAndroid.kt +15 -0
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDiscountDisplayInfoAndroid.kt +15 -0
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionAndroidParams.kt +15 -0
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionIosParams.kt +13 -0
  243. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionParams.kt +15 -0
  244. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroGetBillingChoiceInfoParamsAndroid.kt +61 -0
  245. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroInAppMessageParamsAndroid.kt +51 -0
  246. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroInAppMessageResultAndroid.kt +56 -0
  247. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLaunchExternalLinkParamsAndroid.kt +27 -3
  248. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLimitedQuantityInfoAndroid.kt +15 -0
  249. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroOneTimePurchaseOfferDetail.kt +42 -2
  250. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPreorderDetailsAndroid.kt +15 -0
  251. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +96 -2
  252. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +128 -3
  253. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseRequest.kt +19 -0
  254. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseResult.kt +49 -3
  255. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationAppleOptions.kt +13 -0
  256. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationGoogleOptions.kt +21 -0
  257. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationHorizonOptions.kt +17 -0
  258. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationParams.kt +17 -0
  259. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultAndroid.kt +47 -0
  260. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultIOS.kt +19 -0
  261. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRenewalInfoIOS.kt +45 -2
  262. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRentalDetailsAndroid.kt +15 -0
  263. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +41 -2
  264. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseIos.kt +31 -0
  265. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionStatus.kt +19 -2
  266. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroValidTimeWindowAndroid.kt +15 -0
  267. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitAmazonProps.kt +17 -0
  268. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitAppleProps.kt +13 -0
  269. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitGoogleProps.kt +13 -0
  270. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitProps.kt +19 -0
  271. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitResult.kt +17 -0
  272. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderError.kt +15 -0
  273. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderProps.kt +15 -0
  274. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderResult.kt +17 -0
  275. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PendingPurchaseUpdateAndroid.kt +15 -0
  276. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ProductType.kt +23 -0
  277. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PromotionalOfferJwsInputIOS.kt +15 -0
  278. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Purchase.kt +16 -7
  279. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseAndroid.kt +55 -0
  280. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseIOS.kt +85 -0
  281. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseOfferIOS.kt +17 -0
  282. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseUpdatedListenerOptions.kt +13 -0
  283. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RenewalCommitmentInfoIOS.kt +21 -0
  284. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RenewalInfoIOS.kt +37 -0
  285. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RequestPurchaseResult.kt +20 -9
  286. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/SubResponseCodeAndroid.kt +24 -0
  287. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/SubscriptionProductReplacementParamsAndroid.kt +15 -0
  288. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/TransactionCommitmentInfoIOS.kt +19 -0
  289. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/UserChoiceBillingDetails.kt +28 -3
  290. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_Boolean_NitroPurchaseResult.kt +16 -7
  291. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.kt +16 -7
  292. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_AdvancedCommerceInfoIOS.kt +16 -7
  293. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_AdvancedCommerceItemDetailsIOS.kt +16 -7
  294. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_AdvancedCommerceRefundIOS_.kt +16 -7
  295. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_AndroidSubscriptionOfferInput_.kt +16 -7
  296. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_DeveloperProvidedBillingProductAndroid_.kt +62 -0
  297. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_InAppMessageCategoryAndroid_.kt +62 -0
  298. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_NitroOneTimePurchaseOfferDetail_.kt +16 -7
  299. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_NitroSubscriptionStatus_.kt +16 -7
  300. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_NitroVerifyPurchaseWithProviderError_.kt +16 -7
  301. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_String_.kt +16 -7
  302. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Boolean.kt +16 -7
  303. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_DeveloperBillingOptionParamsAndroid.kt +62 -0
  304. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Double.kt +16 -7
  305. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_InitConnectionConfig.kt +16 -7
  306. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Map_String__String_.kt +16 -7
  307. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroAvailablePurchasesAndroidOptions.kt +16 -7
  308. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroAvailablePurchasesIosOptions.kt +16 -7
  309. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroDiscountAmountAndroid.kt +16 -7
  310. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroDiscountDisplayInfoAndroid.kt +16 -7
  311. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroFinishTransactionAndroidParams.kt +16 -7
  312. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroFinishTransactionIosParams.kt +16 -7
  313. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroInAppMessageParamsAndroid.kt +62 -0
  314. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroLimitedQuantityInfoAndroid.kt +16 -7
  315. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroPreorderDetailsAndroid.kt +16 -7
  316. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroProduct.kt +16 -7
  317. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroPurchase.kt +16 -7
  318. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroReceiptValidationAppleOptions.kt +16 -7
  319. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroReceiptValidationGoogleOptions.kt +16 -7
  320. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroReceiptValidationHorizonOptions.kt +16 -7
  321. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroRenewalInfoIOS.kt +16 -7
  322. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroRentalDetailsAndroid.kt +16 -7
  323. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroRequestPurchaseAndroid.kt +16 -7
  324. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroRequestPurchaseIos.kt +16 -7
  325. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroValidTimeWindowAndroid.kt +16 -7
  326. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitAmazonProps.kt +16 -7
  327. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitAppleProps.kt +16 -7
  328. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitGoogleProps.kt +16 -7
  329. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitProps.kt +16 -7
  330. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitResult.kt +16 -7
  331. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_PendingPurchaseUpdateAndroid.kt +16 -7
  332. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_PromotionalOfferJwsInputIOS.kt +16 -7
  333. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_PurchaseOfferIOS.kt +16 -7
  334. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_RenewalCommitmentInfoIOS.kt +16 -7
  335. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_RenewalInfoIOS.kt +16 -7
  336. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_String.kt +16 -7
  337. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_SubscriptionProductReplacementParamsAndroid.kt +16 -7
  338. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_TransactionCommitmentInfoIOS.kt +16 -7
  339. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_WinBackOfferInputIOS.kt +16 -7
  340. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/WinBackOfferInputIOS.kt +13 -0
  341. package/nitrogen/generated/ios/NitroIap+autolinking.rb +2 -0
  342. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +24 -0
  343. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +441 -47
  344. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +48 -3
  345. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +75 -6
  346. package/nitrogen/generated/ios/swift/BillingChoiceImageLayoutAndroid.swift +44 -0
  347. package/nitrogen/generated/ios/swift/BillingChoiceScreenTypeAndroid.swift +44 -0
  348. package/nitrogen/generated/ios/swift/BillingProgramAndroid.swift +4 -0
  349. package/nitrogen/generated/ios/swift/DeveloperBillingLaunchModeAndroid.swift +44 -0
  350. package/nitrogen/generated/ios/swift/DeveloperBillingOptionParamsAndroid.swift +114 -0
  351. package/nitrogen/generated/ios/swift/DeveloperBillingTypeAndroid.swift +44 -0
  352. package/nitrogen/generated/ios/swift/DeveloperProvidedBillingDetailsAndroid.swift +121 -4
  353. package/nitrogen/generated/ios/swift/DeveloperProvidedBillingProductAndroid.swift +71 -0
  354. package/nitrogen/generated/ios/swift/Func_void_NitroBillingChoiceInfoAndroid.swift +46 -0
  355. package/nitrogen/generated/ios/swift/Func_void_NitroBillingResultAndroid.swift +46 -0
  356. package/nitrogen/generated/ios/swift/Func_void_NitroInAppMessageResultAndroid.swift +46 -0
  357. package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +5 -2
  358. package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +85 -9
  359. package/nitrogen/generated/ios/swift/InAppMessageCategoryAndroid.swift +40 -0
  360. package/nitrogen/generated/ios/swift/InAppMessageResponseCodeAndroid.swift +40 -0
  361. package/nitrogen/generated/ios/swift/InitConnectionConfig.swift +12 -1
  362. package/nitrogen/generated/ios/swift/NitroBillingChoiceInfoAndroid.swift +66 -0
  363. package/nitrogen/generated/ios/swift/NitroBillingProgramAvailabilityResultAndroid.swift +50 -2
  364. package/nitrogen/generated/ios/swift/NitroBillingProgramInformationDialogParamsAndroid.swift +34 -0
  365. package/nitrogen/generated/ios/swift/NitroBillingResultAndroid.swift +77 -0
  366. package/nitrogen/generated/ios/swift/NitroGetBillingChoiceInfoParamsAndroid.swift +71 -0
  367. package/nitrogen/generated/ios/swift/NitroInAppMessageParamsAndroid.swift +67 -0
  368. package/nitrogen/generated/ios/swift/NitroInAppMessageResultAndroid.swift +66 -0
  369. package/nitrogen/generated/ios/swift/NitroLaunchExternalLinkParamsAndroid.swift +39 -2
  370. package/nitrogen/generated/ios/swift/NitroOneTimePurchaseOfferDetail.swift +39 -2
  371. package/nitrogen/generated/ios/swift/NitroProduct.swift +113 -2
  372. package/nitrogen/generated/ios/swift/NitroPurchase.swift +204 -2
  373. package/nitrogen/generated/ios/swift/NitroPurchaseResult.swift +90 -1
  374. package/nitrogen/generated/ios/swift/NitroRenewalInfoIOS.swift +49 -1
  375. package/nitrogen/generated/ios/swift/NitroRequestPurchaseAndroid.swift +75 -1
  376. package/nitrogen/generated/ios/swift/NitroSubscriptionStatus.swift +11 -11
  377. package/nitrogen/generated/ios/swift/ProductType.swift +40 -0
  378. package/nitrogen/generated/ios/swift/Purchase.swift +12 -0
  379. package/nitrogen/generated/ios/swift/RequestPurchaseResult.swift +14 -0
  380. package/nitrogen/generated/ios/swift/SubResponseCodeAndroid.swift +44 -0
  381. package/nitrogen/generated/ios/swift/UserChoiceBillingDetails.swift +82 -2
  382. package/nitrogen/generated/ios/swift/Variant_Bool_NitroPurchaseResult.swift +12 -0
  383. package/nitrogen/generated/ios/swift/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.swift +12 -0
  384. package/nitrogen/generated/ios/swift/Variant_NullType_AdvancedCommerceInfoIOS.swift +12 -0
  385. package/nitrogen/generated/ios/swift/Variant_NullType_AdvancedCommerceItemDetailsIOS.swift +12 -0
  386. package/nitrogen/generated/ios/swift/Variant_NullType_Bool.swift +12 -0
  387. package/nitrogen/generated/ios/swift/Variant_NullType_DeveloperBillingOptionParamsAndroid.swift +30 -0
  388. package/nitrogen/generated/ios/swift/Variant_NullType_Dictionary_String__String_.swift +12 -0
  389. package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +12 -0
  390. package/nitrogen/generated/ios/swift/Variant_NullType_InitConnectionConfig.swift +12 -0
  391. package/nitrogen/generated/ios/swift/Variant_NullType_NitroAvailablePurchasesAndroidOptions.swift +12 -0
  392. package/nitrogen/generated/ios/swift/Variant_NullType_NitroAvailablePurchasesIosOptions.swift +12 -0
  393. package/nitrogen/generated/ios/swift/Variant_NullType_NitroDiscountAmountAndroid.swift +12 -0
  394. package/nitrogen/generated/ios/swift/Variant_NullType_NitroDiscountDisplayInfoAndroid.swift +12 -0
  395. package/nitrogen/generated/ios/swift/Variant_NullType_NitroFinishTransactionAndroidParams.swift +12 -0
  396. package/nitrogen/generated/ios/swift/Variant_NullType_NitroFinishTransactionIosParams.swift +12 -0
  397. package/nitrogen/generated/ios/swift/Variant_NullType_NitroInAppMessageParamsAndroid.swift +30 -0
  398. package/nitrogen/generated/ios/swift/Variant_NullType_NitroLimitedQuantityInfoAndroid.swift +12 -0
  399. package/nitrogen/generated/ios/swift/Variant_NullType_NitroPreorderDetailsAndroid.swift +12 -0
  400. package/nitrogen/generated/ios/swift/Variant_NullType_NitroProduct.swift +12 -0
  401. package/nitrogen/generated/ios/swift/Variant_NullType_NitroPurchase.swift +12 -0
  402. package/nitrogen/generated/ios/swift/Variant_NullType_NitroReceiptValidationAppleOptions.swift +12 -0
  403. package/nitrogen/generated/ios/swift/Variant_NullType_NitroReceiptValidationGoogleOptions.swift +12 -0
  404. package/nitrogen/generated/ios/swift/Variant_NullType_NitroReceiptValidationHorizonOptions.swift +12 -0
  405. package/nitrogen/generated/ios/swift/Variant_NullType_NitroRenewalInfoIOS.swift +12 -0
  406. package/nitrogen/generated/ios/swift/Variant_NullType_NitroRentalDetailsAndroid.swift +12 -0
  407. package/nitrogen/generated/ios/swift/Variant_NullType_NitroRequestPurchaseAndroid.swift +12 -0
  408. package/nitrogen/generated/ios/swift/Variant_NullType_NitroRequestPurchaseIos.swift +12 -0
  409. package/nitrogen/generated/ios/swift/Variant_NullType_NitroValidTimeWindowAndroid.swift +12 -0
  410. package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitAmazonProps.swift +12 -0
  411. package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitAppleProps.swift +12 -0
  412. package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitGoogleProps.swift +12 -0
  413. package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitProps.swift +12 -0
  414. package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitResult.swift +12 -0
  415. package/nitrogen/generated/ios/swift/Variant_NullType_PendingPurchaseUpdateAndroid.swift +12 -0
  416. package/nitrogen/generated/ios/swift/Variant_NullType_PromotionalOfferJwsInputIOS.swift +12 -0
  417. package/nitrogen/generated/ios/swift/Variant_NullType_PurchaseOfferIOS.swift +12 -0
  418. package/nitrogen/generated/ios/swift/Variant_NullType_RenewalCommitmentInfoIOS.swift +12 -0
  419. package/nitrogen/generated/ios/swift/Variant_NullType_RenewalInfoIOS.swift +12 -0
  420. package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +12 -0
  421. package/nitrogen/generated/ios/swift/Variant_NullType_SubscriptionProductReplacementParamsAndroid.swift +12 -0
  422. package/nitrogen/generated/ios/swift/Variant_NullType_TransactionCommitmentInfoIOS.swift +12 -0
  423. package/nitrogen/generated/ios/swift/Variant_NullType_WinBackOfferInputIOS.swift +12 -0
  424. package/nitrogen/generated/ios/swift/Variant_NullType__AdvancedCommerceRefundIOS_.swift +12 -0
  425. package/nitrogen/generated/ios/swift/Variant_NullType__AndroidSubscriptionOfferInput_.swift +12 -0
  426. package/nitrogen/generated/ios/swift/Variant_NullType__DeveloperProvidedBillingProductAndroid_.swift +30 -0
  427. package/nitrogen/generated/ios/swift/Variant_NullType__InAppMessageCategoryAndroid_.swift +30 -0
  428. package/nitrogen/generated/ios/swift/Variant_NullType__NitroOneTimePurchaseOfferDetail_.swift +12 -0
  429. package/nitrogen/generated/ios/swift/Variant_NullType__NitroSubscriptionStatus_.swift +12 -0
  430. package/nitrogen/generated/ios/swift/Variant_NullType__NitroVerifyPurchaseWithProviderError_.swift +12 -0
  431. package/nitrogen/generated/ios/swift/Variant_NullType__String_.swift +12 -0
  432. package/nitrogen/generated/shared/c++/AdvancedCommerceInfoIOS.hpp +1 -1
  433. package/nitrogen/generated/shared/c++/AdvancedCommerceItemIOS.hpp +1 -1
  434. package/nitrogen/generated/shared/c++/BillingChoiceImageLayoutAndroid.hpp +80 -0
  435. package/nitrogen/generated/shared/c++/BillingChoiceScreenTypeAndroid.hpp +80 -0
  436. package/nitrogen/generated/shared/c++/BillingProgramAndroid.hpp +4 -0
  437. package/nitrogen/generated/shared/c++/DeveloperBillingLaunchModeAndroid.hpp +80 -0
  438. package/nitrogen/generated/shared/c++/DeveloperBillingOptionParamsAndroid.hpp +103 -0
  439. package/nitrogen/generated/shared/c++/DeveloperBillingTypeAndroid.hpp +80 -0
  440. package/nitrogen/generated/shared/c++/DeveloperProvidedBillingDetailsAndroid.hpp +25 -7
  441. package/nitrogen/generated/shared/c++/DeveloperProvidedBillingProductAndroid.hpp +96 -0
  442. package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +3 -0
  443. package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +26 -2
  444. package/nitrogen/generated/shared/c++/InAppMessageCategoryAndroid.hpp +76 -0
  445. package/nitrogen/generated/shared/c++/InAppMessageResponseCodeAndroid.hpp +76 -0
  446. package/nitrogen/generated/shared/c++/InitConnectionConfig.hpp +8 -1
  447. package/nitrogen/generated/shared/c++/NitroBillingChoiceInfoAndroid.hpp +90 -0
  448. package/nitrogen/generated/shared/c++/NitroBillingProgramAvailabilityResultAndroid.hpp +16 -2
  449. package/nitrogen/generated/shared/c++/NitroBillingProgramInformationDialogParamsAndroid.hpp +89 -0
  450. package/nitrogen/generated/shared/c++/NitroBillingResultAndroid.hpp +96 -0
  451. package/nitrogen/generated/shared/c++/NitroGetBillingChoiceInfoParamsAndroid.hpp +99 -0
  452. package/nitrogen/generated/shared/c++/NitroInAppMessageParamsAndroid.hpp +88 -0
  453. package/nitrogen/generated/shared/c++/NitroInAppMessageResultAndroid.hpp +92 -0
  454. package/nitrogen/generated/shared/c++/NitroLaunchExternalLinkParamsAndroid.hpp +9 -2
  455. package/nitrogen/generated/shared/c++/NitroOneTimePurchaseOfferDetail.hpp +6 -2
  456. package/nitrogen/generated/shared/c++/NitroProduct.hpp +14 -2
  457. package/nitrogen/generated/shared/c++/NitroPurchase.hpp +40 -3
  458. package/nitrogen/generated/shared/c++/NitroPurchaseRequest.hpp +1 -1
  459. package/nitrogen/generated/shared/c++/NitroPurchaseResult.hpp +27 -4
  460. package/nitrogen/generated/shared/c++/NitroReceiptValidationResultIOS.hpp +1 -1
  461. package/nitrogen/generated/shared/c++/NitroRenewalInfoIOS.hpp +15 -2
  462. package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +13 -2
  463. package/nitrogen/generated/shared/c++/NitroSubscriptionStatus.hpp +8 -8
  464. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithProviderResult.hpp +1 -1
  465. package/nitrogen/generated/shared/c++/PendingPurchaseUpdateAndroid.hpp +1 -1
  466. package/nitrogen/generated/shared/c++/ProductType.hpp +76 -0
  467. package/nitrogen/generated/shared/c++/PurchaseAndroid.hpp +1 -1
  468. package/nitrogen/generated/shared/c++/PurchaseIOS.hpp +1 -1
  469. package/nitrogen/generated/shared/c++/SubResponseCodeAndroid.hpp +80 -0
  470. package/nitrogen/generated/shared/c++/UserChoiceBillingDetails.hpp +16 -3
  471. package/openiap-versions.json +3 -3
  472. package/package.json +8 -5
  473. package/src/hooks/useIAP.ts +70 -4
  474. package/src/index.kepler.ts +9 -0
  475. package/src/index.ts +268 -120
  476. package/src/specs/RnIap.nitro.ts +141 -27
  477. package/src/types.ts +294 -59
  478. package/src/utils/error.ts +11 -8
  479. package/src/utils/errorMapping.ts +9 -1
  480. package/src/utils/type-bridge.ts +63 -42
  481. package/src/vega-adapter.ts +112 -15
  482. package/nitrogen/generated/android/c++/JNitroSubscriptionRenewalInfo.hpp +0 -83
  483. package/nitrogen/generated/android/c++/JVariant_NullType_NitroSubscriptionRenewalInfo.cpp +0 -26
  484. package/nitrogen/generated/android/c++/JVariant_NullType_NitroSubscriptionRenewalInfo.hpp +0 -75
  485. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionRenewalInfo.kt +0 -53
  486. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroSubscriptionRenewalInfo.kt +0 -53
  487. package/nitrogen/generated/ios/swift/NitroSubscriptionRenewalInfo.swift +0 -182
  488. package/nitrogen/generated/ios/swift/Variant_NullType_NitroSubscriptionRenewalInfo.swift +0 -18
  489. package/nitrogen/generated/shared/c++/NitroSubscriptionRenewalInfo.hpp +0 -106
@@ -0,0 +1,80 @@
1
+ ///
2
+ /// DeveloperBillingLaunchModeAndroid.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/NitroHash.hpp>)
11
+ #include <NitroModules/NitroHash.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
16
+ #include <NitroModules/JSIConverter.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
21
+ #include <NitroModules/NitroDefines.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+
26
+ namespace margelo::nitro::iap {
27
+
28
+ /**
29
+ * An enum which can be represented as a JavaScript union (DeveloperBillingLaunchModeAndroid).
30
+ */
31
+ enum class DeveloperBillingLaunchModeAndroid {
32
+ UNSPECIFIED SWIFT_NAME(unspecified) = 0,
33
+ LAUNCH_IN_EXTERNAL_BROWSER_OR_APP SWIFT_NAME(launchInExternalBrowserOrApp) = 1,
34
+ CALLER_WILL_LAUNCH_LINK SWIFT_NAME(callerWillLaunchLink) = 2,
35
+ } CLOSED_ENUM;
36
+
37
+ } // namespace margelo::nitro::iap
38
+
39
+ namespace margelo::nitro {
40
+
41
+ // C++ DeveloperBillingLaunchModeAndroid <> JS DeveloperBillingLaunchModeAndroid (union)
42
+ template <>
43
+ struct JSIConverter<margelo::nitro::iap::DeveloperBillingLaunchModeAndroid> final {
44
+ static inline margelo::nitro::iap::DeveloperBillingLaunchModeAndroid fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
45
+ std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, arg);
46
+ switch (hashString(unionValue.c_str(), unionValue.size())) {
47
+ case hashString("unspecified"): return margelo::nitro::iap::DeveloperBillingLaunchModeAndroid::UNSPECIFIED;
48
+ case hashString("launch-in-external-browser-or-app"): return margelo::nitro::iap::DeveloperBillingLaunchModeAndroid::LAUNCH_IN_EXTERNAL_BROWSER_OR_APP;
49
+ case hashString("caller-will-launch-link"): return margelo::nitro::iap::DeveloperBillingLaunchModeAndroid::CALLER_WILL_LAUNCH_LINK;
50
+ default: [[unlikely]]
51
+ throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum DeveloperBillingLaunchModeAndroid - invalid value!");
52
+ }
53
+ }
54
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::iap::DeveloperBillingLaunchModeAndroid arg) {
55
+ switch (arg) {
56
+ case margelo::nitro::iap::DeveloperBillingLaunchModeAndroid::UNSPECIFIED: return JSIConverter<std::string>::toJSI(runtime, "unspecified");
57
+ case margelo::nitro::iap::DeveloperBillingLaunchModeAndroid::LAUNCH_IN_EXTERNAL_BROWSER_OR_APP: return JSIConverter<std::string>::toJSI(runtime, "launch-in-external-browser-or-app");
58
+ case margelo::nitro::iap::DeveloperBillingLaunchModeAndroid::CALLER_WILL_LAUNCH_LINK: return JSIConverter<std::string>::toJSI(runtime, "caller-will-launch-link");
59
+ default: [[unlikely]]
60
+ throw std::invalid_argument("Cannot convert DeveloperBillingLaunchModeAndroid to JS - invalid value: "
61
+ + std::to_string(static_cast<int>(arg)) + "!");
62
+ }
63
+ }
64
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
65
+ if (!value.isString()) {
66
+ return false;
67
+ }
68
+ std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, value);
69
+ switch (hashString(unionValue.c_str(), unionValue.size())) {
70
+ case hashString("unspecified"):
71
+ case hashString("launch-in-external-browser-or-app"):
72
+ case hashString("caller-will-launch-link"):
73
+ return true;
74
+ default:
75
+ return false;
76
+ }
77
+ }
78
+ };
79
+
80
+ } // namespace margelo::nitro
@@ -0,0 +1,103 @@
1
+ ///
2
+ /// DeveloperBillingOptionParamsAndroid.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
30
+
31
+ // Forward declaration of `BillingProgramAndroid` to properly resolve imports.
32
+ namespace margelo::nitro::iap { enum class BillingProgramAndroid; }
33
+ // Forward declaration of `DeveloperBillingLaunchModeAndroid` to properly resolve imports.
34
+ namespace margelo::nitro::iap { enum class DeveloperBillingLaunchModeAndroid; }
35
+
36
+ #include "BillingProgramAndroid.hpp"
37
+ #include <NitroModules/Null.hpp>
38
+ #include <string>
39
+ #include <variant>
40
+ #include <optional>
41
+ #include "DeveloperBillingLaunchModeAndroid.hpp"
42
+
43
+ namespace margelo::nitro::iap {
44
+
45
+ /**
46
+ * A struct which can be represented as a JavaScript object (DeveloperBillingOptionParamsAndroid).
47
+ */
48
+ struct DeveloperBillingOptionParamsAndroid final {
49
+ public:
50
+ BillingProgramAndroid billingProgram SWIFT_PRIVATE;
51
+ std::optional<std::variant<nitro::NullType, std::string>> externalTransactionToken SWIFT_PRIVATE;
52
+ std::optional<DeveloperBillingLaunchModeAndroid> launchMode SWIFT_PRIVATE;
53
+ std::optional<std::variant<nitro::NullType, std::string>> linkUri SWIFT_PRIVATE;
54
+
55
+ public:
56
+ DeveloperBillingOptionParamsAndroid() = default;
57
+ explicit DeveloperBillingOptionParamsAndroid(BillingProgramAndroid billingProgram, std::optional<std::variant<nitro::NullType, std::string>> externalTransactionToken, std::optional<DeveloperBillingLaunchModeAndroid> launchMode, std::optional<std::variant<nitro::NullType, std::string>> linkUri): billingProgram(billingProgram), externalTransactionToken(externalTransactionToken), launchMode(launchMode), linkUri(linkUri) {}
58
+
59
+ public:
60
+ friend bool operator==(const DeveloperBillingOptionParamsAndroid& lhs, const DeveloperBillingOptionParamsAndroid& rhs) = default;
61
+ };
62
+
63
+ } // namespace margelo::nitro::iap
64
+
65
+ namespace margelo::nitro {
66
+
67
+ // C++ DeveloperBillingOptionParamsAndroid <> JS DeveloperBillingOptionParamsAndroid (object)
68
+ template <>
69
+ struct JSIConverter<margelo::nitro::iap::DeveloperBillingOptionParamsAndroid> final {
70
+ static inline margelo::nitro::iap::DeveloperBillingOptionParamsAndroid fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
71
+ jsi::Object obj = arg.asObject(runtime);
72
+ return margelo::nitro::iap::DeveloperBillingOptionParamsAndroid(
73
+ JSIConverter<margelo::nitro::iap::BillingProgramAndroid>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "billingProgram"))),
74
+ JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "externalTransactionToken"))),
75
+ JSIConverter<std::optional<margelo::nitro::iap::DeveloperBillingLaunchModeAndroid>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "launchMode"))),
76
+ JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "linkUri")))
77
+ );
78
+ }
79
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::iap::DeveloperBillingOptionParamsAndroid& arg) {
80
+ jsi::Object obj(runtime);
81
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "billingProgram"), JSIConverter<margelo::nitro::iap::BillingProgramAndroid>::toJSI(runtime, arg.billingProgram));
82
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "externalTransactionToken"), JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::toJSI(runtime, arg.externalTransactionToken));
83
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "launchMode"), JSIConverter<std::optional<margelo::nitro::iap::DeveloperBillingLaunchModeAndroid>>::toJSI(runtime, arg.launchMode));
84
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "linkUri"), JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::toJSI(runtime, arg.linkUri));
85
+ return obj;
86
+ }
87
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
88
+ if (!value.isObject()) {
89
+ return false;
90
+ }
91
+ jsi::Object obj = value.getObject(runtime);
92
+ if (!nitro::isPlainObject(runtime, obj)) {
93
+ return false;
94
+ }
95
+ if (!JSIConverter<margelo::nitro::iap::BillingProgramAndroid>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "billingProgram")))) return false;
96
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "externalTransactionToken")))) return false;
97
+ if (!JSIConverter<std::optional<margelo::nitro::iap::DeveloperBillingLaunchModeAndroid>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "launchMode")))) return false;
98
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "linkUri")))) return false;
99
+ return true;
100
+ }
101
+ };
102
+
103
+ } // namespace margelo::nitro
@@ -0,0 +1,80 @@
1
+ ///
2
+ /// DeveloperBillingTypeAndroid.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/NitroHash.hpp>)
11
+ #include <NitroModules/NitroHash.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
16
+ #include <NitroModules/JSIConverter.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
21
+ #include <NitroModules/NitroDefines.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+
26
+ namespace margelo::nitro::iap {
27
+
28
+ /**
29
+ * An enum which can be represented as a JavaScript union (DeveloperBillingTypeAndroid).
30
+ */
31
+ enum class DeveloperBillingTypeAndroid {
32
+ IN_APP SWIFT_NAME(inApp) = 0,
33
+ DEVELOPER_BILLING_TYPE_UNSPECIFIED SWIFT_NAME(developerBillingTypeUnspecified) = 1,
34
+ EXTERNAL_LINK SWIFT_NAME(externalLink) = 2,
35
+ } CLOSED_ENUM;
36
+
37
+ } // namespace margelo::nitro::iap
38
+
39
+ namespace margelo::nitro {
40
+
41
+ // C++ DeveloperBillingTypeAndroid <> JS DeveloperBillingTypeAndroid (union)
42
+ template <>
43
+ struct JSIConverter<margelo::nitro::iap::DeveloperBillingTypeAndroid> final {
44
+ static inline margelo::nitro::iap::DeveloperBillingTypeAndroid fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
45
+ std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, arg);
46
+ switch (hashString(unionValue.c_str(), unionValue.size())) {
47
+ case hashString("in-app"): return margelo::nitro::iap::DeveloperBillingTypeAndroid::IN_APP;
48
+ case hashString("developer-billing-type-unspecified"): return margelo::nitro::iap::DeveloperBillingTypeAndroid::DEVELOPER_BILLING_TYPE_UNSPECIFIED;
49
+ case hashString("external-link"): return margelo::nitro::iap::DeveloperBillingTypeAndroid::EXTERNAL_LINK;
50
+ default: [[unlikely]]
51
+ throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum DeveloperBillingTypeAndroid - invalid value!");
52
+ }
53
+ }
54
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::iap::DeveloperBillingTypeAndroid arg) {
55
+ switch (arg) {
56
+ case margelo::nitro::iap::DeveloperBillingTypeAndroid::IN_APP: return JSIConverter<std::string>::toJSI(runtime, "in-app");
57
+ case margelo::nitro::iap::DeveloperBillingTypeAndroid::DEVELOPER_BILLING_TYPE_UNSPECIFIED: return JSIConverter<std::string>::toJSI(runtime, "developer-billing-type-unspecified");
58
+ case margelo::nitro::iap::DeveloperBillingTypeAndroid::EXTERNAL_LINK: return JSIConverter<std::string>::toJSI(runtime, "external-link");
59
+ default: [[unlikely]]
60
+ throw std::invalid_argument("Cannot convert DeveloperBillingTypeAndroid to JS - invalid value: "
61
+ + std::to_string(static_cast<int>(arg)) + "!");
62
+ }
63
+ }
64
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
65
+ if (!value.isString()) {
66
+ return false;
67
+ }
68
+ std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, value);
69
+ switch (hashString(unionValue.c_str(), unionValue.size())) {
70
+ case hashString("in-app"):
71
+ case hashString("developer-billing-type-unspecified"):
72
+ case hashString("external-link"):
73
+ return true;
74
+ default:
75
+ return false;
76
+ }
77
+ }
78
+ };
79
+
80
+ } // namespace margelo::nitro
@@ -28,9 +28,15 @@
28
28
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
29
  #endif
30
30
 
31
+ // Forward declaration of `DeveloperProvidedBillingProductAndroid` to properly resolve imports.
32
+ namespace margelo::nitro::iap { struct DeveloperProvidedBillingProductAndroid; }
31
33
 
32
-
34
+ #include <NitroModules/Null.hpp>
33
35
  #include <string>
36
+ #include <variant>
37
+ #include <optional>
38
+ #include "DeveloperProvidedBillingProductAndroid.hpp"
39
+ #include <vector>
34
40
 
35
41
  namespace margelo::nitro::iap {
36
42
 
@@ -39,14 +45,17 @@ namespace margelo::nitro::iap {
39
45
  */
40
46
  struct DeveloperProvidedBillingDetailsAndroid final {
41
47
  public:
42
- std::string externalTransactionToken SWIFT_PRIVATE;
48
+ std::optional<std::variant<nitro::NullType, std::string>> externalTransactionToken SWIFT_PRIVATE;
49
+ std::optional<std::variant<nitro::NullType, std::string>> linkUri SWIFT_PRIVATE;
50
+ std::optional<std::variant<nitro::NullType, std::string>> originalExternalTransactionId SWIFT_PRIVATE;
51
+ std::vector<DeveloperProvidedBillingProductAndroid> products SWIFT_PRIVATE;
43
52
 
44
53
  public:
45
54
  DeveloperProvidedBillingDetailsAndroid() = default;
46
- explicit DeveloperProvidedBillingDetailsAndroid(std::string externalTransactionToken): externalTransactionToken(externalTransactionToken) {}
55
+ explicit DeveloperProvidedBillingDetailsAndroid(std::optional<std::variant<nitro::NullType, std::string>> externalTransactionToken, std::optional<std::variant<nitro::NullType, std::string>> linkUri, std::optional<std::variant<nitro::NullType, std::string>> originalExternalTransactionId, std::vector<DeveloperProvidedBillingProductAndroid> products): externalTransactionToken(externalTransactionToken), linkUri(linkUri), originalExternalTransactionId(originalExternalTransactionId), products(products) {}
47
56
 
48
57
  public:
49
- friend bool operator==(const DeveloperProvidedBillingDetailsAndroid& lhs, const DeveloperProvidedBillingDetailsAndroid& rhs) = default;
58
+ // DeveloperProvidedBillingDetailsAndroid is not equatable because these properties are not equatable: products
50
59
  };
51
60
 
52
61
  } // namespace margelo::nitro::iap
@@ -59,12 +68,18 @@ namespace margelo::nitro {
59
68
  static inline margelo::nitro::iap::DeveloperProvidedBillingDetailsAndroid fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
60
69
  jsi::Object obj = arg.asObject(runtime);
61
70
  return margelo::nitro::iap::DeveloperProvidedBillingDetailsAndroid(
62
- JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "externalTransactionToken")))
71
+ JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "externalTransactionToken"))),
72
+ JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "linkUri"))),
73
+ JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "originalExternalTransactionId"))),
74
+ JSIConverter<std::vector<margelo::nitro::iap::DeveloperProvidedBillingProductAndroid>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "products")))
63
75
  );
64
76
  }
65
77
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::iap::DeveloperProvidedBillingDetailsAndroid& arg) {
66
78
  jsi::Object obj(runtime);
67
- obj.setProperty(runtime, PropNameIDCache::get(runtime, "externalTransactionToken"), JSIConverter<std::string>::toJSI(runtime, arg.externalTransactionToken));
79
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "externalTransactionToken"), JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::toJSI(runtime, arg.externalTransactionToken));
80
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "linkUri"), JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::toJSI(runtime, arg.linkUri));
81
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "originalExternalTransactionId"), JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::toJSI(runtime, arg.originalExternalTransactionId));
82
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "products"), JSIConverter<std::vector<margelo::nitro::iap::DeveloperProvidedBillingProductAndroid>>::toJSI(runtime, arg.products));
68
83
  return obj;
69
84
  }
70
85
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -75,7 +90,10 @@ namespace margelo::nitro {
75
90
  if (!nitro::isPlainObject(runtime, obj)) {
76
91
  return false;
77
92
  }
78
- if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "externalTransactionToken")))) return false;
93
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "externalTransactionToken")))) return false;
94
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "linkUri")))) return false;
95
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "originalExternalTransactionId")))) return false;
96
+ if (!JSIConverter<std::vector<margelo::nitro::iap::DeveloperProvidedBillingProductAndroid>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "products")))) return false;
79
97
  return true;
80
98
  }
81
99
  };
@@ -0,0 +1,96 @@
1
+ ///
2
+ /// DeveloperProvidedBillingProductAndroid.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
30
+
31
+ // Forward declaration of `ProductType` to properly resolve imports.
32
+ namespace margelo::nitro::iap { enum class ProductType; }
33
+
34
+ #include <string>
35
+ #include <NitroModules/Null.hpp>
36
+ #include <variant>
37
+ #include <optional>
38
+ #include "ProductType.hpp"
39
+
40
+ namespace margelo::nitro::iap {
41
+
42
+ /**
43
+ * A struct which can be represented as a JavaScript object (DeveloperProvidedBillingProductAndroid).
44
+ */
45
+ struct DeveloperProvidedBillingProductAndroid final {
46
+ public:
47
+ std::string id SWIFT_PRIVATE;
48
+ std::optional<std::variant<nitro::NullType, std::string>> offerToken SWIFT_PRIVATE;
49
+ ProductType type SWIFT_PRIVATE;
50
+
51
+ public:
52
+ DeveloperProvidedBillingProductAndroid() = default;
53
+ explicit DeveloperProvidedBillingProductAndroid(std::string id, std::optional<std::variant<nitro::NullType, std::string>> offerToken, ProductType type): id(id), offerToken(offerToken), type(type) {}
54
+
55
+ public:
56
+ friend bool operator==(const DeveloperProvidedBillingProductAndroid& lhs, const DeveloperProvidedBillingProductAndroid& rhs) = default;
57
+ };
58
+
59
+ } // namespace margelo::nitro::iap
60
+
61
+ namespace margelo::nitro {
62
+
63
+ // C++ DeveloperProvidedBillingProductAndroid <> JS DeveloperProvidedBillingProductAndroid (object)
64
+ template <>
65
+ struct JSIConverter<margelo::nitro::iap::DeveloperProvidedBillingProductAndroid> final {
66
+ static inline margelo::nitro::iap::DeveloperProvidedBillingProductAndroid fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
67
+ jsi::Object obj = arg.asObject(runtime);
68
+ return margelo::nitro::iap::DeveloperProvidedBillingProductAndroid(
69
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "id"))),
70
+ JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "offerToken"))),
71
+ JSIConverter<margelo::nitro::iap::ProductType>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "type")))
72
+ );
73
+ }
74
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::iap::DeveloperProvidedBillingProductAndroid& arg) {
75
+ jsi::Object obj(runtime);
76
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "id"), JSIConverter<std::string>::toJSI(runtime, arg.id));
77
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "offerToken"), JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::toJSI(runtime, arg.offerToken));
78
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "type"), JSIConverter<margelo::nitro::iap::ProductType>::toJSI(runtime, arg.type));
79
+ return obj;
80
+ }
81
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
82
+ if (!value.isObject()) {
83
+ return false;
84
+ }
85
+ jsi::Object obj = value.getObject(runtime);
86
+ if (!nitro::isPlainObject(runtime, obj)) {
87
+ return false;
88
+ }
89
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "id")))) return false;
90
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "offerToken")))) return false;
91
+ if (!JSIConverter<margelo::nitro::iap::ProductType>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "type")))) return false;
92
+ return true;
93
+ }
94
+ };
95
+
96
+ } // namespace margelo::nitro
@@ -65,7 +65,10 @@ namespace margelo::nitro::iap {
65
65
  prototype.registerHybridMethod("removeSubscriptionBillingIssueListener", &HybridRnIapSpec::removeSubscriptionBillingIssueListener);
66
66
  prototype.registerHybridMethod("enableBillingProgramAndroid", &HybridRnIapSpec::enableBillingProgramAndroid);
67
67
  prototype.registerHybridMethod("isBillingProgramAvailableAndroid", &HybridRnIapSpec::isBillingProgramAvailableAndroid);
68
+ prototype.registerHybridMethod("getBillingChoiceInfoAndroid", &HybridRnIapSpec::getBillingChoiceInfoAndroid);
68
69
  prototype.registerHybridMethod("createBillingProgramReportingDetailsAndroid", &HybridRnIapSpec::createBillingProgramReportingDetailsAndroid);
70
+ prototype.registerHybridMethod("showBillingProgramInformationDialogAndroid", &HybridRnIapSpec::showBillingProgramInformationDialogAndroid);
71
+ prototype.registerHybridMethod("showInAppMessagesAndroid", &HybridRnIapSpec::showInAppMessagesAndroid);
69
72
  prototype.registerHybridMethod("launchExternalLinkAndroid", &HybridRnIapSpec::launchExternalLinkAndroid);
70
73
  prototype.registerHybridMethod("canPresentExternalPurchaseNoticeIOS", &HybridRnIapSpec::canPresentExternalPurchaseNoticeIOS);
71
74
  prototype.registerHybridMethod("presentExternalPurchaseNoticeSheetIOS", &HybridRnIapSpec::presentExternalPurchaseNoticeSheetIOS);
@@ -57,8 +57,22 @@ namespace margelo::nitro::iap { struct DeveloperProvidedBillingDetailsAndroid; }
57
57
  namespace margelo::nitro::iap { enum class BillingProgramAndroid; }
58
58
  // Forward declaration of `NitroBillingProgramAvailabilityResultAndroid` to properly resolve imports.
59
59
  namespace margelo::nitro::iap { struct NitroBillingProgramAvailabilityResultAndroid; }
60
+ // Forward declaration of `NitroBillingChoiceInfoAndroid` to properly resolve imports.
61
+ namespace margelo::nitro::iap { struct NitroBillingChoiceInfoAndroid; }
62
+ // Forward declaration of `NitroGetBillingChoiceInfoParamsAndroid` to properly resolve imports.
63
+ namespace margelo::nitro::iap { struct NitroGetBillingChoiceInfoParamsAndroid; }
60
64
  // Forward declaration of `NitroBillingProgramReportingDetailsAndroid` to properly resolve imports.
61
65
  namespace margelo::nitro::iap { struct NitroBillingProgramReportingDetailsAndroid; }
66
+ // Forward declaration of `DeveloperBillingTypeAndroid` to properly resolve imports.
67
+ namespace margelo::nitro::iap { enum class DeveloperBillingTypeAndroid; }
68
+ // Forward declaration of `NitroBillingResultAndroid` to properly resolve imports.
69
+ namespace margelo::nitro::iap { struct NitroBillingResultAndroid; }
70
+ // Forward declaration of `NitroBillingProgramInformationDialogParamsAndroid` to properly resolve imports.
71
+ namespace margelo::nitro::iap { struct NitroBillingProgramInformationDialogParamsAndroid; }
72
+ // Forward declaration of `NitroInAppMessageResultAndroid` to properly resolve imports.
73
+ namespace margelo::nitro::iap { struct NitroInAppMessageResultAndroid; }
74
+ // Forward declaration of `NitroInAppMessageParamsAndroid` to properly resolve imports.
75
+ namespace margelo::nitro::iap { struct NitroInAppMessageParamsAndroid; }
62
76
  // Forward declaration of `NitroLaunchExternalLinkParamsAndroid` to properly resolve imports.
63
77
  namespace margelo::nitro::iap { struct NitroLaunchExternalLinkParamsAndroid; }
64
78
  // Forward declaration of `ExternalPurchaseNoticeResultIOS` to properly resolve imports.
@@ -103,7 +117,14 @@ namespace margelo::nitro::iap { enum class ExternalPurchaseCustomLinkNoticeTypeI
103
117
  #include "DeveloperProvidedBillingDetailsAndroid.hpp"
104
118
  #include "BillingProgramAndroid.hpp"
105
119
  #include "NitroBillingProgramAvailabilityResultAndroid.hpp"
120
+ #include "NitroBillingChoiceInfoAndroid.hpp"
121
+ #include "NitroGetBillingChoiceInfoParamsAndroid.hpp"
106
122
  #include "NitroBillingProgramReportingDetailsAndroid.hpp"
123
+ #include "DeveloperBillingTypeAndroid.hpp"
124
+ #include "NitroBillingResultAndroid.hpp"
125
+ #include "NitroBillingProgramInformationDialogParamsAndroid.hpp"
126
+ #include "NitroInAppMessageResultAndroid.hpp"
127
+ #include "NitroInAppMessageParamsAndroid.hpp"
107
128
  #include "NitroLaunchExternalLinkParamsAndroid.hpp"
108
129
  #include "ExternalPurchaseNoticeResultIOS.hpp"
109
130
  #include "ExternalPurchaseLinkResultIOS.hpp"
@@ -161,7 +182,7 @@ namespace margelo::nitro::iap {
161
182
  virtual std::shared_ptr<Promise<std::variant<nitro::NullType, std::string>>> getAppTransactionIOS() = 0;
162
183
  virtual std::shared_ptr<Promise<std::variant<nitro::NullType, NitroProduct>>> requestPromotedProductIOS() = 0;
163
184
  virtual std::shared_ptr<Promise<std::variant<nitro::NullType, NitroProduct>>> getPromotedProductIOS() = 0;
164
- virtual std::shared_ptr<Promise<void>> buyPromotedProductIOS() = 0;
185
+ virtual std::shared_ptr<Promise<bool>> buyPromotedProductIOS() = 0;
165
186
  virtual std::shared_ptr<Promise<bool>> presentCodeRedemptionSheetIOS() = 0;
166
187
  virtual std::shared_ptr<Promise<void>> clearTransactionIOS() = 0;
167
188
  virtual std::shared_ptr<Promise<std::variant<nitro::NullType, std::string>>> beginRefundRequestIOS(const std::string& sku) = 0;
@@ -194,7 +215,10 @@ namespace margelo::nitro::iap {
194
215
  virtual void removeSubscriptionBillingIssueListener(const std::function<void(const NitroPurchase& /* purchase */)>& listener) = 0;
195
216
  virtual void enableBillingProgramAndroid(BillingProgramAndroid program) = 0;
196
217
  virtual std::shared_ptr<Promise<NitroBillingProgramAvailabilityResultAndroid>> isBillingProgramAvailableAndroid(BillingProgramAndroid program) = 0;
197
- virtual std::shared_ptr<Promise<NitroBillingProgramReportingDetailsAndroid>> createBillingProgramReportingDetailsAndroid(BillingProgramAndroid program) = 0;
218
+ virtual std::shared_ptr<Promise<NitroBillingChoiceInfoAndroid>> getBillingChoiceInfoAndroid(const NitroGetBillingChoiceInfoParamsAndroid& params) = 0;
219
+ virtual std::shared_ptr<Promise<NitroBillingProgramReportingDetailsAndroid>> createBillingProgramReportingDetailsAndroid(BillingProgramAndroid program, std::optional<DeveloperBillingTypeAndroid> developerBillingType) = 0;
220
+ virtual std::shared_ptr<Promise<NitroBillingResultAndroid>> showBillingProgramInformationDialogAndroid(const NitroBillingProgramInformationDialogParamsAndroid& params) = 0;
221
+ virtual std::shared_ptr<Promise<NitroInAppMessageResultAndroid>> showInAppMessagesAndroid(const std::optional<std::variant<nitro::NullType, NitroInAppMessageParamsAndroid>>& params) = 0;
198
222
  virtual std::shared_ptr<Promise<bool>> launchExternalLinkAndroid(const NitroLaunchExternalLinkParamsAndroid& params) = 0;
199
223
  virtual std::shared_ptr<Promise<bool>> canPresentExternalPurchaseNoticeIOS() = 0;
200
224
  virtual std::shared_ptr<Promise<ExternalPurchaseNoticeResultIOS>> presentExternalPurchaseNoticeSheetIOS() = 0;
@@ -0,0 +1,76 @@
1
+ ///
2
+ /// InAppMessageCategoryAndroid.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/NitroHash.hpp>)
11
+ #include <NitroModules/NitroHash.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
16
+ #include <NitroModules/JSIConverter.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
21
+ #include <NitroModules/NitroDefines.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+
26
+ namespace margelo::nitro::iap {
27
+
28
+ /**
29
+ * An enum which can be represented as a JavaScript union (InAppMessageCategoryAndroid).
30
+ */
31
+ enum class InAppMessageCategoryAndroid {
32
+ UNKNOWN_IN_APP_MESSAGE_CATEGORY_ID SWIFT_NAME(unknownInAppMessageCategoryId) = 0,
33
+ TRANSACTIONAL SWIFT_NAME(transactional) = 1,
34
+ } CLOSED_ENUM;
35
+
36
+ } // namespace margelo::nitro::iap
37
+
38
+ namespace margelo::nitro {
39
+
40
+ // C++ InAppMessageCategoryAndroid <> JS InAppMessageCategoryAndroid (union)
41
+ template <>
42
+ struct JSIConverter<margelo::nitro::iap::InAppMessageCategoryAndroid> final {
43
+ static inline margelo::nitro::iap::InAppMessageCategoryAndroid fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
44
+ std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, arg);
45
+ switch (hashString(unionValue.c_str(), unionValue.size())) {
46
+ case hashString("unknown-in-app-message-category-id"): return margelo::nitro::iap::InAppMessageCategoryAndroid::UNKNOWN_IN_APP_MESSAGE_CATEGORY_ID;
47
+ case hashString("transactional"): return margelo::nitro::iap::InAppMessageCategoryAndroid::TRANSACTIONAL;
48
+ default: [[unlikely]]
49
+ throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum InAppMessageCategoryAndroid - invalid value!");
50
+ }
51
+ }
52
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::iap::InAppMessageCategoryAndroid arg) {
53
+ switch (arg) {
54
+ case margelo::nitro::iap::InAppMessageCategoryAndroid::UNKNOWN_IN_APP_MESSAGE_CATEGORY_ID: return JSIConverter<std::string>::toJSI(runtime, "unknown-in-app-message-category-id");
55
+ case margelo::nitro::iap::InAppMessageCategoryAndroid::TRANSACTIONAL: return JSIConverter<std::string>::toJSI(runtime, "transactional");
56
+ default: [[unlikely]]
57
+ throw std::invalid_argument("Cannot convert InAppMessageCategoryAndroid to JS - invalid value: "
58
+ + std::to_string(static_cast<int>(arg)) + "!");
59
+ }
60
+ }
61
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
62
+ if (!value.isString()) {
63
+ return false;
64
+ }
65
+ std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, value);
66
+ switch (hashString(unionValue.c_str(), unionValue.size())) {
67
+ case hashString("unknown-in-app-message-category-id"):
68
+ case hashString("transactional"):
69
+ return true;
70
+ default:
71
+ return false;
72
+ }
73
+ }
74
+ };
75
+
76
+ } // namespace margelo::nitro