tico-basics 1.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.
package/README.md ADDED
@@ -0,0 +1,34 @@
1
+ # Tico Basics
2
+
3
+ A lightweight utility package with basic functionality for events and logging.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @tiaguinho2009/tico-basics
9
+ ```
10
+
11
+ ## Features
12
+
13
+ - **Events Module** - Event handling utilities
14
+ - **Logs Module** - Logging utilities with `chalk` support for colored output
15
+
16
+ ## Usage
17
+
18
+ ```typescript
19
+ import { /* your exports */ } from '@tiaguinho2009/tico-basics';
20
+ ```
21
+
22
+ ## Build
23
+
24
+ ```bash
25
+ npm run build
26
+ ```
27
+
28
+ ## License
29
+
30
+ AGPL-3.0-only
31
+
32
+ ## Author
33
+
34
+ tiaguinho2009
@@ -0,0 +1,4 @@
1
+ import EventSystem from "./src/modules/events/index.js";
2
+ import Logger, { type LoggerEvents, type LoggerOptions } from "./src/modules/logs/index.js";
3
+ export { EventSystem, Logger, type LoggerEvents, type LoggerOptions };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,MAAM,EAAE,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5F,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ import EventSystem from "./src/modules/events/index.js";
2
+ import Logger, {} from "./src/modules/logs/index.js";
3
+ export { EventSystem, Logger };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,MAAM,EAAE,EAAyC,MAAM,6BAA6B,CAAC;AAE5F,OAAO,EAAE,WAAW,EAAE,MAAM,EAAyC,CAAC"}
@@ -0,0 +1,165 @@
1
+ import type Logger from "../logs/index.js";
2
+ type EventHandler<T extends any[]> = (...args: T) => void;
3
+ type EventSystemOptions = {
4
+ debug?: boolean;
5
+ warnOnNoListeners?: boolean;
6
+ catchErrors?: boolean;
7
+ maxListeners?: number;
8
+ };
9
+ /**
10
+ * Typed event emitter implementation.
11
+ *
12
+ * This class provides a strongly-typed publish/subscribe system where
13
+ * each event name maps to a tuple of argument types. It is designed for:
14
+ *
15
+ * - Internal application communication
16
+ * - Plugin systems
17
+ * - Decoupled module interaction
18
+ * - Predictable, type-safe event contracts
19
+ *
20
+ * Each event key in the generic type `E` represents an event name.
21
+ * The corresponding value must be a tuple type describing the arguments
22
+ * that listeners for that event will receive.
23
+ *
24
+ * Type Safety:
25
+ * - `on`, `once`, `emit`, etc. are fully typed
26
+ * - Event names are restricted to `keyof E`
27
+ * - Listener parameters are inferred from the tuple defined in `E`
28
+ *
29
+ * Runtime Behavior:
30
+ * - Listeners are stored in a `Map<event, Set<handler>>`
31
+ * - Duplicate handlers for the same event are ignored (Set behavior)
32
+ * - Listeners are automatically cleaned up when empty
33
+ * - Emission can optionally catch errors
34
+ * - Optional debug and safety warnings are available
35
+ *
36
+ * Not intended to be a drop-in replacement for Node.js EventEmitter.
37
+ * Designed specifically for internal use in controlled environments.
38
+ *
39
+ * @template E
40
+ * An object type where:
41
+ * - Keys are event names (`string | symbol`)
42
+ * - Values are tuple types representing the arguments passed to listeners
43
+ *
44
+ * @example
45
+ * interface MyEvents {
46
+ * ready: [];
47
+ * message: [string, number];
48
+ * error: [Error];
49
+ * }
50
+ *
51
+ * const events = new EventSystem<MyEvents>();
52
+ *
53
+ * events.on("message", (text, id) => {
54
+ * this.log.log(text, id);
55
+ * });
56
+ *
57
+ * events.emit("message", "Hello", 123);
58
+ *
59
+ * // Type error:
60
+ * // events.emit("message", 123); // ❌ wrong arguments
61
+ *
62
+ * @remarks
63
+ * - Event names must match exactly the keys of `E`
64
+ * - Argument counts and types must match the tuple definition
65
+ * - Using `[void]` as an event signature means the listener receives one argument of type `void`
66
+ * - Use `[]` if the event should not receive any arguments
67
+ */
68
+ export default class EventSystem<E extends {
69
+ [K in keyof E]: any[];
70
+ }> {
71
+ private listeners;
72
+ private options;
73
+ private log;
74
+ /**
75
+ * Creates a new EventSystem instance.
76
+ *
77
+ * @param options - Optional configuration.
78
+ * @param options.debug - Enables debug logging.
79
+ * @param options.warnOnNoListeners - Warns when emitting events without listeners.
80
+ * @param options.catchErrors - Catches errors inside handlers to prevent crashes.
81
+ * @param options.maxListeners - Maximum number of listeners allowed per event.
82
+ * @param logger - Logger instance for logging warnings and errors.
83
+ * @remarks
84
+ * - Default options: `{ debug: false, warnOnNoListeners: true, catchErrors: true, maxListeners: Infinity }`
85
+ */
86
+ constructor(options: EventSystemOptions | undefined, logger: Logger);
87
+ /**
88
+ * Registers a listener for an event.
89
+ *
90
+ * @param event - The event name.
91
+ * @param handler - The callback function.
92
+ * @returns A function that removes the listener.
93
+ */
94
+ on<K extends keyof E>(event: K, handler: EventHandler<E[K]>): () => void;
95
+ /**
96
+ * Registers a listener that executes before existing listeners.
97
+ *
98
+ * @param event - The event name.
99
+ * @param handler - The callback function.
100
+ * @returns A function that removes the listener.
101
+ */
102
+ prepend<K extends keyof E>(event: K, handler: EventHandler<E[K]>): () => void;
103
+ /**
104
+ * Registers a listener that is executed only once.
105
+ *
106
+ * @param event - The event name.
107
+ * @param handler - The callback function.
108
+ * @returns A function that removes the listener before execution.
109
+ */
110
+ once<K extends keyof E>(event: K, handler: EventHandler<E[K]>): () => void;
111
+ /**
112
+ * Removes a specific listener from an event.
113
+ *
114
+ * @param event - The event name.
115
+ * @param handler - The handler to remove.
116
+ */
117
+ off<K extends keyof E>(event: K, handler: EventHandler<E[K]>): void;
118
+ /**
119
+ * Emits an event synchronously.
120
+ *
121
+ * @param event - The event name.
122
+ * @param args - Arguments passed to listeners.
123
+ * @returns `true` if listeners were executed, otherwise `false`.
124
+ */
125
+ emit<K extends keyof E>(event: K, ...args: E[K]): boolean;
126
+ /**
127
+ * Emits an event asynchronously.
128
+ * Waits for all listeners (supports async handlers).
129
+ *
130
+ * @param event - The event name.
131
+ * @param args - Arguments passed to listeners.
132
+ * @returns A promise resolving to `true` if listeners were executed.
133
+ */
134
+ emitAsync<K extends keyof E>(event: K, ...args: E[K]): Promise<boolean>;
135
+ /**
136
+ * Returns the number of listeners attached to an event.
137
+ *
138
+ * @param event - The event name.
139
+ */
140
+ listenerCount<K extends keyof E>(event: K): number;
141
+ /**
142
+ * Checks if an event has at least one listener.
143
+ *
144
+ * @param event - The event name.
145
+ */
146
+ hasListeners<K extends keyof E>(event: K): boolean;
147
+ /**
148
+ * Returns a list of currently registered event names.
149
+ */
150
+ eventNames(): (keyof E)[];
151
+ /**
152
+ * Sets the maximum number of listeners allowed per event.
153
+ *
154
+ * @param n - Maximum number of listeners.
155
+ */
156
+ setMaxListeners(n: number): void;
157
+ /**
158
+ * Removes all listeners.
159
+ *
160
+ * @param event - Optional event name. If omitted, removes all listeners from all events.
161
+ */
162
+ removeAllListeners<K extends keyof E>(event?: K): void;
163
+ }
164
+ export {};
165
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAE3C,KAAK,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAE1D,KAAK,kBAAkB,GAAG;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,CAAC,SAAS;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,EAAE;CAAE;IACnE,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,OAAO,CAA+B;IAC3C,OAAO,CAAC,GAAG,CAAS;IAEvB;;;;;;;;;;;OAWG;gBACS,OAAO,EAAE,kBAAkB,YAAK,EAAE,MAAM,EAAE,MAAM;IAqB5D;;;;;;OAMG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAmBxE;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAc7E;;;;;;OAMG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAS1E;;;;;OAKG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAcnE;;;;;;OAMG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;IAiCzD;;;;;;;OAOG;IACG,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAe7E;;;;OAIG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM;IAIlD;;;;OAIG;IACH,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO;IAIlD;;OAEG;IACH,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;IAIzB;;;;OAIG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIhC;;;;OAIG;IACH,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI;CAOtD"}
@@ -0,0 +1,263 @@
1
+ /**
2
+ * Typed event emitter implementation.
3
+ *
4
+ * This class provides a strongly-typed publish/subscribe system where
5
+ * each event name maps to a tuple of argument types. It is designed for:
6
+ *
7
+ * - Internal application communication
8
+ * - Plugin systems
9
+ * - Decoupled module interaction
10
+ * - Predictable, type-safe event contracts
11
+ *
12
+ * Each event key in the generic type `E` represents an event name.
13
+ * The corresponding value must be a tuple type describing the arguments
14
+ * that listeners for that event will receive.
15
+ *
16
+ * Type Safety:
17
+ * - `on`, `once`, `emit`, etc. are fully typed
18
+ * - Event names are restricted to `keyof E`
19
+ * - Listener parameters are inferred from the tuple defined in `E`
20
+ *
21
+ * Runtime Behavior:
22
+ * - Listeners are stored in a `Map<event, Set<handler>>`
23
+ * - Duplicate handlers for the same event are ignored (Set behavior)
24
+ * - Listeners are automatically cleaned up when empty
25
+ * - Emission can optionally catch errors
26
+ * - Optional debug and safety warnings are available
27
+ *
28
+ * Not intended to be a drop-in replacement for Node.js EventEmitter.
29
+ * Designed specifically for internal use in controlled environments.
30
+ *
31
+ * @template E
32
+ * An object type where:
33
+ * - Keys are event names (`string | symbol`)
34
+ * - Values are tuple types representing the arguments passed to listeners
35
+ *
36
+ * @example
37
+ * interface MyEvents {
38
+ * ready: [];
39
+ * message: [string, number];
40
+ * error: [Error];
41
+ * }
42
+ *
43
+ * const events = new EventSystem<MyEvents>();
44
+ *
45
+ * events.on("message", (text, id) => {
46
+ * this.log.log(text, id);
47
+ * });
48
+ *
49
+ * events.emit("message", "Hello", 123);
50
+ *
51
+ * // Type error:
52
+ * // events.emit("message", 123); // ❌ wrong arguments
53
+ *
54
+ * @remarks
55
+ * - Event names must match exactly the keys of `E`
56
+ * - Argument counts and types must match the tuple definition
57
+ * - Using `[void]` as an event signature means the listener receives one argument of type `void`
58
+ * - Use `[]` if the event should not receive any arguments
59
+ */
60
+ export default class EventSystem {
61
+ listeners = new Map();
62
+ options;
63
+ log;
64
+ /**
65
+ * Creates a new EventSystem instance.
66
+ *
67
+ * @param options - Optional configuration.
68
+ * @param options.debug - Enables debug logging.
69
+ * @param options.warnOnNoListeners - Warns when emitting events without listeners.
70
+ * @param options.catchErrors - Catches errors inside handlers to prevent crashes.
71
+ * @param options.maxListeners - Maximum number of listeners allowed per event.
72
+ * @param logger - Logger instance for logging warnings and errors.
73
+ * @remarks
74
+ * - Default options: `{ debug: false, warnOnNoListeners: true, catchErrors: true, maxListeners: Infinity }`
75
+ */
76
+ constructor(options = {}, logger) {
77
+ this.options = {
78
+ debug: false,
79
+ warnOnNoListeners: true,
80
+ catchErrors: true,
81
+ maxListeners: Infinity,
82
+ ...options,
83
+ };
84
+ // Use the provided logger directly to avoid creating a child logger here.
85
+ // Creating a child would instantiate another Logger which in turn
86
+ // constructs its own EventSystem, causing infinite recursion.
87
+ this.log = logger;
88
+ // Avoid using `Logger` methods during construction because the
89
+ // `Logger` may lazily create its `EventSystem`, which would call
90
+ // this constructor again and lead to infinite recursion. Use the
91
+ // console for a lightweight, non-recursive initialization message.
92
+ console.log("EventSystem initialized with options:", this.options);
93
+ }
94
+ /**
95
+ * Registers a listener for an event.
96
+ *
97
+ * @param event - The event name.
98
+ * @param handler - The callback function.
99
+ * @returns A function that removes the listener.
100
+ */
101
+ on(event, handler) {
102
+ let set = this.listeners.get(event);
103
+ if (!set) {
104
+ set = new Set();
105
+ this.listeners.set(event, set);
106
+ }
107
+ if (set.size >= this.options.maxListeners && this.options.warnOnNoListeners) {
108
+ this.log.warn("Max listeners exceeded for", event);
109
+ }
110
+ set.add(handler);
111
+ if (this.options.debug) {
112
+ this.log.log("Listener added to event:", event, "| Total:", set.size);
113
+ }
114
+ return () => this.off(event, handler);
115
+ }
116
+ /**
117
+ * Registers a listener that executes before existing listeners.
118
+ *
119
+ * @param event - The event name.
120
+ * @param handler - The callback function.
121
+ * @returns A function that removes the listener.
122
+ */
123
+ prepend(event, handler) {
124
+ let set = this.listeners.get(event);
125
+ if (!set) {
126
+ set = new Set();
127
+ this.listeners.set(event, set);
128
+ }
129
+ const newSet = new Set([handler, ...set]);
130
+ this.listeners.set(event, newSet);
131
+ return () => this.off(event, handler);
132
+ }
133
+ /**
134
+ * Registers a listener that is executed only once.
135
+ *
136
+ * @param event - The event name.
137
+ * @param handler - The callback function.
138
+ * @returns A function that removes the listener before execution.
139
+ */
140
+ once(event, handler) {
141
+ const wrapper = (...args) => {
142
+ this.off(event, wrapper);
143
+ handler(...args);
144
+ };
145
+ return this.on(event, wrapper);
146
+ }
147
+ /**
148
+ * Removes a specific listener from an event.
149
+ *
150
+ * @param event - The event name.
151
+ * @param handler - The handler to remove.
152
+ */
153
+ off(event, handler) {
154
+ const set = this.listeners.get(event);
155
+ if (!set)
156
+ return;
157
+ set.delete(handler);
158
+ if (this.options.debug) {
159
+ this.log.log("Listener removed from event:", event, "| Remaining:", set.size);
160
+ }
161
+ if (set.size === 0) {
162
+ this.listeners.delete(event);
163
+ }
164
+ }
165
+ /**
166
+ * Emits an event synchronously.
167
+ *
168
+ * @param event - The event name.
169
+ * @param args - Arguments passed to listeners.
170
+ * @returns `true` if listeners were executed, otherwise `false`.
171
+ */
172
+ emit(event, ...args) {
173
+ const set = this.listeners.get(event);
174
+ if (!set || set.size === 0) {
175
+ if (this.options.warnOnNoListeners) {
176
+ this.log.warn("Event emitted with no listeners:", event);
177
+ }
178
+ return false;
179
+ }
180
+ const { catchErrors } = this.options;
181
+ if (this.options.debug) {
182
+ this.log.log("Emitting event:", event, "| Listeners:", set.size);
183
+ }
184
+ for (const handler of set) {
185
+ if (catchErrors) {
186
+ try {
187
+ handler(...args);
188
+ }
189
+ catch (err) {
190
+ if (this.options.catchErrors) {
191
+ this.log.error(0, "Handler crashed for", event, err);
192
+ }
193
+ }
194
+ }
195
+ else {
196
+ handler(...args);
197
+ }
198
+ }
199
+ return true;
200
+ }
201
+ /**
202
+ * Emits an event asynchronously.
203
+ * Waits for all listeners (supports async handlers).
204
+ *
205
+ * @param event - The event name.
206
+ * @param args - Arguments passed to listeners.
207
+ * @returns A promise resolving to `true` if listeners were executed.
208
+ */
209
+ async emitAsync(event, ...args) {
210
+ const set = this.listeners.get(event);
211
+ if (!set || set.size === 0)
212
+ return false;
213
+ if (this.options.debug) {
214
+ this.log.log("Async emit:", event, "| Listeners:", set.size);
215
+ }
216
+ await Promise.all([...set].map(async (handler) => handler(...args)));
217
+ return true;
218
+ }
219
+ /**
220
+ * Returns the number of listeners attached to an event.
221
+ *
222
+ * @param event - The event name.
223
+ */
224
+ listenerCount(event) {
225
+ return this.listeners.get(event)?.size ?? 0;
226
+ }
227
+ /**
228
+ * Checks if an event has at least one listener.
229
+ *
230
+ * @param event - The event name.
231
+ */
232
+ hasListeners(event) {
233
+ return this.listenerCount(event) > 0;
234
+ }
235
+ /**
236
+ * Returns a list of currently registered event names.
237
+ */
238
+ eventNames() {
239
+ return [...this.listeners.keys()];
240
+ }
241
+ /**
242
+ * Sets the maximum number of listeners allowed per event.
243
+ *
244
+ * @param n - Maximum number of listeners.
245
+ */
246
+ setMaxListeners(n) {
247
+ this.options.maxListeners = n;
248
+ }
249
+ /**
250
+ * Removes all listeners.
251
+ *
252
+ * @param event - Optional event name. If omitted, removes all listeners from all events.
253
+ */
254
+ removeAllListeners(event) {
255
+ if (event) {
256
+ this.listeners.delete(event);
257
+ }
258
+ else {
259
+ this.listeners.clear();
260
+ }
261
+ }
262
+ }
263
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/events/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import EventSystem from "../events/index.js";
2
+ export type LoggerEvents = {
3
+ log: [parentContext: string[], ...args: any[]];
4
+ info: [parentContext: string[], ...args: any[]];
5
+ success: [parentContext: string[], ...args: any[]];
6
+ warn: [parentContext: string[], ...args: any[]];
7
+ error: [parentContext: string[], level: 0 | 1 | 2, ...args: any[]];
8
+ print: [label: string, colorFn: (msg: string) => string, messages: any[], output: "log" | "info" | "warn" | "error"];
9
+ };
10
+ /**
11
+ * Configuration options for the {@link Logger}.
12
+ */
13
+ export type LoggerOptions = {
14
+ /**
15
+ * Clears the console when the logger is initialized.
16
+ * @default true
17
+ */
18
+ clearOnInit?: boolean;
19
+ /**
20
+ * Enables timestamps in log messages.
21
+ * @default true
22
+ */
23
+ useTimestamps?: boolean;
24
+ };
25
+ /**
26
+ * A simple colored console logger with timestamp and severity support.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const logger = new Logger("MyApp");
31
+ * logger.info("Application started");
32
+ * logger.success("Connected successfully");
33
+ * logger.error(1, "Something went wrong");
34
+ * ```
35
+ */
36
+ export default class Logger {
37
+ private context;
38
+ private options;
39
+ private timers;
40
+ private groupLevel;
41
+ events: EventSystem<LoggerEvents>;
42
+ /**
43
+ * Creates a new Logger instance.
44
+ *
45
+ * @param name - The application or module context used as log prefix.
46
+ * @param options - Optional logger configuration.
47
+ * @param parentContext - Parent logger context for child loggers.
48
+ */
49
+ constructor(name: string, options?: LoggerOptions, parentContext?: string[]);
50
+ /**
51
+ * Generates a formatted timestamp in HH:mm:ss format.
52
+ *
53
+ * @returns The current time formatted as a string.
54
+ */
55
+ private getTimestamp;
56
+ /**
57
+ * Formats a message for logging.
58
+ * Objects are stringified with indentation.
59
+ *
60
+ * @param msg - The message to format.
61
+ * @returns The formatted message.
62
+ */
63
+ private formatMessage;
64
+ /**
65
+ * Prints a formatted log message with a custom label and color.
66
+ *
67
+ * @param label - Prefix label (e.g., INFO, ERROR).
68
+ * @param colorFn - Chalk color function applied to the prefix.
69
+ * @param messages - One or more messages to log.
70
+ */
71
+ print(label: string, colorFn: (msg: string) => string, messages: any[], output?: "log" | "info" | "warn" | "error"): void;
72
+ /**
73
+ * Logs a standard message in blue.
74
+ *
75
+ * @param messages - Messages to log.
76
+ */
77
+ log(...messages: any[]): void;
78
+ /**
79
+ * Logs an informational message in cyan.
80
+ *
81
+ * @param messages - Messages to log.
82
+ */
83
+ info(...messages: any[]): void;
84
+ /**
85
+ * Logs a success message in green.
86
+ *
87
+ * @param messages - Messages to log.
88
+ */
89
+ success(...messages: any[]): void;
90
+ /**
91
+ * Logs a warning message in yellow.
92
+ *
93
+ * @param messages - Messages to log.
94
+ */
95
+ warn(...messages: any[]): void;
96
+ /**
97
+ * Logs an error message with severity levels.
98
+ *
99
+ * @param level - Error severity level:
100
+ * - `0` → ERROR
101
+ * - `1` → CRITICAL ERROR
102
+ * - `2` → FATAL ERRORlevel
103
+ *
104
+ * @param messages - One or more error messages.
105
+ */
106
+ error(level?: 0 | 1 | 2, ...messages: any[]): void;
107
+ /**
108
+ * Clears the console.
109
+ */
110
+ clear(): void;
111
+ time(label: string): void;
112
+ timeLog(label: string): void;
113
+ timeEnd(label: string): void;
114
+ table(data: any, ...properties: string[]): void;
115
+ /**
116
+ * Creates a child logger that inherits this logger's configuration
117
+ * and extends its context.
118
+ *
119
+ * @param name - Child context name.
120
+ * @returns A new Logger instance.
121
+ */
122
+ child(name: string): Logger;
123
+ /**
124
+ * Runs a demonstration of all log levels.
125
+ * Useful for testing color output and formatting.
126
+ * @param message - Optional custom message to display in the test logs.
127
+ */
128
+ test(message?: string): void;
129
+ }
130
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/logs/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,240 @@
1
+ import chalk from "chalk";
2
+ import EventSystem from "../events/index.js";
3
+ /**
4
+ * A simple colored console logger with timestamp and severity support.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const logger = new Logger("MyApp");
9
+ * logger.info("Application started");
10
+ * logger.success("Connected successfully");
11
+ * logger.error(1, "Something went wrong");
12
+ * ```
13
+ */
14
+ export default class Logger {
15
+ context;
16
+ options;
17
+ timers = new Map();
18
+ groupLevel = 0;
19
+ events = new EventSystem({
20
+ debug: false,
21
+ warnOnNoListeners: false,
22
+ catchErrors: false
23
+ }, this);
24
+ /**
25
+ * Creates a new Logger instance.
26
+ *
27
+ * @param name - The application or module context used as log prefix.
28
+ * @param options - Optional logger configuration.
29
+ * @param parentContext - Parent logger context for child loggers.
30
+ */
31
+ constructor(name, options = {}, parentContext) {
32
+ this.options = {
33
+ clearOnInit: true,
34
+ useTimestamps: true,
35
+ ...options,
36
+ };
37
+ this.context = parentContext
38
+ ? [...parentContext, name]
39
+ : [name];
40
+ if (!parentContext && this.options.clearOnInit) {
41
+ console.clear();
42
+ }
43
+ }
44
+ /**
45
+ * Generates a formatted timestamp in HH:mm:ss format.
46
+ *
47
+ * @returns The current time formatted as a string.
48
+ */
49
+ getTimestamp() {
50
+ const now = new Date();
51
+ const hours = now.getHours().toString().padStart(2, "0");
52
+ const minutes = now.getMinutes().toString().padStart(2, "0");
53
+ const seconds = now.getSeconds().toString().padStart(2, "0");
54
+ return `${hours}:${minutes}:${seconds}`;
55
+ }
56
+ /**
57
+ * Formats a message for logging.
58
+ * Objects are stringified with indentation.
59
+ *
60
+ * @param msg - The message to format.
61
+ * @returns The formatted message.
62
+ */
63
+ formatMessage(msg) {
64
+ return typeof msg === "object"
65
+ ? JSON.stringify(msg, null, 2)
66
+ : String(msg);
67
+ }
68
+ /**
69
+ * Prints a formatted log message with a custom label and color.
70
+ *
71
+ * @param label - Prefix label (e.g., INFO, ERROR).
72
+ * @param colorFn - Chalk color function applied to the prefix.
73
+ * @param messages - One or more messages to log.
74
+ */
75
+ print(label, colorFn, messages, output = "log") {
76
+ if (messages.length === 0) {
77
+ this.warn(["Logger.print called without messages"]);
78
+ return;
79
+ }
80
+ const timestamp = this.options.useTimestamps
81
+ ? `[${this.getTimestamp()}] `
82
+ : "";
83
+ const contextString = this.context.join(" | ");
84
+ const indent = " ".repeat(this.groupLevel);
85
+ const prefix = `${timestamp}[${contextString}${label ? ` | ${label}` : ""}]`;
86
+ let finalOutput = indent + prefix;
87
+ if (messages.length > 1) {
88
+ messages.forEach((msg) => {
89
+ finalOutput += "\n" + this.formatMessage(msg);
90
+ });
91
+ }
92
+ else if (messages.length === 1) {
93
+ finalOutput += " " + this.formatMessage(messages[0]);
94
+ }
95
+ if (output === "log") {
96
+ console.log(colorFn(finalOutput));
97
+ }
98
+ if (output === "info") {
99
+ console.info(colorFn(finalOutput));
100
+ }
101
+ if (output === "warn") {
102
+ console.warn(colorFn(finalOutput));
103
+ }
104
+ if (output === "error") {
105
+ console.error(colorFn(finalOutput));
106
+ }
107
+ this.events.emit("print", label, colorFn, messages, output);
108
+ }
109
+ /**
110
+ * Logs a standard message in blue.
111
+ *
112
+ * @param messages - Messages to log.
113
+ */
114
+ log(...messages) {
115
+ this.print("", chalk.blue, messages);
116
+ this.events.emit("log", this.context, ...messages);
117
+ }
118
+ /**
119
+ * Logs an informational message in cyan.
120
+ *
121
+ * @param messages - Messages to log.
122
+ */
123
+ info(...messages) {
124
+ this.print("INFO", chalk.cyan, messages);
125
+ this.events.emit("info", this.context, ...messages);
126
+ }
127
+ /**
128
+ * Logs a success message in green.
129
+ *
130
+ * @param messages - Messages to log.
131
+ */
132
+ success(...messages) {
133
+ this.print("SUCCESS", chalk.green, messages);
134
+ this.events.emit("success", this.context, ...messages);
135
+ }
136
+ /**
137
+ * Logs a warning message in yellow.
138
+ *
139
+ * @param messages - Messages to log.
140
+ */
141
+ warn(...messages) {
142
+ this.print("WARNING", chalk.yellow, messages, "error");
143
+ this.events.emit("warn", this.context, ...messages);
144
+ }
145
+ /**
146
+ * Logs an error message with severity levels.
147
+ *
148
+ * @param level - Error severity level:
149
+ * - `0` → ERROR
150
+ * - `1` → CRITICAL ERROR
151
+ * - `2` → FATAL ERRORlevel
152
+ *
153
+ * @param messages - One or more error messages.
154
+ */
155
+ error(level = 0, ...messages) {
156
+ const colorFn = level === 0
157
+ ? chalk.red
158
+ : level === 1
159
+ ? chalk.redBright
160
+ : chalk.bgRed;
161
+ const label = level === 0
162
+ ? "ERROR"
163
+ : level === 1
164
+ ? "CRITICAL ERROR"
165
+ : "FATAL ERROR";
166
+ this.print(label, colorFn, messages, "error");
167
+ this.events.emit("error", this.context, level, ...messages);
168
+ }
169
+ /**
170
+ * Clears the console.
171
+ */
172
+ clear() {
173
+ console.clear();
174
+ }
175
+ time(label) {
176
+ this.timers.set(label, performance.now());
177
+ this.print("TIMER START", chalk.magenta, [`${label} started`]);
178
+ }
179
+ timeLog(label) {
180
+ const start = this.timers.get(label);
181
+ if (!start) {
182
+ this.warn(`Timer "${label}" does not exist.`);
183
+ return;
184
+ }
185
+ const duration = performance.now() - start;
186
+ this.print("TIMER", chalk.magentaBright, [
187
+ `${label}: ${duration.toFixed(2)}ms`
188
+ ]);
189
+ }
190
+ timeEnd(label) {
191
+ const start = this.timers.get(label);
192
+ if (!start) {
193
+ this.warn(`Timer "${label}" does not exist.`);
194
+ return;
195
+ }
196
+ const duration = performance.now() - start;
197
+ this.timers.delete(label);
198
+ this.print("TIMER END", chalk.magenta, [
199
+ `${label}: ${duration.toFixed(2)}ms`
200
+ ]);
201
+ }
202
+ table(data, ...properties) {
203
+ if (!data) {
204
+ this.warn("No data provided to table()");
205
+ return;
206
+ }
207
+ const formatted = typeof data === "object"
208
+ ? JSON.stringify(data, null, 2)
209
+ : String(data);
210
+ this.print("TABLE", chalk.white, [formatted]);
211
+ }
212
+ /**
213
+ * Creates a child logger that inherits this logger's configuration
214
+ * and extends its context.
215
+ *
216
+ * @param name - Child context name.
217
+ * @returns A new Logger instance.
218
+ */
219
+ child(name) {
220
+ return new Logger(name, {
221
+ ...this.options,
222
+ clearOnInit: false,
223
+ }, this.context);
224
+ }
225
+ /**
226
+ * Runs a demonstration of all log levels.
227
+ * Useful for testing color output and formatting.
228
+ * @param message - Optional custom message to display in the test logs.
229
+ */
230
+ test(message = "This is a test log message.") {
231
+ this.log(message);
232
+ this.info(message);
233
+ this.success(message);
234
+ this.warn(message);
235
+ this.error(0, message);
236
+ this.error(1, message);
237
+ this.error(2, message);
238
+ }
239
+ }
240
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/logs/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es5.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2018.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2019.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2020.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2021.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2022.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2023.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2024.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.esnext.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.decorators.d.ts","../../../../../.local/share/mise/installs/node/25.6.0/lib/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/chalk/source/vendor/ansi-styles/index.d.ts","../node_modules/chalk/source/vendor/supports-color/index.d.ts","../node_modules/chalk/source/index.d.ts","../src/modules/logs/index.ts","../src/modules/events/index.ts","../index.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/web-globals/abortcontroller.d.ts","../node_modules/@types/node/web-globals/blob.d.ts","../node_modules/@types/node/web-globals/console.d.ts","../node_modules/@types/node/web-globals/crypto.d.ts","../node_modules/@types/node/web-globals/domexception.d.ts","../node_modules/@types/node/web-globals/encoding.d.ts","../node_modules/@types/node/web-globals/events.d.ts","../node_modules/undici-types/utility.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client-stats.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/h2c-client.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-call-history.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/snapshot-agent.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cache-interceptor.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/web-globals/fetch.d.ts","../node_modules/@types/node/web-globals/importmeta.d.ts","../node_modules/@types/node/web-globals/messaging.d.ts","../node_modules/@types/node/web-globals/navigator.d.ts","../node_modules/@types/node/web-globals/performance.d.ts","../node_modules/@types/node/web-globals/storage.d.ts","../node_modules/@types/node/web-globals/streams.d.ts","../node_modules/@types/node/web-globals/timers.d.ts","../node_modules/@types/node/web-globals/url.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/inspector.generated.d.ts","../node_modules/@types/node/inspector/promises.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/path/posix.d.ts","../node_modules/@types/node/path/win32.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/quic.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/sqlite.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/test/reporters.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/util/types.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts"],"fileIdsList":[[89,151,159,163,166,168,169,170,182],[84,85,89,151,159,163,166,168,169,170,182],[89,148,149,151,159,163,166,168,169,170,182],[89,150,151,159,163,166,168,169,170,182],[151,159,163,166,168,169,170,182],[89,151,159,163,166,168,169,170,182,190],[89,151,152,157,159,162,163,166,168,169,170,172,182,187,199],[89,151,152,153,159,162,163,166,168,169,170,182],[89,151,154,159,163,166,168,169,170,182,200],[89,151,155,156,159,163,166,168,169,170,173,182],[89,151,156,159,163,166,168,169,170,182,187,196],[89,151,157,159,162,163,166,168,169,170,172,182],[89,150,151,158,159,163,166,168,169,170,182],[89,151,159,160,163,166,168,169,170,182],[89,151,159,161,162,163,166,168,169,170,182],[89,150,151,159,162,163,166,168,169,170,182],[89,151,159,162,163,164,166,168,169,170,182,187,199],[89,151,159,162,163,164,166,168,169,170,182,187,190],[89,138,151,159,162,163,165,166,168,169,170,172,182,187,199],[89,151,159,162,163,165,166,168,169,170,172,182,187,196,199],[89,151,159,163,165,166,167,168,169,170,182,187,196,199],[87,88,89,90,91,92,93,94,95,96,97,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],[89,151,159,162,163,166,168,169,170,182],[89,151,159,163,166,168,170,182],[89,151,159,163,166,168,169,170,171,182,199],[89,151,159,162,163,166,168,169,170,172,182,187],[89,151,159,163,166,168,169,170,173,182],[89,151,159,163,166,168,169,170,174,182],[89,151,159,162,163,166,168,169,170,177,182],[89,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],[89,151,159,163,166,168,169,170,179,182],[89,151,159,163,166,168,169,170,180,182],[89,151,156,159,163,166,168,169,170,172,182,190],[89,151,159,162,163,166,168,169,170,182,183],[89,151,159,163,166,168,169,170,182,184,200,203],[89,151,159,162,163,166,168,169,170,182,187,189,190],[89,151,159,163,166,168,169,170,182,188,190],[89,151,159,163,166,168,169,170,182,190,200],[89,151,159,163,166,168,169,170,182,191],[89,148,151,159,163,166,168,169,170,182,187,193,199],[89,151,159,163,166,168,169,170,182,187,192],[89,151,159,162,163,166,168,169,170,182,194,195],[89,151,159,163,166,168,169,170,182,194,195],[89,151,156,159,163,166,168,169,170,172,182,187,196],[89,151,159,163,166,168,169,170,182,197],[89,151,159,163,166,168,169,170,172,182,198],[89,151,159,163,165,166,168,169,170,180,182,199],[89,151,159,163,166,168,169,170,182,200,201],[89,151,156,159,163,166,168,169,170,182,201],[89,151,159,163,166,168,169,170,182,187,202],[89,151,159,163,166,168,169,170,171,182,203],[89,151,159,163,166,168,169,170,182,204],[89,151,154,159,163,166,168,169,170,182],[89,151,156,159,163,166,168,169,170,182],[89,151,159,163,166,168,169,170,182,200],[89,138,151,159,163,166,168,169,170,182],[89,151,159,163,166,168,169,170,182,199],[89,151,159,163,166,168,169,170,182,205],[89,151,159,163,166,168,169,170,177,182],[89,151,159,163,166,168,169,170,182,195],[89,138,151,159,162,163,164,166,168,169,170,177,182,187,190,199,202,203,205],[89,151,159,163,166,168,169,170,182,187,206],[81,82,89,151,159,163,166,168,169,170,182],[89,151,159,163,166,168,169,170,182,198],[89,104,107,110,111,151,159,163,166,168,169,170,182,199],[89,107,151,159,163,166,168,169,170,182,187,199],[89,107,111,151,159,163,166,168,169,170,182,199],[89,151,159,163,166,168,169,170,182,187],[89,101,151,159,163,166,168,169,170,182],[89,105,151,159,163,166,168,169,170,182],[89,103,104,107,151,159,163,166,168,169,170,182,199],[89,151,159,163,166,168,169,170,172,182,196],[89,151,159,163,166,168,169,170,182,207],[89,101,151,159,163,166,168,169,170,182,207],[89,103,107,151,159,163,166,168,169,170,172,182,199],[89,98,99,100,102,106,151,159,162,163,166,168,169,170,182,187,199],[89,107,115,123,151,159,163,166,168,169,170,182],[89,99,105,151,159,163,166,168,169,170,182],[89,107,132,133,151,159,163,166,168,169,170,182],[89,99,102,107,151,159,163,166,168,169,170,182,190,199,207],[89,107,151,159,163,166,168,169,170,182],[89,103,107,151,159,163,166,168,169,170,182,199],[89,98,151,159,163,166,168,169,170,182],[89,101,102,103,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,133,134,135,136,137,151,159,163,166,168,169,170,182],[89,107,125,128,151,159,163,166,168,169,170,182],[89,107,115,116,117,151,159,163,166,168,169,170,182],[89,105,107,116,118,151,159,163,166,168,169,170,182],[89,106,151,159,163,166,168,169,170,182],[89,99,101,107,151,159,163,166,168,169,170,182],[89,107,111,116,118,151,159,163,166,168,169,170,182],[89,111,151,159,163,166,168,169,170,182],[89,105,107,110,151,159,163,166,168,169,170,182,199],[89,99,103,107,115,151,159,163,166,168,169,170,182],[89,107,125,151,159,163,166,168,169,170,182],[89,118,151,159,163,166,168,169,170,182],[89,101,107,132,151,159,163,166,168,169,170,182,190,205,207],[84,89,151,159,163,166,168,169,170,182],[83,85,89,151,159,163,166,168,169,170,182]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"acfed6cc001e7f7f26d2ba42222a180ba669bb966d4dd9cb4ad5596516061b13","impliedFormat":99},{"version":"f61a4dc92450609c353738f0a2daebf8cae71b24716dbd952456d80b1e1a48b6","impliedFormat":99},{"version":"f3f76db6e76bc76d13cc4bfa10e1f74390b8ebe279535f62243e8d8acd919314","impliedFormat":99},{"version":"24ed6e4446151ee3fa819bedceeefe3fb13547efec63989f0018d652ec74ad84","signature":"f62f6cd01b31b10fe447c6accdd554eaf056a0c3597e2f538bf0f87cfe4cd097","impliedFormat":99},{"version":"2af3b42bcb5c1e5b767bb8692905e6d6e48d851e257274ab91eabfcb795d9bcf","signature":"c9a174d87e1d910d3fefc39da62943a0621f9c15aa16157a4f00079da1ac4413","impliedFormat":99},{"version":"3115180d980932d13bdce450be4cc204d669dc3dd2db8df498081c3854927120","signature":"0dcb5ea2d36342e3fcd057634c5d60c8975c109b72b72ab54aa3f0a8693e7dc4","impliedFormat":99},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"438b41419b1df9f1fbe33b5e1b18f5853432be205991d1b19f5b7f351675541e","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"2931540c47ee0ff8a62860e61782eb17b155615db61e36986e54645ec67f67c2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"f6faf5f74e4c4cc309a6c6a6c4da02dbb840be5d3e92905a23dcd7b2b0bd1986","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"3bacf516d686d08682751a3bd2519ea3b8041a164bfb4f1d35728993e70a2426","impliedFormat":1},{"version":"7fb266686238369442bd1719bc0d7edd0199da4fb8540354e1ff7f16669b4323","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"c183b931b68ad184bc8e8372bf663f3d33304772fb482f29fb91b3c391031f3e","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"e1528ca65ac90f6fa0e4a247eb656b4263c470bb22d9033e466463e13395e599","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"866078923a56d026e39243b4392e282c1c63159723996fa89243140e1388a98d","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"435b3711465425770ed2ee2f1cf00ce071835265e0851a7dc4600ab4b007550e","impliedFormat":1},{"version":"7e49f52a159435fc8df4de9dc377ef5860732ca2dc9efec1640531d3cf5da7a3","impliedFormat":1},{"version":"dd4bde4bdc2e5394aed6855e98cf135dfdf5dd6468cad842e03116d31bbcc9bc","impliedFormat":1},{"version":"4d4e879009a84a47c05350b8dca823036ba3a29a3038efed1be76c9f81e45edf","affectsGlobalScope":true,"impliedFormat":1},{"version":"237ba5ac2a95702a114a309e39c53a5bddff5f6333b325db9764df9b34f3502b","impliedFormat":1},{"version":"9ba13b47cb450a438e3076c4a3f6afb9dc85e17eae50f26d4b2d72c0688c9251","impliedFormat":1},{"version":"b64cd4401633ea4ecadfd700ddc8323a13b63b106ac7127c1d2726f32424622c","impliedFormat":1},{"version":"37c6e5fe5715814412b43cc9b50b24c67a63c4e04e753e0d1305970d65417a60","impliedFormat":1},{"version":"1d024184fb57c58c5c91823f9d10b4915a4867b7934e89115fd0d861a9df27c8","impliedFormat":1},{"version":"ee0e4946247f842c6dd483cbb60a5e6b484fee07996e3a7bc7343dfb68a04c5d","impliedFormat":1},{"version":"ef051f42b7e0ef5ca04552f54c4552eac84099d64b6c5ad0ef4033574b6035b8","impliedFormat":1},{"version":"853a43154f1d01b0173d9cbd74063507ece57170bad7a3b68f3fa1229ad0a92f","impliedFormat":1},{"version":"56231e3c39a031bfb0afb797690b20ed4537670c93c0318b72d5180833d98b72","impliedFormat":1},{"version":"5cc7c39031bfd8b00ad58f32143d59eb6ffc24f5d41a20931269011dccd36c5e","impliedFormat":1},{"version":"b0b69c61b0f0ec8ca15db4c8c41f6e77f4cacb784d42bca948f42dea33e8757e","affectsGlobalScope":true,"impliedFormat":1},{"version":"f96a48183254c00d24575401f1a761b4ce4927d927407e7862a83e06ce5d6964","impliedFormat":1},{"version":"cc25940cfb27aa538e60d465f98bb5068d4d7d33131861ace43f04fe6947d68f","impliedFormat":1},{"version":"f83fb2b1338afbb3f9d733c7d6e8b135826c41b0518867df0c0ace18ae1aa270","impliedFormat":1},{"version":"01ff95aa1443e3f7248974e5a771f513cb2ac158c8898f470a1792f817bee497","impliedFormat":1},{"version":"757227c8b345c57d76f7f0e3bbad7a91ffca23f1b2547cbed9e10025816c9cb7","impliedFormat":1},{"version":"42a05d8f239f74587d4926aba8cc54792eed8e8a442c7adc9b38b516642aadfe","impliedFormat":1},{"version":"5d21b58d60383cc6ab9ad3d3e265d7d25af24a2c9b506247e0e50b0a884920be","impliedFormat":1},{"version":"101f482fd48cb4c7c0468dcc6d62c843d842977aea6235644b1edd05e81fbf22","impliedFormat":1},{"version":"ae6757460f37078884b1571a3de3ebaf724d827d7e1d53626c02b3c2a408ac63","affectsGlobalScope":true,"impliedFormat":1},{"version":"9451a46a89ed209e2e08329e6cac59f89356eae79a7230f916d8cc38725407c7","impliedFormat":1},{"version":"3ef397f12387eff17f550bc484ea7c27d21d43816bbe609d495107f44b97e933","impliedFormat":1},{"version":"1023282e2ba810bc07905d3668349fbd37a26411f0c8f94a70ef3c05fe523fcf","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"e236b5eba291f51bdf32c231673e6cab81b5410850e61f51a7a524dddadc0f95","impliedFormat":1},{"version":"f7ba0e839daa0702e3ff1a1a871c0d8ea2d586ce684dd8a72c786c36a680b1d9","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f2c62938251b45715fd2a9887060ec4fbc8724727029d1cbce373747252bdd7","impliedFormat":1},{"version":"e3ace08b6bbd84655d41e244677b474fd995923ffef7149ddb68af8848b60b05","impliedFormat":1},{"version":"132580b0e86c48fab152bab850fc57a4b74fe915c8958d2ccb052b809a44b61c","impliedFormat":1},{"version":"af4ab0aa8908fc9a655bb833d3bc28e117c4f0e1038c5a891546158beb25accb","impliedFormat":1},{"version":"69c9a5a9392e8564bd81116e1ed93b13205201fb44cb35a7fde8c9f9e21c4b23","impliedFormat":1},{"version":"5f8fc37f8434691ffac1bfd8fc2634647da2c0e84253ab5d2dd19a7718915b35","impliedFormat":1},{"version":"5981c2340fd8b076cae8efbae818d42c11ffc615994cb060b1cd390795f1be2b","impliedFormat":1},{"version":"f64deb26664af64dc274637343bde8d82f930c77af05a412c7d310b77207a448","impliedFormat":1},{"version":"ed4f674fc8c0c993cc7e145069ac44129e03519b910c62be206a0cc777bdc60b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0250da3eb85c99624f974e77ef355cdf86f43980251bc371475c2b397ba55bcd","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"3d3a5f27ffbc06c885dd4d5f9ee20de61faf877fe2c3a7051c4825903d9a7fdc","impliedFormat":1},{"version":"12806f9f085598ef930edaf2467a5fa1789a878fba077cd27e85dc5851e11834","impliedFormat":1},{"version":"bce309f4d9b67c18d4eeff5bba6cf3e67b2b0aead9f03f75d6060c553974d7ba","impliedFormat":1},{"version":"a43fe41c33d0a192a0ecaf9b92e87bef3709c9972e6d53c42c49251ccb962d69","impliedFormat":1},{"version":"a177959203c017fad3ecc4f3d96c8757a840957a4959a3ae00dab9d35961ca6c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc727ccf9b36e257ff982ea0badeffbfc2c151802f741bddff00c6af3b784cf","impliedFormat":1},{"version":"2a00d005e3af99cd1cfa75220e60c61b04bfb6be7ca7453bfe2ef6cca37cc03c","impliedFormat":1},{"version":"4844a4c9b4b1e812b257676ed8a80b3f3be0e29bf05e742cc2ea9c3c6865e6c6","impliedFormat":1},{"version":"064878a60367e0407c42fb7ba02a2ea4d83257357dc20088e549bd4d89433e9c","impliedFormat":1},{"version":"14d4bd22d1b05824971b98f7e91b2484c90f1a684805c330476641417c3d9735","impliedFormat":1},{"version":"c3877fef8a43cd434f9728f25a97575b0eb73d92f38b5c87c840daccc3e21d97","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"1dbd83860e7634f9c236647f45dbc5d3c4f9eba8827d87209d6e9826fdf4dbd5","impliedFormat":1},{"version":"41ef7992c555671a8fe54db302788adefa191ded810a50329b79d20a6772d14c","impliedFormat":1},{"version":"041a7781b9127ab568d2cdcce62c58fdea7c7407f40b8c50045d7866a2727130","impliedFormat":1},{"version":"b37f83e7deea729aa9ce5593f78905afb45b7532fdff63041d374f60059e7852","impliedFormat":1},{"version":"e1cb68f3ef3a8dd7b2a9dfb3de482ed6c0f1586ba0db4e7d73c1d2147b6ffc51","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1}],"root":[[84,86]],"options":{"allowJs":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":199,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":99,"verbatimModuleSyntax":true},"referencedMap":[[79,1],[80,1],[14,1],[13,1],[2,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[3,1],[23,1],[24,1],[4,1],[25,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[58,1],[57,1],[59,1],[60,1],[10,1],[61,1],[62,1],[63,1],[11,1],[64,1],[65,1],[66,1],[67,1],[68,1],[1,1],[69,1],[70,1],[12,1],[74,1],[72,1],[77,1],[76,1],[71,1],[75,1],[73,1],[78,1],[86,2],[148,3],[149,3],[150,4],[89,5],[151,6],[152,7],[153,8],[87,1],[154,9],[155,10],[156,11],[157,12],[158,13],[159,14],[160,14],[161,15],[162,16],[163,17],[164,18],[90,1],[88,1],[165,19],[166,20],[167,21],[207,22],[168,23],[169,24],[170,23],[171,25],[172,26],[173,27],[174,28],[175,28],[176,28],[177,29],[178,30],[179,31],[180,32],[181,33],[182,34],[183,34],[184,35],[185,1],[186,1],[187,36],[188,37],[189,36],[190,38],[191,39],[192,40],[193,41],[194,42],[195,43],[196,44],[197,45],[198,46],[199,47],[200,48],[201,49],[202,50],[203,51],[204,52],[91,23],[92,1],[93,53],[94,54],[95,1],[96,55],[97,1],[139,56],[140,57],[141,58],[142,58],[143,59],[144,1],[145,6],[146,60],[147,57],[205,61],[206,62],[83,63],[81,1],[82,64],[115,65],[127,66],[113,67],[128,68],[137,69],[104,70],[105,71],[103,72],[136,73],[131,74],[135,75],[107,76],[124,77],[106,78],[134,79],[101,80],[102,74],[108,81],[109,1],[114,82],[112,81],[99,83],[138,84],[129,85],[118,86],[117,81],[119,87],[122,88],[116,89],[120,90],[132,73],[110,91],[111,92],[123,93],[100,68],[126,94],[125,81],[121,95],[130,1],[98,1],[133,96],[85,97],[84,98]],"latestChangedDtsFile":"./src/modules/logs/index.d.ts","version":"5.9.3"}
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "tico-basics",
3
+ "displayName": "Tico Basics",
4
+ "version": "1.0.0",
5
+ "description": "Just basic stuff that I use in all my projects",
6
+ "keywords": ["tico09"],
7
+ "license": "AGPL-3.0-only",
8
+ "author": "tiaguinho2009",
9
+ "type": "module",
10
+ "main": "dist/index.js",
11
+ "types": "dist/index.d.ts",
12
+ "private": false,
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js"
17
+ }
18
+ },
19
+ "sideEffects": false,
20
+ "files": ["dist"],
21
+ "scripts": {
22
+ "build": "npx tsc"
23
+ },
24
+ "dependencies": {
25
+ "chalk": "^5.6.2"
26
+ },
27
+ "devDependencies": {
28
+ "@types/node": "^25.2.3",
29
+ "typescript": "^5.9.3"
30
+ }
31
+ }