@primer-io/react-native 0.11.3 → 0.12.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.
@@ -128,5 +128,5 @@ dependencies {
128
128
  api 'com.facebook.react:react-native:+'
129
129
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
130
130
  implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.2"
131
- implementation 'io.primer:android:1.9.2'
131
+ implementation 'io.primer:android:1.10.0'
132
132
  }
@@ -92,17 +92,18 @@ data class OptionsRN(
92
92
  val isResultScreenEnabled: Boolean? = null,
93
93
  val isLoadingScreenEnabled: Boolean? = null,
94
94
  val isFullScreenEnabled: Boolean? = null,
95
- val isThreeDsEnabled: Boolean? = null,
95
+ val is3DSOnVaultingEnabled: Boolean? = null,
96
96
  val locale: String? = null,
97
97
  val android: AndroidOptionsRN? = null,
98
+ val is3DSDevelopmentModeEnabled: Boolean = true
98
99
  ) {
99
100
  fun format(): Options {
100
101
  return Options(
101
102
  showUI = isLoadingScreenEnabled ?: true,
102
103
  redirectScheme = android?.redirectScheme,
103
- is3DSOnVaultingEnabled = isThreeDsEnabled ?: false,
104
+ is3DSOnVaultingEnabled = is3DSOnVaultingEnabled ?: false,
104
105
  debugOptions = PrimerDebugOptions(
105
- is3DSSanityCheckEnabled = true, // false on emulator
106
+ is3DSSanityCheckEnabled = is3DSDevelopmentModeEnabled, // false on emulator
106
107
  ),
107
108
  )
108
109
  }
@@ -15,11 +15,6 @@ enum ErrorTypeRN: String, Error, Encodable {
15
15
  case generic
16
16
  }
17
17
 
18
- struct ErrorRN: CustomNSError, LocalizedError {
18
+ struct ErrorRN: Error {
19
19
  let message: String
20
-
21
- var errorDescription: String? {
22
- return message
23
- }
24
-
25
20
  }
@@ -20,6 +20,11 @@ extension PrimerSettingsRN {
20
20
  postalCode: billingAddress.postalCode
21
21
  )
22
22
  }
23
+
24
+ var debugOptions: PrimerDebugOptions?
25
+ if options?.is3DSDevelopmentModeEnabled == true {
26
+ debugOptions = PrimerDebugOptions(is3DSSanityCheckEnabled: true)
27
+ }
23
28
 
24
29
  return PrimerSettings(
25
30
  merchantIdentifier: options?.ios?.merchantIdentifier,
@@ -35,7 +40,9 @@ extension PrimerSettingsRN {
35
40
  businessDetails: business?.primerFormat,
36
41
  orderItems: order?.itemsFormatted ?? [],
37
42
  isInitialLoadingHidden: !(options?.isLoadingScreenEnabled ?? true),
43
+ is3DSOnVaultingEnabled: options?.is3DSOnVaultingEnabled ?? false,
38
44
  orderId: order?.id,
45
+ debugOptions: debugOptions,
39
46
  customer: Customer(
40
47
  firstName: customer?.firstName,
41
48
  lastName: customer?.lastName,
@@ -145,6 +152,8 @@ fileprivate struct OptionsRN: Decodable {
145
152
  let isResultScreenEnabled: Bool?
146
153
  let isLoadingScreenEnabled: Bool?
147
154
  let isFullScreenEnabled: Bool?
155
+ let is3DSOnVaultingEnabled: Bool?
156
+ let is3DSDevelopmentModeEnabled: Bool?
148
157
  let locale: String?
149
158
  let ios: IosOptionsRN?
150
159
  }
@@ -0,0 +1,3 @@
1
+ PODFILE CHECKSUM: 0984f720d2439f86374726bfdebe32d895fdcf46
2
+
3
+ COCOAPODS: 1.10.1
@@ -0,0 +1,344 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 9E8C55F8977D10A75940A48A138A0AFE /* Pods-ReactNative-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 21494CACF6F2E013D9CB5866F5B70547 /* Pods-ReactNative-dummy.m */; };
11
+ /* End PBXBuildFile section */
12
+
13
+ /* Begin PBXFileReference section */
14
+ 01A50817A1389F823A6016196ACC6BF1 /* libPods-ReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-ReactNative.a"; path = "libPods-ReactNative.a"; sourceTree = BUILT_PRODUCTS_DIR; };
15
+ 21494CACF6F2E013D9CB5866F5B70547 /* Pods-ReactNative-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ReactNative-dummy.m"; sourceTree = "<group>"; };
16
+ 2C33F1119B4C5BFECC9324C0F764B631 /* Pods-ReactNative.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ReactNative.debug.xcconfig"; sourceTree = "<group>"; };
17
+ 2F8BD7D813BBFC9A1ECFDC65BFA4EB65 /* Pods-ReactNative.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ReactNative.release.xcconfig"; sourceTree = "<group>"; };
18
+ 82B126974795CE04EAAAF88CB7D34268 /* Pods-ReactNative-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ReactNative-acknowledgements.plist"; sourceTree = "<group>"; };
19
+ 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
20
+ F58B2F425238CEE203A57909252762AA /* Pods-ReactNative-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ReactNative-acknowledgements.markdown"; sourceTree = "<group>"; };
21
+ /* End PBXFileReference section */
22
+
23
+ /* Begin PBXFrameworksBuildPhase section */
24
+ 0AE86DDB555079E917C20C9B5309196B /* Frameworks */ = {
25
+ isa = PBXFrameworksBuildPhase;
26
+ buildActionMask = 2147483647;
27
+ files = (
28
+ );
29
+ runOnlyForDeploymentPostprocessing = 0;
30
+ };
31
+ /* End PBXFrameworksBuildPhase section */
32
+
33
+ /* Begin PBXGroup section */
34
+ 2D3CED68F2826C3C8381FB3CBCEE392D /* Pods-ReactNative */ = {
35
+ isa = PBXGroup;
36
+ children = (
37
+ F58B2F425238CEE203A57909252762AA /* Pods-ReactNative-acknowledgements.markdown */,
38
+ 82B126974795CE04EAAAF88CB7D34268 /* Pods-ReactNative-acknowledgements.plist */,
39
+ 21494CACF6F2E013D9CB5866F5B70547 /* Pods-ReactNative-dummy.m */,
40
+ 2C33F1119B4C5BFECC9324C0F764B631 /* Pods-ReactNative.debug.xcconfig */,
41
+ 2F8BD7D813BBFC9A1ECFDC65BFA4EB65 /* Pods-ReactNative.release.xcconfig */,
42
+ );
43
+ name = "Pods-ReactNative";
44
+ path = "Target Support Files/Pods-ReactNative";
45
+ sourceTree = "<group>";
46
+ };
47
+ 6BA0D8A96C7AD85281F53D2F7AF1DAD7 /* Targets Support Files */ = {
48
+ isa = PBXGroup;
49
+ children = (
50
+ 2D3CED68F2826C3C8381FB3CBCEE392D /* Pods-ReactNative */,
51
+ );
52
+ name = "Targets Support Files";
53
+ sourceTree = "<group>";
54
+ };
55
+ 7B268D4862065D83735E411AABCB1799 /* Products */ = {
56
+ isa = PBXGroup;
57
+ children = (
58
+ 01A50817A1389F823A6016196ACC6BF1 /* libPods-ReactNative.a */,
59
+ );
60
+ name = Products;
61
+ sourceTree = "<group>";
62
+ };
63
+ CF1408CF629C7361332E53B88F7BD30C = {
64
+ isa = PBXGroup;
65
+ children = (
66
+ 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
67
+ D89477F20FB1DE18A04690586D7808C4 /* Frameworks */,
68
+ 7B268D4862065D83735E411AABCB1799 /* Products */,
69
+ 6BA0D8A96C7AD85281F53D2F7AF1DAD7 /* Targets Support Files */,
70
+ );
71
+ sourceTree = "<group>";
72
+ };
73
+ D89477F20FB1DE18A04690586D7808C4 /* Frameworks */ = {
74
+ isa = PBXGroup;
75
+ children = (
76
+ );
77
+ name = Frameworks;
78
+ sourceTree = "<group>";
79
+ };
80
+ /* End PBXGroup section */
81
+
82
+ /* Begin PBXHeadersBuildPhase section */
83
+ B3EA2B49F1AF137B106149563B751DAE /* Headers */ = {
84
+ isa = PBXHeadersBuildPhase;
85
+ buildActionMask = 2147483647;
86
+ files = (
87
+ );
88
+ runOnlyForDeploymentPostprocessing = 0;
89
+ };
90
+ /* End PBXHeadersBuildPhase section */
91
+
92
+ /* Begin PBXNativeTarget section */
93
+ 596E717FE57719548E74A692D33C9E22 /* Pods-ReactNative */ = {
94
+ isa = PBXNativeTarget;
95
+ buildConfigurationList = 7728D94732A9241690087065400BB44B /* Build configuration list for PBXNativeTarget "Pods-ReactNative" */;
96
+ buildPhases = (
97
+ B3EA2B49F1AF137B106149563B751DAE /* Headers */,
98
+ E8C4B3F8546D3B7E2B58E7A505A1006B /* Sources */,
99
+ 0AE86DDB555079E917C20C9B5309196B /* Frameworks */,
100
+ );
101
+ buildRules = (
102
+ );
103
+ dependencies = (
104
+ );
105
+ name = "Pods-ReactNative";
106
+ productName = "Pods-ReactNative";
107
+ productReference = 01A50817A1389F823A6016196ACC6BF1 /* libPods-ReactNative.a */;
108
+ productType = "com.apple.product-type.library.static";
109
+ };
110
+ /* End PBXNativeTarget section */
111
+
112
+ /* Begin PBXProject section */
113
+ BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
114
+ isa = PBXProject;
115
+ attributes = {
116
+ LastSwiftUpdateCheck = 1100;
117
+ LastUpgradeCheck = 1100;
118
+ };
119
+ buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
120
+ compatibilityVersion = "Xcode 3.2";
121
+ developmentRegion = en;
122
+ hasScannedForEncodings = 0;
123
+ knownRegions = (
124
+ en,
125
+ Base,
126
+ );
127
+ mainGroup = CF1408CF629C7361332E53B88F7BD30C;
128
+ productRefGroup = 7B268D4862065D83735E411AABCB1799 /* Products */;
129
+ projectDirPath = "";
130
+ projectRoot = "";
131
+ targets = (
132
+ 596E717FE57719548E74A692D33C9E22 /* Pods-ReactNative */,
133
+ );
134
+ };
135
+ /* End PBXProject section */
136
+
137
+ /* Begin PBXSourcesBuildPhase section */
138
+ E8C4B3F8546D3B7E2B58E7A505A1006B /* Sources */ = {
139
+ isa = PBXSourcesBuildPhase;
140
+ buildActionMask = 2147483647;
141
+ files = (
142
+ 9E8C55F8977D10A75940A48A138A0AFE /* Pods-ReactNative-dummy.m in Sources */,
143
+ );
144
+ runOnlyForDeploymentPostprocessing = 0;
145
+ };
146
+ /* End PBXSourcesBuildPhase section */
147
+
148
+ /* Begin XCBuildConfiguration section */
149
+ 07CE986916C51009E26F9F9F8BC685F2 /* Release */ = {
150
+ isa = XCBuildConfiguration;
151
+ baseConfigurationReference = 2F8BD7D813BBFC9A1ECFDC65BFA4EB65 /* Pods-ReactNative.release.xcconfig */;
152
+ buildSettings = {
153
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
154
+ CLANG_ENABLE_OBJC_WEAK = NO;
155
+ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
156
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
157
+ "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
158
+ IPHONEOS_DEPLOYMENT_TARGET = 10.0;
159
+ MACH_O_TYPE = staticlib;
160
+ OTHER_LDFLAGS = "";
161
+ OTHER_LIBTOOLFLAGS = "";
162
+ PODS_ROOT = "$(SRCROOT)";
163
+ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
164
+ SDKROOT = iphoneos;
165
+ SKIP_INSTALL = YES;
166
+ TARGETED_DEVICE_FAMILY = "1,2";
167
+ VALIDATE_PRODUCT = YES;
168
+ };
169
+ name = Release;
170
+ };
171
+ 7EE7A78859F657F6BEFC651185B43192 /* Release */ = {
172
+ isa = XCBuildConfiguration;
173
+ buildSettings = {
174
+ ALWAYS_SEARCH_USER_PATHS = NO;
175
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
176
+ CLANG_ANALYZER_NONNULL = YES;
177
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
178
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
179
+ CLANG_CXX_LIBRARY = "libc++";
180
+ CLANG_ENABLE_MODULES = YES;
181
+ CLANG_ENABLE_OBJC_ARC = YES;
182
+ CLANG_ENABLE_OBJC_WEAK = YES;
183
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
184
+ CLANG_WARN_BOOL_CONVERSION = YES;
185
+ CLANG_WARN_COMMA = YES;
186
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
187
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
188
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
189
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
190
+ CLANG_WARN_EMPTY_BODY = YES;
191
+ CLANG_WARN_ENUM_CONVERSION = YES;
192
+ CLANG_WARN_INFINITE_RECURSION = YES;
193
+ CLANG_WARN_INT_CONVERSION = YES;
194
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
195
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
196
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
197
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
198
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
199
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
200
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
201
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
202
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
203
+ CLANG_WARN_UNREACHABLE_CODE = YES;
204
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
205
+ COPY_PHASE_STRIP = NO;
206
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
207
+ ENABLE_NS_ASSERTIONS = NO;
208
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
209
+ GCC_C_LANGUAGE_STANDARD = gnu11;
210
+ GCC_NO_COMMON_BLOCKS = YES;
211
+ GCC_PREPROCESSOR_DEFINITIONS = (
212
+ "POD_CONFIGURATION_RELEASE=1",
213
+ "$(inherited)",
214
+ );
215
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
216
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
217
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
218
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
219
+ GCC_WARN_UNUSED_FUNCTION = YES;
220
+ GCC_WARN_UNUSED_VARIABLE = YES;
221
+ IPHONEOS_DEPLOYMENT_TARGET = 10.0;
222
+ MTL_ENABLE_DEBUG_INFO = NO;
223
+ MTL_FAST_MATH = YES;
224
+ PRODUCT_NAME = "$(TARGET_NAME)";
225
+ STRIP_INSTALLED_PRODUCT = NO;
226
+ SWIFT_COMPILATION_MODE = wholemodule;
227
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
228
+ SWIFT_VERSION = 5.0;
229
+ SYMROOT = "${SRCROOT}/../build";
230
+ };
231
+ name = Release;
232
+ };
233
+ D299434AB35E7FD6F7921C8EF24742FF /* Debug */ = {
234
+ isa = XCBuildConfiguration;
235
+ buildSettings = {
236
+ ALWAYS_SEARCH_USER_PATHS = NO;
237
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
238
+ CLANG_ANALYZER_NONNULL = YES;
239
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
240
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
241
+ CLANG_CXX_LIBRARY = "libc++";
242
+ CLANG_ENABLE_MODULES = YES;
243
+ CLANG_ENABLE_OBJC_ARC = YES;
244
+ CLANG_ENABLE_OBJC_WEAK = YES;
245
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
246
+ CLANG_WARN_BOOL_CONVERSION = YES;
247
+ CLANG_WARN_COMMA = YES;
248
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
249
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
250
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
251
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
252
+ CLANG_WARN_EMPTY_BODY = YES;
253
+ CLANG_WARN_ENUM_CONVERSION = YES;
254
+ CLANG_WARN_INFINITE_RECURSION = YES;
255
+ CLANG_WARN_INT_CONVERSION = YES;
256
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
257
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
258
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
259
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
260
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
261
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
262
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
263
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
264
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
265
+ CLANG_WARN_UNREACHABLE_CODE = YES;
266
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
267
+ COPY_PHASE_STRIP = NO;
268
+ DEBUG_INFORMATION_FORMAT = dwarf;
269
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
270
+ ENABLE_TESTABILITY = YES;
271
+ GCC_C_LANGUAGE_STANDARD = gnu11;
272
+ GCC_DYNAMIC_NO_PIC = NO;
273
+ GCC_NO_COMMON_BLOCKS = YES;
274
+ GCC_OPTIMIZATION_LEVEL = 0;
275
+ GCC_PREPROCESSOR_DEFINITIONS = (
276
+ "POD_CONFIGURATION_DEBUG=1",
277
+ "DEBUG=1",
278
+ "$(inherited)",
279
+ );
280
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
281
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
282
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
283
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
284
+ GCC_WARN_UNUSED_FUNCTION = YES;
285
+ GCC_WARN_UNUSED_VARIABLE = YES;
286
+ IPHONEOS_DEPLOYMENT_TARGET = 10.0;
287
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
288
+ MTL_FAST_MATH = YES;
289
+ ONLY_ACTIVE_ARCH = YES;
290
+ PRODUCT_NAME = "$(TARGET_NAME)";
291
+ STRIP_INSTALLED_PRODUCT = NO;
292
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
293
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
294
+ SWIFT_VERSION = 5.0;
295
+ SYMROOT = "${SRCROOT}/../build";
296
+ };
297
+ name = Debug;
298
+ };
299
+ ED632BBB0E7E0A6D3E30EE1A65FF0A83 /* Debug */ = {
300
+ isa = XCBuildConfiguration;
301
+ baseConfigurationReference = 2C33F1119B4C5BFECC9324C0F764B631 /* Pods-ReactNative.debug.xcconfig */;
302
+ buildSettings = {
303
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
304
+ CLANG_ENABLE_OBJC_WEAK = NO;
305
+ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
306
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
307
+ "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
308
+ IPHONEOS_DEPLOYMENT_TARGET = 10.0;
309
+ MACH_O_TYPE = staticlib;
310
+ OTHER_LDFLAGS = "";
311
+ OTHER_LIBTOOLFLAGS = "";
312
+ PODS_ROOT = "$(SRCROOT)";
313
+ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
314
+ SDKROOT = iphoneos;
315
+ SKIP_INSTALL = YES;
316
+ TARGETED_DEVICE_FAMILY = "1,2";
317
+ };
318
+ name = Debug;
319
+ };
320
+ /* End XCBuildConfiguration section */
321
+
322
+ /* Begin XCConfigurationList section */
323
+ 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
324
+ isa = XCConfigurationList;
325
+ buildConfigurations = (
326
+ D299434AB35E7FD6F7921C8EF24742FF /* Debug */,
327
+ 7EE7A78859F657F6BEFC651185B43192 /* Release */,
328
+ );
329
+ defaultConfigurationIsVisible = 0;
330
+ defaultConfigurationName = Release;
331
+ };
332
+ 7728D94732A9241690087065400BB44B /* Build configuration list for PBXNativeTarget "Pods-ReactNative" */ = {
333
+ isa = XCConfigurationList;
334
+ buildConfigurations = (
335
+ ED632BBB0E7E0A6D3E30EE1A65FF0A83 /* Debug */,
336
+ 07CE986916C51009E26F9F9F8BC685F2 /* Release */,
337
+ );
338
+ defaultConfigurationIsVisible = 0;
339
+ defaultConfigurationName = Release;
340
+ };
341
+ /* End XCConfigurationList section */
342
+ };
343
+ rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
344
+ }
@@ -0,0 +1,60 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Scheme
3
+ LastUpgradeVersion = "1100"
4
+ version = "1.3">
5
+ <BuildAction
6
+ parallelizeBuildables = "YES"
7
+ buildImplicitDependencies = "YES">
8
+ <BuildActionEntries>
9
+ <BuildActionEntry
10
+ buildForAnalyzing = "YES"
11
+ buildForTesting = "YES"
12
+ buildForRunning = "YES"
13
+ buildForProfiling = "YES"
14
+ buildForArchiving = "YES">
15
+ <BuildableReference
16
+ BuildableIdentifier = "primary"
17
+ BlueprintIdentifier = "596E717FE57719548E74A692D33C9E22"
18
+ BuildableName = "libPods-ReactNative.a"
19
+ BlueprintName = "Pods-ReactNative"
20
+ ReferencedContainer = "container:Pods.xcodeproj">
21
+ </BuildableReference>
22
+ </BuildActionEntry>
23
+ </BuildActionEntries>
24
+ </BuildAction>
25
+ <TestAction
26
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
27
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
28
+ shouldUseLaunchSchemeArgsEnv = "YES"
29
+ buildConfiguration = "Debug">
30
+ <AdditionalOptions>
31
+ </AdditionalOptions>
32
+ </TestAction>
33
+ <LaunchAction
34
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
35
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
36
+ launchStyle = "0"
37
+ useCustomWorkingDirectory = "NO"
38
+ ignoresPersistentStateOnLaunch = "NO"
39
+ debugDocumentVersioning = "YES"
40
+ debugServiceExtension = "internal"
41
+ buildConfiguration = "Debug"
42
+ allowLocationSimulation = "YES">
43
+ <AdditionalOptions>
44
+ </AdditionalOptions>
45
+ </LaunchAction>
46
+ <ProfileAction
47
+ savedToolIdentifier = ""
48
+ useCustomWorkingDirectory = "NO"
49
+ debugDocumentVersioning = "YES"
50
+ buildConfiguration = "Release"
51
+ shouldUseLaunchSchemeArgsEnv = "YES">
52
+ </ProfileAction>
53
+ <AnalyzeAction
54
+ buildConfiguration = "Debug">
55
+ </AnalyzeAction>
56
+ <ArchiveAction
57
+ buildConfiguration = "Release"
58
+ revealArchiveInOrganizer = "YES">
59
+ </ArchiveAction>
60
+ </Scheme>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>SchemeUserState</key>
6
+ <dict>
7
+ <key>Pods-ReactNative.xcscheme</key>
8
+ <dict>
9
+ <key>isShown</key>
10
+ <false/>
11
+ </dict>
12
+ </dict>
13
+ <key>SuppressBuildableAutocreation</key>
14
+ <dict/>
15
+ </dict>
16
+ </plist>
@@ -0,0 +1,3 @@
1
+ # Acknowledgements
2
+ This application makes use of the following third party libraries:
3
+ Generated by CocoaPods - https://cocoapods.org
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>PreferenceSpecifiers</key>
6
+ <array>
7
+ <dict>
8
+ <key>FooterText</key>
9
+ <string>This application makes use of the following third party libraries:</string>
10
+ <key>Title</key>
11
+ <string>Acknowledgements</string>
12
+ <key>Type</key>
13
+ <string>PSGroupSpecifier</string>
14
+ </dict>
15
+ <dict>
16
+ <key>FooterText</key>
17
+ <string>Generated by CocoaPods - https://cocoapods.org</string>
18
+ <key>Title</key>
19
+ <string></string>
20
+ <key>Type</key>
21
+ <string>PSGroupSpecifier</string>
22
+ </dict>
23
+ </array>
24
+ <key>StringsTable</key>
25
+ <string>Acknowledgements</string>
26
+ <key>Title</key>
27
+ <string>Acknowledgements</string>
28
+ </dict>
29
+ </plist>
@@ -0,0 +1,5 @@
1
+ #import <Foundation/Foundation.h>
2
+ @interface PodsDummy_Pods_ReactNative : NSObject
3
+ @end
4
+ @implementation PodsDummy_Pods_ReactNative
5
+ @end
@@ -0,0 +1,8 @@
1
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2
+ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3
+ PODS_BUILD_DIR = ${BUILD_DIR}
4
+ PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
5
+ PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
6
+ PODS_ROOT = ${SRCROOT}/Pods
7
+ PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
8
+ USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
@@ -0,0 +1,8 @@
1
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2
+ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3
+ PODS_BUILD_DIR = ${BUILD_DIR}
4
+ PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
5
+ PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
6
+ PODS_ROOT = ${SRCROOT}/Pods
7
+ PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
8
+ USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
@@ -22,13 +22,12 @@ extension PrimerRN: PrimerDelegate {
22
22
  resumeHandler: ResumeHandlerProtocol
23
23
  ) {
24
24
  do {
25
- let paymentMethodTokenData = try encoder.encode(paymentMethodToken)
26
- let paymentMethodTokenStr = String(data: paymentMethodTokenData, encoding: .utf8)!
27
- self.onTokenizeSuccessCallback?([paymentMethodTokenStr])
25
+ let json = try encoder.encode(paymentMethodToken)
26
+ let data = String(data: json, encoding: .utf8)!
27
+ self.onTokenizeSuccessCallback?([data])
28
28
  } catch {
29
29
  checkoutFailed(with: ErrorTypeRN.ParseJsonFailed)
30
30
  }
31
-
32
31
  onResumeFlowCallback = { error, clientToken in
33
32
  if let error = error {
34
33
  resumeHandler.handle(error: error)
@@ -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(_ settingsStr: String) {
31
+ @objc func configureSettings(_ request: String) {
32
32
  do {
33
- let settingsData = settingsStr.data(using: .utf8)!
34
- let settingsRN = try JSONDecoder().decode(PrimerSettingsRN.self, from: settingsData)
35
- self.settings = settingsRN
33
+ let json = request.data(using: .utf8)!
34
+ let settings = try JSONDecoder().decode(PrimerSettingsRN.self, from: json)
35
+ self.settings = settings
36
36
  } catch {
37
37
  checkoutFailed(with: ErrorTypeRN.ParseJsonFailed)
38
38
  }
39
39
  }
40
40
 
41
- @objc func configureTheme(_ themeStr: String) {
41
+ @objc func configureTheme(_ request: String) {
42
42
  do {
43
- let themeData = themeStr.data(using: .utf8)!
44
- let themeRN = try JSONDecoder().decode(PrimerThemeRN.self, from: themeData)
43
+ let json = request.data(using: .utf8)!
44
+ let themeRN = try JSONDecoder().decode(PrimerThemeRN.self, from: json)
45
45
  self.theme = themeRN
46
46
  } catch {
47
47
  checkoutFailed(with: ErrorTypeRN.ParseJsonFailed)
48
48
  }
49
49
  }
50
50
 
51
- @objc func configureIntent(_ intentStr: String) {
51
+ @objc func configureIntent(_ request: String) {
52
52
  do {
53
- let intentData = intentStr.data(using: .utf8)!
54
- let intentRN = try JSONDecoder().decode(PrimerIntentRN.self, from: intentData)
55
- self.intent = intentRN
53
+ let json = request.data(using: .utf8)!
54
+ let intent = try JSONDecoder().decode(PrimerIntentRN.self, from: json)
55
+ self.intent = intent
56
56
  } catch {
57
57
  checkoutFailed(with: ErrorTypeRN.ParseJsonFailed)
58
58
  }
@@ -112,27 +112,26 @@ class PrimerRN: NSObject {
112
112
  Primer.shared.showUniversalCheckout(on: viewController, clientToken: token)
113
113
  }
114
114
  }
115
-
116
115
  } catch {
117
116
  self?.checkoutFailed(with: error)
118
117
  }
119
118
  }
120
119
  }
121
120
 
122
- @objc func resume(_ resumeRequestStr: String) -> Void {
121
+ @objc func resume(_ request: String) -> Void {
123
122
  DispatchQueue.main.async { [weak self] in
124
123
  do {
125
- let resumeRequestData = resumeRequestStr.data(using: .utf8)!
126
- let resumeRequest = try JSONDecoder().decode(PrimerResumeRequest.self, from: resumeRequestData)
124
+ let json = request.data(using: .utf8)!
125
+ let request = try JSONDecoder().decode(PrimerResumeRequest.self, from: json)
127
126
 
128
- if let error = resumeRequest.error {
129
- let errorRN = ErrorRN(message: error)
130
- self?.onResumeFlowCallback?(errorRN, nil)
131
- } else if let clientToken = resumeRequest.token {
127
+ if let error = request.error {
128
+ self?.onResumeFlowCallback?(ErrorRN(message: error), nil)
129
+ } else if let clientToken = request.token {
132
130
  self?.onResumeFlowCallback?(nil, clientToken)
133
131
  } else {
134
132
  self?.onResumeFlowCallback?(nil, nil)
135
133
  }
134
+
136
135
  self?.onResumeFlowCallback = nil
137
136
  } catch {
138
137
  self?.checkoutFailed(with: error)
@@ -140,16 +139,15 @@ class PrimerRN: NSObject {
140
139
  }
141
140
  }
142
141
 
143
- @objc func actionResume(_ resumeRequestStr: String) -> Void {
142
+ @objc func actionResume(_ request: String) -> Void {
144
143
  DispatchQueue.main.async { [weak self] in
145
144
  do {
146
- let resumeRequestData = resumeRequestStr.data(using: .utf8)!
147
- let resumeRequestRN = try JSONDecoder().decode(PrimerResumeRequest.self, from: resumeRequestData)
145
+ let json = request.data(using: .utf8)!
146
+ let request = try JSONDecoder().decode(PrimerResumeRequest.self, from: json)
148
147
 
149
- if let error = resumeRequestRN.error {
150
- let errorRN = ErrorRN(message: error)
151
- self?.onActionResumeCallback?(errorRN, nil)
152
- } else if let clientToken = resumeRequestRN.token {
148
+ if let error = request.error {
149
+ self?.onActionResumeCallback?(ErrorRN(message: error), nil)
150
+ } else if let clientToken = request.token {
153
151
  self?.onActionResumeCallback?(nil, clientToken)
154
152
  } else {
155
153
  self?.onActionResumeCallback?(nil, self?.clientToken)
@@ -1,7 +1,7 @@
1
1
  #import <React/RCTBridgeModule.h>
2
2
  #import <React/RCTViewManager.h>
3
3
 
4
- @interface RCT_EXTERN_MODULE(PrimerRN, NSObject)
4
+ @interface RCT_EXTERN_MODULE(PrimerRN, RCTViewManager)
5
5
 
6
6
  RCT_EXTERN_METHOD(configureSettings: (NSString *)request)
7
7
 
@@ -40,7 +40,8 @@ interface IOptions {
40
40
  isResultScreenEnabled?: boolean;
41
41
  isLoadingScreenEnabled?: boolean;
42
42
  isFullScreenEnabled?: boolean;
43
- isThreeDsEnabled?: boolean;
43
+ is3DSOnVaultingEnabled?: boolean;
44
+ is3DSDevelopmentModeEnabled?: boolean;
44
45
  locale?: string;
45
46
  ios?: IIosOptions;
46
47
  android?: IAndroidOptions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/react-native",
3
- "version": "0.11.3",
3
+ "version": "0.12.2",
4
4
  "description": "Primer SDK for RN",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -18,5 +18,5 @@ Pod::Spec.new do |s|
18
18
 
19
19
 
20
20
  s.dependency "React-Core"
21
- s.dependency "PrimerSDK", "1.27.1"
21
+ s.dependency "PrimerSDK", "1.29.2"
22
22
  end
@@ -46,7 +46,8 @@ interface IOptions {
46
46
  isResultScreenEnabled?: boolean;
47
47
  isLoadingScreenEnabled?: boolean;
48
48
  isFullScreenEnabled?: boolean;
49
- isThreeDsEnabled?: boolean;
49
+ is3DSOnVaultingEnabled?: boolean;
50
+ is3DSDevelopmentModeEnabled?: boolean;
50
51
  locale?: string;
51
52
  ios?: IIosOptions;
52
53
  android?: IAndroidOptions;