nightingale-sentry 11.6.0 → 11.7.4

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/.eslintrc.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "root": true,
3
- "extends": ["@pob/eslint-config/root", "@pob/eslint-config-node"],
3
+ "extends": ["@pob/eslint-config/root-commonjs"],
4
4
  "ignorePatterns": ["*.d.ts", "/dist"]
5
5
  }
package/CHANGELOG.md CHANGED
@@ -3,6 +3,41 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [11.7.4](https://github.com/christophehurpeau/nightingale/compare/v11.7.3...v11.7.4) (2021-11-27)
7
+
8
+ **Note:** Version bump only for package nightingale-sentry
9
+
10
+
11
+
12
+
13
+
14
+ ## [11.7.2](https://github.com/christophehurpeau/nightingale/compare/v11.7.1...v11.7.2) (2021-11-27)
15
+
16
+ **Note:** Version bump only for package nightingale-sentry
17
+
18
+
19
+
20
+
21
+
22
+ ## [11.7.1](https://github.com/christophehurpeau/nightingale/compare/v11.7.0...v11.7.1) (2021-06-29)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * update pob-babel to bring back webpack 4 support ([4887431](https://github.com/christophehurpeau/nightingale/commit/4887431b3b272496511f879af022638723b9056e))
28
+
29
+
30
+
31
+
32
+
33
+ # [11.7.0](https://github.com/christophehurpeau/nightingale/compare/v11.6.0...v11.7.0) (2021-03-29)
34
+
35
+ **Note:** Version bump only for package nightingale-sentry
36
+
37
+
38
+
39
+
40
+
6
41
  # [11.6.0](https://github.com/christophehurpeau/nightingale/compare/v11.5.4...v11.6.0) (2021-03-21)
7
42
 
8
43
 
@@ -4,49 +4,65 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _extends = require('@babel/runtime/helpers/esm/extends');
6
6
  var types = require('@sentry/types');
7
- var Level = require('nightingale-levels');
7
+ var nightingaleLevels = require('nightingale-levels');
8
8
 
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
10
10
 
11
11
  var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
12
- var Level__default = /*#__PURE__*/_interopDefaultLegacy(Level);
13
12
 
14
- const mapToSentryLevel = {
15
- [Level__default.TRACE]: types.Severity.Debug,
16
- [Level__default.DEBUG]: types.Severity.Debug,
17
- [Level__default.INFO]: types.Severity.Info,
18
- [Level__default.NOTICE]: types.Severity.Log,
19
- [Level__default.WARNING]: types.Severity.Warning,
20
- [Level__default.ERROR]: types.Severity.Error,
21
- [Level__default.CRITICAL]: types.Severity.Critical,
22
- [Level__default.FATAL]: types.Severity.Fatal,
23
- [Level__default.EMERGENCY]: types.Severity.Critical,
13
+ var mapToSentryLevel = {
14
+ [nightingaleLevels.Level.TRACE]: types.Severity.Debug,
15
+ [nightingaleLevels.Level.DEBUG]: types.Severity.Debug,
16
+ [nightingaleLevels.Level.INFO]: types.Severity.Info,
17
+ [nightingaleLevels.Level.NOTICE]: types.Severity.Log,
18
+ [nightingaleLevels.Level.WARNING]: types.Severity.Warning,
19
+ [nightingaleLevels.Level.ERROR]: types.Severity.Error,
20
+ [nightingaleLevels.Level.CRITICAL]: types.Severity.Critical,
21
+ [nightingaleLevels.Level.FATAL]: types.Severity.Fatal,
22
+ [nightingaleLevels.Level.EMERGENCY]: types.Severity.Critical,
24
23
  // not a level
25
- [Level__default.ALL]: types.Severity.Error
24
+ [nightingaleLevels.Level.ALL]: types.Severity.Error
26
25
  };
27
26
 
28
- const createHandler = (Sentry, {
29
- getUser = () => undefined,
30
- getTags = () => ({}),
31
- getBreadcrumbCategory = () => undefined,
32
- getBreadcrumbType = () => undefined,
33
- shouldSendAsException = record => {
27
+ var createHandler = function createHandler(Sentry, _temp) {
28
+ var _ref = _temp === void 0 ? {} : _temp,
29
+ _ref$getUser = _ref.getUser,
30
+ getUser = _ref$getUser === void 0 ? function () {
31
+ return undefined;
32
+ } : _ref$getUser,
33
+ _ref$getTags = _ref.getTags,
34
+ getTags = _ref$getTags === void 0 ? function () {
35
+ return {};
36
+ } : _ref$getTags,
37
+ _ref$getBreadcrumbCat = _ref.getBreadcrumbCategory,
38
+ getBreadcrumbCategory = _ref$getBreadcrumbCat === void 0 ? function () {
39
+ return undefined;
40
+ } : _ref$getBreadcrumbCat,
41
+ _ref$getBreadcrumbTyp = _ref.getBreadcrumbType,
42
+ getBreadcrumbType = _ref$getBreadcrumbTyp === void 0 ? function () {
43
+ return undefined;
44
+ } : _ref$getBreadcrumbTyp,
45
+ _ref$shouldSendAsExce = _ref.shouldSendAsException,
46
+ shouldSendAsException = _ref$shouldSendAsExce === void 0 ? function (record) {
34
47
  var _record$metadata;
35
48
 
36
49
  return ((_record$metadata = record.metadata) == null ? void 0 : _record$metadata.error) !== undefined && record.metadata.unhandled !== true;
37
- },
38
- shouldSendAsBreadcrumb = () => false
39
- } = {}) => {
40
- return record => {
41
- const key = record.key,
42
- level = record.level,
43
- metadata = record.metadata,
44
- extra = record.extra;
50
+ } : _ref$shouldSendAsExce,
51
+ _ref$shouldSendAsBrea = _ref.shouldSendAsBreadcrumb,
52
+ shouldSendAsBreadcrumb = _ref$shouldSendAsBrea === void 0 ? function () {
53
+ return false;
54
+ } : _ref$shouldSendAsBrea;
55
+
56
+ return function (record) {
57
+ var key = record.key,
58
+ level = record.level,
59
+ metadata = record.metadata,
60
+ extra = record.extra;
45
61
 
46
62
  if (shouldSendAsException(record)) {
47
- const error = (metadata == null ? void 0 : metadata.error) || record.message;
63
+ var error = (metadata == null ? void 0 : metadata.error) || record.message;
48
64
 
49
- const extraData = _extends__default({}, metadata, extra);
65
+ var extraData = _extends__default({}, metadata, extra);
50
66
 
51
67
  delete extraData.error;
52
68
  Sentry.captureException(error, {
@@ -70,13 +86,10 @@ const createHandler = (Sentry, {
70
86
  };
71
87
  };
72
88
 
73
- class SentryHandler {
74
- constructor(Sentry, minLevel, options) {
75
- this.minLevel = minLevel;
76
- this.handle = createHandler(Sentry, options);
77
- }
78
-
79
- }
89
+ var SentryHandler = function SentryHandler(Sentry, minLevel, options) {
90
+ this.minLevel = minLevel;
91
+ this.handle = createHandler(Sentry, options);
92
+ };
80
93
 
81
- exports.default = SentryHandler;
94
+ exports["default"] = SentryHandler;
82
95
  //# sourceMappingURL=index-browser-dev.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { POB_TARGET } from 'pob-babel';\nimport type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport * as SentryNode from '@sentry/node';\nimport type { User } from '@sentry/types';\nimport { Severity } from '@sentry/types';\nimport Level from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\n\nconst mapToSentryLevel: Record<Level, Severity> = {\n [Level.TRACE]: Severity.Debug,\n [Level.DEBUG]: Severity.Debug,\n [Level.INFO]: Severity.Info,\n [Level.NOTICE]: Severity.Log,\n [Level.WARNING]: Severity.Warning,\n [Level.ERROR]: Severity.Error,\n [Level.CRITICAL]: Severity.Critical,\n [Level.FATAL]: Severity.Fatal,\n [Level.EMERGENCY]: Severity.Critical,\n // not a level\n [Level.ALL]: Severity.Error,\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\ninterface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || Severity.Error,\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || Severity.Error,\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport default class SentryHandler<S extends SentryRequiredMethods>\n implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: string | S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n if (POB_TARGET === 'node' && typeof Sentry === 'string') {\n console.warn(\n 'nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.',\n );\n SentryNode.init({ dsn: Sentry });\n this.handle = createHandler(SentryNode, options);\n } else {\n this.handle = createHandler<S>(Sentry as S, options);\n }\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","Severity","Debug","DEBUG","INFO","Info","NOTICE","Log","WARNING","Warning","ERROR","Error","CRITICAL","Critical","FATAL","Fatal","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","constructor","minLevel","options","handle"],"mappings":";;;;;;;;;;;;;AAYA,MAAMA,gBAAyC,GAAG;AAChD,GAACC,cAAK,CAACC,KAAP,GAAeC,cAAQ,CAACC,KADwB;AAEhD,GAACH,cAAK,CAACI,KAAP,GAAeF,cAAQ,CAACC,KAFwB;AAGhD,GAACH,cAAK,CAACK,IAAP,GAAcH,cAAQ,CAACI,IAHyB;AAIhD,GAACN,cAAK,CAACO,MAAP,GAAgBL,cAAQ,CAACM,GAJuB;AAKhD,GAACR,cAAK,CAACS,OAAP,GAAiBP,cAAQ,CAACQ,OALsB;AAMhD,GAACV,cAAK,CAACW,KAAP,GAAeT,cAAQ,CAACU,KANwB;AAOhD,GAACZ,cAAK,CAACa,QAAP,GAAkBX,cAAQ,CAACY,QAPqB;AAQhD,GAACd,cAAK,CAACe,KAAP,GAAeb,cAAQ,CAACc,KARwB;AAShD,GAAChB,cAAK,CAACiB,SAAP,GAAmBf,cAAQ,CAACY,QAToB;AAUhD;AACA,GAACd,cAAK,CAACkB,GAAP,GAAahB,cAAQ,CAACU;AAX0B,CAAlD;;AA6CA,MAAMO,aAAa,GAAG,CACpBC,MADoB,EAEpB;AACEC,EAAAA,OAAO,GAAG,MAAMC,SADlB;AAEEC,EAAAA,OAAO,GAAG,OAAO,EAAP,CAFZ;AAGEC,EAAAA,qBAAqB,GAAG,MAAMF,SAHhC;AAIEG,EAAAA,iBAAiB,GAAG,MAAMH,SAJ5B;AAKEI,EAAAA,qBAAqB,GAAwBC,MAArB;AAAA;;AAAA,WACtB,qBAAAA,MAAM,CAACC,QAAP,sCAAiBC,KAAjB,MAA2BP,SAA3B,IACAK,MAAM,CAACC,QAAP,CAAgBE,SAAhB,KAA8B,IAFR;AAAA,GAL1B;AAQEC,EAAAA,sBAAsB,GAAG,MACvB;AATJ,IAUa,EAZO,KAaT;AACX,SAAqCJ,MAA9B,IAAuD;AAAA,UACpDK,GADoD,GACpBL,MADoB,CACpDK,GADoD;AAAA,UAC/CC,KAD+C,GACpBN,MADoB,CAC/CM,KAD+C;AAAA,UACxCL,QADwC,GACpBD,MADoB,CACxCC,QADwC;AAAA,UAC9BM,KAD8B,GACpBP,MADoB,CAC9BO,KAD8B;;AAG5D,QAAIR,qBAAqB,CAACC,MAAD,CAAzB,EAAmC;AACjC,YAAME,KAAK,GAAG,CAAAD,QAAQ,QAAR,YAAAA,QAAQ,CAAEC,KAAV,KAAmBF,MAAM,CAACQ,OAAxC;;AAEA,YAAMC,SAAkC,yBAAQR,QAAR,EAAqBM,KAArB,CAAxC;;AACA,aAAOE,SAAS,CAACP,KAAjB;AAEAT,MAAAA,MAAM,CAACiB,gBAAP,CAAwBR,KAAxB,EAA+B;AAC7BI,QAAAA,KAAK,EAAElC,gBAAgB,CAACkC,KAAD,CAAhB,IAA2B/B,cAAQ,CAACU,KADd;AAE7B0B,QAAAA,IAAI,EAAEjB,OAAO,CAACM,MAAD,CAFgB;AAG7BY,QAAAA,IAAI;AACFC,UAAAA,SAAS,EAAER;AADT,WAECT,OAAO,CAACI,MAAD,CAFR,CAHyB;AAO7BO,QAAAA,KAAK,EAAEE;AAPsB,OAA/B;AASD,KAfD,MAeO,IAAIL,sBAAsB,CAACJ,MAAD,CAA1B,EAAoC;AACzCP,MAAAA,MAAM,CAACqB,aAAP,CAAqB;AACnBR,QAAAA,KAAK,EAAElC,gBAAgB,CAACkC,KAAD,CAAhB,IAA2B/B,cAAQ,CAACU,KADxB;AAEnB8B,QAAAA,QAAQ,EAAElB,qBAAqB,CAACG,MAAD,CAFZ;AAGnBgB,QAAAA,IAAI,EAAElB,iBAAiB,CAACE,MAAD,CAHJ;AAInBQ,QAAAA,OAAO,EAAER,MAAM,CAACQ,OAJG;AAKnBS,QAAAA,IAAI,EAAEjB,MAAM,CAACC,QALM;AAMnBiB,QAAAA,SAAS,EAAElB,MAAM,CAACmB,QAAP,CAAgBC,OAAhB;AANQ,OAArB;AAQD;AACF,GA5BD;AA6BD,CA3CD;;AA6Ce,MAAMC,aAAN,CACM;AAKnBC,EAAAA,WAAW,CAAC7B,MAAD,EAAqB8B,QAArB,EAAsCC,OAAtC,EAAyD;AAClE,SAAKD,QAAL,GAAgBA,QAAhB;AAQE,SAAKE,MAAL,GAAcjC,aAAa,CAAIC,MAAJ,EAAiB+B,OAAjB,CAA3B;AAEH;;AAhBkB;;;;"}
1
+ {"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { POB_TARGET } from 'pob-babel';\nimport type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport * as SentryNode from '@sentry/node';\nimport type { User } from '@sentry/types';\nimport { Severity } from '@sentry/types';\nimport { Level } from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\n\nconst mapToSentryLevel: Record<Level, Severity> = {\n [Level.TRACE]: Severity.Debug,\n [Level.DEBUG]: Severity.Debug,\n [Level.INFO]: Severity.Info,\n [Level.NOTICE]: Severity.Log,\n [Level.WARNING]: Severity.Warning,\n [Level.ERROR]: Severity.Error,\n [Level.CRITICAL]: Severity.Critical,\n [Level.FATAL]: Severity.Fatal,\n [Level.EMERGENCY]: Severity.Critical,\n // not a level\n [Level.ALL]: Severity.Error,\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\ninterface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || Severity.Error,\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || Severity.Error,\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport default class SentryHandler<S extends SentryRequiredMethods>\n implements Handler\n{\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: string | S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n if (POB_TARGET === 'node' && typeof Sentry === 'string') {\n console.warn(\n 'nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.',\n );\n SentryNode.init({ dsn: Sentry });\n this.handle = createHandler(SentryNode, options);\n } else {\n this.handle = createHandler<S>(Sentry as S, options);\n }\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","Severity","Debug","DEBUG","INFO","Info","NOTICE","Log","WARNING","Warning","ERROR","Error","CRITICAL","Critical","FATAL","Fatal","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","minLevel","options","handle"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import _extends from '@babel/runtime/helpers/esm/extends';
2
2
  import { Severity } from '@sentry/types';
3
- import Level from 'nightingale-levels';
3
+ import { Level } from 'nightingale-levels';
4
4
 
5
- const mapToSentryLevel = {
5
+ var mapToSentryLevel = {
6
6
  [Level.TRACE]: Severity.Debug,
7
7
  [Level.DEBUG]: Severity.Debug,
8
8
  [Level.INFO]: Severity.Info,
@@ -16,28 +16,45 @@ const mapToSentryLevel = {
16
16
  [Level.ALL]: Severity.Error
17
17
  };
18
18
 
19
- const createHandler = (Sentry, {
20
- getUser = () => undefined,
21
- getTags = () => ({}),
22
- getBreadcrumbCategory = () => undefined,
23
- getBreadcrumbType = () => undefined,
24
- shouldSendAsException = record => {
19
+ var createHandler = function createHandler(Sentry, _temp) {
20
+ var _ref = _temp === void 0 ? {} : _temp,
21
+ _ref$getUser = _ref.getUser,
22
+ getUser = _ref$getUser === void 0 ? function () {
23
+ return undefined;
24
+ } : _ref$getUser,
25
+ _ref$getTags = _ref.getTags,
26
+ getTags = _ref$getTags === void 0 ? function () {
27
+ return {};
28
+ } : _ref$getTags,
29
+ _ref$getBreadcrumbCat = _ref.getBreadcrumbCategory,
30
+ getBreadcrumbCategory = _ref$getBreadcrumbCat === void 0 ? function () {
31
+ return undefined;
32
+ } : _ref$getBreadcrumbCat,
33
+ _ref$getBreadcrumbTyp = _ref.getBreadcrumbType,
34
+ getBreadcrumbType = _ref$getBreadcrumbTyp === void 0 ? function () {
35
+ return undefined;
36
+ } : _ref$getBreadcrumbTyp,
37
+ _ref$shouldSendAsExce = _ref.shouldSendAsException,
38
+ shouldSendAsException = _ref$shouldSendAsExce === void 0 ? function (record) {
25
39
  var _record$metadata;
26
40
 
27
41
  return ((_record$metadata = record.metadata) == null ? void 0 : _record$metadata.error) !== undefined && record.metadata.unhandled !== true;
28
- },
29
- shouldSendAsBreadcrumb = () => false
30
- } = {}) => {
31
- return record => {
32
- const key = record.key,
33
- level = record.level,
34
- metadata = record.metadata,
35
- extra = record.extra;
42
+ } : _ref$shouldSendAsExce,
43
+ _ref$shouldSendAsBrea = _ref.shouldSendAsBreadcrumb,
44
+ shouldSendAsBreadcrumb = _ref$shouldSendAsBrea === void 0 ? function () {
45
+ return false;
46
+ } : _ref$shouldSendAsBrea;
47
+
48
+ return function (record) {
49
+ var key = record.key,
50
+ level = record.level,
51
+ metadata = record.metadata,
52
+ extra = record.extra;
36
53
 
37
54
  if (shouldSendAsException(record)) {
38
- const error = (metadata == null ? void 0 : metadata.error) || record.message;
55
+ var error = (metadata == null ? void 0 : metadata.error) || record.message;
39
56
 
40
- const extraData = _extends({}, metadata, extra);
57
+ var extraData = _extends({}, metadata, extra);
41
58
 
42
59
  delete extraData.error;
43
60
  Sentry.captureException(error, {
@@ -61,13 +78,10 @@ const createHandler = (Sentry, {
61
78
  };
62
79
  };
63
80
 
64
- class SentryHandler {
65
- constructor(Sentry, minLevel, options) {
66
- this.minLevel = minLevel;
67
- this.handle = createHandler(Sentry, options);
68
- }
69
-
70
- }
81
+ var SentryHandler = function SentryHandler(Sentry, minLevel, options) {
82
+ this.minLevel = minLevel;
83
+ this.handle = createHandler(Sentry, options);
84
+ };
71
85
 
72
- export default SentryHandler;
86
+ export { SentryHandler as default };
73
87
  //# sourceMappingURL=index-browser-dev.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { POB_TARGET } from 'pob-babel';\nimport type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport * as SentryNode from '@sentry/node';\nimport type { User } from '@sentry/types';\nimport { Severity } from '@sentry/types';\nimport Level from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\n\nconst mapToSentryLevel: Record<Level, Severity> = {\n [Level.TRACE]: Severity.Debug,\n [Level.DEBUG]: Severity.Debug,\n [Level.INFO]: Severity.Info,\n [Level.NOTICE]: Severity.Log,\n [Level.WARNING]: Severity.Warning,\n [Level.ERROR]: Severity.Error,\n [Level.CRITICAL]: Severity.Critical,\n [Level.FATAL]: Severity.Fatal,\n [Level.EMERGENCY]: Severity.Critical,\n // not a level\n [Level.ALL]: Severity.Error,\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\ninterface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || Severity.Error,\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || Severity.Error,\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport default class SentryHandler<S extends SentryRequiredMethods>\n implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: string | S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n if (POB_TARGET === 'node' && typeof Sentry === 'string') {\n console.warn(\n 'nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.',\n );\n SentryNode.init({ dsn: Sentry });\n this.handle = createHandler(SentryNode, options);\n } else {\n this.handle = createHandler<S>(Sentry as S, options);\n }\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","Severity","Debug","DEBUG","INFO","Info","NOTICE","Log","WARNING","Warning","ERROR","Error","CRITICAL","Critical","FATAL","Fatal","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","constructor","minLevel","options","handle"],"mappings":"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"}
1
+ {"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { POB_TARGET } from 'pob-babel';\nimport type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport * as SentryNode from '@sentry/node';\nimport type { User } from '@sentry/types';\nimport { Severity } from '@sentry/types';\nimport { Level } from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\n\nconst mapToSentryLevel: Record<Level, Severity> = {\n [Level.TRACE]: Severity.Debug,\n [Level.DEBUG]: Severity.Debug,\n [Level.INFO]: Severity.Info,\n [Level.NOTICE]: Severity.Log,\n [Level.WARNING]: Severity.Warning,\n [Level.ERROR]: Severity.Error,\n [Level.CRITICAL]: Severity.Critical,\n [Level.FATAL]: Severity.Fatal,\n [Level.EMERGENCY]: Severity.Critical,\n // not a level\n [Level.ALL]: Severity.Error,\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\ninterface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || Severity.Error,\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || Severity.Error,\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport default class SentryHandler<S extends SentryRequiredMethods>\n implements Handler\n{\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: string | S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n if (POB_TARGET === 'node' && typeof Sentry === 'string') {\n console.warn(\n 'nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.',\n );\n SentryNode.init({ dsn: Sentry });\n this.handle = createHandler(SentryNode, options);\n } else {\n this.handle = createHandler<S>(Sentry as S, options);\n }\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","Severity","Debug","DEBUG","INFO","Info","NOTICE","Log","WARNING","Warning","ERROR","Error","CRITICAL","Critical","FATAL","Fatal","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","minLevel","options","handle"],"mappings":"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"}
@@ -4,49 +4,65 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _extends = require('@babel/runtime/helpers/esm/extends');
6
6
  var types = require('@sentry/types');
7
- var Level = require('nightingale-levels');
7
+ var nightingaleLevels = require('nightingale-levels');
8
8
 
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
10
10
 
11
11
  var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
12
- var Level__default = /*#__PURE__*/_interopDefaultLegacy(Level);
13
12
 
14
- const mapToSentryLevel = {
15
- [Level__default.TRACE]: types.Severity.Debug,
16
- [Level__default.DEBUG]: types.Severity.Debug,
17
- [Level__default.INFO]: types.Severity.Info,
18
- [Level__default.NOTICE]: types.Severity.Log,
19
- [Level__default.WARNING]: types.Severity.Warning,
20
- [Level__default.ERROR]: types.Severity.Error,
21
- [Level__default.CRITICAL]: types.Severity.Critical,
22
- [Level__default.FATAL]: types.Severity.Fatal,
23
- [Level__default.EMERGENCY]: types.Severity.Critical,
13
+ var mapToSentryLevel = {
14
+ [nightingaleLevels.Level.TRACE]: types.Severity.Debug,
15
+ [nightingaleLevels.Level.DEBUG]: types.Severity.Debug,
16
+ [nightingaleLevels.Level.INFO]: types.Severity.Info,
17
+ [nightingaleLevels.Level.NOTICE]: types.Severity.Log,
18
+ [nightingaleLevels.Level.WARNING]: types.Severity.Warning,
19
+ [nightingaleLevels.Level.ERROR]: types.Severity.Error,
20
+ [nightingaleLevels.Level.CRITICAL]: types.Severity.Critical,
21
+ [nightingaleLevels.Level.FATAL]: types.Severity.Fatal,
22
+ [nightingaleLevels.Level.EMERGENCY]: types.Severity.Critical,
24
23
  // not a level
25
- [Level__default.ALL]: types.Severity.Error
24
+ [nightingaleLevels.Level.ALL]: types.Severity.Error
26
25
  };
27
26
 
28
- const createHandler = (Sentry, {
29
- getUser = () => undefined,
30
- getTags = () => ({}),
31
- getBreadcrumbCategory = () => undefined,
32
- getBreadcrumbType = () => undefined,
33
- shouldSendAsException = record => {
27
+ var createHandler = function createHandler(Sentry, _temp) {
28
+ var _ref = _temp === void 0 ? {} : _temp,
29
+ _ref$getUser = _ref.getUser,
30
+ getUser = _ref$getUser === void 0 ? function () {
31
+ return undefined;
32
+ } : _ref$getUser,
33
+ _ref$getTags = _ref.getTags,
34
+ getTags = _ref$getTags === void 0 ? function () {
35
+ return {};
36
+ } : _ref$getTags,
37
+ _ref$getBreadcrumbCat = _ref.getBreadcrumbCategory,
38
+ getBreadcrumbCategory = _ref$getBreadcrumbCat === void 0 ? function () {
39
+ return undefined;
40
+ } : _ref$getBreadcrumbCat,
41
+ _ref$getBreadcrumbTyp = _ref.getBreadcrumbType,
42
+ getBreadcrumbType = _ref$getBreadcrumbTyp === void 0 ? function () {
43
+ return undefined;
44
+ } : _ref$getBreadcrumbTyp,
45
+ _ref$shouldSendAsExce = _ref.shouldSendAsException,
46
+ shouldSendAsException = _ref$shouldSendAsExce === void 0 ? function (record) {
34
47
  var _record$metadata;
35
48
 
36
49
  return ((_record$metadata = record.metadata) == null ? void 0 : _record$metadata.error) !== undefined && record.metadata.unhandled !== true;
37
- },
38
- shouldSendAsBreadcrumb = () => false
39
- } = {}) => {
40
- return record => {
41
- const key = record.key,
42
- level = record.level,
43
- metadata = record.metadata,
44
- extra = record.extra;
50
+ } : _ref$shouldSendAsExce,
51
+ _ref$shouldSendAsBrea = _ref.shouldSendAsBreadcrumb,
52
+ shouldSendAsBreadcrumb = _ref$shouldSendAsBrea === void 0 ? function () {
53
+ return false;
54
+ } : _ref$shouldSendAsBrea;
55
+
56
+ return function (record) {
57
+ var key = record.key,
58
+ level = record.level,
59
+ metadata = record.metadata,
60
+ extra = record.extra;
45
61
 
46
62
  if (shouldSendAsException(record)) {
47
- const error = (metadata == null ? void 0 : metadata.error) || record.message;
63
+ var error = (metadata == null ? void 0 : metadata.error) || record.message;
48
64
 
49
- const extraData = _extends__default({}, metadata, extra);
65
+ var extraData = _extends__default({}, metadata, extra);
50
66
 
51
67
  delete extraData.error;
52
68
  Sentry.captureException(error, {
@@ -70,13 +86,10 @@ const createHandler = (Sentry, {
70
86
  };
71
87
  };
72
88
 
73
- class SentryHandler {
74
- constructor(Sentry, minLevel, options) {
75
- this.minLevel = minLevel;
76
- this.handle = createHandler(Sentry, options);
77
- }
78
-
79
- }
89
+ var SentryHandler = function SentryHandler(Sentry, minLevel, options) {
90
+ this.minLevel = minLevel;
91
+ this.handle = createHandler(Sentry, options);
92
+ };
80
93
 
81
- exports.default = SentryHandler;
94
+ exports["default"] = SentryHandler;
82
95
  //# sourceMappingURL=index-browser.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { POB_TARGET } from 'pob-babel';\nimport type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport * as SentryNode from '@sentry/node';\nimport type { User } from '@sentry/types';\nimport { Severity } from '@sentry/types';\nimport Level from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\n\nconst mapToSentryLevel: Record<Level, Severity> = {\n [Level.TRACE]: Severity.Debug,\n [Level.DEBUG]: Severity.Debug,\n [Level.INFO]: Severity.Info,\n [Level.NOTICE]: Severity.Log,\n [Level.WARNING]: Severity.Warning,\n [Level.ERROR]: Severity.Error,\n [Level.CRITICAL]: Severity.Critical,\n [Level.FATAL]: Severity.Fatal,\n [Level.EMERGENCY]: Severity.Critical,\n // not a level\n [Level.ALL]: Severity.Error,\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\ninterface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || Severity.Error,\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || Severity.Error,\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport default class SentryHandler<S extends SentryRequiredMethods>\n implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: string | S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n if (POB_TARGET === 'node' && typeof Sentry === 'string') {\n console.warn(\n 'nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.',\n );\n SentryNode.init({ dsn: Sentry });\n this.handle = createHandler(SentryNode, options);\n } else {\n this.handle = createHandler<S>(Sentry as S, options);\n }\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","Severity","Debug","DEBUG","INFO","Info","NOTICE","Log","WARNING","Warning","ERROR","Error","CRITICAL","Critical","FATAL","Fatal","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","constructor","minLevel","options","handle"],"mappings":";;;;;;;;;;;;;AAYA,MAAMA,gBAAyC,GAAG;AAChD,GAACC,cAAK,CAACC,KAAP,GAAeC,cAAQ,CAACC,KADwB;AAEhD,GAACH,cAAK,CAACI,KAAP,GAAeF,cAAQ,CAACC,KAFwB;AAGhD,GAACH,cAAK,CAACK,IAAP,GAAcH,cAAQ,CAACI,IAHyB;AAIhD,GAACN,cAAK,CAACO,MAAP,GAAgBL,cAAQ,CAACM,GAJuB;AAKhD,GAACR,cAAK,CAACS,OAAP,GAAiBP,cAAQ,CAACQ,OALsB;AAMhD,GAACV,cAAK,CAACW,KAAP,GAAeT,cAAQ,CAACU,KANwB;AAOhD,GAACZ,cAAK,CAACa,QAAP,GAAkBX,cAAQ,CAACY,QAPqB;AAQhD,GAACd,cAAK,CAACe,KAAP,GAAeb,cAAQ,CAACc,KARwB;AAShD,GAAChB,cAAK,CAACiB,SAAP,GAAmBf,cAAQ,CAACY,QAToB;AAUhD;AACA,GAACd,cAAK,CAACkB,GAAP,GAAahB,cAAQ,CAACU;AAX0B,CAAlD;;AA6CA,MAAMO,aAAa,GAAG,CACpBC,MADoB,EAEpB;AACEC,EAAAA,OAAO,GAAG,MAAMC,SADlB;AAEEC,EAAAA,OAAO,GAAG,OAAO,EAAP,CAFZ;AAGEC,EAAAA,qBAAqB,GAAG,MAAMF,SAHhC;AAIEG,EAAAA,iBAAiB,GAAG,MAAMH,SAJ5B;AAKEI,EAAAA,qBAAqB,GAAwBC,MAArB;AAAA;;AAAA,WACtB,qBAAAA,MAAM,CAACC,QAAP,sCAAiBC,KAAjB,MAA2BP,SAA3B,IACAK,MAAM,CAACC,QAAP,CAAgBE,SAAhB,KAA8B,IAFR;AAAA,GAL1B;AAQEC,EAAAA,sBAAsB,GAAG,MACvB;AATJ,IAUa,EAZO,KAaT;AACX,SAAqCJ,MAA9B,IAAuD;AAAA,UACpDK,GADoD,GACpBL,MADoB,CACpDK,GADoD;AAAA,UAC/CC,KAD+C,GACpBN,MADoB,CAC/CM,KAD+C;AAAA,UACxCL,QADwC,GACpBD,MADoB,CACxCC,QADwC;AAAA,UAC9BM,KAD8B,GACpBP,MADoB,CAC9BO,KAD8B;;AAG5D,QAAIR,qBAAqB,CAACC,MAAD,CAAzB,EAAmC;AACjC,YAAME,KAAK,GAAG,CAAAD,QAAQ,QAAR,YAAAA,QAAQ,CAAEC,KAAV,KAAmBF,MAAM,CAACQ,OAAxC;;AAEA,YAAMC,SAAkC,yBAAQR,QAAR,EAAqBM,KAArB,CAAxC;;AACA,aAAOE,SAAS,CAACP,KAAjB;AAEAT,MAAAA,MAAM,CAACiB,gBAAP,CAAwBR,KAAxB,EAA+B;AAC7BI,QAAAA,KAAK,EAAElC,gBAAgB,CAACkC,KAAD,CAAhB,IAA2B/B,cAAQ,CAACU,KADd;AAE7B0B,QAAAA,IAAI,EAAEjB,OAAO,CAACM,MAAD,CAFgB;AAG7BY,QAAAA,IAAI;AACFC,UAAAA,SAAS,EAAER;AADT,WAECT,OAAO,CAACI,MAAD,CAFR,CAHyB;AAO7BO,QAAAA,KAAK,EAAEE;AAPsB,OAA/B;AASD,KAfD,MAeO,IAAIL,sBAAsB,CAACJ,MAAD,CAA1B,EAAoC;AACzCP,MAAAA,MAAM,CAACqB,aAAP,CAAqB;AACnBR,QAAAA,KAAK,EAAElC,gBAAgB,CAACkC,KAAD,CAAhB,IAA2B/B,cAAQ,CAACU,KADxB;AAEnB8B,QAAAA,QAAQ,EAAElB,qBAAqB,CAACG,MAAD,CAFZ;AAGnBgB,QAAAA,IAAI,EAAElB,iBAAiB,CAACE,MAAD,CAHJ;AAInBQ,QAAAA,OAAO,EAAER,MAAM,CAACQ,OAJG;AAKnBS,QAAAA,IAAI,EAAEjB,MAAM,CAACC,QALM;AAMnBiB,QAAAA,SAAS,EAAElB,MAAM,CAACmB,QAAP,CAAgBC,OAAhB;AANQ,OAArB;AAQD;AACF,GA5BD;AA6BD,CA3CD;;AA6Ce,MAAMC,aAAN,CACM;AAKnBC,EAAAA,WAAW,CAAC7B,MAAD,EAAqB8B,QAArB,EAAsCC,OAAtC,EAAyD;AAClE,SAAKD,QAAL,GAAgBA,QAAhB;AAQE,SAAKE,MAAL,GAAcjC,aAAa,CAAIC,MAAJ,EAAiB+B,OAAjB,CAA3B;AAEH;;AAhBkB;;;;"}
1
+ {"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { POB_TARGET } from 'pob-babel';\nimport type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport * as SentryNode from '@sentry/node';\nimport type { User } from '@sentry/types';\nimport { Severity } from '@sentry/types';\nimport { Level } from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\n\nconst mapToSentryLevel: Record<Level, Severity> = {\n [Level.TRACE]: Severity.Debug,\n [Level.DEBUG]: Severity.Debug,\n [Level.INFO]: Severity.Info,\n [Level.NOTICE]: Severity.Log,\n [Level.WARNING]: Severity.Warning,\n [Level.ERROR]: Severity.Error,\n [Level.CRITICAL]: Severity.Critical,\n [Level.FATAL]: Severity.Fatal,\n [Level.EMERGENCY]: Severity.Critical,\n // not a level\n [Level.ALL]: Severity.Error,\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\ninterface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || Severity.Error,\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || Severity.Error,\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport default class SentryHandler<S extends SentryRequiredMethods>\n implements Handler\n{\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: string | S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n if (POB_TARGET === 'node' && typeof Sentry === 'string') {\n console.warn(\n 'nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.',\n );\n SentryNode.init({ dsn: Sentry });\n this.handle = createHandler(SentryNode, options);\n } else {\n this.handle = createHandler<S>(Sentry as S, options);\n }\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","Severity","Debug","DEBUG","INFO","Info","NOTICE","Log","WARNING","Warning","ERROR","Error","CRITICAL","Critical","FATAL","Fatal","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","minLevel","options","handle"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import _extends from '@babel/runtime/helpers/esm/extends';
2
2
  import { Severity } from '@sentry/types';
3
- import Level from 'nightingale-levels';
3
+ import { Level } from 'nightingale-levels';
4
4
 
5
- const mapToSentryLevel = {
5
+ var mapToSentryLevel = {
6
6
  [Level.TRACE]: Severity.Debug,
7
7
  [Level.DEBUG]: Severity.Debug,
8
8
  [Level.INFO]: Severity.Info,
@@ -16,28 +16,45 @@ const mapToSentryLevel = {
16
16
  [Level.ALL]: Severity.Error
17
17
  };
18
18
 
19
- const createHandler = (Sentry, {
20
- getUser = () => undefined,
21
- getTags = () => ({}),
22
- getBreadcrumbCategory = () => undefined,
23
- getBreadcrumbType = () => undefined,
24
- shouldSendAsException = record => {
19
+ var createHandler = function createHandler(Sentry, _temp) {
20
+ var _ref = _temp === void 0 ? {} : _temp,
21
+ _ref$getUser = _ref.getUser,
22
+ getUser = _ref$getUser === void 0 ? function () {
23
+ return undefined;
24
+ } : _ref$getUser,
25
+ _ref$getTags = _ref.getTags,
26
+ getTags = _ref$getTags === void 0 ? function () {
27
+ return {};
28
+ } : _ref$getTags,
29
+ _ref$getBreadcrumbCat = _ref.getBreadcrumbCategory,
30
+ getBreadcrumbCategory = _ref$getBreadcrumbCat === void 0 ? function () {
31
+ return undefined;
32
+ } : _ref$getBreadcrumbCat,
33
+ _ref$getBreadcrumbTyp = _ref.getBreadcrumbType,
34
+ getBreadcrumbType = _ref$getBreadcrumbTyp === void 0 ? function () {
35
+ return undefined;
36
+ } : _ref$getBreadcrumbTyp,
37
+ _ref$shouldSendAsExce = _ref.shouldSendAsException,
38
+ shouldSendAsException = _ref$shouldSendAsExce === void 0 ? function (record) {
25
39
  var _record$metadata;
26
40
 
27
41
  return ((_record$metadata = record.metadata) == null ? void 0 : _record$metadata.error) !== undefined && record.metadata.unhandled !== true;
28
- },
29
- shouldSendAsBreadcrumb = () => false
30
- } = {}) => {
31
- return record => {
32
- const key = record.key,
33
- level = record.level,
34
- metadata = record.metadata,
35
- extra = record.extra;
42
+ } : _ref$shouldSendAsExce,
43
+ _ref$shouldSendAsBrea = _ref.shouldSendAsBreadcrumb,
44
+ shouldSendAsBreadcrumb = _ref$shouldSendAsBrea === void 0 ? function () {
45
+ return false;
46
+ } : _ref$shouldSendAsBrea;
47
+
48
+ return function (record) {
49
+ var key = record.key,
50
+ level = record.level,
51
+ metadata = record.metadata,
52
+ extra = record.extra;
36
53
 
37
54
  if (shouldSendAsException(record)) {
38
- const error = (metadata == null ? void 0 : metadata.error) || record.message;
55
+ var error = (metadata == null ? void 0 : metadata.error) || record.message;
39
56
 
40
- const extraData = _extends({}, metadata, extra);
57
+ var extraData = _extends({}, metadata, extra);
41
58
 
42
59
  delete extraData.error;
43
60
  Sentry.captureException(error, {
@@ -61,13 +78,10 @@ const createHandler = (Sentry, {
61
78
  };
62
79
  };
63
80
 
64
- class SentryHandler {
65
- constructor(Sentry, minLevel, options) {
66
- this.minLevel = minLevel;
67
- this.handle = createHandler(Sentry, options);
68
- }
69
-
70
- }
81
+ var SentryHandler = function SentryHandler(Sentry, minLevel, options) {
82
+ this.minLevel = minLevel;
83
+ this.handle = createHandler(Sentry, options);
84
+ };
71
85
 
72
- export default SentryHandler;
86
+ export { SentryHandler as default };
73
87
  //# sourceMappingURL=index-browser.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import { POB_TARGET } from 'pob-babel';\nimport type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport * as SentryNode from '@sentry/node';\nimport type { User } from '@sentry/types';\nimport { Severity } from '@sentry/types';\nimport Level from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\n\nconst mapToSentryLevel: Record<Level, Severity> = {\n [Level.TRACE]: Severity.Debug,\n [Level.DEBUG]: Severity.Debug,\n [Level.INFO]: Severity.Info,\n [Level.NOTICE]: Severity.Log,\n [Level.WARNING]: Severity.Warning,\n [Level.ERROR]: Severity.Error,\n [Level.CRITICAL]: Severity.Critical,\n [Level.FATAL]: Severity.Fatal,\n [Level.EMERGENCY]: Severity.Critical,\n // not a level\n [Level.ALL]: Severity.Error,\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\ninterface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || Severity.Error,\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || Severity.Error,\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport default class SentryHandler<S extends SentryRequiredMethods>\n implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: string | S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n if (POB_TARGET === 'node' && typeof Sentry === 'string') {\n console.warn(\n 'nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.',\n );\n SentryNode.init({ dsn: Sentry });\n this.handle = createHandler(SentryNode, options);\n } else {\n this.handle = createHandler<S>(Sentry as S, options);\n }\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","Severity","Debug","DEBUG","INFO","Info","NOTICE","Log","WARNING","Warning","ERROR","Error","CRITICAL","Critical","FATAL","Fatal","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","constructor","minLevel","options","handle"],"mappings":"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"}
1
+ {"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import { POB_TARGET } from 'pob-babel';\nimport type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport * as SentryNode from '@sentry/node';\nimport type { User } from '@sentry/types';\nimport { Severity } from '@sentry/types';\nimport { Level } from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\n\nconst mapToSentryLevel: Record<Level, Severity> = {\n [Level.TRACE]: Severity.Debug,\n [Level.DEBUG]: Severity.Debug,\n [Level.INFO]: Severity.Info,\n [Level.NOTICE]: Severity.Log,\n [Level.WARNING]: Severity.Warning,\n [Level.ERROR]: Severity.Error,\n [Level.CRITICAL]: Severity.Critical,\n [Level.FATAL]: Severity.Fatal,\n [Level.EMERGENCY]: Severity.Critical,\n // not a level\n [Level.ALL]: Severity.Error,\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\ninterface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || Severity.Error,\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || Severity.Error,\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport default class SentryHandler<S extends SentryRequiredMethods>\n implements Handler\n{\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: string | S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n if (POB_TARGET === 'node' && typeof Sentry === 'string') {\n console.warn(\n 'nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.',\n );\n SentryNode.init({ dsn: Sentry });\n this.handle = createHandler(SentryNode, options);\n } else {\n this.handle = createHandler<S>(Sentry as S, options);\n }\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","Severity","Debug","DEBUG","INFO","Info","NOTICE","Log","WARNING","Warning","ERROR","Error","CRITICAL","Critical","FATAL","Fatal","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","minLevel","options","handle"],"mappings":"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"}