eternal-timer 3.0.0 → 4.1.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 +145 -35
- package/dist/cjs/EventEmitter.d.ts +12 -0
- package/dist/cjs/EventEmitter.d.ts.map +1 -0
- package/dist/cjs/EventEmitter.js +50 -0
- package/dist/cjs/EventEmitter.js.map +1 -0
- package/dist/cjs/TimersManager/JSONLTimersManager.d.ts.map +1 -1
- package/dist/cjs/TimersManager/JSONLTimersManager.js +6 -3
- package/dist/cjs/TimersManager/JSONLTimersManager.js.map +1 -1
- package/dist/cjs/TimersManager/TimersManager.d.ts +30 -29
- package/dist/cjs/TimersManager/TimersManager.d.ts.map +1 -1
- package/dist/cjs/TimersManager/TimersManager.js +58 -54
- package/dist/cjs/TimersManager/TimersManager.js.map +1 -1
- package/dist/cjs/TimersStore/JSONLTimersStore.d.ts.map +1 -1
- package/dist/cjs/TimersStore/JSONLTimersStore.js +2 -1
- package/dist/cjs/TimersStore/JSONLTimersStore.js.map +1 -1
- package/dist/cjs/TimersStore/PlainTextTimersStore.d.ts.map +1 -1
- package/dist/cjs/TimersStore/PlainTextTimersStore.js +2 -1
- package/dist/cjs/TimersStore/PlainTextTimersStore.js.map +1 -1
- package/dist/cjs/TimersStore/TimersStore.d.ts.map +1 -1
- package/dist/cjs/TimersStore/TimersStore.js +4 -3
- package/dist/cjs/TimersStore/TimersStore.js.map +1 -1
- package/dist/cjs/throwMessage.d.ts +12 -0
- package/dist/cjs/throwMessage.d.ts.map +1 -0
- package/dist/cjs/throwMessage.js +15 -0
- package/dist/cjs/throwMessage.js.map +1 -0
- package/dist/cjs/types.d.ts +14 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/EventEmitter.d.ts +12 -0
- package/dist/esm/EventEmitter.d.ts.map +1 -0
- package/dist/esm/EventEmitter.js +46 -0
- package/dist/esm/EventEmitter.js.map +1 -0
- package/dist/esm/TimersManager/JSONLTimersManager.d.ts.map +1 -1
- package/dist/esm/TimersManager/JSONLTimersManager.js +6 -3
- package/dist/esm/TimersManager/JSONLTimersManager.js.map +1 -1
- package/dist/esm/TimersManager/TimersManager.d.ts +30 -29
- package/dist/esm/TimersManager/TimersManager.d.ts.map +1 -1
- package/dist/esm/TimersManager/TimersManager.js +58 -54
- package/dist/esm/TimersManager/TimersManager.js.map +1 -1
- package/dist/esm/TimersStore/JSONLTimersStore.d.ts.map +1 -1
- package/dist/esm/TimersStore/JSONLTimersStore.js +2 -1
- package/dist/esm/TimersStore/JSONLTimersStore.js.map +1 -1
- package/dist/esm/TimersStore/PlainTextTimersStore.d.ts.map +1 -1
- package/dist/esm/TimersStore/PlainTextTimersStore.js +2 -1
- package/dist/esm/TimersStore/PlainTextTimersStore.js.map +1 -1
- package/dist/esm/TimersStore/TimersStore.d.ts.map +1 -1
- package/dist/esm/TimersStore/TimersStore.js +4 -3
- package/dist/esm/TimersStore/TimersStore.js.map +1 -1
- package/dist/esm/throwMessage.d.ts +12 -0
- package/dist/esm/throwMessage.d.ts.map +1 -0
- package/dist/esm/throwMessage.js +12 -0
- package/dist/esm/throwMessage.js.map +1 -0
- package/dist/esm/types.d.ts +14 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +2 -5
- package/dist/cjs/Log.d.ts +0 -8
- package/dist/cjs/Log.d.ts.map +0 -1
- package/dist/cjs/Log.js +0 -61
- package/dist/cjs/Log.js.map +0 -1
- package/dist/esm/Log.d.ts +0 -8
- package/dist/esm/Log.d.ts.map +0 -1
- package/dist/esm/Log.js +0 -24
- package/dist/esm/Log.js.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CreateTimerOptions, StorageType, Timer } from "../types.js";
|
|
2
2
|
import { TimersStore } from "../TimersStore/TimersStore.js";
|
|
3
|
+
import { EventEmitter } from "../EventEmitter.js";
|
|
3
4
|
/**
|
|
4
5
|
* TimersManager
|
|
5
6
|
* @description
|
|
@@ -9,9 +10,9 @@ import { TimersStore } from "../TimersStore/TimersStore.js";
|
|
|
9
10
|
* - Timers are persisted in a file
|
|
10
11
|
* - Expired timers are detected by polling
|
|
11
12
|
*/
|
|
12
|
-
export declare abstract class TimersManager<T extends StorageType, Extra extends object> {
|
|
13
|
+
export declare abstract class TimersManager<T extends StorageType, Extra extends object> extends EventEmitter<T, Extra> {
|
|
13
14
|
protected readonly timerfiledir: string;
|
|
14
|
-
|
|
15
|
+
protected checkLock: boolean;
|
|
15
16
|
protected TimersStore: TimersStore<T, Extra> | null;
|
|
16
17
|
private queue;
|
|
17
18
|
protected runExclusive<T>(fn: () => Promise<T>): Promise<T>;
|
|
@@ -21,23 +22,27 @@ export declare abstract class TimersManager<T extends StorageType, Extra extends
|
|
|
21
22
|
/**
|
|
22
23
|
* constructor
|
|
23
24
|
* @description Initializes the TimersManager instance. If the timer file does not exist, an empty file is created.
|
|
24
|
-
* @param {string} [
|
|
25
|
+
* @param {string} [timerfile] (string, optional) Configuration timer file path and it is treated as the timer file path.
|
|
25
26
|
* @throws If file access or creation fails
|
|
26
27
|
* @example
|
|
27
28
|
* const manager = new TimersManager(); // Uses default timer file path
|
|
28
29
|
* const manager = new TimersManager("/path/to/timers.txt"); // Uses specified timer file path
|
|
29
30
|
*/
|
|
30
|
-
constructor(
|
|
31
|
+
constructor(timerfile?: string);
|
|
31
32
|
/**
|
|
32
33
|
* createTimer
|
|
33
34
|
* @description Creates a new timer.
|
|
34
|
-
* @param {
|
|
35
|
+
* @param {CreateTimerOptions<T, Extra>} options Timer duration in milliseconds for PlainText or an object with length and extra for JSONL.
|
|
35
36
|
* @returns Promise that resolves to the timer ID (UUID)
|
|
36
|
-
* @throws If length is invalid(e.g. length < 0) or file operation fails
|
|
37
|
+
* @throws If length is invalid (e.g. length < 0) or file operation fails
|
|
37
38
|
* @example
|
|
38
|
-
*
|
|
39
|
-
* const
|
|
40
|
-
*
|
|
39
|
+
* // For PlainTextTimersManager
|
|
40
|
+
* const manager = new PlainTextTimersManager();
|
|
41
|
+
* const newTimerId = await manager.createTimer(5000); // Create a 5-second timer
|
|
42
|
+
*
|
|
43
|
+
* // For JSONLTimersManager
|
|
44
|
+
* const jsonlManager = new JSONLTimersManager<{ title: string }>();
|
|
45
|
+
* const jsonlTimerId = await jsonlManager.createTimer({ length: 10000, extra: { title: "My JSONL Timer" } }); // Create a 10-second timer with extra data
|
|
41
46
|
*/
|
|
42
47
|
createTimer(options: CreateTimerOptions<T, Extra>): Promise<string>;
|
|
43
48
|
/**
|
|
@@ -51,29 +56,25 @@ export declare abstract class TimersManager<T extends StorageType, Extra extends
|
|
|
51
56
|
*/
|
|
52
57
|
removeTimer(id: string): Promise<void>;
|
|
53
58
|
/**
|
|
54
|
-
*
|
|
55
|
-
* @description Starts
|
|
56
|
-
*
|
|
57
|
-
* The
|
|
58
|
-
* @
|
|
59
|
-
* @param {number} [interval=200] (number, optional): Check interval in milliseconds (default: 200ms)
|
|
60
|
-
* @throws If file operation fails
|
|
61
|
-
* @returns {Promise<NodeJS.Timeout>} intervalId interval id of checkTimers
|
|
59
|
+
* checkStart
|
|
60
|
+
* @description Starts the timer checking loop. This method should be called once after creating an instance of TimersManager to detect expired timers.
|
|
61
|
+
* @param {number} [interval=200] Polling interval in milliseconds (default: 200ms)
|
|
62
|
+
* @returns The interval ID which can be used to stop the loop with clearInterval
|
|
63
|
+
* @throws If file operation fails during checking
|
|
62
64
|
* @example
|
|
63
|
-
* const
|
|
64
|
-
*
|
|
65
|
-
* });
|
|
65
|
+
* const manager = new TimersManager();
|
|
66
|
+
* manager.checkStart(1000); // Check for expired timers every 1 second
|
|
66
67
|
*/
|
|
67
|
-
|
|
68
|
+
checkStart(interval?: number): Promise<NodeJS.Timeout>;
|
|
68
69
|
/**
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
70
|
+
* showTimers
|
|
71
|
+
* @description Retrieves all active timers.
|
|
72
|
+
* @returns Array of `Timer` objects
|
|
73
|
+
* @throws If file operation fails
|
|
74
|
+
* @example
|
|
75
|
+
* const timers = await manager.showTimers();
|
|
76
|
+
* console.log(JSON.stringify(timers))
|
|
77
|
+
*/
|
|
77
78
|
showTimers(): Promise<Timer<T, Extra>[]>;
|
|
78
79
|
/**
|
|
79
80
|
* adjustRemainingTime
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimersManager.d.ts","sourceRoot":"","sources":["../../../src/TimersManager/TimersManager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"TimersManager.d.ts","sourceRoot":"","sources":["../../../src/TimersManager/TimersManager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;;;;;;;GAQG;AACH,8BAAsB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,SAAS,MAAM,CAAE,SAAQ,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;IAC9G,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IACxC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAS;IAErC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAQ;IAE3D,OAAO,CAAC,KAAK,CAAoC;IACjD,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC;IAM9C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,MAAM;IAC/C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAE3B;;;;;;;;QAQO;gBAEN,SAAS,CAAC,EAAE,MAAM;IAenB;;;;;;;;;;;;;;OAcM;IACO,WAAW,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAgChF;;;;;;;;OAQM;IACO,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBnD;;;;;;;;;OASG;IACU,UAAU,CACtB,QAAQ,GAAE,MAAY,GACpB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IAqD1B;;;;;;;;UAQG;IACU,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IAQrD;;;;;;;QAOO;IACM,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAwB1E"}
|
|
@@ -3,7 +3,8 @@ import fs from "fs";
|
|
|
3
3
|
import { v4 as uuidv4 } from "uuid";
|
|
4
4
|
import searchRoot from "../searchRoot.js";
|
|
5
5
|
import { TimersStore } from "../TimersStore/TimersStore.js";
|
|
6
|
-
import {
|
|
6
|
+
import { EventEmitter } from "../EventEmitter.js";
|
|
7
|
+
import { throwMessage } from "../throwMessage.js";
|
|
7
8
|
/**
|
|
8
9
|
* TimersManager
|
|
9
10
|
* @description
|
|
@@ -13,7 +14,7 @@ import { Log } from "../Log.js";
|
|
|
13
14
|
* - Timers are persisted in a file
|
|
14
15
|
* - Expired timers are detected by polling
|
|
15
16
|
*/
|
|
16
|
-
export class TimersManager {
|
|
17
|
+
export class TimersManager extends EventEmitter {
|
|
17
18
|
timerfiledir;
|
|
18
19
|
checkLock = false;
|
|
19
20
|
TimersStore = null;
|
|
@@ -26,17 +27,18 @@ export class TimersManager {
|
|
|
26
27
|
/**
|
|
27
28
|
* constructor
|
|
28
29
|
* @description Initializes the TimersManager instance. If the timer file does not exist, an empty file is created.
|
|
29
|
-
* @param {string} [
|
|
30
|
+
* @param {string} [timerfile] (string, optional) Configuration timer file path and it is treated as the timer file path.
|
|
30
31
|
* @throws If file access or creation fails
|
|
31
32
|
* @example
|
|
32
33
|
* const manager = new TimersManager(); // Uses default timer file path
|
|
33
34
|
* const manager = new TimersManager("/path/to/timers.txt"); // Uses specified timer file path
|
|
34
35
|
*/
|
|
35
|
-
constructor(
|
|
36
|
+
constructor(timerfile) {
|
|
37
|
+
super();
|
|
36
38
|
const rootDir = searchRoot();
|
|
37
|
-
this.timerfiledir = path.resolve(rootDir,
|
|
39
|
+
this.timerfiledir = path.resolve(rootDir, timerfile ?? this.getDefaultFilename());
|
|
38
40
|
if (!this.timerfiledir.startsWith(rootDir)) {
|
|
39
|
-
throw new Error(
|
|
41
|
+
throw new Error(throwMessage.FilePathinvalid);
|
|
40
42
|
}
|
|
41
43
|
try {
|
|
42
44
|
fs.accessSync(this.timerfiledir);
|
|
@@ -48,23 +50,27 @@ export class TimersManager {
|
|
|
48
50
|
/**
|
|
49
51
|
* createTimer
|
|
50
52
|
* @description Creates a new timer.
|
|
51
|
-
* @param {
|
|
53
|
+
* @param {CreateTimerOptions<T, Extra>} options Timer duration in milliseconds for PlainText or an object with length and extra for JSONL.
|
|
52
54
|
* @returns Promise that resolves to the timer ID (UUID)
|
|
53
|
-
* @throws If length is invalid(e.g. length < 0) or file operation fails
|
|
55
|
+
* @throws If length is invalid (e.g. length < 0) or file operation fails
|
|
54
56
|
* @example
|
|
55
|
-
*
|
|
56
|
-
* const
|
|
57
|
-
*
|
|
57
|
+
* // For PlainTextTimersManager
|
|
58
|
+
* const manager = new PlainTextTimersManager();
|
|
59
|
+
* const newTimerId = await manager.createTimer(5000); // Create a 5-second timer
|
|
60
|
+
*
|
|
61
|
+
* // For JSONLTimersManager
|
|
62
|
+
* const jsonlManager = new JSONLTimersManager<{ title: string }>();
|
|
63
|
+
* const jsonlTimerId = await jsonlManager.createTimer({ length: 10000, extra: { title: "My JSONL Timer" } }); // Create a 10-second timer with extra data
|
|
58
64
|
*/
|
|
59
65
|
async createTimer(options) {
|
|
60
66
|
return this.runExclusive(async () => {
|
|
61
67
|
this.TimersStore ??= await this.createTimersStore();
|
|
62
68
|
if (this.type === "JSONL" && typeof options === "number") {
|
|
63
|
-
throw new Error(
|
|
69
|
+
throw new Error(throwMessage.NoExtra);
|
|
64
70
|
}
|
|
65
71
|
let length = typeof options === "object" ? options.length : options;
|
|
66
72
|
if (length < 0)
|
|
67
|
-
throw new Error(
|
|
73
|
+
throw new Error(throwMessage.InvalidLength(length));
|
|
68
74
|
length = Math.trunc(length);
|
|
69
75
|
const id = uuidv4();
|
|
70
76
|
const now = Date.now();
|
|
@@ -78,6 +84,7 @@ export class TimersManager {
|
|
|
78
84
|
: {}),
|
|
79
85
|
};
|
|
80
86
|
await this.TimersStore.appendTimer(newTimerData);
|
|
87
|
+
await this.emit("created", newTimerData);
|
|
81
88
|
return id;
|
|
82
89
|
});
|
|
83
90
|
}
|
|
@@ -95,37 +102,35 @@ export class TimersManager {
|
|
|
95
102
|
this.TimersStore ??= await this.createTimersStore();
|
|
96
103
|
const timers = await this.TimersStore.loadTimers();
|
|
97
104
|
const index = timers.findIndex(t => t.id === id);
|
|
98
|
-
if (index === -1) {
|
|
99
|
-
throw new Error(
|
|
105
|
+
if (index === -1 || timers[index] === undefined) {
|
|
106
|
+
throw new Error(throwMessage.NotFound(id));
|
|
100
107
|
}
|
|
101
108
|
timers.splice(index, 1);
|
|
102
109
|
await this.TimersStore.saveTimers(timers);
|
|
110
|
+
await this.emit("removed", timers[index]);
|
|
103
111
|
return;
|
|
104
112
|
});
|
|
105
113
|
}
|
|
106
114
|
/**
|
|
107
|
-
*
|
|
108
|
-
* @description Starts
|
|
109
|
-
*
|
|
110
|
-
* The
|
|
111
|
-
* @
|
|
112
|
-
* @param {number} [interval=200] (number, optional): Check interval in milliseconds (default: 200ms)
|
|
113
|
-
* @throws If file operation fails
|
|
114
|
-
* @returns {Promise<NodeJS.Timeout>} intervalId interval id of checkTimers
|
|
115
|
+
* checkStart
|
|
116
|
+
* @description Starts the timer checking loop. This method should be called once after creating an instance of TimersManager to detect expired timers.
|
|
117
|
+
* @param {number} [interval=200] Polling interval in milliseconds (default: 200ms)
|
|
118
|
+
* @returns The interval ID which can be used to stop the loop with clearInterval
|
|
119
|
+
* @throws If file operation fails during checking
|
|
115
120
|
* @example
|
|
116
|
-
* const
|
|
117
|
-
*
|
|
118
|
-
* });
|
|
121
|
+
* const manager = new TimersManager();
|
|
122
|
+
* manager.checkStart(1000); // Check for expired timers every 1 second
|
|
119
123
|
*/
|
|
120
|
-
async
|
|
124
|
+
async checkStart(interval = 200) {
|
|
121
125
|
this.TimersStore ??= await this.createTimersStore();
|
|
122
126
|
const loop = async () => {
|
|
123
|
-
if (this.checkLock)
|
|
127
|
+
if (this.checkLock)
|
|
124
128
|
return;
|
|
125
|
-
}
|
|
126
129
|
this.checkLock = true;
|
|
130
|
+
let expiredTimers = [];
|
|
127
131
|
try {
|
|
128
|
-
|
|
132
|
+
expiredTimers = await this.runExclusive(async () => {
|
|
133
|
+
await this.emit("interval", void 0);
|
|
129
134
|
const allTimers = await this.TimersStore.loadTimers();
|
|
130
135
|
const now = Date.now();
|
|
131
136
|
const expired = [];
|
|
@@ -143,35 +148,33 @@ export class TimersManager {
|
|
|
143
148
|
}
|
|
144
149
|
return expired;
|
|
145
150
|
});
|
|
146
|
-
for (const timerData of expiredTimers) {
|
|
147
|
-
try {
|
|
148
|
-
await callback(timerData);
|
|
149
|
-
}
|
|
150
|
-
catch (e) {
|
|
151
|
-
await Log.ensureLogger();
|
|
152
|
-
Log.loggerInstance?.error(`Error in callback of checkTimers: ${e}`);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
151
|
}
|
|
156
152
|
catch (e) {
|
|
157
|
-
|
|
158
|
-
Log.loggerInstance?.error(`Error when checking timer: ${e}`);
|
|
159
|
-
}
|
|
160
|
-
finally {
|
|
153
|
+
this.emit("errored", e instanceof Error ? e : new Error(String(e))).catch(() => { });
|
|
161
154
|
this.checkLock = false;
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
for (const timer of expiredTimers) {
|
|
158
|
+
try {
|
|
159
|
+
await this.emit("expired", timer);
|
|
160
|
+
}
|
|
161
|
+
catch (e) {
|
|
162
|
+
await this.emit("errored", e instanceof Error ? e : new Error(String(e)));
|
|
163
|
+
}
|
|
162
164
|
}
|
|
165
|
+
this.checkLock = false;
|
|
163
166
|
};
|
|
164
167
|
return setInterval(loop, interval);
|
|
165
168
|
}
|
|
166
169
|
/**
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
170
|
+
* showTimers
|
|
171
|
+
* @description Retrieves all active timers.
|
|
172
|
+
* @returns Array of `Timer` objects
|
|
173
|
+
* @throws If file operation fails
|
|
174
|
+
* @example
|
|
175
|
+
* const timers = await manager.showTimers();
|
|
176
|
+
* console.log(JSON.stringify(timers))
|
|
177
|
+
*/
|
|
175
178
|
async showTimers() {
|
|
176
179
|
return this.runExclusive(async () => {
|
|
177
180
|
this.TimersStore ??= await this.createTimersStore();
|
|
@@ -192,16 +195,17 @@ export class TimersManager {
|
|
|
192
195
|
this.TimersStore ??= await this.createTimersStore();
|
|
193
196
|
const timers = await this.TimersStore.loadTimers();
|
|
194
197
|
const index = timers.findIndex(t => t.id === id);
|
|
195
|
-
if (index === -1) {
|
|
196
|
-
throw new Error(
|
|
198
|
+
if (index === -1 || timers[index] === undefined) {
|
|
199
|
+
throw new Error(throwMessage.NotFound(id));
|
|
197
200
|
}
|
|
201
|
+
const old = { ...timers[index] };
|
|
198
202
|
const now = Date.now();
|
|
199
203
|
const timer = timers[index];
|
|
200
204
|
const remaining = Math.max(0, timer.stop - now);
|
|
201
205
|
const newRemaining = Math.max(0, remaining + delay);
|
|
202
206
|
timer.stop = now + newRemaining;
|
|
203
|
-
timers[index] = timer;
|
|
204
207
|
await this.TimersStore.saveTimers(timers);
|
|
208
|
+
await this.emit("updated", { old, new: timer });
|
|
205
209
|
return;
|
|
206
210
|
});
|
|
207
211
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimersManager.js","sourceRoot":"","sources":["../../../src/TimersManager/TimersManager.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TimersManager.js","sourceRoot":"","sources":["../../../src/TimersManager/TimersManager.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,OAAgB,aAA2D,SAAQ,YAAsB;IAC3F,YAAY,CAAS;IAC9B,SAAS,GAAY,KAAK,CAAC;IAE3B,WAAW,GAAiC,IAAI,CAAC;IAEnD,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACvC,YAAY,CAAI,EAAoB;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC;IACV,CAAC;IAMD;;;;;;;;QAQO;IACP,YACC,SAAkB;QAElB,KAAK,EAAE,CAAC;QACR,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC;YACJ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACR,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED;;;;;;;;;;;;;;OAcM;IACC,KAAK,CAAC,WAAW,CAAC,OAAqC;QAC7D,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEpD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,MAAM,GAAW,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5E,IAAI,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YAEpE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE5B,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAE3C,MAAM,YAAY,GAAoB;gBACrC,EAAE;gBACF,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,QAAQ;gBACd,GAAG,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;oBACxE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;oBAC1B,CAAC,CAAC,EAAE,CAAC;aACa,CAAC;YAErB,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQM;IACC,KAAK,CAAC,WAAW,CAAC,EAAU;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAEnD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACjD,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1C,OAAO;QACR,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,UAAU,CACtB,WAAmB,GAAG;QAGtB,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEpD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACvB,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,IAAI,aAAa,GAAsB,EAAE,CAAC;YAE1C,IAAI,CAAC;gBACJ,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;oBAClD,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;oBACpC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAY,CAAC,UAAU,EAAE,CAAC;oBACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAEvB,MAAM,OAAO,GAAsB,EAAE,CAAC;oBACtC,MAAM,MAAM,GAAsB,EAAE,CAAC;oBAErC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;wBAC/B,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;4BACvB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrB,CAAC;6BAAM,CAAC;4BACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACpB,CAAC;oBACF,CAAC;oBAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,MAAM,IAAI,CAAC,WAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC5C,CAAC;oBAED,OAAO,OAAO,CAAC;gBAChB,CAAC,CAAC,CAAC;YAEJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACpF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,OAAO;YACR,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACJ,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3E,CAAC;YACF,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC;QAEF,OAAO,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;UAQG;IACI,KAAK,CAAC,UAAU;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YACvD,OAAO,UAAU,CAAC;QACnB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;QAOO;IACA,KAAK,CAAC,mBAAmB,CAAC,EAAU,EAAE,KAAa;QACzD,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAEnD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACjD,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;YAEpD,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,YAAY,CAAC;YAChC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAChD,OAAO;QACR,CAAC,CAAC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONLTimersStore.d.ts","sourceRoot":"","sources":["../../../src/TimersStore/JSONLTimersStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"JSONLTimersStore.d.ts","sourceRoot":"","sources":["../../../src/TimersStore/JSONLTimersStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,qBAAa,gBAAgB,CAAC,KAAK,SAAS,MAAM,CAAE,SAAQ,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC;gBAGrF,SAAS,EAAE,MAAM;IAKlB;;;;;;OAMG;cACsB,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7E,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,MAAM;IAO1D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;CAMlE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { validate } from "uuid";
|
|
2
2
|
import { TimersStore } from "./TimersStore.js";
|
|
3
|
+
import { throwMessage } from "../throwMessage.js";
|
|
3
4
|
export class JSONLTimersStore extends TimersStore {
|
|
4
5
|
constructor(timerfile) {
|
|
5
6
|
super(timerfile);
|
|
@@ -13,7 +14,7 @@ export class JSONLTimersStore extends TimersStore {
|
|
|
13
14
|
*/
|
|
14
15
|
async checkTimerfileSyntax(timers) {
|
|
15
16
|
const throwing = () => {
|
|
16
|
-
throw new Error(
|
|
17
|
+
throw new Error(throwMessage.InvalidSyntax);
|
|
17
18
|
};
|
|
18
19
|
for (const timer of timers) {
|
|
19
20
|
if (Object.keys(timer).length !== 4)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONLTimersStore.js","sourceRoot":"","sources":["../../../src/TimersStore/JSONLTimersStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"JSONLTimersStore.js","sourceRoot":"","sources":["../../../src/TimersStore/JSONLTimersStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,gBAAuC,SAAQ,WAA2B;IAEtF,YACC,SAAiB;QAEjB,KAAK,CAAC,SAAS,CAAC,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACgB,KAAK,CAAC,oBAAoB,CAAC,MAA+B;QAC5E,MAAM,QAAQ,GAAG,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,QAAQ,EAAE,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,QAAQ,EAAE,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;gBAAE,QAAQ,EAAE,CAAC;YAChE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,QAAQ,EAAE,CAAC;YAC9D,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI;gBAAE,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;gBAAE,QAAQ,EAAE,CAAC;QACjE,CAAC;IACF,CAAC;IAEe,iBAAiB,CAAC,MAA+B;QAChE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEe,WAAW,CAAC,IAAY;QACvC,OAAO,IAAI;aACT,KAAK,CAAC,OAAO,CAAC;aACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAA0B,CAAC,CAAC;IAC5D,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlainTextTimersStore.d.ts","sourceRoot":"","sources":["../../../src/TimersStore/PlainTextTimersStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"PlainTextTimersStore.d.ts","sourceRoot":"","sources":["../../../src/TimersStore/PlainTextTimersStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,qBAAa,oBAAqB,SAAQ,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC;gBAGxE,SAAS,EAAE,MAAM;IAKlB;;;;;;OAMM;cACmB,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAclF,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM;IAO/D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;CAavE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { validate } from "uuid";
|
|
2
2
|
import { TimersStore } from "./TimersStore.js";
|
|
3
|
+
import { throwMessage } from "../throwMessage.js";
|
|
3
4
|
export class PlainTextTimersStore extends TimersStore {
|
|
4
5
|
constructor(timerfile) {
|
|
5
6
|
super(timerfile);
|
|
@@ -13,7 +14,7 @@ export class PlainTextTimersStore extends TimersStore {
|
|
|
13
14
|
*/
|
|
14
15
|
async checkTimerfileSyntax(timers) {
|
|
15
16
|
const throwing = () => {
|
|
16
|
-
throw new Error(
|
|
17
|
+
throw new Error(throwMessage.InvalidSyntax);
|
|
17
18
|
};
|
|
18
19
|
for (const timer of timers) {
|
|
19
20
|
if (Object.keys(timer).length !== 3)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlainTextTimersStore.js","sourceRoot":"","sources":["../../../src/TimersStore/PlainTextTimersStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"PlainTextTimersStore.js","sourceRoot":"","sources":["../../../src/TimersStore/PlainTextTimersStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,oBAAqB,SAAQ,WAAgC;IAEzE,YACC,SAAiB;QAEjB,KAAK,CAAC,SAAS,CAAC,CAAC;IAClB,CAAC;IAED;;;;;;OAMM;IACa,KAAK,CAAC,oBAAoB,CAAC,MAAoC;QACjF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,QAAQ,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAAE,QAAQ,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAAE,QAAQ,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,QAAQ,EAAE,CAAC;QAC1D,CAAC;QACD,OAAO;IACR,CAAC;IAEe,iBAAiB,CAAC,MAAoC;QACrE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnF,CAAC;IAEe,WAAW,CAAC,IAAY;QACvC,OAAO,IAAI;aACT,KAAK,CAAC,OAAO,CAAC;aACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,OAAO;gBACN,EAAE,EAAE,EAAG;gBACP,KAAK,EAAE,MAAM,CAAC,QAAS,CAAC;gBACxB,IAAI,EAAE,MAAM,CAAC,OAAQ,CAAC;aACQ,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimersStore.d.ts","sourceRoot":"","sources":["../../../src/TimersStore/TimersStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"TimersStore.d.ts","sourceRoot":"","sources":["../../../src/TimersStore/TimersStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGtD,8BAAsB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,SAAS,MAAM;IAC5E,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAErC,SAAS,aACR,SAAS,EAAE,MAAM;IAKL,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IAWxC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpD,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5D,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;aACjE,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,MAAM;aACvD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;CAC5D"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import fs from "fs/promises";
|
|
2
|
+
import { throwMessage } from "../throwMessage.js";
|
|
2
3
|
export class TimersStore {
|
|
3
4
|
timerfile;
|
|
4
5
|
constructor(timerfile) {
|
|
@@ -12,7 +13,7 @@ export class TimersStore {
|
|
|
12
13
|
return timersData;
|
|
13
14
|
}
|
|
14
15
|
catch (e) {
|
|
15
|
-
throw new Error(
|
|
16
|
+
throw new Error(throwMessage.LoadTimerData, { cause: e });
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
async saveTimers(timers) {
|
|
@@ -21,7 +22,7 @@ export class TimersStore {
|
|
|
21
22
|
await fs.writeFile(this.timerfile, data, "utf-8");
|
|
22
23
|
}
|
|
23
24
|
catch (e) {
|
|
24
|
-
throw new Error(
|
|
25
|
+
throw new Error(throwMessage.SaveTimerData, { cause: e });
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
async appendTimer(timer) {
|
|
@@ -30,7 +31,7 @@ export class TimersStore {
|
|
|
30
31
|
return;
|
|
31
32
|
}
|
|
32
33
|
catch (e) {
|
|
33
|
-
throw new Error(
|
|
34
|
+
throw new Error(throwMessage.AppendTimerData, { cause: e });
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimersStore.js","sourceRoot":"","sources":["../../../src/TimersStore/TimersStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"TimersStore.js","sourceRoot":"","sources":["../../../src/TimersStore/TimersStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAgB,WAAW;IACb,SAAS,CAAS;IAErC,YACC,SAAiB;QAEjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxD,MAAM,UAAU,GAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,MAAyB;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAsB;QAC9C,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5E,OAAO;QACR,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;IACF,CAAC;CAKD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const throwMessage: {
|
|
2
|
+
NotFound: (id: string) => string;
|
|
3
|
+
ChangeExtra: string;
|
|
4
|
+
FilePathinvalid: string;
|
|
5
|
+
NoExtra: string;
|
|
6
|
+
InvalidLength: (length: number) => string;
|
|
7
|
+
InvalidSyntax: string;
|
|
8
|
+
LoadTimerData: string;
|
|
9
|
+
SaveTimerData: string;
|
|
10
|
+
AppendTimerData: string;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=throwMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throwMessage.d.ts","sourceRoot":"","sources":["../../src/throwMessage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;mBACT,MAAM;;;;4BAIG,MAAM;;;;;CAK9B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const throwMessage = {
|
|
2
|
+
NotFound: (id) => `Timer with id ${id} not found`,
|
|
3
|
+
ChangeExtra: "Error when changing extra",
|
|
4
|
+
FilePathinvalid: "Timer file path must be within the project directory",
|
|
5
|
+
NoExtra: "Cannot create timer without extra fields in JSONL",
|
|
6
|
+
InvalidLength: (length) => `Invalid length: ${length}`,
|
|
7
|
+
InvalidSyntax: "Timer file's syntax is wrong",
|
|
8
|
+
LoadTimerData: "Error when loading timer data",
|
|
9
|
+
SaveTimerData: "Error when saving timer data",
|
|
10
|
+
AppendTimerData: "Error when appending timer data",
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=throwMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throwMessage.js","sourceRoot":"","sources":["../../src/throwMessage.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,iBAAiB,EAAE,YAAY;IACzD,WAAW,EAAE,2BAA2B;IACxC,eAAe,EAAE,sDAAsD;IACvE,OAAO,EAAE,mDAAmD;IAC5D,aAAa,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,mBAAmB,MAAM,EAAE;IAC9D,aAAa,EAAE,8BAA8B;IAC7C,aAAa,EAAE,+BAA+B;IAC9C,aAAa,EAAE,8BAA8B;IAC7C,eAAe,EAAE,iCAAiC;CAClD,CAAC"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -13,4 +13,18 @@ export type CreateTimerOptions<T extends StorageType, Extra extends object> = T
|
|
|
13
13
|
length: number;
|
|
14
14
|
extra: Extra;
|
|
15
15
|
} : T extends "PlainText" ? number : never;
|
|
16
|
+
export type TimerEvents<T extends StorageType, Extra extends object> = {
|
|
17
|
+
expired: Timer<T, Extra>;
|
|
18
|
+
errored: Error;
|
|
19
|
+
interval: void;
|
|
20
|
+
created: Timer<T, Extra>;
|
|
21
|
+
removed: Timer<T, Extra>;
|
|
22
|
+
updated: {
|
|
23
|
+
old: Timer<T, Extra>;
|
|
24
|
+
new: Timer<T, Extra>;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export type ListenerMap<T extends StorageType, Extra extends object> = {
|
|
28
|
+
[K in keyof TimerEvents<T, Extra>]?: ((payload: TimerEvents<T, Extra>[K]) => void | Promise<void>)[];
|
|
29
|
+
};
|
|
16
30
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;AAEhD,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,SAAS,MAAM,IACzD,CAAC,SAAS,OAAO,GACX;IACI,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAA;CACf,GACD;IACI,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEZ,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,SAAS,MAAM,IAAI,CAAC,SAAS,OAAO,GACzF;IACI,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAA;CACf,GACD,CAAC,SAAS,WAAW,GACnB,MAAM,GACN,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;AAEhD,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,SAAS,MAAM,IACzD,CAAC,SAAS,OAAO,GACX;IACI,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAA;CACf,GACD;IACI,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEZ,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,SAAS,MAAM,IAAI,CAAC,SAAS,OAAO,GACzF;IACI,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAA;CACf,GACD,CAAC,SAAS,WAAW,GACnB,MAAM,GACN,KAAK,CAAC;AAEd,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,SAAS,MAAM,IAAI;IACrE,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACxB,OAAO,EAAE,KAAK,CAAA;IACd,QAAQ,EAAE,IAAI,CAAA;IACd,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACxB,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACxB,OAAO,EAAE;QAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;KAAE,CAAA;CACxD,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,SAAS,MAAM,IAAI;KACpE,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CACpC,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAC9B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;CAC7B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eternal-timer",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "timer for node.js package",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/move-package-json.js",
|
|
@@ -47,8 +47,5 @@
|
|
|
47
47
|
"files": [
|
|
48
48
|
"dist"
|
|
49
49
|
],
|
|
50
|
-
"main": "./dist/cjs/index.js"
|
|
51
|
-
"optionalDependencies": {
|
|
52
|
-
"@logtape/logtape": "^2.0.0"
|
|
53
|
-
}
|
|
50
|
+
"main": "./dist/cjs/index.js"
|
|
54
51
|
}
|
package/dist/cjs/Log.d.ts
DELETED
package/dist/cjs/Log.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Log.d.ts","sourceRoot":"","sources":["../../src/Log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,GAAG;IACf,OAAO,CAAC,MAAM,CAAC,MAAM,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAAC,WAAW,CAA8B;WAEpC,YAAY;IAiBhC,WAAkB,cAAc,IAAI,MAAM,GAAG,IAAI,CAEhD;CACD"}
|
package/dist/cjs/Log.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.Log = void 0;
|
|
37
|
-
class Log {
|
|
38
|
-
static logger = null;
|
|
39
|
-
static initPromise = null;
|
|
40
|
-
static async ensureLogger() {
|
|
41
|
-
if (Log.logger)
|
|
42
|
-
return;
|
|
43
|
-
if (!Log.initPromise) {
|
|
44
|
-
Log.initPromise = (async () => {
|
|
45
|
-
try {
|
|
46
|
-
const logtape = await Promise.resolve().then(() => __importStar(require("@logtape/logtape")));
|
|
47
|
-
Log.logger = logtape.getLogger(["eternal-timer"]);
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
console.info("Tip: Install the optional package '@logtape/logtape' to customize logging behavior.");
|
|
51
|
-
}
|
|
52
|
-
})();
|
|
53
|
-
}
|
|
54
|
-
await Log.initPromise;
|
|
55
|
-
}
|
|
56
|
-
static get loggerInstance() {
|
|
57
|
-
return Log.logger;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
exports.Log = Log;
|
|
61
|
-
//# sourceMappingURL=Log.js.map
|