@primer-io/react-native 2.6.0 → 2.8.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 (67) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +1 -0
  3. package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +24 -1
  4. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +24 -1
  5. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt +13 -0
  6. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutDataRN.kt +4 -1
  7. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerEvents.kt +1 -0
  8. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerPaymentInstrumentTokenRN.kt +50 -4
  9. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +63 -28
  10. package/android/src/main/java/com/primerioreactnative/extensions/LocaleSettingsRN.kt +12 -0
  11. package/android/src/main/java/com/primerioreactnative/extensions/PaymentInstrumentData.kt +24 -0
  12. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +12 -0
  13. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutData.kt +1 -1
  14. package/android/src/main/java/com/primerioreactnative/extensions/PrimerDebugOptionsRN.kt +7 -0
  15. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +27 -0
  16. package/android/src/main/java/com/primerioreactnative/extensions/PrimerUIOptionsRN.kt +13 -0
  17. package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +2 -0
  18. package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +2 -0
  19. package/ios/DataModels/ImplementedRNCallbacks.swift +6 -3
  20. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +23 -1
  21. package/ios/RNTPrimer.swift +72 -49
  22. package/ios/ReactNative-Bridging-Header.h +10 -0
  23. package/lib/commonjs/Primer.js +14 -3
  24. package/lib/commonjs/Primer.js.map +1 -1
  25. package/lib/commonjs/RNPrimer.js +1 -1
  26. package/lib/commonjs/RNPrimer.js.map +1 -1
  27. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +17 -6
  28. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  29. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js +1 -1
  30. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
  31. package/lib/commonjs/index.js +14 -0
  32. package/lib/commonjs/index.js.map +1 -1
  33. package/lib/commonjs/models/PrimerCheckoutAdditionalInfo.js +2 -0
  34. package/lib/commonjs/models/PrimerCheckoutAdditionalInfo.js.map +1 -0
  35. package/lib/commonjs/models/PrimerCheckoutData.js +3 -0
  36. package/lib/commonjs/models/PrimerCheckoutData.js.map +1 -1
  37. package/lib/module/Primer.js +14 -3
  38. package/lib/module/Primer.js.map +1 -1
  39. package/lib/module/RNPrimer.js +1 -1
  40. package/lib/module/RNPrimer.js.map +1 -1
  41. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +17 -6
  42. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  43. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js +1 -1
  44. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
  45. package/lib/module/index.js +1 -0
  46. package/lib/module/index.js.map +1 -1
  47. package/lib/module/models/PrimerCheckoutAdditionalInfo.js +2 -0
  48. package/lib/module/models/PrimerCheckoutAdditionalInfo.js.map +1 -0
  49. package/lib/module/models/PrimerCheckoutData.js +2 -0
  50. package/lib/module/models/PrimerCheckoutData.js.map +1 -1
  51. package/lib/typescript/src/RNPrimer.d.ts +1 -1
  52. package/lib/typescript/src/headless_checkout/RNPrimerHeadlessUniversalCheckout.d.ts +1 -1
  53. package/lib/typescript/src/index.d.ts +1 -0
  54. package/lib/typescript/src/models/PrimerCheckoutAdditionalInfo.d.ts +10 -0
  55. package/lib/typescript/src/models/PrimerCheckoutData.d.ts +3 -1
  56. package/lib/typescript/src/models/PrimerSettings.d.ts +2 -0
  57. package/package.json +1 -1
  58. package/primer-io-react-native.podspec +1 -1
  59. package/src/Primer.ts +16 -0
  60. package/src/RNPrimer.ts +2 -0
  61. package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +16 -0
  62. package/src/headless_checkout/RNPrimerHeadlessUniversalCheckout.ts +2 -0
  63. package/src/index.tsx +5 -1
  64. package/src/models/PrimerCheckoutAdditionalInfo.ts +11 -0
  65. package/src/models/PrimerCheckoutData.ts +5 -2
  66. package/src/models/PrimerSettings.ts +8 -6
  67. package/ios/Core/ReactNative-Bridging-Header.h +0 -14
@@ -11,7 +11,7 @@ import UIKit
11
11
 
12
12
  @objc
13
13
  enum PrimerEvents: Int, CaseIterable {
14
-
14
+
15
15
  case onCheckoutComplete = 0
16
16
  case onBeforeClientSessionUpdate
17
17
  case onClientSessionUpdate
@@ -19,9 +19,10 @@ enum PrimerEvents: Int, CaseIterable {
19
19
  case onDismiss
20
20
  case onTokenizeSuccess
21
21
  case onResumeSuccess
22
+ case onResumePending
22
23
  case onError
23
24
  case detectImplementedRNCallbacks
24
-
25
+
25
26
  var stringValue: String {
26
27
  switch self {
27
28
  case .onCheckoutComplete:
@@ -38,6 +39,8 @@ enum PrimerEvents: Int, CaseIterable {
38
39
  return "onTokenizeSuccess"
39
40
  case .onResumeSuccess:
40
41
  return "onResumeSuccess"
42
+ case .onResumePending:
43
+ return "onResumePending"
41
44
  case .onError:
42
45
  return "onError"
43
46
  case .detectImplementedRNCallbacks:
@@ -54,28 +57,28 @@ class RNTPrimer: RCTEventEmitter {
54
57
  private var primerDidResumeWithDecisionHandler: ((_ resumeToken: String?, _ errorMessage: String?) -> Void)?
55
58
  private var primerDidFailWithErrorDecisionHandler: ((_ errorMessage: String) -> Void)?
56
59
  private var implementedRNCallbacks: ImplementedRNCallbacks?
57
-
60
+
58
61
  // MARK: - INITIALIZATION & REACT NATIVE SUPPORT
59
-
62
+
60
63
  override class func requiresMainQueueSetup() -> Bool {
61
64
  return true
62
65
  }
63
-
66
+
64
67
  deinit {
65
68
  print("🧨 deinit: \(self) \(Unmanaged.passUnretained(self).toOpaque())")
66
69
  }
67
-
70
+
68
71
  override init() {
69
72
  super.init()
70
73
  PrimerSDK.Primer.shared.delegate = self
71
74
  }
72
-
75
+
73
76
  override func supportedEvents() -> [String]! {
74
77
  return PrimerEvents.allCases.compactMap({ $0.stringValue })
75
78
  }
76
-
79
+
77
80
  // MARK: - SDK API
78
-
81
+
79
82
  @objc
80
83
  public func configure(_ settingsStr: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
81
84
  DispatchQueue.main.async {
@@ -87,7 +90,7 @@ class RNTPrimer: RCTEventEmitter {
87
90
  }
88
91
  }
89
92
  }
90
-
93
+
91
94
  @objc
92
95
  public func showUniversalCheckoutWithClientToken(_ clientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
93
96
  DispatchQueue.main.async {
@@ -102,7 +105,7 @@ class RNTPrimer: RCTEventEmitter {
102
105
  }
103
106
  }
104
107
  }
105
-
108
+
106
109
  @objc
107
110
  public func showVaultManagerWithClientToken(_ clientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
108
111
  DispatchQueue.main.async {
@@ -117,7 +120,7 @@ class RNTPrimer: RCTEventEmitter {
117
120
  }
118
121
  }
119
122
  }
120
-
123
+
121
124
  @objc
122
125
  public func showPaymentMethod(_ paymentMethodTypeStr: String, intent: String, clientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
123
126
  DispatchQueue.main.async {
@@ -126,7 +129,7 @@ class RNTPrimer: RCTEventEmitter {
126
129
  let err = NSError(domain: "native-bridge", code: 0, userInfo: [NSLocalizedDescriptionKey: "Intent \(intent) is not valid."])
127
130
  throw err
128
131
  }
129
-
132
+
130
133
  PrimerSDK.Primer.shared.showPaymentMethod(paymentMethodTypeStr, withIntent: primerIntent, andClientToken: clientToken) { err in
131
134
  DispatchQueue.main.async {
132
135
  if let err = err {
@@ -141,21 +144,21 @@ class RNTPrimer: RCTEventEmitter {
141
144
  }
142
145
  }
143
146
  }
144
-
147
+
145
148
  @objc
146
149
  public func dismiss() {
147
150
  Primer.shared.dismiss()
148
151
  }
149
-
152
+
150
153
  @objc
151
154
  public func dispose() {
152
155
  Primer.shared.dismiss()
153
156
  }
154
-
157
+
155
158
  // MARK: - DECISION HANDLERS
156
-
159
+
157
160
  // MARK: Tokenization
158
-
161
+
159
162
  @objc
160
163
  public func handleTokenizationNewClientToken(_ newClientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
161
164
  DispatchQueue.main.async {
@@ -164,7 +167,7 @@ class RNTPrimer: RCTEventEmitter {
164
167
  resolver(nil)
165
168
  }
166
169
  }
167
-
170
+
168
171
  @objc
169
172
  public func handleTokenizationSuccess(_ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
170
173
  DispatchQueue.main.async {
@@ -173,7 +176,7 @@ class RNTPrimer: RCTEventEmitter {
173
176
  resolver(nil)
174
177
  }
175
178
  }
176
-
179
+
177
180
  @objc
178
181
  public func handleTokenizationFailure(_ errorMessage: String?, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
179
182
  DispatchQueue.main.async {
@@ -182,9 +185,9 @@ class RNTPrimer: RCTEventEmitter {
182
185
  resolver(nil)
183
186
  }
184
187
  }
185
-
188
+
186
189
  // MARK: Resume Payment
187
-
190
+
188
191
  @objc
189
192
  public func handleResumeWithNewClientToken(_ newClientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
190
193
  DispatchQueue.main.async {
@@ -193,7 +196,7 @@ class RNTPrimer: RCTEventEmitter {
193
196
  resolver(nil)
194
197
  }
195
198
  }
196
-
199
+
197
200
  @objc
198
201
  public func handleResumeSuccess(_ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
199
202
  DispatchQueue.main.async {
@@ -202,7 +205,7 @@ class RNTPrimer: RCTEventEmitter {
202
205
  resolver(nil)
203
206
  }
204
207
  }
205
-
208
+
206
209
  @objc
207
210
  public func handleResumeFailure(_ errorMessage: String?, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
208
211
  DispatchQueue.main.async {
@@ -211,9 +214,9 @@ class RNTPrimer: RCTEventEmitter {
211
214
  resolver(nil)
212
215
  }
213
216
  }
214
-
217
+
215
218
  // MARK: Payment Creation
216
-
219
+
217
220
  @objc
218
221
  public func handlePaymentCreationAbort(_ errorMessage: String?, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
219
222
  DispatchQueue.main.async {
@@ -222,7 +225,7 @@ class RNTPrimer: RCTEventEmitter {
222
225
  resolver(nil)
223
226
  }
224
227
  }
225
-
228
+
226
229
  @objc
227
230
  public func handlePaymentCreationContinue(_ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
228
231
  DispatchQueue.main.async {
@@ -231,9 +234,9 @@ class RNTPrimer: RCTEventEmitter {
231
234
  resolver(nil)
232
235
  }
233
236
  }
234
-
237
+
235
238
  // MARK: Error Handler
236
-
239
+
237
240
  @objc
238
241
  public func showErrorMessage(_ errorMessage: String?, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
239
242
  DispatchQueue.main.async {
@@ -242,17 +245,17 @@ class RNTPrimer: RCTEventEmitter {
242
245
  resolver(nil)
243
246
  }
244
247
  }
245
-
248
+
246
249
  // MARK: Helpers
247
-
250
+
248
251
  private func configure(settingsStr: String? = nil) throws {
249
252
  try PrimerSDK.Primer.shared.configure(settings: PrimerSettings.initialize(with: settingsStr), delegate: self)
250
253
  }
251
-
254
+
252
255
  private func detectImplemetedCallbacks() {
253
256
  sendEvent(withName: PrimerEvents.detectImplementedRNCallbacks.stringValue, body: nil)
254
257
  }
255
-
258
+
256
259
  @objc
257
260
  public func setImplementedRNCallbacks(_ implementedRNCallbacksStr: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
258
261
  DispatchQueue.main.async {
@@ -265,19 +268,19 @@ class RNTPrimer: RCTEventEmitter {
265
268
  resolver(nil)
266
269
  } catch {
267
270
  self.primerDidFailWithError(error, data: nil) { decisionHandler in
268
-
271
+
269
272
  }
270
273
  rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
271
274
  }
272
275
  }
273
276
  }
274
-
277
+
275
278
  private func handleRNBridgeError(_ error: Error, checkoutData: PrimerCheckoutData?, stopOnDebug: Bool) {
276
279
  DispatchQueue.main.async {
277
280
  if stopOnDebug {
278
281
  assertionFailure(error.localizedDescription)
279
282
  }
280
-
283
+
281
284
  var body: [String: Any] = ["error": error.rnError]
282
285
  if let checkoutData = checkoutData,
283
286
  let data = try? JSONEncoder().encode(checkoutData),
@@ -293,7 +296,7 @@ class RNTPrimer: RCTEventEmitter {
293
296
  // MARK: - PRIMER DELEGATE
294
297
 
295
298
  extension RNTPrimer: PrimerDelegate {
296
-
299
+
297
300
  func primerDidCompleteCheckoutWithData(_ data: PrimerCheckoutData) {
298
301
  DispatchQueue.main.async {
299
302
  if self.implementedRNCallbacks?.isOnCheckoutCompleteImplemented == true {
@@ -310,7 +313,27 @@ extension RNTPrimer: PrimerDelegate {
310
313
  }
311
314
  }
312
315
  }
313
-
316
+
317
+ func primerDidEnterResumePendingWithPaymentAdditionalInfo(_ additionalInfo: PrimerCheckoutAdditionalInfo?) {
318
+ DispatchQueue.main.async {
319
+ if self.implementedRNCallbacks?.isOnResumePendingImplemented == true {
320
+ do {
321
+ let checkoutAdditionalInfo = try JSONEncoder().encode(additionalInfo)
322
+ let checkoutAdditionalInfoJson = try JSONSerialization.jsonObject(with: checkoutAdditionalInfo, options: .allowFragments)
323
+ self.sendEvent(withName: PrimerHeadlessUniversalCheckoutEvents.onResumePending.stringValue, body: checkoutAdditionalInfoJson)
324
+ } catch {
325
+ let checkoutData = PrimerCheckoutData(payment: nil, additionalInfo: additionalInfo)
326
+ self.handleRNBridgeError(error, checkoutData: checkoutData, stopOnDebug: true)
327
+ }
328
+ } else {
329
+ let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "Callback [onResumePending] should be implemented."])
330
+ let checkoutData = PrimerCheckoutData(payment: nil, additionalInfo: additionalInfo)
331
+ self.handleRNBridgeError(err, checkoutData: checkoutData, stopOnDebug: false)
332
+ }
333
+ }
334
+ }
335
+
336
+
314
337
  func primerWillCreatePaymentWithData(_ data: PrimerCheckoutPaymentMethodData, decisionHandler: @escaping (PrimerPaymentCreationDecision) -> Void) {
315
338
  if self.implementedRNCallbacks?.isOnBeforePaymentCreateImplemented == true {
316
339
  self.primerWillCreatePaymentWithDataDecisionHandler = { errorMessage in
@@ -322,7 +345,7 @@ extension RNTPrimer: PrimerDelegate {
322
345
  }
323
346
  }
324
347
  }
325
-
348
+
326
349
  DispatchQueue.main.async {
327
350
  do {
328
351
  let checkoutPaymentmethodData = try JSONEncoder().encode(data)
@@ -339,7 +362,7 @@ extension RNTPrimer: PrimerDelegate {
339
362
  }
340
363
  }
341
364
  }
342
-
365
+
343
366
  func primerClientSessionWillUpdate() {
344
367
  if self.implementedRNCallbacks?.isOnBeforeClientSessionUpdateImplemented == true {
345
368
  DispatchQueue.main.async {
@@ -349,7 +372,7 @@ extension RNTPrimer: PrimerDelegate {
349
372
  // RN Dev hasn't implemented this callback, ignore.
350
373
  }
351
374
  }
352
-
375
+
353
376
  func primerClientSessionDidUpdate(_ clientSession: PrimerClientSession) {
354
377
  if self.implementedRNCallbacks?.isOnClientSessionUpdateImplemented == true {
355
378
  do {
@@ -365,7 +388,7 @@ extension RNTPrimer: PrimerDelegate {
365
388
  // RN Dev hasn't implemented this callback, ignore.
366
389
  }
367
390
  }
368
-
391
+
369
392
  func primerDidTokenizePaymentMethod(_ paymentMethodTokenData: PrimerPaymentMethodTokenData, decisionHandler: @escaping (PrimerResumeDecision) -> Void) {
370
393
  if self.implementedRNCallbacks?.isOnTokenizeSuccessImplemented == true {
371
394
  self.primerDidTokenizePaymentMethodDecisionHandler = { (newClientToken, errorMessage) in
@@ -379,7 +402,7 @@ extension RNTPrimer: PrimerDelegate {
379
402
  }
380
403
  }
381
404
  }
382
-
405
+
383
406
  do {
384
407
  let data = try JSONEncoder().encode(paymentMethodTokenData)
385
408
  let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
@@ -395,7 +418,7 @@ extension RNTPrimer: PrimerDelegate {
395
418
  // auto flow.
396
419
  }
397
420
  }
398
-
421
+
399
422
  func primerDidResumeWith(_ resumeToken: String, decisionHandler: @escaping (PrimerResumeDecision) -> Void) {
400
423
  if self.implementedRNCallbacks?.isOnResumeSuccessImplemented == true {
401
424
  self.primerDidResumeWithDecisionHandler = { (resumeToken, errorMessage) in
@@ -409,7 +432,7 @@ extension RNTPrimer: PrimerDelegate {
409
432
  }
410
433
  }
411
434
  }
412
-
435
+
413
436
  DispatchQueue.main.async {
414
437
  self.sendEvent(withName: PrimerEvents.onResumeSuccess.stringValue, body: ["resumeToken": resumeToken])
415
438
  }
@@ -418,7 +441,7 @@ extension RNTPrimer: PrimerDelegate {
418
441
  // Throw an error if it's the manual flow.
419
442
  }
420
443
  }
421
-
444
+
422
445
  func primerDidDismiss() {
423
446
  if self.implementedRNCallbacks?.isOnDismissImplemented == true {
424
447
  DispatchQueue.main.async {
@@ -429,7 +452,7 @@ extension RNTPrimer: PrimerDelegate {
429
452
  // Ignore!
430
453
  }
431
454
  }
432
-
455
+
433
456
  func primerDidFailWithError(_ error: Error, data: PrimerCheckoutData?, decisionHandler: @escaping ((PrimerErrorDecision) -> Void)) {
434
457
  if self.implementedRNCallbacks?.isOnErrorImplemented == true {
435
458
  // Set up the callback that will be called by **handleErrorMessage** when the RN
@@ -440,10 +463,10 @@ extension RNTPrimer: PrimerDelegate {
440
463
  decisionHandler(.fail(withErrorMessage: errorMessage.isEmpty ? nil : errorMessage))
441
464
  }
442
465
  }
443
-
466
+
444
467
  // Send the error message to the RN bridge.
445
468
  self.handleRNBridgeError(error, checkoutData: nil, stopOnDebug: false)
446
-
469
+
447
470
  } else {
448
471
  // RN dev hasn't opted in on listening SDK dismiss.
449
472
  // Ignore!
@@ -2,3 +2,13 @@
2
2
  #import <React/RCTEventEmitter.h>
3
3
  #import <React/RCTViewManager.h>
4
4
  #import <React/RCTUIManager.h>
5
+ #import <React/RCTView.h>
6
+
7
+ // for view controller implementation https://stackoverflow.com/questions/45741903/react-native-ios-how-can-i-navigate-to-a-non-react-native-view-native-ios-vie/46007680#46007680
8
+ //#import "React/RCTBridge.h"
9
+ //#import "React/RCTEventDispatcher.h"
10
+ //#import "React/RCTRootView.h"
11
+ //#import "React/RCTUtils.h"
12
+ //#import "React/RCTConvert.h"
13
+ //#import "React/RCTBundleURLProvider.h"
14
+ //#import "RCTViewManager.h"
@@ -94,7 +94,7 @@ let primerSettings = undefined;
94
94
  async function configureListeners() {
95
95
  return new Promise(async (resolve, reject) => {
96
96
  try {
97
- var _primerSettings, _primerSettings2, _primerSettings3, _primerSettings4, _primerSettings5, _primerSettings6, _primerSettings7, _primerSettings8;
97
+ var _primerSettings, _primerSettings2, _primerSettings3, _primerSettings4, _primerSettings5, _primerSettings6, _primerSettings7, _primerSettings8, _primerSettings9;
98
98
 
99
99
  _RNPrimer.default.removeAllListeners();
100
100
 
@@ -105,8 +105,9 @@ async function configureListeners() {
105
105
  onClientSessionUpdate: ((_primerSettings4 = primerSettings) === null || _primerSettings4 === void 0 ? void 0 : _primerSettings4.onClientSessionUpdate) !== undefined,
106
106
  onTokenizeSuccess: ((_primerSettings5 = primerSettings) === null || _primerSettings5 === void 0 ? void 0 : _primerSettings5.onTokenizeSuccess) !== undefined,
107
107
  onResumeSuccess: ((_primerSettings6 = primerSettings) === null || _primerSettings6 === void 0 ? void 0 : _primerSettings6.onResumeSuccess) !== undefined,
108
- onDismiss: ((_primerSettings7 = primerSettings) === null || _primerSettings7 === void 0 ? void 0 : _primerSettings7.onDismiss) !== undefined,
109
- onError: ((_primerSettings8 = primerSettings) === null || _primerSettings8 === void 0 ? void 0 : _primerSettings8.onError) !== undefined
108
+ onResumePending: ((_primerSettings7 = primerSettings) === null || _primerSettings7 === void 0 ? void 0 : _primerSettings7.onResumePending) !== undefined,
109
+ onDismiss: ((_primerSettings8 = primerSettings) === null || _primerSettings8 === void 0 ? void 0 : _primerSettings8.onDismiss) !== undefined,
110
+ onError: ((_primerSettings9 = primerSettings) === null || _primerSettings9 === void 0 ? void 0 : _primerSettings9.onError) !== undefined
110
111
  };
111
112
  await _RNPrimer.default.setImplementedRNCallbacks(implementedRNCallbacks);
112
113
 
@@ -162,6 +163,16 @@ async function configureListeners() {
162
163
  });
163
164
  }
164
165
 
166
+ if (implementedRNCallbacks.onResumePending) {
167
+ _RNPrimer.default.addListener('onResumePending', additionalInfo => {
168
+ if (primerSettings && primerSettings.onResumePending) {
169
+ const checkoutAdditionalInfo = additionalInfo;
170
+ primerSettings.onResumePending(checkoutAdditionalInfo);
171
+ } else {// Ignore!
172
+ }
173
+ });
174
+ }
175
+
165
176
  if (implementedRNCallbacks.onDismiss) {
166
177
  _RNPrimer.default.addListener('onDismiss', _ => {
167
178
  if (primerSettings && primerSettings.onDismiss) {
@@ -1 +1 @@
1
- {"version":3,"sources":["Primer.ts"],"names":["tokenizationHandler","handleFailure","errorMessage","RNPrimer","handleTokenizationFailure","err","console","error","handleSuccess","handleTokenizationSuccess","continueWithNewClientToken","newClientToken","handleTokenizationNewClientToken","resumeHandler","handleResumeFailure","handleResumeSuccess","handleResumeWithNewClientToken","paymentCreationHandler","abortPaymentCreation","handlePaymentCreationAbort","continuePaymentCreation","handlePaymentCreationContinue","errorHandler","showErrorMessage","primerSettings","undefined","configureListeners","Promise","resolve","reject","removeAllListeners","implementedRNCallbacks","onCheckoutComplete","onBeforePaymentCreate","onBeforeClientSessionUpdate","onClientSessionUpdate","onTokenizeSuccess","onResumeSuccess","onDismiss","onError","setImplementedRNCallbacks","addListener","data","checkoutData","checkoutPaymentMethodData","_","clientSession","paymentMethodTokenData","resumeToken","errorId","description","recoverySuggestion","primerError","PrimerError","Primer","configure","settings","showUniversalCheckout","clientToken","showVaultManager","showPaymentMethod","paymentMethodType","intent","dispose","dismiss"],"mappings":"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","sourcesContent":["import type { PrimerCheckoutData } from './models/PrimerCheckoutData';\nimport type { PrimerSessionIntent } from './models/PrimerSessionIntent';\nimport type { PrimerSettings } from './models/PrimerSettings';\nimport RNPrimer from './RNPrimer';\nimport type { PrimerCheckoutPaymentMethodData } from './models/PrimerCheckoutPaymentMethodData';\nimport type { PrimerClientSession } from './models/PrimerClientSession';\nimport type { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';\nimport { PrimerError } from './models/PrimerError';\nimport type { IPrimer, PrimerErrorHandler, PrimerPaymentCreationHandler, PrimerResumeHandler, PrimerTokenizationHandler } from './models/PrimerInterfaces';\n\n///////////////////////////////////////////\n// DECISION HANDLERS\n///////////////////////////////////////////\n\n// Tokenization Handler\n\nconst tokenizationHandler: PrimerTokenizationHandler = {\n handleFailure: async (errorMessage: string) => {\n try {\n RNPrimer.handleTokenizationFailure(errorMessage);\n } catch (err) {\n console.error(err);\n }\n },\n\n handleSuccess: async () => {\n try {\n RNPrimer.handleTokenizationSuccess();\n } catch (err) {\n console.error(err);\n }\n },\n\n continueWithNewClientToken: async (newClientToken: string) => {\n try {\n RNPrimer.handleTokenizationNewClientToken(newClientToken);\n } catch (err) {\n console.error(err);\n }\n }\n}\n\n// Resume Handler\n\nconst resumeHandler: PrimerResumeHandler = {\n handleFailure: async (errorMessage: string) => {\n try {\n RNPrimer.handleResumeFailure(errorMessage);\n } catch (err) {\n console.error(err);\n }\n },\n\n handleSuccess: async () => {\n try {\n RNPrimer.handleResumeSuccess();\n } catch (err) {\n console.error(err);\n }\n },\n\n continueWithNewClientToken: async (newClientToken: string) => {\n try {\n RNPrimer.handleResumeWithNewClientToken(newClientToken);\n } catch (err) {\n console.error(err);\n }\n }\n}\n\n// Payment Creation Handler\n\nconst paymentCreationHandler: PrimerPaymentCreationHandler = {\n abortPaymentCreation: async (errorMessage: string) => {\n try {\n RNPrimer.handlePaymentCreationAbort(errorMessage);\n } catch (err) {\n console.error(err);\n }\n },\n\n continuePaymentCreation: async () => {\n try {\n RNPrimer.handlePaymentCreationContinue();\n } catch (err) {\n console.error(err);\n }\n }\n}\n\n// Error Handler\n\nconst errorHandler: PrimerErrorHandler = {\n showErrorMessage: async (errorMessage: string) => {\n try {\n RNPrimer.showErrorMessage(errorMessage || \"\");\n } catch (err) {\n console.error(err);\n }\n }\n}\n\nlet primerSettings: PrimerSettings | undefined = undefined;\n\nasync function configureListeners(): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n RNPrimer.removeAllListeners();\n\n let implementedRNCallbacks: any = {\n onCheckoutComplete: (primerSettings?.onCheckoutComplete !== undefined),\n onBeforePaymentCreate: (primerSettings?.onBeforePaymentCreate !== undefined),\n onBeforeClientSessionUpdate: (primerSettings?.onBeforeClientSessionUpdate !== undefined),\n onClientSessionUpdate: (primerSettings?.onClientSessionUpdate !== undefined),\n onTokenizeSuccess: (primerSettings?.onTokenizeSuccess !== undefined),\n onResumeSuccess: (primerSettings?.onResumeSuccess !== undefined),\n onDismiss: (primerSettings?.onDismiss !== undefined),\n onError: (primerSettings?.onError !== undefined),\n };\n\n await RNPrimer.setImplementedRNCallbacks(implementedRNCallbacks);\n\n if (implementedRNCallbacks.onCheckoutComplete) {\n RNPrimer.addListener('onCheckoutComplete', data => {\n if (primerSettings && primerSettings.onCheckoutComplete) {\n const checkoutData: PrimerCheckoutData = data;\n primerSettings.onCheckoutComplete(checkoutData);\n }\n });\n }\n\n if (implementedRNCallbacks.onBeforePaymentCreate) {\n RNPrimer.addListener('onBeforePaymentCreate', data => {\n if (primerSettings && primerSettings.onBeforePaymentCreate) {\n const checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData = data;\n primerSettings.onBeforePaymentCreate(checkoutPaymentMethodData, paymentCreationHandler);\n }\n });\n }\n\n if (implementedRNCallbacks.onBeforeClientSessionUpdate) {\n RNPrimer.addListener('onBeforeClientSessionUpdate', _ => {\n if (primerSettings && primerSettings.onBeforeClientSessionUpdate) {\n primerSettings.onBeforeClientSessionUpdate();\n }\n });\n }\n\n if (implementedRNCallbacks.onClientSessionUpdate) {\n RNPrimer.addListener('onClientSessionUpdate', data => {\n if (primerSettings && primerSettings.onClientSessionUpdate) {\n const clientSession: PrimerClientSession = data;\n primerSettings.onClientSessionUpdate(clientSession);\n }\n });\n }\n\n if (implementedRNCallbacks.onTokenizeSuccess) {\n RNPrimer.addListener('onTokenizeSuccess', data => {\n if (primerSettings && primerSettings.onTokenizeSuccess) {\n const paymentMethodTokenData: PrimerPaymentMethodTokenData = data;\n primerSettings.onTokenizeSuccess(paymentMethodTokenData, tokenizationHandler);\n }\n });\n }\n\n if (implementedRNCallbacks.onResumeSuccess) {\n RNPrimer.addListener('onResumeSuccess', data => {\n if (primerSettings && primerSettings.onResumeSuccess && data.resumeToken) {\n primerSettings.onResumeSuccess(data.resumeToken, resumeHandler);\n }\n });\n }\n\n if (implementedRNCallbacks.onDismiss) {\n RNPrimer.addListener('onDismiss', _ => {\n if (primerSettings && primerSettings.onDismiss) {\n primerSettings.onDismiss();\n }\n });\n }\n\n if (implementedRNCallbacks.onError) {\n RNPrimer.addListener('onError', data => {\n if (data && data.error && data.error.errorId && primerSettings && primerSettings.onError) {\n const errorId: string = data.error.errorId;\n const description: string | undefined = data.error.description;\n const recoverySuggestion: string | undefined = data.error.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n\n if (data.checkoutData) {\n primerSettings.onError(primerError, data.checkoutData, errorHandler);\n } else {\n primerSettings.onError(primerError, null, errorHandler);\n }\n }\n });\n }\n\n resolve();\n\n } catch (err) {\n reject(err);\n }\n });\n}\n\nexport const Primer: IPrimer = {\n\n ///////////////////////////////////////////\n // SDK API\n ///////////////////////////////////////////\n\n async configure(settings?: PrimerSettings): Promise<void> {\n primerSettings = settings;\n return new Promise(async (resolve, reject) => {\n try {\n await RNPrimer.configure(settings);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n async showUniversalCheckout(clientToken: string): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n await configureListeners();\n await RNPrimer.showUniversalCheckout(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n async showVaultManager(clientToken: string): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n await configureListeners();\n await RNPrimer.showVaultManager(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n async showPaymentMethod(\n paymentMethodType: string,\n intent: PrimerSessionIntent,\n clientToken: string\n ): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n await configureListeners();\n await RNPrimer.showPaymentMethod(paymentMethodType, intent, clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n dispose(): void {\n RNPrimer.removeAllListeners();\n RNPrimer.dismiss();\n },\n\n dismiss(): void {\n RNPrimer.removeAllListeners();\n RNPrimer.dismiss();\n },\n};\n"]}
1
+ {"version":3,"sources":["Primer.ts"],"names":["tokenizationHandler","handleFailure","errorMessage","RNPrimer","handleTokenizationFailure","err","console","error","handleSuccess","handleTokenizationSuccess","continueWithNewClientToken","newClientToken","handleTokenizationNewClientToken","resumeHandler","handleResumeFailure","handleResumeSuccess","handleResumeWithNewClientToken","paymentCreationHandler","abortPaymentCreation","handlePaymentCreationAbort","continuePaymentCreation","handlePaymentCreationContinue","errorHandler","showErrorMessage","primerSettings","undefined","configureListeners","Promise","resolve","reject","removeAllListeners","implementedRNCallbacks","onCheckoutComplete","onBeforePaymentCreate","onBeforeClientSessionUpdate","onClientSessionUpdate","onTokenizeSuccess","onResumeSuccess","onResumePending","onDismiss","onError","setImplementedRNCallbacks","addListener","data","checkoutData","checkoutPaymentMethodData","_","clientSession","paymentMethodTokenData","resumeToken","additionalInfo","checkoutAdditionalInfo","errorId","description","recoverySuggestion","primerError","PrimerError","Primer","configure","settings","showUniversalCheckout","clientToken","showVaultManager","showPaymentMethod","paymentMethodType","intent","dispose","dismiss"],"mappings":"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","sourcesContent":["import type { PrimerCheckoutData } from './models/PrimerCheckoutData';\nimport type { PrimerSessionIntent } from './models/PrimerSessionIntent';\nimport type { PrimerSettings } from './models/PrimerSettings';\nimport RNPrimer from './RNPrimer';\nimport type { PrimerCheckoutPaymentMethodData } from './models/PrimerCheckoutPaymentMethodData';\nimport type { PrimerClientSession } from './models/PrimerClientSession';\nimport type { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';\nimport { PrimerError } from './models/PrimerError';\nimport type { IPrimer, PrimerErrorHandler, PrimerPaymentCreationHandler, PrimerResumeHandler, PrimerTokenizationHandler } from './models/PrimerInterfaces';\nimport type { PrimerCheckoutAdditionalInfo } from './models/PrimerCheckoutAdditionalInfo';\n\n///////////////////////////////////////////\n// DECISION HANDLERS\n///////////////////////////////////////////\n\n// Tokenization Handler\n\nconst tokenizationHandler: PrimerTokenizationHandler = {\n handleFailure: async (errorMessage: string) => {\n try {\n RNPrimer.handleTokenizationFailure(errorMessage);\n } catch (err) {\n console.error(err);\n }\n },\n\n handleSuccess: async () => {\n try {\n RNPrimer.handleTokenizationSuccess();\n } catch (err) {\n console.error(err);\n }\n },\n\n continueWithNewClientToken: async (newClientToken: string) => {\n try {\n RNPrimer.handleTokenizationNewClientToken(newClientToken);\n } catch (err) {\n console.error(err);\n }\n }\n}\n\n// Resume Handler\n\nconst resumeHandler: PrimerResumeHandler = {\n handleFailure: async (errorMessage: string) => {\n try {\n RNPrimer.handleResumeFailure(errorMessage);\n } catch (err) {\n console.error(err);\n }\n },\n\n handleSuccess: async () => {\n try {\n RNPrimer.handleResumeSuccess();\n } catch (err) {\n console.error(err);\n }\n },\n\n continueWithNewClientToken: async (newClientToken: string) => {\n try {\n RNPrimer.handleResumeWithNewClientToken(newClientToken);\n } catch (err) {\n console.error(err);\n }\n }\n}\n\n// Payment Creation Handler\n\nconst paymentCreationHandler: PrimerPaymentCreationHandler = {\n abortPaymentCreation: async (errorMessage: string) => {\n try {\n RNPrimer.handlePaymentCreationAbort(errorMessage);\n } catch (err) {\n console.error(err);\n }\n },\n\n continuePaymentCreation: async () => {\n try {\n RNPrimer.handlePaymentCreationContinue();\n } catch (err) {\n console.error(err);\n }\n }\n}\n\n// Error Handler\n\nconst errorHandler: PrimerErrorHandler = {\n showErrorMessage: async (errorMessage: string) => {\n try {\n RNPrimer.showErrorMessage(errorMessage || \"\");\n } catch (err) {\n console.error(err);\n }\n }\n}\n\nlet primerSettings: PrimerSettings | undefined = undefined;\n\nasync function configureListeners(): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n RNPrimer.removeAllListeners();\n\n let implementedRNCallbacks: any = {\n onCheckoutComplete: (primerSettings?.onCheckoutComplete !== undefined),\n onBeforePaymentCreate: (primerSettings?.onBeforePaymentCreate !== undefined),\n onBeforeClientSessionUpdate: (primerSettings?.onBeforeClientSessionUpdate !== undefined),\n onClientSessionUpdate: (primerSettings?.onClientSessionUpdate !== undefined),\n onTokenizeSuccess: (primerSettings?.onTokenizeSuccess !== undefined),\n onResumeSuccess: (primerSettings?.onResumeSuccess !== undefined),\n onResumePending: (primerSettings?.onResumePending !== undefined),\n onDismiss: (primerSettings?.onDismiss !== undefined),\n onError: (primerSettings?.onError !== undefined),\n };\n\n await RNPrimer.setImplementedRNCallbacks(implementedRNCallbacks);\n\n if (implementedRNCallbacks.onCheckoutComplete) {\n RNPrimer.addListener('onCheckoutComplete', data => {\n if (primerSettings && primerSettings.onCheckoutComplete) {\n const checkoutData: PrimerCheckoutData = data;\n primerSettings.onCheckoutComplete(checkoutData);\n }\n });\n }\n\n if (implementedRNCallbacks.onBeforePaymentCreate) {\n RNPrimer.addListener('onBeforePaymentCreate', data => {\n if (primerSettings && primerSettings.onBeforePaymentCreate) {\n const checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData = data;\n primerSettings.onBeforePaymentCreate(checkoutPaymentMethodData, paymentCreationHandler);\n }\n });\n }\n\n if (implementedRNCallbacks.onBeforeClientSessionUpdate) {\n RNPrimer.addListener('onBeforeClientSessionUpdate', _ => {\n if (primerSettings && primerSettings.onBeforeClientSessionUpdate) {\n primerSettings.onBeforeClientSessionUpdate();\n }\n });\n }\n\n if (implementedRNCallbacks.onClientSessionUpdate) {\n RNPrimer.addListener('onClientSessionUpdate', data => {\n if (primerSettings && primerSettings.onClientSessionUpdate) {\n const clientSession: PrimerClientSession = data;\n primerSettings.onClientSessionUpdate(clientSession);\n }\n });\n }\n\n if (implementedRNCallbacks.onTokenizeSuccess) {\n RNPrimer.addListener('onTokenizeSuccess', data => {\n if (primerSettings && primerSettings.onTokenizeSuccess) {\n const paymentMethodTokenData: PrimerPaymentMethodTokenData = data;\n primerSettings.onTokenizeSuccess(paymentMethodTokenData, tokenizationHandler);\n }\n });\n }\n\n if (implementedRNCallbacks.onResumeSuccess) {\n RNPrimer.addListener('onResumeSuccess', data => {\n if (primerSettings && primerSettings.onResumeSuccess && data.resumeToken) {\n primerSettings.onResumeSuccess(data.resumeToken, resumeHandler);\n }\n });\n }\n\n if (implementedRNCallbacks.onResumePending) {\n RNPrimer.addListener(\n 'onResumePending',\n (additionalInfo) => {\n if (primerSettings && primerSettings.onResumePending) {\n const checkoutAdditionalInfo: PrimerCheckoutAdditionalInfo = additionalInfo;\n primerSettings.onResumePending(checkoutAdditionalInfo);\n } else {\n // Ignore!\n }\n }\n );\n }\n\n if (implementedRNCallbacks.onDismiss) {\n RNPrimer.addListener('onDismiss', _ => {\n if (primerSettings && primerSettings.onDismiss) {\n primerSettings.onDismiss();\n }\n });\n }\n\n if (implementedRNCallbacks.onError) {\n RNPrimer.addListener('onError', data => {\n if (data && data.error && data.error.errorId && primerSettings && primerSettings.onError) {\n const errorId: string = data.error.errorId;\n const description: string | undefined = data.error.description;\n const recoverySuggestion: string | undefined = data.error.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n\n if (data.checkoutData) {\n primerSettings.onError(primerError, data.checkoutData, errorHandler);\n } else {\n primerSettings.onError(primerError, null, errorHandler);\n }\n }\n });\n }\n\n resolve();\n\n } catch (err) {\n reject(err);\n }\n });\n}\n\nexport const Primer: IPrimer = {\n\n ///////////////////////////////////////////\n // SDK API\n ///////////////////////////////////////////\n\n async configure(settings?: PrimerSettings): Promise<void> {\n primerSettings = settings;\n return new Promise(async (resolve, reject) => {\n try {\n await RNPrimer.configure(settings);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n async showUniversalCheckout(clientToken: string): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n await configureListeners();\n await RNPrimer.showUniversalCheckout(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n async showVaultManager(clientToken: string): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n await configureListeners();\n await RNPrimer.showVaultManager(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n async showPaymentMethod(\n paymentMethodType: string,\n intent: PrimerSessionIntent,\n clientToken: string\n ): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n await configureListeners();\n await RNPrimer.showPaymentMethod(paymentMethodType, intent, clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n dispose(): void {\n RNPrimer.removeAllListeners();\n RNPrimer.dismiss();\n },\n\n dismiss(): void {\n RNPrimer.removeAllListeners();\n RNPrimer.dismiss();\n },\n};\n"]}
@@ -11,7 +11,7 @@ const {
11
11
  NativePrimer
12
12
  } = _reactNative.NativeModules;
13
13
  const eventEmitter = new _reactNative.NativeEventEmitter(NativePrimer);
14
- const eventTypes = ['onCheckoutComplete', 'onBeforeClientSessionUpdate', 'onClientSessionUpdate', 'onBeforePaymentCreate', 'onError', 'onDismiss', 'onTokenizeSuccess', 'onResumeSuccess', 'detectImplementedRNCallbacks'];
14
+ const eventTypes = ['onCheckoutComplete', 'onBeforeClientSessionUpdate', 'onClientSessionUpdate', 'onBeforePaymentCreate', 'onError', 'onDismiss', 'onTokenizeSuccess', 'onResumeSuccess', 'onResumePending', 'detectImplementedRNCallbacks'];
15
15
  const RNPrimer = {
16
16
  ///////////////////////////////////////////
17
17
  // Event Emitter
@@ -1 +1 @@
1
- {"version":3,"sources":["RNPrimer.ts"],"names":["NativePrimer","NativeModules","eventEmitter","NativeEventEmitter","eventTypes","RNPrimer","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","configure","settings","Promise","resolve","reject","JSON","stringify","err","showUniversalCheckout","clientToken","showUniversalCheckoutWithClientToken","showVaultManager","showVaultManagerWithClientToken","showPaymentMethod","paymentMethodType","intent","dismiss","dispose","handleTokenizationNewClientToken","newClientToken","handleTokenizationSuccess","handleTokenizationFailure","errorMessage","handleResumeWithNewClientToken","handleResumeSuccess","handleResumeFailure","handlePaymentCreationAbort","handlePaymentCreationContinue","showErrorMessage","handleSuccess","setImplementedRNCallbacks","implementedRNCallbacks"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\nimport type { PrimerSessionIntent } from './models/PrimerSessionIntent';\nimport type { PrimerSettings } from './models/PrimerSettings';\n\nconst { NativePrimer } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativePrimer);\n\ntype EventType =\n | 'onCheckoutComplete'\n | 'onBeforeClientSessionUpdate'\n | 'onClientSessionUpdate'\n | 'onBeforePaymentCreate'\n | 'onError'\n | 'onDismiss'\n | 'onTokenizeSuccess'\n | 'onResumeSuccess'\n | 'detectImplementedRNCallbacks';\n\nexport interface IPrimerError {\n errorId: string\n errorDescription?: string\n recoverySuggestion?: string\n}\n\nconst eventTypes: EventType[] = [\n 'onCheckoutComplete',\n 'onBeforeClientSessionUpdate',\n 'onClientSessionUpdate',\n 'onBeforePaymentCreate',\n 'onError',\n 'onDismiss',\n 'onTokenizeSuccess',\n 'onResumeSuccess',\n 'detectImplementedRNCallbacks'\n];\n\nconst RNPrimer = {\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n removeListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.removeListener(eventType, listener);\n },\n\n removeAllListenersForEvent(eventType: EventType) {\n eventEmitter.removeAllListeners(eventType);\n },\n\n removeAllListeners() {\n eventTypes.forEach((eventType) => RNPrimer.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n configure: (settings: PrimerSettings | undefined): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.configure(JSON.stringify(settings) || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n showUniversalCheckout: (clientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showUniversalCheckoutWithClientToken(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n showVaultManager: (clientToken: string | undefined): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showVaultManagerWithClientToken(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n showPaymentMethod: (\n paymentMethodType: string,\n intent: PrimerSessionIntent,\n clientToken: string\n ): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showPaymentMethod(paymentMethodType, intent, clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n dismiss: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.dismiss();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n dispose: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.dispose();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n ///////////////////////////////////////////\n // DECISION HANDLERS\n ///////////////////////////////////////////\n\n // Tokenization Handlers\n\n handleTokenizationNewClientToken: (newClientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationNewClientToken(newClientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleTokenizationSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleTokenizationFailure: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationFailure(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Resume Handlers\n\n handleResumeWithNewClientToken: (newClientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleResumeWithNewClientToken(newClientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleResumeSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleResumeSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleResumeFailure: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationFailure(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Payment Creation Handlers\n\n handlePaymentCreationAbort: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handlePaymentCreationAbort(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handlePaymentCreationContinue: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handlePaymentCreationContinue();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Error Handler\n\n showErrorMessage: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showErrorMessage(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // HELPERS\n\n setImplementedRNCallbacks: (implementedRNCallbacks: any): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.setImplementedRNCallbacks(JSON.stringify(implementedRNCallbacks));\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n};\n\nexport default RNPrimer;\n"]}
1
+ {"version":3,"sources":["RNPrimer.ts"],"names":["NativePrimer","NativeModules","eventEmitter","NativeEventEmitter","eventTypes","RNPrimer","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","configure","settings","Promise","resolve","reject","JSON","stringify","err","showUniversalCheckout","clientToken","showUniversalCheckoutWithClientToken","showVaultManager","showVaultManagerWithClientToken","showPaymentMethod","paymentMethodType","intent","dismiss","dispose","handleTokenizationNewClientToken","newClientToken","handleTokenizationSuccess","handleTokenizationFailure","errorMessage","handleResumeWithNewClientToken","handleResumeSuccess","handleResumeFailure","handlePaymentCreationAbort","handlePaymentCreationContinue","showErrorMessage","handleSuccess","setImplementedRNCallbacks","implementedRNCallbacks"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\nimport type { PrimerSessionIntent } from './models/PrimerSessionIntent';\nimport type { PrimerSettings } from './models/PrimerSettings';\n\nconst { NativePrimer } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativePrimer);\n\ntype EventType =\n | 'onCheckoutComplete'\n | 'onBeforeClientSessionUpdate'\n | 'onClientSessionUpdate'\n | 'onBeforePaymentCreate'\n | 'onError'\n | 'onDismiss'\n | 'onTokenizeSuccess'\n | 'onResumeSuccess'\n | 'onResumePending'\n | 'detectImplementedRNCallbacks';\n\nexport interface IPrimerError {\n errorId: string\n errorDescription?: string\n recoverySuggestion?: string\n}\n\nconst eventTypes: EventType[] = [\n 'onCheckoutComplete',\n 'onBeforeClientSessionUpdate',\n 'onClientSessionUpdate',\n 'onBeforePaymentCreate',\n 'onError',\n 'onDismiss',\n 'onTokenizeSuccess',\n 'onResumeSuccess',\n 'onResumePending',\n 'detectImplementedRNCallbacks'\n];\n\nconst RNPrimer = {\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n removeListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.removeListener(eventType, listener);\n },\n\n removeAllListenersForEvent(eventType: EventType) {\n eventEmitter.removeAllListeners(eventType);\n },\n\n removeAllListeners() {\n eventTypes.forEach((eventType) => RNPrimer.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n configure: (settings: PrimerSettings | undefined): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.configure(JSON.stringify(settings) || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n showUniversalCheckout: (clientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showUniversalCheckoutWithClientToken(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n showVaultManager: (clientToken: string | undefined): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showVaultManagerWithClientToken(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n showPaymentMethod: (\n paymentMethodType: string,\n intent: PrimerSessionIntent,\n clientToken: string\n ): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showPaymentMethod(paymentMethodType, intent, clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n dismiss: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.dismiss();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n dispose: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.dispose();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n ///////////////////////////////////////////\n // DECISION HANDLERS\n ///////////////////////////////////////////\n\n // Tokenization Handlers\n\n handleTokenizationNewClientToken: (newClientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationNewClientToken(newClientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleTokenizationSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleTokenizationFailure: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationFailure(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Resume Handlers\n\n handleResumeWithNewClientToken: (newClientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleResumeWithNewClientToken(newClientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleResumeSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleResumeSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleResumeFailure: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationFailure(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Payment Creation Handlers\n\n handlePaymentCreationAbort: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handlePaymentCreationAbort(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handlePaymentCreationContinue: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handlePaymentCreationContinue();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Error Handler\n\n showErrorMessage: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showErrorMessage(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // HELPERS\n\n setImplementedRNCallbacks: (implementedRNCallbacks: any): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.setImplementedRNCallbacks(JSON.stringify(implementedRNCallbacks));\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n};\n\nexport default RNPrimer;\n"]}
@@ -85,7 +85,7 @@ exports.primerSettings = primerSettings;
85
85
  async function configureListeners() {
86
86
  return new Promise(async (resolve, reject) => {
87
87
  try {
88
- var _primerSettings, _primerSettings2, _primerSettings3, _primerSettings4, _primerSettings5, _primerSettings6, _primerSettings7, _primerSettings8, _primerSettings9, _primerSettings10, _primerSettings11;
88
+ var _primerSettings, _primerSettings2, _primerSettings3, _primerSettings4, _primerSettings5, _primerSettings6, _primerSettings7, _primerSettings8, _primerSettings9, _primerSettings10, _primerSettings11, _primerSettings12;
89
89
 
90
90
  _RNPrimerHeadlessUniversalCheckout.default.removeAllListeners();
91
91
 
@@ -96,12 +96,13 @@ async function configureListeners() {
96
96
  onClientSessionUpdate: ((_primerSettings4 = primerSettings) === null || _primerSettings4 === void 0 ? void 0 : _primerSettings4.onClientSessionUpdate) !== undefined,
97
97
  onTokenizeSuccess: ((_primerSettings5 = primerSettings) === null || _primerSettings5 === void 0 ? void 0 : _primerSettings5.onTokenizeSuccess) !== undefined,
98
98
  onResumeSuccess: ((_primerSettings6 = primerSettings) === null || _primerSettings6 === void 0 ? void 0 : _primerSettings6.onResumeSuccess) !== undefined,
99
+ onResumePending: ((_primerSettings7 = primerSettings) === null || _primerSettings7 === void 0 ? void 0 : _primerSettings7.onResumePending) !== undefined,
99
100
  onDismiss: false,
100
- onError: ((_primerSettings7 = primerSettings) === null || _primerSettings7 === void 0 ? void 0 : _primerSettings7.onError) !== undefined,
101
- onHUCAvailablePaymentMethodsLoaded: ((_primerSettings8 = primerSettings) === null || _primerSettings8 === void 0 ? void 0 : _primerSettings8.onAvailablePaymentMethodsLoad) !== undefined,
102
- onHUCPrepareStart: ((_primerSettings9 = primerSettings) === null || _primerSettings9 === void 0 ? void 0 : _primerSettings9.onPrepareStart) !== undefined,
103
- onHUCTokenizeStart: ((_primerSettings10 = primerSettings) === null || _primerSettings10 === void 0 ? void 0 : _primerSettings10.onTokenizeStart) !== undefined,
104
- onHUCPaymentMethodShow: ((_primerSettings11 = primerSettings) === null || _primerSettings11 === void 0 ? void 0 : _primerSettings11.onPaymentMethodShow) !== undefined
101
+ onError: ((_primerSettings8 = primerSettings) === null || _primerSettings8 === void 0 ? void 0 : _primerSettings8.onError) !== undefined,
102
+ onHUCAvailablePaymentMethodsLoaded: ((_primerSettings9 = primerSettings) === null || _primerSettings9 === void 0 ? void 0 : _primerSettings9.onAvailablePaymentMethodsLoad) !== undefined,
103
+ onHUCPrepareStart: ((_primerSettings10 = primerSettings) === null || _primerSettings10 === void 0 ? void 0 : _primerSettings10.onPrepareStart) !== undefined,
104
+ onHUCTokenizeStart: ((_primerSettings11 = primerSettings) === null || _primerSettings11 === void 0 ? void 0 : _primerSettings11.onTokenizeStart) !== undefined,
105
+ onHUCPaymentMethodShow: ((_primerSettings12 = primerSettings) === null || _primerSettings12 === void 0 ? void 0 : _primerSettings12.onPaymentMethodShow) !== undefined
105
106
  };
106
107
  await _RNPrimerHeadlessUniversalCheckout.default.setImplementedRNCallbacks(implementedRNCallbacks);
107
108
 
@@ -117,6 +118,16 @@ async function configureListeners() {
117
118
  });
118
119
  }
119
120
 
121
+ if (implementedRNCallbacks.onResumePending) {
122
+ _RNPrimerHeadlessUniversalCheckout.default.addListener('onResumePending', additionalInfo => {
123
+ if (primerSettings && primerSettings.onResumePending) {
124
+ const checkoutAdditionalInfo = additionalInfo;
125
+ primerSettings.onResumePending(checkoutAdditionalInfo);
126
+ } else {// Ignore!
127
+ }
128
+ });
129
+ }
130
+
120
131
  if (implementedRNCallbacks.onHUCPrepareStart) {
121
132
  _RNPrimerHeadlessUniversalCheckout.default.addListener('onHUCPrepareStart', data => {
122
133
  console.log('onHUCPrepareStart');