react-native-iap 14.4.26 → 14.4.28

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 (152) hide show
  1. package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +1 -1
  2. package/ios/RnIapHelper.swift +7 -1
  3. package/lib/module/index.js +3 -0
  4. package/lib/module/index.js.map +1 -1
  5. package/lib/module/utils/type-bridge.js +2 -1
  6. package/lib/module/utils/type-bridge.js.map +1 -1
  7. package/lib/typescript/src/index.d.ts.map +1 -1
  8. package/lib/typescript/src/specs/RnIap.nitro.d.ts +52 -8
  9. package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
  10. package/lib/typescript/src/types.d.ts +1 -1
  11. package/lib/typescript/src/types.d.ts.map +1 -1
  12. package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -1
  13. package/nitrogen/generated/android/c++/JAndroidSubscriptionOfferInput.hpp +5 -1
  14. package/nitrogen/generated/android/c++/JExternalPurchaseLinkResultIOS.hpp +5 -1
  15. package/nitrogen/generated/android/c++/JExternalPurchaseNoticeResultIOS.hpp +5 -1
  16. package/nitrogen/generated/android/c++/JFunc_void_NitroProduct.hpp +2 -0
  17. package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +4 -0
  18. package/nitrogen/generated/android/c++/JInitConnectionConfig.hpp +5 -1
  19. package/nitrogen/generated/android/c++/JNitroActiveSubscription.hpp +5 -1
  20. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidOptions.hpp +5 -1
  21. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesIosOptions.hpp +5 -1
  22. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesOptions.hpp +5 -1
  23. package/nitrogen/generated/android/c++/JNitroDeepLinkOptionsAndroid.hpp +5 -1
  24. package/nitrogen/generated/android/c++/JNitroFinishTransactionAndroidParams.hpp +5 -1
  25. package/nitrogen/generated/android/c++/JNitroFinishTransactionIosParams.hpp +5 -1
  26. package/nitrogen/generated/android/c++/JNitroFinishTransactionParams.hpp +5 -1
  27. package/nitrogen/generated/android/c++/JNitroOneTimePurchaseOfferDetail.hpp +5 -1
  28. package/nitrogen/generated/android/c++/JNitroProduct.hpp +11 -5
  29. package/nitrogen/generated/android/c++/JNitroPurchase.hpp +5 -1
  30. package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +5 -1
  31. package/nitrogen/generated/android/c++/JNitroPurchaseResult.hpp +5 -1
  32. package/nitrogen/generated/android/c++/JNitroReceiptValidationAndroidOptions.hpp +5 -1
  33. package/nitrogen/generated/android/c++/JNitroReceiptValidationParams.hpp +5 -1
  34. package/nitrogen/generated/android/c++/JNitroReceiptValidationResultAndroid.hpp +5 -1
  35. package/nitrogen/generated/android/c++/JNitroReceiptValidationResultIOS.hpp +5 -1
  36. package/nitrogen/generated/android/c++/JNitroRenewalInfoIOS.hpp +5 -1
  37. package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +5 -1
  38. package/nitrogen/generated/android/c++/JNitroRequestPurchaseIos.hpp +5 -1
  39. package/nitrogen/generated/android/c++/JNitroSubscriptionRenewalInfo.hpp +5 -1
  40. package/nitrogen/generated/android/c++/JNitroSubscriptionStatus.hpp +5 -1
  41. package/nitrogen/generated/android/c++/JPaymentModeIOS.hpp +65 -0
  42. package/nitrogen/generated/android/c++/JPurchaseAndroid.hpp +5 -1
  43. package/nitrogen/generated/android/c++/JPurchaseIOS.hpp +5 -1
  44. package/nitrogen/generated/android/c++/JPurchaseOfferIOS.hpp +5 -1
  45. package/nitrogen/generated/android/c++/JRenewalInfoIOS.hpp +5 -1
  46. package/nitrogen/generated/android/c++/JUserChoiceBillingDetails.hpp +5 -1
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AndroidSubscriptionOfferInput.kt +16 -9
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseLinkResultIOS.kt +16 -9
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseNoticeResultIOS.kt +16 -9
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroProduct.kt +0 -1
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchase.kt +0 -1
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchaseResult.kt +0 -1
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_UserChoiceBillingDetails.kt +0 -1
  54. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +3 -2
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InitConnectionConfig.kt +13 -6
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroActiveSubscription.kt +52 -45
  57. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesAndroidOptions.kt +13 -6
  58. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesIosOptions.kt +22 -15
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesOptions.kt +16 -9
  60. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDeepLinkOptionsAndroid.kt +16 -9
  61. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionAndroidParams.kt +16 -9
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionIosParams.kt +13 -6
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionParams.kt +16 -9
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroOneTimePurchaseOfferDetail.kt +19 -12
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +102 -95
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +132 -125
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseRequest.kt +16 -9
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseResult.kt +25 -18
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationAndroidOptions.kt +22 -15
  70. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationParams.kt +16 -9
  71. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultAndroid.kt +66 -59
  72. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultIOS.kt +22 -15
  73. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRenewalInfoIOS.kt +43 -36
  74. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +31 -24
  75. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseIos.kt +25 -18
  76. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionRenewalInfo.kt +28 -21
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionStatus.kt +19 -12
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PaymentModeIOS.kt +23 -0
  79. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Purchase.kt +18 -1
  80. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseAndroid.kt +69 -62
  81. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseIOS.kt +111 -104
  82. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseOfferIOS.kt +19 -12
  83. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RenewalInfoIOS.kt +43 -36
  84. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RequestPurchaseResult.kt +23 -1
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/UserChoiceBillingDetails.kt +16 -9
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_Boolean_NitroPurchaseResult.kt +18 -1
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.kt +18 -1
  88. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +22 -22
  89. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +26 -22
  90. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +3 -0
  91. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +7 -4
  92. package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroProduct_.swift +1 -8
  93. package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroPurchase_.swift +1 -8
  94. package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +1 -0
  95. package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +3 -16
  96. package/nitrogen/generated/ios/swift/NitroActiveSubscription.swift +17 -10
  97. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesIosOptions.swift +32 -4
  98. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesOptions.swift +2 -16
  99. package/nitrogen/generated/ios/swift/NitroFinishTransactionAndroidParams.swift +8 -1
  100. package/nitrogen/generated/ios/swift/NitroFinishTransactionParams.swift +2 -16
  101. package/nitrogen/generated/ios/swift/NitroProduct.swift +14 -33
  102. package/nitrogen/generated/ios/swift/NitroPurchase.swift +25 -11
  103. package/nitrogen/generated/ios/swift/NitroPurchaseRequest.swift +2 -16
  104. package/nitrogen/generated/ios/swift/NitroReceiptValidationAndroidOptions.swift +8 -1
  105. package/nitrogen/generated/ios/swift/NitroReceiptValidationParams.swift +1 -8
  106. package/nitrogen/generated/ios/swift/NitroReceiptValidationResultIOS.swift +1 -8
  107. package/nitrogen/generated/ios/swift/NitroRenewalInfoIOS.swift +8 -1
  108. package/nitrogen/generated/ios/swift/NitroRequestPurchaseAndroid.swift +8 -1
  109. package/nitrogen/generated/ios/swift/NitroRequestPurchaseIos.swift +8 -1
  110. package/nitrogen/generated/ios/swift/NitroSubscriptionStatus.swift +1 -8
  111. package/nitrogen/generated/ios/swift/PaymentModeIOS.swift +48 -0
  112. package/nitrogen/generated/ios/swift/PurchaseAndroid.swift +16 -2
  113. package/nitrogen/generated/ios/swift/PurchaseIOS.swift +10 -17
  114. package/nitrogen/generated/ios/swift/RenewalInfoIOS.swift +8 -1
  115. package/nitrogen/generated/shared/c++/AndroidSubscriptionOfferInput.hpp +8 -0
  116. package/nitrogen/generated/shared/c++/ExternalPurchaseLinkResultIOS.hpp +8 -0
  117. package/nitrogen/generated/shared/c++/ExternalPurchaseNoticeResultIOS.hpp +8 -0
  118. package/nitrogen/generated/shared/c++/InitConnectionConfig.hpp +8 -0
  119. package/nitrogen/generated/shared/c++/NitroActiveSubscription.hpp +8 -0
  120. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesAndroidOptions.hpp +8 -0
  121. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesIosOptions.hpp +8 -0
  122. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesOptions.hpp +8 -0
  123. package/nitrogen/generated/shared/c++/NitroDeepLinkOptionsAndroid.hpp +8 -0
  124. package/nitrogen/generated/shared/c++/NitroFinishTransactionAndroidParams.hpp +8 -0
  125. package/nitrogen/generated/shared/c++/NitroFinishTransactionIosParams.hpp +8 -0
  126. package/nitrogen/generated/shared/c++/NitroFinishTransactionParams.hpp +8 -0
  127. package/nitrogen/generated/shared/c++/NitroOneTimePurchaseOfferDetail.hpp +8 -0
  128. package/nitrogen/generated/shared/c++/NitroProduct.hpp +16 -5
  129. package/nitrogen/generated/shared/c++/NitroPurchase.hpp +8 -0
  130. package/nitrogen/generated/shared/c++/NitroPurchaseRequest.hpp +8 -0
  131. package/nitrogen/generated/shared/c++/NitroPurchaseResult.hpp +8 -0
  132. package/nitrogen/generated/shared/c++/NitroReceiptValidationAndroidOptions.hpp +8 -0
  133. package/nitrogen/generated/shared/c++/NitroReceiptValidationParams.hpp +8 -0
  134. package/nitrogen/generated/shared/c++/NitroReceiptValidationResultAndroid.hpp +8 -0
  135. package/nitrogen/generated/shared/c++/NitroReceiptValidationResultIOS.hpp +8 -0
  136. package/nitrogen/generated/shared/c++/NitroRenewalInfoIOS.hpp +8 -0
  137. package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +8 -0
  138. package/nitrogen/generated/shared/c++/NitroRequestPurchaseIos.hpp +8 -0
  139. package/nitrogen/generated/shared/c++/NitroSubscriptionRenewalInfo.hpp +8 -0
  140. package/nitrogen/generated/shared/c++/NitroSubscriptionStatus.hpp +8 -0
  141. package/nitrogen/generated/shared/c++/PaymentModeIOS.hpp +84 -0
  142. package/nitrogen/generated/shared/c++/PurchaseAndroid.hpp +8 -0
  143. package/nitrogen/generated/shared/c++/PurchaseIOS.hpp +8 -0
  144. package/nitrogen/generated/shared/c++/PurchaseOfferIOS.hpp +8 -0
  145. package/nitrogen/generated/shared/c++/RenewalInfoIOS.hpp +8 -0
  146. package/nitrogen/generated/shared/c++/UserChoiceBillingDetails.hpp +8 -0
  147. package/openiap-versions.json +2 -2
  148. package/package.json +4 -4
  149. package/src/index.ts +18 -0
  150. package/src/specs/RnIap.nitro.ts +52 -7
  151. package/src/types.ts +1 -1
  152. package/src/utils/type-bridge.ts +2 -1
@@ -9,7 +9,6 @@ package com.margelo.nitro.iap
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -17,19 +16,27 @@ import com.margelo.nitro.core.*
17
16
  */
18
17
  @DoNotStrip
19
18
  @Keep
20
- data class NitroSubscriptionStatus
19
+ data class NitroSubscriptionStatus(
21
20
  @DoNotStrip
22
21
  @Keep
23
- constructor(
24
- @DoNotStrip
25
- @Keep
26
- val state: Double,
27
- @DoNotStrip
28
- @Keep
29
- val platform: String,
22
+ val state: Double,
23
+ @DoNotStrip
24
+ @Keep
25
+ val platform: String,
26
+ @DoNotStrip
27
+ @Keep
28
+ val renewalInfo: NitroSubscriptionRenewalInfo?
29
+ ) {
30
+ private companion object {
31
+ /**
32
+ * Constructor called from C++
33
+ */
30
34
  @DoNotStrip
31
35
  @Keep
32
- val renewalInfo: NitroSubscriptionRenewalInfo?
33
- ) {
34
- /* main constructor */
36
+ @Suppress("unused")
37
+ @JvmStatic
38
+ private fun fromCpp(state: Double, platform: String, renewalInfo: NitroSubscriptionRenewalInfo?): NitroSubscriptionStatus {
39
+ return NitroSubscriptionStatus(state, platform, renewalInfo)
40
+ }
41
+ }
35
42
  }
@@ -0,0 +1,23 @@
1
+ ///
2
+ /// PaymentModeIOS.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.iap
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+ /**
14
+ * Represents the JavaScript enum/union "PaymentModeIOS".
15
+ */
16
+ @DoNotStrip
17
+ @Keep
18
+ enum class PaymentModeIOS(@DoNotStrip @Keep val value: Int) {
19
+ EMPTY(0),
20
+ FREE_TRIAL(1),
21
+ PAY_AS_YOU_GO(2),
22
+ PAY_UP_FRONT(3);
23
+ }
@@ -11,7 +11,7 @@ import com.facebook.proguard.annotations.DoNotStrip
11
11
 
12
12
 
13
13
  /**
14
- * Represents the TypeScript variant "PurchaseAndroid|PurchaseIOS".
14
+ * Represents the TypeScript variant "PurchaseAndroid | PurchaseIOS".
15
15
  */
16
16
  @Suppress("ClassName")
17
17
  @DoNotStrip
@@ -21,6 +21,7 @@ sealed class Purchase {
21
21
  @DoNotStrip
22
22
  data class Second(@DoNotStrip val value: PurchaseIOS): Purchase()
23
23
 
24
+ @Deprecated("getAs() is not type-safe. Use fold/asFirstOrNull/asSecondOrNull instead.", level = DeprecationLevel.ERROR)
24
25
  inline fun <reified T> getAs(): T? = when (this) {
25
26
  is First -> value as? T
26
27
  is Second -> value as? T
@@ -31,6 +32,22 @@ sealed class Purchase {
31
32
  val isSecond: Boolean
32
33
  get() = this is Second
33
34
 
35
+ fun asFirstOrNull(): PurchaseAndroid? {
36
+ val value = (this as? First)?.value ?: return null
37
+ return value
38
+ }
39
+ fun asSecondOrNull(): PurchaseIOS? {
40
+ val value = (this as? Second)?.value ?: return null
41
+ return value
42
+ }
43
+
44
+ inline fun <R> match(first: (PurchaseAndroid) -> R, second: (PurchaseIOS) -> R): R {
45
+ return when (this) {
46
+ is First -> first(value)
47
+ is Second -> second(value)
48
+ }
49
+ }
50
+
34
51
  companion object {
35
52
  @JvmStatic
36
53
  @DoNotStrip
@@ -9,7 +9,6 @@ package com.margelo.nitro.iap
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -17,67 +16,75 @@ import com.margelo.nitro.core.*
17
16
  */
18
17
  @DoNotStrip
19
18
  @Keep
20
- data class PurchaseAndroid
19
+ data class PurchaseAndroid(
21
20
  @DoNotStrip
22
21
  @Keep
23
- constructor(
24
- @DoNotStrip
25
- @Keep
26
- val autoRenewingAndroid: Boolean?,
27
- @DoNotStrip
28
- @Keep
29
- val currentPlanId: String?,
30
- @DoNotStrip
31
- @Keep
32
- val dataAndroid: String?,
33
- @DoNotStrip
34
- @Keep
35
- val developerPayloadAndroid: String?,
36
- @DoNotStrip
37
- @Keep
38
- val id: String,
39
- @DoNotStrip
40
- @Keep
41
- val ids: Array<String>?,
42
- @DoNotStrip
43
- @Keep
44
- val isAcknowledgedAndroid: Boolean?,
45
- @DoNotStrip
46
- @Keep
47
- val isAutoRenewing: Boolean,
48
- @DoNotStrip
49
- @Keep
50
- val obfuscatedAccountIdAndroid: String?,
51
- @DoNotStrip
52
- @Keep
53
- val obfuscatedProfileIdAndroid: String?,
54
- @DoNotStrip
55
- @Keep
56
- val packageNameAndroid: String?,
57
- @DoNotStrip
58
- @Keep
59
- val platform: IapPlatform,
60
- @DoNotStrip
61
- @Keep
62
- val productId: String,
63
- @DoNotStrip
64
- @Keep
65
- val purchaseState: PurchaseState,
66
- @DoNotStrip
67
- @Keep
68
- val purchaseToken: String?,
69
- @DoNotStrip
70
- @Keep
71
- val quantity: Double,
72
- @DoNotStrip
73
- @Keep
74
- val signatureAndroid: String?,
75
- @DoNotStrip
76
- @Keep
77
- val transactionDate: Double,
78
- @DoNotStrip
79
- @Keep
80
- val transactionId: String?
81
- ) {
82
- /* main constructor */
22
+ val autoRenewingAndroid: Boolean?,
23
+ @DoNotStrip
24
+ @Keep
25
+ val currentPlanId: String?,
26
+ @DoNotStrip
27
+ @Keep
28
+ val dataAndroid: String?,
29
+ @DoNotStrip
30
+ @Keep
31
+ val developerPayloadAndroid: String?,
32
+ @DoNotStrip
33
+ @Keep
34
+ val id: String,
35
+ @DoNotStrip
36
+ @Keep
37
+ val ids: Array<String>?,
38
+ @DoNotStrip
39
+ @Keep
40
+ val isAcknowledgedAndroid: Boolean?,
41
+ @DoNotStrip
42
+ @Keep
43
+ val isAutoRenewing: Boolean,
44
+ @DoNotStrip
45
+ @Keep
46
+ val obfuscatedAccountIdAndroid: String?,
47
+ @DoNotStrip
48
+ @Keep
49
+ val obfuscatedProfileIdAndroid: String?,
50
+ @DoNotStrip
51
+ @Keep
52
+ val packageNameAndroid: String?,
53
+ @DoNotStrip
54
+ @Keep
55
+ val platform: IapPlatform,
56
+ @DoNotStrip
57
+ @Keep
58
+ val productId: String,
59
+ @DoNotStrip
60
+ @Keep
61
+ val purchaseState: PurchaseState,
62
+ @DoNotStrip
63
+ @Keep
64
+ val purchaseToken: String?,
65
+ @DoNotStrip
66
+ @Keep
67
+ val quantity: Double,
68
+ @DoNotStrip
69
+ @Keep
70
+ val signatureAndroid: String?,
71
+ @DoNotStrip
72
+ @Keep
73
+ val transactionDate: Double,
74
+ @DoNotStrip
75
+ @Keep
76
+ val transactionId: String?
77
+ ) {
78
+ private companion object {
79
+ /**
80
+ * Constructor called from C++
81
+ */
82
+ @DoNotStrip
83
+ @Keep
84
+ @Suppress("unused")
85
+ @JvmStatic
86
+ private fun fromCpp(autoRenewingAndroid: Boolean?, currentPlanId: String?, dataAndroid: String?, developerPayloadAndroid: String?, id: String, ids: Array<String>?, isAcknowledgedAndroid: Boolean?, isAutoRenewing: Boolean, obfuscatedAccountIdAndroid: String?, obfuscatedProfileIdAndroid: String?, packageNameAndroid: String?, platform: IapPlatform, productId: String, purchaseState: PurchaseState, purchaseToken: String?, quantity: Double, signatureAndroid: String?, transactionDate: Double, transactionId: String?): PurchaseAndroid {
87
+ return PurchaseAndroid(autoRenewingAndroid, currentPlanId, dataAndroid, developerPayloadAndroid, id, ids, isAcknowledgedAndroid, isAutoRenewing, obfuscatedAccountIdAndroid, obfuscatedProfileIdAndroid, packageNameAndroid, platform, productId, purchaseState, purchaseToken, quantity, signatureAndroid, transactionDate, transactionId)
88
+ }
89
+ }
83
90
  }
@@ -9,7 +9,6 @@ package com.margelo.nitro.iap
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -17,109 +16,117 @@ import com.margelo.nitro.core.*
17
16
  */
18
17
  @DoNotStrip
19
18
  @Keep
20
- data class PurchaseIOS
19
+ data class PurchaseIOS(
21
20
  @DoNotStrip
22
21
  @Keep
23
- constructor(
24
- @DoNotStrip
25
- @Keep
26
- val appAccountToken: String?,
27
- @DoNotStrip
28
- @Keep
29
- val appBundleIdIOS: String?,
30
- @DoNotStrip
31
- @Keep
32
- val countryCodeIOS: String?,
33
- @DoNotStrip
34
- @Keep
35
- val currencyCodeIOS: String?,
36
- @DoNotStrip
37
- @Keep
38
- val currencySymbolIOS: String?,
39
- @DoNotStrip
40
- @Keep
41
- val currentPlanId: String?,
42
- @DoNotStrip
43
- @Keep
44
- val environmentIOS: String?,
45
- @DoNotStrip
46
- @Keep
47
- val expirationDateIOS: Double?,
48
- @DoNotStrip
49
- @Keep
50
- val id: String,
51
- @DoNotStrip
52
- @Keep
53
- val ids: Array<String>?,
54
- @DoNotStrip
55
- @Keep
56
- val isAutoRenewing: Boolean,
57
- @DoNotStrip
58
- @Keep
59
- val isUpgradedIOS: Boolean?,
60
- @DoNotStrip
61
- @Keep
62
- val offerIOS: PurchaseOfferIOS?,
63
- @DoNotStrip
64
- @Keep
65
- val originalTransactionDateIOS: Double?,
66
- @DoNotStrip
67
- @Keep
68
- val originalTransactionIdentifierIOS: String?,
69
- @DoNotStrip
70
- @Keep
71
- val ownershipTypeIOS: String?,
72
- @DoNotStrip
73
- @Keep
74
- val platform: IapPlatform,
75
- @DoNotStrip
76
- @Keep
77
- val productId: String,
78
- @DoNotStrip
79
- @Keep
80
- val purchaseState: PurchaseState,
81
- @DoNotStrip
82
- @Keep
83
- val purchaseToken: String?,
84
- @DoNotStrip
85
- @Keep
86
- val quantity: Double,
87
- @DoNotStrip
88
- @Keep
89
- val quantityIOS: Double?,
90
- @DoNotStrip
91
- @Keep
92
- val reasonIOS: String?,
93
- @DoNotStrip
94
- @Keep
95
- val reasonStringRepresentationIOS: String?,
96
- @DoNotStrip
97
- @Keep
98
- val renewalInfoIOS: RenewalInfoIOS?,
99
- @DoNotStrip
100
- @Keep
101
- val revocationDateIOS: Double?,
102
- @DoNotStrip
103
- @Keep
104
- val revocationReasonIOS: String?,
105
- @DoNotStrip
106
- @Keep
107
- val storefrontCountryCodeIOS: String?,
108
- @DoNotStrip
109
- @Keep
110
- val subscriptionGroupIdIOS: String?,
111
- @DoNotStrip
112
- @Keep
113
- val transactionDate: Double,
114
- @DoNotStrip
115
- @Keep
116
- val transactionId: String,
117
- @DoNotStrip
118
- @Keep
119
- val transactionReasonIOS: String?,
120
- @DoNotStrip
121
- @Keep
122
- val webOrderLineItemIdIOS: String?
123
- ) {
124
- /* main constructor */
22
+ val appAccountToken: String?,
23
+ @DoNotStrip
24
+ @Keep
25
+ val appBundleIdIOS: String?,
26
+ @DoNotStrip
27
+ @Keep
28
+ val countryCodeIOS: String?,
29
+ @DoNotStrip
30
+ @Keep
31
+ val currencyCodeIOS: String?,
32
+ @DoNotStrip
33
+ @Keep
34
+ val currencySymbolIOS: String?,
35
+ @DoNotStrip
36
+ @Keep
37
+ val currentPlanId: String?,
38
+ @DoNotStrip
39
+ @Keep
40
+ val environmentIOS: String?,
41
+ @DoNotStrip
42
+ @Keep
43
+ val expirationDateIOS: Double?,
44
+ @DoNotStrip
45
+ @Keep
46
+ val id: String,
47
+ @DoNotStrip
48
+ @Keep
49
+ val ids: Array<String>?,
50
+ @DoNotStrip
51
+ @Keep
52
+ val isAutoRenewing: Boolean,
53
+ @DoNotStrip
54
+ @Keep
55
+ val isUpgradedIOS: Boolean?,
56
+ @DoNotStrip
57
+ @Keep
58
+ val offerIOS: PurchaseOfferIOS?,
59
+ @DoNotStrip
60
+ @Keep
61
+ val originalTransactionDateIOS: Double?,
62
+ @DoNotStrip
63
+ @Keep
64
+ val originalTransactionIdentifierIOS: String?,
65
+ @DoNotStrip
66
+ @Keep
67
+ val ownershipTypeIOS: String?,
68
+ @DoNotStrip
69
+ @Keep
70
+ val platform: IapPlatform,
71
+ @DoNotStrip
72
+ @Keep
73
+ val productId: String,
74
+ @DoNotStrip
75
+ @Keep
76
+ val purchaseState: PurchaseState,
77
+ @DoNotStrip
78
+ @Keep
79
+ val purchaseToken: String?,
80
+ @DoNotStrip
81
+ @Keep
82
+ val quantity: Double,
83
+ @DoNotStrip
84
+ @Keep
85
+ val quantityIOS: Double?,
86
+ @DoNotStrip
87
+ @Keep
88
+ val reasonIOS: String?,
89
+ @DoNotStrip
90
+ @Keep
91
+ val reasonStringRepresentationIOS: String?,
92
+ @DoNotStrip
93
+ @Keep
94
+ val renewalInfoIOS: RenewalInfoIOS?,
95
+ @DoNotStrip
96
+ @Keep
97
+ val revocationDateIOS: Double?,
98
+ @DoNotStrip
99
+ @Keep
100
+ val revocationReasonIOS: String?,
101
+ @DoNotStrip
102
+ @Keep
103
+ val storefrontCountryCodeIOS: String?,
104
+ @DoNotStrip
105
+ @Keep
106
+ val subscriptionGroupIdIOS: String?,
107
+ @DoNotStrip
108
+ @Keep
109
+ val transactionDate: Double,
110
+ @DoNotStrip
111
+ @Keep
112
+ val transactionId: String,
113
+ @DoNotStrip
114
+ @Keep
115
+ val transactionReasonIOS: String?,
116
+ @DoNotStrip
117
+ @Keep
118
+ val webOrderLineItemIdIOS: String?
119
+ ) {
120
+ private companion object {
121
+ /**
122
+ * Constructor called from C++
123
+ */
124
+ @DoNotStrip
125
+ @Keep
126
+ @Suppress("unused")
127
+ @JvmStatic
128
+ private fun fromCpp(appAccountToken: String?, appBundleIdIOS: String?, countryCodeIOS: String?, currencyCodeIOS: String?, currencySymbolIOS: String?, currentPlanId: String?, environmentIOS: String?, expirationDateIOS: Double?, id: String, ids: Array<String>?, isAutoRenewing: Boolean, isUpgradedIOS: Boolean?, offerIOS: PurchaseOfferIOS?, originalTransactionDateIOS: Double?, originalTransactionIdentifierIOS: String?, ownershipTypeIOS: String?, platform: IapPlatform, productId: String, purchaseState: PurchaseState, purchaseToken: String?, quantity: Double, quantityIOS: Double?, reasonIOS: String?, reasonStringRepresentationIOS: String?, renewalInfoIOS: RenewalInfoIOS?, revocationDateIOS: Double?, revocationReasonIOS: String?, storefrontCountryCodeIOS: String?, subscriptionGroupIdIOS: String?, transactionDate: Double, transactionId: String, transactionReasonIOS: String?, webOrderLineItemIdIOS: String?): PurchaseIOS {
129
+ return PurchaseIOS(appAccountToken, appBundleIdIOS, countryCodeIOS, currencyCodeIOS, currencySymbolIOS, currentPlanId, environmentIOS, expirationDateIOS, id, ids, isAutoRenewing, isUpgradedIOS, offerIOS, originalTransactionDateIOS, originalTransactionIdentifierIOS, ownershipTypeIOS, platform, productId, purchaseState, purchaseToken, quantity, quantityIOS, reasonIOS, reasonStringRepresentationIOS, renewalInfoIOS, revocationDateIOS, revocationReasonIOS, storefrontCountryCodeIOS, subscriptionGroupIdIOS, transactionDate, transactionId, transactionReasonIOS, webOrderLineItemIdIOS)
130
+ }
131
+ }
125
132
  }
@@ -9,7 +9,6 @@ package com.margelo.nitro.iap
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -17,19 +16,27 @@ import com.margelo.nitro.core.*
17
16
  */
18
17
  @DoNotStrip
19
18
  @Keep
20
- data class PurchaseOfferIOS
19
+ data class PurchaseOfferIOS(
21
20
  @DoNotStrip
22
21
  @Keep
23
- constructor(
24
- @DoNotStrip
25
- @Keep
26
- val id: String,
27
- @DoNotStrip
28
- @Keep
29
- val paymentMode: String,
22
+ val id: String,
23
+ @DoNotStrip
24
+ @Keep
25
+ val paymentMode: String,
26
+ @DoNotStrip
27
+ @Keep
28
+ val type: String
29
+ ) {
30
+ private companion object {
31
+ /**
32
+ * Constructor called from C++
33
+ */
30
34
  @DoNotStrip
31
35
  @Keep
32
- val type: String
33
- ) {
34
- /* main constructor */
36
+ @Suppress("unused")
37
+ @JvmStatic
38
+ private fun fromCpp(id: String, paymentMode: String, type: String): PurchaseOfferIOS {
39
+ return PurchaseOfferIOS(id, paymentMode, type)
40
+ }
41
+ }
35
42
  }
@@ -9,7 +9,6 @@ package com.margelo.nitro.iap
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -17,43 +16,51 @@ import com.margelo.nitro.core.*
17
16
  */
18
17
  @DoNotStrip
19
18
  @Keep
20
- data class RenewalInfoIOS
19
+ data class RenewalInfoIOS(
21
20
  @DoNotStrip
22
21
  @Keep
23
- constructor(
24
- @DoNotStrip
25
- @Keep
26
- val autoRenewPreference: String?,
27
- @DoNotStrip
28
- @Keep
29
- val expirationReason: String?,
30
- @DoNotStrip
31
- @Keep
32
- val gracePeriodExpirationDate: Double?,
33
- @DoNotStrip
34
- @Keep
35
- val isInBillingRetry: Boolean?,
36
- @DoNotStrip
37
- @Keep
38
- val jsonRepresentation: String?,
39
- @DoNotStrip
40
- @Keep
41
- val pendingUpgradeProductId: String?,
42
- @DoNotStrip
43
- @Keep
44
- val priceIncreaseStatus: String?,
45
- @DoNotStrip
46
- @Keep
47
- val renewalDate: Double?,
48
- @DoNotStrip
49
- @Keep
50
- val renewalOfferId: String?,
51
- @DoNotStrip
52
- @Keep
53
- val renewalOfferType: String?,
22
+ val autoRenewPreference: String?,
23
+ @DoNotStrip
24
+ @Keep
25
+ val expirationReason: String?,
26
+ @DoNotStrip
27
+ @Keep
28
+ val gracePeriodExpirationDate: Double?,
29
+ @DoNotStrip
30
+ @Keep
31
+ val isInBillingRetry: Boolean?,
32
+ @DoNotStrip
33
+ @Keep
34
+ val jsonRepresentation: String?,
35
+ @DoNotStrip
36
+ @Keep
37
+ val pendingUpgradeProductId: String?,
38
+ @DoNotStrip
39
+ @Keep
40
+ val priceIncreaseStatus: String?,
41
+ @DoNotStrip
42
+ @Keep
43
+ val renewalDate: Double?,
44
+ @DoNotStrip
45
+ @Keep
46
+ val renewalOfferId: String?,
47
+ @DoNotStrip
48
+ @Keep
49
+ val renewalOfferType: String?,
50
+ @DoNotStrip
51
+ @Keep
52
+ val willAutoRenew: Boolean
53
+ ) {
54
+ private companion object {
55
+ /**
56
+ * Constructor called from C++
57
+ */
54
58
  @DoNotStrip
55
59
  @Keep
56
- val willAutoRenew: Boolean
57
- ) {
58
- /* main constructor */
60
+ @Suppress("unused")
61
+ @JvmStatic
62
+ private fun fromCpp(autoRenewPreference: String?, expirationReason: String?, gracePeriodExpirationDate: Double?, isInBillingRetry: Boolean?, jsonRepresentation: String?, pendingUpgradeProductId: String?, priceIncreaseStatus: String?, renewalDate: Double?, renewalOfferId: String?, renewalOfferType: String?, willAutoRenew: Boolean): RenewalInfoIOS {
63
+ return RenewalInfoIOS(autoRenewPreference, expirationReason, gracePeriodExpirationDate, isInBillingRetry, jsonRepresentation, pendingUpgradeProductId, priceIncreaseStatus, renewalDate, renewalOfferId, renewalOfferType, willAutoRenew)
64
+ }
65
+ }
59
66
  }
@@ -11,7 +11,7 @@ import com.facebook.proguard.annotations.DoNotStrip
11
11
 
12
12
 
13
13
  /**
14
- * Represents the TypeScript variant "PurchaseAndroid|PurchaseIOS|Array<Purchase>".
14
+ * Represents the TypeScript variant "PurchaseAndroid | PurchaseIOS | Array<Purchase>".
15
15
  */
16
16
  @Suppress("ClassName")
17
17
  @DoNotStrip
@@ -23,6 +23,7 @@ sealed class RequestPurchaseResult {
23
23
  @DoNotStrip
24
24
  data class Third(@DoNotStrip val value: Array<Purchase>): RequestPurchaseResult()
25
25
 
26
+ @Deprecated("getAs() is not type-safe. Use fold/asFirstOrNull/asSecondOrNull instead.", level = DeprecationLevel.ERROR)
26
27
  inline fun <reified T> getAs(): T? = when (this) {
27
28
  is First -> value as? T
28
29
  is Second -> value as? T
@@ -36,6 +37,27 @@ sealed class RequestPurchaseResult {
36
37
  val isThird: Boolean
37
38
  get() = this is Third
38
39
 
40
+ fun asFirstOrNull(): PurchaseAndroid? {
41
+ val value = (this as? First)?.value ?: return null
42
+ return value
43
+ }
44
+ fun asSecondOrNull(): PurchaseIOS? {
45
+ val value = (this as? Second)?.value ?: return null
46
+ return value
47
+ }
48
+ fun asThirdOrNull(): Array<Purchase>? {
49
+ val value = (this as? Third)?.value ?: return null
50
+ return value
51
+ }
52
+
53
+ inline fun <R> match(first: (PurchaseAndroid) -> R, second: (PurchaseIOS) -> R, third: (Array<Purchase>) -> R): R {
54
+ return when (this) {
55
+ is First -> first(value)
56
+ is Second -> second(value)
57
+ is Third -> third(value)
58
+ }
59
+ }
60
+
39
61
  companion object {
40
62
  @JvmStatic
41
63
  @DoNotStrip