@primer-io/react-native 0.11.2 → 0.11.3

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.
@@ -15,6 +15,11 @@ enum ErrorTypeRN: String, Error, Encodable {
15
15
  case generic
16
16
  }
17
17
 
18
- struct ErrorRN: Error {
18
+ struct ErrorRN: CustomNSError, LocalizedError {
19
19
  let message: String
20
+
21
+ var errorDescription: String? {
22
+ return message
23
+ }
24
+
20
25
  }
@@ -22,12 +22,13 @@ extension PrimerRN: PrimerDelegate {
22
22
  resumeHandler: ResumeHandlerProtocol
23
23
  ) {
24
24
  do {
25
- let json = try encoder.encode(paymentMethodToken)
26
- let data = String(data: json, encoding: .utf8)!
27
- self.onTokenizeSuccessCallback?([data])
25
+ let paymentMethodTokenData = try encoder.encode(paymentMethodToken)
26
+ let paymentMethodTokenStr = String(data: paymentMethodTokenData, encoding: .utf8)!
27
+ self.onTokenizeSuccessCallback?([paymentMethodTokenStr])
28
28
  } catch {
29
29
  checkoutFailed(with: ErrorTypeRN.ParseJsonFailed)
30
30
  }
31
+
31
32
  onResumeFlowCallback = { error, clientToken in
32
33
  if let error = error {
33
34
  resumeHandler.handle(error: error)
@@ -1,7 +1,7 @@
1
1
  #import <React/RCTBridgeModule.h>
2
2
  #import <React/RCTViewManager.h>
3
3
 
4
- @interface RCT_EXTERN_MODULE(PrimerRN, RCTViewManager)
4
+ @interface RCT_EXTERN_MODULE(PrimerRN, NSObject)
5
5
 
6
6
  RCT_EXTERN_METHOD(configureSettings: (NSString *)request)
7
7
 
@@ -28,31 +28,31 @@ class PrimerRN: NSObject {
28
28
  private var sdkWasInitialised = false
29
29
  internal var haltExecution = false
30
30
 
31
- @objc func configureSettings(_ request: String) {
31
+ @objc func configureSettings(_ settingsStr: String) {
32
32
  do {
33
- let json = request.data(using: .utf8)!
34
- let settings = try JSONDecoder().decode(PrimerSettingsRN.self, from: json)
35
- self.settings = settings
33
+ let settingsData = settingsStr.data(using: .utf8)!
34
+ let settingsRN = try JSONDecoder().decode(PrimerSettingsRN.self, from: settingsData)
35
+ self.settings = settingsRN
36
36
  } catch {
37
37
  checkoutFailed(with: ErrorTypeRN.ParseJsonFailed)
38
38
  }
39
39
  }
40
40
 
41
- @objc func configureTheme(_ request: String) {
41
+ @objc func configureTheme(_ themeStr: String) {
42
42
  do {
43
- let json = request.data(using: .utf8)!
44
- let themeRN = try JSONDecoder().decode(PrimerThemeRN.self, from: json)
43
+ let themeData = themeStr.data(using: .utf8)!
44
+ let themeRN = try JSONDecoder().decode(PrimerThemeRN.self, from: themeData)
45
45
  self.theme = themeRN
46
46
  } catch {
47
47
  checkoutFailed(with: ErrorTypeRN.ParseJsonFailed)
48
48
  }
49
49
  }
50
50
 
51
- @objc func configureIntent(_ request: String) {
51
+ @objc func configureIntent(_ intentStr: String) {
52
52
  do {
53
- let json = request.data(using: .utf8)!
54
- let intent = try JSONDecoder().decode(PrimerIntentRN.self, from: json)
55
- self.intent = intent
53
+ let intentData = intentStr.data(using: .utf8)!
54
+ let intentRN = try JSONDecoder().decode(PrimerIntentRN.self, from: intentData)
55
+ self.intent = intentRN
56
56
  } catch {
57
57
  checkoutFailed(with: ErrorTypeRN.ParseJsonFailed)
58
58
  }
@@ -112,26 +112,27 @@ class PrimerRN: NSObject {
112
112
  Primer.shared.showUniversalCheckout(on: viewController, clientToken: token)
113
113
  }
114
114
  }
115
+
115
116
  } catch {
116
117
  self?.checkoutFailed(with: error)
117
118
  }
118
119
  }
119
120
  }
120
121
 
121
- @objc func resume(_ request: String) -> Void {
122
+ @objc func resume(_ resumeRequestStr: String) -> Void {
122
123
  DispatchQueue.main.async { [weak self] in
123
124
  do {
124
- let json = request.data(using: .utf8)!
125
- let request = try JSONDecoder().decode(PrimerResumeRequest.self, from: json)
125
+ let resumeRequestData = resumeRequestStr.data(using: .utf8)!
126
+ let resumeRequest = try JSONDecoder().decode(PrimerResumeRequest.self, from: resumeRequestData)
126
127
 
127
- if let error = request.error {
128
- self?.onResumeFlowCallback?(ErrorRN(message: error), nil)
129
- } else if let clientToken = request.token {
128
+ if let error = resumeRequest.error {
129
+ let errorRN = ErrorRN(message: error)
130
+ self?.onResumeFlowCallback?(errorRN, nil)
131
+ } else if let clientToken = resumeRequest.token {
130
132
  self?.onResumeFlowCallback?(nil, clientToken)
131
133
  } else {
132
134
  self?.onResumeFlowCallback?(nil, nil)
133
135
  }
134
-
135
136
  self?.onResumeFlowCallback = nil
136
137
  } catch {
137
138
  self?.checkoutFailed(with: error)
@@ -139,15 +140,16 @@ class PrimerRN: NSObject {
139
140
  }
140
141
  }
141
142
 
142
- @objc func actionResume(_ request: String) -> Void {
143
+ @objc func actionResume(_ resumeRequestStr: String) -> Void {
143
144
  DispatchQueue.main.async { [weak self] in
144
145
  do {
145
- let json = request.data(using: .utf8)!
146
- let request = try JSONDecoder().decode(PrimerResumeRequest.self, from: json)
146
+ let resumeRequestData = resumeRequestStr.data(using: .utf8)!
147
+ let resumeRequestRN = try JSONDecoder().decode(PrimerResumeRequest.self, from: resumeRequestData)
147
148
 
148
- if let error = request.error {
149
- self?.onActionResumeCallback?(ErrorRN(message: error), nil)
150
- } else if let clientToken = request.token {
149
+ if let error = resumeRequestRN.error {
150
+ let errorRN = ErrorRN(message: error)
151
+ self?.onActionResumeCallback?(errorRN, nil)
152
+ } else if let clientToken = resumeRequestRN.token {
151
153
  self?.onActionResumeCallback?(nil, clientToken)
152
154
  } else {
153
155
  self?.onActionResumeCallback?(nil, self?.clientToken)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/react-native",
3
- "version": "0.11.2",
3
+ "version": "0.11.3",
4
4
  "description": "Primer SDK for RN",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",