@bian-womp/spark-graph 0.3.88 → 0.3.89
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/lib/src/builder/GraphBuilder.d.ts +43 -0
- package/lib/src/builder/GraphBuilder.d.ts.map +1 -0
- package/lib/src/builder/GraphBuilder.js +279 -0
- package/lib/src/builder/GraphBuilder.js.map +1 -0
- package/lib/src/builder/Registry.d.ts +87 -0
- package/lib/src/builder/Registry.d.ts.map +1 -0
- package/lib/src/builder/Registry.js +390 -0
- package/lib/src/builder/Registry.js.map +1 -0
- package/lib/src/core/categories.d.ts +22 -0
- package/lib/src/core/categories.d.ts.map +1 -0
- package/lib/src/core/categories.js +2 -0
- package/lib/src/core/categories.js.map +1 -0
- package/lib/src/core/order.d.ts +7 -0
- package/lib/src/core/order.d.ts.map +1 -0
- package/lib/src/core/order.js +66 -0
- package/lib/src/core/order.js.map +1 -0
- package/lib/src/core/type-utils.d.ts +29 -0
- package/lib/src/core/type-utils.d.ts.map +1 -0
- package/lib/src/core/type-utils.js +92 -0
- package/lib/src/core/type-utils.js.map +1 -0
- package/lib/src/core/types.d.ts +95 -0
- package/lib/src/core/types.d.ts.map +1 -0
- package/lib/src/core/types.js +2 -0
- package/lib/src/core/types.js.map +1 -0
- package/lib/src/examples/arrays.d.ts +5 -0
- package/lib/src/examples/arrays.d.ts.map +1 -0
- package/lib/src/examples/arrays.js +49 -0
- package/lib/src/examples/arrays.js.map +1 -0
- package/lib/src/examples/async.d.ts +5 -0
- package/lib/src/examples/async.d.ts.map +1 -0
- package/lib/src/examples/async.js +91 -0
- package/lib/src/examples/async.js.map +1 -0
- package/lib/src/examples/progress.d.ts +5 -0
- package/lib/src/examples/progress.d.ts.map +1 -0
- package/lib/src/examples/progress.js +51 -0
- package/lib/src/examples/progress.js.map +1 -0
- package/lib/src/examples/run.d.ts +2 -0
- package/lib/src/examples/run.d.ts.map +1 -0
- package/lib/src/examples/run.js +32 -0
- package/lib/src/examples/run.js.map +1 -0
- package/lib/src/examples/runMode.d.ts +2 -0
- package/lib/src/examples/runMode.d.ts.map +1 -0
- package/lib/src/examples/runMode.js +223 -0
- package/lib/src/examples/runMode.js.map +1 -0
- package/lib/src/examples/shared.d.ts +5 -0
- package/lib/src/examples/shared.d.ts.map +1 -0
- package/lib/src/examples/shared.js +47 -0
- package/lib/src/examples/shared.js.map +1 -0
- package/lib/src/examples/simple.d.ts +5 -0
- package/lib/src/examples/simple.d.ts.map +1 -0
- package/lib/src/examples/simple.js +79 -0
- package/lib/src/examples/simple.js.map +1 -0
- package/lib/src/examples/snapshot.d.ts +4 -0
- package/lib/src/examples/snapshot.d.ts.map +1 -0
- package/lib/src/examples/snapshot.js +58 -0
- package/lib/src/examples/snapshot.js.map +1 -0
- package/lib/src/examples/validation.d.ts +5 -0
- package/lib/src/examples/validation.d.ts.map +1 -0
- package/lib/src/examples/validation.js +105 -0
- package/lib/src/examples/validation.js.map +1 -0
- package/lib/src/index.d.ts +27 -0
- package/lib/src/index.d.ts.map +1 -0
- package/lib/src/index.js +19 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/misc/base.d.ts +51 -0
- package/lib/src/misc/base.d.ts.map +1 -0
- package/lib/src/misc/base.js +1091 -0
- package/lib/src/misc/base.js.map +1 -0
- package/lib/src/misc/utils/LevelLogger.d.ts +150 -0
- package/lib/src/misc/utils/LevelLogger.d.ts.map +1 -0
- package/lib/src/misc/utils/LevelLogger.js +420 -0
- package/lib/src/misc/utils/LevelLogger.js.map +1 -0
- package/lib/src/misc/utils/LevelLogger.test.d.ts +2 -0
- package/lib/src/misc/utils/LevelLogger.test.d.ts.map +1 -0
- package/lib/src/misc/utils/LevelLogger.test.js +283 -0
- package/lib/src/misc/utils/LevelLogger.test.js.map +1 -0
- package/lib/src/misc/utils/json.d.ts +34 -0
- package/lib/src/misc/utils/json.d.ts.map +1 -0
- package/lib/src/misc/utils/json.js +471 -0
- package/lib/src/misc/utils/json.js.map +1 -0
- package/lib/src/misc/utils/merge.d.ts +51 -0
- package/lib/src/misc/utils/merge.d.ts.map +1 -0
- package/lib/src/misc/utils/merge.js +591 -0
- package/lib/src/misc/utils/merge.js.map +1 -0
- package/lib/src/misc/utils/test-logger-output.d.ts +7 -0
- package/lib/src/misc/utils/test-logger-output.d.ts.map +1 -0
- package/lib/src/misc/utils/test-logger-output.js +48 -0
- package/lib/src/misc/utils/test-logger-output.js.map +1 -0
- package/lib/src/plugins/composite.d.ts +22 -0
- package/lib/src/plugins/composite.d.ts.map +1 -0
- package/lib/src/plugins/composite.js +59 -0
- package/lib/src/plugins/composite.js.map +1 -0
- package/lib/src/plugins/compute.d.ts +5 -0
- package/lib/src/plugins/compute.d.ts.map +1 -0
- package/lib/src/plugins/compute.js +39 -0
- package/lib/src/plugins/compute.js.map +1 -0
- package/lib/src/runtime/Engine.d.ts +26 -0
- package/lib/src/runtime/Engine.d.ts.map +1 -0
- package/lib/src/runtime/Engine.js +2 -0
- package/lib/src/runtime/Engine.js.map +1 -0
- package/lib/src/runtime/GraphLifecycleApi.d.ts +46 -0
- package/lib/src/runtime/GraphLifecycleApi.d.ts.map +1 -0
- package/lib/src/runtime/GraphLifecycleApi.js +2 -0
- package/lib/src/runtime/GraphLifecycleApi.js.map +1 -0
- package/lib/src/runtime/GraphRuntime.d.ts +111 -0
- package/lib/src/runtime/GraphRuntime.d.ts.map +1 -0
- package/lib/src/runtime/GraphRuntime.js +791 -0
- package/lib/src/runtime/GraphRuntime.js.map +1 -0
- package/lib/src/runtime/LocalEngine.d.ts +41 -0
- package/lib/src/runtime/LocalEngine.d.ts.map +1 -0
- package/lib/src/runtime/LocalEngine.js +89 -0
- package/lib/src/runtime/LocalEngine.js.map +1 -0
- package/lib/src/runtime/components/EdgePropagator.d.ts +93 -0
- package/lib/src/runtime/components/EdgePropagator.d.ts.map +1 -0
- package/lib/src/runtime/components/EdgePropagator.js +378 -0
- package/lib/src/runtime/components/EdgePropagator.js.map +1 -0
- package/lib/src/runtime/components/EventEmitter.d.ts +12 -0
- package/lib/src/runtime/components/EventEmitter.d.ts.map +1 -0
- package/lib/src/runtime/components/EventEmitter.js +33 -0
- package/lib/src/runtime/components/EventEmitter.js.map +1 -0
- package/lib/src/runtime/components/Graph.d.ts +208 -0
- package/lib/src/runtime/components/Graph.d.ts.map +1 -0
- package/lib/src/runtime/components/Graph.js +452 -0
- package/lib/src/runtime/components/Graph.js.map +1 -0
- package/lib/src/runtime/components/HandleResolver.d.ts +36 -0
- package/lib/src/runtime/components/HandleResolver.d.ts.map +1 -0
- package/lib/src/runtime/components/HandleResolver.js +229 -0
- package/lib/src/runtime/components/HandleResolver.js.map +1 -0
- package/lib/src/runtime/components/NodeExecutor.d.ts +116 -0
- package/lib/src/runtime/components/NodeExecutor.d.ts.map +1 -0
- package/lib/src/runtime/components/NodeExecutor.js +648 -0
- package/lib/src/runtime/components/NodeExecutor.js.map +1 -0
- package/lib/src/runtime/components/RunContextManager.d.ts +90 -0
- package/lib/src/runtime/components/RunContextManager.d.ts.map +1 -0
- package/lib/src/runtime/components/RunContextManager.js +329 -0
- package/lib/src/runtime/components/RunContextManager.js.map +1 -0
- package/lib/src/runtime/components/RuntimeValidatorManager.d.ts +31 -0
- package/lib/src/runtime/components/RuntimeValidatorManager.d.ts.map +1 -0
- package/lib/src/runtime/components/RuntimeValidatorManager.js +56 -0
- package/lib/src/runtime/components/RuntimeValidatorManager.js.map +1 -0
- package/lib/src/runtime/components/graph-utils.d.ts +33 -0
- package/lib/src/runtime/components/graph-utils.d.ts.map +1 -0
- package/lib/src/runtime/components/graph-utils.js +300 -0
- package/lib/src/runtime/components/graph-utils.js.map +1 -0
- package/lib/src/runtime/components/interfaces.d.ts +59 -0
- package/lib/src/runtime/components/interfaces.d.ts.map +1 -0
- package/lib/src/runtime/components/interfaces.js +2 -0
- package/lib/src/runtime/components/interfaces.js.map +1 -0
- package/lib/src/runtime/components/types.d.ts +57 -0
- package/lib/src/runtime/components/types.d.ts.map +1 -0
- package/lib/src/runtime/components/types.js +2 -0
- package/lib/src/runtime/components/types.js.map +1 -0
- package/lib/src/runtime/utils.d.ts +21 -0
- package/lib/src/runtime/utils.d.ts.map +1 -0
- package/lib/src/runtime/utils.js +41 -0
- package/lib/src/runtime/utils.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
import { LOG_LEVEL_VALUES } from "@bian-womp/spark-protocol";
|
|
2
|
+
import { stringifySceneAndOps } from "./json";
|
|
3
|
+
/**
|
|
4
|
+
* A reusable logger class that supports configurable log levels and prefixes.
|
|
5
|
+
* Can be instantiated with a default log level and optionally override per call.
|
|
6
|
+
*
|
|
7
|
+
* Dynamic log-level rules:
|
|
8
|
+
* - Rules are configured once via `LevelLogger.setDynamicLevelRules(raw)`.
|
|
9
|
+
* - Rules can also be configured per logger instance via `setInstanceDynamicLevelRules(raw)`.
|
|
10
|
+
* - Rules are compiled into a static runtime-friendly structure for fast matching.
|
|
11
|
+
* - On every log call, logger resolves dynamic level by rule match:
|
|
12
|
+
* `overrideLevel` > instance rule > global rule > logger default.
|
|
13
|
+
*
|
|
14
|
+
* Rule format (raw):
|
|
15
|
+
* [
|
|
16
|
+
* {
|
|
17
|
+
* "name": "optional label",
|
|
18
|
+
* "enabled": true,
|
|
19
|
+
* "setLevel": "debug",
|
|
20
|
+
* "when": {
|
|
21
|
+
* "prefix": { "startsWith": ["[node:scene.importAsset"] },
|
|
22
|
+
* "message": { "startsWith": ["computeAssetSyncStatus"] }
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
* ]
|
|
26
|
+
*
|
|
27
|
+
* Matching semantics:
|
|
28
|
+
* - Rules are evaluated in order; first match wins.
|
|
29
|
+
* - `prefix` and `message` conditions are AND-ed when both exist.
|
|
30
|
+
* - Within each operator list (`startsWith`, `contains`, etc.), values are OR-ed.
|
|
31
|
+
* - If multiple operators are defined in one block, all operators must pass.
|
|
32
|
+
* - `not` negates an additional matcher block.
|
|
33
|
+
* - String matching is case-insensitive; regex is used as provided.
|
|
34
|
+
*
|
|
35
|
+
* Priority strategy (fixed):
|
|
36
|
+
* - `overrideLevel` > first matching instance rule > first matching global rule > logger default.
|
|
37
|
+
*/
|
|
38
|
+
export class LevelLogger {
|
|
39
|
+
/**
|
|
40
|
+
* Updates static dynamic level rules from raw settings input.
|
|
41
|
+
* Accepts either:
|
|
42
|
+
* - a JSON string containing an array of rules
|
|
43
|
+
* - an in-memory array of rules
|
|
44
|
+
*
|
|
45
|
+
* Invalid rules are ignored; parse errors clear rules and warn.
|
|
46
|
+
*/
|
|
47
|
+
static setDynamicLevelRules(raw) {
|
|
48
|
+
LevelLogger.compiledDynamicLevelRules = LevelLogger.compileDynamicLevelRulesFromRaw(raw);
|
|
49
|
+
}
|
|
50
|
+
constructor(defaultLevel = "info", prefix = "") {
|
|
51
|
+
this.compiledInstanceDynamicLevelRules = [];
|
|
52
|
+
this.defaultLevel = defaultLevel;
|
|
53
|
+
this.prefix = prefix;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Sets the prefix for log messages
|
|
57
|
+
*/
|
|
58
|
+
setPrefix(prefix) {
|
|
59
|
+
this.prefix = prefix;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Gets the current prefix
|
|
63
|
+
*/
|
|
64
|
+
getPrefix() {
|
|
65
|
+
return this.prefix;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Sets the default log level for this logger instance
|
|
69
|
+
*/
|
|
70
|
+
setLevel(level) {
|
|
71
|
+
this.defaultLevel = level;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Gets the current default log level
|
|
75
|
+
*/
|
|
76
|
+
getLevel() {
|
|
77
|
+
return this.defaultLevel;
|
|
78
|
+
}
|
|
79
|
+
getLevelValue() {
|
|
80
|
+
return LevelLogger.levelValues[this.defaultLevel];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Sets per-instance dynamic rules. These are evaluated along with global rules
|
|
84
|
+
* using the active priority preset.
|
|
85
|
+
*/
|
|
86
|
+
setInstanceDynamicLevelRules(raw) {
|
|
87
|
+
this.compiledInstanceDynamicLevelRules = LevelLogger.compileDynamicLevelRulesFromRaw(raw);
|
|
88
|
+
}
|
|
89
|
+
static isRecord(value) {
|
|
90
|
+
return value !== null && typeof value === "object";
|
|
91
|
+
}
|
|
92
|
+
static isLogLevel(value) {
|
|
93
|
+
return typeof value === "string" && value in LevelLogger.levelValues;
|
|
94
|
+
}
|
|
95
|
+
static normalizeStringArray(input) {
|
|
96
|
+
if (typeof input === "string")
|
|
97
|
+
return [input];
|
|
98
|
+
if (!Array.isArray(input))
|
|
99
|
+
return [];
|
|
100
|
+
return input.filter((v) => typeof v === "string");
|
|
101
|
+
}
|
|
102
|
+
static compileRegexArray(input) {
|
|
103
|
+
const patterns = LevelLogger.normalizeStringArray(input);
|
|
104
|
+
const compiled = [];
|
|
105
|
+
for (const pattern of patterns) {
|
|
106
|
+
try {
|
|
107
|
+
compiled.push(new RegExp(pattern));
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
console.warn(`[LevelLogger] Invalid regex in dynamic level rule: ${pattern}`, err);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return compiled;
|
|
114
|
+
}
|
|
115
|
+
static compileMatchRule(input) {
|
|
116
|
+
if (!LevelLogger.isRecord(input))
|
|
117
|
+
return undefined;
|
|
118
|
+
const equals = LevelLogger.normalizeStringArray(input.equals).map((v) => v.toLowerCase());
|
|
119
|
+
const startsWith = LevelLogger.normalizeStringArray(input.startsWith).map((v) => v.toLowerCase());
|
|
120
|
+
const contains = LevelLogger.normalizeStringArray(input.contains).map((v) => v.toLowerCase());
|
|
121
|
+
const regex = LevelLogger.compileRegexArray(input.regex);
|
|
122
|
+
let not;
|
|
123
|
+
if (LevelLogger.isRecord(input.not)) {
|
|
124
|
+
not = {
|
|
125
|
+
equals: LevelLogger.normalizeStringArray(input.not.equals).map((v) => v.toLowerCase()),
|
|
126
|
+
startsWith: LevelLogger.normalizeStringArray(input.not.startsWith).map((v) => v.toLowerCase()),
|
|
127
|
+
contains: LevelLogger.normalizeStringArray(input.not.contains).map((v) => v.toLowerCase()),
|
|
128
|
+
regex: LevelLogger.compileRegexArray(input.not.regex),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
if (!equals.length && !startsWith.length && !contains.length && !regex.length && !not)
|
|
132
|
+
return undefined;
|
|
133
|
+
return { equals, startsWith, contains, regex, not };
|
|
134
|
+
}
|
|
135
|
+
static compileDynamicLevelRules(raw) {
|
|
136
|
+
if (!Array.isArray(raw)) {
|
|
137
|
+
console.warn("[LevelLogger] Dynamic level rules must be an array. Ignoring value.");
|
|
138
|
+
return [];
|
|
139
|
+
}
|
|
140
|
+
const compiled = [];
|
|
141
|
+
for (const item of raw) {
|
|
142
|
+
if (!LevelLogger.isRecord(item))
|
|
143
|
+
continue;
|
|
144
|
+
if (item.enabled === false)
|
|
145
|
+
continue;
|
|
146
|
+
if (!LevelLogger.isLogLevel(item.setLevel))
|
|
147
|
+
continue;
|
|
148
|
+
let when;
|
|
149
|
+
if (LevelLogger.isRecord(item.when)) {
|
|
150
|
+
const prefix = LevelLogger.compileMatchRule(item.when.prefix);
|
|
151
|
+
const message = LevelLogger.compileMatchRule(item.when.message);
|
|
152
|
+
if (prefix || message)
|
|
153
|
+
when = { prefix, message };
|
|
154
|
+
}
|
|
155
|
+
compiled.push({
|
|
156
|
+
name: typeof item.name === "string" ? item.name : undefined,
|
|
157
|
+
setLevel: item.setLevel,
|
|
158
|
+
when,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
return compiled;
|
|
162
|
+
}
|
|
163
|
+
static compileDynamicLevelRulesFromRaw(raw) {
|
|
164
|
+
if (raw === undefined || raw === null || raw === "")
|
|
165
|
+
return [];
|
|
166
|
+
let parsed = raw;
|
|
167
|
+
if (typeof raw === "string") {
|
|
168
|
+
try {
|
|
169
|
+
parsed = JSON.parse(raw);
|
|
170
|
+
}
|
|
171
|
+
catch (err) {
|
|
172
|
+
console.warn("[LevelLogger] Failed to parse dynamic level rules JSON:", err);
|
|
173
|
+
return [];
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return LevelLogger.compileDynamicLevelRules(parsed);
|
|
177
|
+
}
|
|
178
|
+
static matchesCompiledMatchRule(rule, value, valueLower) {
|
|
179
|
+
if (!rule)
|
|
180
|
+
return true;
|
|
181
|
+
const lower = valueLower ?? value.toLowerCase();
|
|
182
|
+
if (rule.equals.length > 0 && !rule.equals.some((candidate) => lower === candidate))
|
|
183
|
+
return false;
|
|
184
|
+
if (rule.startsWith.length > 0 && !rule.startsWith.some((candidate) => lower.startsWith(candidate)))
|
|
185
|
+
return false;
|
|
186
|
+
if (rule.contains.length > 0 && !rule.contains.some((candidate) => lower.includes(candidate)))
|
|
187
|
+
return false;
|
|
188
|
+
if (rule.regex.length > 0 && !rule.regex.some((re) => re.test(value)))
|
|
189
|
+
return false;
|
|
190
|
+
if (rule.not) {
|
|
191
|
+
const notMatches = (rule.not.equals.length > 0 && rule.not.equals.some((candidate) => lower === candidate)) ||
|
|
192
|
+
(rule.not.startsWith.length > 0 && rule.not.startsWith.some((candidate) => lower.startsWith(candidate))) ||
|
|
193
|
+
(rule.not.contains.length > 0 && rule.not.contains.some((candidate) => lower.includes(candidate))) ||
|
|
194
|
+
(rule.not.regex.length > 0 && rule.not.regex.some((re) => re.test(value)));
|
|
195
|
+
if (notMatches)
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
return true;
|
|
199
|
+
}
|
|
200
|
+
static resolveDynamicLevelFromRules(prefix, message, rules) {
|
|
201
|
+
const prefixLower = prefix.toLowerCase();
|
|
202
|
+
const messageLower = message.toLowerCase();
|
|
203
|
+
for (const rule of rules) {
|
|
204
|
+
const prefixMatch = LevelLogger.matchesCompiledMatchRule(rule.when?.prefix, prefix, prefixLower);
|
|
205
|
+
if (!prefixMatch)
|
|
206
|
+
continue;
|
|
207
|
+
const messageMatch = LevelLogger.matchesCompiledMatchRule(rule.when?.message, message, messageLower);
|
|
208
|
+
if (!messageMatch)
|
|
209
|
+
continue;
|
|
210
|
+
return rule.setLevel;
|
|
211
|
+
}
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
static resolveDynamicLevel(prefix, message) {
|
|
215
|
+
return LevelLogger.resolveDynamicLevelFromRules(prefix, message, LevelLogger.compiledDynamicLevelRules);
|
|
216
|
+
}
|
|
217
|
+
resolveEffectiveLevel(message, overrideLevel) {
|
|
218
|
+
if (overrideLevel)
|
|
219
|
+
return overrideLevel;
|
|
220
|
+
const instanceDynamic = LevelLogger.resolveDynamicLevelFromRules(this.prefix, message, this.compiledInstanceDynamicLevelRules);
|
|
221
|
+
const globalDynamic = LevelLogger.resolveDynamicLevel(this.prefix, message);
|
|
222
|
+
return instanceDynamic ?? globalDynamic ?? this.defaultLevel;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Logs a debug message
|
|
226
|
+
*/
|
|
227
|
+
debug(message, context, overrideLevel) {
|
|
228
|
+
this._log("debug", message, context, overrideLevel);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Logs an info message
|
|
232
|
+
*/
|
|
233
|
+
info(message, context, overrideLevel) {
|
|
234
|
+
this._log("info", message, context, overrideLevel);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Logs a warning message
|
|
238
|
+
*/
|
|
239
|
+
warn(message, context, overrideLevel) {
|
|
240
|
+
this._log("warn", message, context, overrideLevel);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Logs an error message
|
|
244
|
+
*/
|
|
245
|
+
error(message, context, overrideLevel) {
|
|
246
|
+
this._log("error", message, context, overrideLevel);
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Logs a message at the specified level
|
|
250
|
+
*/
|
|
251
|
+
log(level, message, context, overrideLevel) {
|
|
252
|
+
if (level === "silent")
|
|
253
|
+
return;
|
|
254
|
+
this._log(level, message, context, overrideLevel);
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Tries to parse a string as JSON and format it nicely if it's fully JSON
|
|
258
|
+
*/
|
|
259
|
+
parseJsonStringIfFull(str) {
|
|
260
|
+
const trimmed = str.trim();
|
|
261
|
+
// Check if the string starts with { or [ and ends with } or ]
|
|
262
|
+
if ((trimmed.startsWith("{") && trimmed.endsWith("}")) || (trimmed.startsWith("[") && trimmed.endsWith("]"))) {
|
|
263
|
+
try {
|
|
264
|
+
const parsed = JSON.parse(trimmed);
|
|
265
|
+
return JSON.stringify(parsed, null, 2);
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
// If parsing fails, return original string
|
|
269
|
+
return str;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return str;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Tries to parse a string as JSON and return the parsed object/array if it's fully JSON
|
|
276
|
+
* Used for parsing JSON strings inside arrays so they can be formatted by stringifySceneAndOps
|
|
277
|
+
*/
|
|
278
|
+
parseJsonStringToObject(str) {
|
|
279
|
+
const trimmed = str.trim();
|
|
280
|
+
// Check if the string starts with { or [ and ends with } or ]
|
|
281
|
+
if ((trimmed.startsWith("{") && trimmed.endsWith("}")) || (trimmed.startsWith("[") && trimmed.endsWith("]"))) {
|
|
282
|
+
try {
|
|
283
|
+
return JSON.parse(trimmed);
|
|
284
|
+
}
|
|
285
|
+
catch {
|
|
286
|
+
// If parsing fails, return original string
|
|
287
|
+
return str;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return str;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Parses JSON strings in context values if they are fully JSON
|
|
294
|
+
* Also handles arrays containing JSON strings
|
|
295
|
+
*/
|
|
296
|
+
parseJsonStringsInContext(context) {
|
|
297
|
+
const parsed = {};
|
|
298
|
+
for (const [key, value] of Object.entries(context)) {
|
|
299
|
+
if (typeof value === "string") {
|
|
300
|
+
parsed[key] = this.parseJsonStringIfFull(value);
|
|
301
|
+
}
|
|
302
|
+
else if (Array.isArray(value)) {
|
|
303
|
+
// Process arrays: parse JSON strings within the array to objects/arrays
|
|
304
|
+
// so they can be formatted correctly by stringifySceneAndOps
|
|
305
|
+
parsed[key] = value.map((item) => {
|
|
306
|
+
if (typeof item === "string") {
|
|
307
|
+
return this.parseJsonStringToObject(item);
|
|
308
|
+
}
|
|
309
|
+
return item;
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
parsed[key] = value;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
return parsed;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Core logging method that respects the log level and applies prefix
|
|
320
|
+
*/
|
|
321
|
+
_log(requestedLevel, message, context, overrideLevel) {
|
|
322
|
+
const effectiveLevel = this.resolveEffectiveLevel(message, overrideLevel);
|
|
323
|
+
// Silent level suppresses all logs
|
|
324
|
+
if (effectiveLevel === "silent") {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
const requestedValue = LevelLogger.levelValues[requestedLevel] ?? 1;
|
|
328
|
+
const effectiveValue = LevelLogger.levelValues[effectiveLevel] ?? 1;
|
|
329
|
+
// Only log if the requested level is >= effective level
|
|
330
|
+
if (requestedValue >= effectiveValue) {
|
|
331
|
+
const { logFormat = "plain", ...rest } = context ?? {};
|
|
332
|
+
const formatJson = logFormat === "json" || logFormat === "json-deep";
|
|
333
|
+
const parseJsonString = logFormat === "json-deep";
|
|
334
|
+
// Parse JSON strings in context values if requested
|
|
335
|
+
let processedContext = rest;
|
|
336
|
+
const parsedKeys = new Set(); // Track keys that had JSON strings parsed
|
|
337
|
+
if (parseJsonString && rest && Object.keys(rest).length > 0) {
|
|
338
|
+
// Check which keys had JSON strings before parsing
|
|
339
|
+
for (const [key, value] of Object.entries(rest)) {
|
|
340
|
+
if (typeof value === "string") {
|
|
341
|
+
const trimmed = value.trim();
|
|
342
|
+
if ((trimmed.startsWith("{") && trimmed.endsWith("}")) ||
|
|
343
|
+
(trimmed.startsWith("[") && trimmed.endsWith("]"))) {
|
|
344
|
+
try {
|
|
345
|
+
JSON.parse(trimmed);
|
|
346
|
+
parsedKeys.add(key);
|
|
347
|
+
}
|
|
348
|
+
catch {
|
|
349
|
+
// Not valid JSON, skip
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
else if (Array.isArray(value)) {
|
|
354
|
+
// Check if array contains JSON strings
|
|
355
|
+
for (const item of value) {
|
|
356
|
+
if (typeof item === "string") {
|
|
357
|
+
const trimmed = item.trim();
|
|
358
|
+
if ((trimmed.startsWith("{") && trimmed.endsWith("}")) ||
|
|
359
|
+
(trimmed.startsWith("[") && trimmed.endsWith("]"))) {
|
|
360
|
+
try {
|
|
361
|
+
JSON.parse(trimmed);
|
|
362
|
+
parsedKeys.add(key);
|
|
363
|
+
break; // Found at least one JSON string in array
|
|
364
|
+
}
|
|
365
|
+
catch {
|
|
366
|
+
// Not valid JSON, continue
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
processedContext = this.parseJsonStringsInContext(rest);
|
|
374
|
+
}
|
|
375
|
+
const contextStr = processedContext && Object.keys(processedContext).length > 0
|
|
376
|
+
? `${formatJson ? "\n" : " "}${Object.entries(processedContext)
|
|
377
|
+
.map(([k, v]) => {
|
|
378
|
+
// If parseJsonString is enabled and value is a formatted JSON string
|
|
379
|
+
// (starts with { or [ and contains newlines indicating it was formatted),
|
|
380
|
+
// output it directly without stringifySceneAndOps to preserve formatting
|
|
381
|
+
// Wrap it with json`...` to distinguish it as formatted JSON
|
|
382
|
+
if (parseJsonString && typeof v === "string" && v.trim().match(/^[{\[]/) && v.includes("\n")) {
|
|
383
|
+
return `${k}=json\`${v}\``;
|
|
384
|
+
}
|
|
385
|
+
// If this key had a JSON string parsed and we're formatting JSON,
|
|
386
|
+
// wrap the formatted output with json`...`
|
|
387
|
+
if (formatJson && parseJsonString && parsedKeys.has(k)) {
|
|
388
|
+
return `${k}=json\`${stringifySceneAndOps(v)}\``;
|
|
389
|
+
}
|
|
390
|
+
if (formatJson) {
|
|
391
|
+
return `${k}=${stringifySceneAndOps(v)}`;
|
|
392
|
+
}
|
|
393
|
+
return `${k}=${JSON.stringify(v)}`;
|
|
394
|
+
})
|
|
395
|
+
.join(formatJson ? "\n" : " ")}`
|
|
396
|
+
: "";
|
|
397
|
+
const prefixedMessage = this.prefix ? `${this.prefix} ${message}${contextStr}` : `${message}${contextStr}`;
|
|
398
|
+
switch (requestedLevel) {
|
|
399
|
+
case "debug":
|
|
400
|
+
console.info(prefixedMessage);
|
|
401
|
+
break;
|
|
402
|
+
case "info":
|
|
403
|
+
console.info(prefixedMessage);
|
|
404
|
+
break;
|
|
405
|
+
case "warn":
|
|
406
|
+
console.warn(prefixedMessage);
|
|
407
|
+
break;
|
|
408
|
+
case "error":
|
|
409
|
+
console.error(prefixedMessage);
|
|
410
|
+
break;
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
LevelLogger.compiledDynamicLevelRules = [];
|
|
416
|
+
/**
|
|
417
|
+
* Maps log levels to numeric values for comparison
|
|
418
|
+
*/
|
|
419
|
+
LevelLogger.levelValues = LOG_LEVEL_VALUES;
|
|
420
|
+
//# sourceMappingURL=LevelLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LevelLogger.js","sourceRoot":"","sources":["../../../../src/misc/utils/LevelLogger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LevelLogger.test.d.ts","sourceRoot":"","sources":["../../../../src/misc/utils/LevelLogger.test.ts"],"names":[],"mappings":""}
|