react-native-iap 12.10.8 → 12.12.0

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 (72) hide show
  1. package/README.md +11 -8
  2. package/android/gradle.properties +2 -2
  3. package/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonListener.kt +17 -0
  4. package/android/src/main/java/com/dooboolab/rniap/PromiseUtils.kt +1 -0
  5. package/ios/IapSerializationUtils.swift +26 -4
  6. package/ios/RNIapIosSk2.swift +66 -21
  7. package/lib/commonjs/eventEmitter.js +3 -0
  8. package/lib/commonjs/eventEmitter.js.map +1 -1
  9. package/lib/commonjs/hooks/useIAP.js +11 -14
  10. package/lib/commonjs/hooks/useIAP.js.map +1 -1
  11. package/lib/commonjs/hooks/withIAPContext.js +11 -7
  12. package/lib/commonjs/hooks/withIAPContext.js.map +1 -1
  13. package/lib/commonjs/iap.js +60 -71
  14. package/lib/commonjs/iap.js.map +1 -1
  15. package/lib/commonjs/internal/enhancedFetch.js.map +1 -1
  16. package/lib/commonjs/internal/fillProductsWithAdditionalData.js +5 -0
  17. package/lib/commonjs/internal/fillProductsWithAdditionalData.js.map +1 -1
  18. package/lib/commonjs/internal/platform.js +5 -8
  19. package/lib/commonjs/internal/platform.js.map +1 -1
  20. package/lib/commonjs/modules/amazon.js +12 -15
  21. package/lib/commonjs/modules/amazon.js.map +1 -1
  22. package/lib/commonjs/modules/android.js +15 -19
  23. package/lib/commonjs/modules/android.js.map +1 -1
  24. package/lib/commonjs/modules/ios.js +7 -9
  25. package/lib/commonjs/modules/ios.js.map +1 -1
  26. package/lib/commonjs/modules/iosSk2.js.map +1 -1
  27. package/lib/commonjs/purchaseError.js +1 -2
  28. package/lib/commonjs/purchaseError.js.map +1 -1
  29. package/lib/commonjs/types/android.js +5 -10
  30. package/lib/commonjs/types/android.js.map +1 -1
  31. package/lib/commonjs/types/apple.js.map +1 -1
  32. package/lib/commonjs/types/appleSk2.js +54 -36
  33. package/lib/commonjs/types/appleSk2.js.map +1 -1
  34. package/lib/commonjs/types/index.js +22 -13
  35. package/lib/commonjs/types/index.js.map +1 -1
  36. package/lib/module/eventEmitter.js +4 -1
  37. package/lib/module/eventEmitter.js.map +1 -1
  38. package/lib/module/hooks/useIAP.js +11 -14
  39. package/lib/module/hooks/useIAP.js.map +1 -1
  40. package/lib/module/hooks/withIAPContext.js +9 -5
  41. package/lib/module/hooks/withIAPContext.js.map +1 -1
  42. package/lib/module/iap.js +58 -69
  43. package/lib/module/iap.js.map +1 -1
  44. package/lib/module/internal/enhancedFetch.js.map +1 -1
  45. package/lib/module/internal/fillProductsWithAdditionalData.js +5 -0
  46. package/lib/module/internal/fillProductsWithAdditionalData.js.map +1 -1
  47. package/lib/module/internal/platform.js.map +1 -1
  48. package/lib/module/modules/amazon.js +12 -13
  49. package/lib/module/modules/amazon.js.map +1 -1
  50. package/lib/module/modules/android.js +14 -17
  51. package/lib/module/modules/android.js.map +1 -1
  52. package/lib/module/modules/ios.js +7 -9
  53. package/lib/module/modules/ios.js.map +1 -1
  54. package/lib/module/modules/iosSk2.js.map +1 -1
  55. package/lib/module/types/apple.js.map +1 -1
  56. package/lib/module/types/appleSk2.js +55 -36
  57. package/lib/module/types/appleSk2.js.map +1 -1
  58. package/lib/module/types/index.js +19 -0
  59. package/lib/module/types/index.js.map +1 -1
  60. package/lib/typescript/src/eventEmitter.d.ts.map +1 -1
  61. package/lib/typescript/src/hooks/withIAPContext.d.ts.map +1 -1
  62. package/lib/typescript/src/internal/fillProductsWithAdditionalData.d.ts.map +1 -1
  63. package/lib/typescript/src/types/appleSk2.d.ts +17 -3
  64. package/lib/typescript/src/types/appleSk2.d.ts.map +1 -1
  65. package/lib/typescript/src/types/index.d.ts +6 -0
  66. package/lib/typescript/src/types/index.d.ts.map +1 -1
  67. package/package.json +2 -2
  68. package/src/eventEmitter.ts +11 -1
  69. package/src/hooks/withIAPContext.tsx +1 -0
  70. package/src/internal/fillProductsWithAdditionalData.ts +3 -0
  71. package/src/types/appleSk2.ts +32 -3
  72. package/src/types/index.ts +7 -0
package/README.md CHANGED
@@ -46,20 +46,23 @@ Read the [documentation](https://react-native-iap.dooboolab.com). See the [troub
46
46
 
47
47
  Follow [this guide](./IapExample/README.md) to get the example running.
48
48
 
49
- ## Acknowledgements
49
+ ## Sponsors
50
50
 
51
- If you're looking for a module going further than `react-native-iap`, we recommend using [react-native-iaphub](https://github.com/iaphub/react-native-iaphub) which is taking care of everything from the client-side to the server-side.
51
+ ### Silver Tier
52
52
 
53
- ## Sponsoring
53
+ | [Revenuecat](https://www.revenuecat.com) |
54
+ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
55
+ | <a href="https://www.revenuecat.com"><img src="https://github.com/dooboolab-community/react-native-iap/assets/27461460/1e387a47-afe0-4b85-ad78-1064ca6623fa" width="300"/></a> |
54
56
 
55
- Since `IAP` itself is not perfect on each platform, we desperately need
56
- this project to be maintained. If you'd like to help us, please consider being
57
- with us in [Open Collective](https://opencollective.com/react-native-iap).
57
+ ### Bronze Tier
58
58
 
59
- ### Sponsors
59
+ | [NAMI](https://namiml.com) |
60
+ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
61
+ | <a href="https://namiml.com"><img src="https://github.com/dooboolab-community/react-native-iap/assets/27461460/89d71f61-bb73-400a-83bd-fe0f96eb726e" width="150"/></a> |
60
62
 
61
63
  Support this project by becoming a sponsor. Your logo will show up here with
62
- a link to your website. [Become a sponsor](https://opencollective.com/react-native-iap#sponsor).
64
+ a link to your website. [Buy me a coffee](https://www.buymeacoffee.com/dooboolab) or
65
+ [Become a sponsor](https://opencollective.com/react-native-iap#sponsor).
63
66
  <a href="https://opencollective.com/react-native-iap#sponsors" target="_blank"><img src="https://opencollective.com/react-native-iap/sponsors.svg?width=890" /></a>
64
67
 
65
68
  ### Backers
@@ -5,8 +5,8 @@ RNIap_compileSdkVersion=31
5
5
  RNIap_buildToolsVersion=30.0.2
6
6
  RNIap_ndkversion=21.4.7075529
7
7
  RNIap_playServicesVersion=18.1.0
8
- RNIap_amazonSdkVersion=3.0.3
9
- RNIap_playBillingSdkVersion=5.2.1
8
+ RNIap_amazonSdkVersion=3.0.4
9
+ RNIap_playBillingSdkVersion=6.0.1
10
10
 
11
11
  android.useAndroidX=true
12
12
  android.enableJetifier=true
@@ -255,6 +255,23 @@ class RNIapAmazonListener(
255
255
  null,
256
256
  )
257
257
  }
258
+ PurchaseResponse.RequestStatus.PENDING -> {
259
+ val error = Arguments.createMap()
260
+ val debugMessage = "Purchase is pending. Please wait for the transaction to complete."
261
+ val errorCode = PromiseUtils.E_PENDING
262
+ error.putInt("responseCode", 0)
263
+ error.putString("code", errorCode)
264
+ error.putString("debugMessage", debugMessage)
265
+ error.putString("message", debugMessage)
266
+ eventSender?.sendEvent("purchase-error", error)
267
+ PromiseUtils
268
+ .rejectPromisesForKey(
269
+ RNIapAmazonModule.PROMISE_BUY_ITEM,
270
+ errorCode,
271
+ debugMessage,
272
+ null,
273
+ )
274
+ }
258
275
  PurchaseResponse.RequestStatus.NOT_SUPPORTED -> {
259
276
  val error = Arguments.createMap()
260
277
  val debugMessage = "This feature is not available on your device."
@@ -40,6 +40,7 @@ object PromiseUtils {
40
40
  const val E_UNKNOWN = "E_UNKNOWN"
41
41
  const val E_NOT_PREPARED = "E_NOT_PREPARED"
42
42
  const val E_ALREADY_PREPARED = "E_ALREADY_PREPARED"
43
+ const val E_PENDING = "E_PENDING"
43
44
  const val E_NOT_ENDED = "E_NOT_ENDED"
44
45
  const val E_USER_CANCELLED = "E_USER_CANCELLED"
45
46
  const val E_ITEM_UNAVAILABLE = "E_ITEM_UNAVAILABLE"
@@ -19,7 +19,8 @@ func serialize(_ p: Product) -> [String: Any?] {
19
19
  "jsonRepresentation": serializeDebug(p.jsonRepresentation),
20
20
  "price": p.price,
21
21
  "subscription": serialize(p.subscription),
22
- "type": serialize(p.type)
22
+ "type": serialize(p.type),
23
+ "currency": p.priceFormatStyle.currencyCode
23
24
  ]
24
25
  }
25
26
 
@@ -31,6 +32,10 @@ func serializeDebug (_ d: Data) -> String? {
31
32
  #endif
32
33
  }
33
34
 
35
+ func serialize (_ d: Data) -> String? {
36
+ return String( decoding: d, as: UTF8.self)
37
+ }
38
+
34
39
  func serializeDebug (_ s: String) -> String? {
35
40
  #if DEBUG
36
41
  return s
@@ -75,12 +80,29 @@ func serialize(_ sp: Product.SubscriptionPeriod.Unit?) -> String? {
75
80
  @available(iOS 15.0, tvOS 15.0, *)
76
81
  func serialize(_ s: Product.SubscriptionInfo.Status?) -> [String: Any?]? {
77
82
  guard let s = s else {return nil}
78
- return ["state": serialize( s.state)
79
- // "renewalInfo": serialize(s.renewalInfo),
83
+ return ["state": serialize( s.state),
84
+ "renewalInfo": serialize(s.renewalInfo)
80
85
  // "transaction": serialize(s.transaction),
81
86
  ]
82
87
  }
83
88
 
89
+ @available(iOS 15.0, tvOS 15.0, *)
90
+ func serialize(_ vri: VerificationResult<Product.SubscriptionInfo.RenewalInfo>?) -> [String: Any?]? {
91
+ guard let vri = vri else {return nil}
92
+ do {
93
+ let ri = try vri.payloadValue
94
+ let jsonStringRepresentation = String(data: ri.jsonRepresentation, encoding: .utf8) ?? ""
95
+ return [
96
+ "jsonRepresentation": jsonStringRepresentation,
97
+ "willAutoRenew": ri.willAutoRenew,
98
+ "autoRenewPreference": ri.autoRenewPreference
99
+ ]
100
+ } catch {
101
+ print("Error in parsing VerificationResult<Product.SubscriptionInfo.RenewalInfo>")
102
+ return nil
103
+ }
104
+ }
105
+
84
106
  @available(iOS 15.0, tvOS 15.0, *)
85
107
  func serialize(_ rs: Product.SubscriptionInfo.RenewalState?) -> String? {
86
108
  guard let rs = rs else {return nil}
@@ -158,7 +180,7 @@ func serialize(_ t: Transaction) -> [String: Any?] {
158
180
  "environment": environment,
159
181
  "id": t.id,
160
182
  "isUpgraded": t.isUpgraded,
161
- "jsonRepresentation": serializeDebug(t.jsonRepresentation),
183
+ "jsonRepresentation": serialize(t.jsonRepresentation),
162
184
  "offerID": t.offerID,
163
185
  "offerType": serialize(t.offerType),
164
186
  "originalID": t.originalID,
@@ -277,10 +277,6 @@ class RNIapIosSk2: RCTEventEmitter, Sk2Delegate {
277
277
  delegate.stopObserving()
278
278
  }
279
279
 
280
- override func addListener(_ eventName: String?) {
281
- super.addListener(eventName)
282
- }
283
-
284
280
  /**
285
281
  "iap-transaction-updated" is unique to Sk2.
286
282
  "iap-promoted-product" is only avaiable on Sk1
@@ -424,14 +420,23 @@ class RNIapIosSk2: RCTEventEmitter, Sk2Delegate {
424
420
 
425
421
  @available(iOS 15.0, tvOS 15.0, *)
426
422
  class RNIapIosSk2iOS15: Sk2Delegate {
427
- private var hasListeners = false
428
- private var products: [String: Product]
423
+ private var _hasListeners = false
424
+ private let _hasListenersQueue = DispatchQueue(label: "com.dooboolab.rniap.hasListenersQueue", attributes: .concurrent)
429
425
  private var transactions: [String: Transaction]
430
426
  private var updateListenerTask: Task<Void, Error>?
431
427
  fileprivate var sendEvent: ((String?, Any?) -> Void)?
428
+ var hasListeners: Bool {
429
+ get {
430
+ return _hasListenersQueue.sync { _hasListeners }
431
+ }
432
+ set {
433
+ _hasListenersQueue.async(flags: .barrier) { [weak self] in
434
+ self?._hasListeners = newValue
435
+ }
436
+ }
437
+ }
432
438
  init(sendEvent: ((String?, Any?) -> Void)? ) {
433
439
  self.sendEvent = sendEvent
434
- products = [String: Product]()
435
440
  transactions = [String: Transaction]()
436
441
  }
437
442
 
@@ -439,6 +444,32 @@ class RNIapIosSk2iOS15: Sk2Delegate {
439
444
  removeTransactionObserver()
440
445
  }
441
446
 
447
+ actor ProductStore {
448
+ private(set) var products: [String: Product] = [:]
449
+
450
+ func addProduct(_ product: Product) {
451
+ self.products[product.id] = product
452
+ }
453
+
454
+ func getAllProducts() -> [Product] {
455
+ return Array(self.products.values)
456
+ }
457
+
458
+ func getProduct(productID: String) -> Product? {
459
+ return self.products[productID]
460
+ }
461
+
462
+ func removeAll() {
463
+ products.removeAll()
464
+ }
465
+
466
+ func performOnActor(_ action: @escaping (isolated ProductStore) -> Void) async {
467
+ action(self)
468
+ }
469
+ }
470
+
471
+ private let productStore = ProductStore()
472
+
442
473
  @objc public func disable(
443
474
  _ resolve: @escaping RCTPromiseResolveBlock = { _ in },
444
475
  reject: @escaping RCTPromiseRejectBlock = { _, _, _ in }
@@ -520,7 +551,9 @@ class RNIapIosSk2iOS15: Sk2Delegate {
520
551
  _ resolve: @escaping RCTPromiseResolveBlock = { _ in },
521
552
  reject: @escaping RCTPromiseRejectBlock = { _, _, _ in }
522
553
  ) {
523
- products.removeAll()
554
+ Task {
555
+ await productStore.removeAll()
556
+ }
524
557
  transactions.removeAll()
525
558
  removeTransactionObserver()
526
559
  resolve(nil)
@@ -533,10 +566,16 @@ class RNIapIosSk2iOS15: Sk2Delegate {
533
566
  ) {
534
567
  Task {
535
568
  do {
536
- let products = try await Product.products(for: skus)
537
- products.forEach({(prod) in
538
- self.products[prod.id] = prod
539
- })
569
+ let fetchedProducts = try await Product.products(for: skus)
570
+
571
+ await productStore.performOnActor { isolatedStore in
572
+ fetchedProducts.forEach({ product in
573
+ isolatedStore.addProduct(product)
574
+ })
575
+ }
576
+
577
+ let products = await productStore.getAllProducts()
578
+
540
579
  resolve(products.map({ (prod: Product) -> [String: Any?]? in
541
580
  return serialize(prod)
542
581
  }).compactMap({$0}))
@@ -578,12 +617,12 @@ class RNIapIosSk2iOS15: Sk2Delegate {
578
617
  }
579
618
  switch transaction.productType {
580
619
  case .nonConsumable:
581
- if products[transaction.productID] != nil {
620
+ if await productStore.getProduct(productID: transaction.productID) != nil {
582
621
  addTransaction(transaction: transaction)
583
622
  }
584
623
 
585
624
  case .nonRenewable:
586
- if products[transaction.productID] != nil {
625
+ if await productStore.getProduct(productID: transaction.productID) != nil {
587
626
  // Non-renewing subscriptions have no inherent expiration date, so they're always
588
627
  // contained in `Transaction.currentEntitlements` after the user purchases them.
589
628
  // This app defines this non-renewing subscription's expiration date to be one year after purchase.
@@ -599,12 +638,12 @@ class RNIapIosSk2iOS15: Sk2Delegate {
599
638
  }
600
639
 
601
640
  case .autoRenewable:
602
- if products[transaction.productID] != nil {
641
+ if await productStore.getProduct(productID: transaction.productID) != nil {
603
642
  addTransaction(transaction: transaction)
604
643
  }
605
644
 
606
645
  case .consumable:
607
- if products[transaction.productID] != nil {
646
+ if await productStore.getProduct(productID: transaction.productID) != nil {
608
647
  addTransaction(transaction: transaction)
609
648
  }
610
649
 
@@ -649,7 +688,7 @@ class RNIapIosSk2iOS15: Sk2Delegate {
649
688
  reject: @escaping RCTPromiseRejectBlock = { _, _, _ in }
650
689
  ) {
651
690
  Task {
652
- let product: Product? = products[sku]
691
+ let product: Product? = await productStore.getProduct(productID: sku)
653
692
 
654
693
  if let product = product {
655
694
  do {
@@ -777,7 +816,8 @@ class RNIapIosSk2iOS15: Sk2Delegate {
777
816
  ) {
778
817
  Task {
779
818
  do {
780
- let status: [Product.SubscriptionInfo.Status]? = try await products[sku]?.subscription?.status
819
+ let product = await productStore.getProduct(productID: sku)
820
+ let status: [Product.SubscriptionInfo.Status]? = try await product?.subscription?.status
781
821
  guard let status = status else {
782
822
  resolve(nil)
783
823
  return
@@ -795,7 +835,7 @@ class RNIapIosSk2iOS15: Sk2Delegate {
795
835
  reject: @escaping RCTPromiseRejectBlock = { _, _, _ in }
796
836
  ) {
797
837
  Task {
798
- if let product = products[sku] {
838
+ if let product = await productStore.getProduct(productID: sku) {
799
839
  if let result = await product.currentEntitlement {
800
840
  do {
801
841
  // Check whether the transaction is verified. If it isn’t, catch `failedVerification` error.
@@ -822,7 +862,7 @@ class RNIapIosSk2iOS15: Sk2Delegate {
822
862
  reject: @escaping RCTPromiseRejectBlock = { _, _, _ in }
823
863
  ) {
824
864
  Task {
825
- if let product = products[sku] {
865
+ if let product = await productStore.getProduct(productID: sku) {
826
866
  if let result = await product.latestTransaction {
827
867
  do {
828
868
  // Check whether the transaction is verified. If it isn’t, catch `failedVerification` error.
@@ -878,6 +918,11 @@ class RNIapIosSk2iOS15: Sk2Delegate {
878
918
  resolve(nil)
879
919
  } catch {
880
920
  reject(IapErrors.E_SYNC_ERROR.rawValue, "Error synchronizing with the AppStore", error)
921
+ if "\(error)" == "userCancelled" {
922
+ reject( IapErrors.E_USER_CANCELLED.rawValue, "User cancelled synchronizing with the AppStore", error)
923
+ } else {
924
+ reject( IapErrors.E_SYNC_ERROR.rawValue, "Error synchronizing with the AppStore", error)
925
+ }
881
926
  }
882
927
  }
883
928
  }
@@ -956,7 +1001,7 @@ class RNIapIosSk2iOS15: Sk2Delegate {
956
1001
  }
957
1002
  Task {
958
1003
  if let windowScene = await UIApplication.shared.keyWindow?.windowScene {
959
- if let product = products[sku] {
1004
+ if let product = await productStore.getProduct(productID: sku) {
960
1005
  if let result = await product.latestTransaction {
961
1006
  do {
962
1007
  // Check whether the transaction is verified. If it isn’t, catch `failedVerification` error.
@@ -46,6 +46,9 @@ const purchaseUpdatedListener = listener => {
46
46
  listener((0, _appleSk.transactionSk2ToPurchaseMap)(event));
47
47
  } : listener;
48
48
  const emitterSubscription = eventEmitter.addListener('purchase-updated', proxyListener);
49
+ if (_internal.isAndroid) {
50
+ (0, _internal.getAndroidModule)().startListening();
51
+ }
49
52
  return emitterSubscription;
50
53
  };
51
54
 
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_appleSk","_iap","_internal","purchaseUpdatedListener","listener","eventEmitter","NativeEventEmitter","getNativeModule","proxyListener","isIosStorekit2","event","transactionSk2ToPurchaseMap","emitterSubscription","addListener","exports","purchaseErrorListener","promotedProductListener","isIos","getIosModule","transactionListener"],"sourceRoot":"../../src","sources":["eventEmitter.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMI,uBAAuB,GAClCC,QAAmC,IAChC;EACH,MAAMC,YAAY,GAAG,IAAIC,+BAAkB,CAAC,IAAAC,yBAAe,GAAE,CAAC;EAC9D,MAAMC,aAAa,GAAG,IAAAC,mBAAc,GAAE,GACjCC,KAAe,IAAK;IACnBN,QAAQ,CAAC,IAAAO,oCAA2B,EAACD,KAAK,CAAQ,CAAC;EACrD,CAAC,GACDN,QAAQ;EACZ,MAAMQ,mBAAmB,GAAGP,YAAY,CAACQ,WAAW,CAClD,kBAAkB,EAClBL,aAAa,CACd;EAED,OAAOI,mBAAmB;AAC5B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhCAE,OAAA,CAAAX,uBAAA,GAAAA,uBAAA;AAiCO,MAAMY,qBAAqB,GAChCX,QAAwC,IAChB;EACxB,MAAMC,YAAY,GAAG,IAAIC,+BAAkB,CAAC,IAAAC,yBAAe,GAAE,CAAC;EAC9D,OAAOF,YAAY,CAACQ,WAAW,CAAC,gBAAgB,EAAET,QAAQ,CAAC;AAC7D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlCAU,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAmCO,MAAMC,uBAAuB,GAAIZ,QAAoB,IAAK;EAC/D,IAAIa,eAAK,IAAI,CAAC,IAAAR,mBAAc,GAAE,EAAE;IAC9B,MAAMJ,YAAY,GAAG,IAAIC,+BAAkB,CAAC,IAAAY,sBAAY,GAAE,CAAC;IAC3D,OAAOb,YAAY,CAACQ,WAAW,CAAC,sBAAsB,EAAET,QAAQ,CAAC;EACnE;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzCAU,OAAA,CAAAE,uBAAA,GAAAA,uBAAA;AA0CO,MAAMG,mBAAmB,GAC9Bf,QAA2C,IACxC;EACH,IAAIa,eAAK,IAAI,IAAAR,mBAAc,GAAE,EAAE;IAC7B,MAAMJ,YAAY,GAAG,IAAIC,+BAAkB,CAAC,IAAAY,sBAAY,GAAE,CAAC;IAC3D,OAAOb,YAAY,CAACQ,WAAW,CAAC,yBAAyB,EAAET,QAAQ,CAAC;EACtE;EAEA,OAAO,IAAI;AACb,CAAC;AAACU,OAAA,CAAAK,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"names":["_reactNative","require","_appleSk","_iap","_internal","purchaseUpdatedListener","listener","eventEmitter","NativeEventEmitter","getNativeModule","proxyListener","isIosStorekit2","event","transactionSk2ToPurchaseMap","emitterSubscription","addListener","isAndroid","getAndroidModule","startListening","exports","purchaseErrorListener","promotedProductListener","isIos","getIosModule","transactionListener"],"sourceRoot":"../../src","sources":["eventEmitter.ts"],"mappings":"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"}
@@ -25,18 +25,16 @@ const useIAP = () => {
25
25
  setCurrentPurchase,
26
26
  setCurrentPurchaseError
27
27
  } = (0, _withIAPContext.useIAPContext)();
28
- const getProducts = (0, _react.useCallback)(async _ref => {
29
- let {
30
- skus
31
- } = _ref;
28
+ const getProducts = (0, _react.useCallback)(async ({
29
+ skus
30
+ }) => {
32
31
  setProducts(await (0, _iap.getProducts)({
33
32
  skus
34
33
  }));
35
34
  }, [setProducts]);
36
- const getSubscriptions = (0, _react.useCallback)(async _ref2 => {
37
- let {
38
- skus
39
- } = _ref2;
35
+ const getSubscriptions = (0, _react.useCallback)(async ({
36
+ skus
37
+ }) => {
40
38
  setSubscriptions(await (0, _iap.getSubscriptions)({
41
39
  skus
42
40
  }));
@@ -47,12 +45,11 @@ const useIAP = () => {
47
45
  const getPurchaseHistory = (0, _react.useCallback)(async () => {
48
46
  setPurchaseHistory(await (0, _iap.getPurchaseHistory)());
49
47
  }, [setPurchaseHistory]);
50
- const finishTransaction = (0, _react.useCallback)(async _ref3 => {
51
- let {
52
- purchase,
53
- isConsumable,
54
- developerPayloadAndroid
55
- } = _ref3;
48
+ const finishTransaction = (0, _react.useCallback)(async ({
49
+ purchase,
50
+ isConsumable,
51
+ developerPayloadAndroid
52
+ }) => {
56
53
  try {
57
54
  return await (0, _iap.finishTransaction)({
58
55
  purchase,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_iap","_withIAPContext","useIAP","connected","products","promotedProductsIOS","subscriptions","purchaseHistory","availablePurchases","currentPurchase","currentPurchaseError","initConnectionError","setProducts","setSubscriptions","setAvailablePurchases","setPurchaseHistory","setCurrentPurchase","setCurrentPurchaseError","useIAPContext","getProducts","useCallback","_ref","skus","iapGetProducts","getSubscriptions","_ref2","iapGetSubscriptions","getAvailablePurchases","iapGetAvailablePurchases","getPurchaseHistory","iapGetPurchaseHistory","finishTransaction","_ref3","purchase","isConsumable","developerPayloadAndroid","iapFinishTransaction","err","productId","undefined","requestPurchase","iapRequestPurchase","requestSubscription","iapRequestSubscription","exports"],"sourceRoot":"../../../src","sources":["hooks/useIAP.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AAYA,IAAAE,eAAA,GAAAF,OAAA;AA6BO,MAAMG,MAAM,GAAGA,CAAA,KAAkB;EACtC,MAAM;IACJC,SAAS;IACTC,QAAQ;IACRC,mBAAmB;IACnBC,aAAa;IACbC,eAAe;IACfC,kBAAkB;IAClBC,eAAe;IACfC,oBAAoB;IACpBC,mBAAmB;IACnBC,WAAW;IACXC,gBAAgB;IAChBC,qBAAqB;IACrBC,kBAAkB;IAClBC,kBAAkB;IAClBC;EACF,CAAC,GAAG,IAAAC,6BAAa,GAAE;EAEnB,MAAMC,WAAW,GAAG,IAAAC,kBAAW,EAC7B,MAAAC,IAAA,IAAmD;IAAA,IAA5C;MAACC;IAAsB,CAAC,GAAAD,IAAA;IAC7BT,WAAW,CAAC,MAAM,IAAAW,gBAAc,EAAC;MAACD;IAAI,CAAC,CAAC,CAAC;EAC3C,CAAC,EACD,CAACV,WAAW,CAAC,CACd;EAED,MAAMY,gBAAgB,GAAG,IAAAJ,kBAAW,EAClC,MAAAK,KAAA,IAAmD;IAAA,IAA5C;MAACH;IAAsB,CAAC,GAAAG,KAAA;IAC7BZ,gBAAgB,CAAC,MAAM,IAAAa,qBAAmB,EAAC;MAACJ;IAAI,CAAC,CAAC,CAAC;EACrD,CAAC,EACD,CAACT,gBAAgB,CAAC,CACnB;EAED,MAAMc,qBAAqB,GAAG,IAAAP,kBAAW,EAAC,YAA2B;IACnEN,qBAAqB,CAAC,MAAM,IAAAc,0BAAwB,GAAE,CAAC;EACzD,CAAC,EAAE,CAACd,qBAAqB,CAAC,CAAC;EAE3B,MAAMe,kBAAkB,GAAG,IAAAT,kBAAW,EAAC,YAA2B;IAChEL,kBAAkB,CAAC,MAAM,IAAAe,uBAAqB,GAAE,CAAC;EACnD,CAAC,EAAE,CAACf,kBAAkB,CAAC,CAAC;EAExB,MAAMgB,iBAAiB,GAAG,IAAAX,kBAAW,EACnC,MAAAY,KAAA,IAQyD;IAAA,IARlD;MACLC,QAAQ;MACRC,YAAY;MACZC;IAKF,CAAC,GAAAH,KAAA;IACC,IAAI;MACF,OAAO,MAAM,IAAAI,sBAAoB,EAAC;QAChCH,QAAQ;QACRC,YAAY;QACZC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOE,GAAG,EAAE;MACZ,MAAMA,GAAG;IACX,CAAC,SAAS;MACR,IAAIJ,QAAQ,CAACK,SAAS,MAAK7B,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE6B,SAAS,GAAE;QACrDtB,kBAAkB,CAACuB,SAAS,CAAC;MAC/B;MAEA,IAAIN,QAAQ,CAACK,SAAS,MAAK5B,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAE4B,SAAS,GAAE;QAC1DrB,uBAAuB,CAACsB,SAAS,CAAC;MACpC;IACF;EACF,CAAC,EACD,CACE9B,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE6B,SAAS,EAC1B5B,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAE4B,SAAS,EAC/BtB,kBAAkB,EAClBC,uBAAuB,CACxB,CACF;EAED,OAAO;IACLd,SAAS;IACTC,QAAQ;IACRC,mBAAmB;IACnBC,aAAa;IACbC,eAAe;IACfC,kBAAkB;IAClBC,eAAe;IACfC,oBAAoB;IACpBC,mBAAmB;IACnBoB,iBAAiB;IACjBZ,WAAW;IACXK,gBAAgB;IAChBG,qBAAqB;IACrBE,kBAAkB;IAClBW,eAAe,EAAEC,oBAAkB;IACnCC,mBAAmB,EAAEC;EACvB,CAAC;AACH,CAAC;AAACC,OAAA,CAAA1C,MAAA,GAAAA,MAAA"}
1
+ {"version":3,"names":["_react","require","_iap","_withIAPContext","useIAP","connected","products","promotedProductsIOS","subscriptions","purchaseHistory","availablePurchases","currentPurchase","currentPurchaseError","initConnectionError","setProducts","setSubscriptions","setAvailablePurchases","setPurchaseHistory","setCurrentPurchase","setCurrentPurchaseError","useIAPContext","getProducts","useCallback","skus","iapGetProducts","getSubscriptions","iapGetSubscriptions","getAvailablePurchases","iapGetAvailablePurchases","getPurchaseHistory","iapGetPurchaseHistory","finishTransaction","purchase","isConsumable","developerPayloadAndroid","iapFinishTransaction","err","productId","undefined","requestPurchase","iapRequestPurchase","requestSubscription","iapRequestSubscription","exports"],"sourceRoot":"../../../src","sources":["hooks/useIAP.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AAYA,IAAAE,eAAA,GAAAF,OAAA;AA6BO,MAAMG,MAAM,GAAGA,CAAA,KAAkB;EACtC,MAAM;IACJC,SAAS;IACTC,QAAQ;IACRC,mBAAmB;IACnBC,aAAa;IACbC,eAAe;IACfC,kBAAkB;IAClBC,eAAe;IACfC,oBAAoB;IACpBC,mBAAmB;IACnBC,WAAW;IACXC,gBAAgB;IAChBC,qBAAqB;IACrBC,kBAAkB;IAClBC,kBAAkB;IAClBC;EACF,CAAC,GAAG,IAAAC,6BAAa,EAAC,CAAC;EAEnB,MAAMC,WAAW,GAAG,IAAAC,kBAAW,EAC7B,OAAO;IAACC;EAAsB,CAAC,KAAoB;IACjDT,WAAW,CAAC,MAAM,IAAAU,gBAAc,EAAC;MAACD;IAAI,CAAC,CAAC,CAAC;EAC3C,CAAC,EACD,CAACT,WAAW,CACd,CAAC;EAED,MAAMW,gBAAgB,GAAG,IAAAH,kBAAW,EAClC,OAAO;IAACC;EAAsB,CAAC,KAAoB;IACjDR,gBAAgB,CAAC,MAAM,IAAAW,qBAAmB,EAAC;MAACH;IAAI,CAAC,CAAC,CAAC;EACrD,CAAC,EACD,CAACR,gBAAgB,CACnB,CAAC;EAED,MAAMY,qBAAqB,GAAG,IAAAL,kBAAW,EAAC,YAA2B;IACnEN,qBAAqB,CAAC,MAAM,IAAAY,0BAAwB,EAAC,CAAC,CAAC;EACzD,CAAC,EAAE,CAACZ,qBAAqB,CAAC,CAAC;EAE3B,MAAMa,kBAAkB,GAAG,IAAAP,kBAAW,EAAC,YAA2B;IAChEL,kBAAkB,CAAC,MAAM,IAAAa,uBAAqB,EAAC,CAAC,CAAC;EACnD,CAAC,EAAE,CAACb,kBAAkB,CAAC,CAAC;EAExB,MAAMc,iBAAiB,GAAG,IAAAT,kBAAW,EACnC,OAAO;IACLU,QAAQ;IACRC,YAAY;IACZC;EAKF,CAAC,KAAwD;IACvD,IAAI;MACF,OAAO,MAAM,IAAAC,sBAAoB,EAAC;QAChCH,QAAQ;QACRC,YAAY;QACZC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOE,GAAG,EAAE;MACZ,MAAMA,GAAG;IACX,CAAC,SAAS;MACR,IAAIJ,QAAQ,CAACK,SAAS,MAAK1B,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE0B,SAAS,GAAE;QACrDnB,kBAAkB,CAACoB,SAAS,CAAC;MAC/B;MAEA,IAAIN,QAAQ,CAACK,SAAS,MAAKzB,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEyB,SAAS,GAAE;QAC1DlB,uBAAuB,CAACmB,SAAS,CAAC;MACpC;IACF;EACF,CAAC,EACD,CACE3B,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE0B,SAAS,EAC1BzB,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEyB,SAAS,EAC/BnB,kBAAkB,EAClBC,uBAAuB,CAE3B,CAAC;EAED,OAAO;IACLd,SAAS;IACTC,QAAQ;IACRC,mBAAmB;IACnBC,aAAa;IACbC,eAAe;IACfC,kBAAkB;IAClBC,eAAe;IACfC,oBAAoB;IACpBC,mBAAmB;IACnBkB,iBAAiB;IACjBV,WAAW;IACXI,gBAAgB;IAChBE,qBAAqB;IACrBE,kBAAkB;IAClBU,eAAe,EAAEC,oBAAkB;IACnCC,mBAAmB,EAAEC;EACvB,CAAC;AACH,CAAC;AAACC,OAAA,CAAAvC,MAAA,GAAAA,MAAA"}
@@ -8,8 +8,8 @@ exports.withIAPContext = withIAPContext;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _eventEmitter = require("../eventEmitter");
10
10
  var _iap = require("../iap");
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
13
  // @ts-ignore
14
14
  const IAPContext = /*#__PURE__*/_react.default.createContext(null);
15
15
  function useIAPContext() {
@@ -78,13 +78,17 @@ function withIAPContext(Component) {
78
78
  return () => {
79
79
  purchaseUpdateSubscription.remove();
80
80
  purchaseErrorSubscription.remove();
81
- promotedProductSubscription === null || promotedProductSubscription === void 0 ? void 0 : promotedProductSubscription.remove();
82
- transactionUpdateSubscription === null || transactionUpdateSubscription === void 0 ? void 0 : transactionUpdateSubscription.remove();
81
+ promotedProductSubscription === null || promotedProductSubscription === void 0 || promotedProductSubscription.remove();
82
+ transactionUpdateSubscription === null || transactionUpdateSubscription === void 0 || transactionUpdateSubscription.remove();
83
83
  };
84
84
  }, [connected]);
85
- return /*#__PURE__*/_react.default.createElement(IAPContext.Provider, {
86
- value: context
87
- }, /*#__PURE__*/_react.default.createElement(Component, props));
85
+ return (
86
+ /*#__PURE__*/
87
+ // @ts-ignore
88
+ _react.default.createElement(IAPContext.Provider, {
89
+ value: context
90
+ }, /*#__PURE__*/_react.default.createElement(Component, props))
91
+ );
88
92
  };
89
93
  }
90
94
  //# sourceMappingURL=withIAPContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_eventEmitter","_iap","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","IAPContext","React","createContext","useIAPContext","ctx","useContext","Error","withIAPContext","Component","WrapperComponent","props","connected","setConnected","useState","products","setProducts","promotedProductsIOS","setPromotedProductsIOS","subscriptions","setSubscriptions","purchaseHistory","setPurchaseHistory","availablePurchases","setAvailablePurchases","currentPurchase","setCurrentPurchase","currentTransaction","setCurrentTransaction","currentPurchaseError","setCurrentPurchaseError","initConnectionError","setInitConnectionError","context","useMemo","useEffect","initConnection","then","value","undefined","catch","purchaseUpdateSubscription","purchaseUpdatedListener","purchase","transactionUpdateSubscription","transactionListener","transactionOrError","error","transaction","purchaseErrorSubscription","purchaseErrorListener","promotedProductSubscription","promotedProductListener","product","IapIos","getPromotedProductIOS","prevProducts","remove","createElement","Provider"],"sourceRoot":"../../../src","sources":["hooks/withIAPContext.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_eventEmitter","_iap","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","IAPContext","React","createContext","useIAPContext","ctx","useContext","Error","withIAPContext","Component","WrapperComponent","props","connected","setConnected","useState","products","setProducts","promotedProductsIOS","setPromotedProductsIOS","subscriptions","setSubscriptions","purchaseHistory","setPurchaseHistory","availablePurchases","setAvailablePurchases","currentPurchase","setCurrentPurchase","currentTransaction","setCurrentTransaction","currentPurchaseError","setCurrentPurchaseError","initConnectionError","setInitConnectionError","context","useMemo","useEffect","initConnection","then","value","undefined","catch","purchaseUpdateSubscription","purchaseUpdatedListener","purchase","transactionUpdateSubscription","transactionListener","transactionOrError","error","transaction","purchaseErrorSubscription","purchaseErrorListener","promotedProductSubscription","promotedProductListener","product","IapIos","getPromotedProductIOS","prevProducts","remove","createElement","Provider"],"sourceRoot":"../../../src","sources":["hooks/withIAPContext.tsx"],"mappings":"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"}