@appmetrica/react-native-analytics 3.5.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +12 -16
- package/android/src/main/AndroidManifest.xml +1 -1
- package/android/src/main/AndroidManifestNew.xml +1 -1
- package/android/src/main/java/io/appmetrica/analytics/reactnative/AppMetricaModule.java +56 -49
- package/android/src/main/java/io/appmetrica/analytics/reactnative/AppMetricaPackage.java +26 -14
- package/android/src/main/java/io/appmetrica/analytics/reactnative/ReactNativeDeferredDeeplinkListener.java +1 -3
- package/android/src/main/java/io/appmetrica/analytics/reactnative/ReactNativeDeferredDeeplinkParametersListener.java +4 -5
- package/android/src/main/java/io/appmetrica/analytics/reactnative/ReactNativeStartupParamsListener.java +23 -7
- package/android/src/main/java/io/appmetrica/analytics/reactnative/ReporterModule.java +17 -18
- package/android/src/main/java/io/appmetrica/analytics/reactnative/Utils.java +7 -27
- package/appmetrica-react-native-analytics.podspec +2 -23
- package/ios/AMARNAppMetrica.h +6 -2
- package/ios/{AMARNAppMetrica.m → AMARNAppMetrica.mm} +65 -39
- package/ios/{AMARNAppMetricaUtils.m → AMARNAppMetricaUtils.mm} +1 -1
- package/ios/AMARNReporter.h +6 -2
- package/ios/{AMARNReporter.m → AMARNReporter.mm} +24 -20
- package/ios/AMARNStartupParamsUtils.mm +33 -0
- package/lib/commonjs/deferredDeeplink.js.map +1 -1
- package/lib/commonjs/ecommerce.js +1 -1
- package/lib/commonjs/ecommerce.js.map +1 -1
- package/lib/commonjs/error.js +1 -1
- package/lib/commonjs/error.js.map +1 -1
- package/lib/commonjs/externalAttribution.js.map +1 -1
- package/lib/commonjs/index.js +63 -52
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/reporter.js +17 -25
- package/lib/commonjs/reporter.js.map +1 -1
- package/lib/commonjs/revenue.js.map +1 -1
- package/lib/commonjs/specs/NativeAppMetrica.js +9 -0
- package/lib/commonjs/specs/NativeAppMetrica.js.map +1 -0
- package/lib/commonjs/specs/NativeReporter.js +9 -0
- package/lib/commonjs/specs/NativeReporter.js.map +1 -0
- package/lib/commonjs/types.js +27 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/commonjs/userProfile.js.map +1 -1
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/deferredDeeplink.js +1 -1
- package/lib/module/deferredDeeplink.js.map +1 -1
- package/lib/module/ecommerce.js +3 -1
- package/lib/module/ecommerce.js.map +1 -1
- package/lib/module/error.js +3 -1
- package/lib/module/error.js.map +1 -1
- package/lib/module/externalAttribution.js +2 -0
- package/lib/module/externalAttribution.js.map +1 -1
- package/lib/module/index.js +24 -18
- package/lib/module/index.js.map +1 -1
- package/lib/module/reporter.js +3 -10
- package/lib/module/reporter.js.map +1 -1
- package/lib/module/revenue.js +2 -0
- package/lib/module/revenue.js.map +1 -1
- package/lib/module/specs/NativeAppMetrica.js +5 -0
- package/lib/module/specs/NativeAppMetrica.js.map +1 -0
- package/lib/module/specs/NativeReporter.js +5 -0
- package/lib/module/specs/NativeReporter.js.map +1 -0
- package/lib/module/types.js +21 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/userProfile.js +2 -0
- package/lib/module/userProfile.js.map +1 -1
- package/lib/module/utils.js +2 -0
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/src/ecommerce.d.ts +1 -1
- package/lib/typescript/src/ecommerce.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +7 -50
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/reporter.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeAppMetrica.d.ts +41 -0
- package/lib/typescript/src/specs/NativeAppMetrica.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeReporter.d.ts +21 -0
- package/lib/typescript/src/specs/NativeReporter.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +64 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/package.json +22 -8
- package/src/ecommerce.ts +2 -2
- package/src/index.ts +36 -82
- package/src/reporter.ts +1 -18
- package/src/specs/NativeAppMetrica.ts +52 -0
- package/src/specs/NativeReporter.ts +22 -0
- package/src/types.ts +95 -0
- package/ios/AMARNStartupParamsUtils.m +0 -53
- /package/ios/{AMARNExceptionSerializer.m → AMARNExceptionSerializer.mm} +0 -0
- /package/ios/{AMARNExternalAttribution.m → AMARNExternalAttribution.mm} +0 -0
- /package/ios/{AMARNUserProfileSerializer.m → AMARNUserProfileSerializer.mm} +0 -0
|
@@ -16,28 +16,7 @@ Pod::Spec.new do |s|
|
|
|
16
16
|
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm}"
|
|
18
18
|
|
|
19
|
-
s.dependency "AppMetricaAnalytics", "5.
|
|
19
|
+
s.dependency "AppMetricaAnalytics", "5.16.0"
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
# See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
|
|
23
|
-
if respond_to?(:install_modules_dependencies, true)
|
|
24
|
-
install_modules_dependencies(s)
|
|
25
|
-
else
|
|
26
|
-
s.dependency "React-Core"
|
|
27
|
-
|
|
28
|
-
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
29
|
-
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
|
30
|
-
s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
|
|
31
|
-
s.pod_target_xcconfig = {
|
|
32
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
|
|
33
|
-
"OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
|
|
34
|
-
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
|
|
35
|
-
}
|
|
36
|
-
s.dependency "React-Codegen"
|
|
37
|
-
s.dependency "RCT-Folly"
|
|
38
|
-
s.dependency "RCTRequired"
|
|
39
|
-
s.dependency "RCTTypeSafety"
|
|
40
|
-
s.dependency "ReactCommon/turbomodule/core"
|
|
41
|
-
end
|
|
42
|
-
end
|
|
21
|
+
install_modules_dependencies(s)
|
|
43
22
|
end
|
package/ios/AMARNAppMetrica.h
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
#import <AppMetricaNativeSpec/AppMetricaNativeSpec.h>
|
|
1
3
|
|
|
2
|
-
|
|
4
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
3
5
|
|
|
4
|
-
@interface AMARNAppMetrica : NSObject <
|
|
6
|
+
@interface AMARNAppMetrica : NSObject <NativeAppMetricaSpec>
|
|
5
7
|
|
|
6
8
|
@end
|
|
9
|
+
|
|
10
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -9,46 +9,48 @@
|
|
|
9
9
|
|
|
10
10
|
@implementation AMARNAppMetrica
|
|
11
11
|
|
|
12
|
-
@synthesize methodQueue = _methodQueue;
|
|
13
|
-
|
|
14
12
|
RCT_EXPORT_MODULE(AppMetrica)
|
|
15
13
|
|
|
16
|
-
|
|
14
|
+
- (void)activate:(NSDictionary *)configDict
|
|
17
15
|
{
|
|
18
16
|
[[AMAAppMetricaCrashes crashes] setConfiguration:[AMARNAppMetricaUtils crashConfigurationForDictionary:configDict]];
|
|
19
17
|
[AMAAppMetrica activateWithConfiguration:[AMARNAppMetricaUtils configurationForDictionary:configDict]];
|
|
20
18
|
}
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
- (NSNumber *)getLibraryApiLevel
|
|
23
21
|
{
|
|
24
22
|
// It does nothing for iOS
|
|
23
|
+
return 0;
|
|
25
24
|
}
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
- (NSString *)getLibraryVersion
|
|
28
27
|
{
|
|
29
|
-
|
|
28
|
+
return [AMAAppMetrica libraryVersion];
|
|
30
29
|
}
|
|
31
30
|
|
|
32
|
-
|
|
31
|
+
- (void)pauseSession
|
|
33
32
|
{
|
|
34
33
|
[AMAAppMetrica pauseSession];
|
|
35
34
|
}
|
|
36
35
|
|
|
37
|
-
|
|
36
|
+
- (void)reportAppOpen:(NSString *)deeplink
|
|
38
37
|
{
|
|
39
38
|
[AMAAppMetrica trackOpeningURL:[NSURL URLWithString:deeplink]];
|
|
40
39
|
}
|
|
41
40
|
|
|
42
|
-
|
|
41
|
+
- (void)reportError:(NSString *)identifier
|
|
42
|
+
message:(NSString *)message
|
|
43
|
+
error:(NSDictionary *)error {
|
|
43
44
|
[[[AMAAppMetricaCrashes crashes] pluginExtension] reportErrorWithIdentifier:identifier
|
|
44
45
|
message:message
|
|
45
|
-
details:amarn_exceptionForDictionary(
|
|
46
|
+
details:amarn_exceptionForDictionary(error)
|
|
46
47
|
onFailure:^(NSError *error) {
|
|
47
48
|
NSLog(@"Failed to report error to AppMetrica: %@", [error localizedDescription]);
|
|
48
49
|
}];
|
|
49
50
|
}
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+
- (void)reportEvent:(NSString *)eventName
|
|
53
|
+
attributes:(NSDictionary *)attributes
|
|
52
54
|
{
|
|
53
55
|
if (attributes == nil) {
|
|
54
56
|
[AMAAppMetrica reportEvent:eventName onFailure:^(NSError *error) {
|
|
@@ -61,72 +63,74 @@ RCT_EXPORT_METHOD(reportEvent:(NSString *)eventName:(NSDictionary *)attributes)
|
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
- (void)requestStartupParams:(RCTResponseSenderBlock)listener
|
|
67
|
+
identifiers:(NSArray *)identifiers
|
|
65
68
|
{
|
|
66
69
|
AMAIdentifiersCompletionBlock block = ^(NSDictionary<AMAStartupKey,id> * _Nullable identifiers, NSError * _Nullable error) {
|
|
67
70
|
NSDictionary *result = [AMARNStartupParamsUtils toStrartupParamsResult:identifiers];
|
|
68
71
|
NSString *errorStr = [AMARNStartupParamsUtils stringFromRequestStartupParamsError:error];
|
|
69
72
|
listener(@[[self wrap:result], [self wrap:errorStr]]);
|
|
70
73
|
};
|
|
71
|
-
[AMAAppMetrica requestStartupIdentifiersWithKeys:
|
|
74
|
+
[AMAAppMetrica requestStartupIdentifiersWithKeys:identifiers completionQueue:nil completionBlock:block];
|
|
72
75
|
}
|
|
73
76
|
|
|
74
|
-
|
|
77
|
+
- (void)resumeSession
|
|
75
78
|
{
|
|
76
79
|
[AMAAppMetrica resumeSession];
|
|
77
80
|
}
|
|
78
81
|
|
|
79
|
-
|
|
82
|
+
- (void)sendEventsBuffer
|
|
80
83
|
{
|
|
81
84
|
[AMAAppMetrica sendEventsBuffer];
|
|
82
85
|
}
|
|
83
86
|
|
|
84
|
-
|
|
87
|
+
- (void)setLocation:(NSDictionary *)locationDict
|
|
85
88
|
{
|
|
86
89
|
AMAAppMetrica.customLocation = [AMARNAppMetricaUtils locationForDictionary:locationDict];
|
|
87
90
|
}
|
|
88
91
|
|
|
89
|
-
|
|
92
|
+
- (void)setLocationTracking:(BOOL)enabled
|
|
90
93
|
{
|
|
91
94
|
AMAAppMetrica.locationTrackingEnabled = enabled;
|
|
92
95
|
}
|
|
93
96
|
|
|
94
|
-
|
|
97
|
+
- (void)setDataSendingEnabled:(BOOL)enabled
|
|
95
98
|
{
|
|
96
99
|
[AMAAppMetrica setDataSendingEnabled:enabled];
|
|
97
100
|
}
|
|
98
101
|
|
|
99
|
-
|
|
102
|
+
- (void)reportECommerce:(NSDictionary *)ecommerceDict
|
|
100
103
|
{
|
|
101
104
|
[AMAAppMetrica reportECommerce:[AMARNAppMetricaUtils ecommerceForDict:ecommerceDict] onFailure:nil];
|
|
102
105
|
}
|
|
103
106
|
|
|
104
|
-
|
|
107
|
+
- (void)setUserProfileID:(NSString *)userProfileID
|
|
105
108
|
{
|
|
106
109
|
[AMAAppMetrica setUserProfileID:userProfileID];
|
|
107
110
|
}
|
|
108
111
|
|
|
109
|
-
|
|
112
|
+
- (void)reportRevenue:(NSDictionary *)revenueDict
|
|
110
113
|
{
|
|
111
114
|
[AMAAppMetrica reportRevenue:[AMARNAppMetricaUtils revenueForDict:revenueDict] onFailure:nil];
|
|
112
115
|
}
|
|
113
116
|
|
|
114
|
-
|
|
117
|
+
- (void)reportAdRevenue:(NSDictionary *)revenueDict
|
|
115
118
|
{
|
|
116
119
|
[AMAAppMetrica reportAdRevenue:[AMARNAppMetricaUtils adRevenueForDict:revenueDict] onFailure:nil];
|
|
117
120
|
}
|
|
118
121
|
|
|
119
|
-
|
|
122
|
+
- (void)reportUserProfile:(NSDictionary *)userProfileDict
|
|
120
123
|
{
|
|
121
124
|
[AMAAppMetrica reportUserProfile:[AMARNAppMetricaUtils userProfileForDict:userProfileDict] onFailure:nil];
|
|
122
125
|
}
|
|
123
126
|
|
|
124
|
-
|
|
127
|
+
- (void)putErrorEnvironmentValue:(NSString *)key
|
|
128
|
+
value:(NSString *)value
|
|
125
129
|
{
|
|
126
130
|
[[AMAAppMetricaCrashes crashes] setErrorEnvironmentValue:value forKey:key];
|
|
127
131
|
}
|
|
128
132
|
|
|
129
|
-
|
|
133
|
+
- (void)reportExternalAttribution:(NSDictionary *)externalAttributionsDict
|
|
130
134
|
{
|
|
131
135
|
|
|
132
136
|
NSString *sourceStr = externalAttributionsDict[@"source"];
|
|
@@ -143,7 +147,8 @@ RCT_EXPORT_METHOD(reportExternalAttribution:(NSDictionary *)externalAttributions
|
|
|
143
147
|
}];
|
|
144
148
|
}
|
|
145
149
|
|
|
146
|
-
|
|
150
|
+
- (void)reportErrorWithoutIdentifier:(NSString * _Nullable)message
|
|
151
|
+
error:(NSDictionary *)error
|
|
147
152
|
{
|
|
148
153
|
AMAPluginErrorDetails *details = amarn_exceptionForDictionary(error);
|
|
149
154
|
if (details.backtrace.count == 0) {
|
|
@@ -160,7 +165,7 @@ RCT_EXPORT_METHOD(reportErrorWithoutIdentifier:(NSString *)message:(NSDictionary
|
|
|
160
165
|
}
|
|
161
166
|
}
|
|
162
167
|
|
|
163
|
-
|
|
168
|
+
- (void)reportUnhandledException:(NSDictionary *)error
|
|
164
169
|
{
|
|
165
170
|
[[[AMAAppMetricaCrashes crashes] pluginExtension] reportUnhandledException:amarn_exceptionForDictionary(error)
|
|
166
171
|
onFailure:^(NSError *error) {
|
|
@@ -168,46 +173,63 @@ RCT_EXPORT_METHOD(reportUnhandledException:(NSDictionary *)error)
|
|
|
168
173
|
}];
|
|
169
174
|
}
|
|
170
175
|
|
|
171
|
-
|
|
176
|
+
- (void)putAppEnvironmentValue:(NSString *)key
|
|
177
|
+
value:(NSString *)value
|
|
172
178
|
{
|
|
173
179
|
[AMAAppMetrica setAppEnvironmentValue:value forKey:key];
|
|
174
180
|
}
|
|
175
181
|
|
|
176
|
-
|
|
182
|
+
- (void)clearAppEnvironment
|
|
177
183
|
{
|
|
178
184
|
[AMAAppMetrica clearAppEnvironment];
|
|
179
185
|
}
|
|
180
186
|
|
|
181
|
-
|
|
187
|
+
- (void)activateReporter:(NSDictionary *)configDict
|
|
182
188
|
{
|
|
183
189
|
[AMAAppMetrica activateReporterWithConfiguration:[AMARNAppMetricaUtils reporterConfigurationForDictionary:configDict]];
|
|
184
190
|
}
|
|
185
191
|
|
|
186
|
-
|
|
192
|
+
- (void)touchReporter:(NSString *)apiKey
|
|
187
193
|
{
|
|
188
194
|
[AMAAppMetrica reporterForAPIKey:apiKey];
|
|
189
195
|
}
|
|
190
196
|
|
|
191
|
-
|
|
197
|
+
- (NSString *)getDeviceId
|
|
192
198
|
{
|
|
193
|
-
|
|
199
|
+
return [AMAAppMetrica deviceID];
|
|
194
200
|
}
|
|
195
201
|
|
|
196
|
-
|
|
202
|
+
- (NSString *)getUuid
|
|
197
203
|
{
|
|
198
|
-
|
|
204
|
+
return [AMAAppMetrica UUID];
|
|
199
205
|
}
|
|
200
206
|
|
|
201
|
-
|
|
207
|
+
- (void)requestDeferredDeeplink:(RCTResponseSenderBlock)onFailure
|
|
208
|
+
onSuccess:(RCTResponseSenderBlock)onSuccess
|
|
202
209
|
{
|
|
203
|
-
|
|
210
|
+
// It does nothing for iOS
|
|
204
211
|
}
|
|
205
212
|
|
|
206
|
-
|
|
213
|
+
- (void)requestDeferredDeeplinkParameters:(RCTResponseSenderBlock)onFailure
|
|
214
|
+
onSuccess:(RCTResponseSenderBlock)onSuccess
|
|
207
215
|
{
|
|
208
|
-
|
|
216
|
+
// It does nothing for iOS
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
- (id)constantsToExport {
|
|
220
|
+
return @{
|
|
221
|
+
@"DEVICE_ID_HASH_KEY": kAMADeviceIDHashKey,
|
|
222
|
+
@"DEVICE_ID_KEY": kAMADeviceIDKey,
|
|
223
|
+
@"UUID_KEY": kAMAUUIDKey
|
|
224
|
+
};
|
|
209
225
|
}
|
|
210
226
|
|
|
227
|
+
|
|
228
|
+
- (id)getConstants {
|
|
229
|
+
return [self constantsToExport];
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
|
|
211
233
|
- (NSObject *)wrap:(NSObject *)value
|
|
212
234
|
{
|
|
213
235
|
if (value == nil) {
|
|
@@ -216,4 +238,8 @@ RCT_EXPORT_METHOD(requestDeferredDeeplinkParameters:(RCTResponseSenderBlock)onFa
|
|
|
216
238
|
return value;
|
|
217
239
|
}
|
|
218
240
|
|
|
241
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params {
|
|
242
|
+
return std::make_shared<facebook::react::NativeAppMetricaSpecJSI>(params);
|
|
243
|
+
}
|
|
244
|
+
|
|
219
245
|
@end
|
|
@@ -246,7 +246,7 @@
|
|
|
246
246
|
return nil;
|
|
247
247
|
}
|
|
248
248
|
NSString *type = ecommerceDict[@"ecommerceEvent"];
|
|
249
|
-
if ([type isEqualToString:@"
|
|
249
|
+
if ([type isEqualToString:@"showScreenEvent"]) {
|
|
250
250
|
NSDictionary *screenDict = ecommerceDict[@"ecommerceScreen"];
|
|
251
251
|
AMAECommerceScreen *screen = [self ecommerceScreenForDict:screenDict];
|
|
252
252
|
AMAECommerce *event = [AMAECommerce showScreenEventWithScreen:screen];
|
package/ios/AMARNReporter.h
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
|
|
2
|
-
#import <
|
|
2
|
+
#import <AppMetricaNativeSpec/AppMetricaNativeSpec.h>
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
5
|
+
|
|
6
|
+
@interface AMARNReporter : NSObject <NativeReporterSpec>
|
|
5
7
|
|
|
6
8
|
@end
|
|
9
|
+
|
|
10
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -10,18 +10,18 @@
|
|
|
10
10
|
|
|
11
11
|
RCT_EXPORT_MODULE(AppMetricaReporter)
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
- (void)reportError:(nonnull NSString *)apiKey identifier:(nonnull NSString *)identifier message:(nonnull NSString *)message error:(nonnull NSDictionary *)error
|
|
14
14
|
{
|
|
15
15
|
id<AMAAppMetricaCrashReporting> reporter = [[AMAAppMetricaCrashes crashes] reporterForAPIKey:apiKey];
|
|
16
16
|
[[reporter pluginExtension] reportErrorWithIdentifier:identifier
|
|
17
17
|
message:message
|
|
18
|
-
details:amarn_exceptionForDictionary(
|
|
18
|
+
details:amarn_exceptionForDictionary(error)
|
|
19
19
|
onFailure:^(NSError *error) {
|
|
20
20
|
NSLog(@"Failed to report error to AppMetrica: %@", [error localizedDescription]);
|
|
21
21
|
}];
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
- (void)reportErrorWithoutIdentifier:(nonnull NSString *)apiKey message:(NSString * _Nullable)message error:(nonnull NSDictionary *)error
|
|
25
25
|
{
|
|
26
26
|
id<AMAAppMetricaCrashReporting> reporter = [[AMAAppMetricaCrashes crashes] reporterForAPIKey:apiKey];
|
|
27
27
|
AMAPluginErrorDetails *details = amarn_exceptionForDictionary(error);
|
|
@@ -39,7 +39,7 @@ RCT_EXPORT_METHOD(reportErrorWithoutIdentifier:(NSString *)apiKey:(NSString *)me
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
- (void)reportUnhandledException:(nonnull NSString *)apiKey error:(nonnull NSDictionary *)error
|
|
43
43
|
{
|
|
44
44
|
id<AMAAppMetricaCrashReporting> reporter = [[AMAAppMetricaCrashes crashes] reporterForAPIKey:apiKey];
|
|
45
45
|
[[reporter pluginExtension] reportUnhandledException:amarn_exceptionForDictionary(error)
|
|
@@ -48,7 +48,7 @@ RCT_EXPORT_METHOD(reportUnhandledException:(NSString *)apiKey:(NSDictionary *)er
|
|
|
48
48
|
}];
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
- (void)reportEvent:(nonnull NSString *)apiKey eventName:(nonnull NSString *)eventName attributes:(nonnull NSDictionary *)attributes
|
|
52
52
|
{
|
|
53
53
|
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
54
54
|
if (attributes == nil) {
|
|
@@ -62,70 +62,74 @@ RCT_EXPORT_METHOD(reportEvent:(NSString *)apiKey:(NSString *)eventName:(NSDictio
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
- (void)pauseSession:(NSString *)apiKey
|
|
66
66
|
{
|
|
67
67
|
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
68
68
|
[reporter pauseSession];
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
- (void)resumeSession:(NSString *)apiKey
|
|
72
72
|
{
|
|
73
73
|
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
74
74
|
[reporter resumeSession];
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
- (void)sendEventsBuffer:(NSString *)apiKey
|
|
78
78
|
{
|
|
79
79
|
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
80
80
|
[reporter sendEventsBuffer];
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
- (void)putAppEnvironmentValue:(nonnull NSString *)apiKey key:(nonnull NSString *)key value:(nonnull NSString *)value
|
|
84
84
|
{
|
|
85
85
|
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
86
86
|
[reporter setAppEnvironmentValue:value forKey:key];
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
- (void)clearAppEnvironment:(NSString *)apiKey
|
|
90
90
|
{
|
|
91
91
|
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
92
92
|
[reporter clearAppEnvironment];
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
- (void)setUserProfileID:(nonnull NSString *)apiKey userProfileID:(nonnull NSString *)userProfileID
|
|
96
96
|
{
|
|
97
97
|
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
98
98
|
[reporter setUserProfileID:userProfileID];
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
|
|
101
|
+
- (void)setDataSendingEnabled:(nonnull NSString *)apiKey enabled:(BOOL)enabled
|
|
102
102
|
{
|
|
103
103
|
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
104
104
|
[reporter setDataSendingEnabled:enabled];
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
- (void)reportUserProfile:(nonnull NSString *)apiKey userProfile:(nonnull NSDictionary *)userProfile
|
|
108
108
|
{
|
|
109
109
|
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
110
|
-
[reporter reportUserProfile:[AMARNAppMetricaUtils userProfileForDict:
|
|
110
|
+
[reporter reportUserProfile:[AMARNAppMetricaUtils userProfileForDict:userProfile] onFailure:nil];
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
- (void)reportRevenue:(nonnull NSString *)apiKey revenue:(nonnull NSDictionary *)revenue
|
|
114
114
|
{
|
|
115
115
|
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
116
|
-
[reporter reportRevenue:[AMARNAppMetricaUtils revenueForDict:
|
|
116
|
+
[reporter reportRevenue:[AMARNAppMetricaUtils revenueForDict:revenue] onFailure:nil];
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
|
|
119
|
+
- (void)reportAdRevenue:(nonnull NSString *)apiKey adRevenue:(nonnull NSDictionary *)adRevenue
|
|
120
120
|
{
|
|
121
121
|
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
122
|
-
[reporter reportAdRevenue:[AMARNAppMetricaUtils adRevenueForDict:
|
|
122
|
+
[reporter reportAdRevenue:[AMARNAppMetricaUtils adRevenueForDict:adRevenue] onFailure:nil];
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
|
|
125
|
+
- (void)reportECommerce:(nonnull NSString *)apiKey event:(nonnull NSDictionary *)event
|
|
126
126
|
{
|
|
127
127
|
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
128
|
-
[reporter reportECommerce:[AMARNAppMetricaUtils ecommerceForDict:
|
|
128
|
+
[reporter reportECommerce:[AMARNAppMetricaUtils ecommerceForDict:event] onFailure:nil];
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params {
|
|
132
|
+
return std::make_shared<facebook::react::NativeReporterSpecJSI>(params);
|
|
129
133
|
}
|
|
130
134
|
|
|
131
135
|
@end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
|
|
2
|
+
#import "AMARNStartupParamsUtils.h"
|
|
3
|
+
#import <AppMetricaCore/AppMetricaCore.h>
|
|
4
|
+
|
|
5
|
+
@implementation AMARNStartupParamsUtils
|
|
6
|
+
|
|
7
|
+
+ (NSDictionary *)toStrartupParamsResult:(NSDictionary *)resultDict
|
|
8
|
+
{
|
|
9
|
+
if (resultDict == nil) {
|
|
10
|
+
return nil;
|
|
11
|
+
}
|
|
12
|
+
NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init];
|
|
13
|
+
for (NSString *key in resultDict) {
|
|
14
|
+
parameters[key] = @{
|
|
15
|
+
@"id": resultDict[key],
|
|
16
|
+
@"status": @"OK",
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return parameters;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
+ (NSString *)stringFromRequestStartupParamsError:(NSError *)error
|
|
23
|
+
{
|
|
24
|
+
if (error == nil) {
|
|
25
|
+
return nil;
|
|
26
|
+
}
|
|
27
|
+
if ([error.domain isEqualToString:NSURLErrorDomain]) {
|
|
28
|
+
return @"NETWORK";
|
|
29
|
+
}
|
|
30
|
+
return @"UNKNOWN";
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["deferredDeeplink.ts"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["deferredDeeplink.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_utils","require","ECommerce","showScreenEvent","screen","ecommerceEvent","ecommerceScreen","normalizeECommerceScreen","showProductCardEvent","product","normalizeECommerceProduct","showProductDetailsEvent","referrer","normalizeECommerceReferrer","addCartItemEvent","item","cartItem","normalizeECommerceCartItem","removeCartItemEvent","beginCheckoutEvent","order","normalizeECommerceOrder","purchaseEvent","exports"],"sourceRoot":"../../src","sources":["ecommerce.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAwEO,MAAMC,SAAS,CAAC;EACrB,OAAOC,eAAeA,CAACC,MAAuB,EAAkB;IAC9D,OAAO;MACLC,cAAc,EAAE,
|
|
1
|
+
{"version":3,"names":["_utils","require","ECommerce","showScreenEvent","screen","ecommerceEvent","ecommerceScreen","normalizeECommerceScreen","showProductCardEvent","product","normalizeECommerceProduct","showProductDetailsEvent","referrer","normalizeECommerceReferrer","addCartItemEvent","item","cartItem","normalizeECommerceCartItem","removeCartItemEvent","beginCheckoutEvent","order","normalizeECommerceOrder","purchaseEvent","exports"],"sourceRoot":"../../src","sources":["ecommerce.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAwEO,MAAMC,SAAS,CAAC;EACrB,OAAOC,eAAeA,CAACC,MAAuB,EAAkB;IAC9D,OAAO;MACLC,cAAc,EAAE,iBAAiB;MACjCC,eAAe,EAAE,IAAAC,+BAAwB,EAACH,MAAM;IAClD,CAAC;EACH;EAEA,OAAOI,oBAAoBA,CACzBC,OAAyB,EACzBL,MAAuB,EACP;IAChB,OAAO;MACLC,cAAc,EAAE,sBAAsB;MACtCC,eAAe,EAAE,IAAAC,+BAAwB,EAACH,MAAM,CAAC;MACjDK,OAAO,EAAE,IAAAC,gCAAyB,EAACD,OAAO;IAC5C,CAAC;EACH;EAEA,OAAOE,uBAAuBA,CAC5BF,OAAyB,EACzBG,QAA4B,EACZ;IAChB,OAAO;MACLP,cAAc,EAAE,yBAAyB;MACzCI,OAAO,EAAE,IAAAC,gCAAyB,EAACD,OAAO,CAAC;MAC3CG,QAAQ,EAAE,IAAAC,iCAA0B,EAACD,QAAQ;IAC/C,CAAC;EACH;EAEA,OAAOE,gBAAgBA,CAACC,IAAuB,EAAkB;IAC/D,OAAO;MACLV,cAAc,EAAE,kBAAkB;MAClCW,QAAQ,EAAE,IAAAC,iCAA0B,EAACF,IAAI;IAC3C,CAAC;EACH;EAEA,OAAOG,mBAAmBA,CAACH,IAAuB,EAAkB;IAClE,OAAO;MACLV,cAAc,EAAE,qBAAqB;MACrCW,QAAQ,EAAE,IAAAC,iCAA0B,EAACF,IAAI;IAC3C,CAAC;EACH;EAEA,OAAOI,kBAAkBA,CAACC,KAAqB,EAAkB;IAC/D,OAAO;MACLf,cAAc,EAAE,oBAAoB;MACpCe,KAAK,EAAE,IAAAC,8BAAuB,EAACD,KAAK;IACtC,CAAC;EACH;EAEA,OAAOE,aAAaA,CAACF,KAAqB,EAAkB;IAC1D,OAAO;MACLf,cAAc,EAAE,eAAe;MAC/Be,KAAK,EAAE,IAAAC,8BAAuB,EAACD,KAAK;IACtC,CAAC;EACH;AACF;AAACG,OAAA,CAAArB,SAAA,GAAAA,SAAA","ignoreList":[]}
|
package/lib/commonjs/error.js
CHANGED
|
@@ -39,7 +39,7 @@ function parseStackTrace(stackTrace) {
|
|
|
39
39
|
try {
|
|
40
40
|
const lines = stackTrace.split('\n');
|
|
41
41
|
const array = [];
|
|
42
|
-
lines
|
|
42
|
+
lines?.forEach(line => {
|
|
43
43
|
const item = parseTraceLine(line);
|
|
44
44
|
if (item !== undefined) {
|
|
45
45
|
array.push(item);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","e","__esModule","default","traceRegex","parseTraceLine","line","parts","exec","undefined","fileName","methodName","column","getRNVersion","versions","Platform","constants","reactNativeVersion","major","minor","patch","getReactVersion","React","version","getPluginEnvironment","reactVersion","parseStackTrace","stackTrace","lines","split","array","forEach","item","push","console","log","AppMetricaError","constructor","errorName","message","pluginEnvironment","virtualMachineVersion","withError","error","newError","name","stack","withObject","JSON","stringify","exports"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1B,MAAMG,UAAU,GAAG,qDAAqD;AAExE,SAASC,cAAcA,CAACC,IAAY,EAA8B;EAChE,MAAMC,KAAK,GAAGH,UAAU,CAACI,IAAI,CAACF,IAAI,CAAC;EACnC,IAAIC,KAAK,KAAK,IAAI,EAAE;IAClB,OAAOE,SAAS;EAClB;EACA,OAAO;IACLC,QAAQ,EAAEH,KAAK,CAAC,CAAC,CAAC;IAClBI,UAAU,EAAEJ,KAAK,CAAC,CAAC,CAAC;IACpBK,MAAM,EAAEL,KAAK,CAAC,CAAC,CAAC;IAChBD,IAAI,EAAEC,KAAK,CAAC,CAAC;EACf,CAAC;AACH;AAEA,SAASM,YAAYA,CAAA,EAAW;EAC9B,MAAMC,QAAQ,GAAGC,qBAAQ,CAACC,SAAS,CAACC,kBAAkB;EACtD,OAAOH,QAAQ,CAACI,KAAK,GAAG,GAAG,GAAGJ,QAAQ,CAACK,KAAK,GAAG,GAAG,GAAGL,QAAQ,CAACM,KAAK;AACrE;AAEA,SAASC,eAAeA,CAAA,EAAW;EACjC,OAAOC,cAAK,CAACC,OAAO;AACtB;AAEA,SAASC,oBAAoBA,CAAA,EAAuC;EAClE,OAAO;IACLC,YAAY,EAAEJ,eAAe,CAAC;EAChC,CAAC;AACH;AAEA,SAASK,eAAeA,CACtBC,UAAmB,EACgB;EACnC,IAAIA,UAAU,KAAKlB,SAAS,EAAE;IAC5B,OAAOA,SAAS;EAClB;EACA,IAAI;IACF,MAAMmB,KAAK,GAAGD,UAAU,CAACE,KAAK,CAAC,IAAI,CAAC;IACpC,MAAMC,KAA4B,GAAG,EAAE;IACvCF,KAAK,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","e","__esModule","default","traceRegex","parseTraceLine","line","parts","exec","undefined","fileName","methodName","column","getRNVersion","versions","Platform","constants","reactNativeVersion","major","minor","patch","getReactVersion","React","version","getPluginEnvironment","reactVersion","parseStackTrace","stackTrace","lines","split","array","forEach","item","push","console","log","AppMetricaError","constructor","errorName","message","pluginEnvironment","virtualMachineVersion","withError","error","newError","name","stack","withObject","JSON","stringify","exports"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1B,MAAMG,UAAU,GAAG,qDAAqD;AAExE,SAASC,cAAcA,CAACC,IAAY,EAA8B;EAChE,MAAMC,KAAK,GAAGH,UAAU,CAACI,IAAI,CAACF,IAAI,CAAC;EACnC,IAAIC,KAAK,KAAK,IAAI,EAAE;IAClB,OAAOE,SAAS;EAClB;EACA,OAAO;IACLC,QAAQ,EAAEH,KAAK,CAAC,CAAC,CAAC;IAClBI,UAAU,EAAEJ,KAAK,CAAC,CAAC,CAAC;IACpBK,MAAM,EAAEL,KAAK,CAAC,CAAC,CAAC;IAChBD,IAAI,EAAEC,KAAK,CAAC,CAAC;EACf,CAAC;AACH;AAEA,SAASM,YAAYA,CAAA,EAAW;EAC9B,MAAMC,QAAQ,GAAGC,qBAAQ,CAACC,SAAS,CAACC,kBAAkB;EACtD,OAAOH,QAAQ,CAACI,KAAK,GAAG,GAAG,GAAGJ,QAAQ,CAACK,KAAK,GAAG,GAAG,GAAGL,QAAQ,CAACM,KAAK;AACrE;AAEA,SAASC,eAAeA,CAAA,EAAW;EACjC,OAAOC,cAAK,CAACC,OAAO;AACtB;AAEA,SAASC,oBAAoBA,CAAA,EAAuC;EAClE,OAAO;IACLC,YAAY,EAAEJ,eAAe,CAAC;EAChC,CAAC;AACH;AAEA,SAASK,eAAeA,CACtBC,UAAmB,EACgB;EACnC,IAAIA,UAAU,KAAKlB,SAAS,EAAE;IAC5B,OAAOA,SAAS;EAClB;EACA,IAAI;IACF,MAAMmB,KAAK,GAAGD,UAAU,CAACE,KAAK,CAAC,IAAI,CAAC;IACpC,MAAMC,KAA4B,GAAG,EAAE;IACvCF,KAAK,EAAEG,OAAO,CAAEzB,IAAY,IAAK;MAC/B,MAAM0B,IAAI,GAAG3B,cAAc,CAACC,IAAI,CAAC;MACjC,IAAI0B,IAAI,KAAKvB,SAAS,EAAE;QACtBqB,KAAK,CAACG,IAAI,CAACD,IAAI,CAAC;MAClB;IACF,CAAC,CAAC;IACF,OAAOF,KAAK;EACd,CAAC,CAAC,OAAM7B,CAAC,EAAE;IACTiC,OAAO,CAACC,GAAG,CAAClC,CAAC,CAAC;IACd,OAAOQ,SAAS;EAClB;AACF;AAUO,MAAM2B,eAAe,CAAC;EAO3BC,WAAWA,CAACC,SAAkB,EAAEC,OAAgB,EAAE;IAChD,IAAI,CAACD,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,iBAAiB,GAAGhB,oBAAoB,CAAC,CAAC;IAC/C,IAAI,CAACiB,qBAAqB,GAAG5B,YAAY,CAAC,CAAC;EAC7C;EAEA,OAAO6B,SAASA,CAACC,KAAY,EAAmB;IAC9C,MAAMC,QAAQ,GAAG,IAAIR,eAAe,CAACO,KAAK,CAACE,IAAI,EAAEF,KAAK,CAACJ,OAAO,CAAC;IAC/DK,QAAQ,CAACjB,UAAU,GAAGD,eAAe,CAACiB,KAAK,CAACG,KAAK,CAAC;IAClD,OAAOF,QAAQ;EACjB;EAEA,OAAOG,UAAUA,CAACJ,KAAc,EAAmB;IACjD,OAAO,IAAIP,eAAe,CAAC3B,SAAS,EAAEuC,IAAI,CAACC,SAAS,CAACN,KAAK,CAAC,CAAC;EAC9D;AACF;AAACO,OAAA,CAAAd,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ExternalAttributions","adjust","data","source","value","airbridge","appsflyer","kochava","raw","singular","Object","fromEntries","tenjin","exports"],"sourceRoot":"../../src","sources":["externalAttribution.ts"],"mappings":";;;;;;AAaO,MAAMA,oBAAoB,CAAC;EAChC,OAAOC,MAAMA,CAACC,IAAyB,EAAuB;IAC5D,OAAO;MACLC,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAEF;IACT,CAAC;EACH;EAEA,OAAOG,SAASA,CAACH,IAAyB,EAAuB;IAC/D,OAAO;MACLC,MAAM,EAAE,WAAW;MACnBC,KAAK,EAAEF;IACT,CAAC;EACH;EAEA,OAAOI,SAASA,CAACJ,IAAyB,EAAuB;IAC/D,OAAO;MACLC,MAAM,EAAE,WAAW;MACnBC,KAAK,EAAEF,IAAI,CAACA;IACd,CAAC;EACH;EAEA,OAAOK,OAAOA,CAACL,IAAyB,EAAuB;IAC7D,OAAO;MACLC,MAAM,EAAE,SAAS;MACjBC,KAAK,EAAEF,IAAI,CAACM;IACd,CAAC;EACH;EAEA,OAAOC,QAAQA,CAACP,IAAyB,EAAuB;IAC9D,OAAO;MACLC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAEM,MAAM,CAACC,WAAW,CAACT,IAAI;IAChC,CAAC;EACH;EAEA,OAAOU,MAAMA,CAACV,IAAyB,EAAuB;IAC5D,OAAO;MACLC,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAEF;IACT,CAAC;EACH;AACF;AAACW,OAAA,CAAAb,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ExternalAttributions","adjust","data","source","value","airbridge","appsflyer","kochava","raw","singular","Object","fromEntries","tenjin","exports"],"sourceRoot":"../../src","sources":["externalAttribution.ts"],"mappings":";;;;;;AAaO,MAAMA,oBAAoB,CAAC;EAChC,OAAOC,MAAMA,CAACC,IAAyB,EAAuB;IAC5D,OAAO;MACLC,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAEF;IACT,CAAC;EACH;EAEA,OAAOG,SAASA,CAACH,IAAyB,EAAuB;IAC/D,OAAO;MACLC,MAAM,EAAE,WAAW;MACnBC,KAAK,EAAEF;IACT,CAAC;EACH;EAEA,OAAOI,SAASA,CAACJ,IAAyB,EAAuB;IAC/D,OAAO;MACLC,MAAM,EAAE,WAAW;MACnBC,KAAK,EAAEF,IAAI,CAACA;IACd,CAAC;EACH;EAEA,OAAOK,OAAOA,CAACL,IAAyB,EAAuB;IAC7D,OAAO;MACLC,MAAM,EAAE,SAAS;MACjBC,KAAK,EAAEF,IAAI,CAACM;IACd,CAAC;EACH;EAEA,OAAOC,QAAQA,CAACP,IAAyB,EAAuB;IAC9D,OAAO;MACLC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAEM,MAAM,CAACC,WAAW,CAACT,IAAI;IAChC,CAAC;EACH;EAEA,OAAOU,MAAMA,CAACV,IAAyB,EAAuB;IAC5D,OAAO;MACLC,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAEF;IACT,CAAC;EACH;AACF;AAACW,OAAA,CAAAb,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|