@crimson-education/browser-logger 2.0.2 → 3.0.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 (71) hide show
  1. package/README.md +212 -67
  2. package/lib/index.d.ts +6 -76
  3. package/lib/index.d.ts.map +1 -1
  4. package/lib/index.js +42 -186
  5. package/lib/index.js.map +1 -1
  6. package/lib/logger/consoleTransport.d.ts +37 -0
  7. package/lib/logger/consoleTransport.d.ts.map +1 -0
  8. package/lib/logger/consoleTransport.js +81 -0
  9. package/lib/logger/consoleTransport.js.map +1 -0
  10. package/lib/logger/datadogTransport.d.ts +8 -0
  11. package/lib/logger/datadogTransport.d.ts.map +1 -0
  12. package/lib/logger/datadogTransport.js +21 -0
  13. package/lib/logger/datadogTransport.js.map +1 -0
  14. package/lib/logger/index.d.ts +16 -0
  15. package/lib/logger/index.d.ts.map +1 -0
  16. package/lib/logger/index.js +148 -0
  17. package/lib/logger/index.js.map +1 -0
  18. package/lib/logger/index.test.d.ts +2 -0
  19. package/lib/logger/index.test.d.ts.map +1 -0
  20. package/lib/logger/index.test.js +60 -0
  21. package/lib/logger/index.test.js.map +1 -0
  22. package/lib/logger/utils.d.ts +15 -0
  23. package/lib/logger/utils.d.ts.map +1 -0
  24. package/lib/logger/utils.js +32 -0
  25. package/lib/logger/utils.js.map +1 -0
  26. package/lib/reporters/amplifyReporter.d.ts +2 -2
  27. package/lib/reporters/amplifyReporter.d.ts.map +1 -1
  28. package/lib/reporters/amplifyReporter.js +13 -14
  29. package/lib/reporters/amplifyReporter.js.map +1 -1
  30. package/lib/reporters/datadogReporter.d.ts +7 -5
  31. package/lib/reporters/datadogReporter.d.ts.map +1 -1
  32. package/lib/reporters/datadogReporter.js +37 -100
  33. package/lib/reporters/datadogReporter.js.map +1 -1
  34. package/lib/reporters/gtmReporter.d.ts.map +1 -1
  35. package/lib/reporters/gtmReporter.js +2 -7
  36. package/lib/reporters/gtmReporter.js.map +1 -1
  37. package/lib/reporters/index.d.ts +66 -3
  38. package/lib/reporters/index.d.ts.map +1 -1
  39. package/lib/reporters/index.js +210 -17
  40. package/lib/reporters/index.js.map +1 -1
  41. package/lib/reporters/logReporter.d.ts +35 -0
  42. package/lib/reporters/logReporter.d.ts.map +1 -0
  43. package/lib/reporters/logReporter.js +62 -0
  44. package/lib/reporters/logReporter.js.map +1 -0
  45. package/lib/types/logger.d.ts +43 -2
  46. package/lib/types/logger.d.ts.map +1 -1
  47. package/lib/types/logger.js.map +1 -1
  48. package/lib/types/reporter.d.ts +58 -6
  49. package/lib/types/reporter.d.ts.map +1 -1
  50. package/lib/utils.d.ts +9 -8
  51. package/lib/utils.d.ts.map +1 -1
  52. package/lib/utils.js +28 -48
  53. package/lib/utils.js.map +1 -1
  54. package/lib/utils.test.js +18 -5
  55. package/lib/utils.test.js.map +1 -1
  56. package/package.json +1 -1
  57. package/src/index.ts +38 -208
  58. package/src/logger/consoleTransport.ts +101 -0
  59. package/src/logger/datadogTransport.ts +20 -0
  60. package/src/logger/index.test.ts +68 -0
  61. package/src/logger/index.ts +139 -0
  62. package/src/logger/utils.ts +28 -0
  63. package/src/reporters/amplifyReporter.ts +15 -16
  64. package/src/reporters/datadogReporter.ts +48 -116
  65. package/src/reporters/gtmReporter.ts +2 -7
  66. package/src/reporters/index.ts +216 -3
  67. package/src/reporters/logReporter.ts +86 -0
  68. package/src/types/logger.ts +49 -4
  69. package/src/types/reporter.ts +66 -6
  70. package/src/utils.test.ts +20 -6
  71. package/src/utils.ts +37 -62
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,qCAAuC;AACvC,2CAAoE;AACpE,yDAAsD;AACtD,iEAA8D;AAC9D,iEAA8D;AAC9D,yDAAsD;AAEtD,0CAAwB;AACxB,8CAA4B;AAC5B,2CAAyB;AAIzB,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB;;;GAGG;AACH,SAAgB,IAAI,CAAC,MAAoB;;IACvC,8DAA8D;IAC9D,IAAI,WAAW,EAAE;QACf,OAAO;KACR;IACD,WAAW,GAAG,IAAI,CAAC;IAEnB,mCAAmC;IACnC,MAAM,iBAAiB,GAAG,MAAA,MAAA,MAAM,CAAC,SAAS,0CAAE,GAAG,mCAAI,IAAI,CAAC;IACxD,IAAI,iBAAiB,KAAK,KAAK,EAAE;QAC/B,qBAAS,CAAC,KAAK,CAAC,GAAG,IAAA,yBAAW,EAAC,MAAM,EAAE,OAAO,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;KACzG;IAED,IAAI,MAAA,MAAM,CAAC,SAAS,0CAAE,OAAO,EAAE;QAC7B,qBAAS,CAAC,SAAS,CAAC,GAAG,IAAA,iCAAe,EAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;KAC1E;IAED,IAAI,MAAA,MAAM,CAAC,SAAS,0CAAE,OAAO,EAAE;QAC7B,qBAAS,CAAC,SAAS,CAAC,GAAG,IAAA,iCAAe,EAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;KAC1E;IAED,IAAI,MAAA,MAAM,CAAC,SAAS,0CAAE,GAAG,EAAE;QACzB,qBAAS,CAAC,KAAK,CAAC,GAAG,IAAA,yBAAW,EAAC,MAAM,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC/G;IAED,MAAM,eAAe,GAAG;QACtB,GAAG,CAAC,MAAA,MAAM,CAAC,eAAe,mCAAI,EAAE,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;IAEF,2CAA2C;IAC3C,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,IAAA,oBAAW,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KAC9B;IAED,6CAA6C;IAC7C,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,IAAA,yBAAa,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,IAAA,uBAAW,EAAC,eAAe,CAAC,CAAC;AAC/B,CAAC;AA3CD,oBA2CC"}
@@ -0,0 +1,37 @@
1
+ import { ILogTransport, LogLevel, LogTransportConfigBase } from '../types';
2
+ declare const colors: {
3
+ bold: number[];
4
+ italic: number[];
5
+ underline: number[];
6
+ inverse: number[];
7
+ white: number[];
8
+ grey: number[];
9
+ black: number[];
10
+ blue: number[];
11
+ cyan: number[];
12
+ green: number[];
13
+ magenta: number[];
14
+ red: number[];
15
+ yellow: number[];
16
+ };
17
+ export declare type ColorizeColor = keyof typeof colors;
18
+ /**
19
+ * Colorize a string with a specified color.
20
+ * @param str String to colorize
21
+ * @param color Color to colorize the string with
22
+ * @returns Colorized string
23
+ */
24
+ export declare function colorize(str: string, color: ColorizeColor): string;
25
+ export interface ConsoleLogTransportConfig extends LogTransportConfigBase {
26
+ /**
27
+ * Add colors to log messages.
28
+ */
29
+ colorize?: false | typeof colorize;
30
+ /**
31
+ * Gets the color for the log level.
32
+ */
33
+ getLogLevelColor?: (level: LogLevel) => ColorizeColor;
34
+ }
35
+ export declare function consoleTransport(config?: ConsoleLogTransportConfig): ILogTransport & ConsoleLogTransportConfig;
36
+ export {};
37
+ //# sourceMappingURL=consoleTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consoleTransport.d.ts","sourceRoot":"","sources":["../../src/logger/consoleTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAG3E,QAAA,MAAM,MAAM;;;;;;;;;;;;;;CAcX,CAAC;AACF,oBAAY,aAAa,GAAG,MAAM,OAAO,MAAM,CAAC;AAEhD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,UAGzD;AAWD,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;IACvE;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,QAAQ,CAAC;IAEnC;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,aAAa,CAAC;CACvD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,yBAA8B,6CAgDtE"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.consoleTransport = exports.colorize = void 0;
4
+ // from browser-util-inspect
5
+ const colors = {
6
+ bold: [1, 22],
7
+ italic: [3, 23],
8
+ underline: [4, 24],
9
+ inverse: [7, 27],
10
+ white: [37, 39],
11
+ grey: [90, 39],
12
+ black: [30, 39],
13
+ blue: [34, 39],
14
+ cyan: [36, 39],
15
+ green: [32, 39],
16
+ magenta: [35, 39],
17
+ red: [31, 39],
18
+ yellow: [33, 39],
19
+ };
20
+ /**
21
+ * Colorize a string with a specified color.
22
+ * @param str String to colorize
23
+ * @param color Color to colorize the string with
24
+ * @returns Colorized string
25
+ */
26
+ function colorize(str, color) {
27
+ const colorData = colors[color];
28
+ return '\u001b[' + colorData[0] + 'm' + str + '\u001b[' + colorData[1] + 'm';
29
+ }
30
+ exports.colorize = colorize;
31
+ /**
32
+ * Gets a stack trace from metadata or accompanying error.
33
+ */
34
+ function getStackTrace(data) {
35
+ var _a;
36
+ const stack = ((_a = data === null || data === void 0 ? void 0 : data.err) === null || _a === void 0 ? void 0 : _a.stack) || data.stack || data['error.stack'];
37
+ delete data.stack;
38
+ return stack !== null && stack !== void 0 ? stack : '';
39
+ }
40
+ function consoleTransport(config = {}) {
41
+ var _a, _b, _c;
42
+ // Default ignore patterns
43
+ (_a = config.ignoreMetadataPatterns) !== null && _a !== void 0 ? _a : (config.ignoreMetadataPatterns = ['application', 'service', 'environment', 'version']);
44
+ // Get the colorizer function, or a no-op if not enabled.
45
+ const colorizer = config.colorize !== false ? (_b = config.colorize) !== null && _b !== void 0 ? _b : colorize : (str) => str;
46
+ // Get the log level color function, or use the default colors.
47
+ const getLogLevelColor = (_c = config.getLogLevelColor) !== null && _c !== void 0 ? _c : ((level) => {
48
+ return {
49
+ error: 'red',
50
+ warn: 'yellow',
51
+ info: 'cyan',
52
+ debug: 'green',
53
+ }[level];
54
+ });
55
+ const transport = {
56
+ ...config,
57
+ log: ({ level, message, timestamp, splat, ...metadata }) => {
58
+ let splatData = splat !== null && splat !== void 0 ? splat : [];
59
+ const stackTrace = getStackTrace(metadata);
60
+ const strippedInfo = { ...metadata };
61
+ delete strippedInfo['level'];
62
+ delete strippedInfo['message'];
63
+ delete strippedInfo['splat'];
64
+ delete strippedInfo['timestamp'];
65
+ delete strippedInfo['stack'];
66
+ if (Object.keys(strippedInfo).length > 0) {
67
+ splatData = [strippedInfo, ...splatData];
68
+ }
69
+ if (message) {
70
+ splatData = [message, ...splatData];
71
+ }
72
+ if (stackTrace) {
73
+ splatData = [...splatData, stackTrace];
74
+ }
75
+ console.log(`${colorizer(timestamp, 'magenta')} ${colorizer(level, getLogLevelColor(level))}: `, ...splatData);
76
+ },
77
+ };
78
+ return transport;
79
+ }
80
+ exports.consoleTransport = consoleTransport;
81
+ //# sourceMappingURL=consoleTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consoleTransport.js","sourceRoot":"","sources":["../../src/logger/consoleTransport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ILogTransport, LogTransportConfigBase } from '../types';
2
+ export declare type DatadogLogTransportConfig = LogTransportConfigBase;
3
+ /**
4
+ * A transport that sends logs to Datadog.
5
+ * Note: This requires the datadog reporter to be initialized for it to work.
6
+ */
7
+ export declare function datadogTransport(config?: DatadogLogTransportConfig): ILogTransport;
8
+ //# sourceMappingURL=datadogTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datadogTransport.d.ts","sourceRoot":"","sources":["../../src/logger/datadogTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAIjE,oBAAY,yBAAyB,GAAG,sBAAsB,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,yBAA8B,iBAStE"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.datadogTransport = void 0;
4
+ const utils_1 = require("./utils");
5
+ const browser_logs_1 = require("@datadog/browser-logs");
6
+ /**
7
+ * A transport that sends logs to Datadog.
8
+ * Note: This requires the datadog reporter to be initialized for it to work.
9
+ */
10
+ function datadogTransport(config = {}) {
11
+ const transport = {
12
+ ...config,
13
+ log: ({ level, message, ...metadata }) => {
14
+ // Datadog expects a string message.
15
+ browser_logs_1.datadogLogs.logger[level]((0, utils_1.getLogMessage)(message), metadata);
16
+ },
17
+ };
18
+ return transport;
19
+ }
20
+ exports.datadogTransport = datadogTransport;
21
+ //# sourceMappingURL=datadogTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datadogTransport.js","sourceRoot":"","sources":["../../src/logger/datadogTransport.ts"],"names":[],"mappings":";;;AACA,mCAAwC;AACxC,wDAAoD;AAIpD;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,SAAoC,EAAE;IACrE,MAAM,SAAS,GAAkB;QAC/B,GAAG,MAAM;QACT,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE;YACvC,oCAAoC;YACpC,0BAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAA,qBAAa,EAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;KACF,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC;AATD,4CASC"}
@@ -0,0 +1,16 @@
1
+ import { ILogger, ILogTransport, LoggerOptions, LogLevel, Metadata } from '../types';
2
+ export * from './consoleTransport';
3
+ export * from './datadogTransport';
4
+ export declare const globalMetadata: Metadata;
5
+ export declare const logTransports: ILogTransport[];
6
+ export declare let globalLogLevel: LogLevel | undefined;
7
+ /**
8
+ * Sets the global log level.
9
+ */
10
+ export declare function setLogLevel(level: LogLevel | null): void;
11
+ /**
12
+ * Creates a Logger Instance.
13
+ */
14
+ export declare function createLogger(options?: LoggerOptions): ILogger;
15
+ export declare const logger: ILogger;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAA2B,MAAM,UAAU,CAAC;AAK9G,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,eAAO,MAAM,cAAc,EAAE,QAAa,CAAC;AAE3C,eAAO,MAAM,aAAa,EAAE,aAAa,EAAyB,CAAC;AAEnE,eAAO,IAAI,cAAc,EAAE,QAAQ,GAAG,SAAS,CAAC;AAChD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAExD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAgHjE;AAED,eAAO,MAAM,MAAM,SAAiB,CAAC"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.logger = exports.createLogger = exports.setLogLevel = exports.globalLogLevel = exports.logTransports = exports.globalMetadata = void 0;
18
+ /* eslint-disable prefer-rest-params */
19
+ const types_1 = require("../types");
20
+ const utils_1 = require("../utils");
21
+ const consoleTransport_1 = require("./consoleTransport");
22
+ const utils_2 = require("./utils");
23
+ __exportStar(require("./consoleTransport"), exports);
24
+ __exportStar(require("./datadogTransport"), exports);
25
+ exports.globalMetadata = {};
26
+ exports.logTransports = [(0, consoleTransport_1.consoleTransport)()];
27
+ /**
28
+ * Sets the global log level.
29
+ */
30
+ function setLogLevel(level) {
31
+ exports.globalLogLevel = level !== null && level !== void 0 ? level : undefined;
32
+ }
33
+ exports.setLogLevel = setLogLevel;
34
+ /**
35
+ * Creates a Logger Instance.
36
+ */
37
+ function createLogger(options = {}) {
38
+ var _a;
39
+ const rootMetadata = (_a = options.metadata) !== null && _a !== void 0 ? _a : {};
40
+ const logger = {
41
+ // impl loosely based on Winston Logger's dynamic log function
42
+ // https://github.com/winstonjs/winston/blob/master/lib/winston/logger.js
43
+ log() {
44
+ var _a, _b;
45
+ let logInfo;
46
+ // Optimize for the hotpath of logging JSON literals
47
+ if (arguments.length === 1) {
48
+ logInfo = {
49
+ level: types_1.LogLevel.Info,
50
+ ...arguments[0],
51
+ };
52
+ }
53
+ // Slightly less hotpath, but worth optimizing for.
54
+ else if (arguments.length === 2) {
55
+ const [level, message] = Array.from(arguments);
56
+ if (message && typeof message === 'object') {
57
+ logInfo = {
58
+ ...message,
59
+ level: (_a = message.level) !== null && _a !== void 0 ? _a : level,
60
+ };
61
+ }
62
+ else {
63
+ logInfo = {
64
+ level,
65
+ message,
66
+ };
67
+ }
68
+ }
69
+ else {
70
+ const [level, message, ...splat] = Array.from(arguments);
71
+ const [meta] = splat;
72
+ if (typeof meta === 'object' && meta !== null) {
73
+ logInfo = {
74
+ ...meta,
75
+ level,
76
+ splat: splat.slice(1),
77
+ message,
78
+ };
79
+ if (meta.message) {
80
+ logInfo.message = `${(0, utils_2.getLogMessage)(logInfo.message)} ${(0, utils_2.getLogMessage)(meta.message)}`;
81
+ }
82
+ if (meta.stack) {
83
+ logInfo.stack = meta.stack;
84
+ }
85
+ }
86
+ else {
87
+ logInfo = {
88
+ level,
89
+ splat,
90
+ message,
91
+ };
92
+ }
93
+ }
94
+ // Check if we should log this message
95
+ const minLevel = exports.globalLogLevel !== null && exports.globalLogLevel !== void 0 ? exports.globalLogLevel : options.logLevel;
96
+ if (minLevel && !(0, utils_2.isAboveLevel)(logInfo.level, minLevel)) {
97
+ return logger;
98
+ }
99
+ // Add timestamp and root metadata.
100
+ // Ensure there is a message property.
101
+ logInfo = {
102
+ ...exports.globalMetadata,
103
+ ...rootMetadata,
104
+ timestamp: new Date().toISOString(),
105
+ ...logInfo,
106
+ message: (_b = logInfo.message) !== null && _b !== void 0 ? _b : '',
107
+ };
108
+ for (const transport of exports.logTransports) {
109
+ if (transport.logLevel) {
110
+ if (!(0, utils_2.isAboveLevel)(logInfo.level, transport.logLevel)) {
111
+ continue;
112
+ }
113
+ }
114
+ transport.log({
115
+ ...(0, utils_1.filterReporterMetadata)(logInfo, transport),
116
+ // These would break the transport if excluded.
117
+ level: logInfo.level,
118
+ message: logInfo.message,
119
+ splat: logInfo.splat,
120
+ });
121
+ }
122
+ return logger;
123
+ },
124
+ child(metadata) {
125
+ return createLogger({ ...rootMetadata, metadata });
126
+ },
127
+ startTimer() {
128
+ const start = new Date();
129
+ return {
130
+ logger: this,
131
+ done: ({ message, level, metadata } = {}) => {
132
+ const duration = new Date().getTime() - start.getTime();
133
+ logger.log(level !== null && level !== void 0 ? level : types_1.LogLevel.Info, message !== null && message !== void 0 ? message : 'Timer Completed', { duration, ...(metadata !== null && metadata !== void 0 ? metadata : {}) });
134
+ return true;
135
+ },
136
+ };
137
+ },
138
+ // Forward the log levels into the log function, essentially shortcuts.
139
+ debug: (...args) => logger.log(types_1.LogLevel.Debug, ...args),
140
+ info: (...args) => logger.log(types_1.LogLevel.Info, ...args),
141
+ warn: (...args) => logger.log(types_1.LogLevel.Warn, ...args),
142
+ error: (...args) => logger.log(types_1.LogLevel.Error, ...args),
143
+ };
144
+ return logger;
145
+ }
146
+ exports.createLogger = createLogger;
147
+ exports.logger = createLogger();
148
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/logger/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const _1 = require(".");
4
+ const __1 = require("..");
5
+ const reporters_1 = require("../reporters");
6
+ const types_1 = require("../types");
7
+ // This isn't actually asserting anything.
8
+ // But it ensures that the logs look correct, and no errors get thrown.
9
+ describe('logger', () => {
10
+ const logger = (0, _1.createLogger)({
11
+ metadata: {
12
+ service: 'test',
13
+ },
14
+ });
15
+ // Manually set the log transports.
16
+ _1.logTransports.length = 0;
17
+ const transport = (0, _1.consoleTransport)({
18
+ // So we can see everything.
19
+ ignoreMetadataPatterns: [],
20
+ });
21
+ _1.logTransports.push(transport);
22
+ it('should log', async () => {
23
+ logger.log({
24
+ level: 'info',
25
+ message: 'data',
26
+ });
27
+ logger.log({ data: 'obj' });
28
+ logger.log(types_1.LogLevel.Debug, 'level, message', { data: 'obj' });
29
+ logger.log(types_1.LogLevel.Debug, 'level, message, metadata', { data: 'obj' });
30
+ (0, __1.init)({
31
+ service: 'test-service',
32
+ environment: 'test',
33
+ version: 'no-version',
34
+ defaultMetadata: {
35
+ application: 'test',
36
+ },
37
+ });
38
+ const infoLogger = logger.child({ isLevel: 'info' });
39
+ infoLogger.info('info call, message');
40
+ infoLogger.info('info call, message, metadata', { data: 'metadataobj' });
41
+ const timer = logger.startTimer();
42
+ await new Promise((resolve) => setTimeout(resolve, 1000));
43
+ timer.done({ message: 'timer done', metadata: { id: 1 } });
44
+ (0, _1.setLogLevel)(types_1.LogLevel.Info);
45
+ (0, reporters_1.addMetadata)({ global: 'metadata' });
46
+ logger.debug('You should not see this');
47
+ logger.info('You should see this with { global: "metadata" }');
48
+ (0, _1.setLogLevel)(null);
49
+ (0, reporters_1.setUser)({
50
+ id: '123',
51
+ email: 'test@example.com',
52
+ });
53
+ logger.debug('debug call, user metadata');
54
+ transport.logLevel = types_1.LogLevel.Info;
55
+ logger.debug('You should not see this');
56
+ logger.info('You should see this');
57
+ transport.logLevel = undefined;
58
+ });
59
+ });
60
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/logger/index.test.ts"],"names":[],"mappings":";;AAAA,wBAAoG;AACpG,0BAA0B;AAC1B,4CAAoD;AACpD,oCAAoC;AAEpC,0CAA0C;AAC1C,uEAAuE;AACvE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,MAAM,MAAM,GAAG,IAAA,eAAY,EAAC;QAC1B,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM;SAChB;KACF,CAAC,CAAC;IAEH,mCAAmC;IACnC,gBAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,MAAM,SAAS,GAAG,IAAA,mBAAgB,EAAC;QACjC,4BAA4B;QAC5B,sBAAsB,EAAE,EAAE;KAC3B,CAAC,CAAC;IACH,gBAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE9B,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,CAAC,GAAG,CAAC;YACT,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,gBAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,CAAC,gBAAQ,CAAC,KAAK,EAAE,0BAA0B,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAExE,IAAA,QAAI,EAAC;YACH,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE;gBACf,WAAW,EAAE,MAAM;aACpB;SACF,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtC,UAAU,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QAEzE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAE3D,IAAA,cAAiB,EAAC,gBAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,IAAA,uBAAW,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAEpC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAE/D,IAAA,cAAiB,EAAC,IAAI,CAAC,CAAC;QACxB,IAAA,mBAAO,EAAC;YACN,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,kBAAkB;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAE1C,SAAS,CAAC,QAAQ,GAAG,gBAAQ,CAAC,IAAI,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { LogLevel } from '../types';
2
+ /**
3
+ * Checks if a log level is above the global log level.
4
+ * @param level The log level to check
5
+ * @param checkLevel THe log level to check against
6
+ * @returns Is above the checkLevel?
7
+ */
8
+ export declare function isAboveLevel(level: LogLevel, checkLevel: LogLevel): boolean;
9
+ /**
10
+ * Ensures a message output is a string.
11
+ * @param message The message to assert is/convert to a string
12
+ * @returns The message as a string
13
+ */
14
+ export declare function getLogMessage(message: any): string;
15
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/logger/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,GAAG,OAAO,CAG3E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CASlD"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLogMessage = exports.isAboveLevel = void 0;
4
+ const types_1 = require("../types");
5
+ /**
6
+ * Checks if a log level is above the global log level.
7
+ * @param level The log level to check
8
+ * @param checkLevel THe log level to check against
9
+ * @returns Is above the checkLevel?
10
+ */
11
+ function isAboveLevel(level, checkLevel) {
12
+ const levels = [types_1.LogLevel.Debug, types_1.LogLevel.Info, types_1.LogLevel.Warn, types_1.LogLevel.Error];
13
+ return levels.indexOf(level) >= levels.indexOf(checkLevel);
14
+ }
15
+ exports.isAboveLevel = isAboveLevel;
16
+ /**
17
+ * Ensures a message output is a string.
18
+ * @param message The message to assert is/convert to a string
19
+ * @returns The message as a string
20
+ */
21
+ function getLogMessage(message) {
22
+ if (typeof message === 'string') {
23
+ return message;
24
+ }
25
+ if (typeof message === 'object' && message !== null) {
26
+ const data = { ...message };
27
+ return JSON.stringify(data);
28
+ }
29
+ return String(message);
30
+ }
31
+ exports.getLogMessage = getLogMessage;
32
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/logger/utils.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AAEpC;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,KAAe,EAAE,UAAoB;IAChE,MAAM,MAAM,GAAG,CAAC,gBAAQ,CAAC,KAAK,EAAE,gBAAQ,CAAC,IAAI,EAAE,gBAAQ,CAAC,IAAI,EAAE,gBAAQ,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7D,CAAC;AAHD,oCAGC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,OAAY;IACxC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,OAAO,CAAC;KAChB;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;QACnD,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KAC7B;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AATD,sCASC"}
@@ -1,5 +1,5 @@
1
1
  import { IReporter, ReporterConfigBase, ServiceInfo } from '../types';
2
- import { AttributeMap } from '../utils';
2
+ declare type AttributeMap = Record<string, string[] | string | null>;
3
3
  export interface AmplifyReporterConfig extends ReporterConfigBase {
4
4
  /**
5
5
  * AWS Region for Amplify.
@@ -67,7 +67,7 @@ export declare function amplifyReporter(info: ServiceInfo, config: AmplifyReport
67
67
  /**
68
68
  * Pinpoint has strict attribute name and value length limits
69
69
  */
70
- export declare function asAttributeMap(values: Record<string, unknown>, groupValues?: boolean, ignorePatterns?: (string | RegExp)[]): AttributeMap;
70
+ export declare function asAttributeMap(values: Record<string, unknown>, groupValues?: boolean): AttributeMap;
71
71
  /**
72
72
  * Pinpoint expects `endpoint.attributes` and `endpoint.userAttributes` to have
73
73
  * values which are string arrays. This function takes in an object and ensures
@@ -1 +1 @@
1
- {"version":3,"file":"amplifyReporter.d.ts","sourceRoot":"","sources":["../../src/reporters/amplifyReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAGT,kBAAkB,EAGlB,WAAW,EACZ,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,YAAY,EAAsB,MAAM,UAAU,CAAC;AAE5D,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,cAAc,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,8BAA8B,CAAC;CAC5C;AAED;;;;GAIG;AACH,aAAK,8BAA8B,GAAG;IACpC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAwG3F;AAED;;GAEG;AAEH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,WAAW,UAAO,EAClB,cAAc,GAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAO,GACvC,YAAY,CAcd;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAE/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,SAAS,GAAE,MAAM,GAAG,SAAqB,EACzC,WAAW,UAAO,GACjB,YAAY,CAsBd"}
1
+ {"version":3,"file":"amplifyReporter.d.ts","sourceRoot":"","sources":["../../src/reporters/amplifyReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAGT,kBAAkB,EAGlB,WAAW,EACZ,MAAM,UAAU,CAAC;AAMlB,aAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7D,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,cAAc,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,8BAA8B,CAAC;CAC5C;AAED;;;;GAIG;AACH,aAAK,8BAA8B,GAAG;IACpC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAmG3F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,UAAO,GAAG,YAAY,CAqBhG;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,SAAS,GAAE,MAAM,GAAG,SAAqB,EACzC,WAAW,UAAO,GACjB,YAAY,CAsBd"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildAttributeMap = exports.asAttributeMap = exports.amplifyReporter = void 0;
4
4
  const auth_1 = require("@aws-amplify/auth");
5
5
  const analytics_1 = require("@aws-amplify/analytics");
6
- const utils_1 = require("../utils");
6
+ const logger_1 = require("../logger");
7
7
  function amplifyReporter(info, config) {
8
8
  var _a;
9
9
  if (config.identityPoolId !== false) {
@@ -51,15 +51,11 @@ function amplifyReporter(info, config) {
51
51
  attributes: asAttributeMap({
52
52
  ...event.metadata,
53
53
  ...event.tags,
54
- }, false, config.ignoreMetadataPatterns),
54
+ }, false),
55
55
  metrics: event.metrics,
56
56
  });
57
57
  },
58
58
  addBreadcrumb: function (breadcrumb) {
59
- var _a;
60
- if (breadcrumb.category && ((_a = config.ignoreBreadcrumbCategories) === null || _a === void 0 ? void 0 : _a.includes(breadcrumb.category))) {
61
- return;
62
- }
63
59
  reporter.trackEvent({
64
60
  message: breadcrumb.message,
65
61
  metadata: {
@@ -69,7 +65,7 @@ function amplifyReporter(info, config) {
69
65
  });
70
66
  },
71
67
  addMetadata: function (metadata) {
72
- Object.assign(allMetadata, asAttributeMap(metadata, true, config.ignoreMetadataPatterns));
68
+ Object.assign(allMetadata, asAttributeMap(metadata, true));
73
69
  analytics_1.Analytics.updateEndpoint({
74
70
  attributes: allMetadata,
75
71
  }).catch(() => {
@@ -105,11 +101,9 @@ exports.amplifyReporter = amplifyReporter;
105
101
  /**
106
102
  * Pinpoint has strict attribute name and value length limits
107
103
  */
108
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
109
- function asAttributeMap(values, groupValues = true, ignorePatterns = []) {
104
+ function asAttributeMap(values, groupValues = true) {
110
105
  const attributeMap = buildAttributeMap(values, undefined, groupValues);
111
- const filteredAttributeMap = (0, utils_1.filterAttributeMap)(attributeMap, ignorePatterns);
112
- const checkedEntries = Object.entries(filteredAttributeMap).map(([key, value]) => {
106
+ const checkedEntries = Object.entries(attributeMap).map(([key, value]) => {
113
107
  var _a, _b;
114
108
  const truncatedKey = key.length > 50 ? `___${key.slice(-47)}` : key;
115
109
  const truncatedValue = Array.isArray(value)
@@ -117,6 +111,13 @@ function asAttributeMap(values, groupValues = true, ignorePatterns = []) {
117
111
  : (_b = value === null || value === void 0 ? void 0 : value.slice(0, 100)) !== null && _b !== void 0 ? _b : null;
118
112
  return [truncatedKey, truncatedValue];
119
113
  });
114
+ // Pinpoint only accepts 40 attributes
115
+ if (checkedEntries.length > 40) {
116
+ logger_1.logger.error(`Amplify only allows 40 attributes per event, truncating to 40 attributes`, {
117
+ attributes: checkedEntries,
118
+ });
119
+ checkedEntries.length = 40;
120
+ }
120
121
  return Object.fromEntries(checkedEntries);
121
122
  }
122
123
  exports.asAttributeMap = asAttributeMap;
@@ -125,9 +126,7 @@ exports.asAttributeMap = asAttributeMap;
125
126
  * values which are string arrays. This function takes in an object and ensures
126
127
  * all of its values are of type `string[]` to appease Pinpoint.
127
128
  */
128
- function buildAttributeMap(
129
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
130
- values, parentKey = undefined, groupValues = true) {
129
+ function buildAttributeMap(values, parentKey = undefined, groupValues = true) {
131
130
  const valuesWithStringArrays = {};
132
131
  Object.entries(values).forEach(([key, value]) => {
133
132
  const combinedKey = parentKey ? [parentKey, key].join('.') : key;
@@ -1 +1 @@
1
- {"version":3,"file":"amplifyReporter.js","sourceRoot":"","sources":["../../src/reporters/amplifyReporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"amplifyReporter.js","sourceRoot":"","sources":["../../src/reporters/amplifyReporter.ts"],"names":[],"mappings":";;;AASA,4CAAyC;AACzC,sDAAmD;AACnD,sCAAmC;AAyEnC,SAAgB,eAAe,CAAC,IAAiB,EAAE,MAA6B;;IAC9E,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK,EAAE;QACnC,WAAI,CAAC,SAAS,CAAC;YACb,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;SAChD,CAAC,CAAC;KACJ;IAED,MAAM,WAAW,GAAG,cAAc,CAAC;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;QAC5B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;IAEH,qBAAS,CAAC,SAAS,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,cAAc;QAC5B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,QAAQ,EAAE;YACR,UAAU,EAAE,WAAW;SACxB;QACD,GAAG,MAAM,CAAC,SAAS;KACpB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,kBAAkB,EAAE;QAC7B,qBAAS,CAAC,SAAS,CAAC,UAAU,EAAE;YAC9B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,UAAU;YACrB,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,aAAa;SACxB,CAAC,CAAC;KACJ;IAED,IAAI,MAAM,CAAC,eAAe,EAAE;QAC1B,qBAAS,CAAC,SAAS,CAAC,OAAO,EAAE;YAC3B,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,MAAA,MAAM,CAAC,cAAc,mCAAI,iBAAiB;SAC3D,CAAC,CAAC;KACJ;IAED,MAAM,QAAQ,GAAc;QAC1B,UAAU,EAAE,UAAU,KAAoB;YACxC,qBAAS,CAAC,MAAM,CAAC;gBACf,IAAI,EAAE,KAAK,CAAC,OAAO;gBACnB,UAAU,EAAE,cAAc,CACxB;oBACE,GAAG,KAAK,CAAC,QAAQ;oBACjB,GAAG,KAAK,CAAC,IAAI;iBACd,EACD,KAAK,CACoB;gBAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;QACD,aAAa,EAAE,UAAU,UAA8B;YACrD,QAAQ,CAAC,UAAU,CAAC;gBAClB,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,QAAQ,EAAE;oBACR,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,GAAG,UAAU,CAAC,QAAQ;iBACvB;aACF,CAAC,CAAC;QACL,CAAC;QACD,WAAW,EAAE,UAAU,QAAkB;YACvC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3D,qBAAS,CAAC,cAAc,CAAC;gBACvB,UAAU,EAAE,WAAW;aACxB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACZ,iFAAiF;YACnF,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,UAAU,IAAuB;;YACxC,qBAAS,CAAC,cAAc,CAAC;gBACvB,MAAM,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,mCAAI,EAAE;gBACtB,cAAc,EAAE,IAAI;oBAClB,CAAC,CAAC,cAAc,CAAC;wBACb,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CAAC,KAAK;wBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACxB,CAAC;oBACJ,CAAC,CAAC,EAAE;aACP,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACZ,iFAAiF;YACnF,CAAC,CAAC,CAAC;QACL,CAAC;QACD,YAAY,EAAE,UAAU,SAAiB;YACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,WAAW,EAAE,UAAU,QAAgB;YACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAnGD,0CAmGC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAA+B,EAAE,WAAW,GAAG,IAAI;IAChF,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAEvE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;;QACvE,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACpE,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,mCAAI,IAAI;YAChD,CAAC,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,mCAAI,IAAI,CAAC;QAEjC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,IAAI,cAAc,CAAC,MAAM,GAAG,EAAE,EAAE;QAC9B,eAAM,CAAC,KAAK,CAAC,0EAA0E,EAAE;YACvF,UAAU,EAAE,cAAc;SAC3B,CAAC,CAAC;QACH,cAAc,CAAC,MAAM,GAAG,EAAE,CAAC;KAC5B;IAED,OAAO,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AAC5C,CAAC;AArBD,wCAqBC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,MAA2B,EAC3B,YAAgC,SAAS,EACzC,WAAW,GAAG,IAAI;IAElB,MAAM,sBAAsB,GAAiB,EAAE,CAAC;IAEhD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC9C,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAEjE,IAAI,CAAC,KAAK,EAAE;YACV,sBAAsB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;SAC5C;aAAM,IAAI,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC9C,sBAAsB,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1D,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAChE,CAAC;SACH;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YAC9E,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;SAC3D;aAAM;YACL,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC9E,sBAAsB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;SACjF;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,sBAAsB,CAAC;AAChC,CAAC;AA1BD,8CA0BC"}