react-native-iap 14.4.27 → 14.4.29

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 (138) hide show
  1. package/NitroIap.podspec +2 -1
  2. package/ios/RnIapHelper.swift +9 -4
  3. package/lib/module/index.js +3 -0
  4. package/lib/module/index.js.map +1 -1
  5. package/lib/typescript/src/index.d.ts.map +1 -1
  6. package/lib/typescript/src/specs/RnIap.nitro.d.ts +50 -6
  7. package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
  8. package/nitrogen/generated/android/c++/JAndroidSubscriptionOfferInput.hpp +5 -1
  9. package/nitrogen/generated/android/c++/JExternalPurchaseLinkResultIOS.hpp +5 -1
  10. package/nitrogen/generated/android/c++/JExternalPurchaseNoticeResultIOS.hpp +5 -1
  11. package/nitrogen/generated/android/c++/JInitConnectionConfig.hpp +5 -1
  12. package/nitrogen/generated/android/c++/JNitroActiveSubscription.hpp +5 -1
  13. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidOptions.hpp +5 -1
  14. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesIosOptions.hpp +5 -1
  15. package/nitrogen/generated/android/c++/JNitroAvailablePurchasesOptions.hpp +5 -1
  16. package/nitrogen/generated/android/c++/JNitroDeepLinkOptionsAndroid.hpp +5 -1
  17. package/nitrogen/generated/android/c++/JNitroFinishTransactionAndroidParams.hpp +5 -1
  18. package/nitrogen/generated/android/c++/JNitroFinishTransactionIosParams.hpp +5 -1
  19. package/nitrogen/generated/android/c++/JNitroFinishTransactionParams.hpp +5 -1
  20. package/nitrogen/generated/android/c++/JNitroOneTimePurchaseOfferDetail.hpp +5 -1
  21. package/nitrogen/generated/android/c++/JNitroProduct.hpp +5 -1
  22. package/nitrogen/generated/android/c++/JNitroPurchase.hpp +5 -1
  23. package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +5 -1
  24. package/nitrogen/generated/android/c++/JNitroPurchaseResult.hpp +5 -1
  25. package/nitrogen/generated/android/c++/JNitroReceiptValidationAndroidOptions.hpp +5 -1
  26. package/nitrogen/generated/android/c++/JNitroReceiptValidationParams.hpp +5 -1
  27. package/nitrogen/generated/android/c++/JNitroReceiptValidationResultAndroid.hpp +5 -1
  28. package/nitrogen/generated/android/c++/JNitroReceiptValidationResultIOS.hpp +5 -1
  29. package/nitrogen/generated/android/c++/JNitroRenewalInfoIOS.hpp +5 -1
  30. package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +5 -1
  31. package/nitrogen/generated/android/c++/JNitroRequestPurchaseIos.hpp +5 -1
  32. package/nitrogen/generated/android/c++/JNitroSubscriptionRenewalInfo.hpp +5 -1
  33. package/nitrogen/generated/android/c++/JNitroSubscriptionStatus.hpp +5 -1
  34. package/nitrogen/generated/android/c++/JPurchaseAndroid.hpp +5 -1
  35. package/nitrogen/generated/android/c++/JPurchaseIOS.hpp +5 -1
  36. package/nitrogen/generated/android/c++/JPurchaseOfferIOS.hpp +5 -1
  37. package/nitrogen/generated/android/c++/JRenewalInfoIOS.hpp +5 -1
  38. package/nitrogen/generated/android/c++/JUserChoiceBillingDetails.hpp +5 -1
  39. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AndroidSubscriptionOfferInput.kt +16 -9
  40. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseLinkResultIOS.kt +16 -9
  41. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseNoticeResultIOS.kt +16 -9
  42. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroProduct.kt +0 -1
  43. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchase.kt +0 -1
  44. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchaseResult.kt +0 -1
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_UserChoiceBillingDetails.kt +0 -1
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +3 -2
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InitConnectionConfig.kt +13 -6
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroActiveSubscription.kt +52 -45
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesAndroidOptions.kt +13 -6
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesIosOptions.kt +22 -15
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesOptions.kt +16 -9
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDeepLinkOptionsAndroid.kt +16 -9
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionAndroidParams.kt +16 -9
  54. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionIosParams.kt +13 -6
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionParams.kt +16 -9
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroOneTimePurchaseOfferDetail.kt +19 -12
  57. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +102 -95
  58. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +132 -125
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseRequest.kt +16 -9
  60. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseResult.kt +25 -18
  61. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationAndroidOptions.kt +22 -15
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationParams.kt +16 -9
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultAndroid.kt +66 -59
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultIOS.kt +22 -15
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRenewalInfoIOS.kt +43 -36
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +31 -24
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseIos.kt +25 -18
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionRenewalInfo.kt +28 -21
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionStatus.kt +19 -12
  70. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Purchase.kt +18 -1
  71. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseAndroid.kt +69 -62
  72. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseIOS.kt +111 -104
  73. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseOfferIOS.kt +19 -12
  74. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RenewalInfoIOS.kt +43 -36
  75. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RequestPurchaseResult.kt +23 -1
  76. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/UserChoiceBillingDetails.kt +16 -9
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_Boolean_NitroPurchaseResult.kt +18 -1
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.kt +18 -1
  79. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +22 -22
  80. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +23 -22
  81. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +4 -4
  82. package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroProduct_.swift +1 -8
  83. package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroPurchase_.swift +1 -8
  84. package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +1 -0
  85. package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +3 -16
  86. package/nitrogen/generated/ios/swift/NitroActiveSubscription.swift +17 -10
  87. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesIosOptions.swift +32 -4
  88. package/nitrogen/generated/ios/swift/NitroAvailablePurchasesOptions.swift +2 -16
  89. package/nitrogen/generated/ios/swift/NitroFinishTransactionAndroidParams.swift +8 -1
  90. package/nitrogen/generated/ios/swift/NitroFinishTransactionParams.swift +2 -16
  91. package/nitrogen/generated/ios/swift/NitroProduct.swift +9 -9
  92. package/nitrogen/generated/ios/swift/NitroPurchase.swift +25 -11
  93. package/nitrogen/generated/ios/swift/NitroPurchaseRequest.swift +2 -16
  94. package/nitrogen/generated/ios/swift/NitroReceiptValidationAndroidOptions.swift +8 -1
  95. package/nitrogen/generated/ios/swift/NitroReceiptValidationParams.swift +1 -8
  96. package/nitrogen/generated/ios/swift/NitroReceiptValidationResultIOS.swift +1 -8
  97. package/nitrogen/generated/ios/swift/NitroRenewalInfoIOS.swift +8 -1
  98. package/nitrogen/generated/ios/swift/NitroRequestPurchaseAndroid.swift +8 -1
  99. package/nitrogen/generated/ios/swift/NitroRequestPurchaseIos.swift +8 -1
  100. package/nitrogen/generated/ios/swift/NitroSubscriptionStatus.swift +1 -8
  101. package/nitrogen/generated/ios/swift/PurchaseAndroid.swift +16 -2
  102. package/nitrogen/generated/ios/swift/PurchaseIOS.swift +10 -17
  103. package/nitrogen/generated/ios/swift/RenewalInfoIOS.swift +8 -1
  104. package/nitrogen/generated/shared/c++/AndroidSubscriptionOfferInput.hpp +8 -0
  105. package/nitrogen/generated/shared/c++/ExternalPurchaseLinkResultIOS.hpp +8 -0
  106. package/nitrogen/generated/shared/c++/ExternalPurchaseNoticeResultIOS.hpp +8 -0
  107. package/nitrogen/generated/shared/c++/InitConnectionConfig.hpp +8 -0
  108. package/nitrogen/generated/shared/c++/NitroActiveSubscription.hpp +8 -0
  109. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesAndroidOptions.hpp +8 -0
  110. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesIosOptions.hpp +8 -0
  111. package/nitrogen/generated/shared/c++/NitroAvailablePurchasesOptions.hpp +8 -0
  112. package/nitrogen/generated/shared/c++/NitroDeepLinkOptionsAndroid.hpp +8 -0
  113. package/nitrogen/generated/shared/c++/NitroFinishTransactionAndroidParams.hpp +8 -0
  114. package/nitrogen/generated/shared/c++/NitroFinishTransactionIosParams.hpp +8 -0
  115. package/nitrogen/generated/shared/c++/NitroFinishTransactionParams.hpp +8 -0
  116. package/nitrogen/generated/shared/c++/NitroOneTimePurchaseOfferDetail.hpp +8 -0
  117. package/nitrogen/generated/shared/c++/NitroProduct.hpp +8 -0
  118. package/nitrogen/generated/shared/c++/NitroPurchase.hpp +8 -0
  119. package/nitrogen/generated/shared/c++/NitroPurchaseRequest.hpp +8 -0
  120. package/nitrogen/generated/shared/c++/NitroPurchaseResult.hpp +8 -0
  121. package/nitrogen/generated/shared/c++/NitroReceiptValidationAndroidOptions.hpp +8 -0
  122. package/nitrogen/generated/shared/c++/NitroReceiptValidationParams.hpp +8 -0
  123. package/nitrogen/generated/shared/c++/NitroReceiptValidationResultAndroid.hpp +8 -0
  124. package/nitrogen/generated/shared/c++/NitroReceiptValidationResultIOS.hpp +8 -0
  125. package/nitrogen/generated/shared/c++/NitroRenewalInfoIOS.hpp +8 -0
  126. package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +8 -0
  127. package/nitrogen/generated/shared/c++/NitroRequestPurchaseIos.hpp +8 -0
  128. package/nitrogen/generated/shared/c++/NitroSubscriptionRenewalInfo.hpp +8 -0
  129. package/nitrogen/generated/shared/c++/NitroSubscriptionStatus.hpp +8 -0
  130. package/nitrogen/generated/shared/c++/PurchaseAndroid.hpp +8 -0
  131. package/nitrogen/generated/shared/c++/PurchaseIOS.hpp +8 -0
  132. package/nitrogen/generated/shared/c++/PurchaseOfferIOS.hpp +8 -0
  133. package/nitrogen/generated/shared/c++/RenewalInfoIOS.hpp +8 -0
  134. package/nitrogen/generated/shared/c++/UserChoiceBillingDetails.hpp +8 -0
  135. package/openiap-versions.json +1 -1
  136. package/package.json +4 -4
  137. package/src/index.ts +18 -0
  138. package/src/specs/RnIap.nitro.ts +50 -6
@@ -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 NitroRenewalInfoIOS
19
+ data class NitroRenewalInfoIOS(
21
20
  @DoNotStrip
22
21
  @Keep
23
- constructor(
24
- @DoNotStrip
25
- @Keep
26
- val willAutoRenew: Boolean,
27
- @DoNotStrip
28
- @Keep
29
- val autoRenewPreference: String?,
30
- @DoNotStrip
31
- @Keep
32
- val pendingUpgradeProductId: String?,
33
- @DoNotStrip
34
- @Keep
35
- val renewalDate: Double?,
36
- @DoNotStrip
37
- @Keep
38
- val expirationReason: String?,
39
- @DoNotStrip
40
- @Keep
41
- val isInBillingRetry: Boolean?,
42
- @DoNotStrip
43
- @Keep
44
- val gracePeriodExpirationDate: Double?,
45
- @DoNotStrip
46
- @Keep
47
- val priceIncreaseStatus: String?,
48
- @DoNotStrip
49
- @Keep
50
- val renewalOfferType: String?,
51
- @DoNotStrip
52
- @Keep
53
- val renewalOfferId: String?,
22
+ val willAutoRenew: Boolean,
23
+ @DoNotStrip
24
+ @Keep
25
+ val autoRenewPreference: String?,
26
+ @DoNotStrip
27
+ @Keep
28
+ val pendingUpgradeProductId: String?,
29
+ @DoNotStrip
30
+ @Keep
31
+ val renewalDate: Double?,
32
+ @DoNotStrip
33
+ @Keep
34
+ val expirationReason: String?,
35
+ @DoNotStrip
36
+ @Keep
37
+ val isInBillingRetry: Boolean?,
38
+ @DoNotStrip
39
+ @Keep
40
+ val gracePeriodExpirationDate: Double?,
41
+ @DoNotStrip
42
+ @Keep
43
+ val priceIncreaseStatus: String?,
44
+ @DoNotStrip
45
+ @Keep
46
+ val renewalOfferType: String?,
47
+ @DoNotStrip
48
+ @Keep
49
+ val renewalOfferId: String?,
50
+ @DoNotStrip
51
+ @Keep
52
+ val jsonRepresentation: String?
53
+ ) {
54
+ private companion object {
55
+ /**
56
+ * Constructor called from C++
57
+ */
54
58
  @DoNotStrip
55
59
  @Keep
56
- val jsonRepresentation: String?
57
- ) {
58
- /* main constructor */
60
+ @Suppress("unused")
61
+ @JvmStatic
62
+ private fun fromCpp(willAutoRenew: Boolean, autoRenewPreference: String?, pendingUpgradeProductId: String?, renewalDate: Double?, expirationReason: String?, isInBillingRetry: Boolean?, gracePeriodExpirationDate: Double?, priceIncreaseStatus: String?, renewalOfferType: String?, renewalOfferId: String?, jsonRepresentation: String?): NitroRenewalInfoIOS {
63
+ return NitroRenewalInfoIOS(willAutoRenew, autoRenewPreference, pendingUpgradeProductId, renewalDate, expirationReason, isInBillingRetry, gracePeriodExpirationDate, priceIncreaseStatus, renewalOfferType, renewalOfferId, jsonRepresentation)
64
+ }
65
+ }
59
66
  }
@@ -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,31 +16,39 @@ import com.margelo.nitro.core.*
17
16
  */
18
17
  @DoNotStrip
19
18
  @Keep
20
- data class NitroRequestPurchaseAndroid
19
+ data class NitroRequestPurchaseAndroid(
21
20
  @DoNotStrip
22
21
  @Keep
23
- constructor(
24
- @DoNotStrip
25
- @Keep
26
- val skus: Array<String>,
27
- @DoNotStrip
28
- @Keep
29
- val obfuscatedAccountIdAndroid: String?,
30
- @DoNotStrip
31
- @Keep
32
- val obfuscatedProfileIdAndroid: String?,
33
- @DoNotStrip
34
- @Keep
35
- val isOfferPersonalized: Boolean?,
36
- @DoNotStrip
37
- @Keep
38
- val subscriptionOffers: Array<AndroidSubscriptionOfferInput>?,
39
- @DoNotStrip
40
- @Keep
41
- val replacementModeAndroid: Double?,
22
+ val skus: Array<String>,
23
+ @DoNotStrip
24
+ @Keep
25
+ val obfuscatedAccountIdAndroid: String?,
26
+ @DoNotStrip
27
+ @Keep
28
+ val obfuscatedProfileIdAndroid: String?,
29
+ @DoNotStrip
30
+ @Keep
31
+ val isOfferPersonalized: Boolean?,
32
+ @DoNotStrip
33
+ @Keep
34
+ val subscriptionOffers: Array<AndroidSubscriptionOfferInput>?,
35
+ @DoNotStrip
36
+ @Keep
37
+ val replacementModeAndroid: Double?,
38
+ @DoNotStrip
39
+ @Keep
40
+ val purchaseTokenAndroid: String?
41
+ ) {
42
+ private companion object {
43
+ /**
44
+ * Constructor called from C++
45
+ */
42
46
  @DoNotStrip
43
47
  @Keep
44
- val purchaseTokenAndroid: String?
45
- ) {
46
- /* main constructor */
48
+ @Suppress("unused")
49
+ @JvmStatic
50
+ private fun fromCpp(skus: Array<String>, obfuscatedAccountIdAndroid: String?, obfuscatedProfileIdAndroid: String?, isOfferPersonalized: Boolean?, subscriptionOffers: Array<AndroidSubscriptionOfferInput>?, replacementModeAndroid: Double?, purchaseTokenAndroid: String?): NitroRequestPurchaseAndroid {
51
+ return NitroRequestPurchaseAndroid(skus, obfuscatedAccountIdAndroid, obfuscatedProfileIdAndroid, isOfferPersonalized, subscriptionOffers, replacementModeAndroid, purchaseTokenAndroid)
52
+ }
53
+ }
47
54
  }
@@ -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,25 +16,33 @@ import com.margelo.nitro.core.*
17
16
  */
18
17
  @DoNotStrip
19
18
  @Keep
20
- data class NitroRequestPurchaseIos
19
+ data class NitroRequestPurchaseIos(
21
20
  @DoNotStrip
22
21
  @Keep
23
- constructor(
24
- @DoNotStrip
25
- @Keep
26
- val sku: String,
27
- @DoNotStrip
28
- @Keep
29
- val andDangerouslyFinishTransactionAutomatically: Boolean?,
30
- @DoNotStrip
31
- @Keep
32
- val appAccountToken: String?,
33
- @DoNotStrip
34
- @Keep
35
- val quantity: Double?,
22
+ val sku: String,
23
+ @DoNotStrip
24
+ @Keep
25
+ val andDangerouslyFinishTransactionAutomatically: Boolean?,
26
+ @DoNotStrip
27
+ @Keep
28
+ val appAccountToken: String?,
29
+ @DoNotStrip
30
+ @Keep
31
+ val quantity: Double?,
32
+ @DoNotStrip
33
+ @Keep
34
+ val withOffer: Map<String, String>?
35
+ ) {
36
+ private companion object {
37
+ /**
38
+ * Constructor called from C++
39
+ */
36
40
  @DoNotStrip
37
41
  @Keep
38
- val withOffer: Map<String, String>?
39
- ) {
40
- /* main constructor */
42
+ @Suppress("unused")
43
+ @JvmStatic
44
+ private fun fromCpp(sku: String, andDangerouslyFinishTransactionAutomatically: Boolean?, appAccountToken: String?, quantity: Double?, withOffer: Map<String, String>?): NitroRequestPurchaseIos {
45
+ return NitroRequestPurchaseIos(sku, andDangerouslyFinishTransactionAutomatically, appAccountToken, quantity, withOffer)
46
+ }
47
+ }
41
48
  }
@@ -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,28 +16,36 @@ import com.margelo.nitro.core.*
17
16
  */
18
17
  @DoNotStrip
19
18
  @Keep
20
- data class NitroSubscriptionRenewalInfo
19
+ data class NitroSubscriptionRenewalInfo(
21
20
  @DoNotStrip
22
21
  @Keep
23
- constructor(
24
- @DoNotStrip
25
- @Keep
26
- val autoRenewStatus: Boolean,
27
- @DoNotStrip
28
- @Keep
29
- val autoRenewPreference: String?,
30
- @DoNotStrip
31
- @Keep
32
- val expirationReason: Double?,
33
- @DoNotStrip
34
- @Keep
35
- val gracePeriodExpirationDate: Double?,
36
- @DoNotStrip
37
- @Keep
38
- val currentProductID: String?,
22
+ val autoRenewStatus: Boolean,
23
+ @DoNotStrip
24
+ @Keep
25
+ val autoRenewPreference: String?,
26
+ @DoNotStrip
27
+ @Keep
28
+ val expirationReason: Double?,
29
+ @DoNotStrip
30
+ @Keep
31
+ val gracePeriodExpirationDate: Double?,
32
+ @DoNotStrip
33
+ @Keep
34
+ val currentProductID: String?,
35
+ @DoNotStrip
36
+ @Keep
37
+ val platform: String
38
+ ) {
39
+ private companion object {
40
+ /**
41
+ * Constructor called from C++
42
+ */
39
43
  @DoNotStrip
40
44
  @Keep
41
- val platform: String
42
- ) {
43
- /* main constructor */
45
+ @Suppress("unused")
46
+ @JvmStatic
47
+ private fun fromCpp(autoRenewStatus: Boolean, autoRenewPreference: String?, expirationReason: Double?, gracePeriodExpirationDate: Double?, currentProductID: String?, platform: String): NitroSubscriptionRenewalInfo {
48
+ return NitroSubscriptionRenewalInfo(autoRenewStatus, autoRenewPreference, expirationReason, gracePeriodExpirationDate, currentProductID, platform)
49
+ }
50
+ }
44
51
  }
@@ -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
  }
@@ -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
  }