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

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 (165) hide show
  1. package/README.md +23 -25
  2. package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +250 -168
  3. package/android/src/main/java/com/margelo/nitro/iap/ProductSerialization.kt +98 -0
  4. package/ios/HybridRnIap.swift +19 -1
  5. package/ios/RnIapHelper.swift +30 -2
  6. package/lib/module/hooks/useIAP.js +19 -3
  7. package/lib/module/hooks/useIAP.js.map +1 -1
  8. package/lib/module/index.js +104 -18
  9. package/lib/module/index.js.map +1 -1
  10. package/lib/module/index.kepler.js +3 -0
  11. package/lib/module/index.kepler.js.map +1 -1
  12. package/lib/module/types.js +67 -6
  13. package/lib/module/types.js.map +1 -1
  14. package/lib/module/utils/type-bridge.js +22 -3
  15. package/lib/module/utils/type-bridge.js.map +1 -1
  16. package/lib/module/vega-adapter.js +24 -2
  17. package/lib/module/vega-adapter.js.map +1 -1
  18. package/lib/typescript/src/hooks/useIAP.d.ts +25 -2
  19. package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
  20. package/lib/typescript/src/index.d.ts +50 -10
  21. package/lib/typescript/src/index.d.ts.map +1 -1
  22. package/lib/typescript/src/index.kepler.d.ts +3 -0
  23. package/lib/typescript/src/index.kepler.d.ts.map +1 -1
  24. package/lib/typescript/src/specs/RnIap.nitro.d.ts +79 -9
  25. package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
  26. package/lib/typescript/src/types.d.ts +223 -35
  27. package/lib/typescript/src/types.d.ts.map +1 -1
  28. package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -1
  29. package/lib/typescript/src/vega-adapter.d.ts.map +1 -1
  30. package/nitrogen/generated/android/NitroIap+autolinking.cmake +3 -0
  31. package/nitrogen/generated/android/c++/JBillingChoiceImageLayoutAndroid.hpp +61 -0
  32. package/nitrogen/generated/android/c++/JBillingChoiceScreenTypeAndroid.hpp +61 -0
  33. package/nitrogen/generated/android/c++/JBillingProgramAndroid.hpp +3 -0
  34. package/nitrogen/generated/android/c++/JDeveloperBillingLaunchModeAndroid.hpp +61 -0
  35. package/nitrogen/generated/android/c++/JDeveloperBillingOptionParamsAndroid.hpp +78 -0
  36. package/nitrogen/generated/android/c++/JDeveloperBillingTypeAndroid.hpp +61 -0
  37. package/nitrogen/generated/android/c++/JDeveloperProvidedBillingDetailsAndroid.hpp +45 -5
  38. package/nitrogen/generated/android/c++/JDeveloperProvidedBillingProductAndroid.hpp +72 -0
  39. package/nitrogen/generated/android/c++/JFunc_void_DeveloperProvidedBillingDetailsAndroid.hpp +10 -0
  40. package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +118 -3
  41. package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +4 -1
  42. package/nitrogen/generated/android/c++/JInAppMessageCategoryAndroid.hpp +58 -0
  43. package/nitrogen/generated/android/c++/JInAppMessageResponseCodeAndroid.hpp +58 -0
  44. package/nitrogen/generated/android/c++/JInitConnectionConfig.hpp +7 -1
  45. package/nitrogen/generated/android/c++/JNitroBillingChoiceInfoAndroid.hpp +66 -0
  46. package/nitrogen/generated/android/c++/JNitroBillingProgramAvailabilityResultAndroid.hpp +18 -3
  47. package/nitrogen/generated/android/c++/JNitroBillingProgramInformationDialogParamsAndroid.hpp +63 -0
  48. package/nitrogen/generated/android/c++/JNitroBillingResultAndroid.hpp +72 -0
  49. package/nitrogen/generated/android/c++/JNitroGetBillingChoiceInfoParamsAndroid.hpp +74 -0
  50. package/nitrogen/generated/android/c++/JNitroInAppMessageParamsAndroid.hpp +64 -0
  51. package/nitrogen/generated/android/c++/JNitroInAppMessageResultAndroid.hpp +68 -0
  52. package/nitrogen/generated/android/c++/JNitroLaunchExternalLinkParamsAndroid.hpp +10 -1
  53. package/nitrogen/generated/android/c++/JNitroOneTimePurchaseOfferDetail.hpp +5 -1
  54. package/nitrogen/generated/android/c++/JNitroProduct.hpp +13 -1
  55. package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +7 -0
  56. package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +16 -1
  57. package/nitrogen/generated/android/c++/JProductType.hpp +58 -0
  58. package/nitrogen/generated/android/c++/JSubResponseCodeAndroid.hpp +61 -0
  59. package/nitrogen/generated/android/c++/JVariant_NullType_Array_InAppMessageCategoryAndroid_.cpp +35 -0
  60. package/nitrogen/generated/android/c++/JVariant_NullType_Array_InAppMessageCategoryAndroid_.hpp +81 -0
  61. package/nitrogen/generated/android/c++/JVariant_NullType_DeveloperBillingOptionParamsAndroid.cpp +26 -0
  62. package/nitrogen/generated/android/c++/JVariant_NullType_DeveloperBillingOptionParamsAndroid.hpp +78 -0
  63. package/nitrogen/generated/android/c++/JVariant_NullType_InitConnectionConfig.hpp +2 -0
  64. package/nitrogen/generated/android/c++/JVariant_NullType_NitroInAppMessageParamsAndroid.cpp +26 -0
  65. package/nitrogen/generated/android/c++/JVariant_NullType_NitroInAppMessageParamsAndroid.hpp +76 -0
  66. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRequestPurchaseAndroid.hpp +7 -0
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingChoiceImageLayoutAndroid.kt +24 -0
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingChoiceScreenTypeAndroid.kt +24 -0
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingProgramAndroid.kt +2 -1
  70. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingLaunchModeAndroid.kt +24 -0
  71. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingOptionParamsAndroid.kt +47 -0
  72. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingTypeAndroid.kt +24 -0
  73. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperProvidedBillingDetailsAndroid.kt +13 -4
  74. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperProvidedBillingProductAndroid.kt +44 -0
  75. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +13 -1
  76. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InAppMessageCategoryAndroid.kt +23 -0
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InAppMessageResponseCodeAndroid.kt +23 -0
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InitConnectionConfig.kt +5 -2
  79. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingChoiceInfoAndroid.kt +41 -0
  80. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramAvailabilityResultAndroid.kt +10 -4
  81. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramInformationDialogParamsAndroid.kt +41 -0
  82. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingResultAndroid.kt +44 -0
  83. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroGetBillingChoiceInfoParamsAndroid.kt +44 -0
  84. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroInAppMessageParamsAndroid.kt +38 -0
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroInAppMessageResultAndroid.kt +41 -0
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLaunchExternalLinkParamsAndroid.kt +6 -3
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroOneTimePurchaseOfferDetail.kt +5 -2
  88. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +11 -2
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +8 -2
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ProductType.kt +23 -0
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/SubResponseCodeAndroid.kt +24 -0
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_InAppMessageCategoryAndroid_.kt +53 -0
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_DeveloperBillingOptionParamsAndroid.kt +53 -0
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroInAppMessageParamsAndroid.kt +53 -0
  95. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +24 -0
  96. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +382 -0
  97. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +48 -0
  98. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +74 -2
  99. package/nitrogen/generated/ios/swift/BillingChoiceImageLayoutAndroid.swift +44 -0
  100. package/nitrogen/generated/ios/swift/BillingChoiceScreenTypeAndroid.swift +44 -0
  101. package/nitrogen/generated/ios/swift/BillingProgramAndroid.swift +4 -0
  102. package/nitrogen/generated/ios/swift/DeveloperBillingLaunchModeAndroid.swift +44 -0
  103. package/nitrogen/generated/ios/swift/DeveloperBillingOptionParamsAndroid.swift +114 -0
  104. package/nitrogen/generated/ios/swift/DeveloperBillingTypeAndroid.swift +44 -0
  105. package/nitrogen/generated/ios/swift/DeveloperProvidedBillingDetailsAndroid.swift +121 -4
  106. package/nitrogen/generated/ios/swift/DeveloperProvidedBillingProductAndroid.swift +71 -0
  107. package/nitrogen/generated/ios/swift/Func_void_NitroBillingChoiceInfoAndroid.swift +46 -0
  108. package/nitrogen/generated/ios/swift/Func_void_NitroBillingResultAndroid.swift +46 -0
  109. package/nitrogen/generated/ios/swift/Func_void_NitroInAppMessageResultAndroid.swift +46 -0
  110. package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +4 -1
  111. package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +78 -2
  112. package/nitrogen/generated/ios/swift/InAppMessageCategoryAndroid.swift +40 -0
  113. package/nitrogen/generated/ios/swift/InAppMessageResponseCodeAndroid.swift +40 -0
  114. package/nitrogen/generated/ios/swift/InitConnectionConfig.swift +12 -1
  115. package/nitrogen/generated/ios/swift/NitroBillingChoiceInfoAndroid.swift +66 -0
  116. package/nitrogen/generated/ios/swift/NitroBillingProgramAvailabilityResultAndroid.swift +50 -2
  117. package/nitrogen/generated/ios/swift/NitroBillingProgramInformationDialogParamsAndroid.swift +34 -0
  118. package/nitrogen/generated/ios/swift/NitroBillingResultAndroid.swift +77 -0
  119. package/nitrogen/generated/ios/swift/NitroGetBillingChoiceInfoParamsAndroid.swift +71 -0
  120. package/nitrogen/generated/ios/swift/NitroInAppMessageParamsAndroid.swift +67 -0
  121. package/nitrogen/generated/ios/swift/NitroInAppMessageResultAndroid.swift +66 -0
  122. package/nitrogen/generated/ios/swift/NitroLaunchExternalLinkParamsAndroid.swift +39 -2
  123. package/nitrogen/generated/ios/swift/NitroOneTimePurchaseOfferDetail.swift +39 -2
  124. package/nitrogen/generated/ios/swift/NitroProduct.swift +113 -2
  125. package/nitrogen/generated/ios/swift/NitroRequestPurchaseAndroid.swift +75 -1
  126. package/nitrogen/generated/ios/swift/ProductType.swift +40 -0
  127. package/nitrogen/generated/ios/swift/SubResponseCodeAndroid.swift +44 -0
  128. package/nitrogen/generated/ios/swift/Variant_NullType_DeveloperBillingOptionParamsAndroid.swift +18 -0
  129. package/nitrogen/generated/ios/swift/Variant_NullType_NitroInAppMessageParamsAndroid.swift +18 -0
  130. package/nitrogen/generated/ios/swift/Variant_NullType__InAppMessageCategoryAndroid_.swift +18 -0
  131. package/nitrogen/generated/shared/c++/BillingChoiceImageLayoutAndroid.hpp +80 -0
  132. package/nitrogen/generated/shared/c++/BillingChoiceScreenTypeAndroid.hpp +80 -0
  133. package/nitrogen/generated/shared/c++/BillingProgramAndroid.hpp +4 -0
  134. package/nitrogen/generated/shared/c++/DeveloperBillingLaunchModeAndroid.hpp +80 -0
  135. package/nitrogen/generated/shared/c++/DeveloperBillingOptionParamsAndroid.hpp +103 -0
  136. package/nitrogen/generated/shared/c++/DeveloperBillingTypeAndroid.hpp +80 -0
  137. package/nitrogen/generated/shared/c++/DeveloperProvidedBillingDetailsAndroid.hpp +24 -6
  138. package/nitrogen/generated/shared/c++/DeveloperProvidedBillingProductAndroid.hpp +96 -0
  139. package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +3 -0
  140. package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +25 -1
  141. package/nitrogen/generated/shared/c++/InAppMessageCategoryAndroid.hpp +76 -0
  142. package/nitrogen/generated/shared/c++/InAppMessageResponseCodeAndroid.hpp +76 -0
  143. package/nitrogen/generated/shared/c++/InitConnectionConfig.hpp +8 -1
  144. package/nitrogen/generated/shared/c++/NitroBillingChoiceInfoAndroid.hpp +90 -0
  145. package/nitrogen/generated/shared/c++/NitroBillingProgramAvailabilityResultAndroid.hpp +16 -2
  146. package/nitrogen/generated/shared/c++/NitroBillingProgramInformationDialogParamsAndroid.hpp +89 -0
  147. package/nitrogen/generated/shared/c++/NitroBillingResultAndroid.hpp +96 -0
  148. package/nitrogen/generated/shared/c++/NitroGetBillingChoiceInfoParamsAndroid.hpp +99 -0
  149. package/nitrogen/generated/shared/c++/NitroInAppMessageParamsAndroid.hpp +88 -0
  150. package/nitrogen/generated/shared/c++/NitroInAppMessageResultAndroid.hpp +92 -0
  151. package/nitrogen/generated/shared/c++/NitroLaunchExternalLinkParamsAndroid.hpp +9 -2
  152. package/nitrogen/generated/shared/c++/NitroOneTimePurchaseOfferDetail.hpp +5 -1
  153. package/nitrogen/generated/shared/c++/NitroProduct.hpp +13 -1
  154. package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +12 -1
  155. package/nitrogen/generated/shared/c++/ProductType.hpp +76 -0
  156. package/nitrogen/generated/shared/c++/SubResponseCodeAndroid.hpp +80 -0
  157. package/openiap-versions.json +3 -3
  158. package/package.json +1 -1
  159. package/src/hooks/useIAP.ts +63 -0
  160. package/src/index.kepler.ts +9 -0
  161. package/src/index.ts +223 -95
  162. package/src/specs/RnIap.nitro.ts +116 -8
  163. package/src/types.ts +238 -35
  164. package/src/utils/type-bridge.ts +26 -2
  165. package/src/vega-adapter.ts +46 -11
@@ -18,7 +18,7 @@ public extension NitroRequestPurchaseAndroid {
18
18
  /**
19
19
  * Create a new instance of `NitroRequestPurchaseAndroid`.
20
20
  */
21
- init(skus: [String], obfuscatedAccountId: Variant_NullType_String?, obfuscatedProfileId: Variant_NullType_String?, isOfferPersonalized: Variant_NullType_Bool?, offerToken: Variant_NullType_String?, subscriptionOffers: Variant_NullType__AndroidSubscriptionOfferInput_?, replacementMode: Variant_NullType_Double?, purchaseToken: Variant_NullType_String?, subscriptionProductReplacementParams: Variant_NullType_SubscriptionProductReplacementParamsAndroid?) {
21
+ init(skus: [String], obfuscatedAccountId: Variant_NullType_String?, obfuscatedProfileId: Variant_NullType_String?, isOfferPersonalized: Variant_NullType_Bool?, offerToken: Variant_NullType_String?, subscriptionOffers: Variant_NullType__AndroidSubscriptionOfferInput_?, replacementMode: Variant_NullType_Double?, purchaseToken: Variant_NullType_String?, originalExternalTransactionId: Variant_NullType_String?, developerBillingOption: Variant_NullType_DeveloperBillingOptionParamsAndroid?, subscriptionProductReplacementParams: Variant_NullType_SubscriptionProductReplacementParamsAndroid?) {
22
22
  self.init({ () -> bridge.std__vector_std__string_ in
23
23
  var __vector = bridge.create_std__vector_std__string_(skus.count)
24
24
  for __item in skus {
@@ -122,6 +122,32 @@ public extension NitroRequestPurchaseAndroid {
122
122
  } else {
123
123
  return .init()
124
124
  }
125
+ }(), { () -> bridge.std__optional_std__variant_nitro__NullType__std__string__ in
126
+ if let __unwrappedValue = originalExternalTransactionId {
127
+ return bridge.create_std__optional_std__variant_nitro__NullType__std__string__({ () -> bridge.std__variant_nitro__NullType__std__string_ in
128
+ switch __unwrappedValue {
129
+ case .first(let __value):
130
+ return bridge.create_std__variant_nitro__NullType__std__string_(margelo.nitro.NullType.null)
131
+ case .second(let __value):
132
+ return bridge.create_std__variant_nitro__NullType__std__string_(std.string(__value))
133
+ }
134
+ }().variant)
135
+ } else {
136
+ return .init()
137
+ }
138
+ }(), { () -> bridge.std__optional_std__variant_nitro__NullType__DeveloperBillingOptionParamsAndroid__ in
139
+ if let __unwrappedValue = developerBillingOption {
140
+ return bridge.create_std__optional_std__variant_nitro__NullType__DeveloperBillingOptionParamsAndroid__({ () -> bridge.std__variant_nitro__NullType__DeveloperBillingOptionParamsAndroid_ in
141
+ switch __unwrappedValue {
142
+ case .first(let __value):
143
+ return bridge.create_std__variant_nitro__NullType__DeveloperBillingOptionParamsAndroid_(margelo.nitro.NullType.null)
144
+ case .second(let __value):
145
+ return bridge.create_std__variant_nitro__NullType__DeveloperBillingOptionParamsAndroid_(__value)
146
+ }
147
+ }().variant)
148
+ } else {
149
+ return .init()
150
+ }
125
151
  }(), { () -> bridge.std__optional_std__variant_nitro__NullType__SubscriptionProductReplacementParamsAndroid__ in
126
152
  if let __unwrappedValue = subscriptionProductReplacementParams {
127
153
  return bridge.create_std__optional_std__variant_nitro__NullType__SubscriptionProductReplacementParamsAndroid__({ () -> bridge.std__variant_nitro__NullType__SubscriptionProductReplacementParamsAndroid_ in
@@ -311,6 +337,54 @@ public extension NitroRequestPurchaseAndroid {
311
337
  }()
312
338
  }
313
339
 
340
+ @inline(__always)
341
+ var originalExternalTransactionId: Variant_NullType_String? {
342
+ return { () -> Variant_NullType_String? in
343
+ if bridge.has_value_std__optional_std__variant_nitro__NullType__std__string__(self.__originalExternalTransactionId) {
344
+ let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__std__string__(self.__originalExternalTransactionId)
345
+ return { () -> Variant_NullType_String in
346
+ let __variant = bridge.std__variant_nitro__NullType__std__string_(__unwrapped)
347
+ switch __variant.index() {
348
+ case 0:
349
+ let __actual = __variant.get_0()
350
+ return .first(NullType.null)
351
+ case 1:
352
+ let __actual = __variant.get_1()
353
+ return .second(String(__actual))
354
+ default:
355
+ fatalError("Variant can never have index \(__variant.index())!")
356
+ }
357
+ }()
358
+ } else {
359
+ return nil
360
+ }
361
+ }()
362
+ }
363
+
364
+ @inline(__always)
365
+ var developerBillingOption: Variant_NullType_DeveloperBillingOptionParamsAndroid? {
366
+ return { () -> Variant_NullType_DeveloperBillingOptionParamsAndroid? in
367
+ if bridge.has_value_std__optional_std__variant_nitro__NullType__DeveloperBillingOptionParamsAndroid__(self.__developerBillingOption) {
368
+ let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__DeveloperBillingOptionParamsAndroid__(self.__developerBillingOption)
369
+ return { () -> Variant_NullType_DeveloperBillingOptionParamsAndroid in
370
+ let __variant = bridge.std__variant_nitro__NullType__DeveloperBillingOptionParamsAndroid_(__unwrapped)
371
+ switch __variant.index() {
372
+ case 0:
373
+ let __actual = __variant.get_0()
374
+ return .first(NullType.null)
375
+ case 1:
376
+ let __actual = __variant.get_1()
377
+ return .second(__actual)
378
+ default:
379
+ fatalError("Variant can never have index \(__variant.index())!")
380
+ }
381
+ }()
382
+ } else {
383
+ return nil
384
+ }
385
+ }()
386
+ }
387
+
314
388
  @inline(__always)
315
389
  var subscriptionProductReplacementParams: Variant_NullType_SubscriptionProductReplacementParamsAndroid? {
316
390
  return { () -> Variant_NullType_SubscriptionProductReplacementParamsAndroid? in
@@ -0,0 +1,40 @@
1
+ ///
2
+ /// ProductType.swift
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
+ /**
9
+ * Represents the JS union `ProductType`, backed by a C++ enum.
10
+ */
11
+ public typealias ProductType = margelo.nitro.iap.ProductType
12
+
13
+ public extension ProductType {
14
+ /**
15
+ * Get a ProductType for the given String value, or
16
+ * return `nil` if the given value was invalid/unknown.
17
+ */
18
+ init?(fromString string: String) {
19
+ switch string {
20
+ case "subs":
21
+ self = .subs
22
+ case "in-app":
23
+ self = .inApp
24
+ default:
25
+ return nil
26
+ }
27
+ }
28
+
29
+ /**
30
+ * Get the String value this ProductType represents.
31
+ */
32
+ var stringValue: String {
33
+ switch self {
34
+ case .subs:
35
+ return "subs"
36
+ case .inApp:
37
+ return "in-app"
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,44 @@
1
+ ///
2
+ /// SubResponseCodeAndroid.swift
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
+ /**
9
+ * Represents the JS union `SubResponseCodeAndroid`, backed by a C++ enum.
10
+ */
11
+ public typealias SubResponseCodeAndroid = margelo.nitro.iap.SubResponseCodeAndroid
12
+
13
+ public extension SubResponseCodeAndroid {
14
+ /**
15
+ * Get a SubResponseCodeAndroid for the given String value, or
16
+ * return `nil` if the given value was invalid/unknown.
17
+ */
18
+ init?(fromString string: String) {
19
+ switch string {
20
+ case "no-applicable-sub-response-code":
21
+ self = .noApplicableSubResponseCode
22
+ case "payment-declined-due-to-insufficient-funds":
23
+ self = .paymentDeclinedDueToInsufficientFunds
24
+ case "user-ineligible":
25
+ self = .userIneligible
26
+ default:
27
+ return nil
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Get the String value this SubResponseCodeAndroid represents.
33
+ */
34
+ var stringValue: String {
35
+ switch self {
36
+ case .noApplicableSubResponseCode:
37
+ return "no-applicable-sub-response-code"
38
+ case .paymentDeclinedDueToInsufficientFunds:
39
+ return "payment-declined-due-to-insufficient-funds"
40
+ case .userIneligible:
41
+ return "user-ineligible"
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,18 @@
1
+ ///
2
+ /// Variant_NullType_DeveloperBillingOptionParamsAndroid.swift
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
+ import NitroModules
9
+
10
+ /**
11
+ * An Swift enum with associated values representing a Variant/Union type.
12
+ * JS type: `null | struct`
13
+ */
14
+ @frozen
15
+ public indirect enum Variant_NullType_DeveloperBillingOptionParamsAndroid {
16
+ case first(NullType)
17
+ case second(DeveloperBillingOptionParamsAndroid)
18
+ }
@@ -0,0 +1,18 @@
1
+ ///
2
+ /// Variant_NullType_NitroInAppMessageParamsAndroid.swift
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
+ import NitroModules
9
+
10
+ /**
11
+ * An Swift enum with associated values representing a Variant/Union type.
12
+ * JS type: `null | struct`
13
+ */
14
+ @frozen
15
+ public indirect enum Variant_NullType_NitroInAppMessageParamsAndroid {
16
+ case first(NullType)
17
+ case second(NitroInAppMessageParamsAndroid)
18
+ }
@@ -0,0 +1,18 @@
1
+ ///
2
+ /// Variant_NullType__InAppMessageCategoryAndroid_.swift
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
+ import NitroModules
9
+
10
+ /**
11
+ * An Swift enum with associated values representing a Variant/Union type.
12
+ * JS type: `null | array`
13
+ */
14
+ @frozen
15
+ public indirect enum Variant_NullType__InAppMessageCategoryAndroid_ {
16
+ case first(NullType)
17
+ case second([InAppMessageCategoryAndroid])
18
+ }
@@ -0,0 +1,80 @@
1
+ ///
2
+ /// BillingChoiceImageLayoutAndroid.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 (BillingChoiceImageLayoutAndroid).
30
+ */
31
+ enum class BillingChoiceImageLayoutAndroid {
32
+ RECTANGULAR_FOUR_BY_ONE SWIFT_NAME(rectangularFourByOne) = 0,
33
+ RECTANGULAR_THREE_BY_ONE SWIFT_NAME(rectangularThreeByOne) = 1,
34
+ RECTANGULAR_TWO_BY_TWO SWIFT_NAME(rectangularTwoByTwo) = 2,
35
+ } CLOSED_ENUM;
36
+
37
+ } // namespace margelo::nitro::iap
38
+
39
+ namespace margelo::nitro {
40
+
41
+ // C++ BillingChoiceImageLayoutAndroid <> JS BillingChoiceImageLayoutAndroid (union)
42
+ template <>
43
+ struct JSIConverter<margelo::nitro::iap::BillingChoiceImageLayoutAndroid> final {
44
+ static inline margelo::nitro::iap::BillingChoiceImageLayoutAndroid 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("rectangular-four-by-one"): return margelo::nitro::iap::BillingChoiceImageLayoutAndroid::RECTANGULAR_FOUR_BY_ONE;
48
+ case hashString("rectangular-three-by-one"): return margelo::nitro::iap::BillingChoiceImageLayoutAndroid::RECTANGULAR_THREE_BY_ONE;
49
+ case hashString("rectangular-two-by-two"): return margelo::nitro::iap::BillingChoiceImageLayoutAndroid::RECTANGULAR_TWO_BY_TWO;
50
+ default: [[unlikely]]
51
+ throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum BillingChoiceImageLayoutAndroid - invalid value!");
52
+ }
53
+ }
54
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::iap::BillingChoiceImageLayoutAndroid arg) {
55
+ switch (arg) {
56
+ case margelo::nitro::iap::BillingChoiceImageLayoutAndroid::RECTANGULAR_FOUR_BY_ONE: return JSIConverter<std::string>::toJSI(runtime, "rectangular-four-by-one");
57
+ case margelo::nitro::iap::BillingChoiceImageLayoutAndroid::RECTANGULAR_THREE_BY_ONE: return JSIConverter<std::string>::toJSI(runtime, "rectangular-three-by-one");
58
+ case margelo::nitro::iap::BillingChoiceImageLayoutAndroid::RECTANGULAR_TWO_BY_TWO: return JSIConverter<std::string>::toJSI(runtime, "rectangular-two-by-two");
59
+ default: [[unlikely]]
60
+ throw std::invalid_argument("Cannot convert BillingChoiceImageLayoutAndroid 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("rectangular-four-by-one"):
71
+ case hashString("rectangular-three-by-one"):
72
+ case hashString("rectangular-two-by-two"):
73
+ return true;
74
+ default:
75
+ return false;
76
+ }
77
+ }
78
+ };
79
+
80
+ } // namespace margelo::nitro
@@ -0,0 +1,80 @@
1
+ ///
2
+ /// BillingChoiceScreenTypeAndroid.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 (BillingChoiceScreenTypeAndroid).
30
+ */
31
+ enum class BillingChoiceScreenTypeAndroid {
32
+ UNSPECIFIED SWIFT_NAME(unspecified) = 0,
33
+ DEVELOPER_RENDERED SWIFT_NAME(developerRendered) = 1,
34
+ GOOGLE_RENDERED SWIFT_NAME(googleRendered) = 2,
35
+ } CLOSED_ENUM;
36
+
37
+ } // namespace margelo::nitro::iap
38
+
39
+ namespace margelo::nitro {
40
+
41
+ // C++ BillingChoiceScreenTypeAndroid <> JS BillingChoiceScreenTypeAndroid (union)
42
+ template <>
43
+ struct JSIConverter<margelo::nitro::iap::BillingChoiceScreenTypeAndroid> final {
44
+ static inline margelo::nitro::iap::BillingChoiceScreenTypeAndroid 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::BillingChoiceScreenTypeAndroid::UNSPECIFIED;
48
+ case hashString("developer-rendered"): return margelo::nitro::iap::BillingChoiceScreenTypeAndroid::DEVELOPER_RENDERED;
49
+ case hashString("google-rendered"): return margelo::nitro::iap::BillingChoiceScreenTypeAndroid::GOOGLE_RENDERED;
50
+ default: [[unlikely]]
51
+ throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum BillingChoiceScreenTypeAndroid - invalid value!");
52
+ }
53
+ }
54
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::iap::BillingChoiceScreenTypeAndroid arg) {
55
+ switch (arg) {
56
+ case margelo::nitro::iap::BillingChoiceScreenTypeAndroid::UNSPECIFIED: return JSIConverter<std::string>::toJSI(runtime, "unspecified");
57
+ case margelo::nitro::iap::BillingChoiceScreenTypeAndroid::DEVELOPER_RENDERED: return JSIConverter<std::string>::toJSI(runtime, "developer-rendered");
58
+ case margelo::nitro::iap::BillingChoiceScreenTypeAndroid::GOOGLE_RENDERED: return JSIConverter<std::string>::toJSI(runtime, "google-rendered");
59
+ default: [[unlikely]]
60
+ throw std::invalid_argument("Cannot convert BillingChoiceScreenTypeAndroid 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("developer-rendered"):
72
+ case hashString("google-rendered"):
73
+ return true;
74
+ default:
75
+ return false;
76
+ }
77
+ }
78
+ };
79
+
80
+ } // namespace margelo::nitro
@@ -34,6 +34,7 @@ namespace margelo::nitro::iap {
34
34
  EXTERNAL_CONTENT_LINK SWIFT_NAME(externalContentLink) = 2,
35
35
  EXTERNAL_OFFER SWIFT_NAME(externalOffer) = 3,
36
36
  EXTERNAL_PAYMENTS SWIFT_NAME(externalPayments) = 4,
37
+ BILLING_CHOICE SWIFT_NAME(billingChoice) = 5,
37
38
  } CLOSED_ENUM;
38
39
 
39
40
  } // namespace margelo::nitro::iap
@@ -51,6 +52,7 @@ namespace margelo::nitro {
51
52
  case hashString("external-content-link"): return margelo::nitro::iap::BillingProgramAndroid::EXTERNAL_CONTENT_LINK;
52
53
  case hashString("external-offer"): return margelo::nitro::iap::BillingProgramAndroid::EXTERNAL_OFFER;
53
54
  case hashString("external-payments"): return margelo::nitro::iap::BillingProgramAndroid::EXTERNAL_PAYMENTS;
55
+ case hashString("billing-choice"): return margelo::nitro::iap::BillingProgramAndroid::BILLING_CHOICE;
54
56
  default: [[unlikely]]
55
57
  throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum BillingProgramAndroid - invalid value!");
56
58
  }
@@ -62,6 +64,7 @@ namespace margelo::nitro {
62
64
  case margelo::nitro::iap::BillingProgramAndroid::EXTERNAL_CONTENT_LINK: return JSIConverter<std::string>::toJSI(runtime, "external-content-link");
63
65
  case margelo::nitro::iap::BillingProgramAndroid::EXTERNAL_OFFER: return JSIConverter<std::string>::toJSI(runtime, "external-offer");
64
66
  case margelo::nitro::iap::BillingProgramAndroid::EXTERNAL_PAYMENTS: return JSIConverter<std::string>::toJSI(runtime, "external-payments");
67
+ case margelo::nitro::iap::BillingProgramAndroid::BILLING_CHOICE: return JSIConverter<std::string>::toJSI(runtime, "billing-choice");
65
68
  default: [[unlikely]]
66
69
  throw std::invalid_argument("Cannot convert BillingProgramAndroid to JS - invalid value: "
67
70
  + std::to_string(static_cast<int>(arg)) + "!");
@@ -78,6 +81,7 @@ namespace margelo::nitro {
78
81
  case hashString("external-content-link"):
79
82
  case hashString("external-offer"):
80
83
  case hashString("external-payments"):
84
+ case hashString("billing-choice"):
81
85
  return true;
82
86
  default:
83
87
  return false;
@@ -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