@decaf-ts/logging 0.3.12 → 0.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/logging.cjs +542 -99
- package/dist/logging.esm.cjs +539 -100
- package/lib/LoggedClass.cjs +9 -12
- package/lib/LoggedClass.d.ts +6 -10
- package/lib/constants.cjs +40 -8
- package/lib/constants.d.ts +35 -7
- package/lib/decorators.cjs +114 -50
- package/lib/decorators.d.ts +58 -43
- package/lib/environment.cjs +73 -22
- package/lib/environment.d.ts +46 -29
- package/lib/esm/LoggedClass.d.ts +6 -10
- package/lib/esm/LoggedClass.js +9 -12
- package/lib/esm/constants.d.ts +35 -7
- package/lib/esm/constants.js +40 -8
- package/lib/esm/decorators.d.ts +58 -43
- package/lib/esm/decorators.js +113 -50
- package/lib/esm/environment.d.ts +46 -29
- package/lib/esm/environment.js +73 -22
- package/lib/esm/filters/LogFilter.d.ts +37 -0
- package/lib/esm/filters/LogFilter.js +30 -1
- package/lib/esm/filters/PatternFilter.d.ts +46 -0
- package/lib/esm/filters/PatternFilter.js +41 -1
- package/lib/esm/index.d.ts +7 -10
- package/lib/esm/index.js +8 -11
- package/lib/esm/logging.d.ts +14 -0
- package/lib/esm/logging.js +22 -1
- package/lib/esm/time.d.ts +149 -0
- package/lib/esm/time.js +212 -0
- package/lib/esm/types.d.ts +89 -51
- package/lib/esm/types.js +1 -1
- package/lib/filters/LogFilter.cjs +30 -1
- package/lib/filters/LogFilter.d.ts +37 -0
- package/lib/filters/PatternFilter.cjs +41 -1
- package/lib/filters/PatternFilter.d.ts +46 -0
- package/lib/index.cjs +8 -11
- package/lib/index.d.ts +7 -10
- package/lib/logging.cjs +22 -1
- package/lib/logging.d.ts +14 -0
- package/lib/time.cjs +217 -0
- package/lib/time.d.ts +149 -0
- package/lib/types.cjs +1 -1
- package/lib/types.d.ts +89 -51
- package/package.json +2 -2
package/lib/esm/constants.d.ts
CHANGED
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
import { LoggingConfig, Theme } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* @description Global key used to store environment variables in browser contexts.
|
|
4
|
+
* @summary Enables the logging environment helpers to locate serialized environment configuration on `globalThis`.
|
|
5
|
+
* @const BrowserEnvKey
|
|
6
|
+
* @type {string}
|
|
7
|
+
* @memberOf module:Logging
|
|
8
|
+
*/
|
|
2
9
|
export declare const BrowserEnvKey = "ENV";
|
|
3
10
|
/**
|
|
4
11
|
* @description Delimiter used for composing nested environment variable names.
|
|
5
12
|
* @summary Joins parent and child keys when mapping object paths to ENV strings.
|
|
13
|
+
* @const ENV_PATH_DELIMITER
|
|
14
|
+
* @type {string}
|
|
15
|
+
* @memberOf module:Logging
|
|
6
16
|
*/
|
|
7
17
|
export declare const ENV_PATH_DELIMITER = "__";
|
|
18
|
+
/**
|
|
19
|
+
* @description Default prefix and suffix used for template placeholders.
|
|
20
|
+
* @summary Provides wrapper strings applied when interpolating messages with {@link patchPlaceholders}.
|
|
21
|
+
* @const DefaultPlaceholderWrappers
|
|
22
|
+
* @type {string[]}
|
|
23
|
+
* @memberOf module:Logging
|
|
24
|
+
*/
|
|
8
25
|
export declare const DefaultPlaceholderWrappers: string[];
|
|
9
26
|
/**
|
|
10
27
|
* @description Enum for log levels.
|
|
@@ -14,21 +31,24 @@ export declare const DefaultPlaceholderWrappers: string[];
|
|
|
14
31
|
* @memberOf module:Logging
|
|
15
32
|
*/
|
|
16
33
|
export declare enum LogLevel {
|
|
17
|
-
/**
|
|
34
|
+
/** @description Benchmark events that capture performance metrics. */
|
|
35
|
+
benchmark = "benchmark",
|
|
36
|
+
/** @description Error events that indicate failures requiring attention. */
|
|
18
37
|
error = "error",
|
|
19
|
-
/**
|
|
38
|
+
/** @description Informational events describing normal operation. */
|
|
20
39
|
info = "info",
|
|
21
|
-
/**
|
|
40
|
+
/** @description Verbose diagnostic information for detailed tracing. */
|
|
22
41
|
verbose = "verbose",
|
|
23
|
-
/** Debug or trace
|
|
42
|
+
/** @description Debug or trace details aimed at developers. */
|
|
24
43
|
debug = "debug",
|
|
25
|
-
/**
|
|
44
|
+
/** @description Extremely chatty or playful log entries. */
|
|
26
45
|
silly = "silly"
|
|
27
46
|
}
|
|
28
47
|
/**
|
|
29
48
|
* @description Numeric values associated with log levels.
|
|
30
49
|
* @summary Provides a numeric representation of log levels for comparison and filtering.
|
|
31
|
-
* @
|
|
50
|
+
* @typedef {Object} NumericLogLevelsShape
|
|
51
|
+
* @property {number} benchmark - Numeric value for benchmark level (0).
|
|
32
52
|
* @property {number} error - Numeric value for error level (2).
|
|
33
53
|
* @property {number} info - Numeric value for info level (4).
|
|
34
54
|
* @property {number} verbose - Numeric value for verbose level (6).
|
|
@@ -36,7 +56,15 @@ export declare enum LogLevel {
|
|
|
36
56
|
* @property {number} silly - Numeric value for silly level (9).
|
|
37
57
|
* @memberOf module:Logging
|
|
38
58
|
*/
|
|
59
|
+
/**
|
|
60
|
+
* @description Numeric values associated with log levels.
|
|
61
|
+
* @summary Provides a numeric representation of log levels for comparison and filtering.
|
|
62
|
+
* @const NumericLogLevels
|
|
63
|
+
* @type {NumericLogLevelsShape}
|
|
64
|
+
* @memberOf module:Logging
|
|
65
|
+
*/
|
|
39
66
|
export declare const NumericLogLevels: {
|
|
67
|
+
benchmark: number;
|
|
40
68
|
error: number;
|
|
41
69
|
info: number;
|
|
42
70
|
verbose: number;
|
|
@@ -58,7 +86,6 @@ export declare enum LoggingMode {
|
|
|
58
86
|
/**
|
|
59
87
|
* @description Default theme for styling log output.
|
|
60
88
|
* @summary Defines the default color and style settings for various components of log messages.
|
|
61
|
-
* @const DefaultTheme
|
|
62
89
|
* @typedef {Theme} DefaultTheme
|
|
63
90
|
* @property {Object} class - Styling for class names.
|
|
64
91
|
* @property {number} class.fg - Foreground color code for class names (34).
|
|
@@ -78,6 +105,7 @@ export declare enum LoggingMode {
|
|
|
78
105
|
* @property {Object} logLevel.verbose - Styling for verbose level logs (empty object).
|
|
79
106
|
* @property {Object} logLevel.debug - Styling for debug level logs.
|
|
80
107
|
* @property {number} logLevel.debug.fg - Foreground color code for debug level logs (33).
|
|
108
|
+
* @const DefaultTheme
|
|
81
109
|
* @memberOf module:Logging
|
|
82
110
|
*/
|
|
83
111
|
export declare const DefaultTheme: Theme;
|
package/lib/esm/constants.js
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Global key used to store environment variables in browser contexts.
|
|
3
|
+
* @summary Enables the logging environment helpers to locate serialized environment configuration on `globalThis`.
|
|
4
|
+
* @const BrowserEnvKey
|
|
5
|
+
* @type {string}
|
|
6
|
+
* @memberOf module:Logging
|
|
7
|
+
*/
|
|
1
8
|
export const BrowserEnvKey = "ENV";
|
|
2
9
|
/**
|
|
3
10
|
* @description Delimiter used for composing nested environment variable names.
|
|
4
11
|
* @summary Joins parent and child keys when mapping object paths to ENV strings.
|
|
12
|
+
* @const ENV_PATH_DELIMITER
|
|
13
|
+
* @type {string}
|
|
14
|
+
* @memberOf module:Logging
|
|
5
15
|
*/
|
|
6
16
|
export const ENV_PATH_DELIMITER = "__";
|
|
17
|
+
/**
|
|
18
|
+
* @description Default prefix and suffix used for template placeholders.
|
|
19
|
+
* @summary Provides wrapper strings applied when interpolating messages with {@link patchPlaceholders}.
|
|
20
|
+
* @const DefaultPlaceholderWrappers
|
|
21
|
+
* @type {string[]}
|
|
22
|
+
* @memberOf module:Logging
|
|
23
|
+
*/
|
|
7
24
|
export const DefaultPlaceholderWrappers = ["${", "}"];
|
|
8
25
|
/**
|
|
9
26
|
* @description Enum for log levels.
|
|
@@ -14,21 +31,24 @@ export const DefaultPlaceholderWrappers = ["${", "}"];
|
|
|
14
31
|
*/
|
|
15
32
|
export var LogLevel;
|
|
16
33
|
(function (LogLevel) {
|
|
17
|
-
/**
|
|
34
|
+
/** @description Benchmark events that capture performance metrics. */
|
|
35
|
+
LogLevel["benchmark"] = "benchmark";
|
|
36
|
+
/** @description Error events that indicate failures requiring attention. */
|
|
18
37
|
LogLevel["error"] = "error";
|
|
19
|
-
/**
|
|
38
|
+
/** @description Informational events describing normal operation. */
|
|
20
39
|
LogLevel["info"] = "info";
|
|
21
|
-
/**
|
|
40
|
+
/** @description Verbose diagnostic information for detailed tracing. */
|
|
22
41
|
LogLevel["verbose"] = "verbose";
|
|
23
|
-
/** Debug or trace
|
|
42
|
+
/** @description Debug or trace details aimed at developers. */
|
|
24
43
|
LogLevel["debug"] = "debug";
|
|
25
|
-
/**
|
|
44
|
+
/** @description Extremely chatty or playful log entries. */
|
|
26
45
|
LogLevel["silly"] = "silly";
|
|
27
46
|
})(LogLevel || (LogLevel = {}));
|
|
28
47
|
/**
|
|
29
48
|
* @description Numeric values associated with log levels.
|
|
30
49
|
* @summary Provides a numeric representation of log levels for comparison and filtering.
|
|
31
|
-
* @
|
|
50
|
+
* @typedef {Object} NumericLogLevelsShape
|
|
51
|
+
* @property {number} benchmark - Numeric value for benchmark level (0).
|
|
32
52
|
* @property {number} error - Numeric value for error level (2).
|
|
33
53
|
* @property {number} info - Numeric value for info level (4).
|
|
34
54
|
* @property {number} verbose - Numeric value for verbose level (6).
|
|
@@ -36,7 +56,15 @@ export var LogLevel;
|
|
|
36
56
|
* @property {number} silly - Numeric value for silly level (9).
|
|
37
57
|
* @memberOf module:Logging
|
|
38
58
|
*/
|
|
59
|
+
/**
|
|
60
|
+
* @description Numeric values associated with log levels.
|
|
61
|
+
* @summary Provides a numeric representation of log levels for comparison and filtering.
|
|
62
|
+
* @const NumericLogLevels
|
|
63
|
+
* @type {NumericLogLevelsShape}
|
|
64
|
+
* @memberOf module:Logging
|
|
65
|
+
*/
|
|
39
66
|
export const NumericLogLevels = {
|
|
67
|
+
benchmark: 0,
|
|
40
68
|
error: 2,
|
|
41
69
|
info: 4,
|
|
42
70
|
verbose: 6,
|
|
@@ -59,7 +87,6 @@ export var LoggingMode;
|
|
|
59
87
|
/**
|
|
60
88
|
* @description Default theme for styling log output.
|
|
61
89
|
* @summary Defines the default color and style settings for various components of log messages.
|
|
62
|
-
* @const DefaultTheme
|
|
63
90
|
* @typedef {Theme} DefaultTheme
|
|
64
91
|
* @property {Object} class - Styling for class names.
|
|
65
92
|
* @property {number} class.fg - Foreground color code for class names (34).
|
|
@@ -79,6 +106,7 @@ export var LoggingMode;
|
|
|
79
106
|
* @property {Object} logLevel.verbose - Styling for verbose level logs (empty object).
|
|
80
107
|
* @property {Object} logLevel.debug - Styling for debug level logs.
|
|
81
108
|
* @property {number} logLevel.debug.fg - Foreground color code for debug level logs (33).
|
|
109
|
+
* @const DefaultTheme
|
|
82
110
|
* @memberOf module:Logging
|
|
83
111
|
*/
|
|
84
112
|
export const DefaultTheme = {
|
|
@@ -99,6 +127,10 @@ export const DefaultTheme = {
|
|
|
99
127
|
},
|
|
100
128
|
method: {},
|
|
101
129
|
logLevel: {
|
|
130
|
+
benchmark: {
|
|
131
|
+
fg: 32,
|
|
132
|
+
style: ["bold"],
|
|
133
|
+
},
|
|
102
134
|
error: {
|
|
103
135
|
fg: 31,
|
|
104
136
|
style: ["bold"],
|
|
@@ -149,4 +181,4 @@ export const DefaultLoggingConfig = {
|
|
|
149
181
|
pattern: "{level} [{timestamp}] {app} {context} {separator} {message} {stack}",
|
|
150
182
|
theme: DefaultTheme,
|
|
151
183
|
};
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDO0FBRW5DOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztBQUV0RDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQU4sSUFBWSxRQVdYO0FBWEQsV0FBWSxRQUFRO0lBQ2xCLHNEQUFzRDtJQUN0RCwyQkFBZSxDQUFBO0lBQ2Ysa0VBQWtFO0lBQ2xFLHlCQUFhLENBQUE7SUFDYix1Q0FBdUM7SUFDdkMsK0JBQW1CLENBQUE7SUFDbkIsa0NBQWtDO0lBQ2xDLDJCQUFlLENBQUE7SUFDZiw0Q0FBNEM7SUFDNUMsMkJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBWFcsUUFBUSxLQUFSLFFBQVEsUUFXbkI7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDOUIsS0FBSyxFQUFFLENBQUM7SUFDUixJQUFJLEVBQUUsQ0FBQztJQUNQLE9BQU8sRUFBRSxDQUFDO0lBQ1YsS0FBSyxFQUFFLENBQUM7SUFDUixLQUFLLEVBQUUsQ0FBQztDQUNULENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBTixJQUFZLFdBS1g7QUFMRCxXQUFZLFdBQVc7SUFDckIsNENBQTRDO0lBQzVDLDBCQUFXLENBQUE7SUFDWCxzQ0FBc0M7SUFDdEMsNEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFMVyxXQUFXLEtBQVgsV0FBVyxRQUt0QjtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQVU7SUFDakMsR0FBRyxFQUFFLEVBQUU7SUFDUCxTQUFTLEVBQUUsRUFBRTtJQUNiLEtBQUssRUFBRTtRQUNMLEVBQUUsRUFBRSxFQUFFO0tBQ1A7SUFDRCxFQUFFLEVBQUU7UUFDRixFQUFFLEVBQUUsRUFBRTtLQUNQO0lBQ0QsS0FBSyxFQUFFLEVBQUU7SUFDVCxTQUFTLEVBQUUsRUFBRTtJQUNiLE9BQU8sRUFBRTtRQUNQLEtBQUssRUFBRTtZQUNMLEVBQUUsRUFBRSxFQUFFO1NBQ1A7S0FDRjtJQUNELE1BQU0sRUFBRSxFQUFFO0lBQ1YsUUFBUSxFQUFFO1FBQ1IsS0FBSyxFQUFFO1lBQ0wsRUFBRSxFQUFFLEVBQUU7WUFDTixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDaEI7UUFDRCxJQUFJLEVBQUU7WUFDSixFQUFFLEVBQUUsRUFBRTtZQUNOLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQztTQUNoQjtRQUNELE9BQU8sRUFBRTtZQUNQLEVBQUUsRUFBRSxFQUFFO1lBQ04sS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDO1NBQ2hCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsRUFBRSxFQUFFLEVBQUU7WUFDTixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDaEI7S0FDRjtDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFrQjtJQUNqRCxHQUFHLEVBQUUsYUFBYTtJQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNWLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSTtJQUNwQixRQUFRLEVBQUUsSUFBSTtJQUNkLEtBQUssRUFBRSxLQUFLO0lBQ1osZ0JBQWdCLEVBQUUsR0FBRztJQUNyQixTQUFTLEVBQUUsR0FBRztJQUNkLFNBQVMsRUFBRSxJQUFJO0lBQ2YsZUFBZSxFQUFFLGNBQWM7SUFDL0IsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsV0FBVyxDQUFDLEdBQUc7SUFDdkIsT0FBTyxFQUNMLHFFQUFxRTtJQUN2RSxLQUFLLEVBQUUsWUFBWTtDQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2luZ0NvbmZpZywgVGhlbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgQnJvd3NlckVudktleSA9IFwiRU5WXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlbGltaXRlciB1c2VkIGZvciBjb21wb3NpbmcgbmVzdGVkIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWVzLlxuICogQHN1bW1hcnkgSm9pbnMgcGFyZW50IGFuZCBjaGlsZCBrZXlzIHdoZW4gbWFwcGluZyBvYmplY3QgcGF0aHMgdG8gRU5WIHN0cmluZ3MuXG4gKi9cbmV4cG9ydCBjb25zdCBFTlZfUEFUSF9ERUxJTUlURVIgPSBcIl9fXCI7XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0UGxhY2Vob2xkZXJXcmFwcGVycyA9IFtcIiR7XCIsIFwifVwiXTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRW51bSBmb3IgbG9nIGxldmVscy5cbiAqIEBzdW1tYXJ5IERlZmluZXMgZGlmZmVyZW50IGxldmVscyBvZiBsb2dnaW5nIGZvciB0aGUgYXBwbGljYXRpb24uXG4gKiBAZW51bSB7c3RyaW5nfVxuICogQHJlYWRvbmx5XG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuZXhwb3J0IGVudW0gTG9nTGV2ZWwge1xuICAvKiogRXJyb3IgZXZlbnRzIHRoYXQgYXJlIGxpa2VseSB0byBjYXVzZSBwcm9ibGVtcy4gKi9cbiAgZXJyb3IgPSBcImVycm9yXCIsXG4gIC8qKiBSb3V0aW5lIGluZm9ybWF0aW9uLCBzdWNoIGFzIG9uZ29pbmcgc3RhdHVzIG9yIHBlcmZvcm1hbmNlLiAqL1xuICBpbmZvID0gXCJpbmZvXCIsXG4gIC8qKiBBZGRpdGlvbmFsIHJlbGV2YW50IGluZm9ybWF0aW9uLiAqL1xuICB2ZXJib3NlID0gXCJ2ZXJib3NlXCIsXG4gIC8qKiBEZWJ1ZyBvciB0cmFjZSBpbmZvcm1hdGlvbi4gKi9cbiAgZGVidWcgPSBcImRlYnVnXCIsXG4gIC8qKiB3YXkgdG9vIHZlcmJvc2Ugb3Igc2lsbHkgaW5mb3JtYXRpb24uICovXG4gIHNpbGx5ID0gXCJzaWxseVwiLFxufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggbG9nIGxldmVscy5cbiAqIEBzdW1tYXJ5IFByb3ZpZGVzIGEgbnVtZXJpYyByZXByZXNlbnRhdGlvbiBvZiBsb2cgbGV2ZWxzIGZvciBjb21wYXJpc29uIGFuZCBmaWx0ZXJpbmcuXG4gKiBAY29uc3QgTnVtZXJpY0xvZ0xldmVsc1xuICogQHByb3BlcnR5IHtudW1iZXJ9IGVycm9yIC0gTnVtZXJpYyB2YWx1ZSBmb3IgZXJyb3IgbGV2ZWwgKDIpLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGluZm8gLSBOdW1lcmljIHZhbHVlIGZvciBpbmZvIGxldmVsICg0KS5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB2ZXJib3NlIC0gTnVtZXJpYyB2YWx1ZSBmb3IgdmVyYm9zZSBsZXZlbCAoNikuXG4gKiBAcHJvcGVydHkge251bWJlcn0gZGVidWcgLSBOdW1lcmljIHZhbHVlIGZvciBkZWJ1ZyBsZXZlbCAoNykuXG4gKiBAcHJvcGVydHkge251bWJlcn0gc2lsbHkgLSBOdW1lcmljIHZhbHVlIGZvciBzaWxseSBsZXZlbCAoOSkuXG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IE51bWVyaWNMb2dMZXZlbHMgPSB7XG4gIGVycm9yOiAyLFxuICBpbmZvOiA0LFxuICB2ZXJib3NlOiA2LFxuICBkZWJ1ZzogNyxcbiAgc2lsbHk6IDksXG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBFbnVtIGZvciBsb2dnaW5nIG91dHB1dCBtb2Rlcy5cbiAqIEBzdW1tYXJ5IERlZmluZXMgZGlmZmVyZW50IG91dHB1dCBmb3JtYXRzIGZvciBsb2cgbWVzc2FnZXMuXG4gKiBAZW51bSB7c3RyaW5nfVxuICogQG1lbWJlck9mIG1vZHVsZTpMb2dnaW5nXG4gKi9cbmV4cG9ydCBlbnVtIExvZ2dpbmdNb2RlIHtcbiAgLyoqIFJhdyB0ZXh0IGZvcm1hdCBmb3IgaHVtYW4gcmVhZGFiaWxpdHkgKi9cbiAgUkFXID0gXCJyYXdcIixcbiAgLyoqIEpTT04gZm9ybWF0IGZvciBtYWNoaW5lIHBhcnNpbmcgKi9cbiAgSlNPTiA9IFwianNvblwiLFxufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWZhdWx0IHRoZW1lIGZvciBzdHlsaW5nIGxvZyBvdXRwdXQuXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBkZWZhdWx0IGNvbG9yIGFuZCBzdHlsZSBzZXR0aW5ncyBmb3IgdmFyaW91cyBjb21wb25lbnRzIG9mIGxvZyBtZXNzYWdlcy5cbiAqIEBjb25zdCBEZWZhdWx0VGhlbWVcbiAqIEB0eXBlZGVmIHtUaGVtZX0gRGVmYXVsdFRoZW1lXG4gKiBAcHJvcGVydHkge09iamVjdH0gY2xhc3MgLSBTdHlsaW5nIGZvciBjbGFzcyBuYW1lcy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBjbGFzcy5mZyAtIEZvcmVncm91bmQgY29sb3IgY29kZSBmb3IgY2xhc3MgbmFtZXMgKDM0KS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBpZCAtIFN0eWxpbmcgZm9yIGlkZW50aWZpZXJzLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGlkLmZnIC0gRm9yZWdyb3VuZCBjb2xvciBjb2RlIGZvciBpZGVudGlmaWVycyAoMzYpLlxuICogQHByb3BlcnR5IHtPYmplY3R9IHN0YWNrIC0gU3R5bGluZyBmb3Igc3RhY2sgdHJhY2VzIChlbXB0eSBvYmplY3QpLlxuICogQHByb3BlcnR5IHtPYmplY3R9IHRpbWVzdGFtcCAtIFN0eWxpbmcgZm9yIHRpbWVzdGFtcHMgKGVtcHR5IG9iamVjdCkuXG4gKiBAcHJvcGVydHkge09iamVjdH0gbWVzc2FnZSAtIFN0eWxpbmcgZm9yIGRpZmZlcmVudCB0eXBlcyBvZiBtZXNzYWdlcy5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBtZXNzYWdlLmVycm9yIC0gU3R5bGluZyBmb3IgZXJyb3IgbWVzc2FnZXMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gbWVzc2FnZS5lcnJvci5mZyAtIEZvcmVncm91bmQgY29sb3IgY29kZSBmb3IgZXJyb3IgbWVzc2FnZXMgKDMxKS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBtZXRob2QgLSBTdHlsaW5nIGZvciBtZXRob2QgbmFtZXMgKGVtcHR5IG9iamVjdCkuXG4gKiBAcHJvcGVydHkge09iamVjdH0gbG9nTGV2ZWwgLSBTdHlsaW5nIGZvciBkaWZmZXJlbnQgbG9nIGxldmVscy5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBsb2dMZXZlbC5lcnJvciAtIFN0eWxpbmcgZm9yIGVycm9yIGxldmVsIGxvZ3MuXG4gKiBAcHJvcGVydHkge251bWJlcn0gbG9nTGV2ZWwuZXJyb3IuZmcgLSBGb3JlZ3JvdW5kIGNvbG9yIGNvZGUgZm9yIGVycm9yIGxldmVsIGxvZ3MgKDMxKS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IGxvZ0xldmVsLmVycm9yLnN0eWxlIC0gU3R5bGUgYXR0cmlidXRlcyBmb3IgZXJyb3IgbGV2ZWwgbG9ncyAoW1wiYm9sZFwiXSkuXG4gKiBAcHJvcGVydHkge09iamVjdH0gbG9nTGV2ZWwuaW5mbyAtIFN0eWxpbmcgZm9yIGluZm8gbGV2ZWwgbG9ncyAoZW1wdHkgb2JqZWN0KS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBsb2dMZXZlbC52ZXJib3NlIC0gU3R5bGluZyBmb3IgdmVyYm9zZSBsZXZlbCBsb2dzIChlbXB0eSBvYmplY3QpLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGxvZ0xldmVsLmRlYnVnIC0gU3R5bGluZyBmb3IgZGVidWcgbGV2ZWwgbG9ncy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBsb2dMZXZlbC5kZWJ1Zy5mZyAtIEZvcmVncm91bmQgY29sb3IgY29kZSBmb3IgZGVidWcgbGV2ZWwgbG9ncyAoMzMpLlxuICogQG1lbWJlck9mIG1vZHVsZTpMb2dnaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0VGhlbWU6IFRoZW1lID0ge1xuICBhcHA6IHt9LFxuICBzZXBhcmF0b3I6IHt9LFxuICBjbGFzczoge1xuICAgIGZnOiAzNCxcbiAgfSxcbiAgaWQ6IHtcbiAgICBmZzogMzYsXG4gIH0sXG4gIHN0YWNrOiB7fSxcbiAgdGltZXN0YW1wOiB7fSxcbiAgbWVzc2FnZToge1xuICAgIGVycm9yOiB7XG4gICAgICBmZzogMzEsXG4gICAgfSxcbiAgfSxcbiAgbWV0aG9kOiB7fSxcbiAgbG9nTGV2ZWw6IHtcbiAgICBlcnJvcjoge1xuICAgICAgZmc6IDMxLFxuICAgICAgc3R5bGU6IFtcImJvbGRcIl0sXG4gICAgfSxcbiAgICBpbmZvOiB7XG4gICAgICBmZzogMzQsXG4gICAgICBzdHlsZTogW1wiYm9sZFwiXSxcbiAgICB9LFxuICAgIHZlcmJvc2U6IHtcbiAgICAgIGZnOiAzNCxcbiAgICAgIHN0eWxlOiBbXCJib2xkXCJdLFxuICAgIH0sXG4gICAgZGVidWc6IHtcbiAgICAgIGZnOiAzMyxcbiAgICAgIHN0eWxlOiBbXCJib2xkXCJdLFxuICAgIH0sXG4gIH0sXG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIGxvZ2dpbmcuXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBkZWZhdWx0IHNldHRpbmdzIGZvciB0aGUgbG9nZ2luZyBzeXN0ZW0sIGluY2x1ZGluZyB2ZXJib3NpdHksIGxvZyBsZXZlbCwgc3R5bGluZywgYW5kIHRpbWVzdGFtcCBmb3JtYXQuXG4gKiBAY29uc3QgRGVmYXVsdExvZ2dpbmdDb25maWdcbiAqIEB0eXBlZGVmIHtMb2dnaW5nQ29uZmlnfSBEZWZhdWx0TG9nZ2luZ0NvbmZpZ1xuICogQHByb3BlcnR5IHtudW1iZXJ9IHZlcmJvc2UgLSBWZXJib3NpdHkgbGV2ZWwgKDApLlxuICogQHByb3BlcnR5IHtMb2dMZXZlbH0gbGV2ZWwgLSBEZWZhdWx0IGxvZyBsZXZlbCAoTG9nTGV2ZWwuaW5mbykuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGxvZ0xldmVsIC0gV2hldGhlciB0byBkaXNwbGF5IGxvZyBsZXZlbCBpbiBvdXRwdXQgKHRydWUpLlxuICogQHByb3BlcnR5IHtMb2dnaW5nTW9kZX0gbW9kZSAtIE91dHB1dCBmb3JtYXQgbW9kZSAoTG9nZ2luZ01vZGUuUkFXKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gc3R5bGUgLSBXaGV0aGVyIHRvIGFwcGx5IHN0eWxpbmcgdG8gbG9nIG91dHB1dCAoZmFsc2UpLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHNlcGFyYXRvciAtIFNlcGFyYXRvciBiZXR3ZWVuIGxvZyBjb21wb25lbnRzIChcIiAtIFwiKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gdGltZXN0YW1wIC0gV2hldGhlciB0byBpbmNsdWRlIHRpbWVzdGFtcHMgaW4gbG9nIG1lc3NhZ2VzICh0cnVlKS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aW1lc3RhbXBGb3JtYXQgLSBGb3JtYXQgZm9yIHRpbWVzdGFtcHMgKFwiSEg6bW06c3MuU1NTXCIpLlxuICogQHByb3BlcnR5IHtib29sZWFufSBjb250ZXh0IC0gV2hldGhlciB0byBpbmNsdWRlIGNvbnRleHQgaW5mb3JtYXRpb24gaW4gbG9nIG1lc3NhZ2VzICh0cnVlKS5cbiAqIEBwcm9wZXJ0eSB7VGhlbWV9IHRoZW1lIC0gVGhlIHRoZW1lIHRvIHVzZSBmb3Igc3R5bGluZyBsb2cgbWVzc2FnZXMgKERlZmF1bHRUaGVtZSkuXG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRMb2dnaW5nQ29uZmlnOiBMb2dnaW5nQ29uZmlnID0ge1xuICBlbnY6IFwiZGV2ZWxvcG1lbnRcIixcbiAgdmVyYm9zZTogMCxcbiAgbGV2ZWw6IExvZ0xldmVsLmluZm8sXG4gIGxvZ0xldmVsOiB0cnVlLFxuICBzdHlsZTogZmFsc2UsXG4gIGNvbnRleHRTZXBhcmF0b3I6IFwiLlwiLFxuICBzZXBhcmF0b3I6IFwiLVwiLFxuICB0aW1lc3RhbXA6IHRydWUsXG4gIHRpbWVzdGFtcEZvcm1hdDogXCJISDptbTpzcy5TU1NcIixcbiAgY29udGV4dDogdHJ1ZSxcbiAgZm9ybWF0OiBMb2dnaW5nTW9kZS5SQVcsXG4gIHBhdHRlcm46XG4gICAgXCJ7bGV2ZWx9IFt7dGltZXN0YW1wfV0ge2FwcH0ge2NvbnRleHR9IHtzZXBhcmF0b3J9IHttZXNzYWdlfSB7c3RhY2t9XCIsXG4gIHRoZW1lOiBEZWZhdWx0VGhlbWUsXG59O1xuIl19
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDO0FBRW5DOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQztBQUV2Qzs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztBQUV0RDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQU4sSUFBWSxRQWFYO0FBYkQsV0FBWSxRQUFRO0lBQ2xCLHNFQUFzRTtJQUN0RSxtQ0FBdUIsQ0FBQTtJQUN2Qiw0RUFBNEU7SUFDNUUsMkJBQWUsQ0FBQTtJQUNmLHFFQUFxRTtJQUNyRSx5QkFBYSxDQUFBO0lBQ2Isd0VBQXdFO0lBQ3hFLCtCQUFtQixDQUFBO0lBQ25CLCtEQUErRDtJQUMvRCwyQkFBZSxDQUFBO0lBQ2YsNERBQTREO0lBQzVELDJCQUFlLENBQUE7QUFDakIsQ0FBQyxFQWJXLFFBQVEsS0FBUixRQUFRLFFBYW5CO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixTQUFTLEVBQUUsQ0FBQztJQUNaLEtBQUssRUFBRSxDQUFDO0lBQ1IsSUFBSSxFQUFFLENBQUM7SUFDUCxPQUFPLEVBQUUsQ0FBQztJQUNWLEtBQUssRUFBRSxDQUFDO0lBQ1IsS0FBSyxFQUFFLENBQUM7Q0FDVCxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQU4sSUFBWSxXQUtYO0FBTEQsV0FBWSxXQUFXO0lBQ3JCLDRDQUE0QztJQUM1QywwQkFBVyxDQUFBO0lBQ1gsc0NBQXNDO0lBQ3RDLDRCQUFhLENBQUE7QUFDZixDQUFDLEVBTFcsV0FBVyxLQUFYLFdBQVcsUUFLdEI7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFVO0lBQ2pDLEdBQUcsRUFBRSxFQUFFO0lBQ1AsU0FBUyxFQUFFLEVBQUU7SUFDYixLQUFLLEVBQUU7UUFDTCxFQUFFLEVBQUUsRUFBRTtLQUNQO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsRUFBRSxFQUFFLEVBQUU7S0FDUDtJQUNELEtBQUssRUFBRSxFQUFFO0lBQ1QsU0FBUyxFQUFFLEVBQUU7SUFDYixPQUFPLEVBQUU7UUFDUCxLQUFLLEVBQUU7WUFDTCxFQUFFLEVBQUUsRUFBRTtTQUNQO0tBQ0Y7SUFDRCxNQUFNLEVBQUUsRUFBRTtJQUNWLFFBQVEsRUFBRTtRQUNSLFNBQVMsRUFBRTtZQUNULEVBQUUsRUFBRSxFQUFFO1lBQ04sS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDO1NBQ2hCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsRUFBRSxFQUFFLEVBQUU7WUFDTixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDaEI7UUFDRCxJQUFJLEVBQUU7WUFDSixFQUFFLEVBQUUsRUFBRTtZQUNOLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQztTQUNoQjtRQUNELE9BQU8sRUFBRTtZQUNQLEVBQUUsRUFBRSxFQUFFO1lBQ04sS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDO1NBQ2hCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsRUFBRSxFQUFFLEVBQUU7WUFDTixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDaEI7S0FDRjtDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFrQjtJQUNqRCxHQUFHLEVBQUUsYUFBYTtJQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNWLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSTtJQUNwQixRQUFRLEVBQUUsSUFBSTtJQUNkLEtBQUssRUFBRSxLQUFLO0lBQ1osZ0JBQWdCLEVBQUUsR0FBRztJQUNyQixTQUFTLEVBQUUsR0FBRztJQUNkLFNBQVMsRUFBRSxJQUFJO0lBQ2YsZUFBZSxFQUFFLGNBQWM7SUFDL0IsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsV0FBVyxDQUFDLEdBQUc7SUFDdkIsT0FBTyxFQUNMLHFFQUFxRTtJQUN2RSxLQUFLLEVBQUUsWUFBWTtDQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2luZ0NvbmZpZywgVGhlbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBHbG9iYWwga2V5IHVzZWQgdG8gc3RvcmUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluIGJyb3dzZXIgY29udGV4dHMuXG4gKiBAc3VtbWFyeSBFbmFibGVzIHRoZSBsb2dnaW5nIGVudmlyb25tZW50IGhlbHBlcnMgdG8gbG9jYXRlIHNlcmlhbGl6ZWQgZW52aXJvbm1lbnQgY29uZmlndXJhdGlvbiBvbiBgZ2xvYmFsVGhpc2AuXG4gKiBAY29uc3QgQnJvd3NlckVudktleVxuICogQHR5cGUge3N0cmluZ31cbiAqIEBtZW1iZXJPZiBtb2R1bGU6TG9nZ2luZ1xuICovXG5leHBvcnQgY29uc3QgQnJvd3NlckVudktleSA9IFwiRU5WXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlbGltaXRlciB1c2VkIGZvciBjb21wb3NpbmcgbmVzdGVkIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWVzLlxuICogQHN1bW1hcnkgSm9pbnMgcGFyZW50IGFuZCBjaGlsZCBrZXlzIHdoZW4gbWFwcGluZyBvYmplY3QgcGF0aHMgdG8gRU5WIHN0cmluZ3MuXG4gKiBAY29uc3QgRU5WX1BBVEhfREVMSU1JVEVSXG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQG1lbWJlck9mIG1vZHVsZTpMb2dnaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBFTlZfUEFUSF9ERUxJTUlURVIgPSBcIl9fXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlZmF1bHQgcHJlZml4IGFuZCBzdWZmaXggdXNlZCBmb3IgdGVtcGxhdGUgcGxhY2Vob2xkZXJzLlxuICogQHN1bW1hcnkgUHJvdmlkZXMgd3JhcHBlciBzdHJpbmdzIGFwcGxpZWQgd2hlbiBpbnRlcnBvbGF0aW5nIG1lc3NhZ2VzIHdpdGgge0BsaW5rIHBhdGNoUGxhY2Vob2xkZXJzfS5cbiAqIEBjb25zdCBEZWZhdWx0UGxhY2Vob2xkZXJXcmFwcGVyc1xuICogQHR5cGUge3N0cmluZ1tdfVxuICogQG1lbWJlck9mIG1vZHVsZTpMb2dnaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0UGxhY2Vob2xkZXJXcmFwcGVycyA9IFtcIiR7XCIsIFwifVwiXTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRW51bSBmb3IgbG9nIGxldmVscy5cbiAqIEBzdW1tYXJ5IERlZmluZXMgZGlmZmVyZW50IGxldmVscyBvZiBsb2dnaW5nIGZvciB0aGUgYXBwbGljYXRpb24uXG4gKiBAZW51bSB7c3RyaW5nfVxuICogQHJlYWRvbmx5XG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuZXhwb3J0IGVudW0gTG9nTGV2ZWwge1xuICAvKiogQGRlc2NyaXB0aW9uIEJlbmNobWFyayBldmVudHMgdGhhdCBjYXB0dXJlIHBlcmZvcm1hbmNlIG1ldHJpY3MuICovXG4gIGJlbmNobWFyayA9IFwiYmVuY2htYXJrXCIsXG4gIC8qKiBAZGVzY3JpcHRpb24gRXJyb3IgZXZlbnRzIHRoYXQgaW5kaWNhdGUgZmFpbHVyZXMgcmVxdWlyaW5nIGF0dGVudGlvbi4gKi9cbiAgZXJyb3IgPSBcImVycm9yXCIsXG4gIC8qKiBAZGVzY3JpcHRpb24gSW5mb3JtYXRpb25hbCBldmVudHMgZGVzY3JpYmluZyBub3JtYWwgb3BlcmF0aW9uLiAqL1xuICBpbmZvID0gXCJpbmZvXCIsXG4gIC8qKiBAZGVzY3JpcHRpb24gVmVyYm9zZSBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGZvciBkZXRhaWxlZCB0cmFjaW5nLiAqL1xuICB2ZXJib3NlID0gXCJ2ZXJib3NlXCIsXG4gIC8qKiBAZGVzY3JpcHRpb24gRGVidWcgb3IgdHJhY2UgZGV0YWlscyBhaW1lZCBhdCBkZXZlbG9wZXJzLiAqL1xuICBkZWJ1ZyA9IFwiZGVidWdcIixcbiAgLyoqIEBkZXNjcmlwdGlvbiBFeHRyZW1lbHkgY2hhdHR5IG9yIHBsYXlmdWwgbG9nIGVudHJpZXMuICovXG4gIHNpbGx5ID0gXCJzaWxseVwiLFxufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggbG9nIGxldmVscy5cbiAqIEBzdW1tYXJ5IFByb3ZpZGVzIGEgbnVtZXJpYyByZXByZXNlbnRhdGlvbiBvZiBsb2cgbGV2ZWxzIGZvciBjb21wYXJpc29uIGFuZCBmaWx0ZXJpbmcuXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBOdW1lcmljTG9nTGV2ZWxzU2hhcGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBiZW5jaG1hcmsgLSBOdW1lcmljIHZhbHVlIGZvciBiZW5jaG1hcmsgbGV2ZWwgKDApLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGVycm9yIC0gTnVtZXJpYyB2YWx1ZSBmb3IgZXJyb3IgbGV2ZWwgKDIpLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGluZm8gLSBOdW1lcmljIHZhbHVlIGZvciBpbmZvIGxldmVsICg0KS5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB2ZXJib3NlIC0gTnVtZXJpYyB2YWx1ZSBmb3IgdmVyYm9zZSBsZXZlbCAoNikuXG4gKiBAcHJvcGVydHkge251bWJlcn0gZGVidWcgLSBOdW1lcmljIHZhbHVlIGZvciBkZWJ1ZyBsZXZlbCAoNykuXG4gKiBAcHJvcGVydHkge251bWJlcn0gc2lsbHkgLSBOdW1lcmljIHZhbHVlIGZvciBzaWxseSBsZXZlbCAoOSkuXG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gTnVtZXJpYyB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIGxvZyBsZXZlbHMuXG4gKiBAc3VtbWFyeSBQcm92aWRlcyBhIG51bWVyaWMgcmVwcmVzZW50YXRpb24gb2YgbG9nIGxldmVscyBmb3IgY29tcGFyaXNvbiBhbmQgZmlsdGVyaW5nLlxuICogQGNvbnN0IE51bWVyaWNMb2dMZXZlbHNcbiAqIEB0eXBlIHtOdW1lcmljTG9nTGV2ZWxzU2hhcGV9XG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IE51bWVyaWNMb2dMZXZlbHMgPSB7XG4gIGJlbmNobWFyazogMCxcbiAgZXJyb3I6IDIsXG4gIGluZm86IDQsXG4gIHZlcmJvc2U6IDYsXG4gIGRlYnVnOiA3LFxuICBzaWxseTogOSxcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEVudW0gZm9yIGxvZ2dpbmcgb3V0cHV0IG1vZGVzLlxuICogQHN1bW1hcnkgRGVmaW5lcyBkaWZmZXJlbnQgb3V0cHV0IGZvcm1hdHMgZm9yIGxvZyBtZXNzYWdlcy5cbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuZXhwb3J0IGVudW0gTG9nZ2luZ01vZGUge1xuICAvKiogUmF3IHRleHQgZm9ybWF0IGZvciBodW1hbiByZWFkYWJpbGl0eSAqL1xuICBSQVcgPSBcInJhd1wiLFxuICAvKiogSlNPTiBmb3JtYXQgZm9yIG1hY2hpbmUgcGFyc2luZyAqL1xuICBKU09OID0gXCJqc29uXCIsXG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlZmF1bHQgdGhlbWUgZm9yIHN0eWxpbmcgbG9nIG91dHB1dC5cbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGRlZmF1bHQgY29sb3IgYW5kIHN0eWxlIHNldHRpbmdzIGZvciB2YXJpb3VzIGNvbXBvbmVudHMgb2YgbG9nIG1lc3NhZ2VzLlxuICogQHR5cGVkZWYge1RoZW1lfSBEZWZhdWx0VGhlbWVcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBjbGFzcyAtIFN0eWxpbmcgZm9yIGNsYXNzIG5hbWVzLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGNsYXNzLmZnIC0gRm9yZWdyb3VuZCBjb2xvciBjb2RlIGZvciBjbGFzcyBuYW1lcyAoMzQpLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGlkIC0gU3R5bGluZyBmb3IgaWRlbnRpZmllcnMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gaWQuZmcgLSBGb3JlZ3JvdW5kIGNvbG9yIGNvZGUgZm9yIGlkZW50aWZpZXJzICgzNikuXG4gKiBAcHJvcGVydHkge09iamVjdH0gc3RhY2sgLSBTdHlsaW5nIGZvciBzdGFjayB0cmFjZXMgKGVtcHR5IG9iamVjdCkuXG4gKiBAcHJvcGVydHkge09iamVjdH0gdGltZXN0YW1wIC0gU3R5bGluZyBmb3IgdGltZXN0YW1wcyAoZW1wdHkgb2JqZWN0KS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBtZXNzYWdlIC0gU3R5bGluZyBmb3IgZGlmZmVyZW50IHR5cGVzIG9mIG1lc3NhZ2VzLlxuICogQHByb3BlcnR5IHtPYmplY3R9IG1lc3NhZ2UuZXJyb3IgLSBTdHlsaW5nIGZvciBlcnJvciBtZXNzYWdlcy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBtZXNzYWdlLmVycm9yLmZnIC0gRm9yZWdyb3VuZCBjb2xvciBjb2RlIGZvciBlcnJvciBtZXNzYWdlcyAoMzEpLlxuICogQHByb3BlcnR5IHtPYmplY3R9IG1ldGhvZCAtIFN0eWxpbmcgZm9yIG1ldGhvZCBuYW1lcyAoZW1wdHkgb2JqZWN0KS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBsb2dMZXZlbCAtIFN0eWxpbmcgZm9yIGRpZmZlcmVudCBsb2cgbGV2ZWxzLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGxvZ0xldmVsLmVycm9yIC0gU3R5bGluZyBmb3IgZXJyb3IgbGV2ZWwgbG9ncy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBsb2dMZXZlbC5lcnJvci5mZyAtIEZvcmVncm91bmQgY29sb3IgY29kZSBmb3IgZXJyb3IgbGV2ZWwgbG9ncyAoMzEpLlxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gbG9nTGV2ZWwuZXJyb3Iuc3R5bGUgLSBTdHlsZSBhdHRyaWJ1dGVzIGZvciBlcnJvciBsZXZlbCBsb2dzIChbXCJib2xkXCJdKS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBsb2dMZXZlbC5pbmZvIC0gU3R5bGluZyBmb3IgaW5mbyBsZXZlbCBsb2dzIChlbXB0eSBvYmplY3QpLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGxvZ0xldmVsLnZlcmJvc2UgLSBTdHlsaW5nIGZvciB2ZXJib3NlIGxldmVsIGxvZ3MgKGVtcHR5IG9iamVjdCkuXG4gKiBAcHJvcGVydHkge09iamVjdH0gbG9nTGV2ZWwuZGVidWcgLSBTdHlsaW5nIGZvciBkZWJ1ZyBsZXZlbCBsb2dzLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGxvZ0xldmVsLmRlYnVnLmZnIC0gRm9yZWdyb3VuZCBjb2xvciBjb2RlIGZvciBkZWJ1ZyBsZXZlbCBsb2dzICgzMykuXG4gKiBAY29uc3QgRGVmYXVsdFRoZW1lXG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRUaGVtZTogVGhlbWUgPSB7XG4gIGFwcDoge30sXG4gIHNlcGFyYXRvcjoge30sXG4gIGNsYXNzOiB7XG4gICAgZmc6IDM0LFxuICB9LFxuICBpZDoge1xuICAgIGZnOiAzNixcbiAgfSxcbiAgc3RhY2s6IHt9LFxuICB0aW1lc3RhbXA6IHt9LFxuICBtZXNzYWdlOiB7XG4gICAgZXJyb3I6IHtcbiAgICAgIGZnOiAzMSxcbiAgICB9LFxuICB9LFxuICBtZXRob2Q6IHt9LFxuICBsb2dMZXZlbDoge1xuICAgIGJlbmNobWFyazoge1xuICAgICAgZmc6IDMyLFxuICAgICAgc3R5bGU6IFtcImJvbGRcIl0sXG4gICAgfSxcbiAgICBlcnJvcjoge1xuICAgICAgZmc6IDMxLFxuICAgICAgc3R5bGU6IFtcImJvbGRcIl0sXG4gICAgfSxcbiAgICBpbmZvOiB7XG4gICAgICBmZzogMzQsXG4gICAgICBzdHlsZTogW1wiYm9sZFwiXSxcbiAgICB9LFxuICAgIHZlcmJvc2U6IHtcbiAgICAgIGZnOiAzNCxcbiAgICAgIHN0eWxlOiBbXCJib2xkXCJdLFxuICAgIH0sXG4gICAgZGVidWc6IHtcbiAgICAgIGZnOiAzMyxcbiAgICAgIHN0eWxlOiBbXCJib2xkXCJdLFxuICAgIH0sXG4gIH0sXG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIGxvZ2dpbmcuXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBkZWZhdWx0IHNldHRpbmdzIGZvciB0aGUgbG9nZ2luZyBzeXN0ZW0sIGluY2x1ZGluZyB2ZXJib3NpdHksIGxvZyBsZXZlbCwgc3R5bGluZywgYW5kIHRpbWVzdGFtcCBmb3JtYXQuXG4gKiBAY29uc3QgRGVmYXVsdExvZ2dpbmdDb25maWdcbiAqIEB0eXBlZGVmIHtMb2dnaW5nQ29uZmlnfSBEZWZhdWx0TG9nZ2luZ0NvbmZpZ1xuICogQHByb3BlcnR5IHtudW1iZXJ9IHZlcmJvc2UgLSBWZXJib3NpdHkgbGV2ZWwgKDApLlxuICogQHByb3BlcnR5IHtMb2dMZXZlbH0gbGV2ZWwgLSBEZWZhdWx0IGxvZyBsZXZlbCAoTG9nTGV2ZWwuaW5mbykuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGxvZ0xldmVsIC0gV2hldGhlciB0byBkaXNwbGF5IGxvZyBsZXZlbCBpbiBvdXRwdXQgKHRydWUpLlxuICogQHByb3BlcnR5IHtMb2dnaW5nTW9kZX0gbW9kZSAtIE91dHB1dCBmb3JtYXQgbW9kZSAoTG9nZ2luZ01vZGUuUkFXKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gc3R5bGUgLSBXaGV0aGVyIHRvIGFwcGx5IHN0eWxpbmcgdG8gbG9nIG91dHB1dCAoZmFsc2UpLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHNlcGFyYXRvciAtIFNlcGFyYXRvciBiZXR3ZWVuIGxvZyBjb21wb25lbnRzIChcIiAtIFwiKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gdGltZXN0YW1wIC0gV2hldGhlciB0byBpbmNsdWRlIHRpbWVzdGFtcHMgaW4gbG9nIG1lc3NhZ2VzICh0cnVlKS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aW1lc3RhbXBGb3JtYXQgLSBGb3JtYXQgZm9yIHRpbWVzdGFtcHMgKFwiSEg6bW06c3MuU1NTXCIpLlxuICogQHByb3BlcnR5IHtib29sZWFufSBjb250ZXh0IC0gV2hldGhlciB0byBpbmNsdWRlIGNvbnRleHQgaW5mb3JtYXRpb24gaW4gbG9nIG1lc3NhZ2VzICh0cnVlKS5cbiAqIEBwcm9wZXJ0eSB7VGhlbWV9IHRoZW1lIC0gVGhlIHRoZW1lIHRvIHVzZSBmb3Igc3R5bGluZyBsb2cgbWVzc2FnZXMgKERlZmF1bHRUaGVtZSkuXG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRMb2dnaW5nQ29uZmlnOiBMb2dnaW5nQ29uZmlnID0ge1xuICBlbnY6IFwiZGV2ZWxvcG1lbnRcIixcbiAgdmVyYm9zZTogMCxcbiAgbGV2ZWw6IExvZ0xldmVsLmluZm8sXG4gIGxvZ0xldmVsOiB0cnVlLFxuICBzdHlsZTogZmFsc2UsXG4gIGNvbnRleHRTZXBhcmF0b3I6IFwiLlwiLFxuICBzZXBhcmF0b3I6IFwiLVwiLFxuICB0aW1lc3RhbXA6IHRydWUsXG4gIHRpbWVzdGFtcEZvcm1hdDogXCJISDptbTpzcy5TU1NcIixcbiAgY29udGV4dDogdHJ1ZSxcbiAgZm9ybWF0OiBMb2dnaW5nTW9kZS5SQVcsXG4gIHBhdHRlcm46XG4gICAgXCJ7bGV2ZWx9IFt7dGltZXN0YW1wfV0ge2FwcH0ge2NvbnRleHR9IHtzZXBhcmF0b3J9IHttZXNzYWdlfSB7c3RhY2t9XCIsXG4gIHRoZW1lOiBEZWZhdWx0VGhlbWUsXG59O1xuIl19
|
package/lib/esm/decorators.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { LogLevel } from "./constants";
|
|
2
|
+
export type ArgFormatFunction = (...args: any[]) => string;
|
|
3
|
+
export type ReturnFormatFunction = (e?: Error, result?: any) => string;
|
|
2
4
|
/**
|
|
3
|
-
* @description Method decorator for logging function calls
|
|
4
|
-
* @summary
|
|
5
|
-
* @param {LogLevel} level -
|
|
6
|
-
* @param {
|
|
7
|
-
* @param {
|
|
8
|
-
* @
|
|
5
|
+
* @description Method decorator for logging function calls.
|
|
6
|
+
* @summary Wraps class methods to automatically log entry, exit, timing, and optional custom messages at a configurable {@link LogLevel}.
|
|
7
|
+
* @param {LogLevel} level - Log level applied to the generated log statements (defaults to `LogLevel.info`).
|
|
8
|
+
* @param {number} [verbosity=0] - Verbosity threshold required for the entry log to appear.
|
|
9
|
+
* @param {ArgFormatFunction} [entryMessage] - Formatter invoked with the original method arguments to describe the invocation.
|
|
10
|
+
* @param {ReturnFormatFunction} [exitMessage] - Optional formatter that describes the outcome or failure of the call.
|
|
11
|
+
* @return {function(any, any, PropertyDescriptor): void} Method decorator proxy that injects logging behavior.
|
|
9
12
|
* @function log
|
|
10
13
|
* @mermaid
|
|
11
14
|
* sequenceDiagram
|
|
@@ -30,64 +33,76 @@ import { LogLevel } from "./constants";
|
|
|
30
33
|
* end
|
|
31
34
|
* @category Method Decorators
|
|
32
35
|
*/
|
|
33
|
-
export declare function log(level?: LogLevel,
|
|
36
|
+
export declare function log(level?: LogLevel, verbosity?: number, entryMessage?: ArgFormatFunction, exitMessage?: ReturnFormatFunction): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
34
37
|
/**
|
|
35
|
-
* @description Method decorator
|
|
36
|
-
* @summary
|
|
37
|
-
* @
|
|
38
|
-
* @
|
|
38
|
+
* @description Method decorator that records execution time at the benchmark level.
|
|
39
|
+
* @summary Wraps the target method to emit {@link Logger.benchmark} entries capturing completion time or failure latency.
|
|
40
|
+
* @return {function(any, any, PropertyDescriptor): void} Method decorator proxy that benchmarks the original implementation.
|
|
41
|
+
* @function benchmark
|
|
42
|
+
* @mermaid
|
|
43
|
+
* sequenceDiagram
|
|
44
|
+
* participant Caller
|
|
45
|
+
* participant Decorator as benchmark
|
|
46
|
+
* participant Method as Original Method
|
|
47
|
+
* Caller->>Decorator: invoke()
|
|
48
|
+
* Decorator->>Method: Reflect.apply(...)
|
|
49
|
+
* alt Promise result
|
|
50
|
+
* Method-->>Decorator: Promise
|
|
51
|
+
* Decorator->>Decorator: attach then()
|
|
52
|
+
* Decorator->>Decorator: log completion duration
|
|
53
|
+
* else Synchronous result
|
|
54
|
+
* Method-->>Decorator: value
|
|
55
|
+
* Decorator->>Decorator: log completion duration
|
|
56
|
+
* end
|
|
57
|
+
* Decorator-->>Caller: return result
|
|
58
|
+
* @category Method Decorators
|
|
59
|
+
*/
|
|
60
|
+
export declare function benchmark(): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
61
|
+
/**
|
|
62
|
+
* @description Method decorator for logging function calls with debug level.
|
|
63
|
+
* @summary Convenience wrapper around {@link log} that logs using `LogLevel.debug`.
|
|
64
|
+
* @return {function(any, any, PropertyDescriptor): void} Debug-level logging decorator.
|
|
39
65
|
* @function debug
|
|
40
66
|
* @category Method Decorators
|
|
41
67
|
*/
|
|
42
|
-
export declare function debug(
|
|
68
|
+
export declare function debug(): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
43
69
|
/**
|
|
44
|
-
* @description Method decorator for logging function calls with info level
|
|
45
|
-
* @summary Convenience wrapper around
|
|
46
|
-
* @
|
|
47
|
-
* @return {Function} A method decorator that wraps the original method with info logging
|
|
70
|
+
* @description Method decorator for logging function calls with info level.
|
|
71
|
+
* @summary Convenience wrapper around {@link log} that logs using `LogLevel.info`.
|
|
72
|
+
* @return {function(any, any, PropertyDescriptor): void} Info-level logging decorator.
|
|
48
73
|
* @function info
|
|
49
74
|
* @category Method Decorators
|
|
50
75
|
*/
|
|
51
|
-
export declare function info(
|
|
76
|
+
export declare function info(): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
52
77
|
/**
|
|
53
|
-
* @description Method decorator for logging function calls with silly level
|
|
54
|
-
* @summary Convenience wrapper around
|
|
55
|
-
* @
|
|
56
|
-
* @return {Function} A method decorator that wraps the original method with silly logging
|
|
78
|
+
* @description Method decorator for logging function calls with silly level.
|
|
79
|
+
* @summary Convenience wrapper around {@link log} that logs using `LogLevel.silly`.
|
|
80
|
+
* @return {function(any, any, PropertyDescriptor): void} Silly-level logging decorator.
|
|
57
81
|
* @function silly
|
|
58
82
|
* @category Method Decorators
|
|
59
83
|
*/
|
|
60
|
-
export declare function silly(
|
|
84
|
+
export declare function silly(): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
61
85
|
/**
|
|
62
|
-
* @description Method decorator for logging function calls with verbose level
|
|
63
|
-
* @summary Convenience wrapper around
|
|
64
|
-
* @return {
|
|
86
|
+
* @description Method decorator for logging function calls with verbose level.
|
|
87
|
+
* @summary Convenience wrapper around {@link log} that logs using `LogLevel.verbose` with configurable verbosity.
|
|
88
|
+
* @return {function(any, any, PropertyDescriptor): void} Verbose logging decorator.
|
|
65
89
|
* @function verbose
|
|
90
|
+
* @category Method Decorators
|
|
66
91
|
*/
|
|
67
92
|
export declare function verbose(): (target: any, propertyKey?: any, descriptor?: any) => void;
|
|
68
93
|
/**
|
|
69
|
-
* @description Method decorator for logging function calls with verbose level
|
|
70
|
-
* @summary Convenience wrapper around
|
|
71
|
-
* @
|
|
72
|
-
* @return {Function} A method decorator that wraps the original method with verbose logging
|
|
73
|
-
* @function verbose
|
|
74
|
-
*/
|
|
75
|
-
export declare function verbose(benchmark: boolean): (target: any, propertyKey?: any, descriptor?: any) => void;
|
|
76
|
-
/**
|
|
77
|
-
* @description Method decorator for logging function calls with verbose level
|
|
78
|
-
* @summary Convenience wrapper around the log decorator that uses LogLevel.verbose with configurable verbosity
|
|
79
|
-
* @param {number} verbosity - The verbosity level for the log messages (default: 0)
|
|
80
|
-
* @return {Function} A method decorator that wraps the original method with verbose logging
|
|
94
|
+
* @description Method decorator for logging function calls with verbose level.
|
|
95
|
+
* @summary Convenience wrapper around {@link log} that logs using `LogLevel.verbose` while toggling benchmarking.
|
|
96
|
+
* @return {function(any, PropertyDescriptor): void} Verbose logging decorator.
|
|
81
97
|
* @function verbose
|
|
82
98
|
* @category Method Decorators
|
|
83
99
|
*/
|
|
84
|
-
export declare function verbose(
|
|
100
|
+
export declare function verbose(): (target: any, propertyKey?: any, descriptor?: any) => void;
|
|
85
101
|
/**
|
|
86
|
-
* @description Creates a decorator that makes a method non-configurable
|
|
87
|
-
* @summary
|
|
88
|
-
*
|
|
89
|
-
* @return {Function} A decorator function that can be applied to methods
|
|
102
|
+
* @description Creates a decorator that makes a method non-configurable.
|
|
103
|
+
* @summary Prevents overriding by marking the method descriptor as non-configurable, throwing if applied to non-method targets.
|
|
104
|
+
* @return {function(object, any, PropertyDescriptor): PropertyDescriptor|undefined} Decorator that hardens the method descriptor.
|
|
90
105
|
* @function final
|
|
91
106
|
* @category Method Decorators
|
|
92
107
|
*/
|
|
93
|
-
export declare function final(): (target: object, propertyKey?: any, descriptor?:
|
|
108
|
+
export declare function final(): (target: object, propertyKey?: any, descriptor?: any) => any;
|