@warlock.js/logger 4.0.128 → 4.0.129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/cjs/cron-parser.d.ts +98 -0
  2. package/cjs/cron-parser.d.ts.map +1 -0
  3. package/cjs/cron-parser.js +193 -0
  4. package/cjs/cron-parser.js.map +1 -0
  5. package/cjs/index.d.ts +43 -5
  6. package/cjs/index.d.ts.map +1 -1
  7. package/cjs/index.js +1 -1
  8. package/cjs/job.d.ts +332 -0
  9. package/cjs/job.d.ts.map +1 -0
  10. package/cjs/job.js +616 -0
  11. package/cjs/job.js.map +1 -0
  12. package/cjs/log-channel.d.ts +2 -2
  13. package/cjs/logger.d.ts +1 -1
  14. package/cjs/scheduler.d.ts +182 -0
  15. package/cjs/scheduler.d.ts.map +1 -0
  16. package/cjs/scheduler.js +316 -0
  17. package/cjs/scheduler.js.map +1 -0
  18. package/cjs/types.d.ts +58 -89
  19. package/cjs/types.d.ts.map +1 -1
  20. package/cjs/utils.d.ts +3 -0
  21. package/cjs/utils.d.ts.map +1 -0
  22. package/esm/cron-parser.d.ts +98 -0
  23. package/esm/cron-parser.d.ts.map +1 -0
  24. package/esm/cron-parser.js +193 -0
  25. package/esm/cron-parser.js.map +1 -0
  26. package/esm/index.d.ts +43 -5
  27. package/esm/index.d.ts.map +1 -1
  28. package/esm/index.js +1 -1
  29. package/esm/job.d.ts +332 -0
  30. package/esm/job.d.ts.map +1 -0
  31. package/esm/job.js +616 -0
  32. package/esm/job.js.map +1 -0
  33. package/esm/log-channel.d.ts +2 -2
  34. package/esm/logger.d.ts +1 -1
  35. package/esm/scheduler.d.ts +182 -0
  36. package/esm/scheduler.d.ts.map +1 -0
  37. package/esm/scheduler.js +316 -0
  38. package/esm/scheduler.js.map +1 -0
  39. package/esm/types.d.ts +58 -89
  40. package/esm/types.d.ts.map +1 -1
  41. package/esm/utils.d.ts +3 -0
  42. package/esm/utils.d.ts.map +1 -0
  43. package/package.json +1 -1
  44. package/cjs/channels/console-log.js +0 -47
  45. package/cjs/channels/console-log.js.map +0 -1
  46. package/cjs/channels/file-log.js +0 -272
  47. package/cjs/channels/file-log.js.map +0 -1
  48. package/cjs/channels/json-file-log.js +0 -102
  49. package/cjs/channels/json-file-log.js.map +0 -1
  50. package/cjs/log-channel.js +0 -88
  51. package/cjs/log-channel.js.map +0 -1
  52. package/cjs/logger.js +0 -112
  53. package/cjs/logger.js.map +0 -1
  54. package/cjs/utils/capture-unhandled-errors.js +0 -12
  55. package/cjs/utils/capture-unhandled-errors.js.map +0 -1
  56. package/cjs/utils/clear-message.js +0 -9
  57. package/cjs/utils/clear-message.js.map +0 -1
  58. package/esm/channels/console-log.js +0 -47
  59. package/esm/channels/console-log.js.map +0 -1
  60. package/esm/channels/file-log.js +0 -272
  61. package/esm/channels/file-log.js.map +0 -1
  62. package/esm/channels/json-file-log.js +0 -102
  63. package/esm/channels/json-file-log.js.map +0 -1
  64. package/esm/log-channel.js +0 -88
  65. package/esm/log-channel.js.map +0 -1
  66. package/esm/logger.js +0 -112
  67. package/esm/logger.js.map +0 -1
  68. package/esm/utils/capture-unhandled-errors.js +0 -12
  69. package/esm/utils/capture-unhandled-errors.js.map +0 -1
  70. package/esm/utils/clear-message.js +0 -9
  71. package/esm/utils/clear-message.js.map +0 -1
package/cjs/job.js ADDED
@@ -0,0 +1,616 @@
1
+ 'use strict';var dayjs=require('dayjs'),timezone=require('dayjs/plugin/timezone.js'),utc=require('dayjs/plugin/utc.js'),cronParser=require('./cron-parser.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var dayjs__default=/*#__PURE__*/_interopDefault(dayjs);var timezone__default=/*#__PURE__*/_interopDefault(timezone);var utc__default=/*#__PURE__*/_interopDefault(utc);// Enable timezone support
2
+ dayjs__default.default.extend(utc__default.default);
3
+ dayjs__default.default.extend(timezone__default.default);
4
+ /**
5
+ * Days of week mapping (lowercase for consistency with Day type)
6
+ */
7
+ const DAYS_OF_WEEK = [
8
+ "sunday",
9
+ "monday",
10
+ "tuesday",
11
+ "wednesday",
12
+ "thursday",
13
+ "friday",
14
+ "saturday",
15
+ ];
16
+ /**
17
+ * Job class represents a scheduled task with configurable timing and execution options.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const job = new Job("cleanup", async () => {
22
+ * await cleanupOldFiles();
23
+ * })
24
+ * .everyDay()
25
+ * .at("03:00")
26
+ * .inTimezone("America/New_York")
27
+ * .preventOverlap()
28
+ * .retry(3, 1000);
29
+ * ```
30
+ */
31
+ class Job {
32
+ name;
33
+ _callback;
34
+ // ─────────────────────────────────────────────────────────────────────────────
35
+ // Private Properties
36
+ // ─────────────────────────────────────────────────────────────────────────────
37
+ /**
38
+ * Interval configuration for scheduling
39
+ */
40
+ _intervals = {};
41
+ /**
42
+ * Last execution timestamp
43
+ */
44
+ _lastRun = null;
45
+ /**
46
+ * Whether the job is currently executing
47
+ */
48
+ _isRunning = false;
49
+ /**
50
+ * Skip execution if job is already running
51
+ */
52
+ _skipIfRunning = false;
53
+ /**
54
+ * Retry configuration
55
+ */
56
+ _retryConfig = null;
57
+ /**
58
+ * Timezone for scheduling (defaults to system timezone)
59
+ */
60
+ _timezone = "UTC";
61
+ /**
62
+ * Cron expression parser (mutually exclusive with interval config)
63
+ */
64
+ _cronParser = null;
65
+ /**
66
+ * Promise resolver for completion waiting
67
+ */
68
+ _completionResolver = null;
69
+ // ─────────────────────────────────────────────────────────────────────────────
70
+ // Public Properties
71
+ // ─────────────────────────────────────────────────────────────────────────────
72
+ /**
73
+ * Next scheduled execution time
74
+ */
75
+ nextRun = null;
76
+ // ─────────────────────────────────────────────────────────────────────────────
77
+ // Constructor
78
+ // ─────────────────────────────────────────────────────────────────────────────
79
+ /**
80
+ * Creates a new Job instance
81
+ *
82
+ * @param name - Unique identifier for the job
83
+ * @param callback - Function to execute when the job runs
84
+ */
85
+ constructor(name, _callback) {
86
+ this.name = name;
87
+ this._callback = _callback;
88
+ }
89
+ // ─────────────────────────────────────────────────────────────────────────────
90
+ // Public Getters
91
+ // ─────────────────────────────────────────────────────────────────────────────
92
+ /**
93
+ * Returns true if the job is currently executing
94
+ */
95
+ get isRunning() {
96
+ return this._isRunning;
97
+ }
98
+ /**
99
+ * Returns the last execution timestamp
100
+ */
101
+ get lastRun() {
102
+ return this._lastRun;
103
+ }
104
+ /**
105
+ * Returns the current interval configuration (readonly)
106
+ */
107
+ get intervals() {
108
+ return this._intervals;
109
+ }
110
+ // ─────────────────────────────────────────────────────────────────────────────
111
+ // Interval Configuration Methods (Fluent API)
112
+ // ─────────────────────────────────────────────────────────────────────────────
113
+ /**
114
+ * Set a custom interval for job execution
115
+ *
116
+ * @param value - Number of time units
117
+ * @param timeType - Type of time unit
118
+ * @returns this for chaining
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * job.every(5, "minute"); // Run every 5 minutes
123
+ * job.every(2, "hour"); // Run every 2 hours
124
+ * ```
125
+ */
126
+ every(value, timeType) {
127
+ this._intervals.every = { type: timeType, value };
128
+ this._determineNextRun();
129
+ return this;
130
+ }
131
+ /**
132
+ * Run job every second (use with caution - high frequency)
133
+ */
134
+ everySecond() {
135
+ return this.every(1, "second");
136
+ }
137
+ /**
138
+ * Run job every specified number of seconds
139
+ */
140
+ everySeconds(seconds) {
141
+ return this.every(seconds, "second");
142
+ }
143
+ /**
144
+ * Run job every minute
145
+ */
146
+ everyMinute() {
147
+ return this.every(1, "minute");
148
+ }
149
+ /**
150
+ * Run job every specified number of minutes
151
+ */
152
+ everyMinutes(minutes) {
153
+ return this.every(minutes, "minute");
154
+ }
155
+ /**
156
+ * Run job every hour
157
+ */
158
+ everyHour() {
159
+ return this.every(1, "hour");
160
+ }
161
+ /**
162
+ * Run job every specified number of hours
163
+ */
164
+ everyHours(hours) {
165
+ return this.every(hours, "hour");
166
+ }
167
+ /**
168
+ * Run job every day at midnight
169
+ */
170
+ everyDay() {
171
+ return this.every(1, "day");
172
+ }
173
+ /**
174
+ * Alias for everyDay()
175
+ */
176
+ daily() {
177
+ return this.everyDay();
178
+ }
179
+ /**
180
+ * Run job twice a day (every 12 hours)
181
+ */
182
+ twiceDaily() {
183
+ return this.every(12, "hour");
184
+ }
185
+ /**
186
+ * Run job every week
187
+ */
188
+ everyWeek() {
189
+ return this.every(1, "week");
190
+ }
191
+ /**
192
+ * Alias for everyWeek()
193
+ */
194
+ weekly() {
195
+ return this.everyWeek();
196
+ }
197
+ /**
198
+ * Run job every month
199
+ */
200
+ everyMonth() {
201
+ return this.every(1, "month");
202
+ }
203
+ /**
204
+ * Alias for everyMonth()
205
+ */
206
+ monthly() {
207
+ return this.everyMonth();
208
+ }
209
+ /**
210
+ * Run job every year
211
+ */
212
+ everyYear() {
213
+ return this.every(1, "year");
214
+ }
215
+ /**
216
+ * Alias for everyYear()
217
+ */
218
+ yearly() {
219
+ return this.everyYear();
220
+ }
221
+ /**
222
+ * Alias for everyMinute() - job runs continuously every minute
223
+ */
224
+ always() {
225
+ return this.everyMinute();
226
+ }
227
+ /**
228
+ * Schedule job using a cron expression
229
+ *
230
+ * Supports standard 5-field cron syntax:
231
+ * ```
232
+ * ┌───────────── minute (0-59)
233
+ * │ ┌───────────── hour (0-23)
234
+ * │ │ ┌───────────── day of month (1-31)
235
+ * │ │ │ ┌───────────── month (1-12)
236
+ * │ │ │ │ ┌───────────── day of week (0-6, Sunday = 0)
237
+ * │ │ │ │ │
238
+ * * * * * *
239
+ * ```
240
+ *
241
+ * Supports:
242
+ * - '*' - any value
243
+ * - '5' - specific value
244
+ * - '1,3,5' - list of values
245
+ * - '1-5' - range of values
246
+ * - 'x/5' - step values (every 5)
247
+ * - '1-10/2' - range with step
248
+ *
249
+ * @param expression - Standard 5-field cron expression
250
+ * @returns this for chaining
251
+ *
252
+ * @example
253
+ * ```typescript
254
+ * job.cron("0 9 * * 1-5"); // 9 AM weekdays
255
+ * job.cron("x/5 * * * *"); // Every 5 minutes
256
+ * job.cron("0 0 1 * *"); // First day of month at midnight
257
+ * job.cron("0 x/2 * * *"); // Every 2 hours
258
+ * ```
259
+ */
260
+ cron(expression) {
261
+ this._cronParser = new cronParser.CronParser(expression);
262
+ // Clear interval config since cron takes precedence
263
+ this._intervals = {};
264
+ this._determineNextRun();
265
+ return this;
266
+ }
267
+ /**
268
+ * Get the cron expression if one is set
269
+ */
270
+ get cronExpression() {
271
+ return this._cronParser?.expression ?? null;
272
+ }
273
+ // ─────────────────────────────────────────────────────────────────────────────
274
+ // Day & Time Configuration Methods
275
+ // ─────────────────────────────────────────────────────────────────────────────
276
+ /**
277
+ * Schedule job on a specific day
278
+ *
279
+ * @param day - Day of week (string) or day of month (number 1-31)
280
+ * @returns this for chaining
281
+ *
282
+ * @example
283
+ * ```typescript
284
+ * job.on("monday"); // Run on Mondays
285
+ * job.on(15); // Run on the 15th of each month
286
+ * ```
287
+ */
288
+ on(day) {
289
+ if (typeof day === "number" && (day < 1 || day > 31)) {
290
+ throw new Error("Invalid day of the month. Must be between 1 and 31.");
291
+ }
292
+ this._intervals.day = day;
293
+ this._determineNextRun();
294
+ return this;
295
+ }
296
+ /**
297
+ * Schedule job at a specific time
298
+ *
299
+ * @param time - Time in HH:mm or HH:mm:ss format
300
+ * @returns this for chaining
301
+ *
302
+ * @example
303
+ * ```typescript
304
+ * job.daily().at("09:00"); // Run daily at 9 AM
305
+ * job.weekly().at("14:30"); // Run weekly at 2:30 PM
306
+ * ```
307
+ */
308
+ at(time) {
309
+ // Validate time format
310
+ if (!/^\d{1,2}:\d{2}(:\d{2})?$/.test(time)) {
311
+ throw new Error("Invalid time format. Use HH:mm or HH:mm:ss.");
312
+ }
313
+ this._intervals.time = time;
314
+ this._determineNextRun();
315
+ return this;
316
+ }
317
+ /**
318
+ * Run task at the beginning of the specified time period
319
+ *
320
+ * @param type - Time type (day, month, year)
321
+ */
322
+ beginOf(type) {
323
+ const time = "00:00";
324
+ switch (type) {
325
+ case "day":
326
+ break;
327
+ case "month":
328
+ this.on(1);
329
+ break;
330
+ case "year":
331
+ this.on(1);
332
+ this.every(1, "year");
333
+ break;
334
+ default:
335
+ throw new Error(`Unsupported type for beginOf: ${type}`);
336
+ }
337
+ return this.at(time);
338
+ }
339
+ /**
340
+ * Run task at the end of the specified time period
341
+ *
342
+ * @param type - Time type (day, month, year)
343
+ */
344
+ endOf(type) {
345
+ const now = this._now();
346
+ const time = "23:59";
347
+ switch (type) {
348
+ case "day":
349
+ break;
350
+ case "month":
351
+ this.on(now.endOf("month").date());
352
+ break;
353
+ case "year":
354
+ this.on(31);
355
+ this.every(1, "year");
356
+ break;
357
+ default:
358
+ throw new Error(`Unsupported type for endOf: ${type}`);
359
+ }
360
+ return this.at(time);
361
+ }
362
+ // ─────────────────────────────────────────────────────────────────────────────
363
+ // Timezone Configuration
364
+ // ─────────────────────────────────────────────────────────────────────────────
365
+ /**
366
+ * Set the timezone for this job's scheduling
367
+ *
368
+ * @param tz - IANA timezone string (e.g., "America/New_York", "Europe/London")
369
+ * @returns this for chaining
370
+ *
371
+ * @example
372
+ * ```typescript
373
+ * job.daily().at("09:00").inTimezone("America/New_York");
374
+ * ```
375
+ */
376
+ inTimezone(tz) {
377
+ this._timezone = tz;
378
+ this._determineNextRun();
379
+ return this;
380
+ }
381
+ // ─────────────────────────────────────────────────────────────────────────────
382
+ // Execution Options
383
+ // ─────────────────────────────────────────────────────────────────────────────
384
+ /**
385
+ * Prevent overlapping executions of this job
386
+ *
387
+ * When enabled, if the job is already running when it's scheduled to run again,
388
+ * the new execution will be skipped.
389
+ *
390
+ * @param skip - Whether to skip if already running (default: true)
391
+ * @returns this for chaining
392
+ */
393
+ preventOverlap(skip = true) {
394
+ this._skipIfRunning = skip;
395
+ return this;
396
+ }
397
+ /**
398
+ * Configure automatic retry on failure
399
+ *
400
+ * @param maxRetries - Maximum number of retry attempts
401
+ * @param delay - Delay between retries in milliseconds
402
+ * @param backoffMultiplier - Optional multiplier for exponential backoff
403
+ * @returns this for chaining
404
+ *
405
+ * @example
406
+ * ```typescript
407
+ * job.retry(3, 1000); // Retry 3 times with 1s delay
408
+ * job.retry(5, 1000, 2); // Exponential backoff: 1s, 2s, 4s, 8s, 16s
409
+ * ```
410
+ */
411
+ retry(maxRetries, delay = 1000, backoffMultiplier) {
412
+ this._retryConfig = {
413
+ maxRetries,
414
+ delay,
415
+ backoffMultiplier,
416
+ };
417
+ return this;
418
+ }
419
+ // ─────────────────────────────────────────────────────────────────────────────
420
+ // Execution Control
421
+ // ─────────────────────────────────────────────────────────────────────────────
422
+ /**
423
+ * Terminate the job and clear all scheduling data
424
+ */
425
+ terminate() {
426
+ this._intervals = {};
427
+ this.nextRun = null;
428
+ this._lastRun = null;
429
+ this._isRunning = false;
430
+ return this;
431
+ }
432
+ /**
433
+ * Prepare the job by calculating the next run time
434
+ * Called by the scheduler when starting
435
+ */
436
+ prepare() {
437
+ this._determineNextRun();
438
+ }
439
+ /**
440
+ * Determine if the job should run now
441
+ *
442
+ * @returns true if the job should execute
443
+ */
444
+ shouldRun() {
445
+ // Skip if already running and overlap prevention is enabled
446
+ if (this._skipIfRunning && this._isRunning) {
447
+ return false;
448
+ }
449
+ return this.nextRun !== null && this._now().isAfter(this.nextRun);
450
+ }
451
+ /**
452
+ * Execute the job
453
+ *
454
+ * @returns Promise resolving to the job result
455
+ */
456
+ async run() {
457
+ const startTime = Date.now();
458
+ this._isRunning = true;
459
+ try {
460
+ const result = await this._executeWithRetry();
461
+ this._lastRun = this._now();
462
+ this._determineNextRun();
463
+ return {
464
+ success: true,
465
+ duration: Date.now() - startTime,
466
+ retries: result.retries || 0,
467
+ };
468
+ }
469
+ catch (error) {
470
+ return {
471
+ success: false,
472
+ duration: Date.now() - startTime,
473
+ error,
474
+ retries: this._retryConfig?.maxRetries ?? 0,
475
+ };
476
+ }
477
+ finally {
478
+ this._isRunning = false;
479
+ // Resolve any waiting completion promises
480
+ if (this._completionResolver) {
481
+ this._completionResolver();
482
+ this._completionResolver = null;
483
+ }
484
+ }
485
+ }
486
+ /**
487
+ * Wait for the job to complete
488
+ * Useful for graceful shutdown
489
+ *
490
+ * @returns Promise that resolves when the job completes
491
+ */
492
+ waitForCompletion() {
493
+ if (!this._isRunning) {
494
+ return Promise.resolve();
495
+ }
496
+ return new Promise((resolve) => {
497
+ this._completionResolver = resolve;
498
+ });
499
+ }
500
+ // ─────────────────────────────────────────────────────────────────────────────
501
+ // Private Methods
502
+ // ─────────────────────────────────────────────────────────────────────────────
503
+ /**
504
+ * Get current time, respecting timezone if set
505
+ */
506
+ _now() {
507
+ return this._timezone ? dayjs__default.default().tz(this._timezone) : dayjs__default.default();
508
+ }
509
+ /**
510
+ * Execute the callback with retry logic
511
+ */
512
+ async _executeWithRetry() {
513
+ let lastError;
514
+ let attempts = 0;
515
+ const maxAttempts = (this._retryConfig?.maxRetries ?? 0) + 1;
516
+ while (attempts < maxAttempts) {
517
+ try {
518
+ await this._callback(this);
519
+ return { retries: attempts };
520
+ }
521
+ catch (error) {
522
+ lastError = error;
523
+ attempts++;
524
+ if (attempts < maxAttempts && this._retryConfig) {
525
+ const delay = this._calculateRetryDelay(attempts);
526
+ await this._sleep(delay);
527
+ }
528
+ }
529
+ }
530
+ throw lastError;
531
+ }
532
+ /**
533
+ * Calculate retry delay with optional exponential backoff
534
+ */
535
+ _calculateRetryDelay(attempt) {
536
+ if (!this._retryConfig)
537
+ return 0;
538
+ const { delay, backoffMultiplier } = this._retryConfig;
539
+ if (backoffMultiplier) {
540
+ return delay * Math.pow(backoffMultiplier, attempt - 1);
541
+ }
542
+ return delay;
543
+ }
544
+ /**
545
+ * Sleep for specified milliseconds
546
+ */
547
+ _sleep(ms) {
548
+ return new Promise((resolve) => setTimeout(resolve, ms));
549
+ }
550
+ /**
551
+ * Calculate the next run time based on interval or cron configuration
552
+ */
553
+ _determineNextRun() {
554
+ // If using cron expression, delegate to cron parser
555
+ if (this._cronParser) {
556
+ const now = this._now();
557
+ this.nextRun = this._cronParser.nextRun(now);
558
+ return;
559
+ }
560
+ // Otherwise use interval-based scheduling
561
+ let date = this._lastRun ? this._lastRun.add(1, "second") : this._now();
562
+ // Apply interval
563
+ if (this._intervals.every?.value && this._intervals.every?.type) {
564
+ date = date.add(this._intervals.every.value, this._intervals.every.type);
565
+ }
566
+ // Apply day constraint
567
+ if (this._intervals.day !== undefined) {
568
+ if (typeof this._intervals.day === "number") {
569
+ date = date.date(this._intervals.day);
570
+ }
571
+ else {
572
+ const targetDay = DAYS_OF_WEEK.indexOf(this._intervals.day);
573
+ if (targetDay !== -1) {
574
+ date = date.day(targetDay);
575
+ }
576
+ }
577
+ }
578
+ // Apply time constraint
579
+ if (this._intervals.time) {
580
+ const parts = this._intervals.time.split(":").map(Number);
581
+ const [hour, minute, second = 0] = parts;
582
+ date = date.hour(hour).minute(minute).second(second).millisecond(0);
583
+ }
584
+ // Ensure the next run is in the future
585
+ while (date.isBefore(this._now())) {
586
+ if (this._intervals.every?.value && this._intervals.every?.type) {
587
+ date = date.add(this._intervals.every.value, this._intervals.every.type);
588
+ }
589
+ else {
590
+ // Default to adding one day if there's no specific interval defined
591
+ date = date.add(1, "day");
592
+ }
593
+ }
594
+ this.nextRun = date;
595
+ }
596
+ }
597
+ // ─────────────────────────────────────────────────────────────────────────────
598
+ // Factory Function
599
+ // ─────────────────────────────────────────────────────────────────────────────
600
+ /**
601
+ * Factory function to create a new Job instance
602
+ *
603
+ * @param name - Unique identifier for the job
604
+ * @param callback - Function to execute when the job runs
605
+ * @returns New Job instance
606
+ *
607
+ * @example
608
+ * ```typescript
609
+ * const cleanupJob = job("cleanup", async () => {
610
+ * await db.deleteExpiredTokens();
611
+ * }).daily().at("03:00");
612
+ * ```
613
+ */
614
+ function job(name, callback) {
615
+ return new Job(name, callback);
616
+ }exports.Job=Job;exports.job=job;//# sourceMappingURL=job.js.map
package/cjs/job.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.js","sources":["../src/job.ts"],"sourcesContent":[null],"names":["dayjs","utc","timezone","CronParser"],"mappings":"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"}
@@ -52,8 +52,8 @@ export declare abstract class LogChannel<Options extends BasicLogConfigurations
52
52
  * Get date and time formats
53
53
  */
54
54
  protected getDateAndTimeFormat(): {
55
- date: string;
56
- time: string;
55
+ date: any;
56
+ time: any;
57
57
  };
58
58
  /**
59
59
  * get basic configurations with the given ones
package/cjs/logger.d.ts CHANGED
@@ -51,7 +51,7 @@ export declare class Logger {
51
51
  /**
52
52
  * Get channel by name
53
53
  */
54
- channel(name: string): LogChannel<import("./types").BasicLogConfigurations>;
54
+ channel(name: string): LogChannel<BasicLogConfigurations>;
55
55
  }
56
56
  export declare const logger: Logger;
57
57
  export declare const log: Log;