@primer-io/react-native 2.27.1 → 2.27.2
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
CHANGED
|
@@ -154,7 +154,7 @@ dependencies {
|
|
|
154
154
|
api 'com.facebook.react:react-native:+'
|
|
155
155
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
156
156
|
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1"
|
|
157
|
-
implementation 'io.primer:android:2.
|
|
157
|
+
implementation 'io.primer:android:2.32.4'
|
|
158
158
|
testImplementation 'io.mockk:mockk:1.13.11'
|
|
159
159
|
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.2'
|
|
160
160
|
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.2'
|
package/ios/Sources/Headless Universal Checkout/Managers/Assets Manager/RNTAssetsManager.swift
CHANGED
|
@@ -7,101 +7,113 @@
|
|
|
7
7
|
|
|
8
8
|
import Foundation
|
|
9
9
|
import PrimerSDK
|
|
10
|
+
import React
|
|
10
11
|
|
|
11
12
|
@objc(RNTPrimerHeadlessUniversalCheckoutAssetsManager)
|
|
12
13
|
class RNTPrimerHeadlessUniversalCheckoutAssetsManager: RCTEventEmitter {
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
override func supportedEvents() -> [String]! {
|
|
16
|
+
return []
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
override class func requiresMainQueueSetup() -> Bool {
|
|
20
|
+
return true
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@objc
|
|
24
|
+
func getCardNetworkImage(
|
|
25
|
+
_ cardNetworkStr: String,
|
|
26
|
+
resolver: RCTPromiseResolveBlock,
|
|
27
|
+
rejecter: RCTPromiseRejectBlock
|
|
28
|
+
) {
|
|
29
|
+
do {
|
|
30
|
+
|
|
31
|
+
guard let cardNetwork = CardNetwork(rawValue: cardNetworkStr) else {
|
|
32
|
+
let err = RNTNativeError(
|
|
33
|
+
errorId: "native-ios",
|
|
34
|
+
errorDescription: "Failed to find asset of \(cardNetworkStr).",
|
|
35
|
+
recoverySuggestion: nil)
|
|
36
|
+
throw err
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
guard
|
|
40
|
+
let cardNetworkImage = try PrimerSDK.PrimerHeadlessUniversalCheckout.AssetsManager
|
|
41
|
+
.getCardNetworkImage(for: cardNetwork)
|
|
42
|
+
else {
|
|
43
|
+
let err = RNTNativeError(
|
|
44
|
+
errorId: "native-ios",
|
|
45
|
+
errorDescription: "Failed to find asset of \(cardNetworkStr).",
|
|
46
|
+
recoverySuggestion: nil)
|
|
47
|
+
throw err
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
let localUrl = try cardNetworkImage.store(withName: cardNetwork.rawValue)
|
|
51
|
+
resolver(["cardNetworkImageURL": localUrl.absoluteString])
|
|
52
|
+
|
|
53
|
+
} catch {
|
|
54
|
+
rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
|
|
16
55
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@objc
|
|
59
|
+
func getPaymentMethodAsset(
|
|
60
|
+
_ paymentMethodType: String,
|
|
61
|
+
resolver: RCTPromiseResolveBlock,
|
|
62
|
+
rejecter: RCTPromiseRejectBlock
|
|
63
|
+
) {
|
|
64
|
+
do {
|
|
65
|
+
guard
|
|
66
|
+
let paymentMethodAsset = try PrimerSDK.PrimerHeadlessUniversalCheckout.AssetsManager
|
|
67
|
+
.getPaymentMethodAsset(for: paymentMethodType)
|
|
68
|
+
else {
|
|
69
|
+
let err = RNTNativeError(
|
|
70
|
+
errorId: "native-ios",
|
|
71
|
+
errorDescription: "Failed to find asset of \(paymentMethodType) for this session",
|
|
72
|
+
recoverySuggestion: nil)
|
|
73
|
+
throw err
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if let rntPaymentMethodAsset = try? RNTPrimerPaymentMethodAsset(
|
|
77
|
+
primerPaymentMethodAsset: paymentMethodAsset
|
|
78
|
+
).toJsonObject() {
|
|
79
|
+
resolver(["paymentMethodAsset": rntPaymentMethodAsset])
|
|
80
|
+
} else {
|
|
81
|
+
let err = RNTNativeError(
|
|
82
|
+
errorId: "native-ios",
|
|
83
|
+
errorDescription: "Failed to create the RNTPrimerPaymentMethodAsset",
|
|
84
|
+
recoverySuggestion: nil)
|
|
85
|
+
throw err
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
} catch {
|
|
89
|
+
rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
|
|
52
90
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
} catch {
|
|
80
|
-
rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
@objc
|
|
85
|
-
func getPaymentMethodAssets(
|
|
86
|
-
_ resolver: RCTPromiseResolveBlock,
|
|
87
|
-
rejecter: RCTPromiseRejectBlock
|
|
88
|
-
) {
|
|
89
|
-
do {
|
|
90
|
-
let paymentMethodAssets = try PrimerSDK.PrimerHeadlessUniversalCheckout.AssetsManager.getPaymentMethodAssets()
|
|
91
|
-
|
|
92
|
-
let rntPaymentMethodAssets = paymentMethodAssets.compactMap({ try? RNTPrimerPaymentMethodAsset(primerPaymentMethodAsset: $0).toJsonObject() })
|
|
93
|
-
guard !rntPaymentMethodAssets.isEmpty else {
|
|
94
|
-
let err = RNTNativeError(
|
|
95
|
-
errorId: "native-ios",
|
|
96
|
-
errorDescription: "Failed to find assets for this session",
|
|
97
|
-
recoverySuggestion: nil)
|
|
98
|
-
throw err
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
resolver(["paymentMethodAssets": rntPaymentMethodAssets])
|
|
102
|
-
|
|
103
|
-
} catch {
|
|
104
|
-
rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
|
|
105
|
-
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@objc
|
|
94
|
+
func getPaymentMethodAssets(
|
|
95
|
+
_ resolver: RCTPromiseResolveBlock,
|
|
96
|
+
rejecter: RCTPromiseRejectBlock
|
|
97
|
+
) {
|
|
98
|
+
do {
|
|
99
|
+
let paymentMethodAssets = try PrimerSDK.PrimerHeadlessUniversalCheckout.AssetsManager
|
|
100
|
+
.getPaymentMethodAssets()
|
|
101
|
+
|
|
102
|
+
let rntPaymentMethodAssets = paymentMethodAssets.compactMap({
|
|
103
|
+
try? RNTPrimerPaymentMethodAsset(primerPaymentMethodAsset: $0).toJsonObject()
|
|
104
|
+
})
|
|
105
|
+
guard !rntPaymentMethodAssets.isEmpty else {
|
|
106
|
+
let err = RNTNativeError(
|
|
107
|
+
errorId: "native-ios",
|
|
108
|
+
errorDescription: "Failed to find assets for this session",
|
|
109
|
+
recoverySuggestion: nil)
|
|
110
|
+
throw err
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
resolver(["paymentMethodAssets": rntPaymentMethodAssets])
|
|
114
|
+
|
|
115
|
+
} catch {
|
|
116
|
+
rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
|
|
106
117
|
}
|
|
118
|
+
}
|
|
107
119
|
}
|
package/package.json
CHANGED