fidel-react-native 1.6.3 → 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.
Files changed (113) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +54 -55
  3. package/android/build.gradle +11 -8
  4. package/android/src/main/java/com/fidelreactlibrary/FidelModule.java +52 -44
  5. package/android/src/main/java/com/fidelreactlibrary/FidelPackage.java +64 -49
  6. package/android/src/main/java/com/fidelreactlibrary/adapters/CardVerificationConfigurationProperties.java +22 -0
  7. package/android/src/main/java/com/fidelreactlibrary/adapters/FidelCardSchemesAdapter.java +46 -29
  8. package/android/src/main/java/com/fidelreactlibrary/adapters/FidelCardVerificationChoiceAdapter.java +57 -0
  9. package/android/src/main/java/com/fidelreactlibrary/adapters/FidelCountryAdapter.java +47 -19
  10. package/android/src/main/java/com/fidelreactlibrary/adapters/FidelProgramTypeAdapter.java +46 -0
  11. package/android/src/main/java/com/fidelreactlibrary/adapters/FidelSetupAdapter.java +108 -6
  12. package/android/src/main/java/com/fidelreactlibrary/adapters/FidelSetupProperties.java +67 -0
  13. package/android/src/main/java/com/fidelreactlibrary/adapters/FidelVerificationConfigurationAdapter.java +35 -0
  14. package/android/src/main/java/com/fidelreactlibrary/adapters/ImageFromReadableMapAdapter.java +5 -1
  15. package/android/src/main/java/com/fidelreactlibrary/adapters/ResultsAdapter.java +288 -0
  16. package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/CardSchemesAdapter.java +6 -2
  17. package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/CardVerificationChoiceAdapter.java +11 -0
  18. package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/CountryAdapter.java +14 -3
  19. package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/DataAdapter.java +5 -0
  20. package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/ProgramTypeAdapter.java +11 -0
  21. package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/VerificationConfigurationAdapter.java +9 -0
  22. package/android/src/main/java/com/fidelreactlibrary/events/BridgeLibraryEvent.java +17 -0
  23. package/android/src/main/java/com/fidelreactlibrary/events/BridgeLibraryEventEmitter.java +24 -0
  24. package/android/src/main/java/com/fidelreactlibrary/events/CardVerificationChoiceObserver.java +29 -0
  25. package/android/src/main/java/com/fidelreactlibrary/events/CardVerificationStartedObserver.java +31 -0
  26. package/android/src/main/java/com/fidelreactlibrary/events/ResultsObserver.java +72 -0
  27. package/android/src/test/java/com/fidelreactlibrary/FidelModuleTests.java +50 -31
  28. package/android/src/test/java/com/fidelreactlibrary/FidelPackageTests.java +0 -1
  29. package/android/src/test/java/com/fidelreactlibrary/{FidelCardSchemesAdapterTests.java → adapters/FidelCardSchemesAdapterTests.java} +51 -47
  30. package/android/src/test/java/com/fidelreactlibrary/adapters/FidelCardVerificationChoiceAdapterTest.java +70 -0
  31. package/android/src/test/java/com/fidelreactlibrary/adapters/FidelCountryAdapterTests.java +157 -0
  32. package/android/src/test/java/com/fidelreactlibrary/adapters/FidelProgramTypeAdapterTests.java +54 -0
  33. package/android/src/test/java/com/fidelreactlibrary/adapters/FidelSetupAdapterTests.java +900 -0
  34. package/android/src/test/java/com/fidelreactlibrary/adapters/FidelVerificationConfigurationAdapterTest.java +51 -0
  35. package/android/src/test/java/com/fidelreactlibrary/adapters/ResultsAdapterTests.java +74 -0
  36. package/android/src/test/java/com/fidelreactlibrary/{ErrorEventEmitterTests.java → events/BridgeLibraryEventEmitterTests.java} +18 -7
  37. package/android/src/test/java/com/fidelreactlibrary/events/BridgeLibraryEventTests.java +17 -0
  38. package/android/src/test/java/com/fidelreactlibrary/events/CardVerificationStartedObserverTests.java +49 -0
  39. package/android/src/test/java/com/fidelreactlibrary/events/ResultsObserverTests.java +38 -0
  40. package/android/src/test/java/com/fidelreactlibrary/fakes/CardSchemeAdapterStub.java +17 -6
  41. package/android/src/test/java/com/fidelreactlibrary/fakes/ConstantsProviderStub.java +2 -2
  42. package/android/src/test/java/com/fidelreactlibrary/fakes/CountryAdapterStub.java +25 -10
  43. package/android/src/test/java/com/fidelreactlibrary/fakes/{DataConverterStub.java → DataAdapterStub.java} +3 -3
  44. package/android/src/test/java/com/fidelreactlibrary/fakes/ProgramTypeAdapterStub.java +31 -0
  45. package/android/src/test/java/com/fidelreactlibrary/fakes/ReactContextMock.java +1 -1
  46. package/android/src/test/java/com/fidelreactlibrary/fakes/ReadableArrayStub.java +82 -0
  47. package/android/src/test/java/com/fidelreactlibrary/fakes/ReadableMapStub.java +175 -40
  48. package/android/src/test/java/com/fidelreactlibrary/fakes/VerificationConfigurationAdapterStub.java +13 -0
  49. package/fidel-react-native.podspec +1 -1
  50. package/index.js +71 -19
  51. package/ios/Adapters/CardSchemesAdapter.swift +13 -0
  52. package/ios/Adapters/ConsentDetailsAdapter.swift +19 -0
  53. package/ios/Adapters/EnrollmentResultAdapter.swift +28 -0
  54. package/ios/Adapters/ErrorResultAdapter.swift +71 -0
  55. package/ios/{FLRNImageAdapter.h → Adapters/FLRNImageFromRNAdapter.h} +2 -3
  56. package/ios/Adapters/FidelSetupAdapter.swift +89 -0
  57. package/ios/Adapters/FidelVerificationConfigurationAdapter.swift +19 -0
  58. package/ios/Adapters/VerificationResultAdapter.swift +17 -0
  59. package/ios/CardVerificationConfigurationProperties.swift +14 -0
  60. package/ios/Constants/CardSchemeConstants.swift +38 -0
  61. package/ios/Constants/CardVerificationChoiceConstants.swift +24 -0
  62. package/ios/Constants/CountryConstants.swift +47 -0
  63. package/ios/Constants/EnrollmentErrorTypeConstants.swift +25 -0
  64. package/ios/Constants/ErrorTypeConstants.swift +37 -0
  65. package/ios/Constants/ExportedConstantsProvider.swift +42 -0
  66. package/ios/Constants/ProgramTypeConstants.swift +30 -0
  67. package/ios/Constants/ResultTypeConstants.swift +35 -0
  68. package/ios/Constants/VerificationErrorTypeConstants.swift +29 -0
  69. package/ios/Events/BridgeLibraryEvent.swift +14 -0
  70. package/ios/Events/CardVerificationChoiceSelectedObserver.swift +23 -0
  71. package/ios/Events/CardVerificationStartedObserver.swift +21 -0
  72. package/ios/Events/EventObserver.swift +13 -0
  73. package/ios/Events/JSResultProperties.swift +15 -0
  74. package/ios/Events/JSResultTypes.swift +14 -0
  75. package/ios/Events/ResultsObserver.swift +37 -0
  76. package/ios/FidelSetupProperties.swift +33 -0
  77. package/ios/NativeFidelBridge.m +11 -0
  78. package/ios/NativeFidelBridge.swift +93 -0
  79. package/package.json +1 -4
  80. package/android/src/main/java/com/fidelreactlibrary/adapters/FidelOptionsAdapter.java +0 -121
  81. package/android/src/main/java/com/fidelreactlibrary/adapters/WritableMapDataConverter.java +0 -94
  82. package/android/src/main/java/com/fidelreactlibrary/adapters/abstraction/DataConverter.java +0 -5
  83. package/android/src/main/java/com/fidelreactlibrary/events/CallbackActivityEventListener.java +0 -64
  84. package/android/src/main/java/com/fidelreactlibrary/events/CallbackInput.java +0 -7
  85. package/android/src/main/java/com/fidelreactlibrary/events/ErrorEventEmitter.java +0 -22
  86. package/android/src/test/java/com/fidelreactlibrary/CallbackActivityEventListenerTests.java +0 -133
  87. package/android/src/test/java/com/fidelreactlibrary/FidelCountryAdapterTests.java +0 -74
  88. package/android/src/test/java/com/fidelreactlibrary/FidelOptionsAdapterTests.java +0 -414
  89. package/android/src/test/java/com/fidelreactlibrary/FidelSetupAdapterTests.java +0 -65
  90. package/android/src/test/java/com/fidelreactlibrary/WritableMapDataConverterTests.java +0 -186
  91. package/android/src/test/java/com/fidelreactlibrary/fakes/CallbackInputSpy.java +0 -12
  92. package/android/src/test/java/com/fidelreactlibrary/fakes/CallbackSpy.java +0 -18
  93. package/android/src/test/java/com/fidelreactlibrary/fakes/IntentMock.java +0 -20
  94. package/ios/FLRNCardSchemesAdapter.h +0 -16
  95. package/ios/FLRNCardSchemesFromJSAdapter.h +0 -14
  96. package/ios/FLRNCardSchemesFromJSAdapter.m +0 -39
  97. package/ios/FLRNConstantsProvider.h +0 -15
  98. package/ios/FLRNImageFromRNAdapter.h +0 -14
  99. package/ios/FLRNObjectToDictionaryAdapter.h +0 -15
  100. package/ios/FLRNOptionsAdapter.h +0 -24
  101. package/ios/FLRNOptionsAdapter.m +0 -133
  102. package/ios/FLRNRuntimeObjectToDictionaryAdapter.h +0 -14
  103. package/ios/FLRNRuntimeObjectToDictionaryAdapter.m +0 -36
  104. package/ios/FLRNSDKOptions.h +0 -24
  105. package/ios/FLRNSDKSetupOptions.h +0 -14
  106. package/ios/FLRNSetupAdapter.h +0 -17
  107. package/ios/FLRNSetupAdapter.m +0 -50
  108. package/ios/Fidel.h +0 -20
  109. package/ios/Fidel.m +0 -79
  110. package/ios/RCTConvert+CardScheme.h +0 -33
  111. package/ios/RCTConvert+Options.h +0 -52
  112. package/ios/RCTConvert+Options.m +0 -21
  113. /package/ios/{FLRNImageFromRNAdapter.m → Adapters/FLRNImageFromRNAdapter.m} +0 -0
@@ -1,20 +0,0 @@
1
- package com.fidelreactlibrary.fakes;
2
-
3
- import android.content.Context;
4
- import android.content.Intent;
5
- import android.os.Parcelable;
6
-
7
- public final class IntentMock<T extends Parcelable> extends Intent {
8
-
9
- public IntentMock(Context packageContext, Class<?> cls) {
10
- super(packageContext, cls);
11
- }
12
-
13
- public String parcelableExtraNameAskedFor;
14
- public T parcelableExtraToReturn;
15
- @Override
16
- public T getParcelableExtra(String name) {
17
- parcelableExtraNameAskedFor = name;
18
- return parcelableExtraToReturn;
19
- }
20
- }
@@ -1,16 +0,0 @@
1
- //
2
- // FLRNCardSchemeAdapter.h
3
- // Fidel
4
- //
5
- // Created by Corneliu on 12/05/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "FLRNConstantsProvider.h"
11
-
12
- @protocol FLRNCardSchemesAdapter <FLRNConstantsProvider>
13
-
14
- -(NSSet<NSNumber *> *)cardSchemesWithRawObject:(id)objectToAdapt;
15
-
16
- @end
@@ -1,14 +0,0 @@
1
- //
2
- // FLRNCardSchemesFromJSAdapter.h
3
- // Fidel
4
- //
5
- // Created by Corneliu on 12/05/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "FLRNCardSchemesAdapter.h"
11
-
12
- @interface FLRNCardSchemesFromJSAdapter : NSObject <FLRNCardSchemesAdapter>
13
-
14
- @end
@@ -1,39 +0,0 @@
1
- //
2
- // FLRNCardSchemesFromJSAdapter.m
3
- // Fidel
4
- //
5
- // Created by Corneliu on 12/05/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import "FLRNCardSchemesFromJSAdapter.h"
10
- #import "RCTConvert+CardScheme.h"
11
- #if __has_include(<Fidel/Fidel-Swift.h>)
12
- #import <Fidel/Fidel-Swift.h>
13
- #elif __has_include("Fidel-Swift.h")
14
- #import "Fidel-Swift.h"
15
- #else
16
- #import "Fidel/Fidel-Swift.h" // Required when used as a Pod in a Swift project
17
- #endif
18
-
19
- @implementation FLRNCardSchemesFromJSAdapter
20
-
21
- -(NSSet<NSNumber *> *)cardSchemesWithRawObject:(id)objectToAdapt {
22
- NSMutableSet<NSNumber *> *setToReturn;
23
- if ([objectToAdapt isKindOfClass:[NSArray class]]) {
24
- NSArray *arrayToAdapt = (NSArray *)objectToAdapt;
25
- setToReturn = [NSMutableSet set];
26
- for (id objectToAdapt in arrayToAdapt) {
27
- FLCardScheme cardScheme = [RCTConvert FLCardScheme:objectToAdapt];
28
- [setToReturn addObject:@(cardScheme)];
29
- }
30
- }
31
- return setToReturn;
32
- }
33
-
34
- -(NSDictionary *)constantsToExport {
35
- return FLCardSchemeValues;
36
- }
37
-
38
-
39
- @end
@@ -1,15 +0,0 @@
1
- //
2
- // FLRNConstantsProvider.h
3
- // Fidel
4
- //
5
- // Created by Corneliu on 12/05/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- @protocol FLRNConstantsProvider <NSObject>
12
-
13
- @property (nonatomic, readonly) NSDictionary *constantsToExport;
14
-
15
- @end
@@ -1,14 +0,0 @@
1
- //
2
- // FLRNImageFromRNAdapter.h
3
- // Fidel
4
- //
5
- // Created by Corneliu on 24/03/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "FLRNImageAdapter.h"
11
-
12
- @interface FLRNImageFromRNAdapter : NSObject <FLRNImageAdapter>
13
-
14
- @end
@@ -1,15 +0,0 @@
1
- //
2
- // FLRNObjectToDictionaryAdapter.h
3
- // Fidel
4
- //
5
- // Created by Corneliu on 22/04/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- @protocol FLRNObjectToDictionaryAdapter <NSObject>
12
-
13
- -(NSDictionary *)dictionaryFrom:(NSObject *)object;
14
-
15
- @end
@@ -1,24 +0,0 @@
1
- //
2
- // FLRNOptionsAdapter.h
3
- // Fidel
4
- //
5
- // Created by Corneliu on 24/03/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- @protocol FLRNCountryAdapter;
12
- @protocol FLRNImageAdapter;
13
- @protocol FLRNCardSchemesAdapter;
14
-
15
- @interface FLRNOptionsAdapter : NSObject
16
-
17
- @property (nonatomic, readonly) NSDictionary *constantsToExport;
18
-
19
- -(instancetype)initWithImageAdapter: (id<FLRNImageAdapter>)imageAdapter
20
- cardSchemesAdapter:(id<FLRNCardSchemesAdapter>)cardSchemesAdapter;
21
-
22
- -(void)setOptions: (NSDictionary *)options;
23
-
24
- @end
@@ -1,133 +0,0 @@
1
- //
2
- // FLRNOptionsAdapter.m
3
- // Fidel
4
- //
5
- // Created by Corneliu on 24/03/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import "FLRNOptionsAdapter.h"
10
- #if __has_include(<Fidel/Fidel-Swift.h>)
11
- #import <Fidel/Fidel-Swift.h>
12
- #elif __has_include("Fidel-Swift.h")
13
- #import "Fidel-Swift.h"
14
- #else
15
- #import "Fidel/Fidel-Swift.h" // Required when used as a Pod in a Swift project
16
- #endif
17
- #import "FLRNImageAdapter.h"
18
- #import "FLRNCardSchemesAdapter.h"
19
- #import "RCTConvert+Options.h"
20
-
21
- #define FLCountryValues @{@"unitedArabEmirates" : @(FLCountryUnitedArabEmirates), @"unitedKingdom" : @(FLCountryUnitedKingdom), @"ireland" : @(FLCountryIreland), @"unitedStates" : @(FLCountryUnitedStates), @"sweden" : @(FLCountrySweden), @"japan" : @(FLCountryJapan), @"canada" : @(FLCountryCanada)}
22
-
23
- @interface FLRNOptionsAdapter()
24
-
25
- @property (nonatomic, strong) id<FLRNImageAdapter> imageAdapter;
26
- @property (nonatomic, strong) id<FLRNCardSchemesAdapter> cardSchemesAdapter;
27
-
28
- @end
29
-
30
- @implementation FLRNOptionsAdapter
31
-
32
- - (instancetype)initWithImageAdapter:(id<FLRNImageAdapter>)imageAdapter
33
- cardSchemesAdapter:(id<FLRNCardSchemesAdapter>)cardSchemesAdapter {
34
- self = [super init];
35
- if (self) {
36
- _imageAdapter = imageAdapter;
37
- _cardSchemesAdapter = cardSchemesAdapter;
38
- }
39
- return self;
40
- }
41
-
42
- NSString *const kCountryKey = @"Country";
43
- NSString *const kCardSchemeKey = @"CardScheme";
44
- NSString *const kOptionKey = @"Option";
45
- -(NSDictionary *)constantsToExport {
46
- return @{
47
- kCountryKey: FLCountryValues,
48
- kCardSchemeKey: self.cardSchemesAdapter.constantsToExport,
49
- kOptionKey: FLSDKOptionValues
50
- };
51
- }
52
-
53
- - (void)setOptions:(NSDictionary *)options {
54
- if ([self valueIsValidFor:kBannerImageOptionKey fromDictionary:options]) {
55
- id rawBannerData = options[kBannerImageOptionKey];
56
- UIImage *bannerImage = [self.imageAdapter imageFromRawData:rawBannerData];
57
- [FLFidel setBannerImage:bannerImage];
58
- }
59
-
60
- if ([self valueIsValidFor:kAllowedCountriesOptionKey fromDictionary:options]) {
61
- id rawData = options[kAllowedCountriesOptionKey];
62
- FLFidel.objc_allowedCountries = (NSArray<NSNumber *> *) rawData;
63
- }
64
-
65
- if ([self valueIsValidFor:kDefaultSelectedCountryOptionKey fromDictionary:options]) {
66
- id rawData = options[kDefaultSelectedCountryOptionKey];
67
- FLFidel.defaultSelectedCountry = [((NSNumber *) rawData) integerValue];
68
- }
69
-
70
- if ([self valueIsValidFor:kAutoScanOptionKey fromDictionary:options]) {
71
- FLFidel.autoScan = [options[kAutoScanOptionKey] boolValue];
72
- }
73
-
74
- if ([self valueIsValidFor:kMetaDataOptionKey fromDictionary:options]) {
75
- id rawMetaData = options[kMetaDataOptionKey];
76
- if ([rawMetaData isKindOfClass:[NSDictionary class]]) {
77
- FLFidel.metaData = rawMetaData;
78
- }
79
- }
80
- if([self valueIsValidFor:kCardSchemesDataOptionKey fromDictionary:options]) {
81
- id rawData = options[kCardSchemesDataOptionKey];
82
- NSSet<NSNumber *> *supportedCardSchemes = [self.cardSchemesAdapter cardSchemesWithRawObject:rawData];
83
- FLFidel.objc_supportedCardSchemes = supportedCardSchemes;
84
- }
85
-
86
- if([self valueIsValidFor:kCompanyNameOptionKey fromDictionary:options]) {
87
- FLFidel.companyName = [self getStringValueFor:kCompanyNameOptionKey fromDictionary:options];
88
- }
89
-
90
- if([self valueIsValidFor:kProgramNameOptionKey fromDictionary:options]) {
91
- FLFidel.programName = [self getStringValueFor:kProgramNameOptionKey fromDictionary:options];
92
- }
93
-
94
- if([self valueIsValidFor:kDeleteInstructionsOptionKey fromDictionary:options]) {
95
- FLFidel.deleteInstructions = [self getStringValueFor:kDeleteInstructionsOptionKey fromDictionary:options];
96
- }
97
-
98
- if([self valueIsValidFor:kPrivacyURLOptionKey fromDictionary:options]) {
99
- FLFidel.privacyURL = [self getStringValueFor:kPrivacyURLOptionKey fromDictionary:options];
100
- }
101
-
102
- if([self valueIsValidFor:kTermsConditionsURLOptionKey fromDictionary:options]) {
103
- FLFidel.termsConditionsURL = [self getStringValueFor:kTermsConditionsURLOptionKey fromDictionary:options];
104
- }
105
- }
106
-
107
- - (NSString * _Nullable)getStringValueFor:(NSString *)key fromDictionary:(NSDictionary *)dict {
108
- NSArray *allKeys = dict.allKeys;
109
- if ([allKeys containsObject:key]) {
110
- id value = dict[key];
111
- if ([value isKindOfClass:[NSString class]]) {
112
- return value;
113
- }
114
- else {
115
- return [value stringValue];
116
- }
117
- }
118
- return nil;
119
- }
120
-
121
- - (BOOL)valueIsValidFor:(NSString *)key fromDictionary:(NSDictionary *)dict {
122
- NSArray *allKeys = dict.allKeys;
123
- id value = dict[key];
124
- if ([allKeys containsObject:key]) {
125
- if ([value isKindOfClass:[NSString class]]) {
126
- return [allKeys containsObject:key] && (value != nil) && ![value isKindOfClass:[NSNull class]] && [value length] > 0;
127
- }
128
- return [allKeys containsObject:key] && (value != nil) && ![value isKindOfClass:[NSNull class]];
129
- }
130
- return false;
131
- }
132
-
133
- @end
@@ -1,14 +0,0 @@
1
- //
2
- // FLRNRuntimeObjectToDictionaryAdapter.h
3
- // Fidel
4
- //
5
- // Created by Corneliu on 22/04/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "FLRNObjectToDictionaryAdapter.h"
11
-
12
- @interface FLRNRuntimeObjectToDictionaryAdapter : NSObject <FLRNObjectToDictionaryAdapter>
13
-
14
- @end
@@ -1,36 +0,0 @@
1
- //
2
- // FLRNRuntimeObjectToDictionaryAdapter.m
3
- // Fidel
4
- //
5
- // Created by Corneliu on 22/04/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import "FLRNRuntimeObjectToDictionaryAdapter.h"
10
- #import <objc/runtime.h>
11
-
12
- @implementation FLRNRuntimeObjectToDictionaryAdapter
13
-
14
- -(NSDictionary *)dictionaryFrom:(NSObject *)object {
15
- NSMutableDictionary *dict = [NSMutableDictionary dictionary];
16
-
17
- unsigned count;
18
- objc_property_t *properties = class_copyPropertyList([object class], &count);
19
-
20
- for (int i = 0; i < count; i++) {
21
- NSString *key = [NSString stringWithUTF8String:property_getName(properties[i])];
22
- id value = [object valueForKey:key];
23
- if (value == nil) {
24
- [dict setObject:[NSNull null] forKey:key];
25
- }
26
- else {
27
- [dict setObject:value forKey:key];
28
- }
29
- }
30
-
31
- free(properties);
32
-
33
- return [NSDictionary dictionaryWithDictionary:dict];
34
- }
35
-
36
- @end
@@ -1,24 +0,0 @@
1
- //
2
- // FLRNSDKOptions.h
3
- // Fidel
4
- //
5
- // Created by Corneliu on 24/03/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- typedef NS_ENUM(NSUInteger, FLSDKOption) {
12
- FLSDKOptionBannerImage = 0,
13
- FLSDKOptionAllowedCountries = 1,
14
- FLSDKOptionDefaultSelectedCountry = 2,
15
- FLSDKOptionAutoScan = 3,
16
- FLSDKOptionMetaData = 4,
17
- FLSDKOptionCompanyName = 5,
18
- FLSDKOptionProgramName = 6,
19
- FLSDKOptionDeleteInstructions = 7,
20
- FLSDKOptionPrivacyURL = 8,
21
- FLSDKOptionTermsConditionsURL = 9,
22
- FLSDKOptionCardSchemes = 10,
23
- FLSDKOptionUnexistent = NSUIntegerMax
24
- };
@@ -1,14 +0,0 @@
1
- //
2
- // FLRNSDKSetupOptions.h
3
- // Fidel
4
- //
5
- // Created by Corneliu on 22/04/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- typedef NS_ENUM(NSUInteger, FLSDKSetupOption) {
12
- FLSDKSetupOptionApiKey = 0,
13
- FLSDKSetupOptionProgramID = 1
14
- };
@@ -1,17 +0,0 @@
1
- //
2
- // FLRNSetupAdapter.h
3
- // Fidel
4
- //
5
- // Created by Corneliu on 22/04/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- @interface FLRNSetupAdapter : NSObject
12
-
13
- @property (nonatomic, readonly) NSDictionary *constantsToExport;
14
-
15
- -(void)setupWith: (NSDictionary *)setupInfo;
16
-
17
- @end
@@ -1,50 +0,0 @@
1
- //
2
- // FLRNSetupAdapter.m
3
- // Fidel
4
- //
5
- // Created by Corneliu on 22/04/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import "FLRNSetupAdapter.h"
10
- #import "FLRNSDKSetupOptions.h"
11
- //#import "Fidel-Swift.h"
12
- #if __has_include(<Fidel/Fidel-Swift.h>)
13
- #import <Fidel/Fidel-Swift.h>
14
- #elif __has_include("Fidel-Swift.h")
15
- #import "Fidel-Swift.h"
16
- #else
17
- #import "Fidel/Fidel-Swift.h" // Required when used as a Pod in a Swift project
18
- #endif
19
-
20
- @implementation FLRNSetupAdapter
21
-
22
- NSString *const kApiKeyDictionaryKey = @"apiKey";
23
- NSString *const kProgramIDKey = @"programId";
24
- NSString *const kSetupOptionKey = @"SetupOption";
25
-
26
- - (NSDictionary *)constantsToExport {
27
- return @{kSetupOptionKey: @{
28
- kApiKeyDictionaryKey: @(FLSDKSetupOptionApiKey),
29
- kProgramIDKey: @(FLSDKSetupOptionProgramID)
30
- }
31
- };
32
- }
33
-
34
- - (void)setupWith:(NSDictionary *)setupInfo {
35
- FLFidel.apiKey = [self getStringValueFor:kApiKeyDictionaryKey fromDictionary:setupInfo];
36
- FLFidel.programId = [self getStringValueFor:kProgramIDKey fromDictionary:setupInfo];
37
- }
38
-
39
- - (NSString * _Nullable)getStringValueFor:(NSString *)key fromDictionary:(NSDictionary *)dict {
40
- NSArray *allKeys = dict.allKeys;
41
- if ([allKeys containsObject:key]) {
42
- id value = dict[key];
43
- if ([value isKindOfClass:[NSString class]]) {
44
- return value;
45
- }
46
- }
47
- return nil;
48
- }
49
-
50
- @end
package/ios/Fidel.h DELETED
@@ -1,20 +0,0 @@
1
-
2
- #if __has_include(<React/RCTBridgeModule.h>)
3
- #import <React/RCTBridgeModule.h>
4
- #elif __has_include("RCTBridgeModule.h")
5
- #import "RCTBridgeModule.h"
6
- #else
7
- #import "React/RCTBridgeModule.h" // Required when used as a Pod in a Swift project
8
- #endif
9
-
10
- #if __has_include(<React/RCTEventEmitter.h>)
11
- #import <React/RCTEventEmitter.h>
12
- #elif __has_include("RCTEventEmitter.h")
13
- #import "RCTEventEmitter.h"
14
- #else
15
- #import "React/RCTEventEmitter.h" // Required when used as a Pod in a Swift project
16
- #endif
17
-
18
- @interface Fidel: RCTEventEmitter <RCTBridgeModule>
19
-
20
- @end
package/ios/Fidel.m DELETED
@@ -1,79 +0,0 @@
1
-
2
- #import "Fidel.h"
3
- #if __has_include(<Fidel/Fidel-Swift.h>)
4
- #import <Fidel/Fidel-Swift.h>
5
- #elif __has_include("Fidel-Swift.h")
6
- #import "Fidel-Swift.h"
7
- #else
8
- #import "Fidel/Fidel-Swift.h" // Required when used as a Pod in a Swift project
9
- #endif
10
- #import "FLRNSetupAdapter.h"
11
- #import "FLRNOptionsAdapter.h"
12
- #import "FLRNImageFromRNAdapter.h"
13
- #import "FLRNCardSchemesFromJSAdapter.h"
14
- #import "FLRNRuntimeObjectToDictionaryAdapter.h"
15
-
16
- @interface Fidel()
17
-
18
- @property (nonatomic, strong) FLRNOptionsAdapter *adapter;
19
- @property (nonatomic, strong) FLRNSetupAdapter *setupAdapter;
20
- @property (nonatomic, strong) id<FLRNObjectToDictionaryAdapter> objectAdapter;
21
-
22
- @end
23
-
24
- @implementation Fidel
25
-
26
- RCT_EXPORT_MODULE(NativeFidelBridge)
27
-
28
- -(instancetype)init {
29
- self = [super init];
30
- if (self) {
31
- id<FLRNImageAdapter> imageAdapter = [[FLRNImageFromRNAdapter alloc] init];
32
- id<FLRNCardSchemesAdapter> cardSchemesAdapter = [[FLRNCardSchemesFromJSAdapter alloc] init];
33
- _adapter = [[FLRNOptionsAdapter alloc] initWithImageAdapter:imageAdapter
34
- cardSchemesAdapter:cardSchemesAdapter];
35
- _setupAdapter = [[FLRNSetupAdapter alloc] init];
36
- _objectAdapter = [[FLRNRuntimeObjectToDictionaryAdapter alloc] init];
37
- }
38
- return self;
39
- }
40
-
41
- RCT_EXPORT_METHOD(setup:(NSDictionary *)setupInfo) {
42
- [self.setupAdapter setupWith:setupInfo];
43
- }
44
-
45
- RCT_EXPORT_METHOD(setOptions:(NSDictionary *)options) {
46
- [self.adapter setOptions: options];
47
- }
48
-
49
- RCT_EXPORT_METHOD(openForm:(RCTResponseSenderBlock)callback) {
50
- UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController;
51
- __weak typeof(self) weakSelf = self;
52
- [FLFidel present:rootViewController onCardLinkedCallback:^(FLLinkResult * _Nonnull result) {
53
- NSDictionary *adaptedResult = [weakSelf.objectAdapter dictionaryFrom:result];
54
- callback(@[[NSNull null], adaptedResult]);
55
- } onCardLinkFailedCallback:^(FLLinkError * _Nonnull error) {
56
- NSDictionary *adaptedError = [weakSelf.objectAdapter dictionaryFrom:error];
57
- [weakSelf sendEventWithName:@"CardLinkFailed" body:adaptedError];
58
- }];
59
- }
60
-
61
- -(NSArray<NSString *> *)supportedEvents {
62
- return @[@"CardLinkFailed"];
63
- }
64
-
65
- -(NSDictionary *)constantsToExport {
66
- NSMutableDictionary *constants = [self.setupAdapter.constantsToExport mutableCopy];
67
- [constants addEntriesFromDictionary:self.adapter.constantsToExport];
68
- return [constants copy];
69
- }
70
-
71
- + (BOOL)requiresMainQueueSetup {
72
- return YES;
73
- }
74
-
75
- -(dispatch_queue_t)methodQueue {
76
- return dispatch_get_main_queue();
77
- }
78
-
79
- @end
@@ -1,33 +0,0 @@
1
- //
2
- // RCTConvert+CardScheme.h
3
- // Fidel
4
- //
5
- // Created by Corneliu on 12/05/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #if __has_include(<React/RCTConvert.h>)
10
- #import <React/RCTConvert.h>
11
- #elif __has_include("RCTConvert.h")
12
- #import "RCTConvert.h"
13
- #else
14
- #import "React/RCTConvert.h" // Required when used as a Pod in a Swift project
15
- #endif
16
-
17
- #if __has_include(<Fidel/Fidel-Swift.h>)
18
- #import <Fidel/Fidel-Swift.h>
19
- #elif __has_include("Fidel-Swift.h")
20
- #import "Fidel-Swift.h"
21
- #else
22
- #import "Fidel/Fidel-Swift.h" // Required when used as a Pod in a Swift project
23
- #endif
24
-
25
- #define FLCardSchemeValues @{@"visa" : @(FLCardSchemeVisa), @"mastercard" : @(FLCardSchemeMastercard), @"americanExpress" : @(FLCardSchemeAmericanExpress)}
26
- #define FLCardSchemeInvalid NSIntegerMax
27
-
28
- @implementation RCTConvert (CardScheme)
29
-
30
- RCT_ENUM_CONVERTER(FLCardScheme, (FLCardSchemeValues),
31
- FLCardSchemeInvalid, integerValue);
32
-
33
- @end
@@ -1,52 +0,0 @@
1
- //
2
- // RCTConvert+Option.h
3
- // Fidel
4
- //
5
- // Created by Corneliu on 24/03/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- //#import <React/RCTConvert.h>
10
- #if __has_include(<React/RCTConvert.h>)
11
- #import <React/RCTConvert.h>
12
- #elif __has_include("RCTConvert.h")
13
- #import "RCTConvert.h"
14
- #else
15
- #import "React/RCTConvert.h" // Required when used as a Pod in a Swift project
16
- #endif
17
-
18
- #import "FLRNSDKOptions.h"
19
-
20
- #define FLSDKOptionValues\
21
- @{\
22
- kBannerImageOptionKey: @(FLSDKOptionBannerImage), \
23
- kAllowedCountriesOptionKey: @(FLSDKOptionAllowedCountries), \
24
- kDefaultSelectedCountryOptionKey: @(FLSDKOptionDefaultSelectedCountry), \
25
- kAutoScanOptionKey: @(FLSDKOptionAutoScan),\
26
- kMetaDataOptionKey: @(FLSDKOptionMetaData), \
27
- kCompanyNameOptionKey: @(FLSDKOptionCompanyName), \
28
- kProgramNameOptionKey: @(FLSDKOptionProgramName), \
29
- kDeleteInstructionsOptionKey: @(FLSDKOptionCompanyName), \
30
- kPrivacyURLOptionKey: @(FLSDKOptionCompanyName), \
31
- kTermsConditionsURLOptionKey: @(FLSDKOptionTermsConditionsURL), \
32
- kCardSchemesDataOptionKey: @(FLSDKOptionCardSchemes) \
33
- }
34
-
35
- FOUNDATION_EXPORT NSString *const kBannerImageOptionKey;
36
- FOUNDATION_EXPORT NSString *const kAllowedCountriesOptionKey;
37
- FOUNDATION_EXPORT NSString *const kDefaultSelectedCountryOptionKey;
38
- FOUNDATION_EXPORT NSString *const kAutoScanOptionKey;
39
- FOUNDATION_EXPORT NSString *const kMetaDataOptionKey;
40
- FOUNDATION_EXPORT NSString *const kCompanyNameOptionKey;
41
- FOUNDATION_EXPORT NSString *const kProgramNameOptionKey;
42
- FOUNDATION_EXPORT NSString *const kDeleteInstructionsOptionKey;
43
- FOUNDATION_EXPORT NSString *const kPrivacyURLOptionKey;
44
- FOUNDATION_EXPORT NSString *const kTermsConditionsURLOptionKey;
45
- FOUNDATION_EXPORT NSString *const kCardSchemesDataOptionKey;
46
-
47
- @implementation RCTConvert (Options)
48
-
49
- RCT_ENUM_CONVERTER(FLSDKOption, (FLSDKOptionValues),
50
- FLSDKOptionUnexistent, integerValue);
51
-
52
- @end
@@ -1,21 +0,0 @@
1
- //
2
- // RCTConvert+Options.m
3
- // Fidel
4
- //
5
- // Created by Corneliu on 24/03/2019.
6
- // Copyright © 2019 Facebook. All rights reserved.
7
- //
8
-
9
- #import "RCTConvert+Options.h"
10
-
11
- NSString *const kBannerImageOptionKey = @"bannerImage";
12
- NSString *const kAllowedCountriesOptionKey = @"allowedCountries";
13
- NSString *const kDefaultSelectedCountryOptionKey = @"defaultSelectedCountry";
14
- NSString *const kAutoScanOptionKey = @"autoScan";
15
- NSString *const kMetaDataOptionKey = @"metaData";
16
- NSString *const kCompanyNameOptionKey = @"companyName";
17
- NSString *const kProgramNameOptionKey = @"programName";
18
- NSString *const kDeleteInstructionsOptionKey = @"deleteInstructions";
19
- NSString *const kPrivacyURLOptionKey = @"privacyUrl";
20
- NSString *const kTermsConditionsURLOptionKey = @"termsConditionsUrl";
21
- NSString *const kCardSchemesDataOptionKey = @"supportedCardSchemes";