freerasp-react-native 3.4.0 → 3.6.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 (53) hide show
  1. package/README.md +13 -19
  2. package/android/build.gradle +3 -2
  3. package/android/gradle.properties +2 -1
  4. package/android/src/main/java/com/freeraspreactnative/FreeraspReactNativeModule.kt +58 -48
  5. package/android/src/main/java/com/freeraspreactnative/FreeraspThreatHandler.kt +52 -0
  6. package/android/src/main/java/com/freeraspreactnative/Threat.kt +44 -0
  7. package/ios/FreeraspReactNative.m +8 -1
  8. package/ios/FreeraspReactNative.swift +82 -13
  9. package/ios/TalsecRuntime.xcframework/Info.plist +5 -5
  10. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
  11. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +2 -2
  12. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist +0 -0
  13. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json +142 -160
  14. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface +3 -2
  15. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  16. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface +3 -2
  17. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime +0 -0
  18. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
  19. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +4 -4
  20. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist +0 -0
  21. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json +142 -160
  22. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +3 -2
  23. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  24. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface +3 -2
  25. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json +142 -160
  26. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +3 -2
  27. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  28. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +3 -2
  29. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime +0 -0
  30. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +25 -25
  31. package/lib/commonjs/definitions.js +32 -0
  32. package/lib/commonjs/definitions.js.map +1 -0
  33. package/lib/commonjs/index.js +83 -20
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/utils.js +16 -0
  36. package/lib/commonjs/utils.js.map +1 -0
  37. package/lib/module/definitions.js +25 -0
  38. package/lib/module/definitions.js.map +1 -0
  39. package/lib/module/index.js +84 -21
  40. package/lib/module/index.js.map +1 -1
  41. package/lib/module/utils.js +8 -0
  42. package/lib/module/utils.js.map +1 -0
  43. package/lib/typescript/definitions.d.ts +43 -0
  44. package/lib/typescript/definitions.d.ts.map +1 -0
  45. package/lib/typescript/index.d.ts +3 -32
  46. package/lib/typescript/index.d.ts.map +1 -1
  47. package/lib/typescript/utils.d.ts +3 -0
  48. package/lib/typescript/utils.d.ts.map +1 -0
  49. package/package.json +1 -1
  50. package/src/definitions.ts +77 -0
  51. package/src/index.tsx +93 -60
  52. package/src/utils.ts +9 -0
  53. package/android/src/main/java/com/freeraspreactnative/FreeraspDeviceStateListener.kt +0 -25
@@ -1,7 +1,8 @@
1
1
  // swift-interface-format-version: 1.0
2
- // swift-compiler-version: Apple Swift version 5.8 (swiftlang-5.8.0.124.2 clang-1403.0.22.11.100)
3
- // swift-module-flags: -target x86_64-apple-ios11.2-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name TalsecRuntime
2
+ // swift-compiler-version: Apple Swift version 5.8.1 (swiftlang-5.8.0.124.5 clang-1403.0.22.11.100)
3
+ // swift-module-flags: -target x86_64-apple-ios13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name TalsecRuntime
4
4
  // swift-module-flags-ignorable: -enable-bare-slash-regex
5
+ import CryptoKit
5
6
  import Foundation
6
7
  import LocalAuthentication
7
8
  import TalsecRuntime.Private
@@ -1,7 +1,8 @@
1
1
  // swift-interface-format-version: 1.0
2
- // swift-compiler-version: Apple Swift version 5.8 (swiftlang-5.8.0.124.2 clang-1403.0.22.11.100)
3
- // swift-module-flags: -target x86_64-apple-ios11.2-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name TalsecRuntime
2
+ // swift-compiler-version: Apple Swift version 5.8.1 (swiftlang-5.8.0.124.5 clang-1403.0.22.11.100)
3
+ // swift-module-flags: -target x86_64-apple-ios13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name TalsecRuntime
4
4
  // swift-module-flags-ignorable: -enable-bare-slash-regex
5
+ import CryptoKit
5
6
  import Foundation
6
7
  import LocalAuthentication
7
8
  import TalsecRuntime.Private
@@ -10,11 +10,11 @@
10
10
  </data>
11
11
  <key>Headers/CurlWrapper.h</key>
12
12
  <data>
13
- EuwjOlG3YnMcZyR2GlThzyxe6w8=
13
+ KcY0bJ6+vxlligYtvx38ttTGDyg=
14
14
  </data>
15
15
  <key>Headers/TalsecRuntime-Swift.h</key>
16
16
  <data>
17
- XTcGGImGVL8R3rh4brYZABis8ck=
17
+ 31Chz21Xvwhpz52yK+6MkCDP95Y=
18
18
  </data>
19
19
  <key>Headers/TalsecRuntime_iOS.h</key>
20
20
  <data>
@@ -58,47 +58,47 @@
58
58
  </data>
59
59
  <key>Info.plist</key>
60
60
  <data>
61
- 82nnq4C0SMMZ9ypkXn3MycnWir4=
61
+ rJKT1T8xeneLKrThBXJKvJb91wk=
62
62
  </data>
63
63
  <key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
64
64
  <data>
65
- CU6Q0eqX5aWzZB5B3eZr7ExMlWI=
65
+ qQcLhCa772j9c8ELG0w4YQ7tnco=
66
66
  </data>
67
67
  <key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
68
68
  <data>
69
- zvG970d1+w3DRPsdCRZyC4etYe0=
69
+ ZLzzSXxSUv3YQolHNN32P63d4vY=
70
70
  </data>
71
71
  <key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
72
72
  <data>
73
- J5N2/lFIS5eBKLLy4jawqJkZolg=
73
+ bEsIPa2Qphg9zXAsTwKdEEs4gUY=
74
74
  </data>
75
75
  <key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
76
76
  <data>
77
- zvG970d1+w3DRPsdCRZyC4etYe0=
77
+ ZLzzSXxSUv3YQolHNN32P63d4vY=
78
78
  </data>
79
79
  <key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
80
80
  <data>
81
- ePibA1eQdRWRqLEFYTlIjawlfE8=
81
+ xQYcX8haKwdJ1onRy7zciVQxr/8=
82
82
  </data>
83
83
  <key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
84
84
  <data>
85
- CU6Q0eqX5aWzZB5B3eZr7ExMlWI=
85
+ qQcLhCa772j9c8ELG0w4YQ7tnco=
86
86
  </data>
87
87
  <key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
88
88
  <data>
89
- ny++TmRTmj//H7TwehKOWuZ09TI=
89
+ xjQ8CnTWnIaXK0hQYG3Or+Ih43w=
90
90
  </data>
91
91
  <key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
92
92
  <data>
93
- KXycpHCPsBgdTiFgqugD2J+EkVs=
93
+ Q2tZeB9R4GCBD9JBGzR4ly7W+XM=
94
94
  </data>
95
95
  <key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
96
96
  <data>
97
- ny++TmRTmj//H7TwehKOWuZ09TI=
97
+ xjQ8CnTWnIaXK0hQYG3Or+Ih43w=
98
98
  </data>
99
99
  <key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
100
100
  <data>
101
- swI8+3UuG2FYryNUBVzY4OdPQyo=
101
+ fNeWrv5cFXPPIxqP7y56uyPoLsc=
102
102
  </data>
103
103
  <key>Modules/module.modulemap</key>
104
104
  <data>
@@ -126,14 +126,14 @@
126
126
  <dict>
127
127
  <key>hash2</key>
128
128
  <data>
129
- 4Q0VgrAIdW+tejVVFYxQ9k81ykR7dFzAJb8q/0mK7e0=
129
+ OLx4GSbZPRyV+x4Z9ujJL00S7KXv6r0bpIJvcmIDbhs=
130
130
  </data>
131
131
  </dict>
132
132
  <key>Headers/TalsecRuntime-Swift.h</key>
133
133
  <dict>
134
134
  <key>hash2</key>
135
135
  <data>
136
- px2EBO+Fko+jRMNsLpSjpEwMRV12X0DLGFKI4W87Q+w=
136
+ Voll7kZ6JlhPY7uDo8kBPvhhdEP9me9x0yL6nWLQch0=
137
137
  </data>
138
138
  </dict>
139
139
  <key>Headers/TalsecRuntime_iOS.h</key>
@@ -210,70 +210,70 @@
210
210
  <dict>
211
211
  <key>hash2</key>
212
212
  <data>
213
- riOHfQhwNnAjny7Y6gbyZj2YPp3r+D896vXcVnY+U1I=
213
+ wWfPTqdQKTvgYfr4HTDep65I1WAFgw7uBtM47b8wBK8=
214
214
  </data>
215
215
  </dict>
216
216
  <key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
217
217
  <dict>
218
218
  <key>hash2</key>
219
219
  <data>
220
- 2GeJLA8E0LtuyTetyqlHRut3M4bUe1X3XPgzZjlh1CM=
220
+ n14bh0R0iY3Aamq/B1lr9+otBItf+Pgdj+g/4x/XjrQ=
221
221
  </data>
222
222
  </dict>
223
223
  <key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
224
224
  <dict>
225
225
  <key>hash2</key>
226
226
  <data>
227
- pDc48PiU5vZoIcef7DFH9f2FaoK/IzRa6zGMGkJk1O0=
227
+ KUTEQbZMYvJtxtbHL3hmTjf1q37Efj6x8yiU/Vy0Kt8=
228
228
  </data>
229
229
  </dict>
230
230
  <key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
231
231
  <dict>
232
232
  <key>hash2</key>
233
233
  <data>
234
- 2GeJLA8E0LtuyTetyqlHRut3M4bUe1X3XPgzZjlh1CM=
234
+ n14bh0R0iY3Aamq/B1lr9+otBItf+Pgdj+g/4x/XjrQ=
235
235
  </data>
236
236
  </dict>
237
237
  <key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
238
238
  <dict>
239
239
  <key>hash2</key>
240
240
  <data>
241
- JU1sawCGCtMaQDZrA+z01I/OKYeNYS1EcMt2pYKsvtg=
241
+ /3UXTpNp7UH2NjtVc5r+AKQmM2p9xceAWv0fLbbuvPc=
242
242
  </data>
243
243
  </dict>
244
244
  <key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
245
245
  <dict>
246
246
  <key>hash2</key>
247
247
  <data>
248
- riOHfQhwNnAjny7Y6gbyZj2YPp3r+D896vXcVnY+U1I=
248
+ wWfPTqdQKTvgYfr4HTDep65I1WAFgw7uBtM47b8wBK8=
249
249
  </data>
250
250
  </dict>
251
251
  <key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
252
252
  <dict>
253
253
  <key>hash2</key>
254
254
  <data>
255
- 2K1c4qeBH1d20KXU4qh79Mzs4RY/9lOsLdUrrZ9vyuI=
255
+ SPjtSdC8RxisbjPRZ4SSI9tQ7qIUJ3nhBM8lAgE3LPw=
256
256
  </data>
257
257
  </dict>
258
258
  <key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
259
259
  <dict>
260
260
  <key>hash2</key>
261
261
  <data>
262
- Fq4oo/EFh/fE7ql6mmdZyrKHmK9TCusOWkQaMgLEenk=
262
+ j2EG9fF3KqoqbfqPwPcserKQGRVySb9tGxYJHK2H43E=
263
263
  </data>
264
264
  </dict>
265
265
  <key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
266
266
  <dict>
267
267
  <key>hash2</key>
268
268
  <data>
269
- 2K1c4qeBH1d20KXU4qh79Mzs4RY/9lOsLdUrrZ9vyuI=
269
+ SPjtSdC8RxisbjPRZ4SSI9tQ7qIUJ3nhBM8lAgE3LPw=
270
270
  </data>
271
271
  </dict>
272
272
  <key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
273
273
  <dict>
274
274
  <key>hash2</key>
275
275
  <data>
276
- RFuO7bQwBv27IhmYzufE3PyBHBpJlSTOqXdfn/TTRk8=
276
+ 1cnSeaSEL7iUb0hrNA60O/0qobenQPd/h1NN0zE1GC8=
277
277
  </data>
278
278
  </dict>
279
279
  <key>Modules/module.modulemap</key>
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Threat = void 0;
7
+ var _reactNative = require("react-native");
8
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
10
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
11
+ class Threat {
12
+ constructor(value) {
13
+ _defineProperty(this, "value", void 0);
14
+ this.value = value;
15
+ }
16
+ static getValues() {
17
+ return _reactNative.Platform.OS === 'android' ? [this.AppIntegrity, this.PrivilegedAccess, this.Debug, this.Hooks, this.Passcode, this.Simulator, this.SecureHardwareNotAvailable, this.DeviceBinding, this.UnofficialStore, this.ObfuscationIssues] : [this.AppIntegrity, this.PrivilegedAccess, this.Debug, this.Hooks, this.Passcode, this.Simulator, this.SecureHardwareNotAvailable, this.DeviceBinding, this.DeviceID, this.UnofficialStore];
18
+ }
19
+ }
20
+ exports.Threat = Threat;
21
+ _defineProperty(Threat, "AppIntegrity", new Threat(0));
22
+ _defineProperty(Threat, "PrivilegedAccess", new Threat(0));
23
+ _defineProperty(Threat, "Debug", new Threat(0));
24
+ _defineProperty(Threat, "Hooks", new Threat(0));
25
+ _defineProperty(Threat, "Passcode", new Threat(0));
26
+ _defineProperty(Threat, "Simulator", new Threat(0));
27
+ _defineProperty(Threat, "SecureHardwareNotAvailable", new Threat(0));
28
+ _defineProperty(Threat, "DeviceBinding", new Threat(0));
29
+ _defineProperty(Threat, "DeviceID", new Threat(0));
30
+ _defineProperty(Threat, "UnofficialStore", new Threat(0));
31
+ _defineProperty(Threat, "ObfuscationIssues", new Threat(0));
32
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Threat","constructor","value","getValues","Platform","OS","AppIntegrity","PrivilegedAccess","Debug","Hooks","Passcode","Simulator","SecureHardwareNotAvailable","DeviceBinding","UnofficialStore","ObfuscationIssues","DeviceID"],"sourceRoot":"../../src","sources":["definitions.ts"],"mappings":";;;;;;AAAA;AAAwC;AAAA;AAAA;AA8BjC,MAAMA,MAAM,CAAC;EAelBC,WAAW,CAACC,KAAa,EAAE;IAAA;IACzB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;EAEA,OAAOC,SAAS,GAAa;IAC3B,OAAOC,qBAAQ,CAACC,EAAE,KAAK,SAAS,GAC5B,CACE,IAAI,CAACC,YAAY,EACjB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,0BAA0B,EAC/B,IAAI,CAACC,aAAa,EAClB,IAAI,CAACC,eAAe,EACpB,IAAI,CAACC,iBAAiB,CACvB,GACD,CACE,IAAI,CAACT,YAAY,EACjB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,0BAA0B,EAC/B,IAAI,CAACC,aAAa,EAClB,IAAI,CAACG,QAAQ,EACb,IAAI,CAACF,eAAe,CACrB;EACP;AACF;AAAC;AAAA,gBA9CYd,MAAM,kBAGK,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBAHxBA,MAAM,sBAIS,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBAJ5BA,MAAM,WAKF,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBALjBA,MAAM,WAMF,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBANjBA,MAAM,cAOC,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBAPpBA,MAAM,eAQE,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBARrBA,MAAM,gCASmB,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBATtCA,MAAM,mBAUM,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBAVzBA,MAAM,cAWC,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBAXpBA,MAAM,qBAYQ,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBAZ3BA,MAAM,uBAaU,IAAIA,MAAM,CAAC,CAAC,CAAC"}
@@ -6,41 +6,104 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useFreeRasp = exports.talsecStart = exports.setThreatListeners = exports.removeThreatListeners = exports.default = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
+ var _definitions = require("./definitions");
10
+ var _utils = require("./utils");
9
11
  const {
10
12
  FreeraspReactNative
11
13
  } = _reactNative.NativeModules;
12
14
  const eventEmitter = new _reactNative.NativeEventEmitter(FreeraspReactNative);
13
- const activeListeners = [];
14
- const setThreatListeners = config => {
15
- activeListeners.push(eventEmitter.addListener('started', () => {
16
- console.log('Talsec initialized.');
17
- }));
18
- activeListeners.push(eventEmitter.addListener('initializationError', e => {
19
- console.warn(`Error during Talsec Native plugin initialization - ${e.message}`);
20
- }));
21
- for (const [threat, action] of Object.entries(config)) {
22
- if (threat === 'obfuscationIssues' && _reactNative.Platform.OS === 'ios') {
23
- continue;
24
- }
25
- activeListeners.push(eventEmitter.addListener(threat, action));
15
+ let eventsListener;
16
+ const onInvalidCallback = () => {
17
+ FreeraspReactNative.onInvalidCallback();
18
+ };
19
+ const getThreatIdentifiers = async () => {
20
+ let identifiers = await FreeraspReactNative.getThreatIdentifiers();
21
+ if (identifiers.length !== (0, _utils.getThreatCount)() || !(0, _utils.itemsHaveType)(identifiers, 'number')) {
22
+ onInvalidCallback();
23
+ }
24
+ return identifiers;
25
+ };
26
+ const getThreatChannelData = async () => {
27
+ let data = await FreeraspReactNative.getThreatChannelData();
28
+ if (data.length !== 2 || !(0, _utils.itemsHaveType)(data, 'string')) {
29
+ onInvalidCallback();
26
30
  }
31
+ return data;
32
+ };
33
+ const prepareMapping = async () => {
34
+ const newValues = await getThreatIdentifiers();
35
+ const threats = _definitions.Threat.getValues();
36
+ threats.map((threat, index) => {
37
+ threat.value = newValues[index];
38
+ });
39
+ };
40
+ const setThreatListeners = async config => {
41
+ const [channel, key] = await getThreatChannelData();
42
+ await prepareMapping();
43
+ eventsListener = eventEmitter.addListener(channel, event => {
44
+ var _config$privilegedAcc, _config$debug, _config$simulator, _config$appIntegrity, _config$unofficialSto, _config$hooks, _config$deviceBinding, _config$passcode, _config$secureHardwar, _config$obfuscationIs;
45
+ if (event[key] === undefined) {
46
+ onInvalidCallback();
47
+ }
48
+ switch (event[key]) {
49
+ case _definitions.Threat.PrivilegedAccess.value:
50
+ (_config$privilegedAcc = config.privilegedAccess) === null || _config$privilegedAcc === void 0 ? void 0 : _config$privilegedAcc.call(config);
51
+ break;
52
+ case _definitions.Threat.Debug.value:
53
+ (_config$debug = config.debug) === null || _config$debug === void 0 ? void 0 : _config$debug.call(config);
54
+ break;
55
+ case _definitions.Threat.Simulator.value:
56
+ (_config$simulator = config.simulator) === null || _config$simulator === void 0 ? void 0 : _config$simulator.call(config);
57
+ break;
58
+ case _definitions.Threat.AppIntegrity.value:
59
+ (_config$appIntegrity = config.appIntegrity) === null || _config$appIntegrity === void 0 ? void 0 : _config$appIntegrity.call(config);
60
+ break;
61
+ case _definitions.Threat.UnofficialStore.value:
62
+ (_config$unofficialSto = config.unofficialStore) === null || _config$unofficialSto === void 0 ? void 0 : _config$unofficialSto.call(config);
63
+ break;
64
+ case _definitions.Threat.Hooks.value:
65
+ (_config$hooks = config.hooks) === null || _config$hooks === void 0 ? void 0 : _config$hooks.call(config);
66
+ break;
67
+ case _definitions.Threat.DeviceBinding.value:
68
+ (_config$deviceBinding = config.deviceBinding) === null || _config$deviceBinding === void 0 ? void 0 : _config$deviceBinding.call(config);
69
+ break;
70
+ case _definitions.Threat.Passcode.value:
71
+ (_config$passcode = config.passcode) === null || _config$passcode === void 0 ? void 0 : _config$passcode.call(config);
72
+ break;
73
+ case _definitions.Threat.SecureHardwareNotAvailable.value:
74
+ (_config$secureHardwar = config.secureHardwareNotAvailable) === null || _config$secureHardwar === void 0 ? void 0 : _config$secureHardwar.call(config);
75
+ break;
76
+ case _definitions.Threat.ObfuscationIssues.value:
77
+ (_config$obfuscationIs = config.obfuscationIssues) === null || _config$obfuscationIs === void 0 ? void 0 : _config$obfuscationIs.call(config);
78
+ break;
79
+ default:
80
+ onInvalidCallback();
81
+ break;
82
+ }
83
+ });
27
84
  };
28
85
  exports.setThreatListeners = setThreatListeners;
29
86
  const removeThreatListeners = () => {
30
- activeListeners.forEach(listener => listener.remove());
87
+ eventsListener.remove();
31
88
  };
32
89
  exports.removeThreatListeners = removeThreatListeners;
33
- const talsecStart = options => {
90
+ const talsecStart = async options => {
34
91
  return FreeraspReactNative.talsecStart(options);
35
92
  };
36
93
  exports.talsecStart = talsecStart;
37
94
  const useFreeRasp = (config, actions) => {
38
95
  (0, _react.useEffect)(() => {
39
- setThreatListeners(actions);
40
- talsecStart(config);
41
- return () => {
42
- removeThreatListeners();
43
- };
96
+ (async () => {
97
+ await setThreatListeners(actions);
98
+ let response = await talsecStart(config);
99
+ if (response !== 'freeRASP started') {
100
+ onInvalidCallback();
101
+ }
102
+ console.log(response);
103
+ return () => {
104
+ removeThreatListeners();
105
+ };
106
+ })();
44
107
  // eslint-disable-next-line react-hooks/exhaustive-deps
45
108
  }, []);
46
109
  };
@@ -1 +1 @@
1
- {"version":3,"names":["FreeraspReactNative","NativeModules","eventEmitter","NativeEventEmitter","activeListeners","setThreatListeners","config","push","addListener","console","log","e","warn","message","threat","action","Object","entries","Platform","OS","removeThreatListeners","forEach","listener","remove","talsecStart","options","useFreeRasp","actions","useEffect"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA;AACA;AAqCA,MAAM;EAAEA;AAAoB,CAAC,GAAGC,0BAAa;AAE7C,MAAMC,YAAY,GAAG,IAAIC,+BAAkB,CAACH,mBAAmB,CAAC;AAChE,MAAMI,eAAsC,GAAG,EAAE;AAE1C,MAAMC,kBAAkB,GAC7BC,MAAyE,IACtE;EACHF,eAAe,CAACG,IAAI,CAClBL,YAAY,CAACM,WAAW,CAAC,SAAS,EAAE,MAAM;IACxCC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;EACpC,CAAC,CAAC,CACH;EAEDN,eAAe,CAACG,IAAI,CAClBL,YAAY,CAACM,WAAW,CACtB,qBAAqB,EACpBG,CAAsB,IAAK;IAC1BF,OAAO,CAACG,IAAI,CACT,sDAAqDD,CAAC,CAACE,OAAQ,EAAC,CAClE;EACH,CAAC,CACF,CACF;EAED,KAAK,MAAM,CAACC,MAAM,EAAEC,MAAM,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,EAAE;IACrD,IAAIQ,MAAM,KAAK,mBAAmB,IAAII,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MAC3D;IACF;IACAf,eAAe,CAACG,IAAI,CAACL,YAAY,CAACM,WAAW,CAACM,MAAM,EAAEC,MAAM,CAAC,CAAC;EAChE;AACF,CAAC;AAAC;AAEK,MAAMK,qBAAqB,GAAG,MAAM;EACzChB,eAAe,CAACiB,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,MAAM,EAAE,CAAC;AAC1D,CAAC;AAAC;AAEK,MAAMC,WAAW,GAAIC,OAAqB,IAAW;EAC1D,OAAOzB,mBAAmB,CAACwB,WAAW,CAACC,OAAO,CAAC;AACjD,CAAC;AAAC;AAEK,MAAMC,WAAW,GAAG,CACzBpB,MAAoB,EACpBqB,OAA0E,KACvE;EACH,IAAAC,gBAAS,EAAC,MAAM;IACdvB,kBAAkB,CAACsB,OAAO,CAAC;IAC3BH,WAAW,CAAClB,MAAM,CAAC;IAEnB,OAAO,MAAM;MACXc,qBAAqB,EAAE;IACzB,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAC;AAAA,eAEapB,mBAAmB;AAAA"}
1
+ {"version":3,"names":["FreeraspReactNative","NativeModules","eventEmitter","NativeEventEmitter","eventsListener","onInvalidCallback","getThreatIdentifiers","identifiers","length","getThreatCount","itemsHaveType","getThreatChannelData","data","prepareMapping","newValues","threats","Threat","getValues","map","threat","index","value","setThreatListeners","config","channel","key","addListener","event","undefined","PrivilegedAccess","privilegedAccess","Debug","debug","Simulator","simulator","AppIntegrity","appIntegrity","UnofficialStore","unofficialStore","Hooks","hooks","DeviceBinding","deviceBinding","Passcode","passcode","SecureHardwareNotAvailable","secureHardwareNotAvailable","ObfuscationIssues","obfuscationIssues","removeThreatListeners","remove","talsecStart","options","useFreeRasp","actions","useEffect","response","console","log"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.itemsHaveType = exports.getThreatCount = void 0;
7
+ var _definitions = require("./definitions");
8
+ const getThreatCount = () => {
9
+ return _definitions.Threat.getValues().length;
10
+ };
11
+ exports.getThreatCount = getThreatCount;
12
+ const itemsHaveType = (data, desidedType) => {
13
+ return data.every(item => typeof item === desidedType);
14
+ };
15
+ exports.itemsHaveType = itemsHaveType;
16
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getThreatCount","Threat","getValues","length","itemsHaveType","data","desidedType","every","item"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":";;;;;;AAAA;AAEO,MAAMA,cAAc,GAAG,MAAc;EAC1C,OAAOC,mBAAM,CAACC,SAAS,EAAE,CAACC,MAAM;AAClC,CAAC;AAAC;AAEK,MAAMC,aAAa,GAAG,CAACC,IAAW,EAAEC,WAAmB,KAAK;EACjE,OAAOD,IAAI,CAACE,KAAK,CAAEC,IAAI,IAAK,OAAOA,IAAI,KAAKF,WAAW,CAAC;AAC1D,CAAC;AAAC"}
@@ -0,0 +1,25 @@
1
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
+ import { Platform } from 'react-native';
5
+ export class Threat {
6
+ constructor(value) {
7
+ _defineProperty(this, "value", void 0);
8
+ this.value = value;
9
+ }
10
+ static getValues() {
11
+ return Platform.OS === 'android' ? [this.AppIntegrity, this.PrivilegedAccess, this.Debug, this.Hooks, this.Passcode, this.Simulator, this.SecureHardwareNotAvailable, this.DeviceBinding, this.UnofficialStore, this.ObfuscationIssues] : [this.AppIntegrity, this.PrivilegedAccess, this.Debug, this.Hooks, this.Passcode, this.Simulator, this.SecureHardwareNotAvailable, this.DeviceBinding, this.DeviceID, this.UnofficialStore];
12
+ }
13
+ }
14
+ _defineProperty(Threat, "AppIntegrity", new Threat(0));
15
+ _defineProperty(Threat, "PrivilegedAccess", new Threat(0));
16
+ _defineProperty(Threat, "Debug", new Threat(0));
17
+ _defineProperty(Threat, "Hooks", new Threat(0));
18
+ _defineProperty(Threat, "Passcode", new Threat(0));
19
+ _defineProperty(Threat, "Simulator", new Threat(0));
20
+ _defineProperty(Threat, "SecureHardwareNotAvailable", new Threat(0));
21
+ _defineProperty(Threat, "DeviceBinding", new Threat(0));
22
+ _defineProperty(Threat, "DeviceID", new Threat(0));
23
+ _defineProperty(Threat, "UnofficialStore", new Threat(0));
24
+ _defineProperty(Threat, "ObfuscationIssues", new Threat(0));
25
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","Threat","constructor","value","getValues","OS","AppIntegrity","PrivilegedAccess","Debug","Hooks","Passcode","Simulator","SecureHardwareNotAvailable","DeviceBinding","UnofficialStore","ObfuscationIssues","DeviceID"],"sourceRoot":"../../src","sources":["definitions.ts"],"mappings":";;;AAAA,SAASA,QAAQ,QAAQ,cAAc;AA8BvC,OAAO,MAAMC,MAAM,CAAC;EAelBC,WAAW,CAACC,KAAa,EAAE;IAAA;IACzB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;EAEA,OAAOC,SAAS,GAAa;IAC3B,OAAOJ,QAAQ,CAACK,EAAE,KAAK,SAAS,GAC5B,CACE,IAAI,CAACC,YAAY,EACjB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,0BAA0B,EAC/B,IAAI,CAACC,aAAa,EAClB,IAAI,CAACC,eAAe,EACpB,IAAI,CAACC,iBAAiB,CACvB,GACD,CACE,IAAI,CAACT,YAAY,EACjB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,0BAA0B,EAC/B,IAAI,CAACC,aAAa,EAClB,IAAI,CAACG,QAAQ,EACb,IAAI,CAACF,eAAe,CACrB;EACP;AACF;AAAC,gBA9CYb,MAAM,kBAGK,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBAHxBA,MAAM,sBAIS,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBAJ5BA,MAAM,WAKF,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBALjBA,MAAM,WAMF,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBANjBA,MAAM,cAOC,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBAPpBA,MAAM,eAQE,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBARrBA,MAAM,gCASmB,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBATtCA,MAAM,mBAUM,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBAVzBA,MAAM,cAWC,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBAXpBA,MAAM,qBAYQ,IAAIA,MAAM,CAAC,CAAC,CAAC;AAAA,gBAZ3BA,MAAM,uBAaU,IAAIA,MAAM,CAAC,CAAC,CAAC"}
@@ -1,37 +1,100 @@
1
1
  import { useEffect } from 'react';
2
- import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
2
+ import { NativeEventEmitter, NativeModules } from 'react-native';
3
+ import { Threat } from './definitions';
4
+ import { getThreatCount, itemsHaveType } from './utils';
3
5
  const {
4
6
  FreeraspReactNative
5
7
  } = NativeModules;
6
8
  const eventEmitter = new NativeEventEmitter(FreeraspReactNative);
7
- const activeListeners = [];
8
- export const setThreatListeners = config => {
9
- activeListeners.push(eventEmitter.addListener('started', () => {
10
- console.log('Talsec initialized.');
11
- }));
12
- activeListeners.push(eventEmitter.addListener('initializationError', e => {
13
- console.warn(`Error during Talsec Native plugin initialization - ${e.message}`);
14
- }));
15
- for (const [threat, action] of Object.entries(config)) {
16
- if (threat === 'obfuscationIssues' && Platform.OS === 'ios') {
17
- continue;
18
- }
19
- activeListeners.push(eventEmitter.addListener(threat, action));
9
+ let eventsListener;
10
+ const onInvalidCallback = () => {
11
+ FreeraspReactNative.onInvalidCallback();
12
+ };
13
+ const getThreatIdentifiers = async () => {
14
+ let identifiers = await FreeraspReactNative.getThreatIdentifiers();
15
+ if (identifiers.length !== getThreatCount() || !itemsHaveType(identifiers, 'number')) {
16
+ onInvalidCallback();
17
+ }
18
+ return identifiers;
19
+ };
20
+ const getThreatChannelData = async () => {
21
+ let data = await FreeraspReactNative.getThreatChannelData();
22
+ if (data.length !== 2 || !itemsHaveType(data, 'string')) {
23
+ onInvalidCallback();
20
24
  }
25
+ return data;
26
+ };
27
+ const prepareMapping = async () => {
28
+ const newValues = await getThreatIdentifiers();
29
+ const threats = Threat.getValues();
30
+ threats.map((threat, index) => {
31
+ threat.value = newValues[index];
32
+ });
33
+ };
34
+ export const setThreatListeners = async config => {
35
+ const [channel, key] = await getThreatChannelData();
36
+ await prepareMapping();
37
+ eventsListener = eventEmitter.addListener(channel, event => {
38
+ var _config$privilegedAcc, _config$debug, _config$simulator, _config$appIntegrity, _config$unofficialSto, _config$hooks, _config$deviceBinding, _config$passcode, _config$secureHardwar, _config$obfuscationIs;
39
+ if (event[key] === undefined) {
40
+ onInvalidCallback();
41
+ }
42
+ switch (event[key]) {
43
+ case Threat.PrivilegedAccess.value:
44
+ (_config$privilegedAcc = config.privilegedAccess) === null || _config$privilegedAcc === void 0 ? void 0 : _config$privilegedAcc.call(config);
45
+ break;
46
+ case Threat.Debug.value:
47
+ (_config$debug = config.debug) === null || _config$debug === void 0 ? void 0 : _config$debug.call(config);
48
+ break;
49
+ case Threat.Simulator.value:
50
+ (_config$simulator = config.simulator) === null || _config$simulator === void 0 ? void 0 : _config$simulator.call(config);
51
+ break;
52
+ case Threat.AppIntegrity.value:
53
+ (_config$appIntegrity = config.appIntegrity) === null || _config$appIntegrity === void 0 ? void 0 : _config$appIntegrity.call(config);
54
+ break;
55
+ case Threat.UnofficialStore.value:
56
+ (_config$unofficialSto = config.unofficialStore) === null || _config$unofficialSto === void 0 ? void 0 : _config$unofficialSto.call(config);
57
+ break;
58
+ case Threat.Hooks.value:
59
+ (_config$hooks = config.hooks) === null || _config$hooks === void 0 ? void 0 : _config$hooks.call(config);
60
+ break;
61
+ case Threat.DeviceBinding.value:
62
+ (_config$deviceBinding = config.deviceBinding) === null || _config$deviceBinding === void 0 ? void 0 : _config$deviceBinding.call(config);
63
+ break;
64
+ case Threat.Passcode.value:
65
+ (_config$passcode = config.passcode) === null || _config$passcode === void 0 ? void 0 : _config$passcode.call(config);
66
+ break;
67
+ case Threat.SecureHardwareNotAvailable.value:
68
+ (_config$secureHardwar = config.secureHardwareNotAvailable) === null || _config$secureHardwar === void 0 ? void 0 : _config$secureHardwar.call(config);
69
+ break;
70
+ case Threat.ObfuscationIssues.value:
71
+ (_config$obfuscationIs = config.obfuscationIssues) === null || _config$obfuscationIs === void 0 ? void 0 : _config$obfuscationIs.call(config);
72
+ break;
73
+ default:
74
+ onInvalidCallback();
75
+ break;
76
+ }
77
+ });
21
78
  };
22
79
  export const removeThreatListeners = () => {
23
- activeListeners.forEach(listener => listener.remove());
80
+ eventsListener.remove();
24
81
  };
25
- export const talsecStart = options => {
82
+ export const talsecStart = async options => {
26
83
  return FreeraspReactNative.talsecStart(options);
27
84
  };
28
85
  export const useFreeRasp = (config, actions) => {
29
86
  useEffect(() => {
30
- setThreatListeners(actions);
31
- talsecStart(config);
32
- return () => {
33
- removeThreatListeners();
34
- };
87
+ (async () => {
88
+ await setThreatListeners(actions);
89
+ let response = await talsecStart(config);
90
+ if (response !== 'freeRASP started') {
91
+ onInvalidCallback();
92
+ }
93
+ console.log(response);
94
+ return () => {
95
+ removeThreatListeners();
96
+ };
97
+ })();
35
98
  // eslint-disable-next-line react-hooks/exhaustive-deps
36
99
  }, []);
37
100
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","NativeEventEmitter","NativeModules","Platform","FreeraspReactNative","eventEmitter","activeListeners","setThreatListeners","config","push","addListener","console","log","e","warn","message","threat","action","Object","entries","OS","removeThreatListeners","forEach","listener","remove","talsecStart","options","useFreeRasp","actions"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAEEC,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,QACH,cAAc;AAgCrB,MAAM;EAAEC;AAAoB,CAAC,GAAGF,aAAa;AAE7C,MAAMG,YAAY,GAAG,IAAIJ,kBAAkB,CAACG,mBAAmB,CAAC;AAChE,MAAME,eAAsC,GAAG,EAAE;AAEjD,OAAO,MAAMC,kBAAkB,GAC7BC,MAAyE,IACtE;EACHF,eAAe,CAACG,IAAI,CAClBJ,YAAY,CAACK,WAAW,CAAC,SAAS,EAAE,MAAM;IACxCC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;EACpC,CAAC,CAAC,CACH;EAEDN,eAAe,CAACG,IAAI,CAClBJ,YAAY,CAACK,WAAW,CACtB,qBAAqB,EACpBG,CAAsB,IAAK;IAC1BF,OAAO,CAACG,IAAI,CACT,sDAAqDD,CAAC,CAACE,OAAQ,EAAC,CAClE;EACH,CAAC,CACF,CACF;EAED,KAAK,MAAM,CAACC,MAAM,EAAEC,MAAM,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,EAAE;IACrD,IAAIQ,MAAM,KAAK,mBAAmB,IAAIb,QAAQ,CAACiB,EAAE,KAAK,KAAK,EAAE;MAC3D;IACF;IACAd,eAAe,CAACG,IAAI,CAACJ,YAAY,CAACK,WAAW,CAACM,MAAM,EAAEC,MAAM,CAAC,CAAC;EAChE;AACF,CAAC;AAED,OAAO,MAAMI,qBAAqB,GAAG,MAAM;EACzCf,eAAe,CAACgB,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,MAAM,EAAE,CAAC;AAC1D,CAAC;AAED,OAAO,MAAMC,WAAW,GAAIC,OAAqB,IAAW;EAC1D,OAAOtB,mBAAmB,CAACqB,WAAW,CAACC,OAAO,CAAC;AACjD,CAAC;AAED,OAAO,MAAMC,WAAW,GAAG,CACzBnB,MAAoB,EACpBoB,OAA0E,KACvE;EACH5B,SAAS,CAAC,MAAM;IACdO,kBAAkB,CAACqB,OAAO,CAAC;IAC3BH,WAAW,CAACjB,MAAM,CAAC;IAEnB,OAAO,MAAM;MACXa,qBAAqB,EAAE;IACzB,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAED,eAAejB,mBAAmB"}
1
+ {"version":3,"names":["useEffect","NativeEventEmitter","NativeModules","Threat","getThreatCount","itemsHaveType","FreeraspReactNative","eventEmitter","eventsListener","onInvalidCallback","getThreatIdentifiers","identifiers","length","getThreatChannelData","data","prepareMapping","newValues","threats","getValues","map","threat","index","value","setThreatListeners","config","channel","key","addListener","event","undefined","PrivilegedAccess","privilegedAccess","Debug","debug","Simulator","simulator","AppIntegrity","appIntegrity","UnofficialStore","unofficialStore","Hooks","hooks","DeviceBinding","deviceBinding","Passcode","passcode","SecureHardwareNotAvailable","secureHardwareNotAvailable","ObfuscationIssues","obfuscationIssues","removeThreatListeners","remove","talsecStart","options","useFreeRasp","actions","response","console","log"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Threat } from './definitions';
2
+ export const getThreatCount = () => {
3
+ return Threat.getValues().length;
4
+ };
5
+ export const itemsHaveType = (data, desidedType) => {
6
+ return data.every(item => typeof item === desidedType);
7
+ };
8
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Threat","getThreatCount","getValues","length","itemsHaveType","data","desidedType","every","item"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,eAAe;AAEtC,OAAO,MAAMC,cAAc,GAAG,MAAc;EAC1C,OAAOD,MAAM,CAACE,SAAS,EAAE,CAACC,MAAM;AAClC,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG,CAACC,IAAW,EAAEC,WAAmB,KAAK;EACjE,OAAOD,IAAI,CAACE,KAAK,CAAEC,IAAI,IAAK,OAAOA,IAAI,KAAKF,WAAW,CAAC;AAC1D,CAAC"}