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.
Files changed (75) hide show
  1. package/NitroIap.podspec +2 -2
  2. package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +113 -3
  3. package/ios/HybridRnIap.swift +61 -2
  4. package/lib/module/hooks/useIAP.js +9 -1
  5. package/lib/module/hooks/useIAP.js.map +1 -1
  6. package/lib/module/index.js +68 -1
  7. package/lib/module/index.js.map +1 -1
  8. package/lib/module/types.js +5 -0
  9. package/lib/module/types.js.map +1 -1
  10. package/lib/module/utils/errorMapping.js +32 -6
  11. package/lib/module/utils/errorMapping.js.map +1 -1
  12. package/lib/typescript/src/hooks/useIAP.d.ts +5 -1
  13. package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
  14. package/lib/typescript/src/index.d.ts +34 -1
  15. package/lib/typescript/src/index.d.ts.map +1 -1
  16. package/lib/typescript/src/specs/RnIap.nitro.d.ts +72 -26
  17. package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
  18. package/lib/typescript/src/types.d.ts +109 -51
  19. package/lib/typescript/src/types.d.ts.map +1 -1
  20. package/lib/typescript/src/utils/errorMapping.d.ts.map +1 -1
  21. package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +76 -0
  22. package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +2 -0
  23. package/nitrogen/generated/android/c++/JIapkitPurchaseState.hpp +80 -0
  24. package/nitrogen/generated/android/c++/JIapkitStore.hpp +59 -0
  25. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitAppleProps.hpp +57 -0
  26. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitGoogleProps.hpp +57 -0
  27. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitProps.hpp +70 -0
  28. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitResult.hpp +68 -0
  29. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderProps.hpp +70 -0
  30. package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderResult.hpp +86 -0
  31. package/nitrogen/generated/android/c++/JPurchaseVerificationProvider.hpp +59 -0
  32. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +8 -0
  33. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/IapkitPurchaseState.kt +28 -0
  34. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/IapkitStore.kt +21 -0
  35. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitAppleProps.kt +36 -0
  36. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitGoogleProps.kt +36 -0
  37. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitProps.kt +42 -0
  38. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitResult.kt +42 -0
  39. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderProps.kt +39 -0
  40. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderResult.kt +39 -0
  41. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseVerificationProvider.kt +21 -0
  42. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +8 -0
  43. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +123 -0
  44. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +27 -0
  45. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +43 -0
  46. package/nitrogen/generated/ios/swift/Func_void_NitroVerifyPurchaseWithProviderResult.swift +47 -0
  47. package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +2 -0
  48. package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +45 -0
  49. package/nitrogen/generated/ios/swift/IapkitPurchaseState.swift +68 -0
  50. package/nitrogen/generated/ios/swift/IapkitStore.swift +40 -0
  51. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithIapkitAppleProps.swift +35 -0
  52. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithIapkitGoogleProps.swift +35 -0
  53. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithIapkitProps.swift +100 -0
  54. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithIapkitResult.swift +57 -0
  55. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithProviderProps.swift +58 -0
  56. package/nitrogen/generated/ios/swift/NitroVerifyPurchaseWithProviderResult.swift +58 -0
  57. package/nitrogen/generated/ios/swift/PurchaseVerificationProvider.swift +40 -0
  58. package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +2 -0
  59. package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +8 -0
  60. package/nitrogen/generated/shared/c++/IapkitPurchaseState.hpp +104 -0
  61. package/nitrogen/generated/shared/c++/IapkitStore.hpp +76 -0
  62. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithIapkitAppleProps.hpp +75 -0
  63. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithIapkitGoogleProps.hpp +75 -0
  64. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithIapkitProps.hpp +89 -0
  65. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithIapkitResult.hpp +87 -0
  66. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithProviderProps.hpp +84 -0
  67. package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithProviderResult.hpp +84 -0
  68. package/nitrogen/generated/shared/c++/PurchaseVerificationProvider.hpp +76 -0
  69. package/openiap-versions.json +3 -3
  70. package/package.json +1 -1
  71. package/src/hooks/useIAP.ts +32 -0
  72. package/src/index.ts +74 -5
  73. package/src/specs/RnIap.nitro.ts +101 -28
  74. package/src/types.ts +126 -57
  75. 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
+ }