@appmetrica/react-native-analytics 3.3.0 → 3.4.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 +1 -1
- package/android/src/main/java/io/appmetrica/analytics/reactnative/AppMetricaModule.java +60 -6
- package/android/src/main/java/io/appmetrica/analytics/reactnative/AppMetricaPackage.java +1 -0
- package/android/src/main/java/io/appmetrica/analytics/reactnative/ExceptionSerializer.java +91 -0
- package/android/src/main/java/io/appmetrica/analytics/reactnative/ExternalAttributionSerializer.java +16 -9
- package/android/src/main/java/io/appmetrica/analytics/reactnative/ReactNativeDeferredDeeplinkListener.java +48 -0
- package/android/src/main/java/io/appmetrica/analytics/reactnative/ReactNativeDeferredDeeplinkParametersListener.java +53 -0
- package/android/src/main/java/io/appmetrica/analytics/reactnative/ReporterModule.java +130 -0
- package/android/src/main/java/io/appmetrica/analytics/reactnative/Utils.java +55 -1
- package/appmetrica-react-native-analytics.podspec +1 -1
- package/ios/AMARNAppMetrica.m +77 -7
- package/ios/AMARNAppMetricaUtils.h +1 -0
- package/ios/AMARNAppMetricaUtils.m +46 -0
- package/ios/AMARNExceptionSerializer.h +6 -0
- package/ios/AMARNExceptionSerializer.m +65 -0
- package/ios/AMARNReporter.h +6 -0
- package/ios/AMARNReporter.m +131 -0
- package/lib/commonjs/deferredDeeplink.js +2 -0
- package/lib/commonjs/deferredDeeplink.js.map +1 -0
- package/lib/commonjs/error.js +71 -0
- package/lib/commonjs/error.js.map +1 -0
- package/lib/commonjs/index.js +53 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/reporter.js +69 -0
- package/lib/commonjs/reporter.js.map +1 -0
- package/lib/module/deferredDeeplink.js +2 -0
- package/lib/module/deferredDeeplink.js.map +1 -0
- package/lib/module/error.js +63 -0
- package/lib/module/error.js.map +1 -0
- package/lib/module/index.js +42 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/reporter.js +62 -0
- package/lib/module/reporter.js.map +1 -0
- package/lib/typescript/src/deferredDeeplink.d.ts +10 -0
- package/lib/typescript/src/deferredDeeplink.d.ts.map +1 -0
- package/lib/typescript/src/error.d.ts +19 -0
- package/lib/typescript/src/error.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +19 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/reporter.d.ts +51 -0
- package/lib/typescript/src/reporter.d.ts.map +1 -0
- package/package.json +3 -1
- package/src/deferredDeeplink.ts +11 -0
- package/src/error.ts +87 -0
- package/src/index.ts +79 -2
- package/src/reporter.ts +126 -0
|
@@ -22,5 +22,6 @@
|
|
|
22
22
|
+ (AMAAdType)toAdType:(NSString *)type;
|
|
23
23
|
+ (NSDictionary *)convertRevenueInfoPayload:(NSString *)payload;
|
|
24
24
|
+ (AMAUserProfile *)userProfileForDict:(NSDictionary *)userProfileDict;
|
|
25
|
+
+ (AMAMutableReporterConfiguration *)reporterConfigurationForDictionary:(NSDictionary *)configDict;
|
|
25
26
|
|
|
26
27
|
@end
|
|
@@ -43,6 +43,18 @@
|
|
|
43
43
|
if (configDict[@"userProfileID"] != nil) {
|
|
44
44
|
configuration.userProfileID = configDict[@"userProfileID"];
|
|
45
45
|
}
|
|
46
|
+
if (configDict[@"appEnvironment"] != nil) {
|
|
47
|
+
NSDictionary *appEnvironmentMap = configDict[@"appEnvironment"];
|
|
48
|
+
for (NSString *key in appEnvironmentMap) {
|
|
49
|
+
[AMAAppMetrica setAppEnvironmentValue:appEnvironmentMap[key] forKey:key];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (configDict[@"maxReportsCount"] != nil) {
|
|
53
|
+
configuration.maxReportsCount = [configDict[@"maxReportsCount"] unsignedIntegerValue];
|
|
54
|
+
}
|
|
55
|
+
if (configDict[@"dispatchPeriodSeconds"] != nil) {
|
|
56
|
+
configuration.dispatchPeriod = [configDict[@"dispatchPeriodSeconds"] unsignedIntegerValue];
|
|
57
|
+
}
|
|
46
58
|
|
|
47
59
|
return configuration;
|
|
48
60
|
}
|
|
@@ -379,4 +391,38 @@
|
|
|
379
391
|
return amarn_deserializeUserProfile(userProfileDict);
|
|
380
392
|
}
|
|
381
393
|
|
|
394
|
+
+ (AMAMutableReporterConfiguration *)reporterConfigurationForDictionary:(NSDictionary *)configDict
|
|
395
|
+
{
|
|
396
|
+
NSString *apiKey = configDict[@"apiKey"];
|
|
397
|
+
AMAMutableReporterConfiguration *configuration = [[AMAMutableReporterConfiguration alloc] initWithAPIKey:apiKey];
|
|
398
|
+
if (configDict[@"logs"] != nil) {
|
|
399
|
+
configuration.logsEnabled = [configDict[@"logs"] boolValue];
|
|
400
|
+
}
|
|
401
|
+
if (configDict[@"maxReportsInDatabaseCount"] != nil) {
|
|
402
|
+
configuration.maxReportsInDatabaseCount = [configDict[@"maxReportsInDatabaseCount"] unsignedIntegerValue];
|
|
403
|
+
}
|
|
404
|
+
if (configDict[@"sessionTimeout"] != nil) {
|
|
405
|
+
configuration.sessionTimeout = [configDict[@"sessionTimeout"] unsignedIntegerValue];
|
|
406
|
+
}
|
|
407
|
+
if (configDict[@"dataSendingEnabled"] != nil) {
|
|
408
|
+
configuration.dataSendingEnabled = [configDict[@"dataSendingEnabled"] boolValue];
|
|
409
|
+
}
|
|
410
|
+
if (configDict[@"appEnvironment"] != nil) {
|
|
411
|
+
NSDictionary *appEnvironmentMap = configDict[@"appEnvironment"];
|
|
412
|
+
for (NSString *key in appEnvironmentMap) {
|
|
413
|
+
[AMAAppMetrica setAppEnvironmentValue:appEnvironmentMap[key] forKey:key];
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
if (configDict[@"userProfileID"] != nil) {
|
|
417
|
+
configuration.userProfileID = configDict[@"userProfileID"];
|
|
418
|
+
}
|
|
419
|
+
if (configDict[@"dispatchPeriodSeconds"] != nil) {
|
|
420
|
+
configuration.dispatchPeriod = [configDict[@"dispatchPeriodSeconds"] unsignedIntegerValue];
|
|
421
|
+
}
|
|
422
|
+
if (configDict[@"maxReportsCount"] != nil) {
|
|
423
|
+
configuration.maxReportsCount = [configDict[@"maxReportsCount"] unsignedIntegerValue];
|
|
424
|
+
}
|
|
425
|
+
return configuration;
|
|
426
|
+
}
|
|
427
|
+
|
|
382
428
|
@end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
|
|
2
|
+
#import "AMARNExceptionSerializer.h"
|
|
3
|
+
|
|
4
|
+
NSNumber *amarn_parseNumber(NSString *string)
|
|
5
|
+
{
|
|
6
|
+
NSNumberFormatter *format = [[NSNumberFormatter alloc] init];
|
|
7
|
+
format.numberStyle = NSNumberFormatterDecimalStyle;
|
|
8
|
+
NSNumber *myNumber = [format numberFromString:string];
|
|
9
|
+
return myNumber;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
AMAStackTraceElement *amarn_deserializeTraceItem(NSDictionary *traceDict)
|
|
13
|
+
{
|
|
14
|
+
AMAStackTraceElement *item = [[AMAStackTraceElement alloc] init];
|
|
15
|
+
if (traceDict[@"fileName"] != nil) {
|
|
16
|
+
item.fileName = traceDict[@"fileName"];
|
|
17
|
+
}
|
|
18
|
+
if (traceDict[@"className"] != nil) {
|
|
19
|
+
item.className = traceDict[@"className"];
|
|
20
|
+
}
|
|
21
|
+
if (traceDict[@"methodName"] != nil) {
|
|
22
|
+
item.methodName = traceDict[@"methodName"];
|
|
23
|
+
}
|
|
24
|
+
if (traceDict[@"line"] != nil) {
|
|
25
|
+
item.line = amarn_parseNumber(traceDict[@"line"]);
|
|
26
|
+
}
|
|
27
|
+
if (traceDict[@"column"] != nil) {
|
|
28
|
+
item.column = amarn_parseNumber(traceDict[@"column"]);
|
|
29
|
+
}
|
|
30
|
+
return item;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
NSArray<AMAStackTraceElement *> *amarn_deserializeStackTrace(NSArray *frames)
|
|
34
|
+
{
|
|
35
|
+
NSMutableArray<AMAStackTraceElement *> *items = [[NSMutableArray alloc] init];
|
|
36
|
+
for (NSDictionary *frameDict in frames) {
|
|
37
|
+
[items addObject:amarn_deserializeTraceItem(frameDict)];
|
|
38
|
+
}
|
|
39
|
+
return items;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
AMAPluginErrorDetails *amarn_exceptionForDictionary(NSDictionary *configDict)
|
|
43
|
+
{
|
|
44
|
+
if (configDict == nil) {
|
|
45
|
+
return nil;
|
|
46
|
+
}
|
|
47
|
+
AMAPluginErrorDetails *error = [[AMAPluginErrorDetails alloc] init];
|
|
48
|
+
error.platform = kAMAPlatformReactNative;
|
|
49
|
+
if (configDict[@"errorName"] != nil) {
|
|
50
|
+
error.exceptionClass = configDict[@"errorName"];
|
|
51
|
+
}
|
|
52
|
+
if (configDict[@"message"] != nil) {
|
|
53
|
+
error.message = configDict[@"message"];
|
|
54
|
+
}
|
|
55
|
+
if (configDict[@"stackTrace"] != nil) {
|
|
56
|
+
error.backtrace = amarn_deserializeStackTrace(configDict[@"stackTrace"]);
|
|
57
|
+
}
|
|
58
|
+
if (configDict[@"virtualMachineVersion"] != nil) {
|
|
59
|
+
error.virtualMachineVersion = configDict[@"virtualMachineVersion"];
|
|
60
|
+
}
|
|
61
|
+
if (configDict[@"pluginEnvironment"] != nil) {
|
|
62
|
+
error.pluginEnvironment = configDict[@"pluginEnvironment"];
|
|
63
|
+
}
|
|
64
|
+
return error;
|
|
65
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
|
|
2
|
+
#import "AMARNReporter.h"
|
|
3
|
+
#import "AMARNAppMetricaUtils.h"
|
|
4
|
+
#import <AppMetricaCore/AppMetricaCore.h>
|
|
5
|
+
#import <AppMetricaCrashes/AppMetricaCrashes.h>
|
|
6
|
+
#import "AMARNUserProfileSerializer.h"
|
|
7
|
+
#import "AMARNExceptionSerializer.h"
|
|
8
|
+
|
|
9
|
+
@implementation AMARNReporter
|
|
10
|
+
|
|
11
|
+
RCT_EXPORT_MODULE(AppMetricaReporter)
|
|
12
|
+
|
|
13
|
+
RCT_EXPORT_METHOD(reportError:(NSString *)apiKey:(NSString *)identifier:(NSString *)message:(NSDictionary *)_reason)
|
|
14
|
+
{
|
|
15
|
+
id<AMAAppMetricaCrashReporting> reporter = [[AMAAppMetricaCrashes crashes] reporterForAPIKey:apiKey];
|
|
16
|
+
[[reporter pluginExtension] reportErrorWithIdentifier:identifier
|
|
17
|
+
message:message
|
|
18
|
+
details:amarn_exceptionForDictionary(_reason)
|
|
19
|
+
onFailure:^(NSError *error) {
|
|
20
|
+
NSLog(@"Failed to report error to AppMetrica: %@", [error localizedDescription]);
|
|
21
|
+
}];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
RCT_EXPORT_METHOD(reportErrorWithoutIdentifier:(NSString *)apiKey:(NSString *)message:(NSDictionary *)error)
|
|
25
|
+
{
|
|
26
|
+
id<AMAAppMetricaCrashReporting> reporter = [[AMAAppMetricaCrashes crashes] reporterForAPIKey:apiKey];
|
|
27
|
+
AMAPluginErrorDetails *details = amarn_exceptionForDictionary(error);
|
|
28
|
+
if (details.backtrace.count == 0) {
|
|
29
|
+
[[reporter pluginExtension] reportErrorWithIdentifier:@"Errors without stacktrace"
|
|
30
|
+
message:message
|
|
31
|
+
details:details
|
|
32
|
+
onFailure:^(NSError *error) {
|
|
33
|
+
NSLog(@"Failed to report error to AppMetrica: %@", [error localizedDescription]);
|
|
34
|
+
}];
|
|
35
|
+
} else {
|
|
36
|
+
[[reporter pluginExtension] reportError:details message:message onFailure:^(NSError *error) {
|
|
37
|
+
NSLog(@"Failed to report error to AppMetrica: %@", [error localizedDescription]);
|
|
38
|
+
}];
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
RCT_EXPORT_METHOD(reportUnhandledException:(NSString *)apiKey:(NSDictionary *)error)
|
|
43
|
+
{
|
|
44
|
+
id<AMAAppMetricaCrashReporting> reporter = [[AMAAppMetricaCrashes crashes] reporterForAPIKey:apiKey];
|
|
45
|
+
[[reporter pluginExtension] reportUnhandledException:amarn_exceptionForDictionary(error)
|
|
46
|
+
onFailure:^(NSError *error) {
|
|
47
|
+
NSLog(@"Failed to report unhandled exception to AppMetrica: %@", [error localizedDescription]);
|
|
48
|
+
}];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
RCT_EXPORT_METHOD(reportEvent:(NSString *)apiKey:(NSString *)eventName:(NSDictionary *)attributes)
|
|
52
|
+
{
|
|
53
|
+
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
54
|
+
if (attributes == nil) {
|
|
55
|
+
[reporter reportEvent:eventName onFailure:^(NSError *error) {
|
|
56
|
+
NSLog(@"error: %@", [error localizedDescription]);
|
|
57
|
+
}];
|
|
58
|
+
} else {
|
|
59
|
+
[reporter reportEvent:eventName parameters:attributes onFailure:^(NSError *error) {
|
|
60
|
+
NSLog(@"error: %@", [error localizedDescription]);
|
|
61
|
+
}];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
RCT_EXPORT_METHOD(pauseSession:(NSString *)apiKey)
|
|
66
|
+
{
|
|
67
|
+
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
68
|
+
[reporter pauseSession];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
RCT_EXPORT_METHOD(resumeSession:(NSString *)apiKey)
|
|
72
|
+
{
|
|
73
|
+
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
74
|
+
[reporter resumeSession];
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
RCT_EXPORT_METHOD(sendEventsBuffer:(NSString *)apiKey)
|
|
78
|
+
{
|
|
79
|
+
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
80
|
+
[reporter sendEventsBuffer];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
RCT_EXPORT_METHOD(putAppEnvironmentValue:(NSString *)apiKey:(NSString *)key:(NSString *)value)
|
|
84
|
+
{
|
|
85
|
+
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
86
|
+
[reporter setAppEnvironmentValue:value forKey:key];
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
RCT_EXPORT_METHOD(clearAppEnvironment:(NSString *)apiKey)
|
|
90
|
+
{
|
|
91
|
+
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
92
|
+
[reporter clearAppEnvironment];
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
RCT_EXPORT_METHOD(setUserProfileID:(NSString *)apiKey:(NSString *)userProfileID)
|
|
96
|
+
{
|
|
97
|
+
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
98
|
+
[reporter setUserProfileID:userProfileID];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
RCT_EXPORT_METHOD(setDataSendingEnabled:(NSString *)apiKey:(BOOL)enabled)
|
|
102
|
+
{
|
|
103
|
+
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
104
|
+
[reporter setDataSendingEnabled:enabled];
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
RCT_EXPORT_METHOD(reportUserProfile:(NSString *)apiKey:(NSDictionary *)userProfileDict)
|
|
108
|
+
{
|
|
109
|
+
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
110
|
+
[reporter reportUserProfile:[AMARNAppMetricaUtils userProfileForDict:userProfileDict] onFailure:nil];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
RCT_EXPORT_METHOD(reportRevenue:(NSString *)apiKey:(NSDictionary *)revenueDict)
|
|
114
|
+
{
|
|
115
|
+
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
116
|
+
[reporter reportRevenue:[AMARNAppMetricaUtils revenueForDict:revenueDict] onFailure:nil];
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
RCT_EXPORT_METHOD(reportAdRevenue:(NSString *)apiKey:(NSDictionary *)revenueDict)
|
|
120
|
+
{
|
|
121
|
+
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
122
|
+
[reporter reportAdRevenue:[AMARNAppMetricaUtils adRevenueForDict:revenueDict] onFailure:nil];
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
RCT_EXPORT_METHOD(reportECommerce:(NSString *)apiKey:(NSDictionary *)ecommerceDict)
|
|
126
|
+
{
|
|
127
|
+
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
|
|
128
|
+
[reporter reportECommerce:[AMARNAppMetricaUtils ecommerceForDict:ecommerceDict] onFailure:nil];
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
@end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["deferredDeeplink.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AppMetricaError = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const traceRegex = /^\s*at (.*?) ?\((.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
|
|
11
|
+
function parseTraceLine(line) {
|
|
12
|
+
const parts = traceRegex.exec(line);
|
|
13
|
+
if (parts === null) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
fileName: parts[2],
|
|
18
|
+
methodName: parts[1],
|
|
19
|
+
column: parts[3],
|
|
20
|
+
line: parts[4]
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function getRNVersion() {
|
|
24
|
+
const versions = _reactNative.Platform.constants.reactNativeVersion;
|
|
25
|
+
return versions.major + '.' + versions.minor + '.' + versions.patch;
|
|
26
|
+
}
|
|
27
|
+
function getReactVersion() {
|
|
28
|
+
return _react.default.version;
|
|
29
|
+
}
|
|
30
|
+
function getPluginEnvironment() {
|
|
31
|
+
return {
|
|
32
|
+
reactVersion: getReactVersion()
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function parseStackTrace(stackTrace) {
|
|
36
|
+
if (stackTrace === undefined) {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const lines = stackTrace.split('\n');
|
|
41
|
+
const array = [];
|
|
42
|
+
lines === null || lines === void 0 || lines.forEach(line => {
|
|
43
|
+
const item = parseTraceLine(line);
|
|
44
|
+
if (item !== undefined) {
|
|
45
|
+
array.push(item);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
return array;
|
|
49
|
+
} catch (e) {
|
|
50
|
+
console.log(e);
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
class AppMetricaError {
|
|
55
|
+
constructor(errorName, message) {
|
|
56
|
+
this.errorName = errorName;
|
|
57
|
+
this.message = message;
|
|
58
|
+
this.pluginEnvironment = getPluginEnvironment();
|
|
59
|
+
this.virtualMachineVersion = getRNVersion();
|
|
60
|
+
}
|
|
61
|
+
static withError(error) {
|
|
62
|
+
const newError = new AppMetricaError(error.name, error.message);
|
|
63
|
+
newError.stackTrace = parseStackTrace(error.stack);
|
|
64
|
+
return newError;
|
|
65
|
+
}
|
|
66
|
+
static withObject(error) {
|
|
67
|
+
return new AppMetricaError(undefined, JSON.stringify(error));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.AppMetricaError = AppMetricaError;
|
|
71
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +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,aAALA,KAAK,eAALA,KAAK,CAAEG,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":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -11,6 +11,8 @@ var _exportNames = {
|
|
|
11
11
|
exports.default = exports.UUID_KEY = exports.DEVICE_ID_KEY = exports.DEVICE_ID_HASH_KEY = void 0;
|
|
12
12
|
var _reactNative = require("react-native");
|
|
13
13
|
var _utils = require("./utils");
|
|
14
|
+
var _error = require("./error");
|
|
15
|
+
var _reporter = require("./reporter");
|
|
14
16
|
var _ecommerce = require("./ecommerce");
|
|
15
17
|
Object.keys(_ecommerce).forEach(function (key) {
|
|
16
18
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -59,6 +61,18 @@ Object.keys(_externalAttribution).forEach(function (key) {
|
|
|
59
61
|
}
|
|
60
62
|
});
|
|
61
63
|
});
|
|
64
|
+
var _deferredDeeplink = require("./deferredDeeplink");
|
|
65
|
+
Object.keys(_deferredDeeplink).forEach(function (key) {
|
|
66
|
+
if (key === "default" || key === "__esModule") return;
|
|
67
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
68
|
+
if (key in exports && exports[key] === _deferredDeeplink[key]) return;
|
|
69
|
+
Object.defineProperty(exports, key, {
|
|
70
|
+
enumerable: true,
|
|
71
|
+
get: function () {
|
|
72
|
+
return _deferredDeeplink[key];
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
});
|
|
62
76
|
const LINKING_ERROR = `The package '@appmetrica/react-native-analytics' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
63
77
|
ios: "- You have run 'pod install'\n",
|
|
64
78
|
default: ''
|
|
@@ -86,6 +100,7 @@ const DEVICE_ID_HASH_KEY = exports.DEVICE_ID_HASH_KEY = 'appmetrica_device_id_ha
|
|
|
86
100
|
const DEVICE_ID_KEY = exports.DEVICE_ID_KEY = 'appmetrica_device_id';
|
|
87
101
|
const UUID_KEY = exports.UUID_KEY = 'appmetrica_uuid';
|
|
88
102
|
class AppMetrica {
|
|
103
|
+
static reporters = new Map();
|
|
89
104
|
static activate(config) {
|
|
90
105
|
if (!activated) {
|
|
91
106
|
AppMetricaNative.activate(config);
|
|
@@ -110,7 +125,13 @@ class AppMetrica {
|
|
|
110
125
|
AppMetricaNative.reportAppOpen(deeplink);
|
|
111
126
|
}
|
|
112
127
|
static reportError(identifier, message, _reason) {
|
|
113
|
-
AppMetricaNative.reportError(identifier, message);
|
|
128
|
+
AppMetricaNative.reportError(identifier, message, _reason instanceof Error ? _error.AppMetricaError.withError(_reason) : _error.AppMetricaError.withObject(_reason));
|
|
129
|
+
}
|
|
130
|
+
static reportUnhandledException(error) {
|
|
131
|
+
AppMetricaNative.reportUnhandledException(_error.AppMetricaError.withError(error));
|
|
132
|
+
}
|
|
133
|
+
static reportErrorWithoutIdentifier(message, error) {
|
|
134
|
+
AppMetricaNative.reportErrorWithoutIdentifier(message, _error.AppMetricaError.withError(error));
|
|
114
135
|
}
|
|
115
136
|
static reportEvent(eventName, attributes) {
|
|
116
137
|
AppMetricaNative.reportEvent(eventName, attributes);
|
|
@@ -154,6 +175,37 @@ class AppMetrica {
|
|
|
154
175
|
static reportExternalAttribution(attribution) {
|
|
155
176
|
AppMetricaNative.reportExternalAttribution(attribution);
|
|
156
177
|
}
|
|
178
|
+
static putAppEnvironmentValue(key, value) {
|
|
179
|
+
AppMetricaNative.putAppEnvironmentValue(key, value);
|
|
180
|
+
}
|
|
181
|
+
static clearAppEnvironment() {
|
|
182
|
+
AppMetricaNative.clearAppEnvironment();
|
|
183
|
+
}
|
|
184
|
+
static getReporter(apiKey) {
|
|
185
|
+
if (AppMetrica.reporters.has(apiKey)) {
|
|
186
|
+
return AppMetrica.reporters.get(apiKey);
|
|
187
|
+
} else {
|
|
188
|
+
AppMetricaNative.touchReporter(apiKey);
|
|
189
|
+
const reporter = new _reporter.Reporter(apiKey);
|
|
190
|
+
AppMetrica.reporters.set(apiKey, reporter);
|
|
191
|
+
return reporter;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
static activateReporter(config) {
|
|
195
|
+
AppMetricaNative.activateReporter(config);
|
|
196
|
+
}
|
|
197
|
+
static getDeviceId() {
|
|
198
|
+
return AppMetricaNative.getDeviceId();
|
|
199
|
+
}
|
|
200
|
+
static getUuid() {
|
|
201
|
+
return AppMetricaNative.getUuid();
|
|
202
|
+
}
|
|
203
|
+
static requestDeferredDeeplink(listener) {
|
|
204
|
+
AppMetricaNative.requestDeferredDeeplink(listener.onFailure, listener.onSuccess);
|
|
205
|
+
}
|
|
206
|
+
static requestDeferredDeeplinkParameters(listener) {
|
|
207
|
+
AppMetricaNative.requestDeferredDeeplinkParameters(listener.onFailure, listener.onSuccess);
|
|
208
|
+
}
|
|
157
209
|
}
|
|
158
210
|
exports.default = AppMetrica;
|
|
159
211
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_utils","_ecommerce","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_revenue","_userProfile","_externalAttribution","LINKING_ERROR","Platform","select","ios","default","AppMetricaNative","NativeModules","AppMetrica","Proxy","Error","activated","appOpenTracking","getUrlAsync","initialUrl","Linking","getInitialURL","reportAppOpen","callback","event","url","addEventListener","DEVICE_ID_HASH_KEY","DEVICE_ID_KEY","UUID_KEY","activate","config","appOpenTrackingEnabled","getLibraryApiLevel","getLibraryVersion","pauseSession","deeplink","reportError","identifier","message","_reason","reportEvent","eventName","attributes","requestStartupParams","listener","identifiers","resumeSession","sendEventsBuffer","setLocation","location","setLocationTracking","enabled","setDataSendingEnabled","setUserProfileID","userProfileID","reportECommerce","reportRevenue","revenue","reportAdRevenue","adRevenue","normalizeAdRevenue","reportUserProfile","userProfile","putErrorEnvironmentValue","value","reportExternalAttribution","attribution"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_utils","_error","_reporter","_ecommerce","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_revenue","_userProfile","_externalAttribution","_deferredDeeplink","LINKING_ERROR","Platform","select","ios","default","AppMetricaNative","NativeModules","AppMetrica","Proxy","Error","activated","appOpenTracking","getUrlAsync","initialUrl","Linking","getInitialURL","reportAppOpen","callback","event","url","addEventListener","DEVICE_ID_HASH_KEY","DEVICE_ID_KEY","UUID_KEY","reporters","Map","activate","config","appOpenTrackingEnabled","getLibraryApiLevel","getLibraryVersion","pauseSession","deeplink","reportError","identifier","message","_reason","AppMetricaError","withError","withObject","reportUnhandledException","error","reportErrorWithoutIdentifier","reportEvent","eventName","attributes","requestStartupParams","listener","identifiers","resumeSession","sendEventsBuffer","setLocation","location","setLocationTracking","enabled","setDataSendingEnabled","setUserProfileID","userProfileID","reportECommerce","reportRevenue","revenue","reportAdRevenue","adRevenue","normalizeAdRevenue","reportUserProfile","userProfile","putErrorEnvironmentValue","value","reportExternalAttribution","attribution","putAppEnvironmentValue","clearAppEnvironment","getReporter","apiKey","has","touchReporter","reporter","Reporter","set","activateReporter","getDeviceId","getUuid","requestDeferredDeeplink","onFailure","onSuccess","requestDeferredDeeplinkParameters"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Reporter = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _error = require("./error");
|
|
9
|
+
const LINKING_ERROR = `The package '@appmetrica/react-native-analytics' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
10
|
+
ios: "- You have run 'pod install'\n",
|
|
11
|
+
default: ''
|
|
12
|
+
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
13
|
+
const ReporterNativeModule = _reactNative.NativeModules.AppMetricaReporter ? _reactNative.NativeModules.AppMetricaReporter : new Proxy({}, {
|
|
14
|
+
get() {
|
|
15
|
+
throw new Error(LINKING_ERROR);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
class Reporter {
|
|
19
|
+
constructor(apiKey) {
|
|
20
|
+
this.apiKey = apiKey;
|
|
21
|
+
}
|
|
22
|
+
reportError(identifier, message, _reason) {
|
|
23
|
+
ReporterNativeModule.reportError(this.apiKey, identifier, message, _reason instanceof Error ? _error.AppMetricaError.withError(_reason) : _error.AppMetricaError.withObject(_reason));
|
|
24
|
+
}
|
|
25
|
+
reportErrorWithoutIdentifier(message, error) {
|
|
26
|
+
ReporterNativeModule.reportErrorWithoutIdentifier(this.apiKey, message, _error.AppMetricaError.withError(error));
|
|
27
|
+
}
|
|
28
|
+
reportUnhandledException(error) {
|
|
29
|
+
ReporterNativeModule.reportUnhandledException(this.apiKey, _error.AppMetricaError.withError(error));
|
|
30
|
+
}
|
|
31
|
+
reportEvent(eventName, attributes) {
|
|
32
|
+
ReporterNativeModule.reportEvent(this.apiKey, eventName, attributes);
|
|
33
|
+
}
|
|
34
|
+
pauseSession() {
|
|
35
|
+
ReporterNativeModule.pauseSession(this.apiKey);
|
|
36
|
+
}
|
|
37
|
+
resumeSession() {
|
|
38
|
+
ReporterNativeModule.resumeSession(this.apiKey);
|
|
39
|
+
}
|
|
40
|
+
sendEventsBuffer() {
|
|
41
|
+
ReporterNativeModule.sendEventsBuffer(this.apiKey);
|
|
42
|
+
}
|
|
43
|
+
clearAppEnvironment() {
|
|
44
|
+
ReporterNativeModule.clearAppEnvironment(this.apiKey);
|
|
45
|
+
}
|
|
46
|
+
putAppEnvironmentValue(key, value) {
|
|
47
|
+
ReporterNativeModule.putAppEnvironmentValue(this.apiKey, key, value);
|
|
48
|
+
}
|
|
49
|
+
setUserProfileID(userProfileID) {
|
|
50
|
+
ReporterNativeModule.setUserProfileID(this.apiKey, userProfileID);
|
|
51
|
+
}
|
|
52
|
+
setDataSendingEnabled(enabled) {
|
|
53
|
+
ReporterNativeModule.setDataSendingEnabled(this.apiKey, enabled);
|
|
54
|
+
}
|
|
55
|
+
reportUserProfile(profile) {
|
|
56
|
+
ReporterNativeModule.reportUserProfile(this.apiKey, profile);
|
|
57
|
+
}
|
|
58
|
+
reportAdRevenue(adRevenue) {
|
|
59
|
+
ReporterNativeModule.reportAdRevenue(this.apiKey, adRevenue);
|
|
60
|
+
}
|
|
61
|
+
reportECommerce(ecommerce) {
|
|
62
|
+
ReporterNativeModule.reportECommerce(this.apiKey, ecommerce);
|
|
63
|
+
}
|
|
64
|
+
reportRevenue(revenue) {
|
|
65
|
+
ReporterNativeModule.reportRevenue(this.apiKey, revenue);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.Reporter = Reporter;
|
|
69
|
+
//# sourceMappingURL=reporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_error","LINKING_ERROR","Platform","select","ios","default","ReporterNativeModule","NativeModules","AppMetricaReporter","Proxy","get","Error","Reporter","constructor","apiKey","reportError","identifier","message","_reason","AppMetricaError","withError","withObject","reportErrorWithoutIdentifier","error","reportUnhandledException","reportEvent","eventName","attributes","pauseSession","resumeSession","sendEventsBuffer","clearAppEnvironment","putAppEnvironmentValue","key","value","setUserProfileID","userProfileID","setDataSendingEnabled","enabled","reportUserProfile","profile","reportAdRevenue","adRevenue","reportECommerce","ecommerce","reportRevenue","revenue","exports"],"sourceRoot":"../../src","sources":["reporter.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AAEA,MAAME,aAAa,GACjB,6FAA6F,GAC7FC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,oBAAoB,GAAGC,0BAAa,CAACC,kBAAkB,GACzDD,0BAAa,CAACC,kBAAkB,GAChC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACV,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAoBE,MAAMW,QAAQ,CAAsB;EAIzCC,WAAWA,CAACC,MAAc,EAAE;IAC1B,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;EAEAC,WAAWA,CAACC,UAAkB,EAAEC,OAAgB,EAAEC,OAAwB,EAAE;IAC1EZ,oBAAoB,CAACS,WAAW,CAC9B,IAAI,CAACD,MAAM,EACXE,UAAU,EACVC,OAAO,EACPC,OAAO,YAAYP,KAAK,GAAGQ,sBAAe,CAACC,SAAS,CAACF,OAAO,CAAC,GAAGC,sBAAe,CAACE,UAAU,CAACH,OAAO,CACpG,CAAC;EACH;EAEAI,4BAA4BA,CAACL,OAA2B,EAAEM,KAAY,EAAE;IACtEjB,oBAAoB,CAACgB,4BAA4B,CAAC,IAAI,CAACR,MAAM,EAAEG,OAAO,EAAEE,sBAAe,CAACC,SAAS,CAACG,KAAK,CAAC,CAAC;EAC3G;EAEAC,wBAAwBA,CAACD,KAAY,EAAE;IACrCjB,oBAAoB,CAACkB,wBAAwB,CAAC,IAAI,CAACV,MAAM,EAAEK,sBAAe,CAACC,SAAS,CAACG,KAAK,CAAC,CAAC;EAC9F;EAEAE,WAAWA,CAACC,SAAiB,EAAEC,UAAgC,EAAE;IAC/DrB,oBAAoB,CAACmB,WAAW,CAAC,IAAI,CAACX,MAAM,EAAEY,SAAS,EAAEC,UAAU,CAAC;EACtE;EAEAC,YAAYA,CAAA,EAAG;IACbtB,oBAAoB,CAACsB,YAAY,CAAC,IAAI,CAACd,MAAM,CAAC;EAChD;EAEAe,aAAaA,CAAA,EAAG;IACdvB,oBAAoB,CAACuB,aAAa,CAAC,IAAI,CAACf,MAAM,CAAC;EACjD;EAEAgB,gBAAgBA,CAAA,EAAG;IACjBxB,oBAAoB,CAACwB,gBAAgB,CAAC,IAAI,CAAChB,MAAM,CAAC;EACpD;EAEAiB,mBAAmBA,CAAA,EAAG;IACpBzB,oBAAoB,CAACyB,mBAAmB,CAAC,IAAI,CAACjB,MAAM,CAAC;EACvD;EAEAkB,sBAAsBA,CAACC,GAAW,EAAEC,KAAc,EAAE;IAClD5B,oBAAoB,CAAC0B,sBAAsB,CAAC,IAAI,CAAClB,MAAM,EAAEmB,GAAG,EAAEC,KAAK,CAAC;EACtE;EAEAC,gBAAgBA,CAACC,aAAqB,EAAE;IACtC9B,oBAAoB,CAAC6B,gBAAgB,CAAC,IAAI,CAACrB,MAAM,EAAEsB,aAAa,CAAC;EACnE;EAEAC,qBAAqBA,CAACC,OAAgB,EAAE;IACtChC,oBAAoB,CAAC+B,qBAAqB,CAAC,IAAI,CAACvB,MAAM,EAAEwB,OAAO,CAAC;EAClE;EAEAC,iBAAiBA,CAACC,OAAoB,EAAE;IACtClC,oBAAoB,CAACiC,iBAAiB,CAAC,IAAI,CAACzB,MAAM,EAAE0B,OAAO,CAAC;EAC9D;EAEAC,eAAeA,CAACC,SAAoB,EAAE;IACpCpC,oBAAoB,CAACmC,eAAe,CAAC,IAAI,CAAC3B,MAAM,EAAE4B,SAAS,CAAC;EAC9D;EAEAC,eAAeA,CAACC,SAAyB,EAAE;IACzCtC,oBAAoB,CAACqC,eAAe,CAAC,IAAI,CAAC7B,MAAM,EAAE8B,SAAS,CAAC;EAC9D;EAEAC,aAAaA,CAACC,OAAgB,EAAE;IAC9BxC,oBAAoB,CAACuC,aAAa,CAAC,IAAI,CAAC/B,MAAM,EAAEgC,OAAO,CAAC;EAC1D;AACF;AAACC,OAAA,CAAAnC,QAAA,GAAAA,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["deferredDeeplink.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
const traceRegex = /^\s*at (.*?) ?\((.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
|
|
4
|
+
function parseTraceLine(line) {
|
|
5
|
+
const parts = traceRegex.exec(line);
|
|
6
|
+
if (parts === null) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
return {
|
|
10
|
+
fileName: parts[2],
|
|
11
|
+
methodName: parts[1],
|
|
12
|
+
column: parts[3],
|
|
13
|
+
line: parts[4]
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function getRNVersion() {
|
|
17
|
+
const versions = Platform.constants.reactNativeVersion;
|
|
18
|
+
return versions.major + '.' + versions.minor + '.' + versions.patch;
|
|
19
|
+
}
|
|
20
|
+
function getReactVersion() {
|
|
21
|
+
return React.version;
|
|
22
|
+
}
|
|
23
|
+
function getPluginEnvironment() {
|
|
24
|
+
return {
|
|
25
|
+
reactVersion: getReactVersion()
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function parseStackTrace(stackTrace) {
|
|
29
|
+
if (stackTrace === undefined) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const lines = stackTrace.split('\n');
|
|
34
|
+
const array = [];
|
|
35
|
+
lines === null || lines === void 0 || lines.forEach(line => {
|
|
36
|
+
const item = parseTraceLine(line);
|
|
37
|
+
if (item !== undefined) {
|
|
38
|
+
array.push(item);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return array;
|
|
42
|
+
} catch (e) {
|
|
43
|
+
console.log(e);
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export class AppMetricaError {
|
|
48
|
+
constructor(errorName, message) {
|
|
49
|
+
this.errorName = errorName;
|
|
50
|
+
this.message = message;
|
|
51
|
+
this.pluginEnvironment = getPluginEnvironment();
|
|
52
|
+
this.virtualMachineVersion = getRNVersion();
|
|
53
|
+
}
|
|
54
|
+
static withError(error) {
|
|
55
|
+
const newError = new AppMetricaError(error.name, error.message);
|
|
56
|
+
newError.stackTrace = parseStackTrace(error.stack);
|
|
57
|
+
return newError;
|
|
58
|
+
}
|
|
59
|
+
static withObject(error) {
|
|
60
|
+
return new AppMetricaError(undefined, JSON.stringify(error));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","React","traceRegex","parseTraceLine","line","parts","exec","undefined","fileName","methodName","column","getRNVersion","versions","constants","reactNativeVersion","major","minor","patch","getReactVersion","version","getPluginEnvironment","reactVersion","parseStackTrace","stackTrace","lines","split","array","forEach","item","push","e","console","log","AppMetricaError","constructor","errorName","message","pluginEnvironment","virtualMachineVersion","withError","error","newError","name","stack","withObject","JSON","stringify"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,KAAK,MAAM,OAAO;AAEzB,MAAMC,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,GAAGZ,QAAQ,CAACa,SAAS,CAACC,kBAAkB;EACtD,OAAOF,QAAQ,CAACG,KAAK,GAAG,GAAG,GAAGH,QAAQ,CAACI,KAAK,GAAG,GAAG,GAAGJ,QAAQ,CAACK,KAAK;AACrE;AAEA,SAASC,eAAeA,CAAA,EAAW;EACjC,OAAOjB,KAAK,CAACkB,OAAO;AACtB;AAEA,SAASC,oBAAoBA,CAAA,EAAuC;EAClE,OAAO;IACLC,YAAY,EAAEH,eAAe,CAAC;EAChC,CAAC;AACH;AAEA,SAASI,eAAeA,CACtBC,UAAmB,EACgB;EACnC,IAAIA,UAAU,KAAKhB,SAAS,EAAE;IAC5B,OAAOA,SAAS;EAClB;EACA,IAAI;IACF,MAAMiB,KAAK,GAAGD,UAAU,CAACE,KAAK,CAAC,IAAI,CAAC;IACpC,MAAMC,KAA4B,GAAG,EAAE;IACvCF,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEG,OAAO,CAAEvB,IAAY,IAAK;MAC/B,MAAMwB,IAAI,GAAGzB,cAAc,CAACC,IAAI,CAAC;MACjC,IAAIwB,IAAI,KAAKrB,SAAS,EAAE;QACtBmB,KAAK,CAACG,IAAI,CAACD,IAAI,CAAC;MAClB;IACF,CAAC,CAAC;IACF,OAAOF,KAAK;EACd,CAAC,CAAC,OAAMI,CAAC,EAAE;IACTC,OAAO,CAACC,GAAG,CAACF,CAAC,CAAC;IACd,OAAOvB,SAAS;EAClB;AACF;AAUA,OAAO,MAAM0B,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,GAAGjB,oBAAoB,CAAC,CAAC;IAC/C,IAAI,CAACkB,qBAAqB,GAAG3B,YAAY,CAAC,CAAC;EAC7C;EAEA,OAAO4B,SAASA,CAACC,KAAY,EAAmB;IAC9C,MAAMC,QAAQ,GAAG,IAAIR,eAAe,CAACO,KAAK,CAACE,IAAI,EAAEF,KAAK,CAACJ,OAAO,CAAC;IAC/DK,QAAQ,CAAClB,UAAU,GAAGD,eAAe,CAACkB,KAAK,CAACG,KAAK,CAAC;IAClD,OAAOF,QAAQ;EACjB;EAEA,OAAOG,UAAUA,CAACJ,KAAc,EAAmB;IACjD,OAAO,IAAIP,eAAe,CAAC1B,SAAS,EAAEsC,IAAI,CAACC,SAAS,CAACN,KAAK,CAAC,CAAC;EAC9D;AACF","ignoreList":[]}
|