@grafana/faro-web-sdk 2.3.1 → 2.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.
Files changed (126) hide show
  1. package/dist/bundle/faro-web-sdk.iife.js +1 -1
  2. package/dist/bundle/types/instrumentations/console/instrumentation.d.ts +1 -1
  3. package/dist/bundle/types/instrumentations/csp/instrumentation.d.ts +1 -1
  4. package/dist/bundle/types/instrumentations/errors/instrumentation.d.ts +1 -1
  5. package/dist/bundle/types/instrumentations/navigation/instrumentation.d.ts +1 -1
  6. package/dist/bundle/types/instrumentations/performance/instrumentation.d.ts +1 -1
  7. package/dist/bundle/types/instrumentations/session/instrumentation.d.ts +1 -1
  8. package/dist/bundle/types/instrumentations/userActions/instrumentation.d.ts +1 -1
  9. package/dist/bundle/types/instrumentations/view/instrumentation.d.ts +1 -1
  10. package/dist/bundle/types/instrumentations/webVitals/instrumentation.d.ts +1 -1
  11. package/dist/bundle/types/transports/console/transport.d.ts +1 -1
  12. package/dist/bundle/types/transports/fetch/transport.d.ts +1 -1
  13. package/dist/cjs/config/getWebInstrumentations.js +3 -4
  14. package/dist/cjs/config/getWebInstrumentations.js.map +1 -1
  15. package/dist/cjs/config/makeCoreConfig.js +48 -60
  16. package/dist/cjs/config/makeCoreConfig.js.map +1 -1
  17. package/dist/cjs/initialize.js +3 -3
  18. package/dist/cjs/initialize.js.map +1 -1
  19. package/dist/cjs/instrumentations/_internal/activityWindowTracker.js +44 -65
  20. package/dist/cjs/instrumentations/_internal/activityWindowTracker.js.map +1 -1
  21. package/dist/cjs/instrumentations/_internal/monitors/consoleMonitor.js +11 -16
  22. package/dist/cjs/instrumentations/_internal/monitors/consoleMonitor.js.map +1 -1
  23. package/dist/cjs/instrumentations/_internal/monitors/domMutationMonitor.js +5 -5
  24. package/dist/cjs/instrumentations/_internal/monitors/domMutationMonitor.js.map +1 -1
  25. package/dist/cjs/instrumentations/_internal/monitors/httpRequestMonitor.js +28 -30
  26. package/dist/cjs/instrumentations/_internal/monitors/httpRequestMonitor.js.map +1 -1
  27. package/dist/cjs/instrumentations/_internal/monitors/interactionMonitor.js +7 -7
  28. package/dist/cjs/instrumentations/_internal/monitors/interactionMonitor.js.map +1 -1
  29. package/dist/cjs/instrumentations/_internal/monitors/performanceEntriesMonitor.js +8 -8
  30. package/dist/cjs/instrumentations/_internal/monitors/performanceEntriesMonitor.js.map +1 -1
  31. package/dist/cjs/instrumentations/_internal/monitors/urlChangeMonitor.js +24 -32
  32. package/dist/cjs/instrumentations/_internal/monitors/urlChangeMonitor.js.map +1 -1
  33. package/dist/cjs/instrumentations/console/instrumentation.js +29 -49
  34. package/dist/cjs/instrumentations/console/instrumentation.js.map +1 -1
  35. package/dist/cjs/instrumentations/csp/instrumentation.js +14 -32
  36. package/dist/cjs/instrumentations/csp/instrumentation.js.map +1 -1
  37. package/dist/cjs/instrumentations/errors/getErrorDetails.js +23 -23
  38. package/dist/cjs/instrumentations/errors/getErrorDetails.js.map +1 -1
  39. package/dist/cjs/instrumentations/errors/getValueAndTypeFromMessage.js +5 -5
  40. package/dist/cjs/instrumentations/errors/getValueAndTypeFromMessage.js.map +1 -1
  41. package/dist/cjs/instrumentations/errors/instrumentation.js +11 -29
  42. package/dist/cjs/instrumentations/errors/instrumentation.js.map +1 -1
  43. package/dist/cjs/instrumentations/errors/registerOnerror.js +6 -10
  44. package/dist/cjs/instrumentations/errors/registerOnerror.js.map +1 -1
  45. package/dist/cjs/instrumentations/errors/registerOnunhandledrejection.js +16 -17
  46. package/dist/cjs/instrumentations/errors/registerOnunhandledrejection.js.map +1 -1
  47. package/dist/cjs/instrumentations/errors/stackFrames/buildStackFrame.js +2 -2
  48. package/dist/cjs/instrumentations/errors/stackFrames/buildStackFrame.js.map +1 -1
  49. package/dist/cjs/instrumentations/errors/stackFrames/getDataFromSafariExtensions.js +4 -4
  50. package/dist/cjs/instrumentations/errors/stackFrames/getDataFromSafariExtensions.js.map +1 -1
  51. package/dist/cjs/instrumentations/errors/stackFrames/getStackFramesFromError.js +16 -17
  52. package/dist/cjs/instrumentations/errors/stackFrames/getStackFramesFromError.js.map +1 -1
  53. package/dist/cjs/instrumentations/errors/stackFrames/parseStacktrace.js +1 -1
  54. package/dist/cjs/instrumentations/errors/stackFrames/parseStacktrace.js.map +1 -1
  55. package/dist/cjs/instrumentations/navigation/instrumentation.js +27 -45
  56. package/dist/cjs/instrumentations/navigation/instrumentation.js.map +1 -1
  57. package/dist/cjs/instrumentations/performance/instrumentation.js +19 -74
  58. package/dist/cjs/instrumentations/performance/instrumentation.js.map +1 -1
  59. package/dist/cjs/instrumentations/performance/navigation.js +15 -26
  60. package/dist/cjs/instrumentations/performance/navigation.js.map +1 -1
  61. package/dist/cjs/instrumentations/performance/performanceUtils.js +18 -33
  62. package/dist/cjs/instrumentations/performance/performanceUtils.js.map +1 -1
  63. package/dist/cjs/instrumentations/performance/resource.js +13 -25
  64. package/dist/cjs/instrumentations/performance/resource.js.map +1 -1
  65. package/dist/cjs/instrumentations/session/instrumentation.js +45 -74
  66. package/dist/cjs/instrumentations/session/instrumentation.js.map +1 -1
  67. package/dist/cjs/instrumentations/session/sessionManager/PersistentSessionsManager.js +21 -24
  68. package/dist/cjs/instrumentations/session/sessionManager/PersistentSessionsManager.js.map +1 -1
  69. package/dist/cjs/instrumentations/session/sessionManager/VolatileSessionManager.js +21 -24
  70. package/dist/cjs/instrumentations/session/sessionManager/VolatileSessionManager.js.map +1 -1
  71. package/dist/cjs/instrumentations/session/sessionManager/getSessionManagerByConfig.js +2 -2
  72. package/dist/cjs/instrumentations/session/sessionManager/getSessionManagerByConfig.js.map +1 -1
  73. package/dist/cjs/instrumentations/session/sessionManager/sampling.js +5 -5
  74. package/dist/cjs/instrumentations/session/sessionManager/sampling.js.map +1 -1
  75. package/dist/cjs/instrumentations/session/sessionManager/sessionManagerUtils.js +47 -65
  76. package/dist/cjs/instrumentations/session/sessionManager/sessionManagerUtils.js.map +1 -1
  77. package/dist/cjs/instrumentations/userActions/instrumentation.js +15 -34
  78. package/dist/cjs/instrumentations/userActions/instrumentation.js.map +1 -1
  79. package/dist/cjs/instrumentations/userActions/processUserActionEventHandler.js +11 -11
  80. package/dist/cjs/instrumentations/userActions/processUserActionEventHandler.js.map +1 -1
  81. package/dist/cjs/instrumentations/userActions/userActionController.js +49 -53
  82. package/dist/cjs/instrumentations/userActions/userActionController.js.map +1 -1
  83. package/dist/cjs/instrumentations/userActions/util.js +4 -4
  84. package/dist/cjs/instrumentations/userActions/util.js.map +1 -1
  85. package/dist/cjs/instrumentations/view/instrumentation.js +12 -30
  86. package/dist/cjs/instrumentations/view/instrumentation.js.map +1 -1
  87. package/dist/cjs/instrumentations/webVitals/instrumentation.js +11 -29
  88. package/dist/cjs/instrumentations/webVitals/instrumentation.js.map +1 -1
  89. package/dist/cjs/instrumentations/webVitals/webVitalsWithAttribution.js +87 -94
  90. package/dist/cjs/instrumentations/webVitals/webVitalsWithAttribution.js.map +1 -1
  91. package/dist/cjs/metas/browser/meta.js +14 -14
  92. package/dist/cjs/metas/browser/meta.js.map +1 -1
  93. package/dist/cjs/metas/k6/meta.js +3 -14
  94. package/dist/cjs/metas/k6/meta.js.map +1 -1
  95. package/dist/cjs/metas/page/meta.js +7 -19
  96. package/dist/cjs/metas/page/meta.js.map +1 -1
  97. package/dist/cjs/metas/sdk/meta.js +3 -3
  98. package/dist/cjs/metas/sdk/meta.js.map +1 -1
  99. package/dist/cjs/metas/session/createSession.js +2 -2
  100. package/dist/cjs/metas/session/createSession.js.map +1 -1
  101. package/dist/cjs/transports/console/transport.js +10 -29
  102. package/dist/cjs/transports/console/transport.js.map +1 -1
  103. package/dist/cjs/transports/fetch/transport.js +82 -176
  104. package/dist/cjs/transports/fetch/transport.js.map +1 -1
  105. package/dist/cjs/utils/throttle.js +6 -10
  106. package/dist/cjs/utils/throttle.js.map +1 -1
  107. package/dist/cjs/utils/url.js +4 -5
  108. package/dist/cjs/utils/url.js.map +1 -1
  109. package/dist/cjs/utils/webStorage.js +4 -4
  110. package/dist/cjs/utils/webStorage.js.map +1 -1
  111. package/dist/esm/instrumentations/errors/getErrorDetails.js +1 -0
  112. package/dist/esm/instrumentations/errors/getErrorDetails.js.map +1 -1
  113. package/dist/esm/transports/fetch/transport.js +1 -1
  114. package/dist/esm/transports/fetch/transport.js.map +1 -1
  115. package/dist/types/instrumentations/console/instrumentation.d.ts +1 -1
  116. package/dist/types/instrumentations/csp/instrumentation.d.ts +1 -1
  117. package/dist/types/instrumentations/errors/instrumentation.d.ts +1 -1
  118. package/dist/types/instrumentations/navigation/instrumentation.d.ts +1 -1
  119. package/dist/types/instrumentations/performance/instrumentation.d.ts +1 -1
  120. package/dist/types/instrumentations/session/instrumentation.d.ts +1 -1
  121. package/dist/types/instrumentations/userActions/instrumentation.d.ts +1 -1
  122. package/dist/types/instrumentations/view/instrumentation.d.ts +1 -1
  123. package/dist/types/instrumentations/webVitals/instrumentation.d.ts +1 -1
  124. package/dist/types/transports/console/transport.d.ts +1 -1
  125. package/dist/types/transports/fetch/transport.d.ts +1 -1
  126. package/package.json +5 -5
@@ -1,41 +1,24 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.CSPInstrumentation = void 0;
19
- var faro_core_1 = require("@grafana/faro-core");
20
- var CSPInstrumentation = /** @class */ (function (_super) {
21
- __extends(CSPInstrumentation, _super);
22
- function CSPInstrumentation() {
23
- var _this = _super.call(this) || this;
24
- _this.name = '@grafana/faro-web-sdk:instrumentation-csp';
25
- _this.version = faro_core_1.VERSION;
26
- return _this;
4
+ const faro_core_1 = require("@grafana/faro-core");
5
+ class CSPInstrumentation extends faro_core_1.BaseInstrumentation {
6
+ constructor() {
7
+ super();
8
+ this.name = '@grafana/faro-web-sdk:instrumentation-csp';
9
+ this.version = faro_core_1.VERSION;
27
10
  }
28
- CSPInstrumentation.prototype.initialize = function () {
11
+ initialize() {
29
12
  document.addEventListener('securitypolicyviolation', this.securitypolicyviolationHandler.bind(this));
30
- };
31
- CSPInstrumentation.prototype.destroy = function () {
13
+ }
14
+ destroy() {
32
15
  document.removeEventListener('securitypolicyviolation', this.securitypolicyviolationHandler);
33
- };
34
- CSPInstrumentation.prototype.securitypolicyviolationHandler = function (ev) {
16
+ }
17
+ securitypolicyviolationHandler(ev) {
35
18
  // We must explicitly extract properties because SecurityPolicyViolationEvent
36
19
  // properties are getters on the prototype chain, not own enumerable properties.
37
20
  // Object.entries() would not capture them.
38
- var attributes = {
21
+ const attributes = {
39
22
  blockedURI: ev.blockedURI,
40
23
  columnNumber: ev.columnNumber,
41
24
  disposition: ev.disposition,
@@ -50,8 +33,7 @@ var CSPInstrumentation = /** @class */ (function (_super) {
50
33
  violatedDirective: ev.violatedDirective,
51
34
  };
52
35
  this.api.pushEvent('securitypolicyviolation', (0, faro_core_1.stringifyObjectValues)(attributes));
53
- };
54
- return CSPInstrumentation;
55
- }(faro_core_1.BaseInstrumentation));
36
+ }
37
+ }
56
38
  exports.CSPInstrumentation = CSPInstrumentation;
57
39
  //# sourceMappingURL=instrumentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../../src/instrumentations/csp/instrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAAyF;AAGzF;IAAwC,sCAAmB;IAIzD;QACE,YAAA,MAAK,WAAE,SAAC;QAJD,UAAI,GAAG,2CAA2C,CAAC;QACnD,aAAO,GAAG,mBAAO,CAAC;;IAI3B,CAAC;IAED,uCAAU,GAAV;QACE,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,oCAAO,GAAP;QACE,QAAQ,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC/F,CAAC;IAEM,2DAA8B,GAArC,UAAsC,EAAgC;QACpE,6EAA6E;QAC7E,gFAAgF;QAChF,2CAA2C;QAC3C,IAAM,UAAU,GAAG;YACjB,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,YAAY,EAAE,EAAE,CAAC,YAAY;YAC7B,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,kBAAkB,EAAE,EAAE,CAAC,kBAAkB;YACzC,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,cAAc,EAAE,EAAE,CAAC,cAAc;YACjC,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,iBAAiB,EAAE,EAAE,CAAC,iBAAiB;SACxC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,IAAA,iCAAqB,EAAC,UAAU,CAAC,CAAC,CAAC;IACnF,CAAC;IACH,yBAAC;AAAD,CAAC,AArCD,CAAwC,+BAAmB,GAqC1D;AArCY,gDAAkB","sourcesContent":["import { BaseInstrumentation, stringifyObjectValues, VERSION } from '@grafana/faro-core';\nimport type { Instrumentation } from '@grafana/faro-core';\n\nexport class CSPInstrumentation extends BaseInstrumentation implements Instrumentation {\n readonly name = '@grafana/faro-web-sdk:instrumentation-csp';\n readonly version = VERSION;\n\n constructor() {\n super();\n }\n\n initialize() {\n document.addEventListener('securitypolicyviolation', this.securitypolicyviolationHandler.bind(this));\n }\n\n destroy() {\n document.removeEventListener('securitypolicyviolation', this.securitypolicyviolationHandler);\n }\n\n public securitypolicyviolationHandler(ev: SecurityPolicyViolationEvent) {\n // We must explicitly extract properties because SecurityPolicyViolationEvent\n // properties are getters on the prototype chain, not own enumerable properties.\n // Object.entries() would not capture them.\n const attributes = {\n blockedURI: ev.blockedURI,\n columnNumber: ev.columnNumber,\n disposition: ev.disposition,\n documentURI: ev.documentURI,\n effectiveDirective: ev.effectiveDirective,\n lineNumber: ev.lineNumber,\n originalPolicy: ev.originalPolicy,\n referrer: ev.referrer,\n sample: ev.sample,\n sourceFile: ev.sourceFile,\n statusCode: ev.statusCode,\n violatedDirective: ev.violatedDirective,\n };\n\n this.api.pushEvent('securitypolicyviolation', stringifyObjectValues(attributes));\n }\n}\n"]}
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../../src/instrumentations/csp/instrumentation.ts"],"names":[],"mappings":";;;AAAA,kDAAyF;AAGzF,MAAa,kBAAmB,SAAQ,+BAAmB;IAIzD;QACE,KAAK,EAAE,CAAC;QAJD,SAAI,GAAG,2CAA2C,CAAC;QACnD,YAAO,GAAG,mBAAO,CAAC;IAI3B,CAAC;IAED,UAAU;QACR,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,OAAO;QACL,QAAQ,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC/F,CAAC;IAEM,8BAA8B,CAAC,EAAgC;QACpE,6EAA6E;QAC7E,gFAAgF;QAChF,2CAA2C;QAC3C,MAAM,UAAU,GAAG;YACjB,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,YAAY,EAAE,EAAE,CAAC,YAAY;YAC7B,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,kBAAkB,EAAE,EAAE,CAAC,kBAAkB;YACzC,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,cAAc,EAAE,EAAE,CAAC,cAAc;YACjC,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,iBAAiB,EAAE,EAAE,CAAC,iBAAiB;SACxC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,IAAA,iCAAqB,EAAC,UAAU,CAAC,CAAC,CAAC;IACnF,CAAC;CACF;AArCD,gDAqCC","sourcesContent":["import { BaseInstrumentation, stringifyObjectValues, VERSION } from '@grafana/faro-core';\nimport type { Instrumentation } from '@grafana/faro-core';\n\nexport class CSPInstrumentation extends BaseInstrumentation implements Instrumentation {\n readonly name = '@grafana/faro-web-sdk:instrumentation-csp';\n readonly version = VERSION;\n\n constructor() {\n super();\n }\n\n initialize() {\n document.addEventListener('securitypolicyviolation', this.securitypolicyviolationHandler.bind(this));\n }\n\n destroy() {\n document.removeEventListener('securitypolicyviolation', this.securitypolicyviolationHandler);\n }\n\n public securitypolicyviolationHandler(ev: SecurityPolicyViolationEvent) {\n // We must explicitly extract properties because SecurityPolicyViolationEvent\n // properties are getters on the prototype chain, not own enumerable properties.\n // Object.entries() would not capture them.\n const attributes = {\n blockedURI: ev.blockedURI,\n columnNumber: ev.columnNumber,\n disposition: ev.disposition,\n documentURI: ev.documentURI,\n effectiveDirective: ev.effectiveDirective,\n lineNumber: ev.lineNumber,\n originalPolicy: ev.originalPolicy,\n referrer: ev.referrer,\n sample: ev.sample,\n sourceFile: ev.sourceFile,\n statusCode: ev.statusCode,\n violatedDirective: ev.violatedDirective,\n };\n\n this.api.pushEvent('securitypolicyviolation', stringifyObjectValues(attributes));\n }\n}\n"]}
@@ -3,55 +3,55 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getErrorDetails = getErrorDetails;
4
4
  exports.getDetailsFromErrorArgs = getDetailsFromErrorArgs;
5
5
  exports.getDetailsFromConsoleErrorArgs = getDetailsFromConsoleErrorArgs;
6
- var faro_core_1 = require("@grafana/faro-core");
7
- var const_1 = require("./const");
8
- var getValueAndTypeFromMessage_1 = require("./getValueAndTypeFromMessage");
9
- var stackFrames_1 = require("./stackFrames");
6
+ const faro_core_1 = require("@grafana/faro-core");
7
+ const const_1 = require("./const");
8
+ const getValueAndTypeFromMessage_1 = require("./getValueAndTypeFromMessage");
9
+ const stackFrames_1 = require("./stackFrames");
10
10
  function getErrorDetails(evt) {
11
- var value;
12
- var type;
13
- var stackFrames = [];
14
- var isDomErrorRes;
15
- var isEventRes;
11
+ let value;
12
+ let type;
13
+ let stackFrames = [];
14
+ let isDomErrorRes;
15
+ let isEventRes;
16
16
  if ((0, faro_core_1.isErrorEvent)(evt) && evt.error) {
17
17
  value = evt.error.message;
18
18
  type = evt.error.name;
19
19
  stackFrames = (0, stackFrames_1.getStackFramesFromError)(evt.error);
20
20
  }
21
21
  else if ((isDomErrorRes = (0, faro_core_1.isDomError)(evt)) || (0, faro_core_1.isDomException)(evt)) {
22
- var name_1 = evt.name, message = evt.message;
23
- type = name_1 !== null && name_1 !== void 0 ? name_1 : (isDomErrorRes ? const_1.domErrorType : const_1.domExceptionType);
24
- value = message ? "".concat(type, ": ").concat(message) : type;
22
+ const { name, message } = evt;
23
+ type = name !== null && name !== void 0 ? name : (isDomErrorRes ? const_1.domErrorType : const_1.domExceptionType);
24
+ value = message ? `${type}: ${message}` : type;
25
25
  }
26
26
  else if ((0, faro_core_1.isError)(evt)) {
27
+ type = evt.name;
27
28
  value = evt.message;
28
29
  stackFrames = (0, stackFrames_1.getStackFramesFromError)(evt);
29
30
  }
30
31
  else if ((0, faro_core_1.isObject)(evt) || (isEventRes = (0, faro_core_1.isEvent)(evt))) {
31
32
  type = isEventRes ? evt.constructor.name : undefined;
32
- value = "".concat(const_1.objectEventValue, " ").concat(Object.keys(evt));
33
+ value = `${const_1.objectEventValue} ${Object.keys(evt)}`;
33
34
  }
34
35
  return [value, type, stackFrames];
35
36
  }
36
37
  function getDetailsFromErrorArgs(args) {
37
- var _a, _b;
38
- var evt = args[0], source = args[1], lineno = args[2], colno = args[3], error = args[4];
39
- var value;
40
- var type;
41
- var stackFrames = [];
42
- var eventIsString = (0, faro_core_1.isString)(evt);
43
- var initialStackFrame = (0, stackFrames_1.buildStackFrame)(source, const_1.unknownSymbolString, lineno, colno);
38
+ const [evt, source, lineno, colno, error] = args;
39
+ let value;
40
+ let type;
41
+ let stackFrames = [];
42
+ const eventIsString = (0, faro_core_1.isString)(evt);
43
+ const initialStackFrame = (0, stackFrames_1.buildStackFrame)(source, const_1.unknownSymbolString, lineno, colno);
44
44
  if (error || !eventIsString) {
45
- _a = getErrorDetails((error !== null && error !== void 0 ? error : evt)), value = _a[0], type = _a[1], stackFrames = _a[2];
45
+ [value, type, stackFrames] = getErrorDetails((error !== null && error !== void 0 ? error : evt));
46
46
  if (stackFrames.length === 0) {
47
47
  stackFrames = [initialStackFrame];
48
48
  }
49
49
  }
50
50
  else if (eventIsString) {
51
- _b = (0, getValueAndTypeFromMessage_1.getValueAndTypeFromMessage)(evt), value = _b[0], type = _b[1];
51
+ [value, type] = (0, getValueAndTypeFromMessage_1.getValueAndTypeFromMessage)(evt);
52
52
  stackFrames = [initialStackFrame];
53
53
  }
54
- return { value: value, type: type, stackFrames: stackFrames };
54
+ return { value, type, stackFrames };
55
55
  }
56
56
  function getDetailsFromConsoleErrorArgs(args, serializer) {
57
57
  if ((0, faro_core_1.isError)(args[0])) {
@@ -1 +1 @@
1
- {"version":3,"file":"getErrorDetails.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/getErrorDetails.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDomError, isDomException, isError, isErrorEvent, isEvent, isObject, isString } from '@grafana/faro-core';\nimport type { ExceptionStackFrame, LogArgsSerializer } from '@grafana/faro-core';\n\nimport { domErrorType, domExceptionType, objectEventValue, unknownSymbolString } from './const';\nimport { getValueAndTypeFromMessage } from './getValueAndTypeFromMessage';\nimport { buildStackFrame, getStackFramesFromError } from './stackFrames';\nimport type { ErrorEvent } from './types';\n\nexport function getErrorDetails(evt: ErrorEvent): [string | undefined, string | undefined, ExceptionStackFrame[]] {\n let value: string | undefined;\n let type: string | undefined;\n let stackFrames: ExceptionStackFrame[] = [];\n let isDomErrorRes: boolean | undefined;\n let isEventRes: boolean | undefined;\n\n if (isErrorEvent(evt) && evt.error) {\n value = evt.error.message;\n type = evt.error.name;\n stackFrames = getStackFramesFromError(evt.error);\n } else if ((isDomErrorRes = isDomError(evt)) || isDomException(evt)) {\n const { name, message } = evt;\n\n type = name ?? (isDomErrorRes ? domErrorType : domExceptionType);\n value = message ? `${type}: ${message}` : type;\n } else if (isError(evt)) {\n value = evt.message;\n stackFrames = getStackFramesFromError(evt);\n } else if (isObject(evt) || (isEventRes = isEvent(evt))) {\n type = isEventRes ? evt.constructor.name : undefined;\n value = `${objectEventValue} ${Object.keys(evt)}`;\n }\n\n return [value, type, stackFrames];\n}\n\nexport interface ErrorDetails {\n value?: string;\n type?: string;\n stackFrames?: ExceptionStackFrame[];\n}\n\nexport function getDetailsFromErrorArgs(args: [any?, ...any[]]): ErrorDetails {\n const [evt, source, lineno, colno, error] = args;\n\n let value: string | undefined;\n let type: string | undefined;\n let stackFrames: ExceptionStackFrame[] = [];\n const eventIsString = isString(evt);\n const initialStackFrame = buildStackFrame(source, unknownSymbolString, lineno, colno);\n\n if (error || !eventIsString) {\n [value, type, stackFrames] = getErrorDetails((error ?? evt) as Error | Event);\n\n if (stackFrames.length === 0) {\n stackFrames = [initialStackFrame];\n }\n } else if (eventIsString) {\n [value, type] = getValueAndTypeFromMessage(evt);\n stackFrames = [initialStackFrame];\n }\n\n return { value, type, stackFrames };\n}\n\nexport function getDetailsFromConsoleErrorArgs(args: [any?, ...any[]], serializer: LogArgsSerializer): ErrorDetails {\n if (isError(args[0])) {\n return getDetailsFromErrorArgs(args);\n } else {\n return { value: serializer(args) };\n }\n}\n"]}
1
+ {"version":3,"file":"getErrorDetails.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/getErrorDetails.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDomError, isDomException, isError, isErrorEvent, isEvent, isObject, isString } from '@grafana/faro-core';\nimport type { ExceptionStackFrame, LogArgsSerializer } from '@grafana/faro-core';\n\nimport { domErrorType, domExceptionType, objectEventValue, unknownSymbolString } from './const';\nimport { getValueAndTypeFromMessage } from './getValueAndTypeFromMessage';\nimport { buildStackFrame, getStackFramesFromError } from './stackFrames';\nimport type { ErrorEvent } from './types';\n\nexport function getErrorDetails(evt: ErrorEvent): [string | undefined, string | undefined, ExceptionStackFrame[]] {\n let value: string | undefined;\n let type: string | undefined;\n let stackFrames: ExceptionStackFrame[] = [];\n let isDomErrorRes: boolean | undefined;\n let isEventRes: boolean | undefined;\n\n if (isErrorEvent(evt) && evt.error) {\n value = evt.error.message;\n type = evt.error.name;\n stackFrames = getStackFramesFromError(evt.error);\n } else if ((isDomErrorRes = isDomError(evt)) || isDomException(evt)) {\n const { name, message } = evt;\n\n type = name ?? (isDomErrorRes ? domErrorType : domExceptionType);\n value = message ? `${type}: ${message}` : type;\n } else if (isError(evt)) {\n type = evt.name;\n value = evt.message;\n stackFrames = getStackFramesFromError(evt);\n } else if (isObject(evt) || (isEventRes = isEvent(evt))) {\n type = isEventRes ? evt.constructor.name : undefined;\n value = `${objectEventValue} ${Object.keys(evt)}`;\n }\n\n return [value, type, stackFrames];\n}\n\nexport interface ErrorDetails {\n value?: string;\n type?: string;\n stackFrames?: ExceptionStackFrame[];\n}\n\nexport function getDetailsFromErrorArgs(args: [any?, ...any[]]): ErrorDetails {\n const [evt, source, lineno, colno, error] = args;\n\n let value: string | undefined;\n let type: string | undefined;\n let stackFrames: ExceptionStackFrame[] = [];\n const eventIsString = isString(evt);\n const initialStackFrame = buildStackFrame(source, unknownSymbolString, lineno, colno);\n\n if (error || !eventIsString) {\n [value, type, stackFrames] = getErrorDetails((error ?? evt) as Error | Event);\n\n if (stackFrames.length === 0) {\n stackFrames = [initialStackFrame];\n }\n } else if (eventIsString) {\n [value, type] = getValueAndTypeFromMessage(evt);\n stackFrames = [initialStackFrame];\n }\n\n return { value, type, stackFrames };\n}\n\nexport function getDetailsFromConsoleErrorArgs(args: [any?, ...any[]], serializer: LogArgsSerializer): ErrorDetails {\n if (isError(args[0])) {\n return getDetailsFromErrorArgs(args);\n } else {\n return { value: serializer(args) };\n }\n}\n"]}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getValueAndTypeFromMessage = getValueAndTypeFromMessage;
4
- var faro_core_1 = require("@grafana/faro-core");
5
- var const_1 = require("./const");
4
+ const faro_core_1 = require("@grafana/faro-core");
5
+ const const_1 = require("./const");
6
6
  function getValueAndTypeFromMessage(message) {
7
7
  var _a, _b;
8
- var groups = message.match(const_1.valueTypeRegex);
9
- var type = (_a = groups === null || groups === void 0 ? void 0 : groups[1]) !== null && _a !== void 0 ? _a : faro_core_1.defaultExceptionType;
10
- var value = (_b = groups === null || groups === void 0 ? void 0 : groups[2]) !== null && _b !== void 0 ? _b : message;
8
+ const groups = message.match(const_1.valueTypeRegex);
9
+ const type = (_a = groups === null || groups === void 0 ? void 0 : groups[1]) !== null && _a !== void 0 ? _a : faro_core_1.defaultExceptionType;
10
+ const value = (_b = groups === null || groups === void 0 ? void 0 : groups[2]) !== null && _b !== void 0 ? _b : message;
11
11
  return [value, type];
12
12
  }
13
13
  //# sourceMappingURL=getValueAndTypeFromMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getValueAndTypeFromMessage.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/getValueAndTypeFromMessage.ts"],"names":[],"mappings":";;AAIA,gEAOC;AAXD,gDAA0D;AAE1D,iCAAyC;AAEzC,SAAgB,0BAA0B,CAAC,OAAe;;IACxD,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAc,CAAC,CAAC;IAE7C,IAAM,IAAI,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,mCAAI,gCAAoB,CAAC;IACjD,IAAM,KAAK,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,mCAAI,OAAO,CAAC;IAErC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC","sourcesContent":["import { defaultExceptionType } from '@grafana/faro-core';\n\nimport { valueTypeRegex } from './const';\n\nexport function getValueAndTypeFromMessage(message: string): [string, string] {\n const groups = message.match(valueTypeRegex);\n\n const type = groups?.[1] ?? defaultExceptionType;\n const value = groups?.[2] ?? message;\n\n return [value, type];\n}\n"]}
1
+ {"version":3,"file":"getValueAndTypeFromMessage.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/getValueAndTypeFromMessage.ts"],"names":[],"mappings":";;AAIA,gEAOC;AAXD,kDAA0D;AAE1D,mCAAyC;AAEzC,SAAgB,0BAA0B,CAAC,OAAe;;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAc,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,mCAAI,gCAAoB,CAAC;IACjD,MAAM,KAAK,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,mCAAI,OAAO,CAAC;IAErC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC","sourcesContent":["import { defaultExceptionType } from '@grafana/faro-core';\n\nimport { valueTypeRegex } from './const';\n\nexport function getValueAndTypeFromMessage(message: string): [string, string] {\n const groups = message.match(valueTypeRegex);\n\n const type = groups?.[1] ?? defaultExceptionType;\n const value = groups?.[2] ?? message;\n\n return [value, type];\n}\n"]}
@@ -1,38 +1,20 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.ErrorsInstrumentation = void 0;
19
- var faro_core_1 = require("@grafana/faro-core");
20
- var registerOnerror_1 = require("./registerOnerror");
21
- var registerOnunhandledrejection_1 = require("./registerOnunhandledrejection");
22
- var ErrorsInstrumentation = /** @class */ (function (_super) {
23
- __extends(ErrorsInstrumentation, _super);
24
- function ErrorsInstrumentation() {
25
- var _this = _super !== null && _super.apply(this, arguments) || this;
26
- _this.name = '@grafana/faro-web-sdk:instrumentation-errors';
27
- _this.version = faro_core_1.VERSION;
28
- return _this;
4
+ const faro_core_1 = require("@grafana/faro-core");
5
+ const registerOnerror_1 = require("./registerOnerror");
6
+ const registerOnunhandledrejection_1 = require("./registerOnunhandledrejection");
7
+ class ErrorsInstrumentation extends faro_core_1.BaseInstrumentation {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = '@grafana/faro-web-sdk:instrumentation-errors';
11
+ this.version = faro_core_1.VERSION;
29
12
  }
30
- ErrorsInstrumentation.prototype.initialize = function () {
13
+ initialize() {
31
14
  this.logDebug('Initializing');
32
15
  (0, registerOnerror_1.registerOnerror)(this.api);
33
16
  (0, registerOnunhandledrejection_1.registerOnunhandledrejection)(this.api);
34
- };
35
- return ErrorsInstrumentation;
36
- }(faro_core_1.BaseInstrumentation));
17
+ }
18
+ }
37
19
  exports.ErrorsInstrumentation = ErrorsInstrumentation;
38
20
  //# sourceMappingURL=instrumentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/instrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAAkE;AAElE,qDAAoD;AACpD,+EAA8E;AAE9E;IAA2C,yCAAmB;IAA9D;;QACW,UAAI,GAAG,8CAA8C,CAAC;QACtD,aAAO,GAAG,mBAAO,CAAC;;IAS7B,CAAC;IAPC,0CAAU,GAAV;QACE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAE9B,IAAA,iCAAe,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1B,IAAA,2DAA4B,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IACH,4BAAC;AAAD,CAAC,AAXD,CAA2C,+BAAmB,GAW7D;AAXY,sDAAqB","sourcesContent":["import { BaseInstrumentation, VERSION } from '@grafana/faro-core';\n\nimport { registerOnerror } from './registerOnerror';\nimport { registerOnunhandledrejection } from './registerOnunhandledrejection';\n\nexport class ErrorsInstrumentation extends BaseInstrumentation {\n readonly name = '@grafana/faro-web-sdk:instrumentation-errors';\n readonly version = VERSION;\n\n initialize(): void {\n this.logDebug('Initializing');\n\n registerOnerror(this.api);\n\n registerOnunhandledrejection(this.api);\n }\n}\n"]}
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/instrumentation.ts"],"names":[],"mappings":";;;AAAA,kDAAkE;AAElE,uDAAoD;AACpD,iFAA8E;AAE9E,MAAa,qBAAsB,SAAQ,+BAAmB;IAA9D;;QACW,SAAI,GAAG,8CAA8C,CAAC;QACtD,YAAO,GAAG,mBAAO,CAAC;IAS7B,CAAC;IAPC,UAAU;QACR,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAE9B,IAAA,iCAAe,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1B,IAAA,2DAA4B,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;CACF;AAXD,sDAWC","sourcesContent":["import { BaseInstrumentation, VERSION } from '@grafana/faro-core';\n\nimport { registerOnerror } from './registerOnerror';\nimport { registerOnunhandledrejection } from './registerOnunhandledrejection';\n\nexport class ErrorsInstrumentation extends BaseInstrumentation {\n readonly name = '@grafana/faro-web-sdk:instrumentation-errors';\n readonly version = VERSION;\n\n initialize(): void {\n this.logDebug('Initializing');\n\n registerOnerror(this.api);\n\n registerOnunhandledrejection(this.api);\n }\n}\n"]}
@@ -1,19 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerOnerror = registerOnerror;
4
- var getErrorDetails_1 = require("./getErrorDetails");
4
+ const getErrorDetails_1 = require("./getErrorDetails");
5
5
  function registerOnerror(api) {
6
- var oldOnerror = window.onerror;
7
- window.onerror = function () {
8
- var args = [];
9
- for (var _i = 0; _i < arguments.length; _i++) {
10
- args[_i] = arguments[_i];
11
- }
6
+ const oldOnerror = window.onerror;
7
+ window.onerror = (...args) => {
12
8
  try {
13
- var _a = (0, getErrorDetails_1.getDetailsFromErrorArgs)(args), value = _a.value, type = _a.type, stackFrames = _a.stackFrames;
14
- var originalError = args[4];
9
+ const { value, type, stackFrames } = (0, getErrorDetails_1.getDetailsFromErrorArgs)(args);
10
+ const originalError = args[4];
15
11
  if (value) {
16
- var options = { type: type, stackFrames: stackFrames };
12
+ const options = { type, stackFrames };
17
13
  if (originalError != null) {
18
14
  options.originalError = originalError;
19
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registerOnerror.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/registerOnerror.ts"],"names":[],"mappings":";;AAIA,0CAqBC;AAvBD,qDAA4D;AAE5D,SAAgB,eAAe,CAAC,GAAQ;IACtC,IAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;IAElC,MAAM,CAAC,OAAO,GAAG;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QACvB,IAAI,CAAC;YACG,IAAA,KAA+B,IAAA,yCAAuB,EAAC,IAAI,CAAC,EAA1D,KAAK,WAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAAkC,CAAC;YACnE,IAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAI,KAAK,EAAE,CAAC;gBACV,IAAM,OAAO,GAAqB,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,CAAC;gBAExD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;oBAC1B,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;gBACxC,CAAC;gBAED,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { API, PushErrorOptions } from '@grafana/faro-core';\n\nimport { getDetailsFromErrorArgs } from './getErrorDetails';\n\nexport function registerOnerror(api: API): void {\n const oldOnerror = window.onerror;\n\n window.onerror = (...args) => {\n try {\n const { value, type, stackFrames } = getDetailsFromErrorArgs(args);\n const originalError = args[4];\n\n if (value) {\n const options: PushErrorOptions = { type, stackFrames };\n\n if (originalError != null) {\n options.originalError = originalError;\n }\n\n api.pushError(new Error(value), options);\n }\n } finally {\n oldOnerror?.apply(window, args);\n }\n };\n}\n"]}
1
+ {"version":3,"file":"registerOnerror.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/registerOnerror.ts"],"names":[],"mappings":";;AAIA,0CAqBC;AAvBD,uDAA4D;AAE5D,SAAgB,eAAe,CAAC,GAAQ;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;IAElC,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAA,yCAAuB,EAAC,IAAI,CAAC,CAAC;YACnE,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,OAAO,GAAqB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;gBAExD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;oBAC1B,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;gBACxC,CAAC;gBAED,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { API, PushErrorOptions } from '@grafana/faro-core';\n\nimport { getDetailsFromErrorArgs } from './getErrorDetails';\n\nexport function registerOnerror(api: API): void {\n const oldOnerror = window.onerror;\n\n window.onerror = (...args) => {\n try {\n const { value, type, stackFrames } = getDetailsFromErrorArgs(args);\n const originalError = args[4];\n\n if (value) {\n const options: PushErrorOptions = { type, stackFrames };\n\n if (originalError != null) {\n options.originalError = originalError;\n }\n\n api.pushError(new Error(value), options);\n }\n } finally {\n oldOnerror?.apply(window, args);\n }\n };\n}\n"]}
@@ -2,34 +2,33 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerOnunhandledrejection = registerOnunhandledrejection;
4
4
  exports.__resetOnunhandledrejectionForTests = __resetOnunhandledrejectionForTests;
5
- var faro_core_1 = require("@grafana/faro-core");
6
- var const_1 = require("./const");
7
- var getErrorDetails_1 = require("./getErrorDetails");
5
+ const faro_core_1 = require("@grafana/faro-core");
6
+ const const_1 = require("./const");
7
+ const getErrorDetails_1 = require("./getErrorDetails");
8
8
  // Store handlers for cleanup in tests
9
- var registeredHandlers = [];
9
+ const registeredHandlers = [];
10
10
  function registerOnunhandledrejection(api) {
11
- var handler = function (evt) {
12
- var _a;
13
- var _b, _c;
14
- var error = evt;
11
+ const handler = (evt) => {
12
+ var _a, _b;
13
+ let error = evt;
15
14
  if (error.reason) {
16
15
  error = evt.reason;
17
16
  }
18
- else if ((_b = evt.detail) === null || _b === void 0 ? void 0 : _b.reason) {
19
- error = (_c = evt.detail) === null || _c === void 0 ? void 0 : _c.reason;
17
+ else if ((_a = evt.detail) === null || _a === void 0 ? void 0 : _a.reason) {
18
+ error = (_b = evt.detail) === null || _b === void 0 ? void 0 : _b.reason;
20
19
  }
21
- var value;
22
- var type;
23
- var stackFrames = [];
20
+ let value;
21
+ let type;
22
+ let stackFrames = [];
24
23
  if ((0, faro_core_1.isPrimitive)(error)) {
25
- value = "".concat(const_1.primitiveUnhandledValue, " ").concat(String(error));
24
+ value = `${const_1.primitiveUnhandledValue} ${String(error)}`;
26
25
  type = const_1.primitiveUnhandledType;
27
26
  }
28
27
  else {
29
- _a = (0, getErrorDetails_1.getErrorDetails)(error), value = _a[0], type = _a[1], stackFrames = _a[2];
28
+ [value, type, stackFrames] = (0, getErrorDetails_1.getErrorDetails)(error);
30
29
  }
31
30
  if (value) {
32
- api.pushError(new Error(value), { type: type, stackFrames: stackFrames });
31
+ api.pushError(new Error(value), { type, stackFrames });
33
32
  }
34
33
  };
35
34
  window.addEventListener('unhandledrejection', handler);
@@ -37,7 +36,7 @@ function registerOnunhandledrejection(api) {
37
36
  }
38
37
  // Test-only utility to reset state between tests
39
38
  function __resetOnunhandledrejectionForTests() {
40
- registeredHandlers.forEach(function (handler) {
39
+ registeredHandlers.forEach((handler) => {
41
40
  window.removeEventListener('unhandledrejection', handler);
42
41
  });
43
42
  registeredHandlers.length = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"registerOnunhandledrejection.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/registerOnunhandledrejection.ts"],"names":[],"mappings":";;AAUA,oEA2BC;AAGD,kFAKC;AA7CD,gDAAiD;AAGjD,iCAA0E;AAC1E,qDAAoD;AAGpD,sCAAsC;AACtC,IAAM,kBAAkB,GAAwD,EAAE,CAAC;AAEnF,SAAgB,4BAA4B,CAAC,GAAQ;IACnD,IAAM,OAAO,GAAG,UAAC,GAAkC;;;QACjD,IAAI,KAAK,GAAG,GAAG,CAAC;QAEhB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,EAAE,CAAC;YAC9B,KAAK,GAAG,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,CAAC;QAC7B,CAAC;QAED,IAAI,KAAyB,CAAC;QAC9B,IAAI,IAAwB,CAAC;QAC7B,IAAI,WAAW,GAA0B,EAAE,CAAC;QAC5C,IAAI,IAAA,uBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,GAAG,UAAG,+BAAuB,cAAI,MAAM,CAAC,KAAK,CAAC,CAAE,CAAC;YACtD,IAAI,GAAG,8BAAsB,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,KAA6B,IAAA,iCAAe,EAAC,KAAK,CAAC,EAAlD,KAAK,QAAA,EAAE,IAAI,QAAA,EAAE,WAAW,QAAA,CAA2B;QACtD,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACvD,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,iDAAiD;AACjD,SAAgB,mCAAmC;IACjD,kBAAkB,CAAC,OAAO,CAAC,UAAC,OAAO;QACjC,MAAM,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;AAChC,CAAC","sourcesContent":["import { isPrimitive } from '@grafana/faro-core';\nimport type { API, ExceptionStackFrame } from '@grafana/faro-core';\n\nimport { primitiveUnhandledType, primitiveUnhandledValue } from './const';\nimport { getErrorDetails } from './getErrorDetails';\nimport type { ExtendedPromiseRejectionEvent } from './types';\n\n// Store handlers for cleanup in tests\nconst registeredHandlers: Array<(evt: ExtendedPromiseRejectionEvent) => void> = [];\n\nexport function registerOnunhandledrejection(api: API): void {\n const handler = (evt: ExtendedPromiseRejectionEvent) => {\n let error = evt;\n\n if (error.reason) {\n error = evt.reason;\n } else if (evt.detail?.reason) {\n error = evt.detail?.reason;\n }\n\n let value: string | undefined;\n let type: string | undefined;\n let stackFrames: ExceptionStackFrame[] = [];\n if (isPrimitive(error)) {\n value = `${primitiveUnhandledValue} ${String(error)}`;\n type = primitiveUnhandledType;\n } else {\n [value, type, stackFrames] = getErrorDetails(error);\n }\n\n if (value) {\n api.pushError(new Error(value), { type, stackFrames });\n }\n };\n\n window.addEventListener('unhandledrejection', handler);\n registeredHandlers.push(handler);\n}\n\n// Test-only utility to reset state between tests\nexport function __resetOnunhandledrejectionForTests(): void {\n registeredHandlers.forEach((handler) => {\n window.removeEventListener('unhandledrejection', handler);\n });\n registeredHandlers.length = 0;\n}\n"]}
1
+ {"version":3,"file":"registerOnunhandledrejection.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/registerOnunhandledrejection.ts"],"names":[],"mappings":";;AAUA,oEA2BC;AAGD,kFAKC;AA7CD,kDAAiD;AAGjD,mCAA0E;AAC1E,uDAAoD;AAGpD,sCAAsC;AACtC,MAAM,kBAAkB,GAAwD,EAAE,CAAC;AAEnF,SAAgB,4BAA4B,CAAC,GAAQ;IACnD,MAAM,OAAO,GAAG,CAAC,GAAkC,EAAE,EAAE;;QACrD,IAAI,KAAK,GAAG,GAAG,CAAC;QAEhB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,EAAE,CAAC;YAC9B,KAAK,GAAG,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,CAAC;QAC7B,CAAC;QAED,IAAI,KAAyB,CAAC;QAC9B,IAAI,IAAwB,CAAC;QAC7B,IAAI,WAAW,GAA0B,EAAE,CAAC;QAC5C,IAAI,IAAA,uBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,GAAG,GAAG,+BAAuB,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,IAAI,GAAG,8BAAsB,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAAA,iCAAe,EAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACvD,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,iDAAiD;AACjD,SAAgB,mCAAmC;IACjD,kBAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACrC,MAAM,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;AAChC,CAAC","sourcesContent":["import { isPrimitive } from '@grafana/faro-core';\nimport type { API, ExceptionStackFrame } from '@grafana/faro-core';\n\nimport { primitiveUnhandledType, primitiveUnhandledValue } from './const';\nimport { getErrorDetails } from './getErrorDetails';\nimport type { ExtendedPromiseRejectionEvent } from './types';\n\n// Store handlers for cleanup in tests\nconst registeredHandlers: Array<(evt: ExtendedPromiseRejectionEvent) => void> = [];\n\nexport function registerOnunhandledrejection(api: API): void {\n const handler = (evt: ExtendedPromiseRejectionEvent) => {\n let error = evt;\n\n if (error.reason) {\n error = evt.reason;\n } else if (evt.detail?.reason) {\n error = evt.detail?.reason;\n }\n\n let value: string | undefined;\n let type: string | undefined;\n let stackFrames: ExceptionStackFrame[] = [];\n if (isPrimitive(error)) {\n value = `${primitiveUnhandledValue} ${String(error)}`;\n type = primitiveUnhandledType;\n } else {\n [value, type, stackFrames] = getErrorDetails(error);\n }\n\n if (value) {\n api.pushError(new Error(value), { type, stackFrames });\n }\n };\n\n window.addEventListener('unhandledrejection', handler);\n registeredHandlers.push(handler);\n}\n\n// Test-only utility to reset state between tests\nexport function __resetOnunhandledrejectionForTests(): void {\n registeredHandlers.forEach((handler) => {\n window.removeEventListener('unhandledrejection', handler);\n });\n registeredHandlers.length = 0;\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildStackFrame = buildStackFrame;
4
- var const_1 = require("./const");
4
+ const const_1 = require("./const");
5
5
  function buildStackFrame(filename, func, lineno, colno) {
6
- var stackFrame = {
6
+ const stackFrame = {
7
7
  filename: filename || document.location.href,
8
8
  function: func || const_1.unknownSymbolString,
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"buildStackFrame.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/buildStackFrame.ts"],"names":[],"mappings":";;AAIA,0CAoBC;AAtBD,iCAA8C;AAE9C,SAAgB,eAAe,CAC7B,QAA4B,EAC5B,IAAwB,EACxB,MAA0B,EAC1B,KAAyB;IAEzB,IAAM,UAAU,GAAwB;QACtC,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI;QAC5C,QAAQ,EAAE,IAAI,IAAI,2BAAmB;KACtC,CAAC;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import type { ExceptionStackFrame } from '@grafana/faro-core';\n\nimport { unknownSymbolString } from './const';\n\nexport function buildStackFrame(\n filename: string | undefined,\n func: string | undefined,\n lineno: number | undefined,\n colno: number | undefined\n): ExceptionStackFrame {\n const stackFrame: ExceptionStackFrame = {\n filename: filename || document.location.href,\n function: func || unknownSymbolString,\n };\n\n if (lineno !== undefined) {\n stackFrame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n stackFrame.colno = colno;\n }\n\n return stackFrame;\n}\n"]}
1
+ {"version":3,"file":"buildStackFrame.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/buildStackFrame.ts"],"names":[],"mappings":";;AAIA,0CAoBC;AAtBD,mCAA8C;AAE9C,SAAgB,eAAe,CAC7B,QAA4B,EAC5B,IAAwB,EACxB,MAA0B,EAC1B,KAAyB;IAEzB,MAAM,UAAU,GAAwB;QACtC,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI;QAC5C,QAAQ,EAAE,IAAI,IAAI,2BAAmB;KACtC,CAAC;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import type { ExceptionStackFrame } from '@grafana/faro-core';\n\nimport { unknownSymbolString } from './const';\n\nexport function buildStackFrame(\n filename: string | undefined,\n func: string | undefined,\n lineno: number | undefined,\n colno: number | undefined\n): ExceptionStackFrame {\n const stackFrame: ExceptionStackFrame = {\n filename: filename || document.location.href,\n function: func || unknownSymbolString,\n };\n\n if (lineno !== undefined) {\n stackFrame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n stackFrame.colno = colno;\n }\n\n return stackFrame;\n}\n"]}
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDataFromSafariExtensions = getDataFromSafariExtensions;
4
- var const_1 = require("./const");
4
+ const const_1 = require("./const");
5
5
  function getDataFromSafariExtensions(func, filename) {
6
- var isSafariExtension = func === null || func === void 0 ? void 0 : func.includes(const_1.safariExtensionString);
7
- var isSafariWebExtension = !isSafariExtension && (func === null || func === void 0 ? void 0 : func.includes(const_1.safariWebExtensionString));
6
+ const isSafariExtension = func === null || func === void 0 ? void 0 : func.includes(const_1.safariExtensionString);
7
+ const isSafariWebExtension = !isSafariExtension && (func === null || func === void 0 ? void 0 : func.includes(const_1.safariWebExtensionString));
8
8
  if (!isSafariExtension && !isSafariWebExtension) {
9
9
  return [func, filename];
10
10
  }
11
11
  return [
12
12
  (func === null || func === void 0 ? void 0 : func.includes(const_1.atString)) ? func.split(const_1.atString)[0] : func,
13
- isSafariExtension ? "".concat(const_1.safariExtensionString, ":").concat(filename) : "".concat(const_1.safariWebExtensionString, ":").concat(filename),
13
+ isSafariExtension ? `${const_1.safariExtensionString}:${filename}` : `${const_1.safariWebExtensionString}:${filename}`,
14
14
  ];
15
15
  }
16
16
  //# sourceMappingURL=getDataFromSafariExtensions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDataFromSafariExtensions.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/getDataFromSafariExtensions.ts"],"names":[],"mappings":";;AAEA,kEAeC;AAjBD,iCAAoF;AAEpF,SAAgB,2BAA2B,CACzC,IAAwB,EACxB,QAA4B;IAE5B,IAAM,iBAAiB,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,6BAAqB,CAAC,CAAC;IAChE,IAAM,oBAAoB,GAAG,CAAC,iBAAiB,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,gCAAwB,CAAC,CAAA,CAAC;IAE5F,IAAI,CAAC,iBAAiB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChD,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,gBAAQ,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACzD,iBAAiB,CAAC,CAAC,CAAC,UAAG,6BAAqB,cAAI,QAAQ,CAAE,CAAC,CAAC,CAAC,UAAG,gCAAwB,cAAI,QAAQ,CAAE;KACvG,CAAC;AACJ,CAAC","sourcesContent":["import { atString, safariExtensionString, safariWebExtensionString } from './const';\n\nexport function getDataFromSafariExtensions(\n func: string | undefined,\n filename: string | undefined\n): [string | undefined, string | undefined] {\n const isSafariExtension = func?.includes(safariExtensionString);\n const isSafariWebExtension = !isSafariExtension && func?.includes(safariWebExtensionString);\n\n if (!isSafariExtension && !isSafariWebExtension) {\n return [func, filename];\n }\n\n return [\n func?.includes(atString) ? func.split(atString)[0] : func,\n isSafariExtension ? `${safariExtensionString}:${filename}` : `${safariWebExtensionString}:${filename}`,\n ];\n}\n"]}
1
+ {"version":3,"file":"getDataFromSafariExtensions.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/getDataFromSafariExtensions.ts"],"names":[],"mappings":";;AAEA,kEAeC;AAjBD,mCAAoF;AAEpF,SAAgB,2BAA2B,CACzC,IAAwB,EACxB,QAA4B;IAE5B,MAAM,iBAAiB,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,6BAAqB,CAAC,CAAC;IAChE,MAAM,oBAAoB,GAAG,CAAC,iBAAiB,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,gCAAwB,CAAC,CAAA,CAAC;IAE5F,IAAI,CAAC,iBAAiB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChD,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,gBAAQ,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACzD,iBAAiB,CAAC,CAAC,CAAC,GAAG,6BAAqB,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,gCAAwB,IAAI,QAAQ,EAAE;KACvG,CAAC;AACJ,CAAC","sourcesContent":["import { atString, safariExtensionString, safariWebExtensionString } from './const';\n\nexport function getDataFromSafariExtensions(\n func: string | undefined,\n filename: string | undefined\n): [string | undefined, string | undefined] {\n const isSafariExtension = func?.includes(safariExtensionString);\n const isSafariWebExtension = !isSafariExtension && func?.includes(safariWebExtensionString);\n\n if (!isSafariExtension && !isSafariWebExtension) {\n return [func, filename];\n }\n\n return [\n func?.includes(atString) ? func.split(atString)[0] : func,\n isSafariExtension ? `${safariExtensionString}:${filename}` : `${safariWebExtensionString}:${filename}`,\n ];\n}\n"]}
@@ -1,32 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getStackFramesFromError = getStackFramesFromError;
4
- var faro_core_1 = require("@grafana/faro-core");
5
- var buildStackFrame_1 = require("./buildStackFrame");
6
- var const_1 = require("./const");
7
- var getDataFromSafariExtensions_1 = require("./getDataFromSafariExtensions");
4
+ const faro_core_1 = require("@grafana/faro-core");
5
+ const buildStackFrame_1 = require("./buildStackFrame");
6
+ const const_1 = require("./const");
7
+ const getDataFromSafariExtensions_1 = require("./getDataFromSafariExtensions");
8
8
  function getStackFramesFromError(error) {
9
- var lines = [];
9
+ let lines = [];
10
10
  if (error.stacktrace) {
11
- lines = error.stacktrace.split(const_1.newLineString).filter(function (_line, idx) { return idx % 2 === 0; });
11
+ lines = error.stacktrace.split(const_1.newLineString).filter((_line, idx) => idx % 2 === 0);
12
12
  }
13
13
  else if (error.stack) {
14
14
  lines = error.stack.split(const_1.newLineString);
15
15
  }
16
- var stackFrames = lines.reduce(function (acc, line, idx) {
17
- var _a, _b;
18
- var parts;
19
- var func;
20
- var filename;
21
- var lineno;
22
- var colno;
16
+ const stackFrames = lines.reduce((acc, line, idx) => {
17
+ let parts;
18
+ let func;
19
+ let filename;
20
+ let lineno;
21
+ let colno;
23
22
  if ((parts = const_1.webkitLineRegex.exec(line))) {
24
23
  func = parts[1];
25
24
  filename = parts[2];
26
25
  lineno = parts[3];
27
26
  colno = parts[4];
28
27
  if (filename === null || filename === void 0 ? void 0 : filename.startsWith(const_1.webkitEvalString)) {
29
- var submatch = const_1.webkitEvalRegex.exec(filename);
28
+ const submatch = const_1.webkitEvalRegex.exec(filename);
30
29
  if (submatch) {
31
30
  filename = submatch[1];
32
31
  lineno = submatch[2];
@@ -36,7 +35,7 @@ function getStackFramesFromError(error) {
36
35
  filename = (filename === null || filename === void 0 ? void 0 : filename.startsWith(const_1.webkitAddressAtString))
37
36
  ? filename.substring(const_1.webkitAddressAtStringLength)
38
37
  : filename;
39
- _a = (0, getDataFromSafariExtensions_1.getDataFromSafariExtensions)(func, filename), func = _a[0], filename = _a[1];
38
+ [func, filename] = (0, getDataFromSafariExtensions_1.getDataFromSafariExtensions)(func, filename);
40
39
  }
41
40
  else if ((parts = const_1.firefoxLineRegex.exec(line))) {
42
41
  func = parts[1];
@@ -44,7 +43,7 @@ function getStackFramesFromError(error) {
44
43
  lineno = parts[4];
45
44
  colno = parts[5];
46
45
  if (!!filename && filename.includes(const_1.firefoxEvalString)) {
47
- var submatch = const_1.firefoxEvalRegex.exec(filename);
46
+ const submatch = const_1.firefoxEvalRegex.exec(filename);
48
47
  if (submatch) {
49
48
  func = func || const_1.evalString;
50
49
  filename = submatch[1];
@@ -54,7 +53,7 @@ function getStackFramesFromError(error) {
54
53
  else if (idx === 0 && !colno && (0, faro_core_1.isNumber)(error.columnNumber)) {
55
54
  colno = String(error.columnNumber + 1);
56
55
  }
57
- _b = (0, getDataFromSafariExtensions_1.getDataFromSafariExtensions)(func, filename), func = _b[0], filename = _b[1];
56
+ [func, filename] = (0, getDataFromSafariExtensions_1.getDataFromSafariExtensions)(func, filename);
58
57
  }
59
58
  if (filename || func) {
60
59
  acc.push((0, buildStackFrame_1.buildStackFrame)(filename, func, lineno ? Number(lineno) : undefined, colno ? Number(colno) : undefined));
@@ -1 +1 @@
1
- {"version":3,"file":"getStackFramesFromError.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/getStackFramesFromError.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNumber } from '@grafana/faro-core';\nimport type { ExceptionStackFrame, ExtendedError } from '@grafana/faro-core';\n\nimport { buildStackFrame } from './buildStackFrame';\nimport {\n evalString,\n firefoxEvalRegex,\n firefoxEvalString,\n firefoxLineRegex,\n newLineString,\n reactMinifiedRegex,\n webkitAddressAtString,\n webkitAddressAtStringLength,\n webkitEvalRegex,\n webkitEvalString,\n webkitLineRegex,\n} from './const';\nimport { getDataFromSafariExtensions } from './getDataFromSafariExtensions';\n\nexport function getStackFramesFromError(error: ExtendedError): ExceptionStackFrame[] {\n let lines: string[] = [];\n\n if (error.stacktrace) {\n lines = error.stacktrace.split(newLineString).filter((_line, idx) => idx % 2 === 0);\n } else if (error.stack) {\n lines = error.stack.split(newLineString);\n }\n\n const stackFrames = lines.reduce((acc, line, idx) => {\n let parts: RegExpExecArray | null;\n let func: string | undefined;\n let filename: string | undefined;\n let lineno: string | undefined;\n let colno: string | undefined;\n\n if ((parts = webkitLineRegex.exec(line))) {\n func = parts[1];\n filename = parts[2];\n lineno = parts[3];\n colno = parts[4];\n\n if (filename?.startsWith(webkitEvalString)) {\n const submatch = webkitEvalRegex.exec(filename);\n\n if (submatch) {\n filename = submatch[1];\n lineno = submatch[2];\n colno = submatch[3];\n }\n }\n\n filename = filename?.startsWith(webkitAddressAtString)\n ? filename.substring(webkitAddressAtStringLength)\n : filename;\n [func, filename] = getDataFromSafariExtensions(func, filename);\n } else if ((parts = firefoxLineRegex.exec(line))) {\n func = parts[1];\n filename = parts[3];\n lineno = parts[4];\n colno = parts[5];\n\n if (!!filename && filename.includes(firefoxEvalString)) {\n const submatch = firefoxEvalRegex.exec(filename);\n\n if (submatch) {\n func = func || evalString;\n filename = submatch[1];\n lineno = submatch[2];\n }\n } else if (idx === 0 && !colno && isNumber(error.columnNumber)) {\n colno = String(error.columnNumber! + 1);\n }\n\n [func, filename] = getDataFromSafariExtensions(func, filename);\n }\n\n if (filename || func) {\n acc.push(buildStackFrame(filename, func, lineno ? Number(lineno) : undefined, colno ? Number(colno) : undefined));\n }\n\n return acc;\n }, [] as ExceptionStackFrame[]);\n\n if (reactMinifiedRegex.test(error.message)) {\n return stackFrames.slice(1);\n }\n\n return stackFrames;\n}\n"]}
1
+ {"version":3,"file":"getStackFramesFromError.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/getStackFramesFromError.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNumber } from '@grafana/faro-core';\nimport type { ExceptionStackFrame, ExtendedError } from '@grafana/faro-core';\n\nimport { buildStackFrame } from './buildStackFrame';\nimport {\n evalString,\n firefoxEvalRegex,\n firefoxEvalString,\n firefoxLineRegex,\n newLineString,\n reactMinifiedRegex,\n webkitAddressAtString,\n webkitAddressAtStringLength,\n webkitEvalRegex,\n webkitEvalString,\n webkitLineRegex,\n} from './const';\nimport { getDataFromSafariExtensions } from './getDataFromSafariExtensions';\n\nexport function getStackFramesFromError(error: ExtendedError): ExceptionStackFrame[] {\n let lines: string[] = [];\n\n if (error.stacktrace) {\n lines = error.stacktrace.split(newLineString).filter((_line, idx) => idx % 2 === 0);\n } else if (error.stack) {\n lines = error.stack.split(newLineString);\n }\n\n const stackFrames = lines.reduce((acc, line, idx) => {\n let parts: RegExpExecArray | null;\n let func: string | undefined;\n let filename: string | undefined;\n let lineno: string | undefined;\n let colno: string | undefined;\n\n if ((parts = webkitLineRegex.exec(line))) {\n func = parts[1];\n filename = parts[2];\n lineno = parts[3];\n colno = parts[4];\n\n if (filename?.startsWith(webkitEvalString)) {\n const submatch = webkitEvalRegex.exec(filename);\n\n if (submatch) {\n filename = submatch[1];\n lineno = submatch[2];\n colno = submatch[3];\n }\n }\n\n filename = filename?.startsWith(webkitAddressAtString)\n ? filename.substring(webkitAddressAtStringLength)\n : filename;\n [func, filename] = getDataFromSafariExtensions(func, filename);\n } else if ((parts = firefoxLineRegex.exec(line))) {\n func = parts[1];\n filename = parts[3];\n lineno = parts[4];\n colno = parts[5];\n\n if (!!filename && filename.includes(firefoxEvalString)) {\n const submatch = firefoxEvalRegex.exec(filename);\n\n if (submatch) {\n func = func || evalString;\n filename = submatch[1];\n lineno = submatch[2];\n }\n } else if (idx === 0 && !colno && isNumber(error.columnNumber)) {\n colno = String(error.columnNumber! + 1);\n }\n\n [func, filename] = getDataFromSafariExtensions(func, filename);\n }\n\n if (filename || func) {\n acc.push(buildStackFrame(filename, func, lineno ? Number(lineno) : undefined, colno ? Number(colno) : undefined));\n }\n\n return acc;\n }, [] as ExceptionStackFrame[]);\n\n if (reactMinifiedRegex.test(error.message)) {\n return stackFrames.slice(1);\n }\n\n return stackFrames;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseStacktrace = parseStacktrace;
4
- var getStackFramesFromError_1 = require("./getStackFramesFromError");
4
+ const getStackFramesFromError_1 = require("./getStackFramesFromError");
5
5
  function parseStacktrace(error) {
6
6
  return {
7
7
  frames: (0, getStackFramesFromError_1.getStackFramesFromError)(error),
@@ -1 +1 @@
1
- {"version":3,"file":"parseStacktrace.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/parseStacktrace.ts"],"names":[],"mappings":";;AAIA,0CAIC;AAND,qEAAoE;AAEpE,SAAgB,eAAe,CAAC,KAAoB;IAClD,OAAO;QACL,MAAM,EAAE,IAAA,iDAAuB,EAAC,KAAK,CAAC;KACvC,CAAC;AACJ,CAAC","sourcesContent":["import type { ExtendedError, Stacktrace } from '@grafana/faro-core';\n\nimport { getStackFramesFromError } from './getStackFramesFromError';\n\nexport function parseStacktrace(error: ExtendedError): Stacktrace {\n return {\n frames: getStackFramesFromError(error),\n };\n}\n"]}
1
+ {"version":3,"file":"parseStacktrace.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/parseStacktrace.ts"],"names":[],"mappings":";;AAIA,0CAIC;AAND,uEAAoE;AAEpE,SAAgB,eAAe,CAAC,KAAoB;IAClD,OAAO;QACL,MAAM,EAAE,IAAA,iDAAuB,EAAC,KAAK,CAAC;KACvC,CAAC;AACJ,CAAC","sourcesContent":["import type { ExtendedError, Stacktrace } from '@grafana/faro-core';\n\nimport { getStackFramesFromError } from './getStackFramesFromError';\n\nexport function parseStacktrace(error: ExtendedError): Stacktrace {\n return {\n frames: getStackFramesFromError(error),\n };\n}\n"]}