react-native-iap 14.4.45 → 14.4.47
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/NitroIap.podspec +2 -2
- package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +113 -3
- package/ios/HybridRnIap.swift +61 -2
- package/lib/module/hooks/useIAP.js +9 -1
- package/lib/module/hooks/useIAP.js.map +1 -1
- package/lib/module/index.js +68 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +5 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/errorMapping.js +32 -6
- package/lib/module/utils/errorMapping.js.map +1 -1
- package/lib/typescript/src/hooks/useIAP.d.ts +5 -1
- package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +34 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/RnIap.nitro.d.ts +72 -26
- package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +109 -51
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/errorMapping.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +76 -0
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +2 -0
- package/nitrogen/generated/android/c++/JIapkitPurchaseState.hpp +80 -0
- package/nitrogen/generated/android/c++/JIapkitStore.hpp +59 -0
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitAppleProps.hpp +57 -0
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitGoogleProps.hpp +57 -0
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitProps.hpp +70 -0
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitResult.hpp +68 -0
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderProps.hpp +70 -0
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderResult.hpp +86 -0
- package/nitrogen/generated/android/c++/JPurchaseVerificationProvider.hpp +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +8 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/IapkitPurchaseState.kt +28 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/IapkitStore.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitAppleProps.kt +36 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitGoogleProps.kt +36 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitProps.kt +42 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitResult.kt +42 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderProps.kt +39 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderResult.kt +39 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseVerificationProvider.kt +21 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +8 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +123 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +27 -0
- package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +43 -0
- package/nitrogen/generated/ios/swift/Func_void_NitroVerifyPurchaseWithProviderResult.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +2 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +45 -0
- package/nitrogen/generated/ios/swift/IapkitPurchaseState.swift +68 -0
- package/nitrogen/generated/ios/swift/IapkitStore.swift +40 -0
- package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithIapkitAppleProps.swift +35 -0
- package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithIapkitGoogleProps.swift +35 -0
- package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithIapkitProps.swift +100 -0
- package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithIapkitResult.swift +57 -0
- package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithProviderProps.swift +58 -0
- package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithProviderResult.swift +58 -0
- package/nitrogen/generated/ios/swift/PurchaseVerificationProvider.swift +40 -0
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +8 -0
- package/nitrogen/generated/shared/c++/IapkitPurchaseState.hpp +104 -0
- package/nitrogen/generated/shared/c++/IapkitStore.hpp +76 -0
- package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithIapkitAppleProps.hpp +75 -0
- package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithIapkitGoogleProps.hpp +75 -0
- package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithIapkitProps.hpp +89 -0
- package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithIapkitResult.hpp +87 -0
- package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithProviderProps.hpp +84 -0
- package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithProviderResult.hpp +84 -0
- package/nitrogen/generated/shared/c++/PurchaseVerificationProvider.hpp +76 -0
- package/openiap-versions.json +3 -3
- package/package.json +1 -1
- package/src/hooks/useIAP.ts +32 -0
- package/src/index.ts +74 -5
- package/src/specs/RnIap.nitro.ts +101 -28
- package/src/types.ts +126 -57
- package/src/utils/errorMapping.ts +32 -4
|
@@ -22,6 +22,10 @@ namespace margelo::nitro::iap { struct ExternalPurchaseNoticeResultIOS; }
|
|
|
22
22
|
namespace margelo::nitro::iap { class HybridRnIapSpec; }
|
|
23
23
|
// Forward declaration of `IapPlatform` to properly resolve imports.
|
|
24
24
|
namespace margelo::nitro::iap { enum class IapPlatform; }
|
|
25
|
+
// Forward declaration of `IapkitPurchaseState` to properly resolve imports.
|
|
26
|
+
namespace margelo::nitro::iap { enum class IapkitPurchaseState; }
|
|
27
|
+
// Forward declaration of `IapkitStore` to properly resolve imports.
|
|
28
|
+
namespace margelo::nitro::iap { enum class IapkitStore; }
|
|
25
29
|
// Forward declaration of `InitConnectionConfig` to properly resolve imports.
|
|
26
30
|
namespace margelo::nitro::iap { struct InitConnectionConfig; }
|
|
27
31
|
// Forward declaration of `NitroActiveSubscription` to properly resolve imports.
|
|
@@ -70,6 +74,18 @@ namespace margelo::nitro::iap { struct NitroRequestPurchaseIos; }
|
|
|
70
74
|
namespace margelo::nitro::iap { struct NitroSubscriptionRenewalInfo; }
|
|
71
75
|
// Forward declaration of `NitroSubscriptionStatus` to properly resolve imports.
|
|
72
76
|
namespace margelo::nitro::iap { struct NitroSubscriptionStatus; }
|
|
77
|
+
// Forward declaration of `NitroVerifyPurchaseWithIapkitAppleProps` to properly resolve imports.
|
|
78
|
+
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithIapkitAppleProps; }
|
|
79
|
+
// Forward declaration of `NitroVerifyPurchaseWithIapkitGoogleProps` to properly resolve imports.
|
|
80
|
+
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithIapkitGoogleProps; }
|
|
81
|
+
// Forward declaration of `NitroVerifyPurchaseWithIapkitProps` to properly resolve imports.
|
|
82
|
+
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithIapkitProps; }
|
|
83
|
+
// Forward declaration of `NitroVerifyPurchaseWithIapkitResult` to properly resolve imports.
|
|
84
|
+
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithIapkitResult; }
|
|
85
|
+
// Forward declaration of `NitroVerifyPurchaseWithProviderProps` to properly resolve imports.
|
|
86
|
+
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithProviderProps; }
|
|
87
|
+
// Forward declaration of `NitroVerifyPurchaseWithProviderResult` to properly resolve imports.
|
|
88
|
+
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithProviderResult; }
|
|
73
89
|
// Forward declaration of `PaymentModeIOS` to properly resolve imports.
|
|
74
90
|
namespace margelo::nitro::iap { enum class PaymentModeIOS; }
|
|
75
91
|
// Forward declaration of `PurchaseAndroid` to properly resolve imports.
|
|
@@ -80,6 +96,8 @@ namespace margelo::nitro::iap { struct PurchaseIOS; }
|
|
|
80
96
|
namespace margelo::nitro::iap { struct PurchaseOfferIOS; }
|
|
81
97
|
// Forward declaration of `PurchaseState` to properly resolve imports.
|
|
82
98
|
namespace margelo::nitro::iap { enum class PurchaseState; }
|
|
99
|
+
// Forward declaration of `PurchaseVerificationProvider` to properly resolve imports.
|
|
100
|
+
namespace margelo::nitro::iap { enum class PurchaseVerificationProvider; }
|
|
83
101
|
// Forward declaration of `RenewalInfoIOS` to properly resolve imports.
|
|
84
102
|
namespace margelo::nitro::iap { struct RenewalInfoIOS; }
|
|
85
103
|
// Forward declaration of `UserChoiceBillingDetails` to properly resolve imports.
|
|
@@ -93,6 +111,8 @@ namespace margelo::nitro::iap { struct UserChoiceBillingDetails; }
|
|
|
93
111
|
#include "ExternalPurchaseNoticeResultIOS.hpp"
|
|
94
112
|
#include "HybridRnIapSpec.hpp"
|
|
95
113
|
#include "IapPlatform.hpp"
|
|
114
|
+
#include "IapkitPurchaseState.hpp"
|
|
115
|
+
#include "IapkitStore.hpp"
|
|
96
116
|
#include "InitConnectionConfig.hpp"
|
|
97
117
|
#include "NitroActiveSubscription.hpp"
|
|
98
118
|
#include "NitroAvailablePurchasesAndroidOptions.hpp"
|
|
@@ -117,11 +137,18 @@ namespace margelo::nitro::iap { struct UserChoiceBillingDetails; }
|
|
|
117
137
|
#include "NitroRequestPurchaseIos.hpp"
|
|
118
138
|
#include "NitroSubscriptionRenewalInfo.hpp"
|
|
119
139
|
#include "NitroSubscriptionStatus.hpp"
|
|
140
|
+
#include "NitroVerifyPurchaseWithIapkitAppleProps.hpp"
|
|
141
|
+
#include "NitroVerifyPurchaseWithIapkitGoogleProps.hpp"
|
|
142
|
+
#include "NitroVerifyPurchaseWithIapkitProps.hpp"
|
|
143
|
+
#include "NitroVerifyPurchaseWithIapkitResult.hpp"
|
|
144
|
+
#include "NitroVerifyPurchaseWithProviderProps.hpp"
|
|
145
|
+
#include "NitroVerifyPurchaseWithProviderResult.hpp"
|
|
120
146
|
#include "PaymentModeIOS.hpp"
|
|
121
147
|
#include "PurchaseAndroid.hpp"
|
|
122
148
|
#include "PurchaseIOS.hpp"
|
|
123
149
|
#include "PurchaseOfferIOS.hpp"
|
|
124
150
|
#include "PurchaseState.hpp"
|
|
151
|
+
#include "PurchaseVerificationProvider.hpp"
|
|
125
152
|
#include "RenewalInfoIOS.hpp"
|
|
126
153
|
#include "UserChoiceBillingDetails.hpp"
|
|
127
154
|
#include <NitroModules/Promise.hpp>
|
|
@@ -76,6 +76,24 @@ namespace margelo::nitro::iap { struct NitroReceiptValidationResultAndroid; }
|
|
|
76
76
|
namespace margelo::nitro::iap { struct NitroReceiptValidationParams; }
|
|
77
77
|
// Forward declaration of `NitroReceiptValidationAndroidOptions` to properly resolve imports.
|
|
78
78
|
namespace margelo::nitro::iap { struct NitroReceiptValidationAndroidOptions; }
|
|
79
|
+
// Forward declaration of `NitroVerifyPurchaseWithProviderResult` to properly resolve imports.
|
|
80
|
+
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithProviderResult; }
|
|
81
|
+
// Forward declaration of `NitroVerifyPurchaseWithIapkitResult` to properly resolve imports.
|
|
82
|
+
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithIapkitResult; }
|
|
83
|
+
// Forward declaration of `IapkitPurchaseState` to properly resolve imports.
|
|
84
|
+
namespace margelo::nitro::iap { enum class IapkitPurchaseState; }
|
|
85
|
+
// Forward declaration of `IapkitStore` to properly resolve imports.
|
|
86
|
+
namespace margelo::nitro::iap { enum class IapkitStore; }
|
|
87
|
+
// Forward declaration of `PurchaseVerificationProvider` to properly resolve imports.
|
|
88
|
+
namespace margelo::nitro::iap { enum class PurchaseVerificationProvider; }
|
|
89
|
+
// Forward declaration of `NitroVerifyPurchaseWithProviderProps` to properly resolve imports.
|
|
90
|
+
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithProviderProps; }
|
|
91
|
+
// Forward declaration of `NitroVerifyPurchaseWithIapkitProps` to properly resolve imports.
|
|
92
|
+
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithIapkitProps; }
|
|
93
|
+
// Forward declaration of `NitroVerifyPurchaseWithIapkitAppleProps` to properly resolve imports.
|
|
94
|
+
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithIapkitAppleProps; }
|
|
95
|
+
// Forward declaration of `NitroVerifyPurchaseWithIapkitGoogleProps` to properly resolve imports.
|
|
96
|
+
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithIapkitGoogleProps; }
|
|
79
97
|
// Forward declaration of `NitroDeepLinkOptionsAndroid` to properly resolve imports.
|
|
80
98
|
namespace margelo::nitro::iap { struct NitroDeepLinkOptionsAndroid; }
|
|
81
99
|
// Forward declaration of `UserChoiceBillingDetails` to properly resolve imports.
|
|
@@ -126,6 +144,15 @@ namespace margelo::nitro::iap { struct ExternalPurchaseLinkResultIOS; }
|
|
|
126
144
|
#include "NitroReceiptValidationResultAndroid.hpp"
|
|
127
145
|
#include "NitroReceiptValidationParams.hpp"
|
|
128
146
|
#include "NitroReceiptValidationAndroidOptions.hpp"
|
|
147
|
+
#include "NitroVerifyPurchaseWithProviderResult.hpp"
|
|
148
|
+
#include "NitroVerifyPurchaseWithIapkitResult.hpp"
|
|
149
|
+
#include "IapkitPurchaseState.hpp"
|
|
150
|
+
#include "IapkitStore.hpp"
|
|
151
|
+
#include "PurchaseVerificationProvider.hpp"
|
|
152
|
+
#include "NitroVerifyPurchaseWithProviderProps.hpp"
|
|
153
|
+
#include "NitroVerifyPurchaseWithIapkitProps.hpp"
|
|
154
|
+
#include "NitroVerifyPurchaseWithIapkitAppleProps.hpp"
|
|
155
|
+
#include "NitroVerifyPurchaseWithIapkitGoogleProps.hpp"
|
|
129
156
|
#include "NitroDeepLinkOptionsAndroid.hpp"
|
|
130
157
|
#include "UserChoiceBillingDetails.hpp"
|
|
131
158
|
#include "ExternalPurchaseNoticeResultIOS.hpp"
|
|
@@ -221,6 +248,14 @@ namespace margelo::nitro::iap {
|
|
|
221
248
|
auto __value = std::move(__result.value());
|
|
222
249
|
return __value;
|
|
223
250
|
}
|
|
251
|
+
inline std::shared_ptr<Promise<bool>> hasActiveSubscriptions(const std::optional<std::vector<std::string>>& subscriptionIds) override {
|
|
252
|
+
auto __result = _swiftPart.hasActiveSubscriptions(subscriptionIds);
|
|
253
|
+
if (__result.hasError()) [[unlikely]] {
|
|
254
|
+
std::rethrow_exception(__result.error());
|
|
255
|
+
}
|
|
256
|
+
auto __value = std::move(__result.value());
|
|
257
|
+
return __value;
|
|
258
|
+
}
|
|
224
259
|
inline std::shared_ptr<Promise<std::variant<bool, NitroPurchaseResult>>> finishTransaction(const NitroFinishTransactionParams& params) override {
|
|
225
260
|
auto __result = _swiftPart.finishTransaction(std::forward<decltype(params)>(params));
|
|
226
261
|
if (__result.hasError()) [[unlikely]] {
|
|
@@ -441,6 +476,14 @@ namespace margelo::nitro::iap {
|
|
|
441
476
|
auto __value = std::move(__result.value());
|
|
442
477
|
return __value;
|
|
443
478
|
}
|
|
479
|
+
inline std::shared_ptr<Promise<NitroVerifyPurchaseWithProviderResult>> verifyPurchaseWithProvider(const NitroVerifyPurchaseWithProviderProps& params) override {
|
|
480
|
+
auto __result = _swiftPart.verifyPurchaseWithProvider(std::forward<decltype(params)>(params));
|
|
481
|
+
if (__result.hasError()) [[unlikely]] {
|
|
482
|
+
std::rethrow_exception(__result.error());
|
|
483
|
+
}
|
|
484
|
+
auto __value = std::move(__result.value());
|
|
485
|
+
return __value;
|
|
486
|
+
}
|
|
444
487
|
inline std::shared_ptr<Promise<std::string>> getStorefront() override {
|
|
445
488
|
auto __result = _swiftPart.getStorefront();
|
|
446
489
|
if (__result.hasError()) [[unlikely]] {
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// Func_void_NitroVerifyPurchaseWithProviderResult.swift
|
|
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
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Wraps a Swift `(_ value: NitroVerifyPurchaseWithProviderResult) -> Void` as a class.
|
|
13
|
+
* This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
|
|
14
|
+
*/
|
|
15
|
+
public final class Func_void_NitroVerifyPurchaseWithProviderResult {
|
|
16
|
+
public typealias bridge = margelo.nitro.iap.bridge.swift
|
|
17
|
+
|
|
18
|
+
private let closure: (_ value: NitroVerifyPurchaseWithProviderResult) -> Void
|
|
19
|
+
|
|
20
|
+
public init(_ closure: @escaping (_ value: NitroVerifyPurchaseWithProviderResult) -> Void) {
|
|
21
|
+
self.closure = closure
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@inline(__always)
|
|
25
|
+
public func call(value: NitroVerifyPurchaseWithProviderResult) -> Void {
|
|
26
|
+
self.closure(value)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Casts this instance to a retained unsafe raw pointer.
|
|
31
|
+
* This acquires one additional strong reference on the object!
|
|
32
|
+
*/
|
|
33
|
+
@inline(__always)
|
|
34
|
+
public func toUnsafe() -> UnsafeMutableRawPointer {
|
|
35
|
+
return Unmanaged.passRetained(self).toOpaque()
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Casts an unsafe pointer to a `Func_void_NitroVerifyPurchaseWithProviderResult`.
|
|
40
|
+
* The pointer has to be a retained opaque `Unmanaged<Func_void_NitroVerifyPurchaseWithProviderResult>`.
|
|
41
|
+
* This removes one strong reference from the object!
|
|
42
|
+
*/
|
|
43
|
+
@inline(__always)
|
|
44
|
+
public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void_NitroVerifyPurchaseWithProviderResult {
|
|
45
|
+
return Unmanaged<Func_void_NitroVerifyPurchaseWithProviderResult>.fromOpaque(pointer).takeRetainedValue()
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -21,6 +21,7 @@ public protocol HybridRnIapSpec_protocol: HybridObject {
|
|
|
21
21
|
func requestPurchase(request: NitroPurchaseRequest) throws -> Promise<RequestPurchaseResult?>
|
|
22
22
|
func getAvailablePurchases(options: NitroAvailablePurchasesOptions?) throws -> Promise<[NitroPurchase]>
|
|
23
23
|
func getActiveSubscriptions(subscriptionIds: [String]?) throws -> Promise<[NitroActiveSubscription]>
|
|
24
|
+
func hasActiveSubscriptions(subscriptionIds: [String]?) throws -> Promise<Bool>
|
|
24
25
|
func finishTransaction(params: NitroFinishTransactionParams) throws -> Promise<Variant_Bool_NitroPurchaseResult>
|
|
25
26
|
func addPurchaseUpdatedListener(listener: @escaping (_ purchase: NitroPurchase) -> Void) throws -> Void
|
|
26
27
|
func addPurchaseErrorListener(listener: @escaping (_ error: NitroPurchaseResult) -> Void) throws -> Void
|
|
@@ -50,6 +51,7 @@ public protocol HybridRnIapSpec_protocol: HybridObject {
|
|
|
50
51
|
func isTransactionVerifiedIOS(sku: String) throws -> Promise<Bool>
|
|
51
52
|
func getTransactionJwsIOS(sku: String) throws -> Promise<String?>
|
|
52
53
|
func validateReceipt(params: NitroReceiptValidationParams) throws -> Promise<Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid>
|
|
54
|
+
func verifyPurchaseWithProvider(params: NitroVerifyPurchaseWithProviderProps) throws -> Promise<NitroVerifyPurchaseWithProviderResult>
|
|
53
55
|
func getStorefront() throws -> Promise<String>
|
|
54
56
|
func deepLinkToSubscriptionsAndroid(options: NitroDeepLinkOptionsAndroid) throws -> Promise<Void>
|
|
55
57
|
func checkAlternativeBillingAvailabilityAndroid() throws -> Promise<Bool>
|
|
@@ -277,6 +277,32 @@ open class HybridRnIapSpec_cxx {
|
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
|
|
280
|
+
@inline(__always)
|
|
281
|
+
public final func hasActiveSubscriptions(subscriptionIds: bridge.std__optional_std__vector_std__string__) -> bridge.Result_std__shared_ptr_Promise_bool___ {
|
|
282
|
+
do {
|
|
283
|
+
let __result = try self.__implementation.hasActiveSubscriptions(subscriptionIds: { () -> [String]? in
|
|
284
|
+
if bridge.has_value_std__optional_std__vector_std__string__(subscriptionIds) {
|
|
285
|
+
let __unwrapped = bridge.get_std__optional_std__vector_std__string__(subscriptionIds)
|
|
286
|
+
return __unwrapped.map({ __item in String(__item) })
|
|
287
|
+
} else {
|
|
288
|
+
return nil
|
|
289
|
+
}
|
|
290
|
+
}())
|
|
291
|
+
let __resultCpp = { () -> bridge.std__shared_ptr_Promise_bool__ in
|
|
292
|
+
let __promise = bridge.create_std__shared_ptr_Promise_bool__()
|
|
293
|
+
let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_bool__(__promise)
|
|
294
|
+
__result
|
|
295
|
+
.then({ __result in __promiseHolder.resolve(__result) })
|
|
296
|
+
.catch({ __error in __promiseHolder.reject(__error.toCpp()) })
|
|
297
|
+
return __promise
|
|
298
|
+
}()
|
|
299
|
+
return bridge.create_Result_std__shared_ptr_Promise_bool___(__resultCpp)
|
|
300
|
+
} catch (let __error) {
|
|
301
|
+
let __exceptionPtr = __error.toCpp()
|
|
302
|
+
return bridge.create_Result_std__shared_ptr_Promise_bool___(__exceptionPtr)
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
280
306
|
@inline(__always)
|
|
281
307
|
public final func finishTransaction(params: NitroFinishTransactionParams) -> bridge.Result_std__shared_ptr_Promise_std__variant_bool__NitroPurchaseResult____ {
|
|
282
308
|
do {
|
|
@@ -890,6 +916,25 @@ open class HybridRnIapSpec_cxx {
|
|
|
890
916
|
}
|
|
891
917
|
}
|
|
892
918
|
|
|
919
|
+
@inline(__always)
|
|
920
|
+
public final func verifyPurchaseWithProvider(params: NitroVerifyPurchaseWithProviderProps) -> bridge.Result_std__shared_ptr_Promise_NitroVerifyPurchaseWithProviderResult___ {
|
|
921
|
+
do {
|
|
922
|
+
let __result = try self.__implementation.verifyPurchaseWithProvider(params: params)
|
|
923
|
+
let __resultCpp = { () -> bridge.std__shared_ptr_Promise_NitroVerifyPurchaseWithProviderResult__ in
|
|
924
|
+
let __promise = bridge.create_std__shared_ptr_Promise_NitroVerifyPurchaseWithProviderResult__()
|
|
925
|
+
let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_NitroVerifyPurchaseWithProviderResult__(__promise)
|
|
926
|
+
__result
|
|
927
|
+
.then({ __result in __promiseHolder.resolve(__result) })
|
|
928
|
+
.catch({ __error in __promiseHolder.reject(__error.toCpp()) })
|
|
929
|
+
return __promise
|
|
930
|
+
}()
|
|
931
|
+
return bridge.create_Result_std__shared_ptr_Promise_NitroVerifyPurchaseWithProviderResult___(__resultCpp)
|
|
932
|
+
} catch (let __error) {
|
|
933
|
+
let __exceptionPtr = __error.toCpp()
|
|
934
|
+
return bridge.create_Result_std__shared_ptr_Promise_NitroVerifyPurchaseWithProviderResult___(__exceptionPtr)
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
|
|
893
938
|
@inline(__always)
|
|
894
939
|
public final func getStorefront() -> bridge.Result_std__shared_ptr_Promise_std__string___ {
|
|
895
940
|
do {
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// IapkitPurchaseState.swift
|
|
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
|
+
/**
|
|
9
|
+
* Represents the JS union `IapkitPurchaseState`, backed by a C++ enum.
|
|
10
|
+
*/
|
|
11
|
+
public typealias IapkitPurchaseState = margelo.nitro.iap.IapkitPurchaseState
|
|
12
|
+
|
|
13
|
+
public extension IapkitPurchaseState {
|
|
14
|
+
/**
|
|
15
|
+
* Get a IapkitPurchaseState for the given String value, or
|
|
16
|
+
* return `nil` if the given value was invalid/unknown.
|
|
17
|
+
*/
|
|
18
|
+
init?(fromString string: String) {
|
|
19
|
+
switch string {
|
|
20
|
+
case "pending":
|
|
21
|
+
self = .pending
|
|
22
|
+
case "unknown":
|
|
23
|
+
self = .unknown
|
|
24
|
+
case "entitled":
|
|
25
|
+
self = .entitled
|
|
26
|
+
case "pending-acknowledgment":
|
|
27
|
+
self = .pendingAcknowledgment
|
|
28
|
+
case "canceled":
|
|
29
|
+
self = .canceled
|
|
30
|
+
case "expired":
|
|
31
|
+
self = .expired
|
|
32
|
+
case "ready-to-consume":
|
|
33
|
+
self = .readyToConsume
|
|
34
|
+
case "consumed":
|
|
35
|
+
self = .consumed
|
|
36
|
+
case "inauthentic":
|
|
37
|
+
self = .inauthentic
|
|
38
|
+
default:
|
|
39
|
+
return nil
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Get the String value this IapkitPurchaseState represents.
|
|
45
|
+
*/
|
|
46
|
+
var stringValue: String {
|
|
47
|
+
switch self {
|
|
48
|
+
case .pending:
|
|
49
|
+
return "pending"
|
|
50
|
+
case .unknown:
|
|
51
|
+
return "unknown"
|
|
52
|
+
case .entitled:
|
|
53
|
+
return "entitled"
|
|
54
|
+
case .pendingAcknowledgment:
|
|
55
|
+
return "pending-acknowledgment"
|
|
56
|
+
case .canceled:
|
|
57
|
+
return "canceled"
|
|
58
|
+
case .expired:
|
|
59
|
+
return "expired"
|
|
60
|
+
case .readyToConsume:
|
|
61
|
+
return "ready-to-consume"
|
|
62
|
+
case .consumed:
|
|
63
|
+
return "consumed"
|
|
64
|
+
case .inauthentic:
|
|
65
|
+
return "inauthentic"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// IapkitStore.swift
|
|
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
|
+
/**
|
|
9
|
+
* Represents the JS union `IapkitStore`, backed by a C++ enum.
|
|
10
|
+
*/
|
|
11
|
+
public typealias IapkitStore = margelo.nitro.iap.IapkitStore
|
|
12
|
+
|
|
13
|
+
public extension IapkitStore {
|
|
14
|
+
/**
|
|
15
|
+
* Get a IapkitStore for the given String value, or
|
|
16
|
+
* return `nil` if the given value was invalid/unknown.
|
|
17
|
+
*/
|
|
18
|
+
init?(fromString string: String) {
|
|
19
|
+
switch string {
|
|
20
|
+
case "apple":
|
|
21
|
+
self = .apple
|
|
22
|
+
case "google":
|
|
23
|
+
self = .google
|
|
24
|
+
default:
|
|
25
|
+
return nil
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Get the String value this IapkitStore represents.
|
|
31
|
+
*/
|
|
32
|
+
var stringValue: String {
|
|
33
|
+
switch self {
|
|
34
|
+
case .apple:
|
|
35
|
+
return "apple"
|
|
36
|
+
case .google:
|
|
37
|
+
return "google"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroVerifyPurchaseWithIapkitAppleProps.swift
|
|
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
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `NitroVerifyPurchaseWithIapkitAppleProps`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias NitroVerifyPurchaseWithIapkitAppleProps = margelo.nitro.iap.NitroVerifyPurchaseWithIapkitAppleProps
|
|
14
|
+
|
|
15
|
+
public extension NitroVerifyPurchaseWithIapkitAppleProps {
|
|
16
|
+
private typealias bridge = margelo.nitro.iap.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `NitroVerifyPurchaseWithIapkitAppleProps`.
|
|
20
|
+
*/
|
|
21
|
+
init(jws: String) {
|
|
22
|
+
self.init(std.string(jws))
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var jws: String {
|
|
26
|
+
@inline(__always)
|
|
27
|
+
get {
|
|
28
|
+
return String(self.__jws)
|
|
29
|
+
}
|
|
30
|
+
@inline(__always)
|
|
31
|
+
set {
|
|
32
|
+
self.__jws = std.string(newValue)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroVerifyPurchaseWithIapkitGoogleProps.swift
|
|
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
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `NitroVerifyPurchaseWithIapkitGoogleProps`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias NitroVerifyPurchaseWithIapkitGoogleProps = margelo.nitro.iap.NitroVerifyPurchaseWithIapkitGoogleProps
|
|
14
|
+
|
|
15
|
+
public extension NitroVerifyPurchaseWithIapkitGoogleProps {
|
|
16
|
+
private typealias bridge = margelo.nitro.iap.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `NitroVerifyPurchaseWithIapkitGoogleProps`.
|
|
20
|
+
*/
|
|
21
|
+
init(purchaseToken: String) {
|
|
22
|
+
self.init(std.string(purchaseToken))
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var purchaseToken: String {
|
|
26
|
+
@inline(__always)
|
|
27
|
+
get {
|
|
28
|
+
return String(self.__purchaseToken)
|
|
29
|
+
}
|
|
30
|
+
@inline(__always)
|
|
31
|
+
set {
|
|
32
|
+
self.__purchaseToken = std.string(newValue)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroVerifyPurchaseWithIapkitProps.swift
|
|
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
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `NitroVerifyPurchaseWithIapkitProps`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias NitroVerifyPurchaseWithIapkitProps = margelo.nitro.iap.NitroVerifyPurchaseWithIapkitProps
|
|
14
|
+
|
|
15
|
+
public extension NitroVerifyPurchaseWithIapkitProps {
|
|
16
|
+
private typealias bridge = margelo.nitro.iap.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `NitroVerifyPurchaseWithIapkitProps`.
|
|
20
|
+
*/
|
|
21
|
+
init(apiKey: String?, apple: NitroVerifyPurchaseWithIapkitAppleProps?, google: NitroVerifyPurchaseWithIapkitGoogleProps?) {
|
|
22
|
+
self.init({ () -> bridge.std__optional_std__string_ in
|
|
23
|
+
if let __unwrappedValue = apiKey {
|
|
24
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
25
|
+
} else {
|
|
26
|
+
return .init()
|
|
27
|
+
}
|
|
28
|
+
}(), { () -> bridge.std__optional_NitroVerifyPurchaseWithIapkitAppleProps_ in
|
|
29
|
+
if let __unwrappedValue = apple {
|
|
30
|
+
return bridge.create_std__optional_NitroVerifyPurchaseWithIapkitAppleProps_(__unwrappedValue)
|
|
31
|
+
} else {
|
|
32
|
+
return .init()
|
|
33
|
+
}
|
|
34
|
+
}(), { () -> bridge.std__optional_NitroVerifyPurchaseWithIapkitGoogleProps_ in
|
|
35
|
+
if let __unwrappedValue = google {
|
|
36
|
+
return bridge.create_std__optional_NitroVerifyPurchaseWithIapkitGoogleProps_(__unwrappedValue)
|
|
37
|
+
} else {
|
|
38
|
+
return .init()
|
|
39
|
+
}
|
|
40
|
+
}())
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
var apiKey: String? {
|
|
44
|
+
@inline(__always)
|
|
45
|
+
get {
|
|
46
|
+
return { () -> String? in
|
|
47
|
+
if bridge.has_value_std__optional_std__string_(self.__apiKey) {
|
|
48
|
+
let __unwrapped = bridge.get_std__optional_std__string_(self.__apiKey)
|
|
49
|
+
return String(__unwrapped)
|
|
50
|
+
} else {
|
|
51
|
+
return nil
|
|
52
|
+
}
|
|
53
|
+
}()
|
|
54
|
+
}
|
|
55
|
+
@inline(__always)
|
|
56
|
+
set {
|
|
57
|
+
self.__apiKey = { () -> bridge.std__optional_std__string_ in
|
|
58
|
+
if let __unwrappedValue = newValue {
|
|
59
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
60
|
+
} else {
|
|
61
|
+
return .init()
|
|
62
|
+
}
|
|
63
|
+
}()
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
var apple: NitroVerifyPurchaseWithIapkitAppleProps? {
|
|
68
|
+
@inline(__always)
|
|
69
|
+
get {
|
|
70
|
+
return self.__apple.value
|
|
71
|
+
}
|
|
72
|
+
@inline(__always)
|
|
73
|
+
set {
|
|
74
|
+
self.__apple = { () -> bridge.std__optional_NitroVerifyPurchaseWithIapkitAppleProps_ in
|
|
75
|
+
if let __unwrappedValue = newValue {
|
|
76
|
+
return bridge.create_std__optional_NitroVerifyPurchaseWithIapkitAppleProps_(__unwrappedValue)
|
|
77
|
+
} else {
|
|
78
|
+
return .init()
|
|
79
|
+
}
|
|
80
|
+
}()
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
var google: NitroVerifyPurchaseWithIapkitGoogleProps? {
|
|
85
|
+
@inline(__always)
|
|
86
|
+
get {
|
|
87
|
+
return self.__google.value
|
|
88
|
+
}
|
|
89
|
+
@inline(__always)
|
|
90
|
+
set {
|
|
91
|
+
self.__google = { () -> bridge.std__optional_NitroVerifyPurchaseWithIapkitGoogleProps_ in
|
|
92
|
+
if let __unwrappedValue = newValue {
|
|
93
|
+
return bridge.create_std__optional_NitroVerifyPurchaseWithIapkitGoogleProps_(__unwrappedValue)
|
|
94
|
+
} else {
|
|
95
|
+
return .init()
|
|
96
|
+
}
|
|
97
|
+
}()
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroVerifyPurchaseWithIapkitResult.swift
|
|
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
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `NitroVerifyPurchaseWithIapkitResult`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias NitroVerifyPurchaseWithIapkitResult = margelo.nitro.iap.NitroVerifyPurchaseWithIapkitResult
|
|
14
|
+
|
|
15
|
+
public extension NitroVerifyPurchaseWithIapkitResult {
|
|
16
|
+
private typealias bridge = margelo.nitro.iap.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `NitroVerifyPurchaseWithIapkitResult`.
|
|
20
|
+
*/
|
|
21
|
+
init(isValid: Bool, state: IapkitPurchaseState, store: IapkitStore) {
|
|
22
|
+
self.init(isValid, state, store)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var isValid: Bool {
|
|
26
|
+
@inline(__always)
|
|
27
|
+
get {
|
|
28
|
+
return self.__isValid
|
|
29
|
+
}
|
|
30
|
+
@inline(__always)
|
|
31
|
+
set {
|
|
32
|
+
self.__isValid = newValue
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
var state: IapkitPurchaseState {
|
|
37
|
+
@inline(__always)
|
|
38
|
+
get {
|
|
39
|
+
return self.__state
|
|
40
|
+
}
|
|
41
|
+
@inline(__always)
|
|
42
|
+
set {
|
|
43
|
+
self.__state = newValue
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
var store: IapkitStore {
|
|
48
|
+
@inline(__always)
|
|
49
|
+
get {
|
|
50
|
+
return self.__store
|
|
51
|
+
}
|
|
52
|
+
@inline(__always)
|
|
53
|
+
set {
|
|
54
|
+
self.__store = newValue
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroVerifyPurchaseWithProviderProps.swift
|
|
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
|
+
import NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `NitroVerifyPurchaseWithProviderProps`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias NitroVerifyPurchaseWithProviderProps = margelo.nitro.iap.NitroVerifyPurchaseWithProviderProps
|
|
14
|
+
|
|
15
|
+
public extension NitroVerifyPurchaseWithProviderProps {
|
|
16
|
+
private typealias bridge = margelo.nitro.iap.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `NitroVerifyPurchaseWithProviderProps`.
|
|
20
|
+
*/
|
|
21
|
+
init(iapkit: NitroVerifyPurchaseWithIapkitProps?, provider: PurchaseVerificationProvider) {
|
|
22
|
+
self.init({ () -> bridge.std__optional_NitroVerifyPurchaseWithIapkitProps_ in
|
|
23
|
+
if let __unwrappedValue = iapkit {
|
|
24
|
+
return bridge.create_std__optional_NitroVerifyPurchaseWithIapkitProps_(__unwrappedValue)
|
|
25
|
+
} else {
|
|
26
|
+
return .init()
|
|
27
|
+
}
|
|
28
|
+
}(), provider)
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
var iapkit: NitroVerifyPurchaseWithIapkitProps? {
|
|
32
|
+
@inline(__always)
|
|
33
|
+
get {
|
|
34
|
+
return self.__iapkit.value
|
|
35
|
+
}
|
|
36
|
+
@inline(__always)
|
|
37
|
+
set {
|
|
38
|
+
self.__iapkit = { () -> bridge.std__optional_NitroVerifyPurchaseWithIapkitProps_ in
|
|
39
|
+
if let __unwrappedValue = newValue {
|
|
40
|
+
return bridge.create_std__optional_NitroVerifyPurchaseWithIapkitProps_(__unwrappedValue)
|
|
41
|
+
} else {
|
|
42
|
+
return .init()
|
|
43
|
+
}
|
|
44
|
+
}()
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
var provider: PurchaseVerificationProvider {
|
|
49
|
+
@inline(__always)
|
|
50
|
+
get {
|
|
51
|
+
return self.__provider
|
|
52
|
+
}
|
|
53
|
+
@inline(__always)
|
|
54
|
+
set {
|
|
55
|
+
self.__provider = newValue
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|