fidel-react-native 1.6.4 → 2.0.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/CHANGELOG.md +10 -0
- package/README.md +54 -55
- package/android/build.gradle +11 -8
- package/android/src/main/java/com/fidelreactlibrary/FidelModule.java +52 -44
- package/android/src/main/java/com/fidelreactlibrary/FidelPackage.java +64 -49
- package/android/src/main/java/com/fidelreactlibrary/adapters/CardVerificationConfigurationProperties.java +22 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelCardSchemesAdapter.java +46 -29
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelCardVerificationChoiceAdapter.java +57 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelCountryAdapter.java +47 -19
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelProgramTypeAdapter.java +46 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelSetupAdapter.java +108 -6
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelSetupProperties.java +67 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelVerificationConfigurationAdapter.java +35 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/ImageFromReadableMapAdapter.java +5 -1
- package/android/src/main/java/com/fidelreactlibrary/adapters/ResultsAdapter.java +288 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/CardSchemesAdapter.java +6 -2
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/CardVerificationChoiceAdapter.java +11 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/CountryAdapter.java +14 -3
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/DataAdapter.java +5 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/ProgramTypeAdapter.java +11 -0
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/VerificationConfigurationAdapter.java +9 -0
- package/android/src/main/java/com/fidelreactlibrary/events/BridgeLibraryEvent.java +17 -0
- package/android/src/main/java/com/fidelreactlibrary/events/BridgeLibraryEventEmitter.java +24 -0
- package/android/src/main/java/com/fidelreactlibrary/events/CardVerificationChoiceObserver.java +29 -0
- package/android/src/main/java/com/fidelreactlibrary/events/CardVerificationStartedObserver.java +31 -0
- package/android/src/main/java/com/fidelreactlibrary/events/ResultsObserver.java +72 -0
- package/android/src/test/java/com/fidelreactlibrary/FidelModuleTests.java +50 -31
- package/android/src/test/java/com/fidelreactlibrary/FidelPackageTests.java +0 -1
- package/android/src/test/java/com/fidelreactlibrary/{FidelCardSchemesAdapterTests.java → adapters/FidelCardSchemesAdapterTests.java} +51 -47
- package/android/src/test/java/com/fidelreactlibrary/adapters/FidelCardVerificationChoiceAdapterTest.java +70 -0
- package/android/src/test/java/com/fidelreactlibrary/adapters/FidelCountryAdapterTests.java +157 -0
- package/android/src/test/java/com/fidelreactlibrary/adapters/FidelProgramTypeAdapterTests.java +54 -0
- package/android/src/test/java/com/fidelreactlibrary/adapters/FidelSetupAdapterTests.java +900 -0
- package/android/src/test/java/com/fidelreactlibrary/adapters/FidelVerificationConfigurationAdapterTest.java +51 -0
- package/android/src/test/java/com/fidelreactlibrary/adapters/ResultsAdapterTests.java +74 -0
- package/android/src/test/java/com/fidelreactlibrary/{ErrorEventEmitterTests.java → events/BridgeLibraryEventEmitterTests.java} +18 -7
- package/android/src/test/java/com/fidelreactlibrary/events/BridgeLibraryEventTests.java +17 -0
- package/android/src/test/java/com/fidelreactlibrary/events/CardVerificationStartedObserverTests.java +49 -0
- package/android/src/test/java/com/fidelreactlibrary/events/ResultsObserverTests.java +38 -0
- package/android/src/test/java/com/fidelreactlibrary/fakes/CardSchemeAdapterStub.java +17 -6
- package/android/src/test/java/com/fidelreactlibrary/fakes/ConstantsProviderStub.java +2 -2
- package/android/src/test/java/com/fidelreactlibrary/fakes/CountryAdapterStub.java +25 -10
- package/android/src/test/java/com/fidelreactlibrary/fakes/{DataConverterStub.java → DataAdapterStub.java} +3 -3
- package/android/src/test/java/com/fidelreactlibrary/fakes/ProgramTypeAdapterStub.java +31 -0
- package/android/src/test/java/com/fidelreactlibrary/fakes/ReactContextMock.java +1 -1
- package/android/src/test/java/com/fidelreactlibrary/fakes/ReadableArrayStub.java +82 -0
- package/android/src/test/java/com/fidelreactlibrary/fakes/ReadableMapStub.java +175 -40
- package/android/src/test/java/com/fidelreactlibrary/fakes/VerificationConfigurationAdapterStub.java +13 -0
- package/fidel-react-native.podspec +1 -1
- package/index.js +71 -19
- package/ios/Adapters/CardSchemesAdapter.swift +13 -0
- package/ios/Adapters/ConsentDetailsAdapter.swift +19 -0
- package/ios/Adapters/EnrollmentResultAdapter.swift +28 -0
- package/ios/Adapters/ErrorResultAdapter.swift +71 -0
- package/ios/{FLRNImageAdapter.h → Adapters/FLRNImageFromRNAdapter.h} +2 -3
- package/ios/Adapters/FidelSetupAdapter.swift +89 -0
- package/ios/Adapters/FidelVerificationConfigurationAdapter.swift +19 -0
- package/ios/Adapters/VerificationResultAdapter.swift +17 -0
- package/ios/CardVerificationConfigurationProperties.swift +14 -0
- package/ios/Constants/CardSchemeConstants.swift +38 -0
- package/ios/Constants/CardVerificationChoiceConstants.swift +24 -0
- package/ios/Constants/CountryConstants.swift +47 -0
- package/ios/Constants/EnrollmentErrorTypeConstants.swift +25 -0
- package/ios/Constants/ErrorTypeConstants.swift +37 -0
- package/ios/Constants/ExportedConstantsProvider.swift +42 -0
- package/ios/Constants/ProgramTypeConstants.swift +30 -0
- package/ios/Constants/ResultTypeConstants.swift +35 -0
- package/ios/Constants/VerificationErrorTypeConstants.swift +29 -0
- package/ios/Events/BridgeLibraryEvent.swift +14 -0
- package/ios/Events/CardVerificationChoiceSelectedObserver.swift +23 -0
- package/ios/Events/CardVerificationStartedObserver.swift +21 -0
- package/ios/Events/EventObserver.swift +13 -0
- package/ios/Events/JSResultProperties.swift +15 -0
- package/ios/Events/JSResultTypes.swift +14 -0
- package/ios/Events/ResultsObserver.swift +37 -0
- package/ios/FidelSetupProperties.swift +33 -0
- package/ios/NativeFidelBridge.m +11 -0
- package/ios/NativeFidelBridge.swift +93 -0
- package/package.json +1 -4
- package/android/src/main/java/com/fidelreactlibrary/adapters/FidelOptionsAdapter.java +0 -121
- package/android/src/main/java/com/fidelreactlibrary/adapters/WritableMapDataConverter.java +0 -94
- package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/DataConverter.java +0 -5
- package/android/src/main/java/com/fidelreactlibrary/events/CallbackActivityEventListener.java +0 -64
- package/android/src/main/java/com/fidelreactlibrary/events/CallbackInput.java +0 -7
- package/android/src/main/java/com/fidelreactlibrary/events/ErrorEventEmitter.java +0 -22
- package/android/src/test/java/com/fidelreactlibrary/CallbackActivityEventListenerTests.java +0 -133
- package/android/src/test/java/com/fidelreactlibrary/FidelCountryAdapterTests.java +0 -74
- package/android/src/test/java/com/fidelreactlibrary/FidelOptionsAdapterTests.java +0 -414
- package/android/src/test/java/com/fidelreactlibrary/FidelSetupAdapterTests.java +0 -65
- package/android/src/test/java/com/fidelreactlibrary/WritableMapDataConverterTests.java +0 -186
- package/android/src/test/java/com/fidelreactlibrary/fakes/CallbackInputSpy.java +0 -12
- package/android/src/test/java/com/fidelreactlibrary/fakes/CallbackSpy.java +0 -18
- package/android/src/test/java/com/fidelreactlibrary/fakes/IntentMock.java +0 -20
- package/ios/FLRNCardSchemesAdapter.h +0 -16
- package/ios/FLRNCardSchemesFromJSAdapter.h +0 -14
- package/ios/FLRNCardSchemesFromJSAdapter.m +0 -39
- package/ios/FLRNConstantsProvider.h +0 -15
- package/ios/FLRNImageFromRNAdapter.h +0 -14
- package/ios/FLRNObjectToDictionaryAdapter.h +0 -15
- package/ios/FLRNOptionsAdapter.h +0 -24
- package/ios/FLRNOptionsAdapter.m +0 -133
- package/ios/FLRNRuntimeObjectToDictionaryAdapter.h +0 -14
- package/ios/FLRNRuntimeObjectToDictionaryAdapter.m +0 -36
- package/ios/FLRNSDKOptions.h +0 -24
- package/ios/FLRNSDKSetupOptions.h +0 -14
- package/ios/FLRNSetupAdapter.h +0 -17
- package/ios/FLRNSetupAdapter.m +0 -50
- package/ios/Fidel.h +0 -20
- package/ios/Fidel.m +0 -79
- package/ios/RCTConvert+CardScheme.h +0 -33
- package/ios/RCTConvert+Options.h +0 -52
- package/ios/RCTConvert+Options.m +0 -21
- /package/ios/{FLRNImageFromRNAdapter.m → Adapters/FLRNImageFromRNAdapter.m} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
package com.fidelreactlibrary.fakes;
|
|
2
2
|
|
|
3
3
|
import androidx.annotation.NonNull;
|
|
4
|
+
import androidx.annotation.Nullable;
|
|
4
5
|
|
|
5
6
|
import com.facebook.react.bridge.Dynamic;
|
|
6
7
|
import com.facebook.react.bridge.JavaOnlyArray;
|
|
@@ -8,111 +9,245 @@ import com.facebook.react.bridge.ReadableArray;
|
|
|
8
9
|
import com.facebook.react.bridge.ReadableMap;
|
|
9
10
|
import com.facebook.react.bridge.ReadableMapKeySetIterator;
|
|
10
11
|
import com.facebook.react.bridge.ReadableType;
|
|
12
|
+
import com.fidelreactlibrary.adapters.CardVerificationConfigurationProperties;
|
|
13
|
+
import com.fidelreactlibrary.adapters.FidelSetupProperties;
|
|
11
14
|
|
|
12
15
|
import java.util.ArrayList;
|
|
16
|
+
import java.util.Arrays;
|
|
13
17
|
import java.util.HashMap;
|
|
14
18
|
import java.util.Iterator;
|
|
15
19
|
import java.util.List;
|
|
16
20
|
import java.util.Map;
|
|
17
21
|
|
|
18
|
-
import javax.annotation.Nonnull;
|
|
19
|
-
import javax.annotation.Nullable;
|
|
20
|
-
|
|
21
22
|
public class ReadableMapStub implements ReadableMap {
|
|
22
23
|
|
|
23
24
|
public List<String> keyNamesCheckedFor = new ArrayList<>();
|
|
24
25
|
public List<String> keyNamesVerifiedNullFor = new ArrayList<>();
|
|
25
|
-
public List<String>
|
|
26
|
+
public List<String> keyNamesAskedValueFor = new ArrayList<>();
|
|
26
27
|
public HashMap<String, ReadableMap> mapsForKeysToReturn = new HashMap<>();
|
|
27
28
|
public HashMap<String, Object> hashMapToReturn;
|
|
28
29
|
public HashMap<String, String> stringForKeyToReturn = new HashMap<>();
|
|
29
|
-
public ReadableArray
|
|
30
|
+
public HashMap<String, ReadableArray> readableArraysToReturn = new HashMap<>();
|
|
30
31
|
public boolean boolToReturn;
|
|
31
|
-
|
|
32
|
-
private String
|
|
33
|
-
private String isNullString = "";
|
|
32
|
+
private final List<String> hasKeyStrings = new ArrayList<>();
|
|
33
|
+
private final List<String> isNullStrings = new ArrayList<>();
|
|
34
34
|
|
|
35
|
-
public ReadableMapStub() {
|
|
36
|
-
private ReadableMapStub(String hasKeyString, String isNullString) {
|
|
37
|
-
this.hasKeyString = hasKeyString;
|
|
38
|
-
this.isNullString = isNullString;
|
|
35
|
+
public ReadableMapStub() {
|
|
39
36
|
}
|
|
40
37
|
|
|
41
38
|
public static ReadableMapStub mapWithNoKey() {
|
|
42
|
-
return new ReadableMapStub(
|
|
39
|
+
return new ReadableMapStub();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public static ReadableMapStub mapWithAllValidSetupKeys() {
|
|
43
|
+
ReadableMapStub mapStub = new ReadableMapStub();
|
|
44
|
+
String[] keyJsNames = Arrays.stream(FidelSetupProperties.values()).map(FidelSetupProperties::jsName)
|
|
45
|
+
.toArray(String[]::new);
|
|
46
|
+
mapStub.hasKeyStrings.addAll(Arrays.asList(keyJsNames));
|
|
47
|
+
mapStub.stringForKeyToReturn.put(FidelSetupProperties.SDK_KEY.jsName(), "pk_test_some_sdk_key");
|
|
48
|
+
mapStub.stringForKeyToReturn.put(FidelSetupProperties.PROGRAM_ID.jsName(), "some test program ID");
|
|
49
|
+
mapStub.stringForKeyToReturn.put(FidelSetupProperties.PROGRAM_TYPE.jsName(), "some test program type");
|
|
50
|
+
ReadableMapStub optionsReadableMap = ReadableMapStub.optionsMapWithAllValidSetupKeys();
|
|
51
|
+
mapStub.mapsForKeysToReturn.put(FidelSetupProperties.OPTIONS.jsName(), optionsReadableMap);
|
|
52
|
+
ReadableMapStub consentTextReadableMap = ReadableMapStub.consentTextMapWithAllValidSetupKeys();
|
|
53
|
+
mapStub.mapsForKeysToReturn.put(FidelSetupProperties.CONSENT_TEXT.jsName(), consentTextReadableMap);
|
|
54
|
+
return mapStub;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
private static ReadableMapStub optionsMapWithAllValidSetupKeys() {
|
|
58
|
+
ReadableMapStub mapStub = new ReadableMapStub();
|
|
59
|
+
String[] keyJsNames = Arrays.stream(FidelSetupProperties.Options.values())
|
|
60
|
+
.map(FidelSetupProperties.Options::jsName)
|
|
61
|
+
.toArray(String[]::new);
|
|
62
|
+
mapStub.hasKeyStrings.addAll(Arrays.asList(keyJsNames));
|
|
63
|
+
mapStub.mapsForKeysToReturn.put(FidelSetupProperties.Options.BANNER_IMAGE.jsName(), new ReadableMapStub());
|
|
64
|
+
mapStub.readableArraysToReturn.put(FidelSetupProperties.Options.ALLOWED_COUNTRIES.jsName(),
|
|
65
|
+
new JavaOnlyArray());
|
|
66
|
+
mapStub.stringForKeyToReturn.put(FidelSetupProperties.Options.DEFAULT_SELECTED_COUNTRY.jsName(), "japan");
|
|
67
|
+
mapStub.readableArraysToReturn.put(FidelSetupProperties.Options.SUPPORTED_CARD_SCHEMES.jsName(),
|
|
68
|
+
new JavaOnlyArray());
|
|
69
|
+
mapStub.boolToReturn = false;
|
|
70
|
+
ReadableMapStub metaDataMap = new ReadableMapStub();
|
|
71
|
+
metaDataMap.hashMapToReturn = new HashMap<>();
|
|
72
|
+
mapStub.mapsForKeysToReturn.put(FidelSetupProperties.Options.META_DATA.jsName(), metaDataMap);
|
|
73
|
+
return mapStub;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
private static ReadableMapStub consentTextMapWithAllValidSetupKeys() {
|
|
77
|
+
ReadableMapStub mapStub = new ReadableMapStub();
|
|
78
|
+
String[] keyJsNames = Arrays.stream(FidelSetupProperties.ConsentText.values())
|
|
79
|
+
.map(FidelSetupProperties.ConsentText::jsName)
|
|
80
|
+
.toArray(String[]::new);
|
|
81
|
+
mapStub.hasKeyStrings.addAll(Arrays.asList(keyJsNames));
|
|
82
|
+
mapStub.stringForKeyToReturn.put(FidelSetupProperties.ConsentText.COMPANY_NAME.jsName(),
|
|
83
|
+
"some test company name");
|
|
84
|
+
mapStub.stringForKeyToReturn.put(FidelSetupProperties.ConsentText.TERMS_AND_CONDITIONS_URL.jsName(),
|
|
85
|
+
"some test terms and conditions url");
|
|
86
|
+
mapStub.stringForKeyToReturn.put(FidelSetupProperties.ConsentText.PRIVACY_POLICY_URL.jsName(),
|
|
87
|
+
"some test privacy policy url");
|
|
88
|
+
mapStub.stringForKeyToReturn.put(FidelSetupProperties.ConsentText.PROGRAM_NAME.jsName(),
|
|
89
|
+
"some test program name");
|
|
90
|
+
return mapStub;
|
|
43
91
|
}
|
|
44
92
|
|
|
45
|
-
public static ReadableMapStub
|
|
46
|
-
|
|
93
|
+
public static ReadableMapStub withEmptyValueForKey(FidelSetupProperties key) {
|
|
94
|
+
ReadableMapStub mapStub = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
95
|
+
mapStub.stringForKeyToReturn.put(key.jsName(), "");
|
|
96
|
+
return mapStub;
|
|
47
97
|
}
|
|
48
98
|
|
|
49
|
-
public static ReadableMapStub
|
|
50
|
-
|
|
99
|
+
public static ReadableMapStub withoutKey(FidelSetupProperties key) {
|
|
100
|
+
ReadableMapStub mapStub = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
101
|
+
mapStub.hasKeyStrings.remove(key.jsName());
|
|
102
|
+
mapStub.stringForKeyToReturn.remove(key.jsName());
|
|
103
|
+
mapStub.mapsForKeysToReturn.remove(key.jsName());
|
|
104
|
+
mapStub.readableArraysToReturn.remove(key.jsName());
|
|
105
|
+
return mapStub;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
public static ReadableMapStub withoutOptionsKey(FidelSetupProperties.Options optionsKey) {
|
|
109
|
+
ReadableMapStub mapStub = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
110
|
+
ReadableMapStub optionsMapStub = (ReadableMapStub) mapStub.getMap(FidelSetupProperties.OPTIONS.jsName());
|
|
111
|
+
assert optionsMapStub != null;
|
|
112
|
+
optionsMapStub.hasKeyStrings.remove(optionsKey.jsName());
|
|
113
|
+
optionsMapStub.stringForKeyToReturn.remove(optionsKey.jsName());
|
|
114
|
+
optionsMapStub.mapsForKeysToReturn.remove(optionsKey.jsName());
|
|
115
|
+
optionsMapStub.readableArraysToReturn.remove(optionsKey.jsName());
|
|
116
|
+
return mapStub;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
public static ReadableMapStub withoutConsentTextKey(FidelSetupProperties.ConsentText consentTextKey) {
|
|
120
|
+
ReadableMapStub mapStub = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
121
|
+
ReadableMapStub consentTextMapStub = (ReadableMapStub) mapStub
|
|
122
|
+
.getMap(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
123
|
+
assert consentTextMapStub != null;
|
|
124
|
+
consentTextMapStub.hasKeyStrings.remove(consentTextKey.jsName());
|
|
125
|
+
consentTextMapStub.stringForKeyToReturn.remove(consentTextKey.jsName());
|
|
126
|
+
consentTextMapStub.mapsForKeysToReturn.remove(consentTextKey.jsName());
|
|
127
|
+
consentTextMapStub.readableArraysToReturn.remove(consentTextKey.jsName());
|
|
128
|
+
return mapStub;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
public static ReadableMapStub withNullValueForKey(FidelSetupProperties key) {
|
|
132
|
+
ReadableMapStub mapStub = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
133
|
+
mapStub.isNullStrings.remove(key.jsName());
|
|
134
|
+
mapStub.stringForKeyToReturn.remove(key.jsName());
|
|
135
|
+
mapStub.mapsForKeysToReturn.remove(key.jsName());
|
|
136
|
+
mapStub.readableArraysToReturn.remove(key.jsName());
|
|
137
|
+
return mapStub;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
public static ReadableMapStub withNullValueForOptionKey(FidelSetupProperties.Options optionKey) {
|
|
141
|
+
ReadableMapStub mapStub = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
142
|
+
ReadableMapStub optionsMapStub = (ReadableMapStub) mapStub.getMap(FidelSetupProperties.OPTIONS.jsName());
|
|
143
|
+
assert optionsMapStub != null;
|
|
144
|
+
optionsMapStub.isNullStrings.add(optionKey.jsName());
|
|
145
|
+
optionsMapStub.stringForKeyToReturn.remove(optionKey.jsName());
|
|
146
|
+
optionsMapStub.mapsForKeysToReturn.remove(optionKey.jsName());
|
|
147
|
+
optionsMapStub.readableArraysToReturn.remove(optionKey.jsName());
|
|
148
|
+
return mapStub;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
public static ReadableMapStub withNullValueForConsentTextKey(FidelSetupProperties.ConsentText consentTextKey) {
|
|
152
|
+
ReadableMapStub mapStub = ReadableMapStub.mapWithAllValidSetupKeys();
|
|
153
|
+
ReadableMapStub consentTextMapStub = (ReadableMapStub) mapStub
|
|
154
|
+
.getMap(FidelSetupProperties.CONSENT_TEXT.jsName());
|
|
155
|
+
assert consentTextMapStub != null;
|
|
156
|
+
consentTextMapStub.isNullStrings.add(consentTextKey.jsName());
|
|
157
|
+
consentTextMapStub.stringForKeyToReturn.remove(consentTextKey.jsName());
|
|
158
|
+
consentTextMapStub.mapsForKeysToReturn.remove(consentTextKey.jsName());
|
|
159
|
+
consentTextMapStub.readableArraysToReturn.remove(consentTextKey.jsName());
|
|
160
|
+
return mapStub;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
public static ReadableMapStub cardConfigWithAllValidConfigKeys() {
|
|
164
|
+
ReadableMapStub mapStub = new ReadableMapStub();
|
|
165
|
+
String[] keyJsNames = Arrays.stream(CardVerificationConfigurationProperties.values())
|
|
166
|
+
.map(CardVerificationConfigurationProperties::jsName).toArray(String[]::new);
|
|
167
|
+
mapStub.hasKeyStrings.addAll(Arrays.asList(keyJsNames));
|
|
168
|
+
mapStub.stringForKeyToReturn.put(CardVerificationConfigurationProperties.ID.jsName(), "123");
|
|
169
|
+
mapStub.stringForKeyToReturn.put(CardVerificationConfigurationProperties.CONSENT_ID.jsName(), "456");
|
|
170
|
+
mapStub.stringForKeyToReturn.put(CardVerificationConfigurationProperties.LAST_4_DIGITS.jsName(), "4567");
|
|
171
|
+
return mapStub;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
public static ReadableMapStub cardConfigWithAllInValidConfigKeys() {
|
|
175
|
+
ReadableMapStub mapStub = new ReadableMapStub();
|
|
176
|
+
String[] keyJsNames = Arrays.stream(CardVerificationConfigurationProperties.values())
|
|
177
|
+
.map(CardVerificationConfigurationProperties::jsName).toArray(String[]::new);
|
|
178
|
+
mapStub.hasKeyStrings.addAll(Arrays.asList(keyJsNames));
|
|
179
|
+
mapStub.stringForKeyToReturn.put(CardVerificationConfigurationProperties.ID.jsName(), null);
|
|
180
|
+
mapStub.stringForKeyToReturn.put(CardVerificationConfigurationProperties.CONSENT_ID.jsName(), null);
|
|
181
|
+
mapStub.stringForKeyToReturn.put(CardVerificationConfigurationProperties.LAST_4_DIGITS.jsName(), null);
|
|
182
|
+
return mapStub;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
public void putString(String key, String value) {
|
|
186
|
+
stringForKeyToReturn.put(key, value);
|
|
51
187
|
}
|
|
52
188
|
|
|
53
189
|
@Override
|
|
54
|
-
public boolean hasKey(@
|
|
190
|
+
public boolean hasKey(@NonNull String name) {
|
|
55
191
|
keyNamesCheckedFor.add(name);
|
|
56
|
-
return
|
|
192
|
+
return hasKeyStrings.contains(name);
|
|
57
193
|
}
|
|
58
194
|
|
|
59
195
|
@Override
|
|
60
|
-
public boolean isNull(@
|
|
196
|
+
public boolean isNull(@NonNull String name) {
|
|
61
197
|
keyNamesVerifiedNullFor.add(name);
|
|
62
|
-
return
|
|
198
|
+
return isNullStrings.contains(name);
|
|
63
199
|
}
|
|
64
200
|
|
|
65
201
|
@Override
|
|
66
|
-
public boolean getBoolean(@
|
|
67
|
-
|
|
202
|
+
public boolean getBoolean(@NonNull String name) {
|
|
203
|
+
keyNamesAskedValueFor.add(name);
|
|
68
204
|
return boolToReturn;
|
|
69
205
|
}
|
|
70
206
|
|
|
71
207
|
@Override
|
|
72
|
-
public double getDouble(@
|
|
208
|
+
public double getDouble(@NonNull String name) {
|
|
73
209
|
return 0;
|
|
74
210
|
}
|
|
75
211
|
|
|
76
212
|
@Override
|
|
77
|
-
public int getInt(@
|
|
78
|
-
|
|
79
|
-
return intToReturn;
|
|
213
|
+
public int getInt(@NonNull String name) {
|
|
214
|
+
return -1;
|
|
80
215
|
}
|
|
81
216
|
|
|
82
217
|
@Nullable
|
|
83
218
|
@Override
|
|
84
|
-
public String getString(@
|
|
85
|
-
|
|
219
|
+
public String getString(@NonNull String name) {
|
|
220
|
+
keyNamesAskedValueFor.add(name);
|
|
86
221
|
return stringForKeyToReturn.get(name);
|
|
87
222
|
}
|
|
88
223
|
|
|
89
224
|
@Nullable
|
|
90
225
|
@Override
|
|
91
|
-
public ReadableArray getArray(@
|
|
92
|
-
|
|
93
|
-
return
|
|
226
|
+
public ReadableArray getArray(@NonNull String name) {
|
|
227
|
+
keyNamesAskedValueFor.add(name);
|
|
228
|
+
return readableArraysToReturn.get(name);
|
|
94
229
|
}
|
|
95
230
|
|
|
96
231
|
@Nullable
|
|
97
232
|
@Override
|
|
98
|
-
public ReadableMap getMap(@
|
|
99
|
-
|
|
233
|
+
public ReadableMap getMap(@NonNull String name) {
|
|
234
|
+
keyNamesAskedValueFor.add(name);
|
|
100
235
|
return mapsForKeysToReturn.get(name);
|
|
101
236
|
}
|
|
102
237
|
|
|
103
|
-
@
|
|
238
|
+
@NonNull
|
|
104
239
|
@Override
|
|
105
|
-
public Dynamic getDynamic(@
|
|
240
|
+
public Dynamic getDynamic(@NonNull String name) {
|
|
106
241
|
return null;
|
|
107
242
|
}
|
|
108
243
|
|
|
109
|
-
@
|
|
244
|
+
@NonNull
|
|
110
245
|
@Override
|
|
111
|
-
public ReadableType getType(@
|
|
246
|
+
public ReadableType getType(@NonNull String name) {
|
|
112
247
|
return null;
|
|
113
248
|
}
|
|
114
249
|
|
|
115
|
-
@
|
|
250
|
+
@NonNull
|
|
116
251
|
@Override
|
|
117
252
|
public ReadableMapKeySetIterator keySetIterator() {
|
|
118
253
|
return null;
|
|
@@ -124,7 +259,7 @@ public class ReadableMapStub implements ReadableMap {
|
|
|
124
259
|
return null;
|
|
125
260
|
}
|
|
126
261
|
|
|
127
|
-
@
|
|
262
|
+
@NonNull
|
|
128
263
|
@Override
|
|
129
264
|
public HashMap<String, Object> toHashMap() {
|
|
130
265
|
return hashMapToReturn;
|
package/android/src/test/java/com/fidelreactlibrary/fakes/VerificationConfigurationAdapterStub.java
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
package com.fidelreactlibrary.fakes;
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
+
import com.fidelapi.entities.CardVerificationConfiguration;
|
|
5
|
+
import com.fidelreactlibrary.adapters.abstraction.VerificationConfigurationAdapter;
|
|
6
|
+
|
|
7
|
+
public class VerificationConfigurationAdapterStub implements VerificationConfigurationAdapter {
|
|
8
|
+
|
|
9
|
+
@Override
|
|
10
|
+
public CardVerificationConfiguration adapt(ReadableMap data) {
|
|
11
|
+
return new CardVerificationConfiguration("", "", null);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -13,7 +13,7 @@ Pod::Spec.new do |s|
|
|
|
13
13
|
s.platform = :ios, "9.1"
|
|
14
14
|
|
|
15
15
|
s.source = { :git => "https://github.com/FidelLimited/rn-sdk.git", :tag => "v#{s.version}" }
|
|
16
|
-
s.source_files = "ios/**/*.{h,m}"
|
|
16
|
+
s.source_files = "ios/**/*.{h,m,swift}"
|
|
17
17
|
|
|
18
18
|
s.dependency 'React'
|
|
19
19
|
s.dependency 'Fidel'
|
package/index.js
CHANGED
|
@@ -1,26 +1,78 @@
|
|
|
1
|
-
|
|
2
|
-
import { NativeEventEmitter, NativeModules } from 'react-native';
|
|
1
|
+
import { NativeEventEmitter, NativeModules } from "react-native";
|
|
3
2
|
|
|
4
3
|
const { NativeFidelBridge } = NativeModules;
|
|
5
4
|
|
|
6
|
-
class Fidel {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
5
|
+
export default class Fidel {
|
|
6
|
+
static emitter = new NativeEventEmitter(NativeFidelBridge);
|
|
7
|
+
static Country = NativeFidelBridge.Country;
|
|
8
|
+
static CardScheme = NativeFidelBridge.CardScheme;
|
|
9
|
+
static ProgramType = NativeFidelBridge.ProgramType;
|
|
10
|
+
static ErrorType = NativeFidelBridge.ErrorType;
|
|
11
|
+
static EnrollmentErrorType = NativeFidelBridge.EnrollmentErrorType;
|
|
12
|
+
static VerificationErrorType = NativeFidelBridge.VerificationErrorType;
|
|
13
|
+
static CardVerificationChoice = NativeFidelBridge.CardVerificationChoice;
|
|
14
|
+
|
|
15
|
+
static setup(params, callback) {
|
|
16
|
+
if (this.eventSubscription != null) {
|
|
17
|
+
this.eventSubscription.remove();
|
|
18
|
+
}
|
|
19
|
+
const { onCardVerificationStarted } = params;
|
|
20
|
+
if (
|
|
21
|
+
onCardVerificationStarted != null &&
|
|
22
|
+
onCardVerificationStarted != undefined &&
|
|
23
|
+
typeof onCardVerificationStarted === "function"
|
|
24
|
+
) {
|
|
25
|
+
if (this.onCardVerificationStartedEventSubscription != null) {
|
|
26
|
+
this.onCardVerificationStartedEventSubscription.remove();
|
|
27
|
+
}
|
|
28
|
+
this.onCardVerificationStartedEventSubscription =
|
|
29
|
+
Fidel.emitter.addListener(
|
|
30
|
+
"CardVerificationStarted",
|
|
31
|
+
(consentDetails) => {
|
|
32
|
+
onCardVerificationStarted(consentDetails);
|
|
33
|
+
}
|
|
17
34
|
);
|
|
18
|
-
NativeFidelBridge.openForm(callback);
|
|
19
35
|
}
|
|
20
|
-
}
|
|
36
|
+
const { onCardVerificationChoiceSelected } = params;
|
|
37
|
+
if (
|
|
38
|
+
onCardVerificationChoiceSelected != null &&
|
|
39
|
+
onCardVerificationChoiceSelected != undefined &&
|
|
40
|
+
typeof onCardVerificationChoiceSelected === "function"
|
|
41
|
+
) {
|
|
42
|
+
if (this.onCardVerificationChoiceSelectedEventSubscription != null) {
|
|
43
|
+
this.onCardVerificationChoiceSelectedEventSubscription.remove();
|
|
44
|
+
}
|
|
45
|
+
this.onCardVerificationChoiceSelectedEventSubscription =
|
|
46
|
+
Fidel.emitter.addListener(
|
|
47
|
+
"CardVerificationChoiceSelected",
|
|
48
|
+
(verificationChoice) => {
|
|
49
|
+
onCardVerificationChoiceSelected(verificationChoice);
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
if (
|
|
54
|
+
callback != null &&
|
|
55
|
+
callback != undefined &&
|
|
56
|
+
typeof callback === "function"
|
|
57
|
+
) {
|
|
58
|
+
this.eventSubscription = Fidel.emitter.addListener(
|
|
59
|
+
"ResultAvailable",
|
|
60
|
+
(result) => callback(result)
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
NativeFidelBridge.setup(params);
|
|
64
|
+
}
|
|
21
65
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
66
|
+
static start() {
|
|
67
|
+
NativeFidelBridge.start();
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
static verifyCard(params) {
|
|
71
|
+
NativeFidelBridge.verifyCard(params);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
25
74
|
|
|
26
|
-
|
|
75
|
+
export const ENROLLMENT_RESULT = NativeFidelBridge.ResultType.EnrollmentResult;
|
|
76
|
+
export const ERROR = NativeFidelBridge.ResultType.Error;
|
|
77
|
+
export const VERIFICATION_RESULT =
|
|
78
|
+
NativeFidelBridge.ResultType.VerificationResult;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//
|
|
2
|
+
// CardSchemesAdapter.swift
|
|
3
|
+
// fidel-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Corneliu Chitanu on 08/12/21.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import Fidel
|
|
10
|
+
|
|
11
|
+
protocol CardSchemesAdapter {
|
|
12
|
+
func cardSchemes(from rawObject: NSObject) -> Set<CardScheme>
|
|
13
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//
|
|
2
|
+
// ConsentDetailsAdapter.swift
|
|
3
|
+
// fidel-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Corneliu Chitanu on 07/06/23.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import Fidel
|
|
10
|
+
|
|
11
|
+
extension ConsentDetails {
|
|
12
|
+
var dictionary: [String: Any] {
|
|
13
|
+
return [
|
|
14
|
+
"cardId": cardID,
|
|
15
|
+
"consentId": consentID,
|
|
16
|
+
"programId": programID
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
//
|
|
2
|
+
// EnrollmentResultAdapter.swift
|
|
3
|
+
// fidel-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Corneliu Chitanu on 09/12/21.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import Fidel
|
|
10
|
+
|
|
11
|
+
extension EnrollmentResult{
|
|
12
|
+
var dictionary: [String: Any] {
|
|
13
|
+
return [
|
|
14
|
+
"cardId": cardID,
|
|
15
|
+
"accountId": accountID,
|
|
16
|
+
"programId": programID,
|
|
17
|
+
"enrollmentDate": enrollmentDate.timeIntervalSince1970,
|
|
18
|
+
"cardScheme": scheme.constantKey,
|
|
19
|
+
"isLive": isLive,
|
|
20
|
+
"cardExpirationYear": cardExpirationYear,
|
|
21
|
+
"cardExpirationMonth": cardExpirationMonth,
|
|
22
|
+
"cardIssuingCountry": cardIssuingCountry.constantKey,
|
|
23
|
+
"cardFirstNumbers": cardFirstNumbers ?? NSNull(),
|
|
24
|
+
"cardLastNumbers": cardLastNumbers ?? NSNull(),
|
|
25
|
+
"metaData": metaData ?? NSNull(),
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
//
|
|
2
|
+
// ErrorResultAdapter.swift
|
|
3
|
+
// fidel-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Corneliu Chitanu on 09/12/21.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import Fidel
|
|
10
|
+
|
|
11
|
+
extension FidelError {
|
|
12
|
+
var dictionary: [String: Any] {
|
|
13
|
+
var dictionaryToReturn: [String: Any] = [
|
|
14
|
+
"type": type.jsTypeValue,
|
|
15
|
+
"message": message,
|
|
16
|
+
"date": date.timeIntervalSince1970
|
|
17
|
+
]
|
|
18
|
+
if let subtype = type.jsErrorSubtype {
|
|
19
|
+
dictionaryToReturn["subtype"] = subtype
|
|
20
|
+
}
|
|
21
|
+
return dictionaryToReturn
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
extension FidelErrorType {
|
|
26
|
+
var jsTypeValue: String {
|
|
27
|
+
switch self {
|
|
28
|
+
case .enrollmentError: return "enrollmentError"
|
|
29
|
+
case .verificationError: return "verificationError"
|
|
30
|
+
case .userCanceled: return "userCanceled"
|
|
31
|
+
case .sdkConfigurationError: return "sdkConfigurationError"
|
|
32
|
+
case .deviceNotSecure: return "deviceNotSecure"
|
|
33
|
+
@unknown default: return "unknown"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
var jsErrorSubtype: String? {
|
|
38
|
+
switch self {
|
|
39
|
+
case let .enrollmentError(enrollmentError):
|
|
40
|
+
switch enrollmentError {
|
|
41
|
+
case .cardAlreadyExists: return "cardAlreadyExists"
|
|
42
|
+
case .inexistentProgram: return "inexistentProgram"
|
|
43
|
+
case .invalidSDKKey: return "invalidSdkKey"
|
|
44
|
+
case .invalidProgramID: return "invalidProgramId"
|
|
45
|
+
case .unexpected: return "unexpected"
|
|
46
|
+
case .unauthorized: return "unauthorized"
|
|
47
|
+
case .issuerProcessingError: return "issuerProcessingError"
|
|
48
|
+
case .duplicateTransactionError: return "duplicateTransactionError"
|
|
49
|
+
case .insufficientFundsError: return "insufficientFundsError"
|
|
50
|
+
case .processingChargeError: return "processingChargeError"
|
|
51
|
+
case .cardDetailsError: return "cardDetailsError"
|
|
52
|
+
case .cardLimitExceededError: return "cardLimitExceededError"
|
|
53
|
+
@unknown default: return "unexpected"
|
|
54
|
+
}
|
|
55
|
+
case let .verificationError(verificationError):
|
|
56
|
+
switch verificationError {
|
|
57
|
+
case .cardAlreadyVerified: return "cardAlreadyVerified"
|
|
58
|
+
case .cardNotFound: return "cardNotFound"
|
|
59
|
+
case .verificationNotFound: return "verificationNotFound"
|
|
60
|
+
case .genericError: return "genericError"
|
|
61
|
+
case .maximumAttemptsReached: return "maximumAttemptsReached"
|
|
62
|
+
case .incorrectAmount, .incorrectAmountCode: return "incorrectAmount"
|
|
63
|
+
case .unauthorized: return "unauthorized"
|
|
64
|
+
case .unexpected: return "unexpected"
|
|
65
|
+
case .invalidSDKKey: return "invalidSdkKey"
|
|
66
|
+
@unknown default: return "unexpected"
|
|
67
|
+
}
|
|
68
|
+
default: return nil
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//
|
|
2
|
-
//
|
|
2
|
+
// FLRNImageFromRNAdapter.h
|
|
3
3
|
// Fidel
|
|
4
4
|
//
|
|
5
5
|
// Created by Corneliu on 24/03/2019.
|
|
@@ -7,9 +7,8 @@
|
|
|
7
7
|
//
|
|
8
8
|
|
|
9
9
|
#import <Foundation/Foundation.h>
|
|
10
|
-
#import <UIKit/UIKit.h>
|
|
11
10
|
|
|
12
|
-
@
|
|
11
|
+
@interface FLRNImageFromRNAdapter : NSObject
|
|
13
12
|
|
|
14
13
|
-(UIImage *)imageFromRawData:(id)rawImageData;
|
|
15
14
|
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FidelSetupAdapter.swift
|
|
3
|
+
// fidel-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Corneliu Chitanu on 08/12/21.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import Fidel
|
|
10
|
+
|
|
11
|
+
class FidelSetupAdapter: NSObject {
|
|
12
|
+
|
|
13
|
+
private let imageAdapter: FLRNImageFromRNAdapter
|
|
14
|
+
|
|
15
|
+
init(imageAdapter: FLRNImageFromRNAdapter) {
|
|
16
|
+
self.imageAdapter = imageAdapter
|
|
17
|
+
super.init()
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
func setup(with parameters: NSDictionary) {
|
|
21
|
+
guard let parameters = parameters as? [String: Any?] else {
|
|
22
|
+
return
|
|
23
|
+
}
|
|
24
|
+
if parameters.keys.contains(FidelSetupProperties.sdkKey.rawValue) {
|
|
25
|
+
Fidel.sdkKey = parameters[FidelSetupProperties.sdkKey.rawValue] as? String
|
|
26
|
+
}
|
|
27
|
+
if parameters.keys.contains(FidelSetupProperties.programID.rawValue) {
|
|
28
|
+
Fidel.programID = parameters[FidelSetupProperties.programID.rawValue] as? String
|
|
29
|
+
}
|
|
30
|
+
if parameters.keys.contains(FidelSetupProperties.programType.rawValue) {
|
|
31
|
+
let programTypeJSValue = parameters[FidelSetupProperties.programType.rawValue] as? String
|
|
32
|
+
Fidel.programType = ProgramType.programType(from: programTypeJSValue)
|
|
33
|
+
}
|
|
34
|
+
if parameters.keys.contains(FidelSetupProperties.options.rawValue),
|
|
35
|
+
let options = parameters[FidelSetupProperties.options.rawValue] as? [String: Any?] {
|
|
36
|
+
setOptions(options)
|
|
37
|
+
}
|
|
38
|
+
if parameters.keys.contains(FidelSetupProperties.consentText.rawValue),
|
|
39
|
+
let consentTextValues = parameters[FidelSetupProperties.consentText.rawValue] as? [String: Any?] {
|
|
40
|
+
setConsentTextValues(consentTextValues)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
func setOptions(_ options: [String: Any?]) {
|
|
45
|
+
if options.keys.contains(FidelSetupProperties.Options.bannerImage.rawValue),
|
|
46
|
+
let rawImageObject = options[FidelSetupProperties.Options.bannerImage.rawValue] as? NSObject {
|
|
47
|
+
Fidel.bannerImage = imageAdapter.image(fromRawData: rawImageObject)
|
|
48
|
+
}
|
|
49
|
+
if options.keys.contains(FidelSetupProperties.Options.allowedCountries.rawValue),
|
|
50
|
+
let countryJSKeys = options[FidelSetupProperties.Options.allowedCountries.rawValue] as? [String] {
|
|
51
|
+
Fidel.allowedCountries = Country.countriesSet(from: countryJSKeys)
|
|
52
|
+
}
|
|
53
|
+
if options.keys.contains(FidelSetupProperties.Options.defaultSelectedCountry.rawValue),
|
|
54
|
+
let countryJSKey = options[FidelSetupProperties.Options.defaultSelectedCountry.rawValue] as? String,
|
|
55
|
+
let defaultSelectedCountry = Country.country(from: countryJSKey) {
|
|
56
|
+
Fidel.defaultSelectedCountry = defaultSelectedCountry
|
|
57
|
+
}
|
|
58
|
+
if options.keys.contains(FidelSetupProperties.Options.supportedCardSchemes.rawValue),
|
|
59
|
+
let supportedCardSchemeJSKeys = options[FidelSetupProperties.Options.supportedCardSchemes.rawValue] as? [String] {
|
|
60
|
+
Fidel.supportedCardSchemes = CardScheme.cardSchemesSet(from: supportedCardSchemeJSKeys)
|
|
61
|
+
}
|
|
62
|
+
if options.keys.contains(FidelSetupProperties.Options.thirdPartyVerificationChoice.rawValue) {
|
|
63
|
+
Fidel.thirdPartyVerificationChoice = options[FidelSetupProperties.Options.thirdPartyVerificationChoice.rawValue] as? Bool ?? false
|
|
64
|
+
}
|
|
65
|
+
if options.keys.contains(FidelSetupProperties.Options.metaData.rawValue) {
|
|
66
|
+
Fidel.metaData = options[FidelSetupProperties.Options.metaData.rawValue] as? [String: Any]
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
private func setConsentTextValues(_ consentTextValues: [String: Any?]) {
|
|
71
|
+
if consentTextValues.keys.contains(FidelSetupProperties.ConsentText.companyName.rawValue) {
|
|
72
|
+
Fidel.companyName = consentTextValues[FidelSetupProperties.ConsentText.companyName.rawValue] as? String
|
|
73
|
+
}
|
|
74
|
+
if consentTextValues.keys.contains(FidelSetupProperties.ConsentText.termsAndConditionsURL.rawValue) {
|
|
75
|
+
Fidel.termsAndConditionsURL = consentTextValues[FidelSetupProperties.ConsentText.termsAndConditionsURL.rawValue] as? String
|
|
76
|
+
}
|
|
77
|
+
if consentTextValues.keys.contains(FidelSetupProperties.ConsentText.privacyPolicyURL.rawValue) {
|
|
78
|
+
Fidel.privacyPolicyURL = consentTextValues[FidelSetupProperties.ConsentText.privacyPolicyURL.rawValue] as? String
|
|
79
|
+
}
|
|
80
|
+
if consentTextValues.keys.contains(FidelSetupProperties.ConsentText.programName.rawValue),
|
|
81
|
+
let programName = consentTextValues[FidelSetupProperties.ConsentText.programName.rawValue] as? String {
|
|
82
|
+
Fidel.programName = programName
|
|
83
|
+
}
|
|
84
|
+
if consentTextValues.keys.contains(FidelSetupProperties.ConsentText.deleteInstructions.rawValue),
|
|
85
|
+
let deleteInstructions = consentTextValues[FidelSetupProperties.ConsentText.deleteInstructions.rawValue] as? String {
|
|
86
|
+
Fidel.deleteInstructions = deleteInstructions
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|