freerasp-react-native 4.2.4 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +69 -4
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/freeraspreactnative/FreeraspReactNativeModule.kt +45 -22
- package/android/src/main/java/com/freeraspreactnative/FreeraspThreatHandler.kt +39 -19
- package/android/src/main/java/com/freeraspreactnative/events/BaseRaspEvent.kt +7 -0
- package/android/src/main/java/com/freeraspreactnative/events/RaspExecutionStateEvent.kt +20 -0
- package/android/src/main/java/com/freeraspreactnative/events/ThreatEvent.kt +67 -0
- package/android/src/main/java/com/freeraspreactnative/models/RNSuspiciousAppInfo.kt +1 -0
- package/android/src/main/java/com/freeraspreactnative/utils/Extensions.kt +1 -0
- package/android/src/main/java/com/freeraspreactnative/utils/RandomGenerator.kt +18 -0
- package/android/src/main/java/com/freeraspreactnative/utils/Utils.kt +2 -5
- package/example/android/app/src/main/AndroidManifest.xml +7 -0
- package/example/src/App.tsx +77 -3
- package/example/src/DemoApp.tsx +46 -1
- package/example/src/MalwareItem.tsx +4 -0
- package/example/src/checks.ts +3 -0
- package/example/src/styles.ts +2 -0
- package/freerasp-react-native.podspec +1 -1
- package/ios/FreeraspReactNative.m +4 -0
- package/ios/FreeraspReactNative.swift +37 -75
- package/ios/TalsecRuntime.xcframework/Info.plist +5 -5
- package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory +0 -0
- package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
- package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeResources +144 -114
- package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeSignature +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h +380 -281
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curlver.h +5 -6
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/easy.h +4 -4
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/header.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/mprintf.h +11 -4
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h +62 -22
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h +2 -2
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/system.h +76 -164
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/typecheck-gcc.h +947 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h +5 -4
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/websockets.h +17 -3
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json +181 -146
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface +3 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface +3 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +2 -2
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h +380 -281
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curlver.h +5 -6
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/easy.h +4 -4
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/header.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/mprintf.h +11 -4
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h +62 -22
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h +2 -2
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/system.h +76 -164
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/typecheck-gcc.h +947 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h +5 -4
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/websockets.h +17 -3
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json +181 -146
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +3 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface +3 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json +181 -146
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +3 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +3 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +52 -41
- package/ios/models/RaspExecutionStates.swift +15 -0
- package/ios/models/SecurityThreat.swift +40 -0
- package/ios/utils/EventIdentifiers.swift +13 -0
- package/ios/utils/RandomGenerator.swift +12 -0
- package/ios/utils/Utils.swift +34 -0
- package/lib/commonjs/api/listeners/raspExecutionState.js +40 -0
- package/lib/commonjs/api/listeners/raspExecutionState.js.map +1 -0
- package/lib/commonjs/api/listeners/threat.js +102 -0
- package/lib/commonjs/api/listeners/threat.js.map +1 -0
- package/lib/commonjs/api/methods/native.js +43 -0
- package/lib/commonjs/api/methods/native.js.map +1 -0
- package/lib/commonjs/api/methods/reactNative.js +35 -0
- package/lib/commonjs/api/methods/reactNative.js.map +1 -0
- package/lib/commonjs/api/nativeModules.js +12 -0
- package/lib/commonjs/api/nativeModules.js.map +1 -0
- package/lib/commonjs/channels/raspExecutionState.js +36 -0
- package/lib/commonjs/channels/raspExecutionState.js.map +1 -0
- package/lib/commonjs/channels/threat.js +37 -0
- package/lib/commonjs/channels/threat.js.map +1 -0
- package/lib/commonjs/index.js +39 -188
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/internal.js +6 -0
- package/lib/commonjs/internal.js.map +1 -0
- package/lib/commonjs/models/raspExecutionState.js +17 -0
- package/lib/commonjs/models/raspExecutionState.js.map +1 -0
- package/lib/commonjs/{threat.js → models/threat.js} +4 -1
- package/lib/commonjs/models/threat.js.map +1 -0
- package/lib/commonjs/types/types.js.map +1 -0
- package/lib/commonjs/utils/malware.js +28 -0
- package/lib/commonjs/utils/malware.js.map +1 -0
- package/lib/commonjs/utils/utils.js +21 -0
- package/lib/commonjs/utils/utils.js.map +1 -0
- package/lib/module/api/listeners/raspExecutionState.js +32 -0
- package/lib/module/api/listeners/raspExecutionState.js.map +1 -0
- package/lib/module/api/listeners/threat.js +94 -0
- package/lib/module/api/listeners/threat.js.map +1 -0
- package/lib/module/api/methods/native.js +30 -0
- package/lib/module/api/methods/native.js.map +1 -0
- package/lib/module/api/methods/reactNative.js +28 -0
- package/lib/module/api/methods/reactNative.js.map +1 -0
- package/lib/module/api/nativeModules.js +5 -0
- package/lib/module/api/nativeModules.js.map +1 -0
- package/lib/module/channels/raspExecutionState.js +27 -0
- package/lib/module/channels/raspExecutionState.js.map +1 -0
- package/lib/module/channels/threat.js +28 -0
- package/lib/module/channels/threat.js.map +1 -0
- package/lib/module/index.js +5 -172
- package/lib/module/index.js.map +1 -1
- package/lib/module/internal.js +3 -0
- package/lib/module/internal.js.map +1 -0
- package/lib/module/models/raspExecutionState.js +10 -0
- package/lib/module/models/raspExecutionState.js.map +1 -0
- package/lib/module/{threat.js → models/threat.js} +4 -1
- package/lib/module/models/threat.js.map +1 -0
- package/lib/module/types/types.js.map +1 -0
- package/lib/module/utils/malware.js +20 -0
- package/lib/module/utils/malware.js.map +1 -0
- package/lib/module/utils/utils.js +12 -0
- package/lib/module/utils/utils.js.map +1 -0
- package/lib/typescript/src/api/listeners/raspExecutionState.d.ts +4 -0
- package/lib/typescript/src/api/listeners/raspExecutionState.d.ts.map +1 -0
- package/lib/typescript/src/api/listeners/threat.d.ts +4 -0
- package/lib/typescript/src/api/listeners/threat.d.ts.map +1 -0
- package/lib/typescript/src/api/methods/native.d.ts +9 -0
- package/lib/typescript/src/api/methods/native.d.ts.map +1 -0
- package/lib/typescript/src/api/methods/reactNative.d.ts +3 -0
- package/lib/typescript/src/api/methods/reactNative.d.ts.map +1 -0
- package/lib/typescript/src/api/nativeModules.d.ts +2 -0
- package/lib/typescript/src/api/nativeModules.d.ts.map +1 -0
- package/lib/typescript/src/channels/raspExecutionState.d.ts +7 -0
- package/lib/typescript/src/channels/raspExecutionState.d.ts.map +1 -0
- package/lib/typescript/src/channels/threat.d.ts +8 -0
- package/lib/typescript/src/channels/threat.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +5 -13
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/internal.d.ts +2 -0
- package/lib/typescript/src/internal.d.ts.map +1 -0
- package/lib/typescript/src/models/raspExecutionState.d.ts +7 -0
- package/lib/typescript/src/models/raspExecutionState.d.ts.map +1 -0
- package/lib/typescript/src/{threat.d.ts → models/threat.d.ts} +3 -0
- package/lib/typescript/src/models/threat.d.ts.map +1 -0
- package/lib/typescript/src/{types.d.ts → types/types.d.ts} +12 -1
- package/lib/typescript/src/types/types.d.ts.map +1 -0
- package/lib/typescript/src/utils/malware.d.ts +4 -0
- package/lib/typescript/src/utils/malware.d.ts.map +1 -0
- package/lib/typescript/src/{utils.d.ts → utils/utils.d.ts} +1 -0
- package/lib/typescript/src/utils/utils.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/api/listeners/raspExecutionState.ts +42 -0
- package/src/api/listeners/threat.ts +101 -0
- package/src/api/methods/native.ts +39 -0
- package/src/api/methods/reactNative.ts +42 -0
- package/src/api/nativeModules.ts +3 -0
- package/src/channels/raspExecutionState.ts +35 -0
- package/src/channels/threat.ts +35 -0
- package/src/index.tsx +5 -209
- package/src/internal.ts +2 -0
- package/src/models/raspExecutionState.ts +13 -0
- package/src/{threat.ts → models/threat.ts} +6 -0
- package/src/{types.ts → types/types.ts} +12 -1
- package/src/utils/malware.ts +24 -0
- package/src/utils/utils.ts +14 -0
- package/android/src/main/java/com/freeraspreactnative/Threat.kt +0 -57
- package/lib/commonjs/threat.js.map +0 -1
- package/lib/commonjs/types.js.map +0 -1
- package/lib/commonjs/utils.js +0 -16
- package/lib/commonjs/utils.js.map +0 -1
- package/lib/module/threat.js.map +0 -1
- package/lib/module/types.js.map +0 -1
- package/lib/module/utils.js +0 -8
- package/lib/module/utils.js.map +0 -1
- package/lib/typescript/src/threat.d.ts.map +0 -1
- package/lib/typescript/src/types.d.ts.map +0 -1
- package/lib/typescript/src/utils.d.ts.map +0 -1
- package/src/utils.ts +0 -9
- /package/lib/commonjs/{types.js → types/types.js} +0 -0
- /package/lib/module/{types.js → types/types.js} +0 -0
package/src/index.tsx
CHANGED
|
@@ -1,209 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
type EmitterSubscription,
|
|
7
|
-
} from 'react-native';
|
|
8
|
-
import type {
|
|
9
|
-
NativeEventEmitterActions,
|
|
10
|
-
PackageInfo,
|
|
11
|
-
SuspiciousAppInfo,
|
|
12
|
-
TalsecConfig,
|
|
13
|
-
} from './types';
|
|
14
|
-
import { getThreatCount, itemsHaveType } from './utils';
|
|
15
|
-
import { Buffer } from 'buffer';
|
|
16
|
-
import { Threat } from './threat';
|
|
17
|
-
|
|
18
|
-
const { FreeraspReactNative } = NativeModules;
|
|
19
|
-
|
|
20
|
-
const eventEmitter = new NativeEventEmitter(FreeraspReactNative);
|
|
21
|
-
let eventsListener: EmitterSubscription;
|
|
22
|
-
|
|
23
|
-
const onInvalidCallback = (): void => {
|
|
24
|
-
FreeraspReactNative.onInvalidCallback();
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const getThreatIdentifiers = async (): Promise<number[]> => {
|
|
28
|
-
let identifiers = await FreeraspReactNative.getThreatIdentifiers();
|
|
29
|
-
if (
|
|
30
|
-
identifiers.length !== getThreatCount() ||
|
|
31
|
-
!itemsHaveType(identifiers, 'number')
|
|
32
|
-
) {
|
|
33
|
-
onInvalidCallback();
|
|
34
|
-
}
|
|
35
|
-
return identifiers;
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const getThreatChannelData = async (): Promise<[string, string, string]> => {
|
|
39
|
-
const dataLength = Platform.OS === 'ios' ? 2 : 3;
|
|
40
|
-
let data = await FreeraspReactNative.getThreatChannelData();
|
|
41
|
-
if (data.length !== dataLength || !itemsHaveType(data, 'string')) {
|
|
42
|
-
onInvalidCallback();
|
|
43
|
-
}
|
|
44
|
-
return data;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
const prepareMapping = async (): Promise<void> => {
|
|
48
|
-
const newValues = await getThreatIdentifiers();
|
|
49
|
-
const threats = Threat.getValues();
|
|
50
|
-
|
|
51
|
-
threats.map((threat, index) => {
|
|
52
|
-
threat.value = newValues[index]!;
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
// parses base64-encoded malware data to SuspiciousAppInfo[]
|
|
57
|
-
const parseMalwareData = async (
|
|
58
|
-
data: string[]
|
|
59
|
-
): Promise<SuspiciousAppInfo[]> => {
|
|
60
|
-
return new Promise((resolve, reject) => {
|
|
61
|
-
try {
|
|
62
|
-
resolve(data.map((entry) => toSuspiciousAppInfo(entry)));
|
|
63
|
-
} catch (error: any) {
|
|
64
|
-
reject(`Error while parsing app data: ${error}`);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
const toSuspiciousAppInfo = (base64Value: string): SuspiciousAppInfo => {
|
|
70
|
-
const data = JSON.parse(Buffer.from(base64Value, 'base64').toString('utf8'));
|
|
71
|
-
const packageInfo = data.packageInfo as PackageInfo;
|
|
72
|
-
return { packageInfo, reason: data.reason } as SuspiciousAppInfo;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export const setThreatListeners = async <T extends NativeEventEmitterActions>(
|
|
76
|
-
config: T & Record<Exclude<keyof T, keyof NativeEventEmitterActions>, []>
|
|
77
|
-
) => {
|
|
78
|
-
const [channel, key, malwareKey] = await getThreatChannelData();
|
|
79
|
-
await prepareMapping();
|
|
80
|
-
|
|
81
|
-
eventsListener = eventEmitter.addListener(channel, async (event) => {
|
|
82
|
-
if (event[key] === undefined) {
|
|
83
|
-
onInvalidCallback();
|
|
84
|
-
}
|
|
85
|
-
switch (event[key]) {
|
|
86
|
-
case Threat.PrivilegedAccess.value:
|
|
87
|
-
config.privilegedAccess?.();
|
|
88
|
-
break;
|
|
89
|
-
case Threat.Debug.value:
|
|
90
|
-
config.debug?.();
|
|
91
|
-
break;
|
|
92
|
-
case Threat.Simulator.value:
|
|
93
|
-
config.simulator?.();
|
|
94
|
-
break;
|
|
95
|
-
case Threat.AppIntegrity.value:
|
|
96
|
-
config.appIntegrity?.();
|
|
97
|
-
break;
|
|
98
|
-
case Threat.UnofficialStore.value:
|
|
99
|
-
config.unofficialStore?.();
|
|
100
|
-
break;
|
|
101
|
-
case Threat.Hooks.value:
|
|
102
|
-
config.hooks?.();
|
|
103
|
-
break;
|
|
104
|
-
case Threat.DeviceBinding.value:
|
|
105
|
-
config.deviceBinding?.();
|
|
106
|
-
break;
|
|
107
|
-
case Threat.Passcode.value:
|
|
108
|
-
config.passcode?.();
|
|
109
|
-
break;
|
|
110
|
-
case Threat.SecureHardwareNotAvailable.value:
|
|
111
|
-
config.secureHardwareNotAvailable?.();
|
|
112
|
-
break;
|
|
113
|
-
case Threat.ObfuscationIssues.value:
|
|
114
|
-
config.obfuscationIssues?.();
|
|
115
|
-
break;
|
|
116
|
-
case Threat.DeviceID.value:
|
|
117
|
-
config.deviceID?.();
|
|
118
|
-
break;
|
|
119
|
-
case Threat.DevMode.value:
|
|
120
|
-
config.devMode?.();
|
|
121
|
-
break;
|
|
122
|
-
case Threat.SystemVPN.value:
|
|
123
|
-
config.systemVPN?.();
|
|
124
|
-
break;
|
|
125
|
-
case Threat.Malware.value:
|
|
126
|
-
config.malware?.(await parseMalwareData(event[malwareKey]));
|
|
127
|
-
break;
|
|
128
|
-
case Threat.ADBEnabled.value:
|
|
129
|
-
config.adbEnabled?.();
|
|
130
|
-
break;
|
|
131
|
-
case Threat.Screenshot.value:
|
|
132
|
-
config.screenshot?.();
|
|
133
|
-
break;
|
|
134
|
-
case Threat.ScreenRecording.value:
|
|
135
|
-
config.screenRecording?.();
|
|
136
|
-
break;
|
|
137
|
-
case Threat.MultiInstance.value:
|
|
138
|
-
config.multiInstance?.();
|
|
139
|
-
break;
|
|
140
|
-
default:
|
|
141
|
-
onInvalidCallback();
|
|
142
|
-
break;
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
export const removeThreatListeners = (): void => {
|
|
148
|
-
eventsListener.remove();
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
export const talsecStart = async (options: TalsecConfig): Promise<string> => {
|
|
152
|
-
return FreeraspReactNative.talsecStart(options);
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
export const useFreeRasp = <T extends NativeEventEmitterActions>(
|
|
156
|
-
config: TalsecConfig,
|
|
157
|
-
actions: T & Record<Exclude<keyof T, keyof NativeEventEmitterActions>, []>
|
|
158
|
-
) => {
|
|
159
|
-
useEffect(() => {
|
|
160
|
-
(async () => {
|
|
161
|
-
await setThreatListeners(actions);
|
|
162
|
-
try {
|
|
163
|
-
let response = await talsecStart(config);
|
|
164
|
-
if (response !== 'freeRASP started') {
|
|
165
|
-
onInvalidCallback();
|
|
166
|
-
}
|
|
167
|
-
console.log(response);
|
|
168
|
-
} catch (e: any) {
|
|
169
|
-
console.error(`${e.code}: ${e.message}`);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
return () => {
|
|
173
|
-
removeThreatListeners();
|
|
174
|
-
};
|
|
175
|
-
})();
|
|
176
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
177
|
-
}, []);
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
export const addToWhitelist = async (packageName: string): Promise<boolean> => {
|
|
181
|
-
if (Platform.OS === 'ios') {
|
|
182
|
-
return Promise.reject('Malware detection not available on iOS');
|
|
183
|
-
}
|
|
184
|
-
return FreeraspReactNative.addToWhitelist(packageName);
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
export const getAppIcon = (packageName: string): Promise<string> => {
|
|
188
|
-
if (Platform.OS === 'ios') {
|
|
189
|
-
return Promise.reject(
|
|
190
|
-
'App icon retrieval for Malware detection not available on iOS'
|
|
191
|
-
);
|
|
192
|
-
}
|
|
193
|
-
return FreeraspReactNative.getAppIcon(packageName);
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
export const blockScreenCapture = (enable: boolean): Promise<string> => {
|
|
197
|
-
return FreeraspReactNative.blockScreenCapture(enable);
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
export const isScreenCaptureBlocked = (): Promise<boolean> => {
|
|
201
|
-
return FreeraspReactNative.isScreenCaptureBlocked();
|
|
202
|
-
};
|
|
203
|
-
|
|
204
|
-
export const storeExternalId = (data: string): Promise<string> => {
|
|
205
|
-
return FreeraspReactNative.storeExternalId(data);
|
|
206
|
-
};
|
|
207
|
-
|
|
208
|
-
export * from './types';
|
|
209
|
-
export default FreeraspReactNative;
|
|
1
|
+
export * from './types/types';
|
|
2
|
+
export * from './api/methods/native';
|
|
3
|
+
export * from './api/methods/reactNative';
|
|
4
|
+
export * from './api/listeners/threat';
|
|
5
|
+
export * from './api/listeners/raspExecutionState';
|
package/src/internal.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class RaspExecutionState {
|
|
2
|
+
value: number;
|
|
3
|
+
|
|
4
|
+
static AllChecksFinished = new RaspExecutionState(0);
|
|
5
|
+
|
|
6
|
+
constructor(value: number) {
|
|
7
|
+
this.value = value;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
static getValues(): RaspExecutionState[] {
|
|
11
|
+
return [this.AllChecksFinished];
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -21,6 +21,9 @@ export class Threat {
|
|
|
21
21
|
static Screenshot = new Threat(0);
|
|
22
22
|
static ScreenRecording = new Threat(0);
|
|
23
23
|
static MultiInstance = new Threat(0);
|
|
24
|
+
static TimeSpoofing = new Threat(0);
|
|
25
|
+
static LocationSpoofing = new Threat(0);
|
|
26
|
+
static UnsecureWifi = new Threat(0);
|
|
24
27
|
|
|
25
28
|
constructor(value: number) {
|
|
26
29
|
this.value = value;
|
|
@@ -46,6 +49,9 @@ export class Threat {
|
|
|
46
49
|
this.Screenshot,
|
|
47
50
|
this.ScreenRecording,
|
|
48
51
|
this.MultiInstance,
|
|
52
|
+
this.TimeSpoofing,
|
|
53
|
+
this.LocationSpoofing,
|
|
54
|
+
this.UnsecureWifi,
|
|
49
55
|
]
|
|
50
56
|
: [
|
|
51
57
|
this.AppIntegrity,
|
|
@@ -3,6 +3,7 @@ export type TalsecConfig = {
|
|
|
3
3
|
iosConfig?: TalsecIosConfig;
|
|
4
4
|
watcherMail: string;
|
|
5
5
|
isProd?: boolean;
|
|
6
|
+
killOnBypass?: boolean;
|
|
6
7
|
};
|
|
7
8
|
|
|
8
9
|
export type TalsecAndroidConfig = {
|
|
@@ -27,6 +28,7 @@ export type TalsecMalwareConfig = {
|
|
|
27
28
|
export type SuspiciousAppInfo = {
|
|
28
29
|
packageInfo: PackageInfo;
|
|
29
30
|
reason: string;
|
|
31
|
+
permissions?: string[];
|
|
30
32
|
};
|
|
31
33
|
|
|
32
34
|
export type PackageInfo = {
|
|
@@ -37,7 +39,7 @@ export type PackageInfo = {
|
|
|
37
39
|
installerStore?: string;
|
|
38
40
|
};
|
|
39
41
|
|
|
40
|
-
export type
|
|
42
|
+
export type ThreatEventActions = {
|
|
41
43
|
privilegedAccess?: () => any;
|
|
42
44
|
debug?: () => any;
|
|
43
45
|
simulator?: () => any;
|
|
@@ -56,4 +58,13 @@ export type NativeEventEmitterActions = {
|
|
|
56
58
|
screenshot?: () => any;
|
|
57
59
|
screenRecording?: () => any;
|
|
58
60
|
multiInstance?: () => any;
|
|
61
|
+
timeSpoofing?: () => any;
|
|
62
|
+
locationSpoofing?: () => any;
|
|
63
|
+
unsecureWifi?: () => any;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export type NativeEvent = { [key: string]: number | string[] | undefined };
|
|
67
|
+
|
|
68
|
+
export type RaspExecutionStateEventActions = {
|
|
69
|
+
allChecksFinished?: () => any;
|
|
59
70
|
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { PackageInfo, SuspiciousAppInfo } from '../types/types';
|
|
2
|
+
import { Buffer } from 'buffer';
|
|
3
|
+
|
|
4
|
+
export const parseMalwareData = async (
|
|
5
|
+
data: string[]
|
|
6
|
+
): Promise<SuspiciousAppInfo[]> => {
|
|
7
|
+
return new Promise((resolve, reject) => {
|
|
8
|
+
try {
|
|
9
|
+
resolve(data.map((entry) => toSuspiciousAppInfo(entry)));
|
|
10
|
+
} catch (error: any) {
|
|
11
|
+
reject(`Error while parsing app data: ${error}`);
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const toSuspiciousAppInfo = (base64Value: string): SuspiciousAppInfo => {
|
|
17
|
+
const data = JSON.parse(Buffer.from(base64Value, 'base64').toString('utf8'));
|
|
18
|
+
const packageInfo = data.packageInfo as PackageInfo;
|
|
19
|
+
return {
|
|
20
|
+
packageInfo,
|
|
21
|
+
reason: data.reason,
|
|
22
|
+
permissions: data.permissions,
|
|
23
|
+
} as SuspiciousAppInfo;
|
|
24
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RaspExecutionState } from '../models/raspExecutionState';
|
|
2
|
+
import { Threat } from '../models/threat';
|
|
3
|
+
|
|
4
|
+
export const getThreatCount = (): number => {
|
|
5
|
+
return Threat.getValues().length;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const getRaspExecutionStateCount = (): number => {
|
|
9
|
+
return RaspExecutionState.getValues().length;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const itemsHaveType = (data: any[], desidedType: string) => {
|
|
13
|
+
return data.every((item) => typeof item === desidedType);
|
|
14
|
+
};
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
package com.freeraspreactnative
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.Arguments
|
|
4
|
-
import com.facebook.react.bridge.WritableArray
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Sealed class to represent the error codes.
|
|
8
|
-
*
|
|
9
|
-
* Sealed classes are used because of obfuscation - enums classes are not obfuscated well enough.
|
|
10
|
-
*
|
|
11
|
-
* @property value integer value of the error code.
|
|
12
|
-
*/
|
|
13
|
-
internal sealed class Threat(val value: Int) {
|
|
14
|
-
object AppIntegrity : Threat((10000..999999999).random())
|
|
15
|
-
object PrivilegedAccess : Threat((10000..999999999).random())
|
|
16
|
-
object Debug : Threat((10000..999999999).random())
|
|
17
|
-
object Hooks : Threat((10000..999999999).random())
|
|
18
|
-
object Passcode : Threat((10000..999999999).random())
|
|
19
|
-
object Simulator : Threat((10000..999999999).random())
|
|
20
|
-
object SecureHardwareNotAvailable : Threat((10000..999999999).random())
|
|
21
|
-
object DeviceBinding : Threat((10000..999999999).random())
|
|
22
|
-
object UnofficialStore : Threat((10000..999999999).random())
|
|
23
|
-
object ObfuscationIssues : Threat((10000..999999999).random())
|
|
24
|
-
object SystemVPN : Threat((10000..999999999).random())
|
|
25
|
-
object DevMode : Threat((10000..999999999).random())
|
|
26
|
-
object Malware : Threat((10000..999999999).random())
|
|
27
|
-
object ADBEnabled : Threat((10000..999999999).random())
|
|
28
|
-
object Screenshot : Threat((10000..999999999).random())
|
|
29
|
-
object ScreenRecording : Threat((10000..999999999).random())
|
|
30
|
-
object MultiInstance : Threat((10000..999999999).random())
|
|
31
|
-
|
|
32
|
-
companion object {
|
|
33
|
-
internal fun getThreatValues(): WritableArray {
|
|
34
|
-
return Arguments.fromList(
|
|
35
|
-
listOf(
|
|
36
|
-
AppIntegrity.value,
|
|
37
|
-
PrivilegedAccess.value,
|
|
38
|
-
Debug.value,
|
|
39
|
-
Hooks.value,
|
|
40
|
-
Passcode.value,
|
|
41
|
-
Simulator.value,
|
|
42
|
-
SecureHardwareNotAvailable.value,
|
|
43
|
-
SystemVPN.value,
|
|
44
|
-
DeviceBinding.value,
|
|
45
|
-
UnofficialStore.value,
|
|
46
|
-
ObfuscationIssues.value,
|
|
47
|
-
DevMode.value,
|
|
48
|
-
Malware.value,
|
|
49
|
-
ADBEnabled.value,
|
|
50
|
-
Screenshot.value,
|
|
51
|
-
ScreenRecording.value,
|
|
52
|
-
MultiInstance.value
|
|
53
|
-
)
|
|
54
|
-
)
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","Threat","AppIntegrity","PrivilegedAccess","Debug","Hooks","Passcode","Simulator","SecureHardwareNotAvailable","SystemVPN","DeviceBinding","DeviceID","UnofficialStore","ObfuscationIssues","DevMode","Malware","ADBEnabled","Screenshot","ScreenRecording","MultiInstance","constructor","value","getValues","Platform","OS","exports"],"sourceRoot":"../../src","sources":["threat.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,MAAM,CAAC;EAGlB,OAAOC,YAAY,GAAG,IAAID,MAAM,CAAC,CAAC,CAAC;EACnC,OAAOE,gBAAgB,GAAG,IAAIF,MAAM,CAAC,CAAC,CAAC;EACvC,OAAOG,KAAK,GAAG,IAAIH,MAAM,CAAC,CAAC,CAAC;EAC5B,OAAOI,KAAK,GAAG,IAAIJ,MAAM,CAAC,CAAC,CAAC;EAC5B,OAAOK,QAAQ,GAAG,IAAIL,MAAM,CAAC,CAAC,CAAC;EAC/B,OAAOM,SAAS,GAAG,IAAIN,MAAM,CAAC,CAAC,CAAC;EAChC,OAAOO,0BAA0B,GAAG,IAAIP,MAAM,CAAC,CAAC,CAAC;EACjD,OAAOQ,SAAS,GAAG,IAAIR,MAAM,CAAC,CAAC,CAAC;EAChC,OAAOS,aAAa,GAAG,IAAIT,MAAM,CAAC,CAAC,CAAC;EACpC,OAAOU,QAAQ,GAAG,IAAIV,MAAM,CAAC,CAAC,CAAC;EAC/B,OAAOW,eAAe,GAAG,IAAIX,MAAM,CAAC,CAAC,CAAC;EACtC,OAAOY,iBAAiB,GAAG,IAAIZ,MAAM,CAAC,CAAC,CAAC;EACxC,OAAOa,OAAO,GAAG,IAAIb,MAAM,CAAC,CAAC,CAAC;EAC9B,OAAOc,OAAO,GAAG,IAAId,MAAM,CAAC,CAAC,CAAC;EAC9B,OAAOe,UAAU,GAAG,IAAIf,MAAM,CAAC,CAAC,CAAC;EACjC,OAAOgB,UAAU,GAAG,IAAIhB,MAAM,CAAC,CAAC,CAAC;EACjC,OAAOiB,eAAe,GAAG,IAAIjB,MAAM,CAAC,CAAC,CAAC;EACtC,OAAOkB,aAAa,GAAG,IAAIlB,MAAM,CAAC,CAAC,CAAC;EAEpCmB,WAAWA,CAACC,KAAa,EAAE;IACzB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;EAEA,OAAOC,SAASA,CAAA,EAAa;IAC3B,OAAOC,qBAAQ,CAACC,EAAE,KAAK,SAAS,GAC5B,CACE,IAAI,CAACtB,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,SAAS,EACd,IAAI,CAACC,aAAa,EAClB,IAAI,CAACE,eAAe,EACpB,IAAI,CAACC,iBAAiB,EACtB,IAAI,CAACC,OAAO,EACZ,IAAI,CAACC,OAAO,EACZ,IAAI,CAACC,UAAU,EACf,IAAI,CAACC,UAAU,EACf,IAAI,CAACC,eAAe,EACpB,IAAI,CAACC,aAAa,CACnB,GACD,CACE,IAAI,CAACjB,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,SAAS,EACd,IAAI,CAACC,aAAa,EAClB,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,eAAe,EACpB,IAAI,CAACK,UAAU,EACf,IAAI,CAACC,eAAe,CACrB;EACP;AACF;AAACO,OAAA,CAAAxB,MAAA,GAAAA,MAAA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"","ignoreList":[]}
|
package/lib/commonjs/utils.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.itemsHaveType = exports.getThreatCount = void 0;
|
|
7
|
-
var _threat = require("./threat");
|
|
8
|
-
const getThreatCount = () => {
|
|
9
|
-
return _threat.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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_threat","require","getThreatCount","Threat","getValues","length","exports","itemsHaveType","data","desidedType","every","item"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,cAAc,GAAGA,CAAA,KAAc;EAC1C,OAAOC,cAAM,CAACC,SAAS,CAAC,CAAC,CAACC,MAAM;AAClC,CAAC;AAACC,OAAA,CAAAJ,cAAA,GAAAA,cAAA;AAEK,MAAMK,aAAa,GAAGA,CAACC,IAAW,EAAEC,WAAmB,KAAK;EACjE,OAAOD,IAAI,CAACE,KAAK,CAAEC,IAAI,IAAK,OAAOA,IAAI,KAAKF,WAAW,CAAC;AAC1D,CAAC;AAACH,OAAA,CAAAC,aAAA,GAAAA,aAAA","ignoreList":[]}
|
package/lib/module/threat.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","Threat","AppIntegrity","PrivilegedAccess","Debug","Hooks","Passcode","Simulator","SecureHardwareNotAvailable","SystemVPN","DeviceBinding","DeviceID","UnofficialStore","ObfuscationIssues","DevMode","Malware","ADBEnabled","Screenshot","ScreenRecording","MultiInstance","constructor","value","getValues","OS"],"sourceRoot":"../../src","sources":["threat.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,MAAM,CAAC;EAGlB,OAAOC,YAAY,GAAG,IAAID,MAAM,CAAC,CAAC,CAAC;EACnC,OAAOE,gBAAgB,GAAG,IAAIF,MAAM,CAAC,CAAC,CAAC;EACvC,OAAOG,KAAK,GAAG,IAAIH,MAAM,CAAC,CAAC,CAAC;EAC5B,OAAOI,KAAK,GAAG,IAAIJ,MAAM,CAAC,CAAC,CAAC;EAC5B,OAAOK,QAAQ,GAAG,IAAIL,MAAM,CAAC,CAAC,CAAC;EAC/B,OAAOM,SAAS,GAAG,IAAIN,MAAM,CAAC,CAAC,CAAC;EAChC,OAAOO,0BAA0B,GAAG,IAAIP,MAAM,CAAC,CAAC,CAAC;EACjD,OAAOQ,SAAS,GAAG,IAAIR,MAAM,CAAC,CAAC,CAAC;EAChC,OAAOS,aAAa,GAAG,IAAIT,MAAM,CAAC,CAAC,CAAC;EACpC,OAAOU,QAAQ,GAAG,IAAIV,MAAM,CAAC,CAAC,CAAC;EAC/B,OAAOW,eAAe,GAAG,IAAIX,MAAM,CAAC,CAAC,CAAC;EACtC,OAAOY,iBAAiB,GAAG,IAAIZ,MAAM,CAAC,CAAC,CAAC;EACxC,OAAOa,OAAO,GAAG,IAAIb,MAAM,CAAC,CAAC,CAAC;EAC9B,OAAOc,OAAO,GAAG,IAAId,MAAM,CAAC,CAAC,CAAC;EAC9B,OAAOe,UAAU,GAAG,IAAIf,MAAM,CAAC,CAAC,CAAC;EACjC,OAAOgB,UAAU,GAAG,IAAIhB,MAAM,CAAC,CAAC,CAAC;EACjC,OAAOiB,eAAe,GAAG,IAAIjB,MAAM,CAAC,CAAC,CAAC;EACtC,OAAOkB,aAAa,GAAG,IAAIlB,MAAM,CAAC,CAAC,CAAC;EAEpCmB,WAAWA,CAACC,KAAa,EAAE;IACzB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;EAEA,OAAOC,SAASA,CAAA,EAAa;IAC3B,OAAOtB,QAAQ,CAACuB,EAAE,KAAK,SAAS,GAC5B,CACE,IAAI,CAACrB,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,SAAS,EACd,IAAI,CAACC,aAAa,EAClB,IAAI,CAACE,eAAe,EACpB,IAAI,CAACC,iBAAiB,EACtB,IAAI,CAACC,OAAO,EACZ,IAAI,CAACC,OAAO,EACZ,IAAI,CAACC,UAAU,EACf,IAAI,CAACC,UAAU,EACf,IAAI,CAACC,eAAe,EACpB,IAAI,CAACC,aAAa,CACnB,GACD,CACE,IAAI,CAACjB,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,SAAS,EACd,IAAI,CAACC,aAAa,EAClB,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,eAAe,EACpB,IAAI,CAACK,UAAU,EACf,IAAI,CAACC,eAAe,CACrB;EACP;AACF","ignoreList":[]}
|
package/lib/module/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"","ignoreList":[]}
|
package/lib/module/utils.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Threat } from './threat';
|
|
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
|
package/lib/module/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Threat","getThreatCount","getValues","length","itemsHaveType","data","desidedType","every","item"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,UAAU;AAEjC,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAc;EAC1C,OAAOD,MAAM,CAACE,SAAS,CAAC,CAAC,CAACC,MAAM;AAClC,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGA,CAACC,IAAW,EAAEC,WAAmB,KAAK;EACjE,OAAOD,IAAI,CAACE,KAAK,CAAEC,IAAI,IAAK,OAAOA,IAAI,KAAKF,WAAW,CAAC;AAC1D,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"threat.d.ts","sourceRoot":"","sources":["../../../src/threat.ts"],"names":[],"mappings":"AAEA,qBAAa,MAAM;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,YAAY,SAAiB;IACpC,MAAM,CAAC,gBAAgB,SAAiB;IACxC,MAAM,CAAC,KAAK,SAAiB;IAC7B,MAAM,CAAC,KAAK,SAAiB;IAC7B,MAAM,CAAC,QAAQ,SAAiB;IAChC,MAAM,CAAC,SAAS,SAAiB;IACjC,MAAM,CAAC,0BAA0B,SAAiB;IAClD,MAAM,CAAC,SAAS,SAAiB;IACjC,MAAM,CAAC,aAAa,SAAiB;IACrC,MAAM,CAAC,QAAQ,SAAiB;IAChC,MAAM,CAAC,eAAe,SAAiB;IACvC,MAAM,CAAC,iBAAiB,SAAiB;IACzC,MAAM,CAAC,OAAO,SAAiB;IAC/B,MAAM,CAAC,OAAO,SAAiB;IAC/B,MAAM,CAAC,UAAU,SAAiB;IAClC,MAAM,CAAC,UAAU,SAAiB;IAClC,MAAM,CAAC,eAAe,SAAiB;IACvC,MAAM,CAAC,aAAa,SAAiB;gBAEzB,KAAK,EAAE,MAAM;IAIzB,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE;CAqC7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACnC,8BAA8B,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,0BAA0B,CAAC,EAAE,MAAM,GAAG,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,KAAK,GAAG,CAAC;IACvD,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC;CAC3B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,QAAO,MAEjC,CAAC;AAEF,eAAO,MAAM,aAAa,SAAU,GAAG,EAAE,eAAe,MAAM,YAE7D,CAAC"}
|
package/src/utils.ts
DELETED
|
File without changes
|
|
File without changes
|