react-native-iap 14.5.0 → 14.6.0-rc.1

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 (105) hide show
  1. package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +173 -7
  2. package/ios/HybridRnIap.swift +24 -0
  3. package/ios/reactnativeiap.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  4. package/ios/reactnativeiap.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  5. package/lib/module/index.js +166 -0
  6. package/lib/module/index.js.map +1 -1
  7. package/lib/module/types.js +93 -0
  8. package/lib/module/types.js.map +1 -1
  9. package/lib/module/utils/type-bridge.js +2 -1
  10. package/lib/module/utils/type-bridge.js.map +1 -1
  11. package/lib/typescript/src/index.d.ts +124 -0
  12. package/lib/typescript/src/index.d.ts.map +1 -1
  13. package/lib/typescript/src/specs/RnIap.nitro.d.ts +125 -1
  14. package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
  15. package/lib/typescript/src/types.d.ts +227 -15
  16. package/lib/typescript/src/types.d.ts.map +1 -1
  17. package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -1
  18. package/nitrogen/generated/android/c++/JBillingProgramAndroid.hpp +62 -0
  19. package/nitrogen/generated/android/c++/JExternalLinkLaunchModeAndroid.hpp +62 -0
  20. package/nitrogen/generated/android/c++/JExternalLinkTypeAndroid.hpp +62 -0
  21. package/nitrogen/generated/android/c++/JFunc_void_NitroProduct.hpp +13 -0
  22. package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +100 -0
  23. package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +4 -0
  24. package/nitrogen/generated/android/c++/JNitroBillingProgramAvailabilityResultAndroid.hpp +62 -0
  25. package/nitrogen/generated/android/c++/JNitroBillingProgramReportingDetailsAndroid.hpp +63 -0
  26. package/nitrogen/generated/android/c++/JNitroDiscountAmountAndroid.hpp +61 -0
  27. package/nitrogen/generated/android/c++/JNitroDiscountDisplayInfoAndroid.hpp +64 -0
  28. package/nitrogen/generated/android/c++/JNitroLaunchExternalLinkParamsAndroid.hpp +75 -0
  29. package/nitrogen/generated/android/c++/JNitroLimitedQuantityInfoAndroid.hpp +61 -0
  30. package/nitrogen/generated/android/c++/JNitroOneTimePurchaseOfferDetail.hpp +70 -3
  31. package/nitrogen/generated/android/c++/JNitroPreorderDetailsAndroid.hpp +61 -0
  32. package/nitrogen/generated/android/c++/JNitroProduct.hpp +35 -5
  33. package/nitrogen/generated/android/c++/JNitroPurchase.hpp +7 -3
  34. package/nitrogen/generated/android/c++/JNitroRentalDetailsAndroid.hpp +62 -0
  35. package/nitrogen/generated/android/c++/JNitroValidTimeWindowAndroid.hpp +61 -0
  36. package/nitrogen/generated/android/c++/JPurchaseAndroid.hpp +5 -1
  37. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingProgramAndroid.kt +22 -0
  38. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalLinkLaunchModeAndroid.kt +22 -0
  39. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalLinkTypeAndroid.kt +22 -0
  40. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +16 -0
  41. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramAvailabilityResultAndroid.kt +39 -0
  42. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramReportingDetailsAndroid.kt +39 -0
  43. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDiscountAmountAndroid.kt +39 -0
  44. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDiscountDisplayInfoAndroid.kt +39 -0
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLaunchExternalLinkParamsAndroid.kt +45 -0
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLimitedQuantityInfoAndroid.kt +39 -0
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroOneTimePurchaseOfferDetail.kt +30 -3
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPreorderDetailsAndroid.kt +39 -0
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +2 -2
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +6 -3
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRentalDetailsAndroid.kt +39 -0
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroValidTimeWindowAndroid.kt +39 -0
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseAndroid.kt +5 -2
  54. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +16 -0
  55. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +232 -18
  56. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +36 -0
  57. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +66 -0
  58. package/nitrogen/generated/ios/swift/BillingProgramAndroid.swift +44 -0
  59. package/nitrogen/generated/ios/swift/ExternalLinkLaunchModeAndroid.swift +44 -0
  60. package/nitrogen/generated/ios/swift/ExternalLinkTypeAndroid.swift +44 -0
  61. package/nitrogen/generated/ios/swift/Func_void_NitroBillingProgramAvailabilityResultAndroid.swift +47 -0
  62. package/nitrogen/generated/ios/swift/Func_void_NitroBillingProgramReportingDetailsAndroid.swift +47 -0
  63. package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +4 -0
  64. package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +68 -0
  65. package/nitrogen/generated/ios/swift/NitroBillingProgramAvailabilityResultAndroid.swift +46 -0
  66. package/nitrogen/generated/ios/swift/NitroBillingProgramReportingDetailsAndroid.swift +46 -0
  67. package/nitrogen/generated/ios/swift/NitroDiscountAmountAndroid.swift +46 -0
  68. package/nitrogen/generated/ios/swift/NitroDiscountDisplayInfoAndroid.swift +70 -0
  69. package/nitrogen/generated/ios/swift/NitroLaunchExternalLinkParamsAndroid.swift +68 -0
  70. package/nitrogen/generated/ios/swift/NitroLimitedQuantityInfoAndroid.swift +46 -0
  71. package/nitrogen/generated/ios/swift/NitroOneTimePurchaseOfferDetail.swift +211 -2
  72. package/nitrogen/generated/ios/swift/NitroPreorderDetailsAndroid.swift +46 -0
  73. package/nitrogen/generated/ios/swift/NitroProduct.swift +26 -7
  74. package/nitrogen/generated/ios/swift/NitroPurchase.swift +31 -1
  75. package/nitrogen/generated/ios/swift/NitroRentalDetailsAndroid.swift +65 -0
  76. package/nitrogen/generated/ios/swift/NitroValidTimeWindowAndroid.swift +46 -0
  77. package/nitrogen/generated/ios/swift/PurchaseAndroid.swift +32 -2
  78. package/nitrogen/generated/shared/c++/BillingProgramAndroid.hpp +80 -0
  79. package/nitrogen/generated/shared/c++/ExternalLinkLaunchModeAndroid.hpp +80 -0
  80. package/nitrogen/generated/shared/c++/ExternalLinkTypeAndroid.hpp +80 -0
  81. package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +4 -0
  82. package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +16 -0
  83. package/nitrogen/generated/shared/c++/NitroBillingProgramAvailabilityResultAndroid.hpp +80 -0
  84. package/nitrogen/generated/shared/c++/NitroBillingProgramReportingDetailsAndroid.hpp +81 -0
  85. package/nitrogen/generated/shared/c++/NitroDiscountAmountAndroid.hpp +79 -0
  86. package/nitrogen/generated/shared/c++/NitroDiscountDisplayInfoAndroid.hpp +81 -0
  87. package/nitrogen/generated/shared/c++/NitroLaunchExternalLinkParamsAndroid.hpp +95 -0
  88. package/nitrogen/generated/shared/c++/NitroLimitedQuantityInfoAndroid.hpp +79 -0
  89. package/nitrogen/generated/shared/c++/NitroOneTimePurchaseOfferDetail.hpp +55 -3
  90. package/nitrogen/generated/shared/c++/NitroPreorderDetailsAndroid.hpp +79 -0
  91. package/nitrogen/generated/shared/c++/NitroProduct.hpp +6 -5
  92. package/nitrogen/generated/shared/c++/NitroPurchase.hpp +6 -2
  93. package/nitrogen/generated/shared/c++/NitroRentalDetailsAndroid.hpp +80 -0
  94. package/nitrogen/generated/shared/c++/NitroValidTimeWindowAndroid.hpp +79 -0
  95. package/nitrogen/generated/shared/c++/PurchaseAndroid.hpp +5 -1
  96. package/openiap-versions.json +2 -2
  97. package/package.json +1 -1
  98. package/plugin/build/src/withIAP.d.ts +3 -0
  99. package/plugin/build/src/withIAP.js +81 -0
  100. package/plugin/build/tsconfig.tsbuildinfo +1 -0
  101. package/plugin/tsconfig.tsbuildinfo +1 -1
  102. package/src/index.ts +218 -0
  103. package/src/specs/RnIap.nitro.ts +161 -1
  104. package/src/types.ts +243 -15
  105. package/src/utils/type-bridge.ts +1 -0
@@ -0,0 +1,44 @@
1
+ ///
2
+ /// ExternalLinkLaunchModeAndroid.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 `ExternalLinkLaunchModeAndroid`, backed by a C++ enum.
10
+ */
11
+ public typealias ExternalLinkLaunchModeAndroid = margelo.nitro.iap.ExternalLinkLaunchModeAndroid
12
+
13
+ public extension ExternalLinkLaunchModeAndroid {
14
+ /**
15
+ * Get a ExternalLinkLaunchModeAndroid 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 "unspecified":
21
+ self = .unspecified
22
+ case "launch-in-external-browser-or-app":
23
+ self = .launchInExternalBrowserOrApp
24
+ case "caller-will-launch-link":
25
+ self = .callerWillLaunchLink
26
+ default:
27
+ return nil
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Get the String value this ExternalLinkLaunchModeAndroid represents.
33
+ */
34
+ var stringValue: String {
35
+ switch self {
36
+ case .unspecified:
37
+ return "unspecified"
38
+ case .launchInExternalBrowserOrApp:
39
+ return "launch-in-external-browser-or-app"
40
+ case .callerWillLaunchLink:
41
+ return "caller-will-launch-link"
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,44 @@
1
+ ///
2
+ /// ExternalLinkTypeAndroid.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 `ExternalLinkTypeAndroid`, backed by a C++ enum.
10
+ */
11
+ public typealias ExternalLinkTypeAndroid = margelo.nitro.iap.ExternalLinkTypeAndroid
12
+
13
+ public extension ExternalLinkTypeAndroid {
14
+ /**
15
+ * Get a ExternalLinkTypeAndroid 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 "unspecified":
21
+ self = .unspecified
22
+ case "link-to-digital-content-offer":
23
+ self = .linkToDigitalContentOffer
24
+ case "link-to-app-download":
25
+ self = .linkToAppDownload
26
+ default:
27
+ return nil
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Get the String value this ExternalLinkTypeAndroid represents.
33
+ */
34
+ var stringValue: String {
35
+ switch self {
36
+ case .unspecified:
37
+ return "unspecified"
38
+ case .linkToDigitalContentOffer:
39
+ return "link-to-digital-content-offer"
40
+ case .linkToAppDownload:
41
+ return "link-to-app-download"
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// Func_void_NitroBillingProgramAvailabilityResultAndroid.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: NitroBillingProgramAvailabilityResultAndroid) -> 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_NitroBillingProgramAvailabilityResultAndroid {
16
+ public typealias bridge = margelo.nitro.iap.bridge.swift
17
+
18
+ private let closure: (_ value: NitroBillingProgramAvailabilityResultAndroid) -> Void
19
+
20
+ public init(_ closure: @escaping (_ value: NitroBillingProgramAvailabilityResultAndroid) -> Void) {
21
+ self.closure = closure
22
+ }
23
+
24
+ @inline(__always)
25
+ public func call(value: NitroBillingProgramAvailabilityResultAndroid) -> 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_NitroBillingProgramAvailabilityResultAndroid`.
40
+ * The pointer has to be a retained opaque `Unmanaged<Func_void_NitroBillingProgramAvailabilityResultAndroid>`.
41
+ * This removes one strong reference from the object!
42
+ */
43
+ @inline(__always)
44
+ public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void_NitroBillingProgramAvailabilityResultAndroid {
45
+ return Unmanaged<Func_void_NitroBillingProgramAvailabilityResultAndroid>.fromOpaque(pointer).takeRetainedValue()
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// Func_void_NitroBillingProgramReportingDetailsAndroid.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: NitroBillingProgramReportingDetailsAndroid) -> 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_NitroBillingProgramReportingDetailsAndroid {
16
+ public typealias bridge = margelo.nitro.iap.bridge.swift
17
+
18
+ private let closure: (_ value: NitroBillingProgramReportingDetailsAndroid) -> Void
19
+
20
+ public init(_ closure: @escaping (_ value: NitroBillingProgramReportingDetailsAndroid) -> Void) {
21
+ self.closure = closure
22
+ }
23
+
24
+ @inline(__always)
25
+ public func call(value: NitroBillingProgramReportingDetailsAndroid) -> 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_NitroBillingProgramReportingDetailsAndroid`.
40
+ * The pointer has to be a retained opaque `Unmanaged<Func_void_NitroBillingProgramReportingDetailsAndroid>`.
41
+ * This removes one strong reference from the object!
42
+ */
43
+ @inline(__always)
44
+ public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void_NitroBillingProgramReportingDetailsAndroid {
45
+ return Unmanaged<Func_void_NitroBillingProgramReportingDetailsAndroid>.fromOpaque(pointer).takeRetainedValue()
46
+ }
47
+ }
@@ -59,6 +59,10 @@ public protocol HybridRnIapSpec_protocol: HybridObject {
59
59
  func createAlternativeBillingTokenAndroid(sku: String?) throws -> Promise<String?>
60
60
  func addUserChoiceBillingListenerAndroid(listener: @escaping (_ details: UserChoiceBillingDetails) -> Void) throws -> Void
61
61
  func removeUserChoiceBillingListenerAndroid(listener: @escaping (_ details: UserChoiceBillingDetails) -> Void) throws -> Void
62
+ func enableBillingProgramAndroid(program: BillingProgramAndroid) throws -> Void
63
+ func isBillingProgramAvailableAndroid(program: BillingProgramAndroid) throws -> Promise<NitroBillingProgramAvailabilityResultAndroid>
64
+ func createBillingProgramReportingDetailsAndroid(program: BillingProgramAndroid) throws -> Promise<NitroBillingProgramReportingDetailsAndroid>
65
+ func launchExternalLinkAndroid(params: NitroLaunchExternalLinkParamsAndroid) throws -> Promise<Bool>
62
66
  func canPresentExternalPurchaseNoticeIOS() throws -> Promise<Bool>
63
67
  func presentExternalPurchaseNoticeSheetIOS() throws -> Promise<ExternalPurchaseNoticeResultIOS>
64
68
  func presentExternalPurchaseLinkIOS(url: String) throws -> Promise<ExternalPurchaseLinkResultIOS>
@@ -1075,6 +1075,74 @@ open class HybridRnIapSpec_cxx {
1075
1075
  }
1076
1076
  }
1077
1077
 
1078
+ @inline(__always)
1079
+ public final func enableBillingProgramAndroid(program: Int32) -> bridge.Result_void_ {
1080
+ do {
1081
+ try self.__implementation.enableBillingProgramAndroid(program: margelo.nitro.iap.BillingProgramAndroid(rawValue: program)!)
1082
+ return bridge.create_Result_void_()
1083
+ } catch (let __error) {
1084
+ let __exceptionPtr = __error.toCpp()
1085
+ return bridge.create_Result_void_(__exceptionPtr)
1086
+ }
1087
+ }
1088
+
1089
+ @inline(__always)
1090
+ public final func isBillingProgramAvailableAndroid(program: Int32) -> bridge.Result_std__shared_ptr_Promise_NitroBillingProgramAvailabilityResultAndroid___ {
1091
+ do {
1092
+ let __result = try self.__implementation.isBillingProgramAvailableAndroid(program: margelo.nitro.iap.BillingProgramAndroid(rawValue: program)!)
1093
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_NitroBillingProgramAvailabilityResultAndroid__ in
1094
+ let __promise = bridge.create_std__shared_ptr_Promise_NitroBillingProgramAvailabilityResultAndroid__()
1095
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_NitroBillingProgramAvailabilityResultAndroid__(__promise)
1096
+ __result
1097
+ .then({ __result in __promiseHolder.resolve(__result) })
1098
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
1099
+ return __promise
1100
+ }()
1101
+ return bridge.create_Result_std__shared_ptr_Promise_NitroBillingProgramAvailabilityResultAndroid___(__resultCpp)
1102
+ } catch (let __error) {
1103
+ let __exceptionPtr = __error.toCpp()
1104
+ return bridge.create_Result_std__shared_ptr_Promise_NitroBillingProgramAvailabilityResultAndroid___(__exceptionPtr)
1105
+ }
1106
+ }
1107
+
1108
+ @inline(__always)
1109
+ public final func createBillingProgramReportingDetailsAndroid(program: Int32) -> bridge.Result_std__shared_ptr_Promise_NitroBillingProgramReportingDetailsAndroid___ {
1110
+ do {
1111
+ let __result = try self.__implementation.createBillingProgramReportingDetailsAndroid(program: margelo.nitro.iap.BillingProgramAndroid(rawValue: program)!)
1112
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_NitroBillingProgramReportingDetailsAndroid__ in
1113
+ let __promise = bridge.create_std__shared_ptr_Promise_NitroBillingProgramReportingDetailsAndroid__()
1114
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_NitroBillingProgramReportingDetailsAndroid__(__promise)
1115
+ __result
1116
+ .then({ __result in __promiseHolder.resolve(__result) })
1117
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
1118
+ return __promise
1119
+ }()
1120
+ return bridge.create_Result_std__shared_ptr_Promise_NitroBillingProgramReportingDetailsAndroid___(__resultCpp)
1121
+ } catch (let __error) {
1122
+ let __exceptionPtr = __error.toCpp()
1123
+ return bridge.create_Result_std__shared_ptr_Promise_NitroBillingProgramReportingDetailsAndroid___(__exceptionPtr)
1124
+ }
1125
+ }
1126
+
1127
+ @inline(__always)
1128
+ public final func launchExternalLinkAndroid(params: NitroLaunchExternalLinkParamsAndroid) -> bridge.Result_std__shared_ptr_Promise_bool___ {
1129
+ do {
1130
+ let __result = try self.__implementation.launchExternalLinkAndroid(params: params)
1131
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_bool__ in
1132
+ let __promise = bridge.create_std__shared_ptr_Promise_bool__()
1133
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_bool__(__promise)
1134
+ __result
1135
+ .then({ __result in __promiseHolder.resolve(__result) })
1136
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
1137
+ return __promise
1138
+ }()
1139
+ return bridge.create_Result_std__shared_ptr_Promise_bool___(__resultCpp)
1140
+ } catch (let __error) {
1141
+ let __exceptionPtr = __error.toCpp()
1142
+ return bridge.create_Result_std__shared_ptr_Promise_bool___(__exceptionPtr)
1143
+ }
1144
+ }
1145
+
1078
1146
  @inline(__always)
1079
1147
  public final func canPresentExternalPurchaseNoticeIOS() -> bridge.Result_std__shared_ptr_Promise_bool___ {
1080
1148
  do {
@@ -0,0 +1,46 @@
1
+ ///
2
+ /// NitroBillingProgramAvailabilityResultAndroid.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 `NitroBillingProgramAvailabilityResultAndroid`, backed by a C++ struct.
12
+ */
13
+ public typealias NitroBillingProgramAvailabilityResultAndroid = margelo.nitro.iap.NitroBillingProgramAvailabilityResultAndroid
14
+
15
+ public extension NitroBillingProgramAvailabilityResultAndroid {
16
+ private typealias bridge = margelo.nitro.iap.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `NitroBillingProgramAvailabilityResultAndroid`.
20
+ */
21
+ init(billingProgram: BillingProgramAndroid, isAvailable: Bool) {
22
+ self.init(billingProgram, isAvailable)
23
+ }
24
+
25
+ var billingProgram: BillingProgramAndroid {
26
+ @inline(__always)
27
+ get {
28
+ return self.__billingProgram
29
+ }
30
+ @inline(__always)
31
+ set {
32
+ self.__billingProgram = newValue
33
+ }
34
+ }
35
+
36
+ var isAvailable: Bool {
37
+ @inline(__always)
38
+ get {
39
+ return self.__isAvailable
40
+ }
41
+ @inline(__always)
42
+ set {
43
+ self.__isAvailable = newValue
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,46 @@
1
+ ///
2
+ /// NitroBillingProgramReportingDetailsAndroid.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 `NitroBillingProgramReportingDetailsAndroid`, backed by a C++ struct.
12
+ */
13
+ public typealias NitroBillingProgramReportingDetailsAndroid = margelo.nitro.iap.NitroBillingProgramReportingDetailsAndroid
14
+
15
+ public extension NitroBillingProgramReportingDetailsAndroid {
16
+ private typealias bridge = margelo.nitro.iap.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `NitroBillingProgramReportingDetailsAndroid`.
20
+ */
21
+ init(billingProgram: BillingProgramAndroid, externalTransactionToken: String) {
22
+ self.init(billingProgram, std.string(externalTransactionToken))
23
+ }
24
+
25
+ var billingProgram: BillingProgramAndroid {
26
+ @inline(__always)
27
+ get {
28
+ return self.__billingProgram
29
+ }
30
+ @inline(__always)
31
+ set {
32
+ self.__billingProgram = newValue
33
+ }
34
+ }
35
+
36
+ var externalTransactionToken: String {
37
+ @inline(__always)
38
+ get {
39
+ return String(self.__externalTransactionToken)
40
+ }
41
+ @inline(__always)
42
+ set {
43
+ self.__externalTransactionToken = std.string(newValue)
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,46 @@
1
+ ///
2
+ /// NitroDiscountAmountAndroid.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 `NitroDiscountAmountAndroid`, backed by a C++ struct.
12
+ */
13
+ public typealias NitroDiscountAmountAndroid = margelo.nitro.iap.NitroDiscountAmountAndroid
14
+
15
+ public extension NitroDiscountAmountAndroid {
16
+ private typealias bridge = margelo.nitro.iap.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `NitroDiscountAmountAndroid`.
20
+ */
21
+ init(discountAmountMicros: String, formattedDiscountAmount: String) {
22
+ self.init(std.string(discountAmountMicros), std.string(formattedDiscountAmount))
23
+ }
24
+
25
+ var discountAmountMicros: String {
26
+ @inline(__always)
27
+ get {
28
+ return String(self.__discountAmountMicros)
29
+ }
30
+ @inline(__always)
31
+ set {
32
+ self.__discountAmountMicros = std.string(newValue)
33
+ }
34
+ }
35
+
36
+ var formattedDiscountAmount: String {
37
+ @inline(__always)
38
+ get {
39
+ return String(self.__formattedDiscountAmount)
40
+ }
41
+ @inline(__always)
42
+ set {
43
+ self.__formattedDiscountAmount = std.string(newValue)
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,70 @@
1
+ ///
2
+ /// NitroDiscountDisplayInfoAndroid.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 `NitroDiscountDisplayInfoAndroid`, backed by a C++ struct.
12
+ */
13
+ public typealias NitroDiscountDisplayInfoAndroid = margelo.nitro.iap.NitroDiscountDisplayInfoAndroid
14
+
15
+ public extension NitroDiscountDisplayInfoAndroid {
16
+ private typealias bridge = margelo.nitro.iap.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `NitroDiscountDisplayInfoAndroid`.
20
+ */
21
+ init(discountAmount: NitroDiscountAmountAndroid?, percentageDiscount: Double?) {
22
+ self.init({ () -> bridge.std__optional_NitroDiscountAmountAndroid_ in
23
+ if let __unwrappedValue = discountAmount {
24
+ return bridge.create_std__optional_NitroDiscountAmountAndroid_(__unwrappedValue)
25
+ } else {
26
+ return .init()
27
+ }
28
+ }(), { () -> bridge.std__optional_double_ in
29
+ if let __unwrappedValue = percentageDiscount {
30
+ return bridge.create_std__optional_double_(__unwrappedValue)
31
+ } else {
32
+ return .init()
33
+ }
34
+ }())
35
+ }
36
+
37
+ var discountAmount: NitroDiscountAmountAndroid? {
38
+ @inline(__always)
39
+ get {
40
+ return self.__discountAmount.value
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__discountAmount = { () -> bridge.std__optional_NitroDiscountAmountAndroid_ in
45
+ if let __unwrappedValue = newValue {
46
+ return bridge.create_std__optional_NitroDiscountAmountAndroid_(__unwrappedValue)
47
+ } else {
48
+ return .init()
49
+ }
50
+ }()
51
+ }
52
+ }
53
+
54
+ var percentageDiscount: Double? {
55
+ @inline(__always)
56
+ get {
57
+ return self.__percentageDiscount.value
58
+ }
59
+ @inline(__always)
60
+ set {
61
+ self.__percentageDiscount = { () -> bridge.std__optional_double_ in
62
+ if let __unwrappedValue = newValue {
63
+ return bridge.create_std__optional_double_(__unwrappedValue)
64
+ } else {
65
+ return .init()
66
+ }
67
+ }()
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,68 @@
1
+ ///
2
+ /// NitroLaunchExternalLinkParamsAndroid.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 `NitroLaunchExternalLinkParamsAndroid`, backed by a C++ struct.
12
+ */
13
+ public typealias NitroLaunchExternalLinkParamsAndroid = margelo.nitro.iap.NitroLaunchExternalLinkParamsAndroid
14
+
15
+ public extension NitroLaunchExternalLinkParamsAndroid {
16
+ private typealias bridge = margelo.nitro.iap.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `NitroLaunchExternalLinkParamsAndroid`.
20
+ */
21
+ init(billingProgram: BillingProgramAndroid, launchMode: ExternalLinkLaunchModeAndroid, linkType: ExternalLinkTypeAndroid, linkUri: String) {
22
+ self.init(billingProgram, launchMode, linkType, std.string(linkUri))
23
+ }
24
+
25
+ var billingProgram: BillingProgramAndroid {
26
+ @inline(__always)
27
+ get {
28
+ return self.__billingProgram
29
+ }
30
+ @inline(__always)
31
+ set {
32
+ self.__billingProgram = newValue
33
+ }
34
+ }
35
+
36
+ var launchMode: ExternalLinkLaunchModeAndroid {
37
+ @inline(__always)
38
+ get {
39
+ return self.__launchMode
40
+ }
41
+ @inline(__always)
42
+ set {
43
+ self.__launchMode = newValue
44
+ }
45
+ }
46
+
47
+ var linkType: ExternalLinkTypeAndroid {
48
+ @inline(__always)
49
+ get {
50
+ return self.__linkType
51
+ }
52
+ @inline(__always)
53
+ set {
54
+ self.__linkType = newValue
55
+ }
56
+ }
57
+
58
+ var linkUri: String {
59
+ @inline(__always)
60
+ get {
61
+ return String(self.__linkUri)
62
+ }
63
+ @inline(__always)
64
+ set {
65
+ self.__linkUri = std.string(newValue)
66
+ }
67
+ }
68
+ }
@@ -0,0 +1,46 @@
1
+ ///
2
+ /// NitroLimitedQuantityInfoAndroid.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 `NitroLimitedQuantityInfoAndroid`, backed by a C++ struct.
12
+ */
13
+ public typealias NitroLimitedQuantityInfoAndroid = margelo.nitro.iap.NitroLimitedQuantityInfoAndroid
14
+
15
+ public extension NitroLimitedQuantityInfoAndroid {
16
+ private typealias bridge = margelo.nitro.iap.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `NitroLimitedQuantityInfoAndroid`.
20
+ */
21
+ init(maximumQuantity: Double, remainingQuantity: Double) {
22
+ self.init(maximumQuantity, remainingQuantity)
23
+ }
24
+
25
+ var maximumQuantity: Double {
26
+ @inline(__always)
27
+ get {
28
+ return self.__maximumQuantity
29
+ }
30
+ @inline(__always)
31
+ set {
32
+ self.__maximumQuantity = newValue
33
+ }
34
+ }
35
+
36
+ var remainingQuantity: Double {
37
+ @inline(__always)
38
+ get {
39
+ return self.__remainingQuantity
40
+ }
41
+ @inline(__always)
42
+ set {
43
+ self.__remainingQuantity = newValue
44
+ }
45
+ }
46
+ }