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.
- package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +1 -1
- package/ios/RnIapHelper.swift +7 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/type-bridge.js +2 -1
- package/lib/module/utils/type-bridge.js.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/RnIap.nitro.d.ts +52 -8
- package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +1 -1
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JAndroidSubscriptionOfferInput.hpp +5 -1
- package/nitrogen/generated/android/c++/JExternalPurchaseLinkResultIOS.hpp +5 -1
- package/nitrogen/generated/android/c++/JExternalPurchaseNoticeResultIOS.hpp +5 -1
- package/nitrogen/generated/android/c++/JFunc_void_NitroProduct.hpp +2 -0
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +4 -0
- package/nitrogen/generated/android/c++/JInitConnectionConfig.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroActiveSubscription.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidOptions.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesIosOptions.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesOptions.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroDeepLinkOptionsAndroid.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroFinishTransactionAndroidParams.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroFinishTransactionIosParams.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroFinishTransactionParams.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroOneTimePurchaseOfferDetail.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroProduct.hpp +11 -5
- package/nitrogen/generated/android/c++/JNitroPurchase.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroPurchaseResult.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroReceiptValidationAndroidOptions.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroReceiptValidationParams.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroReceiptValidationResultAndroid.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroReceiptValidationResultIOS.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroRenewalInfoIOS.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroRequestPurchaseIos.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroSubscriptionRenewalInfo.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroSubscriptionStatus.hpp +5 -1
- package/nitrogen/generated/android/c++/JPaymentModeIOS.hpp +65 -0
- package/nitrogen/generated/android/c++/JPurchaseAndroid.hpp +5 -1
- package/nitrogen/generated/android/c++/JPurchaseIOS.hpp +5 -1
- package/nitrogen/generated/android/c++/JPurchaseOfferIOS.hpp +5 -1
- package/nitrogen/generated/android/c++/JRenewalInfoIOS.hpp +5 -1
- package/nitrogen/generated/android/c++/JUserChoiceBillingDetails.hpp +5 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AndroidSubscriptionOfferInput.kt +16 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseLinkResultIOS.kt +16 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseNoticeResultIOS.kt +16 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroProduct.kt +0 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchase.kt +0 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_NitroPurchaseResult.kt +0 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Func_void_UserChoiceBillingDetails.kt +0 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +3 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InitConnectionConfig.kt +13 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroActiveSubscription.kt +52 -45
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesAndroidOptions.kt +13 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesIosOptions.kt +22 -15
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesOptions.kt +16 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDeepLinkOptionsAndroid.kt +16 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionAndroidParams.kt +16 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionIosParams.kt +13 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionParams.kt +16 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroOneTimePurchaseOfferDetail.kt +19 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +102 -95
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +132 -125
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseRequest.kt +16 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseResult.kt +25 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationAndroidOptions.kt +22 -15
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationParams.kt +16 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultAndroid.kt +66 -59
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultIOS.kt +22 -15
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRenewalInfoIOS.kt +43 -36
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +31 -24
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseIos.kt +25 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionRenewalInfo.kt +28 -21
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionStatus.kt +19 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PaymentModeIOS.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Purchase.kt +18 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseAndroid.kt +69 -62
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseIOS.kt +111 -104
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseOfferIOS.kt +19 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RenewalInfoIOS.kt +43 -36
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RequestPurchaseResult.kt +23 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/UserChoiceBillingDetails.kt +16 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_Boolean_NitroPurchaseResult.kt +18 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.kt +18 -1
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +22 -22
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +26 -22
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +3 -0
- package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +7 -4
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroProduct_.swift +1 -8
- package/nitrogen/generated/ios/swift/Func_void_std__optional_NitroPurchase_.swift +1 -8
- package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +1 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +3 -16
- package/nitrogen/generated/ios/swift/NitroActiveSubscription.swift +17 -10
- package/nitrogen/generated/ios/swift/NitroAvailablePurchasesIosOptions.swift +32 -4
- package/nitrogen/generated/ios/swift/NitroAvailablePurchasesOptions.swift +2 -16
- package/nitrogen/generated/ios/swift/NitroFinishTransactionAndroidParams.swift +8 -1
- package/nitrogen/generated/ios/swift/NitroFinishTransactionParams.swift +2 -16
- package/nitrogen/generated/ios/swift/NitroProduct.swift +14 -33
- package/nitrogen/generated/ios/swift/NitroPurchase.swift +25 -11
- package/nitrogen/generated/ios/swift/NitroPurchaseRequest.swift +2 -16
- package/nitrogen/generated/ios/swift/NitroReceiptValidationAndroidOptions.swift +8 -1
- package/nitrogen/generated/ios/swift/NitroReceiptValidationParams.swift +1 -8
- package/nitrogen/generated/ios/swift/NitroReceiptValidationResultIOS.swift +1 -8
- package/nitrogen/generated/ios/swift/NitroRenewalInfoIOS.swift +8 -1
- package/nitrogen/generated/ios/swift/NitroRequestPurchaseAndroid.swift +8 -1
- package/nitrogen/generated/ios/swift/NitroRequestPurchaseIos.swift +8 -1
- package/nitrogen/generated/ios/swift/NitroSubscriptionStatus.swift +1 -8
- package/nitrogen/generated/ios/swift/PaymentModeIOS.swift +48 -0
- package/nitrogen/generated/ios/swift/PurchaseAndroid.swift +16 -2
- package/nitrogen/generated/ios/swift/PurchaseIOS.swift +10 -17
- package/nitrogen/generated/ios/swift/RenewalInfoIOS.swift +8 -1
- package/nitrogen/generated/shared/c++/AndroidSubscriptionOfferInput.hpp +8 -0
- package/nitrogen/generated/shared/c++/ExternalPurchaseLinkResultIOS.hpp +8 -0
- package/nitrogen/generated/shared/c++/ExternalPurchaseNoticeResultIOS.hpp +8 -0
- package/nitrogen/generated/shared/c++/InitConnectionConfig.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroActiveSubscription.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroAvailablePurchasesAndroidOptions.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroAvailablePurchasesIosOptions.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroAvailablePurchasesOptions.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroDeepLinkOptionsAndroid.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroFinishTransactionAndroidParams.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroFinishTransactionIosParams.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroFinishTransactionParams.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroOneTimePurchaseOfferDetail.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroProduct.hpp +16 -5
- package/nitrogen/generated/shared/c++/NitroPurchase.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroPurchaseRequest.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroPurchaseResult.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroReceiptValidationAndroidOptions.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroReceiptValidationParams.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroReceiptValidationResultAndroid.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroReceiptValidationResultIOS.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroRenewalInfoIOS.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroRequestPurchaseIos.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroSubscriptionRenewalInfo.hpp +8 -0
- package/nitrogen/generated/shared/c++/NitroSubscriptionStatus.hpp +8 -0
- package/nitrogen/generated/shared/c++/PaymentModeIOS.hpp +84 -0
- package/nitrogen/generated/shared/c++/PurchaseAndroid.hpp +8 -0
- package/nitrogen/generated/shared/c++/PurchaseIOS.hpp +8 -0
- package/nitrogen/generated/shared/c++/PurchaseOfferIOS.hpp +8 -0
- package/nitrogen/generated/shared/c++/RenewalInfoIOS.hpp +8 -0
- package/nitrogen/generated/shared/c++/UserChoiceBillingDetails.hpp +8 -0
- package/openiap-versions.json +2 -2
- package/package.json +4 -4
- package/src/index.ts +18 -0
- package/src/specs/RnIap.nitro.ts +52 -7
- package/src/types.ts +1 -1
- 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,16 +16,24 @@ import com.margelo.nitro.core.*
|
|
|
17
16
|
*/
|
|
18
17
|
@DoNotStrip
|
|
19
18
|
@Keep
|
|
20
|
-
data class UserChoiceBillingDetails
|
|
19
|
+
data class UserChoiceBillingDetails(
|
|
21
20
|
@DoNotStrip
|
|
22
21
|
@Keep
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
val externalTransactionToken: String,
|
|
23
|
+
@DoNotStrip
|
|
24
|
+
@Keep
|
|
25
|
+
val products: Array<String>
|
|
26
|
+
) {
|
|
27
|
+
private companion object {
|
|
28
|
+
/**
|
|
29
|
+
* Constructor called from C++
|
|
30
|
+
*/
|
|
27
31
|
@DoNotStrip
|
|
28
32
|
@Keep
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
@Suppress("unused")
|
|
34
|
+
@JvmStatic
|
|
35
|
+
private fun fromCpp(externalTransactionToken: String, products: Array<String>): UserChoiceBillingDetails {
|
|
36
|
+
return UserChoiceBillingDetails(externalTransactionToken, products)
|
|
37
|
+
}
|
|
38
|
+
}
|
|
32
39
|
}
|
|
@@ -11,7 +11,7 @@ import com.facebook.proguard.annotations.DoNotStrip
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* Represents the TypeScript variant "Boolean|NitroPurchaseResult".
|
|
14
|
+
* Represents the TypeScript variant "Boolean | NitroPurchaseResult".
|
|
15
15
|
*/
|
|
16
16
|
@Suppress("ClassName")
|
|
17
17
|
@DoNotStrip
|
|
@@ -21,6 +21,7 @@ sealed class Variant_Boolean_NitroPurchaseResult {
|
|
|
21
21
|
@DoNotStrip
|
|
22
22
|
data class Second(@DoNotStrip val value: NitroPurchaseResult): Variant_Boolean_NitroPurchaseResult()
|
|
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 Variant_Boolean_NitroPurchaseResult {
|
|
|
31
32
|
val isSecond: Boolean
|
|
32
33
|
get() = this is Second
|
|
33
34
|
|
|
35
|
+
fun asFirstOrNull(): Boolean? {
|
|
36
|
+
val value = (this as? First)?.value ?: return null
|
|
37
|
+
return value
|
|
38
|
+
}
|
|
39
|
+
fun asSecondOrNull(): NitroPurchaseResult? {
|
|
40
|
+
val value = (this as? Second)?.value ?: return null
|
|
41
|
+
return value
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
inline fun <R> match(first: (Boolean) -> R, second: (NitroPurchaseResult) -> 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
|
|
@@ -11,7 +11,7 @@ import com.facebook.proguard.annotations.DoNotStrip
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* Represents the TypeScript variant "NitroReceiptValidationResultIOS|NitroReceiptValidationResultAndroid".
|
|
14
|
+
* Represents the TypeScript variant "NitroReceiptValidationResultIOS | NitroReceiptValidationResultAndroid".
|
|
15
15
|
*/
|
|
16
16
|
@Suppress("ClassName")
|
|
17
17
|
@DoNotStrip
|
|
@@ -21,6 +21,7 @@ sealed class Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResul
|
|
|
21
21
|
@DoNotStrip
|
|
22
22
|
data class Second(@DoNotStrip val value: NitroReceiptValidationResultAndroid): Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid()
|
|
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 Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResul
|
|
|
31
32
|
val isSecond: Boolean
|
|
32
33
|
get() = this is Second
|
|
33
34
|
|
|
35
|
+
fun asFirstOrNull(): NitroReceiptValidationResultIOS? {
|
|
36
|
+
val value = (this as? First)?.value ?: return null
|
|
37
|
+
return value
|
|
38
|
+
}
|
|
39
|
+
fun asSecondOrNull(): NitroReceiptValidationResultAndroid? {
|
|
40
|
+
val value = (this as? Second)?.value ?: return null
|
|
41
|
+
return value
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
inline fun <R> match(first: (NitroReceiptValidationResultIOS) -> R, second: (NitroReceiptValidationResultAndroid) -> 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
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
namespace margelo::nitro::iap::bridge::swift {
|
|
15
15
|
|
|
16
16
|
// pragma MARK: std::function<void(bool /* result */)>
|
|
17
|
-
Func_void_bool create_Func_void_bool(void*
|
|
17
|
+
Func_void_bool create_Func_void_bool(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
18
18
|
auto swiftClosure = NitroIap::Func_void_bool::fromUnsafe(swiftClosureWrapper);
|
|
19
19
|
return [swiftClosure = std::move(swiftClosure)](bool result) mutable -> void {
|
|
20
20
|
swiftClosure.call(result);
|
|
@@ -22,7 +22,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
// pragma MARK: std::function<void(const std::exception_ptr& /* error */)>
|
|
25
|
-
Func_void_std__exception_ptr create_Func_void_std__exception_ptr(void*
|
|
25
|
+
Func_void_std__exception_ptr create_Func_void_std__exception_ptr(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
26
26
|
auto swiftClosure = NitroIap::Func_void_std__exception_ptr::fromUnsafe(swiftClosureWrapper);
|
|
27
27
|
return [swiftClosure = std::move(swiftClosure)](const std::exception_ptr& error) mutable -> void {
|
|
28
28
|
swiftClosure.call(error);
|
|
@@ -30,7 +30,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
// pragma MARK: std::function<void(const std::vector<NitroProduct>& /* result */)>
|
|
33
|
-
Func_void_std__vector_NitroProduct_ create_Func_void_std__vector_NitroProduct_(void*
|
|
33
|
+
Func_void_std__vector_NitroProduct_ create_Func_void_std__vector_NitroProduct_(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
34
34
|
auto swiftClosure = NitroIap::Func_void_std__vector_NitroProduct_::fromUnsafe(swiftClosureWrapper);
|
|
35
35
|
return [swiftClosure = std::move(swiftClosure)](const std::vector<NitroProduct>& result) mutable -> void {
|
|
36
36
|
swiftClosure.call(result);
|
|
@@ -38,7 +38,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
// pragma MARK: std::function<void(const std::optional<std::variant<PurchaseAndroid, PurchaseIOS, std::vector<std::variant<PurchaseAndroid, PurchaseIOS>>>>& /* result */)>
|
|
41
|
-
Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS____ create_Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS____(void*
|
|
41
|
+
Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS____ create_Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS____(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
42
42
|
auto swiftClosure = NitroIap::Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS____::fromUnsafe(swiftClosureWrapper);
|
|
43
43
|
return [swiftClosure = std::move(swiftClosure)](const std::optional<std::variant<PurchaseAndroid, PurchaseIOS, std::vector<std::variant<PurchaseAndroid, PurchaseIOS>>>>& result) mutable -> void {
|
|
44
44
|
swiftClosure.call(result);
|
|
@@ -46,7 +46,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
// pragma MARK: std::function<void(const std::vector<NitroPurchase>& /* result */)>
|
|
49
|
-
Func_void_std__vector_NitroPurchase_ create_Func_void_std__vector_NitroPurchase_(void*
|
|
49
|
+
Func_void_std__vector_NitroPurchase_ create_Func_void_std__vector_NitroPurchase_(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
50
50
|
auto swiftClosure = NitroIap::Func_void_std__vector_NitroPurchase_::fromUnsafe(swiftClosureWrapper);
|
|
51
51
|
return [swiftClosure = std::move(swiftClosure)](const std::vector<NitroPurchase>& result) mutable -> void {
|
|
52
52
|
swiftClosure.call(result);
|
|
@@ -54,7 +54,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
// pragma MARK: std::function<void(const std::vector<NitroActiveSubscription>& /* result */)>
|
|
57
|
-
Func_void_std__vector_NitroActiveSubscription_ create_Func_void_std__vector_NitroActiveSubscription_(void*
|
|
57
|
+
Func_void_std__vector_NitroActiveSubscription_ create_Func_void_std__vector_NitroActiveSubscription_(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
58
58
|
auto swiftClosure = NitroIap::Func_void_std__vector_NitroActiveSubscription_::fromUnsafe(swiftClosureWrapper);
|
|
59
59
|
return [swiftClosure = std::move(swiftClosure)](const std::vector<NitroActiveSubscription>& result) mutable -> void {
|
|
60
60
|
swiftClosure.call(result);
|
|
@@ -62,7 +62,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
// pragma MARK: std::function<void(const std::variant<bool, NitroPurchaseResult>& /* result */)>
|
|
65
|
-
Func_void_std__variant_bool__NitroPurchaseResult_ create_Func_void_std__variant_bool__NitroPurchaseResult_(void*
|
|
65
|
+
Func_void_std__variant_bool__NitroPurchaseResult_ create_Func_void_std__variant_bool__NitroPurchaseResult_(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
66
66
|
auto swiftClosure = NitroIap::Func_void_std__variant_bool__NitroPurchaseResult_::fromUnsafe(swiftClosureWrapper);
|
|
67
67
|
return [swiftClosure = std::move(swiftClosure)](const std::variant<bool, NitroPurchaseResult>& result) mutable -> void {
|
|
68
68
|
swiftClosure.call(result);
|
|
@@ -70,7 +70,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
// pragma MARK: std::function<void(const NitroPurchase& /* purchase */)>
|
|
73
|
-
Func_void_NitroPurchase create_Func_void_NitroPurchase(void*
|
|
73
|
+
Func_void_NitroPurchase create_Func_void_NitroPurchase(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
74
74
|
auto swiftClosure = NitroIap::Func_void_NitroPurchase::fromUnsafe(swiftClosureWrapper);
|
|
75
75
|
return [swiftClosure = std::move(swiftClosure)](const NitroPurchase& purchase) mutable -> void {
|
|
76
76
|
swiftClosure.call(purchase);
|
|
@@ -78,7 +78,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
// pragma MARK: std::function<void(const NitroPurchaseResult& /* error */)>
|
|
81
|
-
Func_void_NitroPurchaseResult create_Func_void_NitroPurchaseResult(void*
|
|
81
|
+
Func_void_NitroPurchaseResult create_Func_void_NitroPurchaseResult(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
82
82
|
auto swiftClosure = NitroIap::Func_void_NitroPurchaseResult::fromUnsafe(swiftClosureWrapper);
|
|
83
83
|
return [swiftClosure = std::move(swiftClosure)](const NitroPurchaseResult& error) mutable -> void {
|
|
84
84
|
swiftClosure.call(error);
|
|
@@ -86,7 +86,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
// pragma MARK: std::function<void(const NitroProduct& /* product */)>
|
|
89
|
-
Func_void_NitroProduct create_Func_void_NitroProduct(void*
|
|
89
|
+
Func_void_NitroProduct create_Func_void_NitroProduct(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
90
90
|
auto swiftClosure = NitroIap::Func_void_NitroProduct::fromUnsafe(swiftClosureWrapper);
|
|
91
91
|
return [swiftClosure = std::move(swiftClosure)](const NitroProduct& product) mutable -> void {
|
|
92
92
|
swiftClosure.call(product);
|
|
@@ -94,7 +94,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
// pragma MARK: std::function<void(const std::string& /* result */)>
|
|
97
|
-
Func_void_std__string create_Func_void_std__string(void*
|
|
97
|
+
Func_void_std__string create_Func_void_std__string(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
98
98
|
auto swiftClosure = NitroIap::Func_void_std__string::fromUnsafe(swiftClosureWrapper);
|
|
99
99
|
return [swiftClosure = std::move(swiftClosure)](const std::string& result) mutable -> void {
|
|
100
100
|
swiftClosure.call(result);
|
|
@@ -102,7 +102,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
// pragma MARK: std::function<void(const std::optional<std::string>& /* result */)>
|
|
105
|
-
Func_void_std__optional_std__string_ create_Func_void_std__optional_std__string_(void*
|
|
105
|
+
Func_void_std__optional_std__string_ create_Func_void_std__optional_std__string_(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
106
106
|
auto swiftClosure = NitroIap::Func_void_std__optional_std__string_::fromUnsafe(swiftClosureWrapper);
|
|
107
107
|
return [swiftClosure = std::move(swiftClosure)](const std::optional<std::string>& result) mutable -> void {
|
|
108
108
|
swiftClosure.call(result);
|
|
@@ -110,7 +110,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
// pragma MARK: std::function<void(const std::optional<NitroProduct>& /* result */)>
|
|
113
|
-
Func_void_std__optional_NitroProduct_ create_Func_void_std__optional_NitroProduct_(void*
|
|
113
|
+
Func_void_std__optional_NitroProduct_ create_Func_void_std__optional_NitroProduct_(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
114
114
|
auto swiftClosure = NitroIap::Func_void_std__optional_NitroProduct_::fromUnsafe(swiftClosureWrapper);
|
|
115
115
|
return [swiftClosure = std::move(swiftClosure)](const std::optional<NitroProduct>& result) mutable -> void {
|
|
116
116
|
swiftClosure.call(result);
|
|
@@ -118,7 +118,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
// pragma MARK: std::function<void()>
|
|
121
|
-
Func_void create_Func_void(void*
|
|
121
|
+
Func_void create_Func_void(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
122
122
|
auto swiftClosure = NitroIap::Func_void::fromUnsafe(swiftClosureWrapper);
|
|
123
123
|
return [swiftClosure = std::move(swiftClosure)]() mutable -> void {
|
|
124
124
|
swiftClosure.call();
|
|
@@ -126,7 +126,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
// pragma MARK: std::function<void(const std::optional<std::vector<NitroSubscriptionStatus>>& /* result */)>
|
|
129
|
-
Func_void_std__optional_std__vector_NitroSubscriptionStatus__ create_Func_void_std__optional_std__vector_NitroSubscriptionStatus__(void*
|
|
129
|
+
Func_void_std__optional_std__vector_NitroSubscriptionStatus__ create_Func_void_std__optional_std__vector_NitroSubscriptionStatus__(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
130
130
|
auto swiftClosure = NitroIap::Func_void_std__optional_std__vector_NitroSubscriptionStatus__::fromUnsafe(swiftClosureWrapper);
|
|
131
131
|
return [swiftClosure = std::move(swiftClosure)](const std::optional<std::vector<NitroSubscriptionStatus>>& result) mutable -> void {
|
|
132
132
|
swiftClosure.call(result);
|
|
@@ -134,7 +134,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
// pragma MARK: std::function<void(const std::optional<NitroPurchase>& /* result */)>
|
|
137
|
-
Func_void_std__optional_NitroPurchase_ create_Func_void_std__optional_NitroPurchase_(void*
|
|
137
|
+
Func_void_std__optional_NitroPurchase_ create_Func_void_std__optional_NitroPurchase_(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
138
138
|
auto swiftClosure = NitroIap::Func_void_std__optional_NitroPurchase_::fromUnsafe(swiftClosureWrapper);
|
|
139
139
|
return [swiftClosure = std::move(swiftClosure)](const std::optional<NitroPurchase>& result) mutable -> void {
|
|
140
140
|
swiftClosure.call(result);
|
|
@@ -142,7 +142,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
// pragma MARK: std::function<void(const std::variant<NitroReceiptValidationResultIOS, NitroReceiptValidationResultAndroid>& /* result */)>
|
|
145
|
-
Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_ create_Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_(void*
|
|
145
|
+
Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_ create_Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
146
146
|
auto swiftClosure = NitroIap::Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_::fromUnsafe(swiftClosureWrapper);
|
|
147
147
|
return [swiftClosure = std::move(swiftClosure)](const std::variant<NitroReceiptValidationResultIOS, NitroReceiptValidationResultAndroid>& result) mutable -> void {
|
|
148
148
|
swiftClosure.call(result);
|
|
@@ -150,7 +150,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
// pragma MARK: std::function<void(const UserChoiceBillingDetails& /* details */)>
|
|
153
|
-
Func_void_UserChoiceBillingDetails create_Func_void_UserChoiceBillingDetails(void*
|
|
153
|
+
Func_void_UserChoiceBillingDetails create_Func_void_UserChoiceBillingDetails(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
154
154
|
auto swiftClosure = NitroIap::Func_void_UserChoiceBillingDetails::fromUnsafe(swiftClosureWrapper);
|
|
155
155
|
return [swiftClosure = std::move(swiftClosure)](const UserChoiceBillingDetails& details) mutable -> void {
|
|
156
156
|
swiftClosure.call(details);
|
|
@@ -158,7 +158,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
// pragma MARK: std::function<void(const ExternalPurchaseNoticeResultIOS& /* result */)>
|
|
161
|
-
Func_void_ExternalPurchaseNoticeResultIOS create_Func_void_ExternalPurchaseNoticeResultIOS(void*
|
|
161
|
+
Func_void_ExternalPurchaseNoticeResultIOS create_Func_void_ExternalPurchaseNoticeResultIOS(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
162
162
|
auto swiftClosure = NitroIap::Func_void_ExternalPurchaseNoticeResultIOS::fromUnsafe(swiftClosureWrapper);
|
|
163
163
|
return [swiftClosure = std::move(swiftClosure)](const ExternalPurchaseNoticeResultIOS& result) mutable -> void {
|
|
164
164
|
swiftClosure.call(result);
|
|
@@ -166,7 +166,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
// pragma MARK: std::function<void(const ExternalPurchaseLinkResultIOS& /* result */)>
|
|
169
|
-
Func_void_ExternalPurchaseLinkResultIOS create_Func_void_ExternalPurchaseLinkResultIOS(void*
|
|
169
|
+
Func_void_ExternalPurchaseLinkResultIOS create_Func_void_ExternalPurchaseLinkResultIOS(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
170
170
|
auto swiftClosure = NitroIap::Func_void_ExternalPurchaseLinkResultIOS::fromUnsafe(swiftClosureWrapper);
|
|
171
171
|
return [swiftClosure = std::move(swiftClosure)](const ExternalPurchaseLinkResultIOS& result) mutable -> void {
|
|
172
172
|
swiftClosure.call(result);
|
|
@@ -174,11 +174,11 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
// pragma MARK: std::shared_ptr<HybridRnIapSpec>
|
|
177
|
-
std::shared_ptr<HybridRnIapSpec> create_std__shared_ptr_HybridRnIapSpec_(void*
|
|
177
|
+
std::shared_ptr<HybridRnIapSpec> create_std__shared_ptr_HybridRnIapSpec_(void* NON_NULL swiftUnsafePointer) noexcept {
|
|
178
178
|
NitroIap::HybridRnIapSpec_cxx swiftPart = NitroIap::HybridRnIapSpec_cxx::fromUnsafe(swiftUnsafePointer);
|
|
179
179
|
return std::make_shared<margelo::nitro::iap::HybridRnIapSpecSwift>(swiftPart);
|
|
180
180
|
}
|
|
181
|
-
void*
|
|
181
|
+
void* NON_NULL get_std__shared_ptr_HybridRnIapSpec_(std__shared_ptr_HybridRnIapSpec_ cppType) {
|
|
182
182
|
std::shared_ptr<margelo::nitro::iap::HybridRnIapSpecSwift> swiftWrapper = std::dynamic_pointer_cast<margelo::nitro::iap::HybridRnIapSpecSwift>(cppType);
|
|
183
183
|
#ifdef NITRO_DEBUG
|
|
184
184
|
if (swiftWrapper == nullptr) [[unlikely]] {
|
|
@@ -62,6 +62,8 @@ namespace margelo::nitro::iap { struct NitroRequestPurchaseIos; }
|
|
|
62
62
|
namespace margelo::nitro::iap { struct NitroSubscriptionRenewalInfo; }
|
|
63
63
|
// Forward declaration of `NitroSubscriptionStatus` to properly resolve imports.
|
|
64
64
|
namespace margelo::nitro::iap { struct NitroSubscriptionStatus; }
|
|
65
|
+
// Forward declaration of `PaymentModeIOS` to properly resolve imports.
|
|
66
|
+
namespace margelo::nitro::iap { enum class PaymentModeIOS; }
|
|
65
67
|
// Forward declaration of `PurchaseAndroid` to properly resolve imports.
|
|
66
68
|
namespace margelo::nitro::iap { struct PurchaseAndroid; }
|
|
67
69
|
// Forward declaration of `PurchaseIOS` to properly resolve imports.
|
|
@@ -107,12 +109,14 @@ namespace NitroIap { class HybridRnIapSpec_cxx; }
|
|
|
107
109
|
#include "NitroRequestPurchaseIos.hpp"
|
|
108
110
|
#include "NitroSubscriptionRenewalInfo.hpp"
|
|
109
111
|
#include "NitroSubscriptionStatus.hpp"
|
|
112
|
+
#include "PaymentModeIOS.hpp"
|
|
110
113
|
#include "PurchaseAndroid.hpp"
|
|
111
114
|
#include "PurchaseIOS.hpp"
|
|
112
115
|
#include "PurchaseOfferIOS.hpp"
|
|
113
116
|
#include "PurchaseState.hpp"
|
|
114
117
|
#include "RenewalInfoIOS.hpp"
|
|
115
118
|
#include "UserChoiceBillingDetails.hpp"
|
|
119
|
+
#include <NitroModules/FastVectorCopy.hpp>
|
|
116
120
|
#include <NitroModules/Promise.hpp>
|
|
117
121
|
#include <NitroModules/PromiseHolder.hpp>
|
|
118
122
|
#include <NitroModules/Result.hpp>
|
|
@@ -160,7 +164,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
160
164
|
private:
|
|
161
165
|
std::unique_ptr<std::function<void(bool /* result */)>> _function;
|
|
162
166
|
} SWIFT_NONCOPYABLE;
|
|
163
|
-
Func_void_bool create_Func_void_bool(void*
|
|
167
|
+
Func_void_bool create_Func_void_bool(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
164
168
|
inline Func_void_bool_Wrapper wrap_Func_void_bool(Func_void_bool value) noexcept {
|
|
165
169
|
return Func_void_bool_Wrapper(std::move(value));
|
|
166
170
|
}
|
|
@@ -182,7 +186,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
182
186
|
private:
|
|
183
187
|
std::unique_ptr<std::function<void(const std::exception_ptr& /* error */)>> _function;
|
|
184
188
|
} SWIFT_NONCOPYABLE;
|
|
185
|
-
Func_void_std__exception_ptr create_Func_void_std__exception_ptr(void*
|
|
189
|
+
Func_void_std__exception_ptr create_Func_void_std__exception_ptr(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
186
190
|
inline Func_void_std__exception_ptr_Wrapper wrap_Func_void_std__exception_ptr(Func_void_std__exception_ptr value) noexcept {
|
|
187
191
|
return Func_void_std__exception_ptr_Wrapper(std::move(value));
|
|
188
192
|
}
|
|
@@ -317,7 +321,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
317
321
|
private:
|
|
318
322
|
std::unique_ptr<std::function<void(const std::vector<NitroProduct>& /* result */)>> _function;
|
|
319
323
|
} SWIFT_NONCOPYABLE;
|
|
320
|
-
Func_void_std__vector_NitroProduct_ create_Func_void_std__vector_NitroProduct_(void*
|
|
324
|
+
Func_void_std__vector_NitroProduct_ create_Func_void_std__vector_NitroProduct_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
321
325
|
inline Func_void_std__vector_NitroProduct__Wrapper wrap_Func_void_std__vector_NitroProduct_(Func_void_std__vector_NitroProduct_ value) noexcept {
|
|
322
326
|
return Func_void_std__vector_NitroProduct__Wrapper(std::move(value));
|
|
323
327
|
}
|
|
@@ -497,7 +501,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
497
501
|
private:
|
|
498
502
|
std::unique_ptr<std::function<void(const std::optional<std::variant<PurchaseAndroid, PurchaseIOS, std::vector<std::variant<PurchaseAndroid, PurchaseIOS>>>>& /* result */)>> _function;
|
|
499
503
|
} SWIFT_NONCOPYABLE;
|
|
500
|
-
Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS____ create_Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS____(void*
|
|
504
|
+
Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS____ create_Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS____(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
501
505
|
inline Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS_____Wrapper wrap_Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS____(Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS____ value) noexcept {
|
|
502
506
|
return Func_void_std__optional_std__variant_PurchaseAndroid__PurchaseIOS__std__vector_std__variant_PurchaseAndroid__PurchaseIOS_____Wrapper(std::move(value));
|
|
503
507
|
}
|
|
@@ -653,7 +657,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
653
657
|
private:
|
|
654
658
|
std::unique_ptr<std::function<void(const std::vector<NitroPurchase>& /* result */)>> _function;
|
|
655
659
|
} SWIFT_NONCOPYABLE;
|
|
656
|
-
Func_void_std__vector_NitroPurchase_ create_Func_void_std__vector_NitroPurchase_(void*
|
|
660
|
+
Func_void_std__vector_NitroPurchase_ create_Func_void_std__vector_NitroPurchase_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
657
661
|
inline Func_void_std__vector_NitroPurchase__Wrapper wrap_Func_void_std__vector_NitroPurchase_(Func_void_std__vector_NitroPurchase_ value) noexcept {
|
|
658
662
|
return Func_void_std__vector_NitroPurchase__Wrapper(std::move(value));
|
|
659
663
|
}
|
|
@@ -758,7 +762,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
758
762
|
private:
|
|
759
763
|
std::unique_ptr<std::function<void(const std::vector<NitroActiveSubscription>& /* result */)>> _function;
|
|
760
764
|
} SWIFT_NONCOPYABLE;
|
|
761
|
-
Func_void_std__vector_NitroActiveSubscription_ create_Func_void_std__vector_NitroActiveSubscription_(void*
|
|
765
|
+
Func_void_std__vector_NitroActiveSubscription_ create_Func_void_std__vector_NitroActiveSubscription_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
762
766
|
inline Func_void_std__vector_NitroActiveSubscription__Wrapper wrap_Func_void_std__vector_NitroActiveSubscription_(Func_void_std__vector_NitroActiveSubscription_ value) noexcept {
|
|
763
767
|
return Func_void_std__vector_NitroActiveSubscription__Wrapper(std::move(value));
|
|
764
768
|
}
|
|
@@ -821,7 +825,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
821
825
|
private:
|
|
822
826
|
std::unique_ptr<std::function<void(const std::variant<bool, NitroPurchaseResult>& /* result */)>> _function;
|
|
823
827
|
} SWIFT_NONCOPYABLE;
|
|
824
|
-
Func_void_std__variant_bool__NitroPurchaseResult_ create_Func_void_std__variant_bool__NitroPurchaseResult_(void*
|
|
828
|
+
Func_void_std__variant_bool__NitroPurchaseResult_ create_Func_void_std__variant_bool__NitroPurchaseResult_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
825
829
|
inline Func_void_std__variant_bool__NitroPurchaseResult__Wrapper wrap_Func_void_std__variant_bool__NitroPurchaseResult_(Func_void_std__variant_bool__NitroPurchaseResult_ value) noexcept {
|
|
826
830
|
return Func_void_std__variant_bool__NitroPurchaseResult__Wrapper(std::move(value));
|
|
827
831
|
}
|
|
@@ -873,7 +877,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
873
877
|
private:
|
|
874
878
|
std::unique_ptr<std::function<void(const NitroPurchase& /* purchase */)>> _function;
|
|
875
879
|
} SWIFT_NONCOPYABLE;
|
|
876
|
-
Func_void_NitroPurchase create_Func_void_NitroPurchase(void*
|
|
880
|
+
Func_void_NitroPurchase create_Func_void_NitroPurchase(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
877
881
|
inline Func_void_NitroPurchase_Wrapper wrap_Func_void_NitroPurchase(Func_void_NitroPurchase value) noexcept {
|
|
878
882
|
return Func_void_NitroPurchase_Wrapper(std::move(value));
|
|
879
883
|
}
|
|
@@ -895,7 +899,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
895
899
|
private:
|
|
896
900
|
std::unique_ptr<std::function<void(const NitroPurchaseResult& /* error */)>> _function;
|
|
897
901
|
} SWIFT_NONCOPYABLE;
|
|
898
|
-
Func_void_NitroPurchaseResult create_Func_void_NitroPurchaseResult(void*
|
|
902
|
+
Func_void_NitroPurchaseResult create_Func_void_NitroPurchaseResult(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
899
903
|
inline Func_void_NitroPurchaseResult_Wrapper wrap_Func_void_NitroPurchaseResult(Func_void_NitroPurchaseResult value) noexcept {
|
|
900
904
|
return Func_void_NitroPurchaseResult_Wrapper(std::move(value));
|
|
901
905
|
}
|
|
@@ -917,7 +921,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
917
921
|
private:
|
|
918
922
|
std::unique_ptr<std::function<void(const NitroProduct& /* product */)>> _function;
|
|
919
923
|
} SWIFT_NONCOPYABLE;
|
|
920
|
-
Func_void_NitroProduct create_Func_void_NitroProduct(void*
|
|
924
|
+
Func_void_NitroProduct create_Func_void_NitroProduct(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
921
925
|
inline Func_void_NitroProduct_Wrapper wrap_Func_void_NitroProduct(Func_void_NitroProduct value) noexcept {
|
|
922
926
|
return Func_void_NitroProduct_Wrapper(std::move(value));
|
|
923
927
|
}
|
|
@@ -951,7 +955,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
951
955
|
private:
|
|
952
956
|
std::unique_ptr<std::function<void(const std::string& /* result */)>> _function;
|
|
953
957
|
} SWIFT_NONCOPYABLE;
|
|
954
|
-
Func_void_std__string create_Func_void_std__string(void*
|
|
958
|
+
Func_void_std__string create_Func_void_std__string(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
955
959
|
inline Func_void_std__string_Wrapper wrap_Func_void_std__string(Func_void_std__string value) noexcept {
|
|
956
960
|
return Func_void_std__string_Wrapper(std::move(value));
|
|
957
961
|
}
|
|
@@ -985,7 +989,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
985
989
|
private:
|
|
986
990
|
std::unique_ptr<std::function<void(const std::optional<std::string>& /* result */)>> _function;
|
|
987
991
|
} SWIFT_NONCOPYABLE;
|
|
988
|
-
Func_void_std__optional_std__string_ create_Func_void_std__optional_std__string_(void*
|
|
992
|
+
Func_void_std__optional_std__string_ create_Func_void_std__optional_std__string_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
989
993
|
inline Func_void_std__optional_std__string__Wrapper wrap_Func_void_std__optional_std__string_(Func_void_std__optional_std__string_ value) noexcept {
|
|
990
994
|
return Func_void_std__optional_std__string__Wrapper(std::move(value));
|
|
991
995
|
}
|
|
@@ -1034,7 +1038,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
1034
1038
|
private:
|
|
1035
1039
|
std::unique_ptr<std::function<void(const std::optional<NitroProduct>& /* result */)>> _function;
|
|
1036
1040
|
} SWIFT_NONCOPYABLE;
|
|
1037
|
-
Func_void_std__optional_NitroProduct_ create_Func_void_std__optional_NitroProduct_(void*
|
|
1041
|
+
Func_void_std__optional_NitroProduct_ create_Func_void_std__optional_NitroProduct_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
1038
1042
|
inline Func_void_std__optional_NitroProduct__Wrapper wrap_Func_void_std__optional_NitroProduct_(Func_void_std__optional_NitroProduct_ value) noexcept {
|
|
1039
1043
|
return Func_void_std__optional_NitroProduct__Wrapper(std::move(value));
|
|
1040
1044
|
}
|
|
@@ -1068,7 +1072,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
1068
1072
|
private:
|
|
1069
1073
|
std::unique_ptr<std::function<void()>> _function;
|
|
1070
1074
|
} SWIFT_NONCOPYABLE;
|
|
1071
|
-
Func_void create_Func_void(void*
|
|
1075
|
+
Func_void create_Func_void(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
1072
1076
|
inline Func_void_Wrapper wrap_Func_void(Func_void value) noexcept {
|
|
1073
1077
|
return Func_void_Wrapper(std::move(value));
|
|
1074
1078
|
}
|
|
@@ -1143,7 +1147,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
1143
1147
|
private:
|
|
1144
1148
|
std::unique_ptr<std::function<void(const std::optional<std::vector<NitroSubscriptionStatus>>& /* result */)>> _function;
|
|
1145
1149
|
} SWIFT_NONCOPYABLE;
|
|
1146
|
-
Func_void_std__optional_std__vector_NitroSubscriptionStatus__ create_Func_void_std__optional_std__vector_NitroSubscriptionStatus__(void*
|
|
1150
|
+
Func_void_std__optional_std__vector_NitroSubscriptionStatus__ create_Func_void_std__optional_std__vector_NitroSubscriptionStatus__(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
1147
1151
|
inline Func_void_std__optional_std__vector_NitroSubscriptionStatus___Wrapper wrap_Func_void_std__optional_std__vector_NitroSubscriptionStatus__(Func_void_std__optional_std__vector_NitroSubscriptionStatus__ value) noexcept {
|
|
1148
1152
|
return Func_void_std__optional_std__vector_NitroSubscriptionStatus___Wrapper(std::move(value));
|
|
1149
1153
|
}
|
|
@@ -1192,7 +1196,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
1192
1196
|
private:
|
|
1193
1197
|
std::unique_ptr<std::function<void(const std::optional<NitroPurchase>& /* result */)>> _function;
|
|
1194
1198
|
} SWIFT_NONCOPYABLE;
|
|
1195
|
-
Func_void_std__optional_NitroPurchase_ create_Func_void_std__optional_NitroPurchase_(void*
|
|
1199
|
+
Func_void_std__optional_NitroPurchase_ create_Func_void_std__optional_NitroPurchase_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
1196
1200
|
inline Func_void_std__optional_NitroPurchase__Wrapper wrap_Func_void_std__optional_NitroPurchase_(Func_void_std__optional_NitroPurchase_ value) noexcept {
|
|
1197
1201
|
return Func_void_std__optional_NitroPurchase__Wrapper(std::move(value));
|
|
1198
1202
|
}
|
|
@@ -1255,7 +1259,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
1255
1259
|
private:
|
|
1256
1260
|
std::unique_ptr<std::function<void(const std::variant<NitroReceiptValidationResultIOS, NitroReceiptValidationResultAndroid>& /* result */)>> _function;
|
|
1257
1261
|
} SWIFT_NONCOPYABLE;
|
|
1258
|
-
Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_ create_Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_(void*
|
|
1262
|
+
Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_ create_Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
1259
1263
|
inline Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid__Wrapper wrap_Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_(Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid_ value) noexcept {
|
|
1260
1264
|
return Func_void_std__variant_NitroReceiptValidationResultIOS__NitroReceiptValidationResultAndroid__Wrapper(std::move(value));
|
|
1261
1265
|
}
|
|
@@ -1292,7 +1296,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
1292
1296
|
private:
|
|
1293
1297
|
std::unique_ptr<std::function<void(const UserChoiceBillingDetails& /* details */)>> _function;
|
|
1294
1298
|
} SWIFT_NONCOPYABLE;
|
|
1295
|
-
Func_void_UserChoiceBillingDetails create_Func_void_UserChoiceBillingDetails(void*
|
|
1299
|
+
Func_void_UserChoiceBillingDetails create_Func_void_UserChoiceBillingDetails(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
1296
1300
|
inline Func_void_UserChoiceBillingDetails_Wrapper wrap_Func_void_UserChoiceBillingDetails(Func_void_UserChoiceBillingDetails value) noexcept {
|
|
1297
1301
|
return Func_void_UserChoiceBillingDetails_Wrapper(std::move(value));
|
|
1298
1302
|
}
|
|
@@ -1326,7 +1330,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
1326
1330
|
private:
|
|
1327
1331
|
std::unique_ptr<std::function<void(const ExternalPurchaseNoticeResultIOS& /* result */)>> _function;
|
|
1328
1332
|
} SWIFT_NONCOPYABLE;
|
|
1329
|
-
Func_void_ExternalPurchaseNoticeResultIOS create_Func_void_ExternalPurchaseNoticeResultIOS(void*
|
|
1333
|
+
Func_void_ExternalPurchaseNoticeResultIOS create_Func_void_ExternalPurchaseNoticeResultIOS(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
1330
1334
|
inline Func_void_ExternalPurchaseNoticeResultIOS_Wrapper wrap_Func_void_ExternalPurchaseNoticeResultIOS(Func_void_ExternalPurchaseNoticeResultIOS value) noexcept {
|
|
1331
1335
|
return Func_void_ExternalPurchaseNoticeResultIOS_Wrapper(std::move(value));
|
|
1332
1336
|
}
|
|
@@ -1360,7 +1364,7 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
1360
1364
|
private:
|
|
1361
1365
|
std::unique_ptr<std::function<void(const ExternalPurchaseLinkResultIOS& /* result */)>> _function;
|
|
1362
1366
|
} SWIFT_NONCOPYABLE;
|
|
1363
|
-
Func_void_ExternalPurchaseLinkResultIOS create_Func_void_ExternalPurchaseLinkResultIOS(void*
|
|
1367
|
+
Func_void_ExternalPurchaseLinkResultIOS create_Func_void_ExternalPurchaseLinkResultIOS(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
1364
1368
|
inline Func_void_ExternalPurchaseLinkResultIOS_Wrapper wrap_Func_void_ExternalPurchaseLinkResultIOS(Func_void_ExternalPurchaseLinkResultIOS value) noexcept {
|
|
1365
1369
|
return Func_void_ExternalPurchaseLinkResultIOS_Wrapper(std::move(value));
|
|
1366
1370
|
}
|
|
@@ -1370,8 +1374,8 @@ namespace margelo::nitro::iap::bridge::swift {
|
|
|
1370
1374
|
* Specialized version of `std::shared_ptr<HybridRnIapSpec>`.
|
|
1371
1375
|
*/
|
|
1372
1376
|
using std__shared_ptr_HybridRnIapSpec_ = std::shared_ptr<HybridRnIapSpec>;
|
|
1373
|
-
std::shared_ptr<HybridRnIapSpec> create_std__shared_ptr_HybridRnIapSpec_(void*
|
|
1374
|
-
void*
|
|
1377
|
+
std::shared_ptr<HybridRnIapSpec> create_std__shared_ptr_HybridRnIapSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
|
|
1378
|
+
void* NON_NULL get_std__shared_ptr_HybridRnIapSpec_(std__shared_ptr_HybridRnIapSpec_ cppType);
|
|
1375
1379
|
|
|
1376
1380
|
// pragma MARK: std::weak_ptr<HybridRnIapSpec>
|
|
1377
1381
|
using std__weak_ptr_HybridRnIapSpec_ = std::weak_ptr<HybridRnIapSpec>;
|
|
@@ -70,6 +70,8 @@ namespace margelo::nitro::iap { struct NitroRequestPurchaseIos; }
|
|
|
70
70
|
namespace margelo::nitro::iap { struct NitroSubscriptionRenewalInfo; }
|
|
71
71
|
// Forward declaration of `NitroSubscriptionStatus` to properly resolve imports.
|
|
72
72
|
namespace margelo::nitro::iap { struct NitroSubscriptionStatus; }
|
|
73
|
+
// Forward declaration of `PaymentModeIOS` to properly resolve imports.
|
|
74
|
+
namespace margelo::nitro::iap { enum class PaymentModeIOS; }
|
|
73
75
|
// Forward declaration of `PurchaseAndroid` to properly resolve imports.
|
|
74
76
|
namespace margelo::nitro::iap { struct PurchaseAndroid; }
|
|
75
77
|
// Forward declaration of `PurchaseIOS` to properly resolve imports.
|
|
@@ -115,6 +117,7 @@ namespace margelo::nitro::iap { struct UserChoiceBillingDetails; }
|
|
|
115
117
|
#include "NitroRequestPurchaseIos.hpp"
|
|
116
118
|
#include "NitroSubscriptionRenewalInfo.hpp"
|
|
117
119
|
#include "NitroSubscriptionStatus.hpp"
|
|
120
|
+
#include "PaymentModeIOS.hpp"
|
|
118
121
|
#include "PurchaseAndroid.hpp"
|
|
119
122
|
#include "PurchaseIOS.hpp"
|
|
120
123
|
#include "PurchaseOfferIOS.hpp"
|
|
@@ -20,6 +20,8 @@ namespace margelo::nitro::iap { enum class AlternativeBillingModeAndroid; }
|
|
|
20
20
|
namespace margelo::nitro::iap { struct NitroProduct; }
|
|
21
21
|
// Forward declaration of `IapPlatform` to properly resolve imports.
|
|
22
22
|
namespace margelo::nitro::iap { enum class IapPlatform; }
|
|
23
|
+
// Forward declaration of `PaymentModeIOS` to properly resolve imports.
|
|
24
|
+
namespace margelo::nitro::iap { enum class PaymentModeIOS; }
|
|
23
25
|
// Forward declaration of `NitroOneTimePurchaseOfferDetail` to properly resolve imports.
|
|
24
26
|
namespace margelo::nitro::iap { struct NitroOneTimePurchaseOfferDetail; }
|
|
25
27
|
// Forward declaration of `PurchaseAndroid` to properly resolve imports.
|
|
@@ -93,6 +95,7 @@ namespace margelo::nitro::iap { struct ExternalPurchaseLinkResultIOS; }
|
|
|
93
95
|
#include <vector>
|
|
94
96
|
#include <string>
|
|
95
97
|
#include "IapPlatform.hpp"
|
|
98
|
+
#include "PaymentModeIOS.hpp"
|
|
96
99
|
#include "NitroOneTimePurchaseOfferDetail.hpp"
|
|
97
100
|
#include "PurchaseAndroid.hpp"
|
|
98
101
|
#include "PurchaseIOS.hpp"
|
|
@@ -195,7 +198,7 @@ namespace margelo::nitro::iap {
|
|
|
195
198
|
return __value;
|
|
196
199
|
}
|
|
197
200
|
inline std::shared_ptr<Promise<std::optional<std::variant<PurchaseAndroid, PurchaseIOS, std::vector<std::variant<PurchaseAndroid, PurchaseIOS>>>>>> requestPurchase(const NitroPurchaseRequest& request) override {
|
|
198
|
-
auto __result = _swiftPart.requestPurchase(request);
|
|
201
|
+
auto __result = _swiftPart.requestPurchase(std::forward<decltype(request)>(request));
|
|
199
202
|
if (__result.hasError()) [[unlikely]] {
|
|
200
203
|
std::rethrow_exception(__result.error());
|
|
201
204
|
}
|
|
@@ -219,7 +222,7 @@ namespace margelo::nitro::iap {
|
|
|
219
222
|
return __value;
|
|
220
223
|
}
|
|
221
224
|
inline std::shared_ptr<Promise<std::variant<bool, NitroPurchaseResult>>> finishTransaction(const NitroFinishTransactionParams& params) override {
|
|
222
|
-
auto __result = _swiftPart.finishTransaction(params);
|
|
225
|
+
auto __result = _swiftPart.finishTransaction(std::forward<decltype(params)>(params));
|
|
223
226
|
if (__result.hasError()) [[unlikely]] {
|
|
224
227
|
std::rethrow_exception(__result.error());
|
|
225
228
|
}
|
|
@@ -431,7 +434,7 @@ namespace margelo::nitro::iap {
|
|
|
431
434
|
return __value;
|
|
432
435
|
}
|
|
433
436
|
inline std::shared_ptr<Promise<std::variant<NitroReceiptValidationResultIOS, NitroReceiptValidationResultAndroid>>> validateReceipt(const NitroReceiptValidationParams& params) override {
|
|
434
|
-
auto __result = _swiftPart.validateReceipt(params);
|
|
437
|
+
auto __result = _swiftPart.validateReceipt(std::forward<decltype(params)>(params));
|
|
435
438
|
if (__result.hasError()) [[unlikely]] {
|
|
436
439
|
std::rethrow_exception(__result.error());
|
|
437
440
|
}
|
|
@@ -447,7 +450,7 @@ namespace margelo::nitro::iap {
|
|
|
447
450
|
return __value;
|
|
448
451
|
}
|
|
449
452
|
inline std::shared_ptr<Promise<void>> deepLinkToSubscriptionsAndroid(const NitroDeepLinkOptionsAndroid& options) override {
|
|
450
|
-
auto __result = _swiftPart.deepLinkToSubscriptionsAndroid(options);
|
|
453
|
+
auto __result = _swiftPart.deepLinkToSubscriptionsAndroid(std::forward<decltype(options)>(options));
|
|
451
454
|
if (__result.hasError()) [[unlikely]] {
|
|
452
455
|
std::rethrow_exception(__result.error());
|
|
453
456
|
}
|
|
@@ -23,14 +23,7 @@ public final class Func_void_std__optional_NitroProduct_ {
|
|
|
23
23
|
|
|
24
24
|
@inline(__always)
|
|
25
25
|
public func call(value: bridge.std__optional_NitroProduct_) -> Void {
|
|
26
|
-
self.closure(
|
|
27
|
-
if bridge.has_value_std__optional_NitroProduct_(value) {
|
|
28
|
-
let __unwrapped = bridge.get_std__optional_NitroProduct_(value)
|
|
29
|
-
return __unwrapped
|
|
30
|
-
} else {
|
|
31
|
-
return nil
|
|
32
|
-
}
|
|
33
|
-
}())
|
|
26
|
+
self.closure(value.value)
|
|
34
27
|
}
|
|
35
28
|
|
|
36
29
|
/**
|
|
@@ -23,14 +23,7 @@ public final class Func_void_std__optional_NitroPurchase_ {
|
|
|
23
23
|
|
|
24
24
|
@inline(__always)
|
|
25
25
|
public func call(value: bridge.std__optional_NitroPurchase_) -> Void {
|
|
26
|
-
self.closure(
|
|
27
|
-
if bridge.has_value_std__optional_NitroPurchase_(value) {
|
|
28
|
-
let __unwrapped = bridge.get_std__optional_NitroPurchase_(value)
|
|
29
|
-
return __unwrapped
|
|
30
|
-
} else {
|
|
31
|
-
return nil
|
|
32
|
-
}
|
|
33
|
-
}())
|
|
26
|
+
self.closure(value.value)
|
|
34
27
|
}
|
|
35
28
|
|
|
36
29
|
/**
|