react-native-iap 16.3.0 → 16.3.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 (55) hide show
  1. package/README.md +2 -2
  2. package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +111 -15
  3. package/ios/HybridRnIap.swift +1 -1
  4. package/lib/module/index.js +51 -6
  5. package/lib/module/index.js.map +1 -1
  6. package/lib/module/index.kepler.js +9 -0
  7. package/lib/module/index.kepler.js.map +1 -1
  8. package/lib/module/kit-api.js +3 -1
  9. package/lib/module/kit-api.js.map +1 -1
  10. package/lib/module/types.js +2 -0
  11. package/lib/module/types.js.map +1 -1
  12. package/lib/module/vega-adapter.js +3 -4
  13. package/lib/module/vega-adapter.js.map +1 -1
  14. package/lib/typescript/src/index.d.ts.map +1 -1
  15. package/lib/typescript/src/index.kepler.d.ts.map +1 -1
  16. package/lib/typescript/src/kit-api.d.ts +119 -2
  17. package/lib/typescript/src/kit-api.d.ts.map +1 -1
  18. package/lib/typescript/src/specs/RnIap.nitro.d.ts +9 -3
  19. package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
  20. package/lib/typescript/src/types.d.ts +33 -9
  21. package/lib/typescript/src/types.d.ts.map +1 -1
  22. package/lib/typescript/src/vega-adapter.d.ts.map +1 -1
  23. package/nitrogen/generated/android/NitroIap+autolinking.cmake +1 -1
  24. package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +8 -4
  25. package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +1 -1
  26. package/nitrogen/generated/android/c++/JNitroPurchaseVerificationResultAndroid.hpp +5 -1
  27. package/nitrogen/generated/android/c++/JNitroPurchaseVerificationResultHorizon.hpp +69 -0
  28. package/nitrogen/generated/android/c++/JVariant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid_NitroPurchaseVerificationResultHorizon.cpp +30 -0
  29. package/nitrogen/generated/android/c++/{JVariant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid.hpp → JVariant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid_NitroPurchaseVerificationResultHorizon.hpp} +33 -16
  30. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +1 -1
  31. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseVerificationResultAndroid.kt +8 -3
  32. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseVerificationResultHorizon.kt +61 -0
  33. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/{Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid.kt → Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid_NitroPurchaseVerificationResultHorizon.kt} +21 -8
  34. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +4 -4
  35. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +43 -34
  36. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +3 -0
  37. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +4 -1
  38. package/nitrogen/generated/ios/swift/{Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_.swift → Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_.swift} +14 -11
  39. package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +1 -1
  40. package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +11 -9
  41. package/nitrogen/generated/ios/swift/NitroPurchaseVerificationResultAndroid.swift +7 -2
  42. package/nitrogen/generated/ios/swift/NitroPurchaseVerificationResultHorizon.swift +71 -0
  43. package/nitrogen/generated/ios/swift/{Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid.swift → Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid_NitroPurchaseVerificationResultHorizon.swift} +6 -4
  44. package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +4 -1
  45. package/nitrogen/generated/shared/c++/NitroPurchaseVerificationResultAndroid.hpp +5 -1
  46. package/nitrogen/generated/shared/c++/NitroPurchaseVerificationResultHorizon.hpp +93 -0
  47. package/openiap-versions.json +3 -3
  48. package/package.json +1 -1
  49. package/src/index.kepler.ts +10 -2
  50. package/src/index.ts +88 -18
  51. package/src/kit-api.ts +125 -4
  52. package/src/specs/RnIap.nitro.ts +12 -2
  53. package/src/types.ts +34 -9
  54. package/src/vega-adapter.ts +6 -11
  55. package/nitrogen/generated/android/c++/JVariant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid.cpp +0 -26
@@ -98,6 +98,8 @@ namespace margelo::nitro::iap { struct NitroPurchaseVerificationGoogleOptions; }
98
98
  namespace margelo::nitro::iap { struct NitroPurchaseVerificationHorizonOptions; }
99
99
  // Forward declaration of `NitroPurchaseVerificationResultAndroid` to properly resolve imports.
100
100
  namespace margelo::nitro::iap { struct NitroPurchaseVerificationResultAndroid; }
101
+ // Forward declaration of `NitroPurchaseVerificationResultHorizon` to properly resolve imports.
102
+ namespace margelo::nitro::iap { struct NitroPurchaseVerificationResultHorizon; }
101
103
  // Forward declaration of `NitroPurchaseVerificationResultIOS` to properly resolve imports.
102
104
  namespace margelo::nitro::iap { struct NitroPurchaseVerificationResultIOS; }
103
105
  // Forward declaration of `NitroPurchase` to properly resolve imports.
@@ -218,6 +220,7 @@ namespace NitroIap { class HybridRnIapSpec_cxx; }
218
220
  #include "NitroPurchaseVerificationGoogleOptions.hpp"
219
221
  #include "NitroPurchaseVerificationHorizonOptions.hpp"
220
222
  #include "NitroPurchaseVerificationResultAndroid.hpp"
223
+ #include "NitroPurchaseVerificationResultHorizon.hpp"
221
224
  #include "NitroPurchaseVerificationResultIOS.hpp"
222
225
  #include "NitroRenewalInfoIOS.hpp"
223
226
  #include "NitroRequestPurchaseAndroid.hpp"
@@ -2444,16 +2447,16 @@ namespace margelo::nitro::iap::bridge::swift {
2444
2447
  return optional.value();
2445
2448
  }
2446
2449
 
2447
- // pragma MARK: std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>
2450
+ // pragma MARK: std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>
2448
2451
  /**
2449
- * Wrapper struct for `std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>`.
2452
+ * Wrapper struct for `std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>`.
2450
2453
  * std::variant cannot be used in Swift because of a Swift bug.
2451
2454
  * Not even specializing it works. So we create a wrapper struct.
2452
2455
  */
2453
- struct std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_ final {
2454
- std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid> variant;
2455
- std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_(std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid> variant): variant(variant) { }
2456
- operator std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>() const noexcept {
2456
+ struct std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_ final {
2457
+ std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon> variant;
2458
+ std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_(std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon> variant): variant(variant) { }
2459
+ operator std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>() const noexcept {
2457
2460
  return variant;
2458
2461
  }
2459
2462
  inline size_t index() const noexcept {
@@ -2465,46 +2468,52 @@ namespace margelo::nitro::iap::bridge::swift {
2465
2468
  inline NitroPurchaseVerificationResultAndroid get_1() const noexcept {
2466
2469
  return std::get<1>(variant);
2467
2470
  }
2471
+ inline NitroPurchaseVerificationResultHorizon get_2() const noexcept {
2472
+ return std::get<2>(variant);
2473
+ }
2468
2474
  };
2469
- inline std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_ create_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_(const NitroPurchaseVerificationResultIOS& value) noexcept {
2470
- return std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_(value);
2475
+ inline std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_ create_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_(const NitroPurchaseVerificationResultIOS& value) noexcept {
2476
+ return std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_(value);
2477
+ }
2478
+ inline std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_ create_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_(const NitroPurchaseVerificationResultAndroid& value) noexcept {
2479
+ return std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_(value);
2471
2480
  }
2472
- inline std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_ create_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_(const NitroPurchaseVerificationResultAndroid& value) noexcept {
2473
- return std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_(value);
2481
+ inline std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_ create_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_(const NitroPurchaseVerificationResultHorizon& value) noexcept {
2482
+ return std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_(value);
2474
2483
  }
2475
2484
 
2476
- // pragma MARK: std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>>
2485
+ // pragma MARK: std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>>
2477
2486
  /**
2478
- * Specialized version of `std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>>`.
2487
+ * Specialized version of `std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>>`.
2479
2488
  */
2480
- using std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid___ = std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>>;
2481
- inline std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>> create_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid___() noexcept {
2482
- return Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>::create();
2489
+ using std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon___ = std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>>;
2490
+ inline std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>> create_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon___() noexcept {
2491
+ return Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>::create();
2483
2492
  }
2484
- inline PromiseHolder<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>> wrap_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid___(std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>> promise) noexcept {
2485
- return PromiseHolder<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>(std::move(promise));
2493
+ inline PromiseHolder<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>> wrap_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon___(std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>> promise) noexcept {
2494
+ return PromiseHolder<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>(std::move(promise));
2486
2495
  }
2487
2496
 
2488
- // pragma MARK: std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>& /* result */)>
2497
+ // pragma MARK: std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>& /* result */)>
2489
2498
  /**
2490
- * Specialized version of `std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>&)>`.
2499
+ * Specialized version of `std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>&)>`.
2491
2500
  */
2492
- using Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_ = std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>& /* result */)>;
2501
+ using Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_ = std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>& /* result */)>;
2493
2502
  /**
2494
- * Wrapper class for a `std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>& / * result * /)>`, this can be used from Swift.
2503
+ * Wrapper class for a `std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>& / * result * /)>`, this can be used from Swift.
2495
2504
  */
2496
- class Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__Wrapper final {
2505
+ class Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon__Wrapper final {
2497
2506
  public:
2498
- explicit Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__Wrapper(std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>& /* result */)>>(std::move(func))) {}
2499
- inline void call(std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid> result) const noexcept {
2507
+ explicit Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon__Wrapper(std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>& /* result */)>>(std::move(func))) {}
2508
+ inline void call(std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon> result) const noexcept {
2500
2509
  _function->operator()(result);
2501
2510
  }
2502
2511
  private:
2503
- std::unique_ptr<std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>& /* result */)>> _function;
2512
+ std::unique_ptr<std::function<void(const std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>& /* result */)>> _function;
2504
2513
  } SWIFT_NONCOPYABLE;
2505
- Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_ create_Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_(void* NON_NULL swiftClosureWrapper) noexcept;
2506
- inline Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__Wrapper wrap_Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_(Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_ value) noexcept {
2507
- return Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__Wrapper(std::move(value));
2514
+ Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_ create_Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_(void* NON_NULL swiftClosureWrapper) noexcept;
2515
+ inline Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon__Wrapper wrap_Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_(Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_ value) noexcept {
2516
+ return Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon__Wrapper(std::move(value));
2508
2517
  }
2509
2518
 
2510
2519
  // pragma MARK: std::variant<nitro::NullType, NitroPurchaseVerificationAppleOptions>
@@ -3649,13 +3658,13 @@ namespace margelo::nitro::iap::bridge::swift {
3649
3658
  return Result<std::shared_ptr<Promise<std::string>>>::withError(error);
3650
3659
  }
3651
3660
 
3652
- // pragma MARK: Result<std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>>>
3653
- using Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid____ = Result<std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>>>;
3654
- inline Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid____ create_Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid____(const std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>>& value) noexcept {
3655
- return Result<std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>>>::withValue(value);
3661
+ // pragma MARK: Result<std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>>>
3662
+ using Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon____ = Result<std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>>>;
3663
+ inline Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon____ create_Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon____(const std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>>& value) noexcept {
3664
+ return Result<std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>>>::withValue(value);
3656
3665
  }
3657
- inline Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid____ create_Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid____(const std::exception_ptr& error) noexcept {
3658
- return Result<std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>>>::withError(error);
3666
+ inline Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon____ create_Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon____(const std::exception_ptr& error) noexcept {
3667
+ return Result<std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>>>::withError(error);
3659
3668
  }
3660
3669
 
3661
3670
  // pragma MARK: Result<std::shared_ptr<Promise<NitroVerifyPurchaseWithProviderResult>>>
@@ -122,6 +122,8 @@ namespace margelo::nitro::iap { struct NitroPurchaseVerificationHorizonOptions;
122
122
  namespace margelo::nitro::iap { struct NitroPurchaseVerificationParams; }
123
123
  // Forward declaration of `NitroPurchaseVerificationResultAndroid` to properly resolve imports.
124
124
  namespace margelo::nitro::iap { struct NitroPurchaseVerificationResultAndroid; }
125
+ // Forward declaration of `NitroPurchaseVerificationResultHorizon` to properly resolve imports.
126
+ namespace margelo::nitro::iap { struct NitroPurchaseVerificationResultHorizon; }
125
127
  // Forward declaration of `NitroPurchaseVerificationResultIOS` to properly resolve imports.
126
128
  namespace margelo::nitro::iap { struct NitroPurchaseVerificationResultIOS; }
127
129
  // Forward declaration of `NitroPurchase` to properly resolve imports.
@@ -252,6 +254,7 @@ namespace margelo::nitro::iap { struct WinBackOfferInputIOS; }
252
254
  #include "NitroPurchaseVerificationHorizonOptions.hpp"
253
255
  #include "NitroPurchaseVerificationParams.hpp"
254
256
  #include "NitroPurchaseVerificationResultAndroid.hpp"
257
+ #include "NitroPurchaseVerificationResultHorizon.hpp"
255
258
  #include "NitroPurchaseVerificationResultIOS.hpp"
256
259
  #include "NitroRenewalInfoIOS.hpp"
257
260
  #include "NitroRequestPurchaseAndroid.hpp"
@@ -108,6 +108,8 @@ namespace margelo::nitro::iap { struct NitroSubscriptionStatus; }
108
108
  namespace margelo::nitro::iap { struct NitroPurchaseVerificationResultIOS; }
109
109
  // Forward declaration of `NitroPurchaseVerificationResultAndroid` to properly resolve imports.
110
110
  namespace margelo::nitro::iap { struct NitroPurchaseVerificationResultAndroid; }
111
+ // Forward declaration of `NitroPurchaseVerificationResultHorizon` to properly resolve imports.
112
+ namespace margelo::nitro::iap { struct NitroPurchaseVerificationResultHorizon; }
111
113
  // Forward declaration of `NitroPurchaseVerificationParams` to properly resolve imports.
112
114
  namespace margelo::nitro::iap { struct NitroPurchaseVerificationParams; }
113
115
  // Forward declaration of `NitroPurchaseVerificationAppleOptions` to properly resolve imports.
@@ -251,6 +253,7 @@ namespace margelo::nitro::iap { enum class ExternalPurchaseCustomLinkNoticeTypeI
251
253
  #include "NitroSubscriptionStatus.hpp"
252
254
  #include "NitroPurchaseVerificationResultIOS.hpp"
253
255
  #include "NitroPurchaseVerificationResultAndroid.hpp"
256
+ #include "NitroPurchaseVerificationResultHorizon.hpp"
254
257
  #include "NitroPurchaseVerificationParams.hpp"
255
258
  #include "NitroPurchaseVerificationAppleOptions.hpp"
256
259
  #include "NitroPurchaseVerificationGoogleOptions.hpp"
@@ -591,7 +594,7 @@ namespace margelo::nitro::iap {
591
594
  auto __value = std::move(__result.value());
592
595
  return __value;
593
596
  }
594
- inline std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>> verifyPurchase(const NitroPurchaseVerificationParams& params) override {
597
+ inline std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>> verifyPurchase(const NitroPurchaseVerificationParams& params) override {
595
598
  auto __result = _swiftPart.verifyPurchase(std::forward<decltype(params)>(params));
596
599
  if (__result.hasError()) [[unlikely]] {
597
600
  std::rethrow_exception(__result.error());
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_.swift
2
+ /// Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © Marc Rousavy @ Margelo
@@ -8,21 +8,21 @@
8
8
  import NitroModules
9
9
 
10
10
  /**
11
- * Wraps a Swift `(_ value: Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid) -> Void` as a class.
11
+ * Wraps a Swift `(_ value: Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid_NitroPurchaseVerificationResultHorizon) -> Void` as a class.
12
12
  * This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
13
13
  */
14
- public final class Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_ {
14
+ public final class Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_ {
15
15
  public typealias bridge = margelo.nitro.iap.bridge.swift
16
16
 
17
- private let closure: (_ value: Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid) -> Void
17
+ private let closure: (_ value: Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid_NitroPurchaseVerificationResultHorizon) -> Void
18
18
 
19
- public init(_ closure: @escaping (_ value: Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid) -> Void) {
19
+ public init(_ closure: @escaping (_ value: Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid_NitroPurchaseVerificationResultHorizon) -> Void) {
20
20
  self.closure = closure
21
21
  }
22
22
 
23
23
  @inline(__always)
24
- public func call(value: bridge.std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_) -> Void {
25
- self.closure({ () -> Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid in
24
+ public func call(value: bridge.std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_) -> Void {
25
+ self.closure({ () -> Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid_NitroPurchaseVerificationResultHorizon in
26
26
  let __variant = value
27
27
  switch __variant.index() {
28
28
  case 0:
@@ -31,6 +31,9 @@ public final class Func_void_std__variant_NitroPurchaseVerificationResultIOS__Ni
31
31
  case 1:
32
32
  let __actual = __variant.get_1()
33
33
  return .second(__actual)
34
+ case 2:
35
+ let __actual = __variant.get_2()
36
+ return .third(__actual)
34
37
  default:
35
38
  fatalError("Variant can never have index \(__variant.index())!")
36
39
  }
@@ -47,12 +50,12 @@ public final class Func_void_std__variant_NitroPurchaseVerificationResultIOS__Ni
47
50
  }
48
51
 
49
52
  /**
50
- * Casts an unsafe pointer to a `Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_`.
51
- * The pointer has to be a retained opaque `Unmanaged<Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_>`.
53
+ * Casts an unsafe pointer to a `Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_`.
54
+ * The pointer has to be a retained opaque `Unmanaged<Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_>`.
52
55
  * This removes one strong reference from the object!
53
56
  */
54
57
  @inline(__always)
55
- public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_ {
56
- return Unmanaged<Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_>.fromOpaque(pointer).takeRetainedValue()
58
+ public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_ {
59
+ return Unmanaged<Func_void_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_>.fromOpaque(pointer).takeRetainedValue()
57
60
  }
58
61
  }
@@ -45,7 +45,7 @@ public protocol HybridRnIapSpec_protocol: HybridObject {
45
45
  func requestReceiptRefreshIOS() throws -> Promise<String>
46
46
  func isTransactionVerifiedIOS(sku: String) throws -> Promise<Bool>
47
47
  func getTransactionJwsIOS(sku: String) throws -> Promise<Variant_NullType_String>
48
- func verifyPurchase(params: NitroPurchaseVerificationParams) throws -> Promise<Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid>
48
+ func verifyPurchase(params: NitroPurchaseVerificationParams) throws -> Promise<Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid_NitroPurchaseVerificationResultHorizon>
49
49
  func verifyPurchaseWithProvider(params: NitroVerifyPurchaseWithProviderProps) throws -> Promise<NitroVerifyPurchaseWithProviderResult>
50
50
  func getStorefront() throws -> Promise<String>
51
51
  func deepLinkToSubscriptionsAndroid(options: NitroDeepLinkOptionsAndroid) throws -> Promise<Void>
@@ -873,28 +873,30 @@ open class HybridRnIapSpec_cxx {
873
873
  }
874
874
 
875
875
  @inline(__always)
876
- public final func verifyPurchase(params: NitroPurchaseVerificationParams) -> bridge.Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid____ {
876
+ public final func verifyPurchase(params: NitroPurchaseVerificationParams) -> bridge.Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon____ {
877
877
  do {
878
878
  let __result = try self.__implementation.verifyPurchase(params: params)
879
- let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid___ in
880
- let __promise = bridge.create_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid___()
881
- let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid___(__promise)
879
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon___ in
880
+ let __promise = bridge.create_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon___()
881
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon___(__promise)
882
882
  __result
883
- .then({ __result in __promiseHolder.resolve({ () -> bridge.std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_ in
883
+ .then({ __result in __promiseHolder.resolve({ () -> bridge.std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_ in
884
884
  switch __result {
885
885
  case .first(let __value):
886
- return bridge.create_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_(__value)
886
+ return bridge.create_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_(__value)
887
887
  case .second(let __value):
888
- return bridge.create_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid_(__value)
888
+ return bridge.create_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_(__value)
889
+ case .third(let __value):
890
+ return bridge.create_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon_(__value)
889
891
  }
890
892
  }().variant) })
891
893
  .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
892
894
  return __promise
893
895
  }()
894
- return bridge.create_Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid____(__resultCpp)
896
+ return bridge.create_Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon____(__resultCpp)
895
897
  } catch (let __error) {
896
898
  let __exceptionPtr = __error.toCpp()
897
- return bridge.create_Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid____(__exceptionPtr)
899
+ return bridge.create_Result_std__shared_ptr_Promise_std__variant_NitroPurchaseVerificationResultIOS__NitroPurchaseVerificationResultAndroid__NitroPurchaseVerificationResultHorizon____(__exceptionPtr)
898
900
  }
899
901
  }
900
902
 
@@ -18,8 +18,8 @@ public extension NitroPurchaseVerificationResultAndroid {
18
18
  /**
19
19
  * Create a new instance of `NitroPurchaseVerificationResultAndroid`.
20
20
  */
21
- init(autoRenewing: Bool, betaProduct: Bool, cancelDate: Variant_NullType_Double?, cancelReason: Variant_NullType_String?, deferredDate: Variant_NullType_Double?, deferredSku: Variant_NullType_String?, freeTrialEndDate: Double, gracePeriodEndDate: Double, parentProductId: String, productId: String, productType: String, purchaseDate: Double, quantity: Double, receiptId: String, renewalDate: Double, term: String, termSku: String, testTransaction: Bool) {
22
- self.init(autoRenewing, betaProduct, { () -> bridge.std__optional_std__variant_nitro__NullType__double__ in
21
+ init(isValid: Bool, autoRenewing: Bool, betaProduct: Bool, cancelDate: Variant_NullType_Double?, cancelReason: Variant_NullType_String?, deferredDate: Variant_NullType_Double?, deferredSku: Variant_NullType_String?, freeTrialEndDate: Double, gracePeriodEndDate: Double, parentProductId: String, productId: String, productType: String, purchaseDate: Double, quantity: Double, receiptId: String, renewalDate: Double, term: String, termSku: String, testTransaction: Bool) {
22
+ self.init(isValid, autoRenewing, betaProduct, { () -> bridge.std__optional_std__variant_nitro__NullType__double__ in
23
23
  if let __unwrappedValue = cancelDate {
24
24
  return bridge.create_std__optional_std__variant_nitro__NullType__double__({ () -> bridge.std__variant_nitro__NullType__double_ in
25
25
  switch __unwrappedValue {
@@ -74,6 +74,11 @@ public extension NitroPurchaseVerificationResultAndroid {
74
74
  }(), freeTrialEndDate, gracePeriodEndDate, std.string(parentProductId), std.string(productId), std.string(productType), purchaseDate, quantity, std.string(receiptId), renewalDate, std.string(term), std.string(termSku), testTransaction)
75
75
  }
76
76
 
77
+ @inline(__always)
78
+ var isValid: Bool {
79
+ return self.__isValid
80
+ }
81
+
77
82
  @inline(__always)
78
83
  var autoRenewing: Bool {
79
84
  return self.__autoRenewing
@@ -0,0 +1,71 @@
1
+ ///
2
+ /// NitroPurchaseVerificationResultHorizon.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * Represents an instance of `NitroPurchaseVerificationResultHorizon`, backed by a C++ struct.
12
+ */
13
+ public typealias NitroPurchaseVerificationResultHorizon = margelo.nitro.iap.NitroPurchaseVerificationResultHorizon
14
+
15
+ public extension NitroPurchaseVerificationResultHorizon {
16
+ private typealias bridge = margelo.nitro.iap.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `NitroPurchaseVerificationResultHorizon`.
20
+ */
21
+ init(isValid: Bool, grantTime: Variant_NullType_Double?, success: Bool) {
22
+ self.init(isValid, { () -> bridge.std__optional_std__variant_nitro__NullType__double__ in
23
+ if let __unwrappedValue = grantTime {
24
+ return bridge.create_std__optional_std__variant_nitro__NullType__double__({ () -> bridge.std__variant_nitro__NullType__double_ in
25
+ switch __unwrappedValue {
26
+ case .first(let __value):
27
+ return bridge.create_std__variant_nitro__NullType__double_(margelo.nitro.NullType.null)
28
+ case .second(let __value):
29
+ return bridge.create_std__variant_nitro__NullType__double_(__value)
30
+ }
31
+ }().variant)
32
+ } else {
33
+ return .init()
34
+ }
35
+ }(), success)
36
+ }
37
+
38
+ @inline(__always)
39
+ var isValid: Bool {
40
+ return self.__isValid
41
+ }
42
+
43
+ @inline(__always)
44
+ var grantTime: Variant_NullType_Double? {
45
+ return { () -> Variant_NullType_Double? in
46
+ if bridge.has_value_std__optional_std__variant_nitro__NullType__double__(self.__grantTime) {
47
+ let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__double__(self.__grantTime)
48
+ return { () -> Variant_NullType_Double in
49
+ let __variant = bridge.std__variant_nitro__NullType__double_(__unwrapped)
50
+ switch __variant.index() {
51
+ case 0:
52
+ let __actual = __variant.get_0()
53
+ return .first(NullType.null)
54
+ case 1:
55
+ let __actual = __variant.get_1()
56
+ return .second(__actual)
57
+ default:
58
+ fatalError("Variant can never have index \(__variant.index())!")
59
+ }
60
+ }()
61
+ } else {
62
+ return nil
63
+ }
64
+ }()
65
+ }
66
+
67
+ @inline(__always)
68
+ var success: Bool {
69
+ return self.__success
70
+ }
71
+ }
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid.swift
2
+ /// Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid_NitroPurchaseVerificationResultHorizon.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © Marc Rousavy @ Margelo
@@ -9,19 +9,21 @@
9
9
 
10
10
  /**
11
11
  * An Swift enum with associated values representing a Variant/Union type.
12
- * JS type: `struct | struct`
12
+ * JS type: `struct | struct | struct`
13
13
  */
14
14
  @frozen
15
- public indirect enum Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid {
15
+ public indirect enum Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid_NitroPurchaseVerificationResultHorizon {
16
16
  case first(NitroPurchaseVerificationResultIOS)
17
17
  case second(NitroPurchaseVerificationResultAndroid)
18
+ case third(NitroPurchaseVerificationResultHorizon)
18
19
  }
19
20
 
20
- public extension Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid {
21
+ public extension Variant_NitroPurchaseVerificationResultIOS_NitroPurchaseVerificationResultAndroid_NitroPurchaseVerificationResultHorizon {
21
22
  func asType<T>(_ type: T.Type = T.self) -> T? {
22
23
  switch self {
23
24
  case .first(let value): return value as? T
24
25
  case .second(let value): return value as? T
26
+ case .third(let value): return value as? T
25
27
  }
26
28
  }
27
29
  func isType<T>(_ type: T.Type = T.self) -> Bool {
@@ -41,6 +41,8 @@ namespace margelo::nitro::iap { struct NitroSubscriptionStatus; }
41
41
  namespace margelo::nitro::iap { struct NitroPurchaseVerificationResultIOS; }
42
42
  // Forward declaration of `NitroPurchaseVerificationResultAndroid` to properly resolve imports.
43
43
  namespace margelo::nitro::iap { struct NitroPurchaseVerificationResultAndroid; }
44
+ // Forward declaration of `NitroPurchaseVerificationResultHorizon` to properly resolve imports.
45
+ namespace margelo::nitro::iap { struct NitroPurchaseVerificationResultHorizon; }
44
46
  // Forward declaration of `NitroPurchaseVerificationParams` to properly resolve imports.
45
47
  namespace margelo::nitro::iap { struct NitroPurchaseVerificationParams; }
46
48
  // Forward declaration of `NitroVerifyPurchaseWithProviderResult` to properly resolve imports.
@@ -109,6 +111,7 @@ namespace margelo::nitro::iap { enum class ExternalPurchaseCustomLinkNoticeTypeI
109
111
  #include "NitroSubscriptionStatus.hpp"
110
112
  #include "NitroPurchaseVerificationResultIOS.hpp"
111
113
  #include "NitroPurchaseVerificationResultAndroid.hpp"
114
+ #include "NitroPurchaseVerificationResultHorizon.hpp"
112
115
  #include "NitroPurchaseVerificationParams.hpp"
113
116
  #include "NitroVerifyPurchaseWithProviderResult.hpp"
114
117
  #include "NitroVerifyPurchaseWithProviderProps.hpp"
@@ -196,7 +199,7 @@ namespace margelo::nitro::iap {
196
199
  virtual std::shared_ptr<Promise<std::string>> requestReceiptRefreshIOS() = 0;
197
200
  virtual std::shared_ptr<Promise<bool>> isTransactionVerifiedIOS(const std::string& sku) = 0;
198
201
  virtual std::shared_ptr<Promise<std::variant<nitro::NullType, std::string>>> getTransactionJwsIOS(const std::string& sku) = 0;
199
- virtual std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid>>> verifyPurchase(const NitroPurchaseVerificationParams& params) = 0;
202
+ virtual std::shared_ptr<Promise<std::variant<NitroPurchaseVerificationResultIOS, NitroPurchaseVerificationResultAndroid, NitroPurchaseVerificationResultHorizon>>> verifyPurchase(const NitroPurchaseVerificationParams& params) = 0;
200
203
  virtual std::shared_ptr<Promise<NitroVerifyPurchaseWithProviderResult>> verifyPurchaseWithProvider(const NitroVerifyPurchaseWithProviderProps& params) = 0;
201
204
  virtual std::shared_ptr<Promise<std::string>> getStorefront() = 0;
202
205
  virtual std::shared_ptr<Promise<void>> deepLinkToSubscriptionsAndroid(const NitroDeepLinkOptionsAndroid& options) = 0;
@@ -42,6 +42,7 @@ namespace margelo::nitro::iap {
42
42
  */
43
43
  struct NitroPurchaseVerificationResultAndroid final {
44
44
  public:
45
+ bool isValid SWIFT_PRIVATE;
45
46
  bool autoRenewing SWIFT_PRIVATE;
46
47
  bool betaProduct SWIFT_PRIVATE;
47
48
  std::optional<std::variant<nitro::NullType, double>> cancelDate SWIFT_PRIVATE;
@@ -63,7 +64,7 @@ namespace margelo::nitro::iap {
63
64
 
64
65
  public:
65
66
  NitroPurchaseVerificationResultAndroid() = default;
66
- explicit NitroPurchaseVerificationResultAndroid(bool autoRenewing, bool betaProduct, std::optional<std::variant<nitro::NullType, double>> cancelDate, std::optional<std::variant<nitro::NullType, std::string>> cancelReason, std::optional<std::variant<nitro::NullType, double>> deferredDate, std::optional<std::variant<nitro::NullType, std::string>> deferredSku, double freeTrialEndDate, double gracePeriodEndDate, std::string parentProductId, std::string productId, std::string productType, double purchaseDate, double quantity, std::string receiptId, double renewalDate, std::string term, std::string termSku, bool testTransaction): autoRenewing(autoRenewing), betaProduct(betaProduct), cancelDate(cancelDate), cancelReason(cancelReason), deferredDate(deferredDate), deferredSku(deferredSku), freeTrialEndDate(freeTrialEndDate), gracePeriodEndDate(gracePeriodEndDate), parentProductId(parentProductId), productId(productId), productType(productType), purchaseDate(purchaseDate), quantity(quantity), receiptId(receiptId), renewalDate(renewalDate), term(term), termSku(termSku), testTransaction(testTransaction) {}
67
+ explicit NitroPurchaseVerificationResultAndroid(bool isValid, bool autoRenewing, bool betaProduct, std::optional<std::variant<nitro::NullType, double>> cancelDate, std::optional<std::variant<nitro::NullType, std::string>> cancelReason, std::optional<std::variant<nitro::NullType, double>> deferredDate, std::optional<std::variant<nitro::NullType, std::string>> deferredSku, double freeTrialEndDate, double gracePeriodEndDate, std::string parentProductId, std::string productId, std::string productType, double purchaseDate, double quantity, std::string receiptId, double renewalDate, std::string term, std::string termSku, bool testTransaction): isValid(isValid), autoRenewing(autoRenewing), betaProduct(betaProduct), cancelDate(cancelDate), cancelReason(cancelReason), deferredDate(deferredDate), deferredSku(deferredSku), freeTrialEndDate(freeTrialEndDate), gracePeriodEndDate(gracePeriodEndDate), parentProductId(parentProductId), productId(productId), productType(productType), purchaseDate(purchaseDate), quantity(quantity), receiptId(receiptId), renewalDate(renewalDate), term(term), termSku(termSku), testTransaction(testTransaction) {}
67
68
 
68
69
  public:
69
70
  friend bool operator==(const NitroPurchaseVerificationResultAndroid& lhs, const NitroPurchaseVerificationResultAndroid& rhs) = default;
@@ -79,6 +80,7 @@ namespace margelo::nitro {
79
80
  static inline margelo::nitro::iap::NitroPurchaseVerificationResultAndroid fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
80
81
  jsi::Object obj = arg.asObject(runtime);
81
82
  return margelo::nitro::iap::NitroPurchaseVerificationResultAndroid(
83
+ JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isValid"))),
82
84
  JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "autoRenewing"))),
83
85
  JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "betaProduct"))),
84
86
  JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "cancelDate"))),
@@ -101,6 +103,7 @@ namespace margelo::nitro {
101
103
  }
102
104
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::iap::NitroPurchaseVerificationResultAndroid& arg) {
103
105
  jsi::Object obj(runtime);
106
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "isValid"), JSIConverter<bool>::toJSI(runtime, arg.isValid));
104
107
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "autoRenewing"), JSIConverter<bool>::toJSI(runtime, arg.autoRenewing));
105
108
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "betaProduct"), JSIConverter<bool>::toJSI(runtime, arg.betaProduct));
106
109
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "cancelDate"), JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::toJSI(runtime, arg.cancelDate));
@@ -129,6 +132,7 @@ namespace margelo::nitro {
129
132
  if (!nitro::isPlainObject(runtime, obj)) {
130
133
  return false;
131
134
  }
135
+ if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isValid")))) return false;
132
136
  if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "autoRenewing")))) return false;
133
137
  if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "betaProduct")))) return false;
134
138
  if (!JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "cancelDate")))) return false;
@@ -0,0 +1,93 @@
1
+ ///
2
+ /// NitroPurchaseVerificationResultHorizon.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
30
+
31
+
32
+
33
+ #include <NitroModules/Null.hpp>
34
+ #include <variant>
35
+ #include <optional>
36
+
37
+ namespace margelo::nitro::iap {
38
+
39
+ /**
40
+ * A struct which can be represented as a JavaScript object (NitroPurchaseVerificationResultHorizon).
41
+ */
42
+ struct NitroPurchaseVerificationResultHorizon final {
43
+ public:
44
+ bool isValid SWIFT_PRIVATE;
45
+ std::optional<std::variant<nitro::NullType, double>> grantTime SWIFT_PRIVATE;
46
+ bool success SWIFT_PRIVATE;
47
+
48
+ public:
49
+ NitroPurchaseVerificationResultHorizon() = default;
50
+ explicit NitroPurchaseVerificationResultHorizon(bool isValid, std::optional<std::variant<nitro::NullType, double>> grantTime, bool success): isValid(isValid), grantTime(grantTime), success(success) {}
51
+
52
+ public:
53
+ friend bool operator==(const NitroPurchaseVerificationResultHorizon& lhs, const NitroPurchaseVerificationResultHorizon& rhs) = default;
54
+ };
55
+
56
+ } // namespace margelo::nitro::iap
57
+
58
+ namespace margelo::nitro {
59
+
60
+ // C++ NitroPurchaseVerificationResultHorizon <> JS NitroPurchaseVerificationResultHorizon (object)
61
+ template <>
62
+ struct JSIConverter<margelo::nitro::iap::NitroPurchaseVerificationResultHorizon> final {
63
+ static inline margelo::nitro::iap::NitroPurchaseVerificationResultHorizon fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
64
+ jsi::Object obj = arg.asObject(runtime);
65
+ return margelo::nitro::iap::NitroPurchaseVerificationResultHorizon(
66
+ JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isValid"))),
67
+ JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "grantTime"))),
68
+ JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "success")))
69
+ );
70
+ }
71
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::iap::NitroPurchaseVerificationResultHorizon& arg) {
72
+ jsi::Object obj(runtime);
73
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "isValid"), JSIConverter<bool>::toJSI(runtime, arg.isValid));
74
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "grantTime"), JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::toJSI(runtime, arg.grantTime));
75
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "success"), JSIConverter<bool>::toJSI(runtime, arg.success));
76
+ return obj;
77
+ }
78
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
79
+ if (!value.isObject()) {
80
+ return false;
81
+ }
82
+ jsi::Object obj = value.getObject(runtime);
83
+ if (!nitro::isPlainObject(runtime, obj)) {
84
+ return false;
85
+ }
86
+ if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isValid")))) return false;
87
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "grantTime")))) return false;
88
+ if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "success")))) return false;
89
+ return true;
90
+ }
91
+ };
92
+
93
+ } // namespace margelo::nitro
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "3.2.0",
3
- "google": "3.3.0",
4
- "apple": "3.2.0"
2
+ "spec": "3.2.1",
3
+ "google": "3.3.1",
4
+ "apple": "3.2.1"
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-iap",
3
- "version": "16.3.0",
3
+ "version": "16.3.1",
4
4
  "description": "React Native In-App Purchases module for iOS and Android using Nitro",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",