@nativescript-community/sentry 3.1.5 → 4.6.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.
Files changed (106) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +2 -6
  3. package/client.d.ts +38 -3
  4. package/client.js +143 -5
  5. package/client.js.map +1 -1
  6. package/index.d.ts +7 -11
  7. package/index.js +28 -12
  8. package/index.js.map +1 -1
  9. package/integrations/debugsymbolicator.d.ts +4 -4
  10. package/integrations/debugsymbolicator.js +11 -22
  11. package/integrations/debugsymbolicator.js.map +1 -1
  12. package/integrations/devicecontext.js +22 -5
  13. package/integrations/devicecontext.js.map +1 -1
  14. package/integrations/eventorigin.d.ts +7 -7
  15. package/integrations/eventorigin.js +9 -9
  16. package/integrations/eventorigin.js.map +1 -1
  17. package/integrations/nativescripterrorhandlers.d.ts +15 -5
  18. package/integrations/nativescripterrorhandlers.js +55 -44
  19. package/integrations/nativescripterrorhandlers.js.map +1 -1
  20. package/integrations/release.js +10 -8
  21. package/integrations/release.js.map +1 -1
  22. package/integrations/sdkinfo.d.ts +4 -1
  23. package/integrations/sdkinfo.js +17 -10
  24. package/integrations/sdkinfo.js.map +1 -1
  25. package/measurement.d.ts +4 -0
  26. package/measurement.js +50 -0
  27. package/measurement.js.map +1 -0
  28. package/measurements.d.ts +4 -0
  29. package/measurements.js +50 -0
  30. package/measurements.js.map +1 -0
  31. package/misc.d.ts +8 -0
  32. package/misc.js +17 -0
  33. package/misc.js.map +1 -0
  34. package/options.d.ts +125 -0
  35. package/options.js +2 -0
  36. package/options.js.map +1 -0
  37. package/package.json +9 -12
  38. package/platforms/android/buildscript.gradle +6 -2
  39. package/platforms/android/include.gradle +1 -1
  40. package/platforms/android/native-api-usage.json +4 -1
  41. package/platforms/android/sentry.aar +0 -0
  42. package/platforms/ios/Podfile +1 -1
  43. package/platforms/ios/src/NSSentry.h +8 -3
  44. package/platforms/ios/src/NSSentry.m +41 -0
  45. package/scope.d.ts +1 -45
  46. package/scope.js +90 -68
  47. package/scope.js.map +1 -1
  48. package/sdk.d.ts +27 -3
  49. package/sdk.js +105 -30
  50. package/sdk.js.map +1 -1
  51. package/tracing/index.d.ts +2 -1
  52. package/tracing/index.js +14 -6
  53. package/tracing/index.js.map +1 -1
  54. package/tracing/nativeframes.d.ts +68 -0
  55. package/tracing/nativeframes.js +175 -0
  56. package/tracing/nativeframes.js.map +1 -0
  57. package/tracing/nstracing.d.ts +98 -47
  58. package/tracing/nstracing.js +164 -44
  59. package/tracing/nstracing.js.map +1 -1
  60. package/tracing/routingInstrumentation.d.ts +46 -0
  61. package/tracing/routingInstrumentation.js +33 -0
  62. package/tracing/routingInstrumentation.js.map +1 -0
  63. package/tracing/stalltracking.d.ts +92 -0
  64. package/tracing/stalltracking.js +258 -0
  65. package/tracing/stalltracking.js.map +1 -0
  66. package/tracing/types.d.ts +13 -0
  67. package/tracing/types.js +2 -0
  68. package/tracing/types.js.map +1 -0
  69. package/tracing/utils.d.ts +22 -1
  70. package/tracing/utils.js +51 -2
  71. package/tracing/utils.js.map +1 -1
  72. package/transports/TextEncoder.d.ts +2 -0
  73. package/transports/TextEncoder.js +12 -0
  74. package/transports/TextEncoder.js.map +1 -0
  75. package/transports/native.d.ts +20 -8
  76. package/transports/native.js +21 -13
  77. package/transports/native.js.map +1 -1
  78. package/utils/envelope.d.ts +11 -0
  79. package/utils/envelope.js +21 -0
  80. package/utils/envelope.js.map +1 -0
  81. package/utils/outcome.d.ts +5 -0
  82. package/utils/outcome.js +19 -0
  83. package/utils/outcome.js.map +1 -0
  84. package/utils/safe.d.ts +17 -0
  85. package/utils/safe.js +46 -0
  86. package/utils/safe.js.map +1 -0
  87. package/vendor/buffer/index.d.ts +1 -0
  88. package/vendor/buffer/index.js +2 -0
  89. package/vendor/buffer/index.js.map +1 -0
  90. package/vendor/buffer/utf8ToBytes.d.ts +9 -0
  91. package/vendor/buffer/utf8ToBytes.js +81 -0
  92. package/vendor/buffer/utf8ToBytes.js.map +1 -0
  93. package/vendor/index.d.ts +1 -0
  94. package/vendor/index.js +2 -0
  95. package/vendor/index.js.map +1 -0
  96. package/version.d.ts +2 -1
  97. package/version.js +2 -1
  98. package/version.js.map +1 -1
  99. package/wrapper.android.d.ts +30 -0
  100. package/wrapper.android.js +952 -0
  101. package/wrapper.android.js.map +1 -0
  102. package/wrapper.d.ts +88 -0
  103. package/wrapper.ios.d.ts +34 -0
  104. package/wrapper.ios.js +497 -0
  105. package/wrapper.ios.js.map +1 -0
  106. package/pnpm-lock.yaml +0 -914
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapper.android.js","sourceRoot":"","sources":["../src/wrapper.android.ts"],"names":[],"mappings":"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"}
package/wrapper.d.ts ADDED
@@ -0,0 +1,88 @@
1
+ import {
2
+ Attachment,
3
+ AttachmentItem,
4
+ BaseEnvelopeItemHeaders,
5
+ Breadcrumb,
6
+ ClientReportItem,
7
+ Envelope,
8
+ Event,
9
+ EventItem,
10
+ Package,
11
+ SessionItem,
12
+ SeverityLevel,
13
+ User,
14
+ UserFeedbackItem,
15
+ } from '@sentry/types';
16
+ import { NativescriptOptions } from './options';
17
+ import { SentryError, logger } from '@sentry/utils';
18
+ import { Hub, Scope } from '@sentry/core';
19
+
20
+ export interface NativeAppStartResponse {
21
+ isColdStart: boolean;
22
+ appStartTime: number;
23
+ didFetchAppStart: boolean;
24
+ }
25
+
26
+ export interface NativeFramesResponse {
27
+ totalFrames: number;
28
+ slowFrames: number;
29
+ frozenFrames: number;
30
+ }
31
+
32
+ export interface NativeReleaseResponse {
33
+ build: string;
34
+ id: string;
35
+ version: string;
36
+ }
37
+ export interface UserFeedback {
38
+ eventId: string;
39
+ comments?: string;
40
+ email?: string;
41
+ name?: string;
42
+ }
43
+
44
+ export namespace NATIVE {
45
+ const nativeClientAvailable: boolean;
46
+ const nativeTransport: boolean;
47
+ let enableNative: boolean;
48
+ function sendEvent(event: Event, hint?): Promise<boolean>;
49
+ function sendEnvelope(envelope: Envelope): Promise<void>;
50
+ function initNativeSdk(options: NativescriptOptions): Promise<boolean>;
51
+ function closeNativeSdk(): Promise<void>;
52
+ function nativeCrash();
53
+ function flush(timeout: number);
54
+ function fetchNativeDeviceContexts(): Promise<any>;
55
+ function captureUserFeedback(feedback: UserFeedback);
56
+ function isNativeTransportAvailable(): boolean;
57
+
58
+ function disableNativeFramesTracking();
59
+ function fetchNativeSdkInfo(): any;
60
+ function fetchNativeRelease(): any;
61
+ function fetchNativeFrames(): Promise<{
62
+ totalFrames;
63
+ slowFrames;
64
+ frozenFrames;
65
+ }>;
66
+ function fetchNativeAppStart(): Promise<{
67
+ isColdStart;
68
+ appStartTime;
69
+ didFetchAppStart;
70
+ }>;
71
+ function closeNativeSdk();
72
+
73
+ function setUser(user: User | null);
74
+ function setTag(key: string, value: string);
75
+
76
+ function setExtra(key: string, extra: any);
77
+
78
+ function addBreadcrumb(breadcrumb: Breadcrumb, maxBreadcrumbs?: number);
79
+ function addAttachment(attachment: Attachment);
80
+
81
+ function clearBreadcrumbs();
82
+
83
+ function setContext(key: string, context: { [key: string]: any } | null);
84
+
85
+ function withScope(callback: (scope: Scope) => void): ReturnType<Hub['withScope']>;
86
+
87
+ function utf8ToBytes(str: string): Uint8Array;
88
+ }
@@ -0,0 +1,34 @@
1
+ import { Envelope } from '@sentry/types';
2
+ import { NativescriptOptions } from './options';
3
+ export declare namespace NATIVE {
4
+ function isNativeTransportAvailable(): boolean;
5
+ function fetchNativeSdkInfo(): {
6
+ name: string;
7
+ version: string;
8
+ } | {
9
+ name?: undefined;
10
+ version?: undefined;
11
+ };
12
+ function fetchNativeRelease(): any;
13
+ function closeNativeSdk(): void;
14
+ /**
15
+ * Sending the envelope over the bridge to native
16
+ * @param envelope Envelope
17
+ */
18
+ function sendEnvelope(envelope: Envelope): Promise<void>;
19
+ function initNativeSdk(originalOptions?: NativescriptOptions): Promise<boolean>;
20
+ function nativeCrash(): void;
21
+ function flush(timeout: number): void;
22
+ function fetchNativeDeviceContexts(): Promise<{}>;
23
+ function disableNativeFramesTracking(): void;
24
+ function fetchNativeAppStart(): Promise<{
25
+ isColdStart: boolean;
26
+ appStartTime: number;
27
+ didFetchAppStart: boolean;
28
+ }>;
29
+ function fetchNativeFrames(): Promise<{
30
+ totalFrames: number;
31
+ slowFrames: number;
32
+ frozenFrames: number;
33
+ }>;
34
+ }
package/wrapper.ios.js ADDED
@@ -0,0 +1,497 @@
1
+ import { SentryError, logger } from '@sentry/utils';
2
+ import { isHardCrash } from './misc';
3
+ import { utf8ToBytes } from './vendor';
4
+ const numberHasDecimals = function (value) {
5
+ return !(value % 1 === 0);
6
+ };
7
+ const numberIs64Bit = function (value) {
8
+ return value < -Math.pow(2, 31) + 1 || value > Math.pow(2, 31) - 1;
9
+ };
10
+ function dataSerialize(data, wrapPrimitives) {
11
+ switch (typeof data) {
12
+ case 'string':
13
+ case 'boolean': {
14
+ return data;
15
+ }
16
+ case 'number': {
17
+ const hasDecimals = numberHasDecimals(data);
18
+ if (numberIs64Bit(data)) {
19
+ if (hasDecimals) {
20
+ return NSNumber.alloc().initWithDouble(data);
21
+ }
22
+ else {
23
+ return NSNumber.alloc().initWithLongLong(data);
24
+ }
25
+ }
26
+ else {
27
+ if (hasDecimals) {
28
+ return NSNumber.alloc().initWithFloat(data);
29
+ }
30
+ else {
31
+ return data;
32
+ }
33
+ }
34
+ }
35
+ case 'object': {
36
+ if (data instanceof Date) {
37
+ return NSDate.dateWithTimeIntervalSince1970(data.getTime() / 1000);
38
+ }
39
+ if (!data) {
40
+ return null;
41
+ }
42
+ if (Array.isArray(data)) {
43
+ return NSArray.arrayWithArray(data.map(dataSerialize));
44
+ }
45
+ const node = {};
46
+ Object.keys(data).forEach(function (key) {
47
+ const value = data[key];
48
+ node[key] = dataSerialize(value, wrapPrimitives);
49
+ });
50
+ return NSDictionary.dictionaryWithDictionary(node);
51
+ }
52
+ default:
53
+ return null;
54
+ }
55
+ }
56
+ ;
57
+ export var NATIVE;
58
+ (function (NATIVE) {
59
+ let enableNative = true;
60
+ const _DisabledNativeError = new SentryError('Native is disabled');
61
+ function isNativeTransportAvailable() {
62
+ return enableNative;
63
+ }
64
+ NATIVE.isNativeTransportAvailable = isNativeTransportAvailable;
65
+ function fetchNativeSdkInfo() {
66
+ if (sentryOptions) {
67
+ return {
68
+ name: nSentryOptions.sdkInfo.name,
69
+ version: nSentryOptions.sdkInfo.version
70
+ };
71
+ }
72
+ return {};
73
+ }
74
+ NATIVE.fetchNativeSdkInfo = fetchNativeSdkInfo;
75
+ let nativeRelease;
76
+ function fetchNativeRelease() {
77
+ if (!enableNative) {
78
+ throw _DisabledNativeError;
79
+ }
80
+ if (!nativeRelease) {
81
+ const infoDict = NSBundle.mainBundle.infoDictionary;
82
+ nativeRelease = {
83
+ id: infoDict.objectForKey('CFBundleIdentifier'),
84
+ version: infoDict.objectForKey('CFBundleShortVersionString'),
85
+ build: infoDict.objectForKey('CFBundleVersion')
86
+ };
87
+ }
88
+ return nativeRelease;
89
+ }
90
+ NATIVE.fetchNativeRelease = fetchNativeRelease;
91
+ function closeNativeSdk() {
92
+ NSSentrySDK.close();
93
+ }
94
+ NATIVE.closeNativeSdk = closeNativeSdk;
95
+ /**
96
+ * Get breadcrumbs (removes breadcrumbs from handled exceptions on Android)
97
+ *
98
+ * We do this to avoid duplicate breadcrumbs on Android as sentry-android applies the breadcrumbs
99
+ * from the native scope onto every envelope sent through it. This scope will contain the breadcrumbs
100
+ * sent through the scope sync feature. This causes duplicate breadcrumbs.
101
+ * We then remove the breadcrumbs in all cases but if it is handled == false,
102
+ * this is a signal that the app would crash and android would lose the breadcrumbs by the time the app is restarted to read
103
+ * the envelope.
104
+ */
105
+ function _getBreadcrumbs(event) {
106
+ const breadcrumbs = event.breadcrumbs;
107
+ return breadcrumbs;
108
+ }
109
+ /**
110
+ * Convert js severity level in event.level and event.breadcrumbs to more widely supported levels.
111
+ * @param event
112
+ * @returns Event with more widely supported Severity level strings
113
+ */
114
+ function _processLevels(event) {
115
+ var _a;
116
+ const processed = Object.assign(Object.assign({}, event), { level: event.level ? _processLevel(event.level) : undefined, breadcrumbs: (_a = event.breadcrumbs) === null || _a === void 0 ? void 0 : _a.map((breadcrumb) => (Object.assign(Object.assign({}, breadcrumb), { level: breadcrumb.level
117
+ ? _processLevel(breadcrumb.level)
118
+ : undefined }))) });
119
+ return processed;
120
+ }
121
+ /**
122
+ * Convert js severity level which has critical and log to more widely supported levels.
123
+ * @param level
124
+ * @returns More widely supported Severity level strings
125
+ */
126
+ function _processLevel(level) {
127
+ if (level === 'log') {
128
+ return 'debug';
129
+ }
130
+ else if (level === 'critical') {
131
+ return 'fatal';
132
+ }
133
+ return level;
134
+ }
135
+ /**
136
+ * Gets the event from envelopeItem and applies the level filter to the selected event.
137
+ * @param data An envelope item containing the event.
138
+ * @returns The event from envelopeItem or undefined.
139
+ */
140
+ function _processItem(item) {
141
+ const [itemHeader, itemPayload] = item;
142
+ if (itemHeader.type === 'event' || itemHeader.type === 'transaction') {
143
+ const event = _processLevels(itemPayload);
144
+ event.breadcrumbs = _getBreadcrumbs(event);
145
+ return [itemHeader, event];
146
+ }
147
+ return item;
148
+ }
149
+ function setEventEnvironmentTag(event, environment) {
150
+ event.tags = NSDictionary.dictionaryWithDictionary({
151
+ 'event.origin': 'ios',
152
+ 'event.environment': environment
153
+ });
154
+ }
155
+ function setEventOriginTag(event) {
156
+ if (event.sdk) {
157
+ const sdkName = event.sdk.objectForKey('name');
158
+ // If the event is from react native, it gets set there and we do not handle
159
+ // it here.
160
+ if (sdkName === 'sentry.cocoa') {
161
+ setEventEnvironmentTag(event, 'native');
162
+ }
163
+ }
164
+ }
165
+ /**
166
+ * Sending the envelope over the bridge to native
167
+ * @param envelope Envelope
168
+ */
169
+ async function sendEnvelope(envelope) {
170
+ if (!enableNative) {
171
+ logger.warn('Event was skipped as native SDK is not enabled.');
172
+ return;
173
+ }
174
+ const [EOL] = utf8ToBytes('\n');
175
+ const [envelopeHeader, envelopeItems] = envelope;
176
+ const headerString = JSON.stringify(envelopeHeader);
177
+ const envelopeBytes = utf8ToBytes(headerString);
178
+ envelopeBytes.push(EOL);
179
+ let hardCrashed = false;
180
+ for (const rawItem of envelopeItems) {
181
+ const [itemHeader, itemPayload] = _processItem(rawItem);
182
+ let bytesPayload = [];
183
+ if (typeof itemPayload === 'string') {
184
+ bytesPayload = utf8ToBytes(itemPayload);
185
+ }
186
+ else if (itemPayload instanceof Uint8Array) {
187
+ bytesPayload = [...itemPayload];
188
+ }
189
+ else if (itemPayload instanceof ArrayBuffer) {
190
+ bytesPayload = [...new Uint8Array(itemPayload)];
191
+ }
192
+ else {
193
+ bytesPayload = utf8ToBytes(JSON.stringify(itemPayload));
194
+ if (!hardCrashed) {
195
+ hardCrashed = isHardCrash(itemPayload);
196
+ }
197
+ }
198
+ // Content type is not inside BaseEnvelopeItemHeaders.
199
+ itemHeader.content_type = 'application/json';
200
+ itemHeader.length = bytesPayload.length;
201
+ const serializedItemHeader = JSON.stringify(itemHeader);
202
+ envelopeBytes.push(...utf8ToBytes(serializedItemHeader));
203
+ envelopeBytes.push(EOL);
204
+ envelopeBytes.push(...bytesPayload);
205
+ envelopeBytes.push(EOL);
206
+ }
207
+ const data = NSData.dataWithData(new Uint8Array(envelopeBytes).buffer);
208
+ const nEnvelope = NSSentrySDK.envelopeWithData(data);
209
+ if (!envelope) {
210
+ throw new Error('Failed to parse envelope from byte array.');
211
+ }
212
+ if (hardCrashed) {
213
+ // Storing to disk happens asynchronously with captureEnvelope
214
+ NSSentrySDK.storeEnvelope(nEnvelope);
215
+ }
216
+ else {
217
+ NSSentrySDK.captureEnvelope(nEnvelope);
218
+ }
219
+ if (sentryOptions.flushSendEvent) {
220
+ NSSentrySDK.flush(0);
221
+ }
222
+ }
223
+ NATIVE.sendEnvelope = sendEnvelope;
224
+ let sentryOptions;
225
+ let nSentryOptions;
226
+ async function initNativeSdk(originalOptions = {}) {
227
+ try {
228
+ const options = Object.assign({ enableNative: true }, originalOptions);
229
+ if (!options.enableNative) {
230
+ if (options.enableNativeNagger) {
231
+ console.warn('Note: Native Sentry SDK is disabled.');
232
+ }
233
+ enableNative = false;
234
+ return false;
235
+ }
236
+ if (!options.autoInitializeNativeSdk) {
237
+ if (options.enableNativeNagger) {
238
+ console.warn('Note: Native Sentry SDK was not initialized automatically, you will need to initialize it manually. If you wish to disable the native SDK and get rid of this warning, pass enableNative: false');
239
+ }
240
+ return false;
241
+ }
242
+ if (!options.dsn) {
243
+ console.warn('Warning: No DSN was provided. The Sentry SDK will be disabled. Native SDK will also not be initalized.');
244
+ return false;
245
+ }
246
+ sentryOptions = options;
247
+ const { tracesSampleRate, tracesSampler, beforeSend } = options, toPassOptions = __rest(options, ["tracesSampleRate", "tracesSampler", "beforeSend"]);
248
+ Object.keys(toPassOptions).forEach((k) => {
249
+ const value = toPassOptions[k];
250
+ const valuetype = typeof value;
251
+ if (valuetype === 'undefined' || valuetype === 'object' || valuetype === 'function' || Array.isArray(value)) {
252
+ delete toPassOptions[k];
253
+ }
254
+ });
255
+ const mutDict = NSMutableDictionary.alloc().initWithDictionary(dataSerialize(toPassOptions));
256
+ nSentryOptions = SentryOptions.alloc().initWithDictDidFailWithError(mutDict);
257
+ // before send right now is never called when we send the envelope
258
+ nSentryOptions.beforeSend = (event) => {
259
+ if (beforeSend) {
260
+ beforeSend(event, null);
261
+ }
262
+ setEventOriginTag(event);
263
+ return event;
264
+ };
265
+ if (toPassOptions.hasOwnProperty('enableNativeCrashHandling')) {
266
+ if (!toPassOptions.enableNativeCrashHandling) {
267
+ const integrations = nSentryOptions.integrations.mutableCopy();
268
+ integrations.removeObject('SentryCrashIntegration');
269
+ nSentryOptions.integrations = integrations;
270
+ }
271
+ }
272
+ if (toPassOptions.hasOwnProperty('enableAutoPerformanceTracking')) {
273
+ NSSentrySDK.appStartMeasurementHybridSDKMode = toPassOptions.enableAutoPerformanceTracking;
274
+ NSSentrySDK.framesTrackingMeasurementHybridSDKMode = toPassOptions.enableAutoPerformanceTracking;
275
+ }
276
+ NSSentrySDK.startWithOptionsObject(nSentryOptions);
277
+ return (true);
278
+ }
279
+ catch (error) {
280
+ enableNative = false;
281
+ console.error('initNativeSdk', error, error.stack);
282
+ return false;
283
+ }
284
+ }
285
+ NATIVE.initNativeSdk = initNativeSdk;
286
+ function nativeCrash() {
287
+ NSSentrySDK.crash();
288
+ }
289
+ NATIVE.nativeCrash = nativeCrash;
290
+ function flush(timeout) {
291
+ NSSentrySDK.flush(timeout);
292
+ }
293
+ NATIVE.flush = flush;
294
+ function dictToJSON(dict) {
295
+ return JSON.parse(NSString.alloc().initWithDataEncoding(NSJSONSerialization.dataWithJSONObjectOptionsError(dict, 0), NSUTF8StringEncoding));
296
+ }
297
+ async function fetchNativeDeviceContexts() {
298
+ if (!enableNative) {
299
+ throw _DisabledNativeError;
300
+ }
301
+ let contexts = {};
302
+ NSSentrySDK.configureScope((scope) => {
303
+ try {
304
+ const result = dictToJSON(scope.serialize());
305
+ result['user'] = result['user'] || { id: NSSentrySDK.installationID };
306
+ contexts = result;
307
+ }
308
+ catch (error) {
309
+ console.error('fetchNativeDeviceContexts', error, error.stack);
310
+ }
311
+ });
312
+ return (contexts);
313
+ }
314
+ NATIVE.fetchNativeDeviceContexts = fetchNativeDeviceContexts;
315
+ // export function captureUserFeedback(feedback: UserFeedback) {
316
+ // if (!enableNative) {
317
+ // return;
318
+ // }
319
+ // const userFeedback = SentryUserFeedback.alloc().initWithEventId(SentryId.alloc().initWithUUIDString(feedback.eventId));
320
+ // if (feedback.comments) {
321
+ // userFeedback.comments = feedback.comments;
322
+ // }
323
+ // if (feedback.email) {
324
+ // userFeedback.email = feedback.email;
325
+ // }
326
+ // if (feedback.name) {
327
+ // userFeedback.name = feedback.name;
328
+ // }
329
+ // NSSentrySDK.captureUserFeedback(userFeedback);
330
+ // }
331
+ // function eventLevel(level) {
332
+ // switch (level) {
333
+ // case 'fatal':
334
+ // return SentryLevel.kSentryLevelFatal;
335
+ // case 'warning':
336
+ // return SentryLevel.kSentryLevelWarning;
337
+ // case 'info':
338
+ // case 'log':
339
+ // return SentryLevel.kSentryLevelInfo;
340
+ // case 'debug':
341
+ // return SentryLevel.kSentryLevelDebug;
342
+ // default:
343
+ // return SentryLevel.kSentryLevelError;
344
+ // }
345
+ // }
346
+ // export function setUser(user: User | null, otherUserKeys) {
347
+ // if (!enableNative) {
348
+ // return;
349
+ // }
350
+ // NSSentrySDK.configureScope((scope: SentryScope) => {
351
+ // if (!user && !otherUserKeys) {
352
+ // scope.setUser(null);
353
+ // } else {
354
+ // const userInstance = SentryUser.alloc().init();
355
+ // if (user) {
356
+ // userInstance.userId = user.id;
357
+ // userInstance.email = user.email;
358
+ // userInstance.username = user.username;
359
+ // }
360
+ // if (otherUserKeys) {
361
+ // const nStr = NSString.stringWithString(JSON.stringify(otherUserKeys));
362
+ // const nData = nStr.dataUsingEncoding(NSUTF8StringEncoding);
363
+ // userInstance.data = NSJSONSerialization.JSONObjectWithDataOptionsError(nData, 0);
364
+ // }
365
+ // scope.setUser(userInstance);
366
+ // }
367
+ // });
368
+ // }
369
+ // export function setTag(key: string, value: string) {
370
+ // if (!enableNative) {
371
+ // return;
372
+ // }
373
+ // NSSentrySDK.configureScope((scope: SentryScope) => {
374
+ // scope.setTagValueForKey(value, key);
375
+ // });
376
+ // }
377
+ // export function setExtra(key: string, extra: any) {
378
+ // if (!enableNative) {
379
+ // return;
380
+ // }
381
+ // NSSentrySDK.configureScope((scope: SentryScope) => {
382
+ // scope.setExtraValueForKey(extra, key);
383
+ // });
384
+ // }
385
+ // export function addBreadcrumb(breadcrumb: Breadcrumb, maxBreadcrumbs?: number) {
386
+ // if (!enableNative) {
387
+ // return;
388
+ // }
389
+ // NSSentrySDK.configureScope((scope: SentryScope) => {
390
+ // const breadcrumbInstance = SentryBreadcrumb.alloc().init();
391
+ // if (breadcrumb.level) {
392
+ // breadcrumbInstance.level = eventLevel(breadcrumb.level);
393
+ // }
394
+ // breadcrumbInstance.category = breadcrumb.category;
395
+ // breadcrumbInstance.type = breadcrumb.type;
396
+ // breadcrumbInstance.message = breadcrumb.message;
397
+ // if (breadcrumb.data) {
398
+ // const nStr = NSString.stringWithString(JSON.stringify(breadcrumb.data));
399
+ // const nData = nStr.dataUsingEncoding(NSUTF8StringEncoding);
400
+ // breadcrumbInstance.data = NSJSONSerialization.JSONObjectWithDataOptionsError(nData, 0);
401
+ // }
402
+ // scope.addBreadcrumb(breadcrumbInstance);
403
+ // });
404
+ // }
405
+ // let scopeScope = null;
406
+ // export function withScope(callback: (scope: Scope) => void) {
407
+ // scopeScope = SentryScope.alloc().init();
408
+ // // NSSentrySDK.withScope(new io.sentry.ScopeCallback({
409
+ // // run(nscope) {
410
+ // // nscope is ignored
411
+ // // console.log('native withScope', nscope);
412
+ // callback(null);
413
+ // scopeScope = null;
414
+ // // }
415
+ // // }));
416
+ // }
417
+ // export function addAttachment(attachment: Attachment) {
418
+ // if (!enableNative) {
419
+ // return;
420
+ // }
421
+ // NSSentrySDK.configureScope((scope: SentryScope) => {
422
+ // if (attachment.data) {
423
+ // if (typeof attachment.data === 'string') {
424
+ // attachment.data = new TextEncoder().encode(attachment.data);
425
+ // }
426
+ // scope.addAttachment(SentryAttachment.alloc().initWithDataFilenameContentType(attachment.data.buffer as any, attachment.filename, attachment.contentType));
427
+ // } else {
428
+ // scope.addAttachment(SentryAttachment.alloc().initWithPath(attachment.filename));
429
+ // }
430
+ // });
431
+ // }
432
+ // export function clearBreadcrumbs() {
433
+ // if (!enableNative) {
434
+ // return;
435
+ // }
436
+ // NSSentrySDK.configureScope((scope: SentryScope) => {
437
+ // scope.clearBreadcrumbs();
438
+ // });
439
+ // }
440
+ // export function setContext(key: string, context: { [key: string]: any } | null) {
441
+ // if (!enableNative) {
442
+ // return;
443
+ // }
444
+ // NSSentrySDK.configureScope((scope: SentryScope) => {
445
+ // if (!context) {
446
+ // scope.setContextValueForKey(null, key);
447
+ // } else {
448
+ // const nStr = NSString.stringWithString(JSON.stringify(context));
449
+ // const nData = nStr.dataUsingEncoding(NSUTF8StringEncoding);
450
+ // scope.setContextValueForKey(NSJSONSerialization.JSONObjectWithDataOptionsError(nData, 0), key);
451
+ // }
452
+ // });
453
+ // }
454
+ function disableNativeFramesTracking() {
455
+ // only for android
456
+ }
457
+ NATIVE.disableNativeFramesTracking = disableNativeFramesTracking;
458
+ let didFetchAppStart = false;
459
+ async function fetchNativeAppStart() {
460
+ const appStartMeasurement = NSSentrySDK.appStartMeasurement;
461
+ const wasFetched = didFetchAppStart;
462
+ didFetchAppStart = true;
463
+ if (!appStartMeasurement) {
464
+ return null;
465
+ }
466
+ else {
467
+ const isColdStart = appStartMeasurement.type === 1 /* SentryAppStartType.Cold */;
468
+ return {
469
+ isColdStart,
470
+ 'appStartTime': (appStartMeasurement.appStartTimestamp.getTime() * 1000),
471
+ didFetchAppStart: wasFetched,
472
+ };
473
+ }
474
+ }
475
+ NATIVE.fetchNativeAppStart = fetchNativeAppStart;
476
+ async function fetchNativeFrames() {
477
+ if (NSSentrySDK.isFramesTrackingRunning) {
478
+ const frames = NSSentrySDK.currentScreenFrames;
479
+ if (frames) {
480
+ const totalFrames = frames.total;
481
+ const slowFrames = frames.slow;
482
+ const frozenFrames = frames.frozen;
483
+ if (totalFrames !== 0 || slowFrames !== 0 || frozenFrames !== 0) {
484
+ return null;
485
+ }
486
+ return {
487
+ totalFrames,
488
+ slowFrames,
489
+ frozenFrames
490
+ };
491
+ }
492
+ }
493
+ return null;
494
+ }
495
+ NATIVE.fetchNativeFrames = fetchNativeFrames;
496
+ })(NATIVE || (NATIVE = {}));
497
+ //# sourceMappingURL=wrapper.ios.js.map