@primer-io/react-native 2.0.1 → 2.1.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.
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/primerioreactnative/PrimerCardNumberEditTextManager.kt +83 -0
- package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +244 -0
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +275 -0
- package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +14 -3
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +3 -0
- package/android/src/main/java/com/primerioreactnative/huc/assets/AssetsManager.kt +56 -0
- package/android/src/main/java/com/primerioreactnative/huc/events/PrimerHeadlessUniversalCheckoutEvent.kt +15 -0
- package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +31 -0
- package/ios/Core/ReactNative-Bridging-Header.h +14 -0
- package/ios/DataModels/ImplementedRNCallbacks.swift +34 -9
- package/ios/DataModels/PrimerSettingsRN.swift +15 -16
- package/ios/Headless Universal Checkout/RNTPrimerCardNumberInputElementManager.m +23 -0
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +62 -0
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +493 -0
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.m +14 -0
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.swift +117 -0
- package/ios/RNTPrimer.m +2 -0
- package/ios/RNTPrimer.swift +56 -51
- package/ios/ReactNative-Bridging-Header.h +1 -0
- package/lib/commonjs/Primer.js +6 -0
- package/lib/commonjs/Primer.js.map +1 -1
- package/lib/commonjs/PrimerInput.js +80 -0
- package/lib/commonjs/PrimerInput.js.map +1 -0
- package/lib/commonjs/RNPrimer.js +11 -0
- package/lib/commonjs/RNPrimer.js.map +1 -1
- package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js +14 -0
- package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -0
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +286 -0
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js +197 -0
- package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/commonjs/{models/Primer.js → headless_checkout/types.js} +1 -1
- package/lib/commonjs/{models/Primer.js.map → headless_checkout/types.js.map} +0 -0
- package/lib/commonjs/index.js +13 -5
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/PrimerInterfaces.js +6 -0
- package/lib/{module/models/Primer.js.map → commonjs/models/PrimerInterfaces.js.map} +0 -0
- package/lib/module/Primer.js +7 -2
- package/lib/module/Primer.js.map +1 -1
- package/lib/module/PrimerInput.js +46 -0
- package/lib/module/PrimerInput.js.map +1 -0
- package/lib/module/RNPrimer.js +11 -0
- package/lib/module/RNPrimer.js.map +1 -1
- package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js +5 -0
- package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -0
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +273 -0
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js +188 -0
- package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/module/headless_checkout/types.js +2 -0
- package/lib/module/headless_checkout/types.js.map +1 -0
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/PrimerInterfaces.js +2 -0
- package/lib/module/models/PrimerInterfaces.js.map +1 -0
- package/lib/typescript/MerchantExample/App.d.ts +11 -0
- package/lib/typescript/src/Primer.d.ts +2 -0
- package/lib/typescript/src/PrimerInput.d.ts +15 -0
- package/lib/typescript/{RNPrimer.d.ts → src/RNPrimer.d.ts} +1 -0
- package/lib/typescript/src/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts +1 -0
- package/lib/typescript/src/headless_checkout/PrimerHeadlessUniversalCheckout.d.ts +11 -0
- package/lib/typescript/src/headless_checkout/RNPrimerHeadlessUniversalCheckout.d.ts +22 -0
- package/lib/typescript/src/headless_checkout/types.d.ts +22 -0
- package/lib/typescript/{index.d.ts → src/index.d.ts} +2 -1
- package/lib/typescript/{models → src/models}/PrimerCheckoutData.d.ts +0 -0
- package/lib/typescript/{models → src/models}/PrimerCheckoutPaymentMethodData.d.ts +0 -0
- package/lib/typescript/{models → src/models}/PrimerClientSession.d.ts +0 -0
- package/lib/typescript/{models → src/models}/PrimerCountryCode.d.ts +0 -0
- package/lib/typescript/{models → src/models}/PrimerCurrencyCode.d.ts +0 -0
- package/lib/typescript/{models → src/models}/PrimerError.d.ts +0 -0
- package/lib/typescript/{models/Primer.d.ts → src/models/PrimerInterfaces.d.ts} +2 -1
- package/lib/typescript/{models → src/models}/PrimerPaymentMethodTokenData.d.ts +0 -0
- package/lib/typescript/{models → src/models}/PrimerSessionIntent.d.ts +0 -0
- package/lib/typescript/{models → src/models}/PrimerSettings.d.ts +6 -2
- package/lib/typescript/{models → src/models}/PrimerTheme.d.ts +0 -0
- package/lib/typescript/{utils → src/utils}/index.d.ts +0 -0
- package/package.json +1 -1
- package/primer-io-react-native.podspec +1 -1
- package/src/Primer.ts +6 -1
- package/src/PrimerInput.tsx +73 -0
- package/src/RNPrimer.ts +13 -0
- package/src/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.tsx +2 -0
- package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +327 -0
- package/src/headless_checkout/RNPrimerHeadlessUniversalCheckout.ts +252 -0
- package/src/headless_checkout/types.ts +32 -0
- package/src/index.tsx +4 -2
- package/src/models/{Primer.ts → PrimerInterfaces.ts} +2 -1
- package/src/models/PrimerSettings.ts +17 -2
- package/lib/module/models/Primer.js +0 -2
- package/lib/typescript/Primer.d.ts +0 -2
package/ios/RNTPrimer.swift
CHANGED
|
@@ -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
|
|
@@ -21,7 +21,7 @@ enum PrimerEvents: Int, CaseIterable {
|
|
|
21
21
|
case onResumeSuccess
|
|
22
22
|
case onError
|
|
23
23
|
case detectImplementedRNCallbacks
|
|
24
|
-
|
|
24
|
+
|
|
25
25
|
var stringValue: String {
|
|
26
26
|
switch self {
|
|
27
27
|
case .onCheckoutComplete:
|
|
@@ -54,28 +54,28 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
54
54
|
private var primerDidResumeWithDecisionHandler: ((_ resumeToken: String?, _ errorMessage: String?) -> Void)?
|
|
55
55
|
private var primerDidFailWithErrorDecisionHandler: ((_ errorMessage: String) -> Void)?
|
|
56
56
|
private var implementedRNCallbacks: ImplementedRNCallbacks?
|
|
57
|
-
|
|
57
|
+
|
|
58
58
|
// MARK: - INITIALIZATION & REACT NATIVE SUPPORT
|
|
59
|
-
|
|
59
|
+
|
|
60
60
|
override class func requiresMainQueueSetup() -> Bool {
|
|
61
61
|
return true
|
|
62
62
|
}
|
|
63
|
-
|
|
63
|
+
|
|
64
64
|
deinit {
|
|
65
65
|
print("🧨 deinit: \(self) \(Unmanaged.passUnretained(self).toOpaque())")
|
|
66
66
|
}
|
|
67
|
-
|
|
67
|
+
|
|
68
68
|
override init() {
|
|
69
69
|
super.init()
|
|
70
70
|
PrimerSDK.Primer.shared.delegate = self
|
|
71
71
|
}
|
|
72
|
-
|
|
72
|
+
|
|
73
73
|
override func supportedEvents() -> [String]! {
|
|
74
74
|
return PrimerEvents.allCases.compactMap({ $0.stringValue })
|
|
75
75
|
}
|
|
76
|
-
|
|
76
|
+
|
|
77
77
|
// MARK: - SDK API
|
|
78
|
-
|
|
78
|
+
|
|
79
79
|
@objc
|
|
80
80
|
public func configure(_ settingsStr: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
81
81
|
DispatchQueue.main.async {
|
|
@@ -87,7 +87,7 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
|
|
90
|
+
|
|
91
91
|
@objc
|
|
92
92
|
public func showUniversalCheckoutWithClientToken(_ clientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
93
93
|
DispatchQueue.main.async {
|
|
@@ -102,7 +102,7 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
|
|
105
|
+
|
|
106
106
|
@objc
|
|
107
107
|
public func showVaultManagerWithClientToken(_ clientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
108
108
|
DispatchQueue.main.async {
|
|
@@ -117,23 +117,23 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
|
-
|
|
120
|
+
|
|
121
121
|
@objc
|
|
122
122
|
public func showPaymentMethod(_ paymentMethodStr: String, intent: String, clientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
123
123
|
DispatchQueue.main.async {
|
|
124
124
|
do {
|
|
125
125
|
let paymentMethodType = PrimerPaymentMethodType(rawValue: paymentMethodStr)
|
|
126
|
-
|
|
126
|
+
|
|
127
127
|
guard paymentMethodType != PrimerPaymentMethodType.other(rawValue: paymentMethodStr) else {
|
|
128
128
|
let err = NSError(domain: "native-bridge", code: 0, userInfo: [NSLocalizedDescriptionKey: "Payment method type \(paymentMethodStr) is not valid."])
|
|
129
129
|
throw err
|
|
130
130
|
}
|
|
131
|
-
|
|
132
|
-
guard let primerIntent = PrimerSessionIntent(rawValue: intent
|
|
131
|
+
|
|
132
|
+
guard let primerIntent = PrimerSessionIntent(rawValue: intent) else {
|
|
133
133
|
let err = NSError(domain: "native-bridge", code: 0, userInfo: [NSLocalizedDescriptionKey: "Intent \(intent) is not valid."])
|
|
134
134
|
throw err
|
|
135
135
|
}
|
|
136
|
-
|
|
136
|
+
|
|
137
137
|
PrimerSDK.Primer.shared.showPaymentMethod(paymentMethodType, withIntent: primerIntent, andClientToken: clientToken) { err in
|
|
138
138
|
DispatchQueue.main.async {
|
|
139
139
|
if let err = err {
|
|
@@ -148,16 +148,21 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
|
-
|
|
151
|
+
|
|
152
152
|
@objc
|
|
153
153
|
public func dismiss() {
|
|
154
154
|
Primer.shared.dismiss()
|
|
155
155
|
}
|
|
156
|
-
|
|
156
|
+
|
|
157
|
+
@objc
|
|
158
|
+
public func dispose() {
|
|
159
|
+
Primer.shared.dismiss()
|
|
160
|
+
}
|
|
161
|
+
|
|
157
162
|
// MARK: - DECISION HANDLERS
|
|
158
|
-
|
|
163
|
+
|
|
159
164
|
// MARK: Tokenization
|
|
160
|
-
|
|
165
|
+
|
|
161
166
|
@objc
|
|
162
167
|
public func handleTokenizationNewClientToken(_ newClientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
163
168
|
DispatchQueue.main.async {
|
|
@@ -166,7 +171,7 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
166
171
|
resolver(nil)
|
|
167
172
|
}
|
|
168
173
|
}
|
|
169
|
-
|
|
174
|
+
|
|
170
175
|
@objc
|
|
171
176
|
public func handleTokenizationSuccess(_ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
172
177
|
DispatchQueue.main.async {
|
|
@@ -175,7 +180,7 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
175
180
|
resolver(nil)
|
|
176
181
|
}
|
|
177
182
|
}
|
|
178
|
-
|
|
183
|
+
|
|
179
184
|
@objc
|
|
180
185
|
public func handleTokenizationFailure(_ errorMessage: String?, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
181
186
|
DispatchQueue.main.async {
|
|
@@ -184,9 +189,9 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
184
189
|
resolver(nil)
|
|
185
190
|
}
|
|
186
191
|
}
|
|
187
|
-
|
|
192
|
+
|
|
188
193
|
// MARK: Resume Payment
|
|
189
|
-
|
|
194
|
+
|
|
190
195
|
@objc
|
|
191
196
|
public func handleResumeWithNewClientToken(_ newClientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
192
197
|
DispatchQueue.main.async {
|
|
@@ -195,7 +200,7 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
195
200
|
resolver(nil)
|
|
196
201
|
}
|
|
197
202
|
}
|
|
198
|
-
|
|
203
|
+
|
|
199
204
|
@objc
|
|
200
205
|
public func handleResumeSuccess(_ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
201
206
|
DispatchQueue.main.async {
|
|
@@ -204,7 +209,7 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
204
209
|
resolver(nil)
|
|
205
210
|
}
|
|
206
211
|
}
|
|
207
|
-
|
|
212
|
+
|
|
208
213
|
@objc
|
|
209
214
|
public func handleResumeFailure(_ errorMessage: String?, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
210
215
|
DispatchQueue.main.async {
|
|
@@ -213,9 +218,9 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
213
218
|
resolver(nil)
|
|
214
219
|
}
|
|
215
220
|
}
|
|
216
|
-
|
|
221
|
+
|
|
217
222
|
// MARK: Payment Creation
|
|
218
|
-
|
|
223
|
+
|
|
219
224
|
@objc
|
|
220
225
|
public func handlePaymentCreationAbort(_ errorMessage: String?, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
221
226
|
DispatchQueue.main.async {
|
|
@@ -224,7 +229,7 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
224
229
|
resolver(nil)
|
|
225
230
|
}
|
|
226
231
|
}
|
|
227
|
-
|
|
232
|
+
|
|
228
233
|
@objc
|
|
229
234
|
public func handlePaymentCreationContinue(_ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
230
235
|
DispatchQueue.main.async {
|
|
@@ -233,9 +238,9 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
233
238
|
resolver(nil)
|
|
234
239
|
}
|
|
235
240
|
}
|
|
236
|
-
|
|
241
|
+
|
|
237
242
|
// MARK: Error Handler
|
|
238
|
-
|
|
243
|
+
|
|
239
244
|
@objc
|
|
240
245
|
public func showErrorMessage(_ errorMessage: String?, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
241
246
|
DispatchQueue.main.async {
|
|
@@ -244,17 +249,17 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
244
249
|
resolver(nil)
|
|
245
250
|
}
|
|
246
251
|
}
|
|
247
|
-
|
|
252
|
+
|
|
248
253
|
// MARK: Helpers
|
|
249
|
-
|
|
254
|
+
|
|
250
255
|
private func configure(settingsStr: String? = nil) throws {
|
|
251
256
|
try PrimerSDK.Primer.shared.configure(settings: PrimerSettings.initialize(with: settingsStr), delegate: self)
|
|
252
257
|
}
|
|
253
|
-
|
|
258
|
+
|
|
254
259
|
private func detectImplemetedCallbacks() {
|
|
255
260
|
sendEvent(withName: PrimerEvents.detectImplementedRNCallbacks.stringValue, body: nil)
|
|
256
261
|
}
|
|
257
|
-
|
|
262
|
+
|
|
258
263
|
@objc
|
|
259
264
|
public func setImplementedRNCallbacks(_ implementedRNCallbacksStr: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
260
265
|
DispatchQueue.main.async {
|
|
@@ -267,19 +272,19 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
267
272
|
resolver(nil)
|
|
268
273
|
} catch {
|
|
269
274
|
self.primerDidFailWithError(error, data: nil) { decisionHandler in
|
|
270
|
-
|
|
275
|
+
|
|
271
276
|
}
|
|
272
277
|
rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
|
|
273
278
|
}
|
|
274
279
|
}
|
|
275
280
|
}
|
|
276
|
-
|
|
281
|
+
|
|
277
282
|
private func handleRNBridgeError(_ error: Error, checkoutData: PrimerCheckoutData?, stopOnDebug: Bool) {
|
|
278
283
|
DispatchQueue.main.async {
|
|
279
284
|
if stopOnDebug {
|
|
280
285
|
assertionFailure(error.localizedDescription)
|
|
281
286
|
}
|
|
282
|
-
|
|
287
|
+
|
|
283
288
|
var body: [String: Any] = ["error": error.rnError]
|
|
284
289
|
if let checkoutData = checkoutData,
|
|
285
290
|
let data = try? JSONEncoder().encode(checkoutData),
|
|
@@ -295,7 +300,7 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
295
300
|
// MARK: - PRIMER DELEGATE
|
|
296
301
|
|
|
297
302
|
extension RNTPrimer: PrimerDelegate {
|
|
298
|
-
|
|
303
|
+
|
|
299
304
|
func primerDidCompleteCheckoutWithData(_ data: PrimerCheckoutData) {
|
|
300
305
|
DispatchQueue.main.async {
|
|
301
306
|
if self.implementedRNCallbacks?.isOnCheckoutCompleteImplemented == true {
|
|
@@ -312,7 +317,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
312
317
|
}
|
|
313
318
|
}
|
|
314
319
|
}
|
|
315
|
-
|
|
320
|
+
|
|
316
321
|
func primerWillCreatePaymentWithData(_ data: PrimerCheckoutPaymentMethodData, decisionHandler: @escaping (PrimerPaymentCreationDecision) -> Void) {
|
|
317
322
|
if self.implementedRNCallbacks?.isOnBeforePaymentCreateImplemented == true {
|
|
318
323
|
self.primerWillCreatePaymentWithDataDecisionHandler = { errorMessage in
|
|
@@ -324,7 +329,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
324
329
|
}
|
|
325
330
|
}
|
|
326
331
|
}
|
|
327
|
-
|
|
332
|
+
|
|
328
333
|
DispatchQueue.main.async {
|
|
329
334
|
do {
|
|
330
335
|
let checkoutPaymentmethodData = try JSONEncoder().encode(data)
|
|
@@ -341,7 +346,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
341
346
|
}
|
|
342
347
|
}
|
|
343
348
|
}
|
|
344
|
-
|
|
349
|
+
|
|
345
350
|
func primerClientSessionWillUpdate() {
|
|
346
351
|
if self.implementedRNCallbacks?.isOnBeforeClientSessionUpdateImplemented == true {
|
|
347
352
|
DispatchQueue.main.async {
|
|
@@ -351,7 +356,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
351
356
|
// RN Dev hasn't implemented this callback, ignore.
|
|
352
357
|
}
|
|
353
358
|
}
|
|
354
|
-
|
|
359
|
+
|
|
355
360
|
func primerClientSessionDidUpdate(_ clientSession: PrimerClientSession) {
|
|
356
361
|
if self.implementedRNCallbacks?.isOnClientSessionUpdateImplemented == true {
|
|
357
362
|
do {
|
|
@@ -367,7 +372,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
367
372
|
// RN Dev hasn't implemented this callback, ignore.
|
|
368
373
|
}
|
|
369
374
|
}
|
|
370
|
-
|
|
375
|
+
|
|
371
376
|
func primerDidTokenizePaymentMethod(_ paymentMethodTokenData: PrimerPaymentMethodTokenData, decisionHandler: @escaping (PrimerResumeDecision) -> Void) {
|
|
372
377
|
if self.implementedRNCallbacks?.isOnTokenizeSuccessImplemented == true {
|
|
373
378
|
self.primerDidTokenizePaymentMethodDecisionHandler = { (newClientToken, errorMessage) in
|
|
@@ -381,7 +386,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
381
386
|
}
|
|
382
387
|
}
|
|
383
388
|
}
|
|
384
|
-
|
|
389
|
+
|
|
385
390
|
do {
|
|
386
391
|
let data = try JSONEncoder().encode(paymentMethodTokenData)
|
|
387
392
|
let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
|
|
@@ -397,7 +402,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
397
402
|
// auto flow.
|
|
398
403
|
}
|
|
399
404
|
}
|
|
400
|
-
|
|
405
|
+
|
|
401
406
|
func primerDidResumeWith(_ resumeToken: String, decisionHandler: @escaping (PrimerResumeDecision) -> Void) {
|
|
402
407
|
if self.implementedRNCallbacks?.isOnResumeSuccessImplemented == true {
|
|
403
408
|
self.primerDidResumeWithDecisionHandler = { (resumeToken, errorMessage) in
|
|
@@ -411,7 +416,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
411
416
|
}
|
|
412
417
|
}
|
|
413
418
|
}
|
|
414
|
-
|
|
419
|
+
|
|
415
420
|
DispatchQueue.main.async {
|
|
416
421
|
self.sendEvent(withName: PrimerEvents.onResumeSuccess.stringValue, body: ["resumeToken": resumeToken])
|
|
417
422
|
}
|
|
@@ -420,7 +425,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
420
425
|
// Throw an error if it's the manual flow.
|
|
421
426
|
}
|
|
422
427
|
}
|
|
423
|
-
|
|
428
|
+
|
|
424
429
|
func primerDidDismiss() {
|
|
425
430
|
if self.implementedRNCallbacks?.isOnDismissImplemented == true {
|
|
426
431
|
DispatchQueue.main.async {
|
|
@@ -431,7 +436,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
431
436
|
// Ignore!
|
|
432
437
|
}
|
|
433
438
|
}
|
|
434
|
-
|
|
439
|
+
|
|
435
440
|
func primerDidFailWithError(_ error: Error, data: PrimerCheckoutData?, decisionHandler: @escaping ((PrimerErrorDecision) -> Void)) {
|
|
436
441
|
if self.implementedRNCallbacks?.isOnErrorImplemented == true {
|
|
437
442
|
// Set up the callback that will be called by **handleErrorMessage** when the RN
|
|
@@ -442,10 +447,10 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
442
447
|
decisionHandler(.fail(withErrorMessage: errorMessage.isEmpty ? nil : errorMessage))
|
|
443
448
|
}
|
|
444
449
|
}
|
|
445
|
-
|
|
450
|
+
|
|
446
451
|
// Send the error message to the RN bridge.
|
|
447
452
|
self.handleRNBridgeError(error, checkoutData: nil, stopOnDebug: false)
|
|
448
|
-
|
|
453
|
+
|
|
449
454
|
} else {
|
|
450
455
|
// RN dev hasn't opted in on listening SDK dismiss.
|
|
451
456
|
// Ignore!
|
package/lib/commonjs/Primer.js
CHANGED
|
@@ -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","dismiss"],"mappings":"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","sourcesContent":["import type { PrimerCheckoutData } from './models/PrimerCheckoutData';\nimport type { Primer as IPrimer, PrimerErrorHandler, PrimerPaymentCreationHandler, PrimerResumeHandler, PrimerTokenizationHandler } from './models/Primer';\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';\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 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","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"]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.PrimerExpiryEditTextRaw = exports.PrimerExpiryEditText = exports.PrimerCvvEditTextRaw = exports.PrimerCvvEditText = exports.PrimerCardholderNameEditTextRaw = exports.PrimerCardholderNameEditText = exports.PrimerCardNumberEditTextRaw = exports.PrimerCardNumberEditText = void 0;
|
|
7
|
+
|
|
8
|
+
var _RNTPrimerHeadlessUniversalCheckoutCardFormUIManager = require("./RNTPrimerHeadlessUniversalCheckoutCardFormUIManager");
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _reactNative = require("react-native");
|
|
13
|
+
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
+
|
|
18
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
|
+
|
|
20
|
+
// PrimerCardNumberEditText
|
|
21
|
+
const PrimerCardNumberEditTextRaw = (0, _reactNative.requireNativeComponent)('PrimerCardNumberEditText');
|
|
22
|
+
exports.PrimerCardNumberEditTextRaw = PrimerCardNumberEditTextRaw;
|
|
23
|
+
const {
|
|
24
|
+
PrimerRN
|
|
25
|
+
} = _reactNative.NativeModules;
|
|
26
|
+
|
|
27
|
+
const PrimerCardNumberEditText = props => {
|
|
28
|
+
const ref = (0, _react.useRef)( /*#__PURE__*/_react.default.createRef());
|
|
29
|
+
(0, _react.useEffect)(() => {
|
|
30
|
+
const tag = ref.current.current._nativeTag;
|
|
31
|
+
|
|
32
|
+
_RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.PrimerHeadlessUniversalCheckoutCardFormUIManager.addInput(tag);
|
|
33
|
+
|
|
34
|
+
return () => PrimerRN.removeInput(tag);
|
|
35
|
+
}, []);
|
|
36
|
+
|
|
37
|
+
const rawComponent = /*#__PURE__*/_react.default.createElement(PrimerCardNumberEditTextRaw, _extends({
|
|
38
|
+
ref: ref.current
|
|
39
|
+
}, props));
|
|
40
|
+
|
|
41
|
+
return rawComponent;
|
|
42
|
+
}; // PrimerCardholderNameEditText
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
exports.PrimerCardNumberEditText = PrimerCardNumberEditText;
|
|
46
|
+
const PrimerCardholderNameEditTextRaw = (0, _reactNative.requireNativeComponent)('PrimerCardholderNameEditText');
|
|
47
|
+
exports.PrimerCardholderNameEditTextRaw = PrimerCardholderNameEditTextRaw;
|
|
48
|
+
|
|
49
|
+
const PrimerCardholderNameEditText = props => {
|
|
50
|
+
const ref = (0, _react.useRef)( /*#__PURE__*/_react.default.createRef());
|
|
51
|
+
(0, _react.useEffect)(() => {
|
|
52
|
+
const tag = ref.current.current._nativeTag;
|
|
53
|
+
PrimerRN.addInput(tag);
|
|
54
|
+
return () => PrimerRN.removeInput(tag);
|
|
55
|
+
}, []);
|
|
56
|
+
return /*#__PURE__*/_react.default.createElement(PrimerCardholderNameEditTextRaw, _extends({
|
|
57
|
+
ref: ref.current
|
|
58
|
+
}, props));
|
|
59
|
+
}; // PrimerExpiryEditText
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
exports.PrimerCardholderNameEditText = PrimerCardholderNameEditText;
|
|
63
|
+
const PrimerExpiryEditTextRaw = (0, _reactNative.requireNativeComponent)('PrimerExpiryEditText');
|
|
64
|
+
exports.PrimerExpiryEditTextRaw = PrimerExpiryEditTextRaw;
|
|
65
|
+
|
|
66
|
+
const PrimerExpiryEditText = props => {
|
|
67
|
+
return /*#__PURE__*/_react.default.createElement(PrimerExpiryEditTextRaw, props);
|
|
68
|
+
}; // cvv
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
exports.PrimerExpiryEditText = PrimerExpiryEditText;
|
|
72
|
+
const PrimerCvvEditTextRaw = (0, _reactNative.requireNativeComponent)('PrimerCvvEditText');
|
|
73
|
+
exports.PrimerCvvEditTextRaw = PrimerCvvEditTextRaw;
|
|
74
|
+
|
|
75
|
+
const PrimerCvvEditText = props => {
|
|
76
|
+
return /*#__PURE__*/_react.default.createElement(PrimerCvvEditTextRaw, props);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
exports.PrimerCvvEditText = PrimerCvvEditText;
|
|
80
|
+
//# sourceMappingURL=PrimerInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["PrimerInput.tsx"],"names":["PrimerCardNumberEditTextRaw","PrimerRN","NativeModules","PrimerCardNumberEditText","props","ref","React","createRef","tag","current","_nativeTag","PrimerHeadlessUniversalCheckoutCardFormUIManager","addInput","removeInput","rawComponent","PrimerCardholderNameEditTextRaw","PrimerCardholderNameEditText","PrimerExpiryEditTextRaw","PrimerExpiryEditText","PrimerCvvEditTextRaw","PrimerCvvEditText"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAGA;AACO,MAAMA,2BAA2B,GAAG,yCACzC,0BADyC,CAApC;;AAMP,MAAM;AAAEC,EAAAA;AAAF,IAAeC,0BAArB;;AAEO,MAAMC,wBAAiE,GAAIC,KAAD,IAAW;AAC1F,QAAMC,GAAG,GAAG,iCAAOC,eAAMC,SAAN,EAAP,CAAZ;AAEA,wBAAU,MAAM;AACd,UAAMC,GAAG,GAAGH,GAAG,CAACI,OAAJ,CAAYA,OAAZ,CAAoBC,UAAhC;;AACAC,0GAAiDC,QAAjD,CAA0DJ,GAA1D;;AACA,WAAO,MAAMP,QAAQ,CAACY,WAAT,CAAqBL,GAArB,CAAb;AACD,GAJD,EAIG,EAJH;;AAMA,QAAMM,YAAY,gBAChB,6BAAC,2BAAD;AAA6B,IAAA,GAAG,EAAET,GAAG,CAACI;AAAtC,KAAmDL,KAAnD,EADF;;AAIA,SAAOU,YAAP;AACD,CAdM,C,CAgBP;;;;AACO,MAAMC,+BAA+B,GAAG,yCAC7C,8BAD6C,CAAxC;;;AAMA,MAAMC,4BAAyE,GACpFZ,KADuF,IAEpF;AACH,QAAMC,GAAG,GAAG,iCAAOC,eAAMC,SAAN,EAAP,CAAZ;AAEA,wBAAU,MAAM;AACd,UAAMC,GAAG,GAAGH,GAAG,CAACI,OAAJ,CAAYA,OAAZ,CAAoBC,UAAhC;AACAT,IAAAA,QAAQ,CAACW,QAAT,CAAkBJ,GAAlB;AACA,WAAO,MAAMP,QAAQ,CAACY,WAAT,CAAqBL,GAArB,CAAb;AACD,GAJD,EAIG,EAJH;AAKA,sBAAO,6BAAC,+BAAD;AAAiC,IAAA,GAAG,EAAEH,GAAG,CAACI;AAA1C,KAAuDL,KAAvD,EAAP;AACD,CAXM,C,CAaP;;;;AACO,MAAMa,uBAAuB,GAAG,yCACrC,sBADqC,CAAhC;;;AAMA,MAAMC,oBAAyD,GACpEd,KADuE,IAEpE;AACH,sBAAO,6BAAC,uBAAD,EAA6BA,KAA7B,CAAP;AACD,CAJM,C,CAMP;;;;AACO,MAAMe,oBAAoB,GAAG,yCAClC,mBADkC,CAA7B;;;AAMA,MAAMC,iBAAmD,GAAIhB,KAAD,IAAW;AAC5E,sBAAO,6BAAC,oBAAD,EAA0BA,KAA1B,CAAP;AACD,CAFM","sourcesContent":["import { PrimerHeadlessUniversalCheckoutCardFormUIManager } from './RNTPrimerHeadlessUniversalCheckoutCardFormUIManager';\nimport React, { useEffect, useRef } from 'react';\nimport { NativeModules, requireNativeComponent, ViewProps } from 'react-native';\n\n\n// PrimerCardNumberEditText\nexport const PrimerCardNumberEditTextRaw = requireNativeComponent<{}>(\n 'PrimerCardNumberEditText'\n);\n\ntype PrimerCardNumberEditTextProps = ViewProps;\n\nconst { PrimerRN } = NativeModules;\n\nexport const PrimerCardNumberEditText: React.FC<PrimerCardNumberEditTextProps> = (props) => {\n const ref = useRef(React.createRef<any>());\n\n useEffect(() => {\n const tag = ref.current.current._nativeTag;\n PrimerHeadlessUniversalCheckoutCardFormUIManager.addInput(tag);\n return () => PrimerRN.removeInput(tag);\n }, []);\n\n const rawComponent = (\n <PrimerCardNumberEditTextRaw ref={ref.current} {...props} />\n );\n\n return rawComponent;\n};\n\n// PrimerCardholderNameEditText\nexport const PrimerCardholderNameEditTextRaw = requireNativeComponent<{}>(\n 'PrimerCardholderNameEditText'\n);\n\ntype PrimerCardholderNameEditTextProps = ViewProps;\n\nexport const PrimerCardholderNameEditText: React.FC<PrimerCardholderNameEditTextProps> = (\n props\n) => {\n const ref = useRef(React.createRef<any>());\n\n useEffect(() => {\n const tag = ref.current.current._nativeTag;\n PrimerRN.addInput(tag);\n return () => PrimerRN.removeInput(tag);\n }, []);\n return <PrimerCardholderNameEditTextRaw ref={ref.current} {...props} />;\n};\n\n// PrimerExpiryEditText\nexport const PrimerExpiryEditTextRaw = requireNativeComponent<{}>(\n 'PrimerExpiryEditText'\n);\n\ntype PrimerExpiryEditTextProps = ViewProps;\n\nexport const PrimerExpiryEditText: React.FC<PrimerExpiryEditTextProps> = (\n props\n) => {\n return <PrimerExpiryEditTextRaw {...props} />;\n};\n\n// cvv\nexport const PrimerCvvEditTextRaw = requireNativeComponent<{}>(\n 'PrimerCvvEditText'\n);\n\ntype PrimerCvvEditTextProps = ViewProps;\n\nexport const PrimerCvvEditText: React.FC<PrimerCvvEditTextProps> = (props) => {\n return <PrimerCvvEditTextRaw {...props} />;\n};\n"]}
|
package/lib/commonjs/RNPrimer.js
CHANGED
|
@@ -84,6 +84,16 @@ const RNPrimer = {
|
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
},
|
|
87
|
+
dispose: () => {
|
|
88
|
+
return new Promise(async (resolve, reject) => {
|
|
89
|
+
try {
|
|
90
|
+
await NativePrimer.dispose();
|
|
91
|
+
resolve();
|
|
92
|
+
} catch (err) {
|
|
93
|
+
reject(err);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
},
|
|
87
97
|
///////////////////////////////////////////
|
|
88
98
|
// DECISION HANDLERS
|
|
89
99
|
///////////////////////////////////////////
|
|
@@ -191,6 +201,7 @@ const RNPrimer = {
|
|
|
191
201
|
}
|
|
192
202
|
});
|
|
193
203
|
},
|
|
204
|
+
// HELPERS
|
|
194
205
|
setImplementedRNCallbacks: implementedRNCallbacks => {
|
|
195
206
|
return new Promise(async (resolve, reject) => {
|
|
196
207
|
try {
|
|
@@ -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","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 ///////////////////////////////////////////\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 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 | '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"]}
|