@posthog/core 1.0.2 → 1.1.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/dist/error-tracking/chunk-ids.d.ts +5 -0
- package/dist/error-tracking/chunk-ids.d.ts.map +1 -0
- package/dist/error-tracking/chunk-ids.js +68 -0
- package/dist/error-tracking/chunk-ids.mjs +34 -0
- package/dist/error-tracking/coercers/dom-exception-coercer.d.ts +10 -0
- package/dist/error-tracking/coercers/dom-exception-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/dom-exception-coercer.js +65 -0
- package/dist/error-tracking/coercers/dom-exception-coercer.mjs +31 -0
- package/dist/error-tracking/coercers/error-coercer.d.ts +9 -0
- package/dist/error-tracking/coercers/error-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/error-coercer.js +61 -0
- package/dist/error-tracking/coercers/error-coercer.mjs +27 -0
- package/dist/error-tracking/coercers/error-event-coercer.d.ts +7 -0
- package/dist/error-tracking/coercers/error-event-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/error-event-coercer.js +53 -0
- package/dist/error-tracking/coercers/error-event-coercer.mjs +19 -0
- package/dist/error-tracking/coercers/event-coercer.d.ts +6 -0
- package/dist/error-tracking/coercers/event-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/event-coercer.js +52 -0
- package/dist/error-tracking/coercers/event-coercer.mjs +18 -0
- package/dist/error-tracking/coercers/index.d.ts +9 -0
- package/dist/error-tracking/coercers/index.d.ts.map +1 -0
- package/dist/error-tracking/coercers/index.js +123 -0
- package/dist/error-tracking/coercers/index.mjs +8 -0
- package/dist/error-tracking/coercers/object-coercer.d.ts +14 -0
- package/dist/error-tracking/coercers/object-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/object-coercer.js +86 -0
- package/dist/error-tracking/coercers/object-coercer.mjs +52 -0
- package/dist/error-tracking/coercers/primitive-coercer.d.ts +7 -0
- package/dist/error-tracking/coercers/primitive-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/primitive-coercer.js +50 -0
- package/dist/error-tracking/coercers/primitive-coercer.mjs +16 -0
- package/dist/error-tracking/coercers/promise-rejection-event.d.ts +7 -0
- package/dist/error-tracking/coercers/promise-rejection-event.d.ts.map +1 -0
- package/dist/error-tracking/coercers/promise-rejection-event.js +60 -0
- package/dist/error-tracking/coercers/promise-rejection-event.mjs +26 -0
- package/dist/error-tracking/coercers/string-coercer.d.ts +7 -0
- package/dist/error-tracking/coercers/string-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/string-coercer.js +64 -0
- package/dist/error-tracking/coercers/string-coercer.mjs +30 -0
- package/dist/error-tracking/coercers/utils.d.ts +8 -0
- package/dist/error-tracking/coercers/utils.d.ts.map +1 -0
- package/dist/error-tracking/coercers/utils.js +57 -0
- package/dist/error-tracking/coercers/utils.mjs +20 -0
- package/dist/error-tracking/error-properties-builder.d.ts +18 -0
- package/dist/error-tracking/error-properties-builder.d.ts.map +1 -0
- package/dist/error-tracking/error-properties-builder.js +156 -0
- package/dist/error-tracking/error-properties-builder.mjs +122 -0
- package/dist/error-tracking/index.d.ts +6 -0
- package/dist/error-tracking/index.d.ts.map +1 -0
- package/dist/error-tracking/index.js +87 -0
- package/dist/error-tracking/index.mjs +4 -0
- package/dist/error-tracking/parsers/base.d.ts +9 -0
- package/dist/error-tracking/parsers/base.d.ts.map +1 -0
- package/dist/error-tracking/parsers/base.js +71 -0
- package/dist/error-tracking/parsers/base.mjs +19 -0
- package/dist/error-tracking/parsers/chrome.d.ts +3 -0
- package/dist/error-tracking/parsers/chrome.d.ts.map +1 -0
- package/dist/error-tracking/parsers/chrome.js +61 -0
- package/dist/error-tracking/parsers/chrome.mjs +27 -0
- package/dist/error-tracking/parsers/gecko.d.ts +3 -0
- package/dist/error-tracking/parsers/gecko.d.ts.map +1 -0
- package/dist/error-tracking/parsers/gecko.js +58 -0
- package/dist/error-tracking/parsers/gecko.mjs +24 -0
- package/dist/error-tracking/parsers/index.d.ts +9 -0
- package/dist/error-tracking/parsers/index.d.ts.map +1 -0
- package/dist/error-tracking/parsers/index.js +101 -0
- package/dist/error-tracking/parsers/index.mjs +46 -0
- package/dist/error-tracking/parsers/node.d.ts +3 -0
- package/dist/error-tracking/parsers/node.d.ts.map +1 -0
- package/dist/error-tracking/parsers/node.js +101 -0
- package/dist/error-tracking/parsers/node.mjs +67 -0
- package/dist/error-tracking/parsers/opera.d.ts +4 -0
- package/dist/error-tracking/parsers/opera.d.ts.map +1 -0
- package/dist/error-tracking/parsers/opera.js +49 -0
- package/dist/error-tracking/parsers/opera.mjs +12 -0
- package/dist/error-tracking/parsers/react-native.d.ts +1 -0
- package/dist/error-tracking/parsers/react-native.d.ts.map +1 -0
- package/dist/error-tracking/parsers/react-native.js +5 -0
- package/dist/error-tracking/parsers/react-native.mjs +0 -0
- package/dist/error-tracking/parsers/safari.d.ts +22 -0
- package/dist/error-tracking/parsers/safari.d.ts.map +1 -0
- package/dist/error-tracking/parsers/safari.js +47 -0
- package/dist/error-tracking/parsers/safari.mjs +13 -0
- package/dist/error-tracking/parsers/winjs.d.ts +3 -0
- package/dist/error-tracking/parsers/winjs.d.ts.map +1 -0
- package/dist/error-tracking/parsers/winjs.js +41 -0
- package/dist/error-tracking/parsers/winjs.mjs +7 -0
- package/dist/error-tracking/types.d.ts +87 -0
- package/dist/error-tracking/types.d.ts.map +1 -0
- package/dist/error-tracking/types.js +43 -0
- package/dist/error-tracking/types.mjs +9 -0
- package/dist/error-tracking/utils.d.ts +13 -0
- package/dist/error-tracking/utils.d.ts.map +1 -0
- package/dist/error-tracking/utils.js +57 -0
- package/dist/error-tracking/utils.mjs +23 -0
- package/dist/index.d.ts +121 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -4
- package/dist/index.mjs +5 -4
- package/dist/testing/test-utils.d.ts +2 -0
- package/dist/testing/test-utils.d.ts.map +1 -1
- package/dist/testing/test-utils.js +12 -0
- package/dist/testing/test-utils.mjs +10 -1
- package/dist/utils/bucketed-rate-limiter.d.ts.map +1 -1
- package/dist/utils/number-utils.d.ts.map +1 -1
- package/dist/utils/type-utils.d.ts +8 -1
- package/dist/utils/type-utils.d.ts.map +1 -1
- package/dist/utils/type-utils.js +61 -6
- package/dist/utils/type-utils.mjs +36 -2
- package/package.json +8 -3
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CoercingContext, ErrorTrackingCoercer, ExceptionLike } from '../types';
|
|
2
|
+
type ObjectLike = Record<string, unknown>;
|
|
3
|
+
export declare class ObjectCoercer implements ErrorTrackingCoercer<ObjectLike> {
|
|
4
|
+
match(candidate: unknown): candidate is ObjectLike;
|
|
5
|
+
coerce(candidate: ObjectLike, ctx: CoercingContext): ExceptionLike | undefined;
|
|
6
|
+
getType(err: Record<string, unknown>): string;
|
|
7
|
+
getValue(err: object): string;
|
|
8
|
+
private isSeverityLevel;
|
|
9
|
+
/** If a plain object has a property that is an `Error`, return this error. */
|
|
10
|
+
private getErrorPropertyFromObject;
|
|
11
|
+
private getObjectClassName;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=object-coercer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-coercer.d.ts","sourceRoot":"","sources":["../../../src/error-tracking/coercers/object-coercer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAiC,MAAM,UAAU,CAAA;AAG9G,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEzC,qBAAa,aAAc,YAAW,oBAAoB,CAAC,UAAU,CAAC;IACpE,KAAK,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,UAAU;IAIlD,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,GAAG,aAAa,GAAG,SAAS;IAe9E,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAI7C,QAAQ,CAAC,GAAG,EAAE,MAAM;IAmBpB,OAAO,CAAC,eAAe;IAIvB,8EAA8E;IAC9E,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,kBAAkB;CAQ3B"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
ObjectCoercer: ()=>ObjectCoercer
|
|
28
|
+
});
|
|
29
|
+
const index_js_namespaceObject = require("../../utils/index.js");
|
|
30
|
+
const external_types_js_namespaceObject = require("../types.js");
|
|
31
|
+
const external_utils_js_namespaceObject = require("./utils.js");
|
|
32
|
+
class ObjectCoercer {
|
|
33
|
+
match(candidate) {
|
|
34
|
+
return 'object' == typeof candidate && null !== candidate;
|
|
35
|
+
}
|
|
36
|
+
coerce(candidate, ctx) {
|
|
37
|
+
const errorProperty = this.getErrorPropertyFromObject(candidate);
|
|
38
|
+
if (errorProperty) return ctx.apply(errorProperty);
|
|
39
|
+
var _ctx_syntheticException;
|
|
40
|
+
return {
|
|
41
|
+
type: this.getType(candidate),
|
|
42
|
+
value: this.getValue(candidate),
|
|
43
|
+
stack: null == (_ctx_syntheticException = ctx.syntheticException) ? void 0 : _ctx_syntheticException.stack,
|
|
44
|
+
level: this.isSeverityLevel(candidate.level) ? candidate.level : 'error',
|
|
45
|
+
synthetic: true
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
getType(err) {
|
|
49
|
+
return (0, index_js_namespaceObject.isEvent)(err) ? err.constructor.name : 'Error';
|
|
50
|
+
}
|
|
51
|
+
getValue(err) {
|
|
52
|
+
if ('name' in err && 'string' == typeof err.name) {
|
|
53
|
+
let message = `'${err.name}' captured as exception`;
|
|
54
|
+
if ('message' in err && 'string' == typeof err.message) message += ` with message: '${err.message}'`;
|
|
55
|
+
return message;
|
|
56
|
+
}
|
|
57
|
+
if ('message' in err && 'string' == typeof err.message) return err.message;
|
|
58
|
+
const className = this.getObjectClassName(err);
|
|
59
|
+
const keys = (0, external_utils_js_namespaceObject.extractExceptionKeysForMessage)(err);
|
|
60
|
+
return `${className && 'Object' !== className ? `'${className}'` : 'Object'} captured as exception with keys: ${keys}`;
|
|
61
|
+
}
|
|
62
|
+
isSeverityLevel(x) {
|
|
63
|
+
return (0, index_js_namespaceObject.isString)(x) && !(0, index_js_namespaceObject.isEmptyString)(x) && external_types_js_namespaceObject.severityLevels.indexOf(x) >= 0;
|
|
64
|
+
}
|
|
65
|
+
getErrorPropertyFromObject(obj) {
|
|
66
|
+
for(const prop in obj)if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
|
67
|
+
const value = obj[prop];
|
|
68
|
+
if ((0, index_js_namespaceObject.isError)(value)) return value;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
getObjectClassName(obj) {
|
|
72
|
+
try {
|
|
73
|
+
const prototype = Object.getPrototypeOf(obj);
|
|
74
|
+
return prototype ? prototype.constructor.name : void 0;
|
|
75
|
+
} catch (e) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.ObjectCoercer = __webpack_exports__.ObjectCoercer;
|
|
81
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
82
|
+
"ObjectCoercer"
|
|
83
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
84
|
+
Object.defineProperty(exports, '__esModule', {
|
|
85
|
+
value: true
|
|
86
|
+
});
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { isEmptyString, isError, isEvent, isString } from "../../utils/index.mjs";
|
|
2
|
+
import { severityLevels } from "../types.mjs";
|
|
3
|
+
import { extractExceptionKeysForMessage } from "./utils.mjs";
|
|
4
|
+
class ObjectCoercer {
|
|
5
|
+
match(candidate) {
|
|
6
|
+
return 'object' == typeof candidate && null !== candidate;
|
|
7
|
+
}
|
|
8
|
+
coerce(candidate, ctx) {
|
|
9
|
+
const errorProperty = this.getErrorPropertyFromObject(candidate);
|
|
10
|
+
if (errorProperty) return ctx.apply(errorProperty);
|
|
11
|
+
var _ctx_syntheticException;
|
|
12
|
+
return {
|
|
13
|
+
type: this.getType(candidate),
|
|
14
|
+
value: this.getValue(candidate),
|
|
15
|
+
stack: null == (_ctx_syntheticException = ctx.syntheticException) ? void 0 : _ctx_syntheticException.stack,
|
|
16
|
+
level: this.isSeverityLevel(candidate.level) ? candidate.level : 'error',
|
|
17
|
+
synthetic: true
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
getType(err) {
|
|
21
|
+
return isEvent(err) ? err.constructor.name : 'Error';
|
|
22
|
+
}
|
|
23
|
+
getValue(err) {
|
|
24
|
+
if ('name' in err && 'string' == typeof err.name) {
|
|
25
|
+
let message = `'${err.name}' captured as exception`;
|
|
26
|
+
if ('message' in err && 'string' == typeof err.message) message += ` with message: '${err.message}'`;
|
|
27
|
+
return message;
|
|
28
|
+
}
|
|
29
|
+
if ('message' in err && 'string' == typeof err.message) return err.message;
|
|
30
|
+
const className = this.getObjectClassName(err);
|
|
31
|
+
const keys = extractExceptionKeysForMessage(err);
|
|
32
|
+
return `${className && 'Object' !== className ? `'${className}'` : 'Object'} captured as exception with keys: ${keys}`;
|
|
33
|
+
}
|
|
34
|
+
isSeverityLevel(x) {
|
|
35
|
+
return isString(x) && !isEmptyString(x) && severityLevels.indexOf(x) >= 0;
|
|
36
|
+
}
|
|
37
|
+
getErrorPropertyFromObject(obj) {
|
|
38
|
+
for(const prop in obj)if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
|
39
|
+
const value = obj[prop];
|
|
40
|
+
if (isError(value)) return value;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
getObjectClassName(obj) {
|
|
44
|
+
try {
|
|
45
|
+
const prototype = Object.getPrototypeOf(obj);
|
|
46
|
+
return prototype ? prototype.constructor.name : void 0;
|
|
47
|
+
} catch (e) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export { ObjectCoercer };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CoercingContext, ErrorTrackingCoercer, ExceptionLike } from '../types';
|
|
2
|
+
export type PrimitiveType = null | undefined | boolean | number | string | symbol | bigint;
|
|
3
|
+
export declare class PrimitiveCoercer implements ErrorTrackingCoercer<PrimitiveType> {
|
|
4
|
+
match(candidate: unknown): candidate is PrimitiveType;
|
|
5
|
+
coerce(value: PrimitiveType, ctx: CoercingContext): ExceptionLike | undefined;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=primitive-coercer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitive-coercer.d.ts","sourceRoot":"","sources":["../../../src/error-tracking/coercers/primitive-coercer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE/E,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAE1F,qBAAa,gBAAiB,YAAW,oBAAoB,CAAC,aAAa,CAAC;IAC1E,KAAK,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,aAAa;IAIrD,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,GAAG,aAAa,GAAG,SAAS;CAQ9E"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
PrimitiveCoercer: ()=>PrimitiveCoercer
|
|
28
|
+
});
|
|
29
|
+
const index_js_namespaceObject = require("../../utils/index.js");
|
|
30
|
+
class PrimitiveCoercer {
|
|
31
|
+
match(candidate) {
|
|
32
|
+
return (0, index_js_namespaceObject.isPrimitive)(candidate);
|
|
33
|
+
}
|
|
34
|
+
coerce(value, ctx) {
|
|
35
|
+
var _ctx_syntheticException;
|
|
36
|
+
return {
|
|
37
|
+
type: 'Error',
|
|
38
|
+
value: `Primitive value captured as exception: ${String(value)}`,
|
|
39
|
+
stack: null == (_ctx_syntheticException = ctx.syntheticException) ? void 0 : _ctx_syntheticException.stack,
|
|
40
|
+
synthetic: true
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.PrimitiveCoercer = __webpack_exports__.PrimitiveCoercer;
|
|
45
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
46
|
+
"PrimitiveCoercer"
|
|
47
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
48
|
+
Object.defineProperty(exports, '__esModule', {
|
|
49
|
+
value: true
|
|
50
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { isPrimitive } from "../../utils/index.mjs";
|
|
2
|
+
class PrimitiveCoercer {
|
|
3
|
+
match(candidate) {
|
|
4
|
+
return isPrimitive(candidate);
|
|
5
|
+
}
|
|
6
|
+
coerce(value, ctx) {
|
|
7
|
+
var _ctx_syntheticException;
|
|
8
|
+
return {
|
|
9
|
+
type: 'Error',
|
|
10
|
+
value: `Primitive value captured as exception: ${String(value)}`,
|
|
11
|
+
stack: null == (_ctx_syntheticException = ctx.syntheticException) ? void 0 : _ctx_syntheticException.stack,
|
|
12
|
+
synthetic: true
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export { PrimitiveCoercer };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CoercingContext, ErrorTrackingCoercer, ExceptionLike } from '../types';
|
|
2
|
+
export declare class PromiseRejectionEventCoercer implements ErrorTrackingCoercer<PromiseRejectionEvent> {
|
|
3
|
+
match(err: unknown): err is PromiseRejectionEvent;
|
|
4
|
+
coerce(err: PromiseRejectionEvent, ctx: CoercingContext): ExceptionLike | undefined;
|
|
5
|
+
private getUnhandledRejectionReason;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=promise-rejection-event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promise-rejection-event.d.ts","sourceRoot":"","sources":["../../../src/error-tracking/coercers/promise-rejection-event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAG/E,qBAAa,4BAA6B,YAAW,oBAAoB,CAAC,qBAAqB,CAAC;IAC9F,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB;IAIjD,MAAM,CAAC,GAAG,EAAE,qBAAqB,EAAE,GAAG,EAAE,eAAe,GAAG,aAAa,GAAG,SAAS;IAcnF,OAAO,CAAC,2BAA2B;CA6BpC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
PromiseRejectionEventCoercer: ()=>PromiseRejectionEventCoercer
|
|
28
|
+
});
|
|
29
|
+
const index_js_namespaceObject = require("../../utils/index.js");
|
|
30
|
+
class PromiseRejectionEventCoercer {
|
|
31
|
+
match(err) {
|
|
32
|
+
return (0, index_js_namespaceObject.isBuiltin)(err, 'PromiseRejectionEvent');
|
|
33
|
+
}
|
|
34
|
+
coerce(err, ctx) {
|
|
35
|
+
const reason = this.getUnhandledRejectionReason(err);
|
|
36
|
+
if (!(0, index_js_namespaceObject.isPrimitive)(reason)) return ctx.apply(reason);
|
|
37
|
+
var _ctx_syntheticException;
|
|
38
|
+
return {
|
|
39
|
+
type: 'UnhandledRejection',
|
|
40
|
+
value: `Non-Error promise rejection captured with value: ${String(reason)}`,
|
|
41
|
+
stack: null == (_ctx_syntheticException = ctx.syntheticException) ? void 0 : _ctx_syntheticException.stack,
|
|
42
|
+
synthetic: true
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
getUnhandledRejectionReason(error) {
|
|
46
|
+
if ((0, index_js_namespaceObject.isPrimitive)(error)) return error;
|
|
47
|
+
try {
|
|
48
|
+
if ('reason' in error) return error.reason;
|
|
49
|
+
if ('detail' in error && 'reason' in error.detail) return error.detail.reason;
|
|
50
|
+
} catch (e) {}
|
|
51
|
+
return error;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.PromiseRejectionEventCoercer = __webpack_exports__.PromiseRejectionEventCoercer;
|
|
55
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
56
|
+
"PromiseRejectionEventCoercer"
|
|
57
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
58
|
+
Object.defineProperty(exports, '__esModule', {
|
|
59
|
+
value: true
|
|
60
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isBuiltin, isPrimitive } from "../../utils/index.mjs";
|
|
2
|
+
class PromiseRejectionEventCoercer {
|
|
3
|
+
match(err) {
|
|
4
|
+
return isBuiltin(err, 'PromiseRejectionEvent');
|
|
5
|
+
}
|
|
6
|
+
coerce(err, ctx) {
|
|
7
|
+
const reason = this.getUnhandledRejectionReason(err);
|
|
8
|
+
if (!isPrimitive(reason)) return ctx.apply(reason);
|
|
9
|
+
var _ctx_syntheticException;
|
|
10
|
+
return {
|
|
11
|
+
type: 'UnhandledRejection',
|
|
12
|
+
value: `Non-Error promise rejection captured with value: ${String(reason)}`,
|
|
13
|
+
stack: null == (_ctx_syntheticException = ctx.syntheticException) ? void 0 : _ctx_syntheticException.stack,
|
|
14
|
+
synthetic: true
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
getUnhandledRejectionReason(error) {
|
|
18
|
+
if (isPrimitive(error)) return error;
|
|
19
|
+
try {
|
|
20
|
+
if ('reason' in error) return error.reason;
|
|
21
|
+
if ('detail' in error && 'reason' in error.detail) return error.detail.reason;
|
|
22
|
+
} catch (e) {}
|
|
23
|
+
return error;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export { PromiseRejectionEventCoercer };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ExceptionLike, ErrorTrackingCoercer, CoercingContext } from '../types';
|
|
2
|
+
export declare class StringCoercer implements ErrorTrackingCoercer<string> {
|
|
3
|
+
match(input: unknown): input is string;
|
|
4
|
+
coerce(input: string, ctx: CoercingContext): ExceptionLike;
|
|
5
|
+
getInfos(candidate: string): [string, string];
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=string-coercer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-coercer.d.ts","sourceRoot":"","sources":["../../../src/error-tracking/coercers/string-coercer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAK/E,qBAAa,aAAc,YAAW,oBAAoB,CAAC,MAAM,CAAC;IAChE,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM;IAItC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,aAAa;IAU1D,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;CAU9C"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
StringCoercer: ()=>StringCoercer
|
|
28
|
+
});
|
|
29
|
+
const ERROR_TYPES_PATTERN = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;
|
|
30
|
+
class StringCoercer {
|
|
31
|
+
match(input) {
|
|
32
|
+
return 'string' == typeof input;
|
|
33
|
+
}
|
|
34
|
+
coerce(input, ctx) {
|
|
35
|
+
var _ctx_syntheticException;
|
|
36
|
+
const [type, value] = this.getInfos(input);
|
|
37
|
+
return {
|
|
38
|
+
type: null != type ? type : 'Error',
|
|
39
|
+
value: null != value ? value : input,
|
|
40
|
+
stack: null == (_ctx_syntheticException = ctx.syntheticException) ? void 0 : _ctx_syntheticException.stack,
|
|
41
|
+
synthetic: true
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
getInfos(candidate) {
|
|
45
|
+
let type = 'Error';
|
|
46
|
+
let value = candidate;
|
|
47
|
+
const groups = candidate.match(ERROR_TYPES_PATTERN);
|
|
48
|
+
if (groups) {
|
|
49
|
+
type = groups[1];
|
|
50
|
+
value = groups[2];
|
|
51
|
+
}
|
|
52
|
+
return [
|
|
53
|
+
type,
|
|
54
|
+
value
|
|
55
|
+
];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.StringCoercer = __webpack_exports__.StringCoercer;
|
|
59
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
60
|
+
"StringCoercer"
|
|
61
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
62
|
+
Object.defineProperty(exports, '__esModule', {
|
|
63
|
+
value: true
|
|
64
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const ERROR_TYPES_PATTERN = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;
|
|
2
|
+
class StringCoercer {
|
|
3
|
+
match(input) {
|
|
4
|
+
return 'string' == typeof input;
|
|
5
|
+
}
|
|
6
|
+
coerce(input, ctx) {
|
|
7
|
+
var _ctx_syntheticException;
|
|
8
|
+
const [type, value] = this.getInfos(input);
|
|
9
|
+
return {
|
|
10
|
+
type: null != type ? type : 'Error',
|
|
11
|
+
value: null != value ? value : input,
|
|
12
|
+
stack: null == (_ctx_syntheticException = ctx.syntheticException) ? void 0 : _ctx_syntheticException.stack,
|
|
13
|
+
synthetic: true
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
getInfos(candidate) {
|
|
17
|
+
let type = 'Error';
|
|
18
|
+
let value = candidate;
|
|
19
|
+
const groups = candidate.match(ERROR_TYPES_PATTERN);
|
|
20
|
+
if (groups) {
|
|
21
|
+
type = groups[1];
|
|
22
|
+
value = groups[2];
|
|
23
|
+
}
|
|
24
|
+
return [
|
|
25
|
+
type,
|
|
26
|
+
value
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export { StringCoercer };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function truncate(str: string, max?: number): string;
|
|
2
|
+
/**
|
|
3
|
+
* Given any captured exception, extract its keys and create a sorted
|
|
4
|
+
* and truncated list that will be used inside the event message.
|
|
5
|
+
* eg. `Non-error exception captured with keys: foo, bar, baz`
|
|
6
|
+
*/
|
|
7
|
+
export declare function extractExceptionKeysForMessage(err: object, maxLength?: number): string;
|
|
8
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/error-tracking/coercers/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,GAAG,MAAM,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAAK,GAAG,MAAM,CAoBlF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
extractExceptionKeysForMessage: ()=>extractExceptionKeysForMessage,
|
|
28
|
+
truncate: ()=>truncate
|
|
29
|
+
});
|
|
30
|
+
function truncate(str) {
|
|
31
|
+
let max = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;
|
|
32
|
+
if ('string' != typeof str || 0 === max) return str;
|
|
33
|
+
return str.length <= max ? str : `${str.slice(0, max)}...`;
|
|
34
|
+
}
|
|
35
|
+
function extractExceptionKeysForMessage(err) {
|
|
36
|
+
let maxLength = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 40;
|
|
37
|
+
const keys = Object.keys(err);
|
|
38
|
+
keys.sort();
|
|
39
|
+
if (!keys.length) return '[object has no keys]';
|
|
40
|
+
for(let i = keys.length; i > 0; i--){
|
|
41
|
+
const serialized = keys.slice(0, i).join(', ');
|
|
42
|
+
if (!(serialized.length > maxLength)) {
|
|
43
|
+
if (i === keys.length) return serialized;
|
|
44
|
+
return serialized.length <= maxLength ? serialized : `${serialized.slice(0, maxLength)}...`;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return '';
|
|
48
|
+
}
|
|
49
|
+
exports.extractExceptionKeysForMessage = __webpack_exports__.extractExceptionKeysForMessage;
|
|
50
|
+
exports.truncate = __webpack_exports__.truncate;
|
|
51
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
52
|
+
"extractExceptionKeysForMessage",
|
|
53
|
+
"truncate"
|
|
54
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
55
|
+
Object.defineProperty(exports, '__esModule', {
|
|
56
|
+
value: true
|
|
57
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
function truncate(str) {
|
|
2
|
+
let max = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;
|
|
3
|
+
if ('string' != typeof str || 0 === max) return str;
|
|
4
|
+
return str.length <= max ? str : `${str.slice(0, max)}...`;
|
|
5
|
+
}
|
|
6
|
+
function extractExceptionKeysForMessage(err) {
|
|
7
|
+
let maxLength = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 40;
|
|
8
|
+
const keys = Object.keys(err);
|
|
9
|
+
keys.sort();
|
|
10
|
+
if (!keys.length) return '[object has no keys]';
|
|
11
|
+
for(let i = keys.length; i > 0; i--){
|
|
12
|
+
const serialized = keys.slice(0, i).join(', ');
|
|
13
|
+
if (!(serialized.length > maxLength)) {
|
|
14
|
+
if (i === keys.length) return serialized;
|
|
15
|
+
return serialized.length <= maxLength ? serialized : `${serialized.slice(0, maxLength)}...`;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
export { extractExceptionKeysForMessage, truncate };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ErrorProperties, ExceptionLike, CoercingContext, StackFrameModifierFn, StackParser, ErrorTrackingCoercer, EventHint, StackLineParser, ParsingContext, Mechanism, ParsedException } from './types';
|
|
2
|
+
export declare class ErrorPropertiesBuilder {
|
|
3
|
+
private coercers;
|
|
4
|
+
private modifiers;
|
|
5
|
+
stackParser: StackParser;
|
|
6
|
+
constructor(coercers?: ErrorTrackingCoercer<any>[], parsers?: StackLineParser[], modifiers?: StackFrameModifierFn[]);
|
|
7
|
+
buildFromUnknown(input: unknown, hint?: EventHint): ErrorProperties;
|
|
8
|
+
coerceFallback(ctx: CoercingContext): ExceptionLike;
|
|
9
|
+
parseStacktrace(err: ExceptionLike, ctx: ParsingContext): ParsedException;
|
|
10
|
+
private applyChunkIds;
|
|
11
|
+
private applyCoercers;
|
|
12
|
+
private applyModifiers;
|
|
13
|
+
private modifyFrames;
|
|
14
|
+
private convertToExceptionList;
|
|
15
|
+
buildParsingContext(): ParsingContext;
|
|
16
|
+
buildCoercingContext(mechanism: Mechanism, hint: EventHint, depth?: number): CoercingContext;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=error-properties-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-properties-builder.d.ts","sourceRoot":"","sources":["../../src/error-tracking/error-properties-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,aAAa,EAEb,eAAe,EAEf,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,eAAe,EACf,cAAc,EAEd,SAAS,EACT,eAAe,EAEhB,MAAM,SAAS,CAAA;AAIhB,qBAAa,sBAAsB;IAI/B,OAAO,CAAC,QAAQ;IAEhB,OAAO,CAAC,SAAS;IALnB,WAAW,EAAE,WAAW,CAAA;gBAGd,QAAQ,GAAE,oBAAoB,CAAC,GAAG,CAAC,EAAO,EAClD,OAAO,GAAE,eAAe,EAAO,EACvB,SAAS,GAAE,oBAAoB,EAAO;IAKhD,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,SAAc,GAAG,eAAe;IAiBvE,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,aAAa;IASnD,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,GAAG,eAAe;IAYzE,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,aAAa;YASP,cAAc;YAQd,YAAY;IAY1B,OAAO,CAAC,sBAAsB;IA6B9B,mBAAmB,IAAI,cAAc;IAOrC,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,GAAE,MAAU,GAAG,eAAe;CAuBhG"}
|