react-native-iap 12.13.2 → 12.14.1-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 (31) hide show
  1. package/README.md +10 -4
  2. package/RNIap.podspec +1 -1
  3. package/android/gradle.properties +1 -1
  4. package/android/src/amazon/java/com/dooboolab/rniap/PurchasingServiceProxy.kt +8 -2
  5. package/android/src/amazon/java/com/dooboolab/rniap/PurchasingServiceProxyAmazonImpl.kt +12 -18
  6. package/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonListener.kt +4 -2
  7. package/android/src/amazon/java/com/dooboolab/rniap/RNIapAmazonModule.kt +45 -29
  8. package/android/src/amazon/java/com/dooboolab/rniap/RNIapPackage.kt +1 -4
  9. package/android/src/main/java/com/dooboolab/rniap/PromiseUtils.kt +9 -2
  10. package/android/src/main/java/com/dooboolab/rniap/PromiseUtlis.kt +15 -6
  11. package/android/src/play/java/com/dooboolab/rniap/PlayUtils.kt +86 -70
  12. package/android/src/play/java/com/dooboolab/rniap/RNIapModule.kt +196 -209
  13. package/android/src/play/java/com/dooboolab/rniap/RNIapPackage.kt +1 -4
  14. package/android/src/testAmazon/java/com/dooboolab/rniap/RNIapAmazonModuleTest.kt +23 -19
  15. package/ios/IapSerializationUtils.swift +2 -0
  16. package/ios/IapUtils.swift +10 -0
  17. package/ios/LatestPromiseKeeper.swift +47 -0
  18. package/ios/RNIapIos.swift +16 -24
  19. package/ios/RNIapIos.xcodeproj/project.pbxproj +13 -7
  20. package/ios/RNIapIosSk2.m +1 -4
  21. package/ios/RNIapIosSk2.swift +25 -12
  22. package/ios/ThreadSafe.swift +18 -0
  23. package/lib/commonjs/eventEmitter.js.map +1 -1
  24. package/lib/commonjs/modules/iosSk2.js.map +1 -1
  25. package/lib/module/eventEmitter.js.map +1 -1
  26. package/lib/module/modules/iosSk2.js.map +1 -1
  27. package/lib/typescript/src/eventEmitter.d.ts.map +1 -1
  28. package/lib/typescript/src/modules/iosSk2.d.ts.map +1 -1
  29. package/package.json +3 -4
  30. package/src/eventEmitter.ts +1 -7
  31. package/src/modules/iosSk2.ts +2 -3
@@ -7,6 +7,7 @@
7
7
 
8
8
  import Foundation
9
9
  import StoreKit
10
+ import React
10
11
 
11
12
  public func debugMessage(_ object: Any...) {
12
13
  #if DEBUG
@@ -28,3 +29,12 @@ func checkVerified<T>(_ result: VerificationResult<T>) throws -> T {
28
29
  return safe
29
30
  }
30
31
  }
32
+
33
+ @available(iOS 15.0, *)
34
+ func currentWindow() async -> UIWindow? {
35
+ await withCheckedContinuation { continuation in
36
+ DispatchQueue.main.async {
37
+ continuation.resume(returning: RCTKeyWindow())
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,47 @@
1
+ import StoreKit
2
+
3
+ // Only keeps latest promise, assumes older promises are not needed
4
+ // Avoids racing conditions by storing latestPromise in a thread safe var
5
+ // Cancels previous promises when new ones are added
6
+ // Should not be used when all promises are relevant (e.g. Purchases)
7
+ class LatestPromiseKeeper {
8
+ private var latestPromise: ThreadSafe<(RCTPromiseResolveBlock, RCTPromiseRejectBlock)?> = ThreadSafe(nil)
9
+ private var latestRequest: ThreadSafe<SKProductsRequest?> = ThreadSafe(nil)
10
+
11
+ func setLatestPromise(request: SKProductsRequest, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
12
+ // Cancel the ongoing request and reject the existing promise before setting a new one
13
+ cancelOngoingRequest()
14
+
15
+ latestRequest.atomically { $0 = request }
16
+ latestPromise.atomically { $0 = (resolve, reject) }
17
+ }
18
+
19
+ func cancelOngoingRequest() {
20
+ latestPromise.atomically { promiseResolvers in
21
+ if let (_, reject) = promiseResolvers {
22
+ // Reject the promise with an error indicating that it was cancelled due to a new request
23
+ reject("E_CANCELED", "Previous request was cancelled due to a new request", nil)
24
+ }
25
+ }
26
+
27
+ latestRequest.atomically { ongoingRequest in
28
+ ongoingRequest?.cancel()
29
+ ongoingRequest = nil
30
+ }
31
+
32
+ // Clear the latestPromise after rejecting it
33
+ latestPromise.atomically { $0 = nil }
34
+ }
35
+
36
+ func resolveIfRequestMatches(matchingRequest: SKProductsRequest, items: [[String: Any?]], operation: (RCTPromiseResolveBlock, [[String: Any?]]) -> Void) {
37
+ latestPromise.atomically { promiseResolvers in
38
+ guard let (resolve, _) = promiseResolvers else { return }
39
+
40
+ latestRequest.atomically { ongoingRequest in
41
+ guard ongoingRequest === matchingRequest else { return }
42
+
43
+ operation(resolve, items)
44
+ }
45
+ }
46
+ }
47
+ }
@@ -8,10 +8,11 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
8
8
  private var hasListeners = false
9
9
  private var pendingTransactionWithAutoFinish = false
10
10
  private var receiptBlock: ((Data?, Error?) -> Void)? // Block to handle request the receipt async from delegate
11
- private var validProducts: [String: SKProduct]
11
+ private var validProducts: ThreadSafe<[String: SKProduct]>
12
12
  private var promotedPayment: SKPayment?
13
13
  private var promotedProduct: SKProduct?
14
14
  private var productsRequest: SKProductsRequest?
15
+ private let latestPromiseKeeper = LatestPromiseKeeper()
15
16
  private var countPendingTransaction: Int = 0
16
17
  private var hasTransactionObserver = false
17
18
 
@@ -19,7 +20,7 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
19
20
  promisesByKey = [String: [RNIapIosPromise]]()
20
21
  pendingTransactionWithAutoFinish = false
21
22
  myQueue = DispatchQueue(label: "reject")
22
- validProducts = [String: SKProduct]()
23
+ validProducts = ThreadSafe<[String: SKProduct]>([:])
23
24
  super.init()
24
25
  addTransactionObserver()
25
26
  }
@@ -148,7 +149,7 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
148
149
  stopObserving()
149
150
  rejectAllPendingPromises()
150
151
  receiptBlock = nil
151
- validProducts.removeAll()
152
+ validProducts.atomically { $0.removeAll() }
152
153
  promotedPayment = nil
153
154
  promotedProduct = nil
154
155
  productsRequest = nil
@@ -162,10 +163,12 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
162
163
  ) {
163
164
  let productIdentifiers = Set<String>(skus)
164
165
  productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
166
+
165
167
  if let productsRequest = productsRequest {
166
168
  productsRequest.delegate = self
167
- let key: String = productsRequest.key
168
- addPromise(forKey: key, resolve: resolve, reject: reject)
169
+
170
+ self.latestPromiseKeeper.setLatestPromise(request: productsRequest, resolve: resolve, reject: reject)
171
+
169
172
  productsRequest.start()
170
173
  }
171
174
  }
@@ -189,7 +192,7 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
189
192
  reject: @escaping RCTPromiseRejectBlock = { _, _, _ in }
190
193
  ) {
191
194
  pendingTransactionWithAutoFinish = andDangerouslyFinishTransactionAutomatically
192
- if let product = validProducts[sku] {
195
+ if let product = validProducts.value[sku] {
193
196
  addPromise(forKey: product.productIdentifier, resolve: resolve, reject: reject)
194
197
 
195
198
  let payment = SKMutablePayment(product: product)
@@ -254,7 +257,7 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
254
257
  reject: @escaping RCTPromiseRejectBlock = { _, _, _ in }
255
258
  ) {
256
259
  debugMessage("clear valid products")
257
- validProducts.removeAll()
260
+ validProducts.atomically { $0.removeAll() }
258
261
  resolve(nil)
259
262
  }
260
263
 
@@ -348,23 +351,26 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
348
351
 
349
352
  // StoreKitDelegate
350
353
  func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
354
+ // Add received products
351
355
  for prod in response.products {
352
356
  add(prod)
353
357
  }
354
358
 
355
359
  var items: [[String: Any?]] = [[:]]
356
- for product in validProducts.values {
360
+ for product in validProducts.value.values {
357
361
  items.append(getProductObject(product))
358
362
  }
359
363
 
360
- resolvePromises(forKey: request.key, value: items)
364
+ self.latestPromiseKeeper.resolveIfRequestMatches(matchingRequest: request, items: items) { (resolve, items) in
365
+ resolve(items)
366
+ }
361
367
  }
362
368
 
363
369
  // Add to valid products from Apple server response. Allowing getProducts, getSubscriptions call several times.
364
370
  // Doesn't allow duplication. Replace new product.
365
371
  func add(_ aProd: SKProduct) {
366
372
  debugMessage("Add new object: \(aProd.productIdentifier)")
367
- validProducts[aProd.productIdentifier] = aProd
373
+ validProducts.atomically { $0[aProd.productIdentifier] = aProd }
368
374
  }
369
375
 
370
376
  func request(_ request: SKRequest, didFailWithError error: Error) {
@@ -395,17 +401,14 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
395
401
  switch transaction.transactionState {
396
402
  case .purchasing:
397
403
  debugMessage("Purchase Started")
398
- break
399
404
 
400
405
  case .purchased:
401
406
  debugMessage("Purchase Successful")
402
407
  purchaseProcess(transaction)
403
- break
404
408
 
405
409
  case .restored:
406
410
  debugMessage("Restored")
407
411
  SKPaymentQueue.default().finishTransaction(transaction)
408
- break
409
412
 
410
413
  case .deferred:
411
414
  debugMessage("Deferred (awaiting approval via parental controls, etc.)")
@@ -464,8 +467,6 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
464
467
  message: nsError?.localizedDescription,
465
468
  error: nsError)
466
469
  })
467
-
468
- break
469
470
  }
470
471
  }
471
472
  }
@@ -707,22 +708,18 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
707
708
  case .freeTrial:
708
709
  paymendMode = "FREETRIAL"
709
710
  numberOfPeriods = String(discount.subscriptionPeriod.numberOfUnits)
710
- break
711
711
 
712
712
  case .payAsYouGo:
713
713
  paymendMode = "PAYASYOUGO"
714
714
  numberOfPeriods = String(discount.numberOfPeriods)
715
- break
716
715
 
717
716
  case .payUpFront:
718
717
  paymendMode = "PAYUPFRONT"
719
718
  numberOfPeriods = String(discount.subscriptionPeriod.numberOfUnits )
720
- break
721
719
 
722
720
  default:
723
721
  paymendMode = ""
724
722
  numberOfPeriods = "0"
725
- break
726
723
  }
727
724
 
728
725
  switch discount.subscriptionPeriod.unit {
@@ -746,15 +743,10 @@ class RNIapIos: RCTEventEmitter, SKRequestDelegate, SKPaymentTransactionObserver
746
743
  switch discount.type {
747
744
  case SKProductDiscount.Type.introductory:
748
745
  discountType = "INTRODUCTORY"
749
- break
750
-
751
746
  case SKProductDiscount.Type.subscription:
752
747
  discountType = "SUBSCRIPTION"
753
- break
754
-
755
748
  default:
756
749
  discountType = ""
757
- break
758
750
  }
759
751
 
760
752
  let discountObj = [
@@ -7,8 +7,9 @@
7
7
  objects = {
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
- 5E555C0D2413F4C50049A1A2 /* RNIapIos.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNIapIos.m */; };
11
- F4FF95D7245B92E800C19C63 /* RNIapIos.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FF95D6245B92E800C19C63 /* RNIapIos.swift */; };
10
+ CBA2290C2B027DA500C780F8 /* ThreadSafe.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBA2290A2B027DA500C780F8 /* ThreadSafe.swift */; };
11
+ CBA2290D2B027DA500C780F8 /* LatestPromiseKeeper.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBA2290B2B027DA500C780F8 /* LatestPromiseKeeper.swift */; };
12
+ F4FF95D7245B92E800C19C63 /* RNIapIos.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FF95D6245B92E800C19C63 /* RNIapIos.swift */; };
12
13
  /* End PBXBuildFile section */
13
14
 
14
15
  /* Begin PBXCopyFilesBuildPhase section */
@@ -26,7 +27,9 @@
26
27
  /* Begin PBXFileReference section */
27
28
  134814201AA4EA6300B7C361 /* libRNIapIos.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNIapIos.a; sourceTree = BUILT_PRODUCTS_DIR; };
28
29
  B3E7B5891CC2AC0600A0062D /* RNIapIos.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNIapIos.m; sourceTree = "<group>"; };
29
- F4FF95D5245B92E700C19C63 /* RNIapIosIap-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "RNIapIosIap-Bridging-Header.h"; sourceTree = "<group>"; };
30
+ CBA2290A2B027DA500C780F8 /* ThreadSafe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThreadSafe.swift; sourceTree = "<group>"; };
31
+ CBA2290B2B027DA500C780F8 /* LatestPromiseKeeper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LatestPromiseKeeper.swift; sourceTree = "<group>"; };
32
+ F4FF95D5245B92E700C19C63 /* RNIapIos-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "RNIapIos-Bridging-Header.h"; sourceTree = "<group>"; };
30
33
  F4FF95D6245B92E800C19C63 /* RNIapIos.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RNIapIos.swift; sourceTree = "<group>"; };
31
34
  /* End PBXFileReference section */
32
35
 
@@ -52,9 +55,11 @@
52
55
  58B511D21A9E6C8500147676 = {
53
56
  isa = PBXGroup;
54
57
  children = (
58
+ CBA2290B2B027DA500C780F8 /* LatestPromiseKeeper.swift */,
59
+ CBA2290A2B027DA500C780F8 /* ThreadSafe.swift */,
55
60
  F4FF95D6245B92E800C19C63 /* RNIapIos.swift */,
56
61
  B3E7B5891CC2AC0600A0062D /* RNIapIos.m */,
57
- F4FF95D5245B92E700C19C63 /* RNIapIosIap-Bridging-Header.h */,
62
+ F4FF95D5245B92E700C19C63 /* RNIapIos-Bridging-Header.h */,
58
63
  134814211AA4EA7D00B7C361 /* Products */,
59
64
  );
60
65
  sourceTree = "<group>";
@@ -116,8 +121,9 @@
116
121
  isa = PBXSourcesBuildPhase;
117
122
  buildActionMask = 2147483647;
118
123
  files = (
124
+ CBA2290C2B027DA500C780F8 /* ThreadSafe.swift in Sources */,
125
+ CBA2290D2B027DA500C780F8 /* LatestPromiseKeeper.swift in Sources */,
119
126
  F4FF95D7245B92E800C19C63 /* RNIapIos.swift in Sources */,
120
- B3E7B58A1CC2AC0600A0062D /* RNIapIos.m in Sources */,
121
127
  );
122
128
  runOnlyForDeploymentPostprocessing = 0;
123
129
  };
@@ -232,7 +238,7 @@
232
238
  OTHER_LDFLAGS = "-ObjC";
233
239
  PRODUCT_NAME = RNIapIos;
234
240
  SKIP_INSTALL = YES;
235
- SWIFT_OBJC_BRIDGING_HEADER = "RNIapIosIap-Bridging-Header.h";
241
+ SWIFT_OBJC_BRIDGING_HEADER = "RNIapIos-Bridging-Header.h";
236
242
  SWIFT_OPTIMIZATION_LEVEL = "-Onone";
237
243
  SWIFT_VERSION = 5.0;
238
244
  };
@@ -251,7 +257,7 @@
251
257
  OTHER_LDFLAGS = "-ObjC";
252
258
  PRODUCT_NAME = RNIapIos;
253
259
  SKIP_INSTALL = YES;
254
- SWIFT_OBJC_BRIDGING_HEADER = "RNIapIosIap-Bridging-Header.h";
260
+ SWIFT_OBJC_BRIDGING_HEADER = "RNIapIos-Bridging-Header.h";
255
261
  SWIFT_VERSION = 5.0;
256
262
  };
257
263
  name = Release;
package/ios/RNIapIosSk2.m CHANGED
@@ -3,14 +3,11 @@
3
3
  #import <React/RCTBridgeModule.h>
4
4
  #ifdef __IPHONE_15_0
5
5
 
6
- // From: https://stackoverflow.com/a/5337804/570612
7
- #define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
8
-
9
6
 
10
7
  @interface RCT_EXTERN_MODULE (RNIapIosSk2, NSObject)
11
8
 
12
9
  RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(isAvailable){
13
- if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"15.0")) {
10
+ if (@available(iOS 15.0, *)) {
14
11
  return [NSNumber numberWithInt:1];
15
12
  }else{
16
13
  return [NSNumber numberWithInt:0];
@@ -711,7 +711,20 @@ class RNIapIosSk2iOS15: Sk2Delegate {
711
711
  }
712
712
  debugMessage("Purchase Started")
713
713
 
714
- let result = try await product.purchase(options: options)
714
+ guard let windowScene = await currentWindow()?.windowScene else {
715
+ reject(IapErrors.E_DEVELOPER_ERROR.rawValue, "Could not find window scene", nil)
716
+ return
717
+ }
718
+
719
+ var result: Product.PurchaseResult?
720
+
721
+ if #available(iOS 17.0, tvOS 17.0, *) {
722
+ result = try await product.purchase(confirmIn: windowScene, options: options)
723
+ } else {
724
+ #if !os(visionOS)
725
+ result = try await product.purchase(options: options)
726
+ #endif
727
+ }
715
728
  switch result {
716
729
  case .success(let verification):
717
730
  debugMessage("Purchase Successful")
@@ -947,22 +960,20 @@ class RNIapIosSk2iOS15: Sk2Delegate {
947
960
  reject: @escaping RCTPromiseRejectBlock = { _, _, _ in }
948
961
  ) {
949
962
  #if !os(tvOS)
950
- DispatchQueue.main.async {
951
- guard let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene,
963
+ Task {
964
+ guard let scene = await currentWindow()?.windowScene as? UIWindowScene,
952
965
  !ProcessInfo.processInfo.isiOSAppOnMac else {
953
966
  return
954
967
  }
955
968
 
956
- Task {
957
- do {
958
- try await AppStore.showManageSubscriptions(in: scene)
959
- } catch {
960
- print("Error:(error)")
961
- }
969
+ do {
970
+ try await AppStore.showManageSubscriptions(in: scene)
971
+ } catch {
972
+ print("Error:(error)")
962
973
  }
963
-
964
- resolve(nil)
965
974
  }
975
+
976
+ resolve(nil)
966
977
  #else
967
978
  reject(IapErrors.E_USER_CANCELLED.rawValue, "This method is not available on tvOS", nil)
968
979
  #endif
@@ -998,8 +1009,10 @@ class RNIapIosSk2iOS15: Sk2Delegate {
998
1009
  return nil
999
1010
  }
1000
1011
  }
1012
+
1001
1013
  Task {
1002
- if let windowScene = await UIApplication.shared.keyWindow?.windowScene {
1014
+ let window = await currentWindow()
1015
+ if let windowScene = await window?.windowScene {
1003
1016
  if let product = await productStore.getProduct(productID: sku) {
1004
1017
  if let result = await product.latestTransaction {
1005
1018
  do {
@@ -0,0 +1,18 @@
1
+ class ThreadSafe<A> {
2
+ private var _value: A
3
+ private let queue = DispatchQueue(label: "ThreadSafe")
4
+
5
+ init(_ value: A) {
6
+ self._value = value
7
+ }
8
+
9
+ var value: A {
10
+ return queue.sync { _value }
11
+ }
12
+
13
+ func atomically(_ transform: (inout A) -> Void) {
14
+ queue.sync {
15
+ transform(&self._value)
16
+ }
17
+ }
18
+ }
@@ -1 +1 @@
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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"}
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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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","RNIapIosSk2","NativeModules","sync","exports","isEligibleForIntroOffer","groupID","subscriptionStatus","sku","currentEntitlement","latestTransaction","beginRefundRequest","showManageSubscriptions","finishTransaction","transactionIdentifier"],"sourceRoot":"../../../src","sources":["modules/iosSk2.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAYA,MAAM;EAACC;AAAW,CAAC,GAAGC,0BAAa;AAkDnC;AACA;AACA;AACA;AACO,MAAMC,IAAI,GAAGA,CAAA,KAAqBF,WAAW,CAACE,IAAI,CAAC,CAAC;;AAE3D;AACA;AACA;AAFAC,OAAA,CAAAD,IAAA,GAAAA,IAAA;AAGO,MAAME,uBAAuB,GAAIC,OAAe,IACrDL,WAAW,CAACI,uBAAuB,CAACC,OAAO,CAAC;;AAE9C;AACA;AACA;AAFAF,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAIO,MAAME,kBAAkB,GAAIC,GAAW,IAC5CP,WAAW,CAACM,kBAAkB,CAACC,GAAG,CAAC;;AAErC;AACA;AACA;AAFAJ,OAAA,CAAAG,kBAAA,GAAAA,kBAAA;AAGO,MAAME,kBAAkB,GAAID,GAAW,IAC5CP,WAAW,CAACQ,kBAAkB,CAACD,GAAG,CAAC;;AAErC;AACA;AACA;AAFAJ,OAAA,CAAAK,kBAAA,GAAAA,kBAAA;AAGO,MAAMC,iBAAiB,GAAIF,GAAW,IAC3CP,WAAW,CAACS,iBAAiB,CAACF,GAAG,CAAC;;AAEpC;AACA;AACA;AAFAJ,OAAA,CAAAM,iBAAA,GAAAA,iBAAA;AAGO,MAAMC,kBAAkB,GAAIH,GAAW,IAC5CP,WAAW,CAACU,kBAAkB,CAACH,GAAG,CAAC;;AAErC;AACA;AACA;AAFAJ,OAAA,CAAAO,kBAAA,GAAAA,kBAAA;AAGO,MAAMC,uBAAuB,GAAGA,CAAA,KACrCX,WAAW,CAACW,uBAAuB,CAAC,CAAC;;AAEvC;AACA;AACA;AAFAR,OAAA,CAAAQ,uBAAA,GAAAA,uBAAA;AAGO,MAAMC,iBAAiB,GAC5BC,qBAA6B,IACRb,WAAW,CAACY,iBAAiB,CAACC,qBAAqB,CAAC;AAACV,OAAA,CAAAS,iBAAA,GAAAA,iBAAA"}
1
+ {"version":3,"names":["_reactNative","require","RNIapIosSk2","NativeModules","sync","exports","isEligibleForIntroOffer","groupID","subscriptionStatus","sku","currentEntitlement","latestTransaction","beginRefundRequest","showManageSubscriptions","finishTransaction","transactionIdentifier"],"sourceRoot":"../../../src","sources":["modules/iosSk2.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAYA,MAAM;EAACC;AAAW,CAAC,GAAGC,0BAAa;AAkDnC;AACA;AACA;AACA;AACO,MAAMC,IAAI,GAAGA,CAAA,KAAqBF,WAAW,CAACE,IAAI,CAAC,CAAC;;AAE3D;AACA;AACA;AAFAC,OAAA,CAAAD,IAAA,GAAAA,IAAA;AAGO,MAAME,uBAAuB,GAAIC,OAAe,IACrDL,WAAW,CAACI,uBAAuB,CAACC,OAAO,CAAC;;AAE9C;AACA;AACA;AAFAF,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAIO,MAAME,kBAAkB,GAAIC,GAAW,IAC5CP,WAAW,CAACM,kBAAkB,CAACC,GAAG,CAAC;;AAErC;AACA;AACA;AAFAJ,OAAA,CAAAG,kBAAA,GAAAA,kBAAA;AAGO,MAAME,kBAAkB,GAAID,GAAW,IAC5CP,WAAW,CAACQ,kBAAkB,CAACD,GAAG,CAAC;;AAErC;AACA;AACA;AAFAJ,OAAA,CAAAK,kBAAA,GAAAA,kBAAA;AAGO,MAAMC,iBAAiB,GAAIF,GAAW,IAC3CP,WAAW,CAACS,iBAAiB,CAACF,GAAG,CAAC;;AAEpC;AACA;AACA;AAFAJ,OAAA,CAAAM,iBAAA,GAAAA,iBAAA;AAGO,MAAMC,kBAAkB,GAAIH,GAAW,IAC5CP,WAAW,CAACU,kBAAkB,CAACH,GAAG,CAAC;;AAErC;AACA;AACA;AAFAJ,OAAA,CAAAO,kBAAA,GAAAA,kBAAA;AAGO,MAAMC,uBAAuB,GAAGA,CAAA,KACrCX,WAAW,CAACW,uBAAuB,CAAC,CAAC;;AAEvC;AACA;AACA;AAFAR,OAAA,CAAAQ,uBAAA,GAAAA,uBAAA;AAGO,MAAMC,iBAAiB,GAAIC,qBAA6B,IAC7Db,WAAW,CAACY,iBAAiB,CAACC,qBAAqB,CAAC;AAACV,OAAA,CAAAS,iBAAA,GAAAA,iBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","transactionSk2ToPurchaseMap","isIosStorekit2","getAndroidModule","getIosModule","getNativeModule","isAndroid","isIos","purchaseUpdatedListener","listener","eventEmitter","proxyListener","event","emitterSubscription","addListener","startListening","purchaseErrorListener","promotedProductListener","transactionListener"],"sourceRoot":"../../src","sources":["eventEmitter.ts"],"mappings":"AAAA,SAA6BA,kBAAkB,QAAO,cAAc;AAEpE,SAA0BC,2BAA2B,QAAO,kBAAkB;AAC9E,SAAQC,cAAc,QAAO,OAAO;AACpC,SACEC,gBAAgB,EAChBC,YAAY,EACZC,eAAe,EACfC,SAAS,EACTC,KAAK,QACA,YAAY;AAInB;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,OAAO,MAAMC,uBAAuB,GAClCC,QAAmC,IAChC;EACH,MAAMC,YAAY,GAAG,IAAIV,kBAAkB,CAACK,eAAe,CAAC,CAAC,CAAC;EAC9D,MAAMM,aAAa,GAAGT,cAAc,CAAC,CAAC,GACjCU,KAAe,IAAK;IACnBH,QAAQ,CAACR,2BAA2B,CAACW,KAAY,CAAC,CAAC;EACrD,CAAC,GACDH,QAAQ;EACZ,MAAMI,mBAAmB,GAAGH,YAAY,CAACI,WAAW,CAClD,kBAAkB,EAClBH,aACF,CAAC;EAED,IAAIL,SAAS,EAAE;IACbH,gBAAgB,CAAC,CAAC,CAACY,cAAc,CAAC,CAAC;EACrC;EAEA,OAAOF,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;AACA,OAAO,MAAMG,qBAAqB,GAChCP,QAAwC,IAChB;EACxB,MAAMC,YAAY,GAAG,IAAIV,kBAAkB,CAACK,eAAe,CAAC,CAAC,CAAC;EAC9D,OAAOK,YAAY,CAACI,WAAW,CAAC,gBAAgB,EAAEL,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;AACA,OAAO,MAAMQ,uBAAuB,GAAIR,QAAoB,IAAK;EAC/D,IAAIF,KAAK,IAAI,CAACL,cAAc,CAAC,CAAC,EAAE;IAC9B,MAAMQ,YAAY,GAAG,IAAIV,kBAAkB,CAACI,YAAY,CAAC,CAAC,CAAC;IAC3D,OAAOM,YAAY,CAACI,WAAW,CAAC,sBAAsB,EAAEL,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;AACA,OAAO,MAAMS,mBAAmB,GAC9BT,QAA2C,IACxC;EACH,IAAIF,KAAK,IAAIL,cAAc,CAAC,CAAC,EAAE;IAC7B,MAAMQ,YAAY,GAAG,IAAIV,kBAAkB,CAACI,YAAY,CAAC,CAAC,CAAC;IAC3D,OAAOM,YAAY,CAACI,WAAW,CAAC,yBAAyB,EAAEL,QAAQ,CAAC;EACtE;EAEA,OAAO,IAAI;AACb,CAAC"}
1
+ {"version":3,"names":["NativeEventEmitter","transactionSk2ToPurchaseMap","isIosStorekit2","getAndroidModule","getIosModule","getNativeModule","isAndroid","isIos","purchaseUpdatedListener","listener","eventEmitter","proxyListener","event","emitterSubscription","addListener","startListening","purchaseErrorListener","promotedProductListener","transactionListener"],"sourceRoot":"../../src","sources":["eventEmitter.ts"],"mappings":"AAAA,SAA6BA,kBAAkB,QAAO,cAAc;AAEpE,SAA0BC,2BAA2B,QAAO,kBAAkB;AAC9E,SAAQC,cAAc,QAAO,OAAO;AACpC,SAASC,gBAAgB,EAAEC,YAAY,EAAEC,eAAe,EAAEC,SAAS,EAAEC,KAAK,QAAQ,YAAY;AAI9F;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,OAAO,MAAMC,uBAAuB,GAClCC,QAAmC,IAChC;EACH,MAAMC,YAAY,GAAG,IAAIV,kBAAkB,CAACK,eAAe,CAAC,CAAC,CAAC;EAC9D,MAAMM,aAAa,GAAGT,cAAc,CAAC,CAAC,GACjCU,KAAe,IAAK;IACnBH,QAAQ,CAACR,2BAA2B,CAACW,KAAY,CAAC,CAAC;EACrD,CAAC,GACDH,QAAQ;EACZ,MAAMI,mBAAmB,GAAGH,YAAY,CAACI,WAAW,CAClD,kBAAkB,EAClBH,aACF,CAAC;EAED,IAAIL,SAAS,EAAE;IACbH,gBAAgB,CAAC,CAAC,CAACY,cAAc,CAAC,CAAC;EACrC;EAEA,OAAOF,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;AACA,OAAO,MAAMG,qBAAqB,GAChCP,QAAwC,IAChB;EACxB,MAAMC,YAAY,GAAG,IAAIV,kBAAkB,CAACK,eAAe,CAAC,CAAC,CAAC;EAC9D,OAAOK,YAAY,CAACI,WAAW,CAAC,gBAAgB,EAAEL,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;AACA,OAAO,MAAMQ,uBAAuB,GAAIR,QAAoB,IAAK;EAC/D,IAAIF,KAAK,IAAI,CAACL,cAAc,CAAC,CAAC,EAAE;IAC9B,MAAMQ,YAAY,GAAG,IAAIV,kBAAkB,CAACI,YAAY,CAAC,CAAC,CAAC;IAC3D,OAAOM,YAAY,CAACI,WAAW,CAAC,sBAAsB,EAAEL,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;AACA,OAAO,MAAMS,mBAAmB,GAC9BT,QAA2C,IACxC;EACH,IAAIF,KAAK,IAAIL,cAAc,CAAC,CAAC,EAAE;IAC7B,MAAMQ,YAAY,GAAG,IAAIV,kBAAkB,CAACI,YAAY,CAAC,CAAC,CAAC;IAC3D,OAAOM,YAAY,CAACI,WAAW,CAAC,yBAAyB,EAAEL,QAAQ,CAAC;EACtE;EAEA,OAAO,IAAI;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","RNIapIosSk2","sync","isEligibleForIntroOffer","groupID","subscriptionStatus","sku","currentEntitlement","latestTransaction","beginRefundRequest","showManageSubscriptions","finishTransaction","transactionIdentifier"],"sourceRoot":"../../../src","sources":["modules/iosSk2.ts"],"mappings":"AAAA,SAAQA,aAAa,QAAO,cAAc;AAY1C,MAAM;EAACC;AAAW,CAAC,GAAGD,aAAa;AAkDnC;AACA;AACA;AACA;AACA,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAqBD,WAAW,CAACC,IAAI,CAAC,CAAC;;AAE3D;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAIC,OAAe,IACrDH,WAAW,CAACE,uBAAuB,CAACC,OAAO,CAAC;;AAE9C;AACA;AACA;;AAEA,OAAO,MAAMC,kBAAkB,GAAIC,GAAW,IAC5CL,WAAW,CAACI,kBAAkB,CAACC,GAAG,CAAC;;AAErC;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAID,GAAW,IAC5CL,WAAW,CAACM,kBAAkB,CAACD,GAAG,CAAC;;AAErC;AACA;AACA;AACA,OAAO,MAAME,iBAAiB,GAAIF,GAAW,IAC3CL,WAAW,CAACO,iBAAiB,CAACF,GAAG,CAAC;;AAEpC;AACA;AACA;AACA,OAAO,MAAMG,kBAAkB,GAAIH,GAAW,IAC5CL,WAAW,CAACQ,kBAAkB,CAACH,GAAG,CAAC;;AAErC;AACA;AACA;AACA,OAAO,MAAMI,uBAAuB,GAAGA,CAAA,KACrCT,WAAW,CAACS,uBAAuB,CAAC,CAAC;;AAEvC;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAC5BC,qBAA6B,IACRX,WAAW,CAACU,iBAAiB,CAACC,qBAAqB,CAAC"}
1
+ {"version":3,"names":["NativeModules","RNIapIosSk2","sync","isEligibleForIntroOffer","groupID","subscriptionStatus","sku","currentEntitlement","latestTransaction","beginRefundRequest","showManageSubscriptions","finishTransaction","transactionIdentifier"],"sourceRoot":"../../../src","sources":["modules/iosSk2.ts"],"mappings":"AAAA,SAAQA,aAAa,QAAO,cAAc;AAY1C,MAAM;EAACC;AAAW,CAAC,GAAGD,aAAa;AAkDnC;AACA;AACA;AACA;AACA,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAqBD,WAAW,CAACC,IAAI,CAAC,CAAC;;AAE3D;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAIC,OAAe,IACrDH,WAAW,CAACE,uBAAuB,CAACC,OAAO,CAAC;;AAE9C;AACA;AACA;;AAEA,OAAO,MAAMC,kBAAkB,GAAIC,GAAW,IAC5CL,WAAW,CAACI,kBAAkB,CAACC,GAAG,CAAC;;AAErC;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAID,GAAW,IAC5CL,WAAW,CAACM,kBAAkB,CAACD,GAAG,CAAC;;AAErC;AACA;AACA;AACA,OAAO,MAAME,iBAAiB,GAAIF,GAAW,IAC3CL,WAAW,CAACO,iBAAiB,CAACF,GAAG,CAAC;;AAEpC;AACA;AACA;AACA,OAAO,MAAMG,kBAAkB,GAAIH,GAAW,IAC5CL,WAAW,CAACQ,kBAAkB,CAACH,GAAG,CAAC;;AAErC;AACA;AACA;AACA,OAAO,MAAMI,uBAAuB,GAAGA,CAAA,KACrCT,WAAW,CAACS,uBAAuB,CAAC,CAAC;;AAEvC;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAIC,qBAA6B,IAC7DX,WAAW,CAACU,iBAAiB,CAACC,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"eventEmitter.d.ts","sourceRoot":"","sources":["../../../src/eventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AAErE,OAAO,EAAC,gBAAgB,EAA8B,MAAM,kBAAkB,CAAC;AAS/E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,uBAAuB,qBAChB,QAAQ,KAAK,IAAI,wBAkBpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,qBAAqB,qBACd,aAAa,KAAK,IAAI,KACvC,mBAGF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,uBAAuB,aAAc,MAAM,IAAI,+BAO3D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,mBAAmB,qBACZ,gBAAgB,KAAK,IAAI,+BAQ5C,CAAC"}
1
+ {"version":3,"file":"eventEmitter.d.ts","sourceRoot":"","sources":["../../../src/eventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AAErE,OAAO,EAAC,gBAAgB,EAA8B,MAAM,kBAAkB,CAAC;AAG/E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,uBAAuB,qBAChB,QAAQ,KAAK,IAAI,wBAkBpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,qBAAqB,qBACd,aAAa,KAAK,IAAI,KACvC,mBAGF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,uBAAuB,aAAc,MAAM,IAAI,+BAO3D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,mBAAmB,qBACZ,gBAAgB,KAAK,IAAI,+BAQ5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"iosSk2.d.ts","sourceRoot":"","sources":["../../../../src/modules/iosSk2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iosSk2.d.ts","sourceRoot":"","sources":["../../../../src/modules/iosSk2.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-iap",
3
- "version": "12.13.2",
3
+ "version": "12.14.1-rc.1",
4
4
  "description": "React Native In App Purchase Module.",
5
5
  "repository": "https://github.com/dooboolab-community/react-native-iap",
6
6
  "author": "hyochan <dooboolab@gmail.com> (https://github.com/hyochan)",
@@ -71,6 +71,7 @@
71
71
  "lint:ci": "yarn lint:tsc && yarn lint:eslint -f ./node_modules/@firmnav/eslint-github-actions-formatter/dist/formatter.js && yarn lint:prettier",
72
72
  "lint:prettier": "prettier --write \"**/*.{md,js,jsx,ts,tsx}\"",
73
73
  "lint:swift": "swiftlint lint --fix --format --path ios/*.swift --config .swiftlint.yml",
74
+ "lint:kotlin": "ktlint --format",
74
75
  "format": "git ls-files -m | xargs yarn prettier --write --ignore-unknown --no-error-on-unmatched-pattern",
75
76
  "bootstrap": "yarn example && yarn && yarn example pods",
76
77
  "gen:doc": "typedoc",
@@ -85,8 +86,6 @@
85
86
  "@jeremybarbet/google-api-types": "1.4.0",
86
87
  "@react-native-community/eslint-config": "3.2.0",
87
88
  "@release-it/conventional-changelog": "5.1.1",
88
- "@testing-library/jest-native": "5.4.2",
89
- "@testing-library/react-native": "12.1.2",
90
89
  "@types/jest": "29.5.1",
91
90
  "@types/react": "*",
92
91
  "@typescript-eslint/eslint-plugin": "5.57.1",
@@ -102,7 +101,7 @@
102
101
  "monolinter": "1.0.4",
103
102
  "pod-install": "0.1.38",
104
103
  "prettier": "2.8.8",
105
- "react": "17.0.2",
104
+ "react": "18.2.0",
106
105
  "react-native": "*",
107
106
  "react-native-builder-bob": "0.20.4",
108
107
  "release-it": "15.10.3",
@@ -2,13 +2,7 @@ import {EmitterSubscription, NativeEventEmitter} from 'react-native';
2
2
 
3
3
  import {TransactionEvent, transactionSk2ToPurchaseMap} from './types/appleSk2';
4
4
  import {isIosStorekit2} from './iap';
5
- import {
6
- getAndroidModule,
7
- getIosModule,
8
- getNativeModule,
9
- isAndroid,
10
- isIos,
11
- } from './internal';
5
+ import { getAndroidModule, getIosModule, getNativeModule, isAndroid, isIos } from './internal';
12
6
  import type {PurchaseError} from './purchaseError';
13
7
  import type {Purchase} from './types';
14
8
 
@@ -106,6 +106,5 @@ export const showManageSubscriptions = (): Promise<null> =>
106
106
  /**
107
107
  *
108
108
  */
109
- export const finishTransaction = (
110
- transactionIdentifier: string,
111
- ): Promise<Boolean> => RNIapIosSk2.finishTransaction(transactionIdentifier);
109
+ export const finishTransaction = (transactionIdentifier: string): Promise<Boolean> =>
110
+ RNIapIosSk2.finishTransaction(transactionIdentifier);