react-native-shield-fraud-plugin 1.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 (74) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +161 -0
  3. package/android/build.gradle +85 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +5 -0
  6. package/android/src/main/java/com/shieldfraudplugin/ShieldFraudPluginModule.java +190 -0
  7. package/android/src/main/java/com/shieldfraudplugin/ShieldFraudPluginPackage.java +28 -0
  8. package/ios/Podfile +10 -0
  9. package/ios/Podfile.lock +16 -0
  10. package/ios/Pods/Manifest.lock +16 -0
  11. package/ios/Pods/Pods.xcodeproj/project.pbxproj +536 -0
  12. package/ios/Pods/Pods.xcodeproj/xcuserdata/deepakraj.xcuserdatad/xcschemes/Pods-ShieldFraudPlugin.xcscheme +58 -0
  13. package/ios/Pods/Pods.xcodeproj/xcuserdata/deepakraj.xcuserdatad/xcschemes/ShieldFraud.xcscheme +58 -0
  14. package/ios/Pods/Pods.xcodeproj/xcuserdata/deepakraj.xcuserdatad/xcschemes/xcschememanagement.plist +25 -0
  15. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/Info.plist +44 -0
  16. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Headers/ShieldFraud-Swift.h +394 -0
  17. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Headers/ShieldFraud.h +20 -0
  18. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Info.plist +0 -0
  19. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios.abi.json +6726 -0
  20. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios.private.swiftinterface +207 -0
  21. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  22. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios.swiftinterface +207 -0
  23. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Modules/module.modulemap +11 -0
  24. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/ShieldFraud +0 -0
  25. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/_CodeSignature/CodeResources +222 -0
  26. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/dSYMs/ShieldFraud.framework.dSYM/Contents/Info.plist +20 -0
  27. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/dSYMs/ShieldFraud.framework.dSYM/Contents/Resources/DWARF/ShieldFraud +0 -0
  28. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Headers/ShieldFraud-Swift.h +784 -0
  29. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Headers/ShieldFraud.h +20 -0
  30. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Info.plist +0 -0
  31. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios-simulator.abi.json +6726 -0
  32. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +207 -0
  33. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  34. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios-simulator.swiftinterface +207 -0
  35. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/x86_64-apple-ios-simulator.abi.json +6712 -0
  36. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +207 -0
  37. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  38. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +207 -0
  39. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/module.modulemap +11 -0
  40. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/ShieldFraud +0 -0
  41. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/_CodeSignature/CodeResources +297 -0
  42. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/dSYMs/ShieldFraud.framework.dSYM/Contents/Info.plist +20 -0
  43. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/dSYMs/ShieldFraud.framework.dSYM/Contents/Resources/DWARF/ShieldFraud +0 -0
  44. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin-Info.plist +26 -0
  45. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin-acknowledgements.markdown +7 -0
  46. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin-acknowledgements.plist +39 -0
  47. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin-dummy.m +5 -0
  48. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin-umbrella.h +16 -0
  49. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin.debug.xcconfig +13 -0
  50. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin.modulemap +6 -0
  51. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin.release.xcconfig +13 -0
  52. package/ios/Pods/Target Support Files/ShieldFraud/ShieldFraud-xcframeworks.sh +121 -0
  53. package/ios/Pods/Target Support Files/ShieldFraud/ShieldFraud.debug.xcconfig +14 -0
  54. package/ios/Pods/Target Support Files/ShieldFraud/ShieldFraud.release.xcconfig +14 -0
  55. package/ios/ShieldFraudPlugin.h +15 -0
  56. package/ios/ShieldFraudPlugin.m +90 -0
  57. package/ios/ShieldFraudPlugin.xcodeproj/project.pbxproj +326 -0
  58. package/ios/ShieldFraudPlugin.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
  59. package/ios/ShieldFraudPlugin.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  60. package/ios/ShieldFraudPlugin.xcodeproj/project.xcworkspace/xcuserdata/deepakraj.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  61. package/ios/ShieldFraudPlugin.xcodeproj/xcuserdata/deepakraj.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  62. package/ios/ShieldFraudPlugin.xcworkspace/contents.xcworkspacedata +10 -0
  63. package/ios/ShieldFraudPlugin.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  64. package/ios/ShieldFraudPlugin.xcworkspace/xcuserdata/deepakraj.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  65. package/ios/ShieldFraudPlugin.xcworkspace/xcuserdata/deepakraj.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +6 -0
  66. package/lib/commonjs/index.js +150 -0
  67. package/lib/commonjs/index.js.map +1 -0
  68. package/lib/module/index.js +148 -0
  69. package/lib/module/index.js.map +1 -0
  70. package/lib/typescript/index.d.ts +100 -0
  71. package/lib/typescript/index.d.ts.map +1 -0
  72. package/package.json +160 -0
  73. package/react-native-shield-fraud-plugin.podspec +19 -0
  74. package/src/index.tsx +173 -0
@@ -0,0 +1,90 @@
1
+ #import "ShieldFraudPlugin.h"
2
+
3
+ @implementation ShieldFraudPlugin
4
+
5
+ static BOOL isShieldInitialized = NO;
6
+
7
+ RCT_EXPORT_MODULE();
8
+
9
+ RCT_EXPORT_METHOD(initShield:(NSString *)siteID secretKey:(NSString *)secretKey isOptimizedListener:(BOOL)isOptimizedListener blockedDialog:(NSDictionary *)blockedDialog logLevel:(NSInteger)logLevel environmentInfo:(NSInteger)environmentInfo)
10
+ {
11
+ if (!isShieldInitialized) {
12
+ NSLog(@"siteId : %@ and secret key: %@", siteID, secretKey);
13
+ Configuration *config = [[Configuration alloc] initWithSiteId:siteID secretKey:secretKey];
14
+
15
+ if (isOptimizedListener) {
16
+ config.deviceShieldCallback = self;
17
+ }
18
+
19
+ if (blockedDialog != nil) {
20
+ NSString *title = [blockedDialog objectForKey:@"title"];
21
+ NSString *body = [blockedDialog objectForKey:@"body"];
22
+ config.defaultBlockedDialog = [[BlockedDialog alloc] initWithTitle:title body:body];
23
+ }
24
+
25
+ // Use logLevel parameter as needed
26
+ config.logLevel = logLevel;
27
+
28
+ config.environment = environmentInfo;
29
+ [Shield setUpWith:config];
30
+ isShieldInitialized = YES;
31
+ }
32
+ }
33
+
34
+ // get session id from shield sdk
35
+ RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(getSessionId) {
36
+ NSLog(@"SHIELD:: get sessionID");
37
+ return [[Shield shared]sessionId];
38
+ }
39
+
40
+ // get device result to shield
41
+ RCT_EXPORT_METHOD(getLatestDeviceResult:(RCTResponseSenderBlock)successCallback errorCallback: (RCTResponseSenderBlock)errorCallback)
42
+ {
43
+ NSDictionary<NSString *, id> *result = [[Shield shared] getLatestDeviceResult];
44
+ if (result != NULL) {
45
+ successCallback(@[result]);
46
+ }
47
+
48
+ NSError *error = [[Shield shared] getErrorResponse];
49
+ if (error != NULL) {
50
+ errorCallback(@[error]);
51
+ }
52
+ }
53
+
54
+ RCT_EXPORT_METHOD(setDeviceResultStateListener:(RCTResponseSenderBlock)callback)
55
+ {
56
+
57
+ NSTimeInterval delayInSeconds = 2.0;
58
+ dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
59
+ dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
60
+ [[Shield shared] setDeviceResultStateListener:^{
61
+ NSLog(@"SHIELD_INIT_DONE:: SDK READY");
62
+ callback(@[]);
63
+ }];
64
+ });
65
+ }
66
+
67
+ - (NSArray<NSString *> *)supportedEvents {
68
+ return @[@"success", @"error"];
69
+ }
70
+
71
+ - (void)didErrorWithError:(NSError *)error
72
+ {
73
+ [self sendEventWithName:@"error" body: error];
74
+ }
75
+
76
+ - (void)didSuccessWithResult:(NSDictionary<NSString *,id> *)result
77
+ {
78
+ [self sendEventWithName:@"success" body: result];
79
+ }
80
+
81
+ RCT_EXPORT_METHOD(sendAttributes: (NSString *)screenName data: (NSDictionary *)data)
82
+ {
83
+ [[Shield shared] sendAttributesWithScreenName:screenName data:data];
84
+ }
85
+
86
+
87
+ @end
88
+
89
+
90
+
@@ -0,0 +1,326 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 4DC15CAF29F27C9B002A8B6C /* ShieldFraudPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* ShieldFraudPlugin.m */; };
11
+ F167571A67B6200098CBA80C /* Pods_ShieldFraudPlugin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F046944AE9395EF1AEB8DB39 /* Pods_ShieldFraudPlugin.framework */; };
12
+ /* End PBXBuildFile section */
13
+
14
+ /* Begin PBXCopyFilesBuildPhase section */
15
+ 58B511D91A9E6C8500147676 /* CopyFiles */ = {
16
+ isa = PBXCopyFilesBuildPhase;
17
+ buildActionMask = 2147483647;
18
+ dstPath = "include/$(PRODUCT_NAME)";
19
+ dstSubfolderSpec = 16;
20
+ files = (
21
+ );
22
+ runOnlyForDeploymentPostprocessing = 0;
23
+ };
24
+ /* End PBXCopyFilesBuildPhase section */
25
+
26
+ /* Begin PBXFileReference section */
27
+ 134814201AA4EA6300B7C361 /* libShieldFraudPlugin.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libShieldFraudPlugin.a; sourceTree = BUILT_PRODUCTS_DIR; };
28
+ 665385E0D17A9E1D0BC4BB56 /* Pods-ShieldFraudPlugin.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ShieldFraudPlugin.release.xcconfig"; path = "Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin.release.xcconfig"; sourceTree = "<group>"; };
29
+ B3E7B5881CC2AC0600A0062D /* ShieldFraudPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShieldFraudPlugin.h; sourceTree = "<group>"; };
30
+ B3E7B5891CC2AC0600A0062D /* ShieldFraudPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShieldFraudPlugin.m; sourceTree = "<group>"; };
31
+ C1AD94D3D1982FF842092419 /* Pods-ShieldFraudPlugin.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ShieldFraudPlugin.debug.xcconfig"; path = "Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin.debug.xcconfig"; sourceTree = "<group>"; };
32
+ F046944AE9395EF1AEB8DB39 /* Pods_ShieldFraudPlugin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShieldFraudPlugin.framework; sourceTree = BUILT_PRODUCTS_DIR; };
33
+ /* End PBXFileReference section */
34
+
35
+ /* Begin PBXFrameworksBuildPhase section */
36
+ 58B511D81A9E6C8500147676 /* Frameworks */ = {
37
+ isa = PBXFrameworksBuildPhase;
38
+ buildActionMask = 2147483647;
39
+ files = (
40
+ F167571A67B6200098CBA80C /* Pods_ShieldFraudPlugin.framework in Frameworks */,
41
+ );
42
+ runOnlyForDeploymentPostprocessing = 0;
43
+ };
44
+ /* End PBXFrameworksBuildPhase section */
45
+
46
+ /* Begin PBXGroup section */
47
+ 134814211AA4EA7D00B7C361 /* Products */ = {
48
+ isa = PBXGroup;
49
+ children = (
50
+ 134814201AA4EA6300B7C361 /* libShieldFraudPlugin.a */,
51
+ );
52
+ name = Products;
53
+ sourceTree = "<group>";
54
+ };
55
+ 31EC8772E7BF66C38E51DB38 /* Pods */ = {
56
+ isa = PBXGroup;
57
+ children = (
58
+ C1AD94D3D1982FF842092419 /* Pods-ShieldFraudPlugin.debug.xcconfig */,
59
+ 665385E0D17A9E1D0BC4BB56 /* Pods-ShieldFraudPlugin.release.xcconfig */,
60
+ );
61
+ path = Pods;
62
+ sourceTree = "<group>";
63
+ };
64
+ 58B511D21A9E6C8500147676 = {
65
+ isa = PBXGroup;
66
+ children = (
67
+ B3E7B5881CC2AC0600A0062D /* ShieldFraudPlugin.h */,
68
+ B3E7B5891CC2AC0600A0062D /* ShieldFraudPlugin.m */,
69
+ 134814211AA4EA7D00B7C361 /* Products */,
70
+ 31EC8772E7BF66C38E51DB38 /* Pods */,
71
+ DB1BDC55CCE65888ED19A665 /* Frameworks */,
72
+ );
73
+ sourceTree = "<group>";
74
+ };
75
+ DB1BDC55CCE65888ED19A665 /* Frameworks */ = {
76
+ isa = PBXGroup;
77
+ children = (
78
+ F046944AE9395EF1AEB8DB39 /* Pods_ShieldFraudPlugin.framework */,
79
+ );
80
+ name = Frameworks;
81
+ sourceTree = "<group>";
82
+ };
83
+ /* End PBXGroup section */
84
+
85
+ /* Begin PBXNativeTarget section */
86
+ 58B511DA1A9E6C8500147676 /* ShieldFraudPlugin */ = {
87
+ isa = PBXNativeTarget;
88
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "ShieldFraudPlugin" */;
89
+ buildPhases = (
90
+ D6EA6B2BCE68BAE66D6746A6 /* [CP] Check Pods Manifest.lock */,
91
+ 58B511D71A9E6C8500147676 /* Sources */,
92
+ 58B511D81A9E6C8500147676 /* Frameworks */,
93
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
94
+ );
95
+ buildRules = (
96
+ );
97
+ dependencies = (
98
+ );
99
+ name = ShieldFraudPlugin;
100
+ productName = RCTDataManager;
101
+ productReference = 134814201AA4EA6300B7C361 /* libShieldFraudPlugin.a */;
102
+ productType = "com.apple.product-type.library.static";
103
+ };
104
+ /* End PBXNativeTarget section */
105
+
106
+ /* Begin PBXProject section */
107
+ 58B511D31A9E6C8500147676 /* Project object */ = {
108
+ isa = PBXProject;
109
+ attributes = {
110
+ LastUpgradeCheck = 0920;
111
+ ORGANIZATIONNAME = Facebook;
112
+ TargetAttributes = {
113
+ 58B511DA1A9E6C8500147676 = {
114
+ CreatedOnToolsVersion = 6.1.1;
115
+ };
116
+ };
117
+ };
118
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "ShieldFraudPlugin" */;
119
+ compatibilityVersion = "Xcode 3.2";
120
+ developmentRegion = English;
121
+ hasScannedForEncodings = 0;
122
+ knownRegions = (
123
+ English,
124
+ en,
125
+ );
126
+ mainGroup = 58B511D21A9E6C8500147676;
127
+ productRefGroup = 58B511D21A9E6C8500147676;
128
+ projectDirPath = "";
129
+ projectRoot = "";
130
+ targets = (
131
+ 58B511DA1A9E6C8500147676 /* ShieldFraudPlugin */,
132
+ );
133
+ };
134
+ /* End PBXProject section */
135
+
136
+ /* Begin PBXShellScriptBuildPhase section */
137
+ D6EA6B2BCE68BAE66D6746A6 /* [CP] Check Pods Manifest.lock */ = {
138
+ isa = PBXShellScriptBuildPhase;
139
+ buildActionMask = 2147483647;
140
+ files = (
141
+ );
142
+ inputFileListPaths = (
143
+ );
144
+ inputPaths = (
145
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
146
+ "${PODS_ROOT}/Manifest.lock",
147
+ );
148
+ name = "[CP] Check Pods Manifest.lock";
149
+ outputFileListPaths = (
150
+ );
151
+ outputPaths = (
152
+ "$(DERIVED_FILE_DIR)/Pods-ShieldFraudPlugin-checkManifestLockResult.txt",
153
+ );
154
+ runOnlyForDeploymentPostprocessing = 0;
155
+ shellPath = /bin/sh;
156
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
157
+ showEnvVarsInLog = 0;
158
+ };
159
+ /* End PBXShellScriptBuildPhase section */
160
+
161
+ /* Begin PBXSourcesBuildPhase section */
162
+ 58B511D71A9E6C8500147676 /* Sources */ = {
163
+ isa = PBXSourcesBuildPhase;
164
+ buildActionMask = 2147483647;
165
+ files = (
166
+ 4DC15CAF29F27C9B002A8B6C /* ShieldFraudPlugin.m in Sources */,
167
+ );
168
+ runOnlyForDeploymentPostprocessing = 0;
169
+ };
170
+ /* End PBXSourcesBuildPhase section */
171
+
172
+ /* Begin XCBuildConfiguration section */
173
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
174
+ isa = XCBuildConfiguration;
175
+ buildSettings = {
176
+ ALWAYS_SEARCH_USER_PATHS = NO;
177
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
178
+ CLANG_CXX_LIBRARY = "libc++";
179
+ CLANG_ENABLE_MODULES = YES;
180
+ CLANG_ENABLE_OBJC_ARC = YES;
181
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
182
+ CLANG_WARN_BOOL_CONVERSION = YES;
183
+ CLANG_WARN_COMMA = YES;
184
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
185
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
186
+ CLANG_WARN_EMPTY_BODY = YES;
187
+ CLANG_WARN_ENUM_CONVERSION = YES;
188
+ CLANG_WARN_INFINITE_RECURSION = YES;
189
+ CLANG_WARN_INT_CONVERSION = YES;
190
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
191
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
192
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
193
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
194
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
195
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
196
+ CLANG_WARN_UNREACHABLE_CODE = YES;
197
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
198
+ COPY_PHASE_STRIP = NO;
199
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
200
+ ENABLE_TESTABILITY = YES;
201
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
202
+ GCC_C_LANGUAGE_STANDARD = gnu99;
203
+ GCC_DYNAMIC_NO_PIC = NO;
204
+ GCC_NO_COMMON_BLOCKS = YES;
205
+ GCC_OPTIMIZATION_LEVEL = 0;
206
+ GCC_PREPROCESSOR_DEFINITIONS = (
207
+ "DEBUG=1",
208
+ "$(inherited)",
209
+ );
210
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
211
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
212
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
213
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
214
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
215
+ GCC_WARN_UNUSED_FUNCTION = YES;
216
+ GCC_WARN_UNUSED_VARIABLE = YES;
217
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
218
+ MTL_ENABLE_DEBUG_INFO = YES;
219
+ ONLY_ACTIVE_ARCH = YES;
220
+ SDKROOT = iphoneos;
221
+ };
222
+ name = Debug;
223
+ };
224
+ 58B511EE1A9E6C8500147676 /* Release */ = {
225
+ isa = XCBuildConfiguration;
226
+ buildSettings = {
227
+ ALWAYS_SEARCH_USER_PATHS = NO;
228
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
229
+ CLANG_CXX_LIBRARY = "libc++";
230
+ CLANG_ENABLE_MODULES = YES;
231
+ CLANG_ENABLE_OBJC_ARC = YES;
232
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
233
+ CLANG_WARN_BOOL_CONVERSION = YES;
234
+ CLANG_WARN_COMMA = YES;
235
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
236
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
237
+ CLANG_WARN_EMPTY_BODY = YES;
238
+ CLANG_WARN_ENUM_CONVERSION = YES;
239
+ CLANG_WARN_INFINITE_RECURSION = YES;
240
+ CLANG_WARN_INT_CONVERSION = YES;
241
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
242
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
243
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
244
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
245
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
246
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
247
+ CLANG_WARN_UNREACHABLE_CODE = YES;
248
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
249
+ COPY_PHASE_STRIP = YES;
250
+ ENABLE_NS_ASSERTIONS = NO;
251
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
252
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
253
+ GCC_C_LANGUAGE_STANDARD = gnu99;
254
+ GCC_NO_COMMON_BLOCKS = YES;
255
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
256
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
257
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
258
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
259
+ GCC_WARN_UNUSED_FUNCTION = YES;
260
+ GCC_WARN_UNUSED_VARIABLE = YES;
261
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
262
+ MTL_ENABLE_DEBUG_INFO = NO;
263
+ SDKROOT = iphoneos;
264
+ VALIDATE_PRODUCT = YES;
265
+ };
266
+ name = Release;
267
+ };
268
+ 58B511F01A9E6C8500147676 /* Debug */ = {
269
+ isa = XCBuildConfiguration;
270
+ baseConfigurationReference = C1AD94D3D1982FF842092419 /* Pods-ShieldFraudPlugin.debug.xcconfig */;
271
+ buildSettings = {
272
+ HEADER_SEARCH_PATHS = (
273
+ "$(inherited)",
274
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
275
+ "$(SRCROOT)/../../../React/**",
276
+ "$(SRCROOT)/../../react-native/React/**",
277
+ );
278
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
279
+ OTHER_LDFLAGS = "-ObjC";
280
+ PRODUCT_NAME = ShieldFraudPlugin;
281
+ SKIP_INSTALL = YES;
282
+ };
283
+ name = Debug;
284
+ };
285
+ 58B511F11A9E6C8500147676 /* Release */ = {
286
+ isa = XCBuildConfiguration;
287
+ baseConfigurationReference = 665385E0D17A9E1D0BC4BB56 /* Pods-ShieldFraudPlugin.release.xcconfig */;
288
+ buildSettings = {
289
+ HEADER_SEARCH_PATHS = (
290
+ "$(inherited)",
291
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
292
+ "$(SRCROOT)/../../../React/**",
293
+ "$(SRCROOT)/../../react-native/React/**",
294
+ );
295
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
296
+ OTHER_LDFLAGS = "-ObjC";
297
+ PRODUCT_NAME = ShieldFraudPlugin;
298
+ SKIP_INSTALL = YES;
299
+ };
300
+ name = Release;
301
+ };
302
+ /* End XCBuildConfiguration section */
303
+
304
+ /* Begin XCConfigurationList section */
305
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "ShieldFraudPlugin" */ = {
306
+ isa = XCConfigurationList;
307
+ buildConfigurations = (
308
+ 58B511ED1A9E6C8500147676 /* Debug */,
309
+ 58B511EE1A9E6C8500147676 /* Release */,
310
+ );
311
+ defaultConfigurationIsVisible = 0;
312
+ defaultConfigurationName = Release;
313
+ };
314
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "ShieldFraudPlugin" */ = {
315
+ isa = XCConfigurationList;
316
+ buildConfigurations = (
317
+ 58B511F01A9E6C8500147676 /* Debug */,
318
+ 58B511F11A9E6C8500147676 /* Release */,
319
+ );
320
+ defaultConfigurationIsVisible = 0;
321
+ defaultConfigurationName = Release;
322
+ };
323
+ /* End XCConfigurationList section */
324
+ };
325
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
326
+ }
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ </Workspace>
@@ -0,0 +1,8 @@
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>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -0,0 +1,14 @@
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>ShieldFraudPlugin.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>2</integer>
11
+ </dict>
12
+ </dict>
13
+ </dict>
14
+ </plist>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "group:ShieldFraudPlugin.xcodeproj">
6
+ </FileRef>
7
+ <FileRef
8
+ location = "group:Pods/Pods.xcodeproj">
9
+ </FileRef>
10
+ </Workspace>
@@ -0,0 +1,8 @@
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>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Bucket
3
+ uuid = "BBB03DB9-462D-42E0-9E18-2DE2634F2097"
4
+ type = "0"
5
+ version = "2.0">
6
+ </Bucket>
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.LogLevel = exports.EnvironmentInfo = void 0;
7
+ var _reactNative = require("react-native");
8
+ /**
9
+ * Enum representing the log levels for ShieldFraud.
10
+ */
11
+ let LogLevel = /*#__PURE__*/function (LogLevel) {
12
+ LogLevel[LogLevel["LogLevelDebug"] = 3] = "LogLevelDebug";
13
+ LogLevel[LogLevel["LogLevelInfo"] = 2] = "LogLevelInfo";
14
+ LogLevel[LogLevel["LogLevelNone"] = 1] = "LogLevelNone";
15
+ return LogLevel;
16
+ }({});
17
+ /**
18
+ * Enum representing the environment information for ShieldFraud.
19
+ */
20
+ exports.LogLevel = LogLevel;
21
+ let EnvironmentInfo = /*#__PURE__*/function (EnvironmentInfo) {
22
+ EnvironmentInfo[EnvironmentInfo["EnvironmentProd"] = 0] = "EnvironmentProd";
23
+ EnvironmentInfo[EnvironmentInfo["EnvironmentDev"] = 1] = "EnvironmentDev";
24
+ EnvironmentInfo[EnvironmentInfo["EnvironmentStag"] = 2] = "EnvironmentStag";
25
+ return EnvironmentInfo;
26
+ }({});
27
+ /**
28
+ * Configuration object for initializing ShieldFraud.
29
+ */
30
+ /**
31
+ * Type definition for the success callback function.
32
+ */
33
+ /**
34
+ * Type definition for the failure callback function.
35
+ */
36
+ /**
37
+ * Type definition for the ShieldFraud callback functions.
38
+ */
39
+ exports.EnvironmentInfo = EnvironmentInfo;
40
+ /**
41
+ * The `ShieldFraud` class is a wrapper for the ShieldFraudPlugin native module in React Native.
42
+ * It provides methods for initializing ShieldFraud, retrieving session ID, checking the SDK readiness,
43
+ * sending attributes, and getting the latest device result.
44
+ */
45
+ class ShieldFraud {
46
+ /**
47
+ * The native module for accessing the ShieldFraudPlugin.
48
+ */
49
+ static PlatformWrapper = _reactNative.NativeModules.ShieldFraudPlugin;
50
+
51
+ /**
52
+ * The event emitter for listening to success and error events.
53
+ */
54
+ static eventEmitter = new _reactNative.NativeEventEmitter(ShieldFraud.PlatformWrapper);
55
+
56
+ /**
57
+ * Initializes the ShieldFraud plugin with the provided configuration.
58
+ *
59
+ * @param config - The configuration object containing the required properties.
60
+ * @param callbacks - (Optional) The callback functions for success and failure events.
61
+ */
62
+ static initShield(config, callbacks) {
63
+ const isOptimizedListener = !!callbacks;
64
+
65
+ // Set default values if logLevel is not provided
66
+ const logLevel = config.logLevel || LogLevel.LogLevelNone;
67
+
68
+ // Set default values if environmentInfo is not provided
69
+ const environmentInfo = config.environmentInfo || EnvironmentInfo.EnvironmentProd;
70
+
71
+ // Call the native method to initialize ShieldFraud with the provided configuration.
72
+ ShieldFraud.PlatformWrapper.initShield(config.siteID, config.secretKey, isOptimizedListener, config.blockedDialog, logLevel, environmentInfo);
73
+ if (isOptimizedListener ?? false) {
74
+ // Set up listeners for success and error events if callbacks are provided.
75
+ ShieldFraud.listeners(callbacks);
76
+ }
77
+ }
78
+
79
+ /**
80
+ * Sets up event listeners for success and error events.
81
+ *
82
+ * @param callbacks - The callback functions for success and failure events.
83
+ */
84
+ static listeners(callbacks) {
85
+ // Listen for success events and invoke the onSuccess callback if provided.
86
+ ShieldFraud.eventEmitter.addListener('success', data => {
87
+ if (callbacks !== null && callbacks !== void 0 && callbacks.onSuccess) {
88
+ callbacks.onSuccess(data);
89
+ }
90
+ });
91
+
92
+ // Listen for error events and invoke the onFailure callback if provided.
93
+ ShieldFraud.eventEmitter.addListener('error', error => {
94
+ if (callbacks !== null && callbacks !== void 0 && callbacks.onFailure) {
95
+ callbacks.onFailure(error);
96
+ }
97
+ });
98
+ }
99
+
100
+ /**
101
+ * Retrieves the session ID from the ShieldFraud plugin.
102
+ *
103
+ * @returns A Promise that resolves with the session ID.
104
+ */
105
+ static getSessionId() {
106
+ return ShieldFraud.PlatformWrapper.getSessionId();
107
+ }
108
+
109
+ /**
110
+ * Checks if the ShieldFraud SDK is ready and invokes the provided callback with the
111
+ * readiness state.
112
+ *
113
+ * @param callback - The callback function to be invoked with the readiness state.
114
+ */
115
+ static isSDKready(callback) {
116
+ ShieldFraud.PlatformWrapper.setDeviceResultStateListener(() => {
117
+ callback(true);
118
+ });
119
+ }
120
+
121
+ /**
122
+ * Sends attributes to the ShieldFraud plugin for a specific screen.
123
+ *
124
+ * @param screenName - The name of the screen.
125
+ * @param data - The attribute data object.
126
+ */
127
+ static sendAttributes(screenName, data) {
128
+ ShieldFraud.PlatformWrapper.sendAttributes(screenName, data);
129
+ }
130
+
131
+ /**
132
+ * Retrieves the latest device result from the ShieldFraud plugin.
133
+ *
134
+ * @returns A Promise that resolves with the latest device result object.
135
+ */
136
+ static getLatestDeviceResult() {
137
+ return new Promise((resolve, reject) => {
138
+ ShieldFraud.PlatformWrapper.getLatestDeviceResult(result => {
139
+ // Handle success with the result object
140
+ resolve(result);
141
+ }, error => {
142
+ // Handle error with the error object
143
+ reject(error);
144
+ });
145
+ });
146
+ }
147
+ }
148
+ var _default = ShieldFraud;
149
+ exports.default = _default;
150
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","LogLevel","exports","EnvironmentInfo","ShieldFraud","PlatformWrapper","NativeModules","ShieldFraudPlugin","eventEmitter","NativeEventEmitter","initShield","config","callbacks","isOptimizedListener","logLevel","LogLevelNone","environmentInfo","EnvironmentProd","siteID","secretKey","blockedDialog","listeners","addListener","data","onSuccess","error","onFailure","getSessionId","isSDKready","callback","setDeviceResultStateListener","sendAttributes","screenName","getLatestDeviceResult","Promise","resolve","reject","result","_default","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}