@prosopo/logger 2.0.3 → 2.0.5
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/.turbo/turbo-build$colon$cjs.log +10 -8
- package/.turbo/turbo-build$colon$tsc.log +6 -6
- package/.turbo/turbo-build.log +12 -9
- package/CHANGELOG.md +14 -0
- package/dist/_virtual/_rolldown/runtime.js +3 -0
- package/dist/cjs/index.cjs +9 -10
- package/dist/cjs/logger.cjs +227 -241
- package/dist/index.js +2 -10
- package/dist/logger.js +225 -246
- package/dist/tests/loggerBrowser.unit.test.d.ts +2 -0
- package/dist/tests/loggerBrowser.unit.test.d.ts.map +1 -0
- package/dist/tests/loggerBrowser.unit.test.js +34 -0
- package/dist/tests/loggerBrowser.unit.test.js.map +1 -0
- package/dist/tests/loggerLevels.unit.test.d.ts +2 -0
- package/dist/tests/loggerLevels.unit.test.d.ts.map +1 -0
- package/dist/tests/loggerLevels.unit.test.js +132 -0
- package/dist/tests/loggerLevels.unit.test.js.map +1 -0
- package/package.json +7 -6
- package/src/tests/loggerBrowser.unit.test.ts +85 -0
- package/src/tests/loggerLevels.unit.test.ts +215 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/logger.js
CHANGED
|
@@ -1,263 +1,242 @@
|
|
|
1
1
|
import { stringifyBigInts } from "@prosopo/util";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
3
|
+
//#region src/logger.ts
|
|
4
|
+
var InfoLevel = "info";
|
|
5
|
+
var DebugLevel = "debug";
|
|
6
|
+
var TraceLevel = "trace";
|
|
7
|
+
var WarnLevel = "warn";
|
|
8
|
+
var ErrorLevel = "error";
|
|
9
|
+
var FatalLevel = "fatal";
|
|
10
|
+
var LogLevel = z.enum([
|
|
11
|
+
InfoLevel,
|
|
12
|
+
DebugLevel,
|
|
13
|
+
TraceLevel,
|
|
14
|
+
WarnLevel,
|
|
15
|
+
ErrorLevel,
|
|
16
|
+
FatalLevel
|
|
16
17
|
]);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
var logLevelMap = {
|
|
19
|
+
[TraceLevel]: 0,
|
|
20
|
+
[DebugLevel]: 1,
|
|
21
|
+
[InfoLevel]: 2,
|
|
22
|
+
[WarnLevel]: 3,
|
|
23
|
+
[ErrorLevel]: 4,
|
|
24
|
+
[FatalLevel]: 5
|
|
24
25
|
};
|
|
25
26
|
function parseLogLevel(level, or = InfoLevel) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
if (!level) return or;
|
|
28
|
+
for (const part of level.split(",")) {
|
|
29
|
+
const trimmed = part.trim();
|
|
30
|
+
if (trimmed && !trimmed.includes("=")) {
|
|
31
|
+
const parsed = LogLevel.safeParse(trimmed);
|
|
32
|
+
if (parsed.success) return parsed.data;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return or;
|
|
35
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Parse a PROSOPO_LOG_LEVEL directive string into a scope→level map.
|
|
39
|
+
* An entry with an empty-string key represents the global default.
|
|
40
|
+
*/
|
|
36
41
|
function parseDirectives(raw) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
42
|
+
const map = /* @__PURE__ */ new Map();
|
|
43
|
+
for (const part of raw.split(",")) {
|
|
44
|
+
const trimmed = part.trim();
|
|
45
|
+
if (!trimmed) continue;
|
|
46
|
+
const eqIdx = trimmed.indexOf("=");
|
|
47
|
+
if (eqIdx === -1) {
|
|
48
|
+
const parsed = LogLevel.safeParse(trimmed);
|
|
49
|
+
if (parsed.success) map.set("", parsed.data);
|
|
50
|
+
} else {
|
|
51
|
+
const scope = trimmed.slice(0, eqIdx).trim();
|
|
52
|
+
if (!scope) continue;
|
|
53
|
+
const parsed = LogLevel.safeParse(trimmed.slice(eqIdx + 1).trim());
|
|
54
|
+
if (parsed.success) map.set(scope, parsed.data);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return map;
|
|
53
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Find the most specific directive that matches the given scope.
|
|
61
|
+
* Walks from the full scope up to the empty-string global default.
|
|
62
|
+
* Returns the fallback if nothing matches.
|
|
63
|
+
*/
|
|
54
64
|
function resolveLevel(scope, directives, fallback) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
if (directives.has(scope)) return directives.get(scope);
|
|
66
|
+
const parts = scope.split(":");
|
|
67
|
+
for (let i = parts.length - 1; i > 0; i--) {
|
|
68
|
+
const prefix = parts.slice(0, i).join(":");
|
|
69
|
+
if (directives.has(prefix)) return directives.get(prefix);
|
|
70
|
+
}
|
|
71
|
+
if (directives.has("")) return directives.get("");
|
|
72
|
+
return fallback;
|
|
63
73
|
}
|
|
64
|
-
|
|
74
|
+
var _globalDirectives;
|
|
65
75
|
function getGlobalDirectives() {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
_globalDirectives = parseDirectives(raw);
|
|
69
|
-
}
|
|
70
|
-
return _globalDirectives;
|
|
76
|
+
if (!_globalDirectives) _globalDirectives = parseDirectives(typeof process !== "undefined" ? process.env?.PROSOPO_LOG_LEVEL ?? "" : "");
|
|
77
|
+
return _globalDirectives;
|
|
71
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Override the global directives at runtime (useful in tests or at app startup).
|
|
81
|
+
* Accepts the same directive string as PROSOPO_LOG_LEVEL.
|
|
82
|
+
*/
|
|
72
83
|
function setGlobalDirectives(raw) {
|
|
73
|
-
|
|
84
|
+
_globalDirectives = parseDirectives(raw);
|
|
74
85
|
}
|
|
75
86
|
function getLogger(logLevel, scope) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
87
|
+
const logger = new NativeLogger(scope);
|
|
88
|
+
logger.setLogLevel(logLevel);
|
|
89
|
+
return logger;
|
|
79
90
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
log(level, fn) {
|
|
230
|
-
switch (level) {
|
|
231
|
-
case "trace":
|
|
232
|
-
this.trace(fn);
|
|
233
|
-
break;
|
|
234
|
-
case "debug":
|
|
235
|
-
this.debug(fn);
|
|
236
|
-
break;
|
|
237
|
-
case "info":
|
|
238
|
-
this.info(fn);
|
|
239
|
-
break;
|
|
240
|
-
case "warn":
|
|
241
|
-
this.warn(fn);
|
|
242
|
-
break;
|
|
243
|
-
case "error":
|
|
244
|
-
this.error(fn);
|
|
245
|
-
break;
|
|
246
|
-
case "fatal":
|
|
247
|
-
this.fatal(fn);
|
|
248
|
-
break;
|
|
249
|
-
default:
|
|
250
|
-
throw new Error(`Unknown log level: ${level}`);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
export {
|
|
255
|
-
Format,
|
|
256
|
-
LogLevel,
|
|
257
|
-
NativeLogger,
|
|
258
|
-
getLogger,
|
|
259
|
-
parseDirectives,
|
|
260
|
-
parseLogLevel,
|
|
261
|
-
resolveLevel,
|
|
262
|
-
setGlobalDirectives
|
|
91
|
+
var inBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
|
|
92
|
+
var FormatJson = "json";
|
|
93
|
+
var Format = z.enum([FormatJson, "plain"]);
|
|
94
|
+
/**
|
|
95
|
+
* Native logger which uses console.log, console.error, etc, without any libraries.
|
|
96
|
+
*/
|
|
97
|
+
var NativeLogger = class NativeLogger {
|
|
98
|
+
constructor(scope, levelMap = logLevelMap) {
|
|
99
|
+
this.scope = scope;
|
|
100
|
+
this.levelMap = levelMap;
|
|
101
|
+
this.pretty = 0;
|
|
102
|
+
this.printStack = false;
|
|
103
|
+
this.format = FormatJson;
|
|
104
|
+
this.level = InfoLevel;
|
|
105
|
+
}
|
|
106
|
+
setFormat(format) {
|
|
107
|
+
this.format = format;
|
|
108
|
+
if (this.format !== FormatJson) throw new Error("Only JSON format implemented for now");
|
|
109
|
+
}
|
|
110
|
+
getFormat() {
|
|
111
|
+
return this.format;
|
|
112
|
+
}
|
|
113
|
+
with(obj, subscope) {
|
|
114
|
+
const trimmedSubscope = subscope?.trim();
|
|
115
|
+
const newScope = trimmedSubscope ? this.scope ? `${this.scope}:${trimmedSubscope}` : trimmedSubscope : this.scope;
|
|
116
|
+
const newLogger = new NativeLogger(newScope, this.levelMap);
|
|
117
|
+
if (Object.keys(obj).length > 0) newLogger.defaultData = {
|
|
118
|
+
...this.defaultData,
|
|
119
|
+
...obj
|
|
120
|
+
};
|
|
121
|
+
else if (this.defaultData) newLogger.defaultData = this.defaultData;
|
|
122
|
+
newLogger.setPretty(this.getPretty());
|
|
123
|
+
newLogger.setPrintStack(this.getPrintStack());
|
|
124
|
+
newLogger.setLogLevel(this.getLogLevel());
|
|
125
|
+
return newLogger;
|
|
126
|
+
}
|
|
127
|
+
getPrintStack() {
|
|
128
|
+
return this.printStack;
|
|
129
|
+
}
|
|
130
|
+
setPrintStack(printStack) {
|
|
131
|
+
this.printStack = printStack;
|
|
132
|
+
}
|
|
133
|
+
getPretty() {
|
|
134
|
+
return this.pretty > 0;
|
|
135
|
+
}
|
|
136
|
+
setPretty(pretty) {
|
|
137
|
+
this.pretty = pretty ? 2 : 0;
|
|
138
|
+
}
|
|
139
|
+
getScope() {
|
|
140
|
+
return this.scope;
|
|
141
|
+
}
|
|
142
|
+
setLogLevel(level) {
|
|
143
|
+
this.level = level;
|
|
144
|
+
}
|
|
145
|
+
getLogLevel() {
|
|
146
|
+
return this.level;
|
|
147
|
+
}
|
|
148
|
+
unpackError(err) {
|
|
149
|
+
const e = err;
|
|
150
|
+
const data = {};
|
|
151
|
+
for (const key of Object.getOwnPropertyNames(err)) {
|
|
152
|
+
if (!this.printStack && (key === "stack" || key === "stacktrace")) continue;
|
|
153
|
+
data[key] = e[key];
|
|
154
|
+
}
|
|
155
|
+
if (!data.name) data.name = err.name ?? "Error";
|
|
156
|
+
const cause = e.cause;
|
|
157
|
+
if (cause !== void 0) if (cause instanceof Error || typeof cause === "object" && cause !== null) data.cause = this.unpackError(cause);
|
|
158
|
+
else data.cause = cause;
|
|
159
|
+
return {
|
|
160
|
+
msg: String(e.translationKey ?? e.message ?? e.msg ?? ""),
|
|
161
|
+
data
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
print(dest, fn, level) {
|
|
165
|
+
const effectiveLevelNum = this.levelMap[resolveLevel(this.scope, getGlobalDirectives(), this.level)];
|
|
166
|
+
if (this.levelMap[level] < effectiveLevelNum) return;
|
|
167
|
+
const ts = (/* @__PURE__ */ new Date()).toISOString();
|
|
168
|
+
let { data, msg, err } = fn();
|
|
169
|
+
let errMsg;
|
|
170
|
+
let errData;
|
|
171
|
+
if (err) if (err instanceof Error || typeof err === "object") {
|
|
172
|
+
const result = this.unpackError(err);
|
|
173
|
+
errMsg = result.msg;
|
|
174
|
+
errData = result.data;
|
|
175
|
+
} else errMsg = String(err);
|
|
176
|
+
if (this.defaultData) data = {
|
|
177
|
+
...this.defaultData,
|
|
178
|
+
...data
|
|
179
|
+
};
|
|
180
|
+
const dataMaybeRequestId = data;
|
|
181
|
+
const reqId = dataMaybeRequestId && typeof dataMaybeRequestId.requestId === "string" ? dataMaybeRequestId.requestId : void 0;
|
|
182
|
+
const baseRecord = {
|
|
183
|
+
scope: this.scope,
|
|
184
|
+
ts,
|
|
185
|
+
level
|
|
186
|
+
};
|
|
187
|
+
if (reqId) baseRecord.req_id = reqId;
|
|
188
|
+
if (data) baseRecord.data = data;
|
|
189
|
+
if (msg) baseRecord.msg = msg;
|
|
190
|
+
if (errMsg) baseRecord.err = errMsg;
|
|
191
|
+
if (errData) baseRecord.errData = errData;
|
|
192
|
+
if (inBrowser) if (msg || errMsg) dest(msg || errMsg, baseRecord);
|
|
193
|
+
else dest(baseRecord);
|
|
194
|
+
else {
|
|
195
|
+
const logRecord = stringifyBigInts(baseRecord);
|
|
196
|
+
dest(JSON.stringify(logRecord, null, this.pretty));
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
info(fn) {
|
|
200
|
+
this.print(console.info.bind(console), fn, InfoLevel);
|
|
201
|
+
}
|
|
202
|
+
debug(fn) {
|
|
203
|
+
this.print(console.debug.bind(console), fn, DebugLevel);
|
|
204
|
+
}
|
|
205
|
+
trace(fn) {
|
|
206
|
+
this.print(console.trace.bind(console), fn, TraceLevel);
|
|
207
|
+
}
|
|
208
|
+
warn(fn) {
|
|
209
|
+
this.print(console.warn.bind(console), fn, WarnLevel);
|
|
210
|
+
}
|
|
211
|
+
error(fn) {
|
|
212
|
+
this.print(console.error.bind(console), fn, ErrorLevel);
|
|
213
|
+
}
|
|
214
|
+
fatal(fn) {
|
|
215
|
+
this.print(console.error.bind(console), fn, FatalLevel);
|
|
216
|
+
}
|
|
217
|
+
log(level, fn) {
|
|
218
|
+
switch (level) {
|
|
219
|
+
case "trace":
|
|
220
|
+
this.trace(fn);
|
|
221
|
+
break;
|
|
222
|
+
case "debug":
|
|
223
|
+
this.debug(fn);
|
|
224
|
+
break;
|
|
225
|
+
case "info":
|
|
226
|
+
this.info(fn);
|
|
227
|
+
break;
|
|
228
|
+
case "warn":
|
|
229
|
+
this.warn(fn);
|
|
230
|
+
break;
|
|
231
|
+
case "error":
|
|
232
|
+
this.error(fn);
|
|
233
|
+
break;
|
|
234
|
+
case "fatal":
|
|
235
|
+
this.fatal(fn);
|
|
236
|
+
break;
|
|
237
|
+
default: throw new Error(`Unknown log level: ${level}`);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
263
240
|
};
|
|
241
|
+
//#endregion
|
|
242
|
+
export { Format, LogLevel, NativeLogger, getLogger, parseDirectives, parseLogLevel, resolveLevel, setGlobalDirectives };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loggerBrowser.unit.test.d.ts","sourceRoot":"","sources":["../../src/tests/loggerBrowser.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it, vi, } from "vitest";
|
|
2
|
+
import { getLogger, setGlobalDirectives } from "../logger.js";
|
|
3
|
+
let info;
|
|
4
|
+
let error;
|
|
5
|
+
beforeEach(() => {
|
|
6
|
+
setGlobalDirectives("");
|
|
7
|
+
info = vi.fn();
|
|
8
|
+
error = vi.fn();
|
|
9
|
+
vi.spyOn(console, "info").mockImplementation(info);
|
|
10
|
+
vi.spyOn(console, "error").mockImplementation(error);
|
|
11
|
+
});
|
|
12
|
+
afterEach(() => {
|
|
13
|
+
vi.restoreAllMocks();
|
|
14
|
+
});
|
|
15
|
+
describe("NativeLogger in a browser", () => {
|
|
16
|
+
it("logs the message and the record separately so dev tools can expand it", () => {
|
|
17
|
+
getLogger("info", "scope").info(() => ({ msg: "hello" }));
|
|
18
|
+
expect(info).toHaveBeenCalledWith("hello", expect.objectContaining({ msg: "hello", scope: "scope", level: "info" }));
|
|
19
|
+
});
|
|
20
|
+
it("falls back to the error message when there is no msg", () => {
|
|
21
|
+
getLogger("info", "scope").error(() => ({ err: new Error("boom") }));
|
|
22
|
+
expect(error).toHaveBeenCalledWith("boom", expect.objectContaining({ err: "boom" }));
|
|
23
|
+
});
|
|
24
|
+
it("logs the bare record when there is neither a message nor an error", () => {
|
|
25
|
+
getLogger("info", "scope").info(() => ({ data: { a: 1 } }));
|
|
26
|
+
expect(info).toHaveBeenCalledWith(expect.objectContaining({ data: { a: 1 }, scope: "scope" }));
|
|
27
|
+
expect(info.mock.calls[0]).toHaveLength(1);
|
|
28
|
+
});
|
|
29
|
+
it("does not serialise the record to a string", () => {
|
|
30
|
+
getLogger("info", "scope").info(() => ({ msg: "hello" }));
|
|
31
|
+
expect(typeof info.mock.calls[0]?.[1]).toBe("object");
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=loggerBrowser.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loggerBrowser.unit.test.js","sourceRoot":"","sources":["../../src/tests/loggerBrowser.unit.test.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEN,SAAS,EACT,UAAU,EACV,QAAQ,EACR,MAAM,EACN,EAAE,EACF,EAAE,GACF,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAQ9D,IAAI,IAAiB,CAAC;AACtB,IAAI,KAAkB,CAAC;AAEvB,UAAU,CAAC,GAAG,EAAE;IACf,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACxB,IAAI,GAAG,EAAE,CAAC,EAAE,EAAgC,CAAC;IAC7C,KAAK,GAAG,EAAE,CAAC,EAAE,EAAgC,CAAC;IAC9C,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACnD,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACd,EAAE,CAAC,eAAe,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAChF,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAc,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAErE,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAChC,OAAO,EACP,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CACxE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC/D,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAC/B,GAAc,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAC7C,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CACjC,MAAM,EACN,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CACxC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC5E,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAc,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAChC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAC3D,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACpD,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAc,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAErE,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loggerLevels.unit.test.d.ts","sourceRoot":"","sources":["../../src/tests/loggerLevels.unit.test.ts"],"names":[],"mappings":""}
|