eternal-timer 2.0.4 → 2.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 CHANGED
@@ -9,6 +9,7 @@ A simple and persistent timer library for Node.js. Timers are saved to a file an
9
9
 
10
10
  - **Monitor Timers (asynchronous)**: Start monitoring expired timers asynchronously; the function returns immediately and the callback is called when timers expire.
11
11
  - **Persistence**: Save timer data to a file that persists across process restarts
12
+ - **JSON Lines Support**: Use the `.jsonl` extension for your timer file to store richer data, including titles and descriptions.
12
13
 
13
14
  ## Installation
14
15
 
@@ -24,15 +25,17 @@ npm install eternal-timer
24
25
  import { TimersManager } from 'eternal-timer';
25
26
 
26
27
  async function main() {
28
+ // By default, timers are stored in '.timers.jsonl' in the project root.
29
+ // Using a .jsonl file enables storing title and description.
27
30
  const manager = new TimersManager();
28
31
 
29
- // Create a timer (5 seconds)
30
- const timerId = await manager.createTimer(5000);
32
+ // Create a timer (5 seconds) with a title and description
33
+ const timerId = await manager.createTimer(5000, 'My Timer', 'This is a test timer.');
31
34
  console.log('Timer created:', timerId);
32
35
 
33
36
  // Monitor timers (executes when timer expires)
34
- const intervalId = manager.checkTimers(async (timer) => {
35
- console.log('Timer expired:', timer.id);
37
+ const interval = manager.checkTimers(async (timer) => {
38
+ console.log('Timer expired:', timer.id, timer.title);
36
39
  });
37
40
 
38
41
  // Display all timers
@@ -53,14 +56,19 @@ main();
53
56
  Creates a new `TimersManager` instance.
54
57
 
55
58
  **Parameters:**
56
- - `timerfiledir` (string, optional): The path to the directory where the timer file is stored. If omitted, `.timers` under the project root is used.
59
+ - `timerfiledir` (string, optional): The path to the timer file. The file extension determines the storage format.
60
+ - **`.jsonl` extension**: Timers are stored in the feature-rich **JSON Lines** format.
61
+ - **Other extensions (or no extension)**: Timers are stored in the lightweight **plain-text** format.
62
+ - If omitted, the default is `.timers.jsonl` in the project root.
57
63
 
58
- ### `createTimer(length: number): Promise<string>`
64
+ ### `createTimer(length: number, title?: string, description?: string): Promise<string>`
59
65
 
60
66
  Creates a new timer.
61
67
 
62
68
  **Parameters:**
63
69
  - `length` (number): Timer duration in milliseconds
70
+ - `title` (string, optional): A title for the timer. Only stored if using a `.jsonl` file.
71
+ - `description` (string, optional): A description for the timer. Only stored if using a `.jsonl` file.
64
72
 
65
73
  **Returns:** Promise that resolves to the timer ID (UUID)
66
74
 
@@ -107,6 +115,8 @@ type Timer = {
107
115
  id: string; // Unique timer identifier (UUID)
108
116
  start: number; // Timer start timestamp
109
117
  stop: number; // Timer end timestamp
118
+ title?: string;
119
+ description?: string;
110
120
  }
111
121
  ```
112
122
 
@@ -120,11 +130,27 @@ type Timer = {
120
130
 
121
131
  ## Storage
122
132
 
123
- Timer data is stored in the `.timers` file in the project root. Each line follows this format:
133
+ You can choose between two storage formats based on the file extension you provide to the `TimersManager` constructor.
124
134
 
125
- ```
126
- {id} {start_timestamp} {stop_timestamp}
127
- ```
135
+ ### 1. JSON Lines (`.jsonl`) - Default
136
+ This is the default format, used when the timer file has a `.jsonl` extension.
137
+
138
+ - **Pros**: Allows for storing rich metadata like `title` and `description`.
139
+ - **Cons**: Involves JSON parsing, which may have a minor performance overhead.
140
+ - **Format**:
141
+ ```json
142
+ {"id":"...","start":1678886400000,"stop":1678886405000,"title":"My Timer","description":"..."}
143
+ ```
144
+
145
+ ### 2. Plain Text
146
+ This format is used for any file that does not have a `.jsonl` extension (e.g., `.timers`).
147
+
148
+ - **Pros**: More lightweight and slightly faster due to avoiding JSON parsing.
149
+ - **Cons**: Cannot store additional data like `title` or `description`.
150
+ - **Format**:
151
+ ```
152
+ {id} {start_timestamp} {stop_timestamp}
153
+ ```
128
154
 
129
155
  ## License
130
156
 
@@ -8,7 +8,7 @@ const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const searchRoot_js_1 = __importDefault(require("./searchRoot.cjs"));
10
10
  const uuid_1 = require("uuid");
11
- async function checkTimerfileSyntax(fileData) {
11
+ async function checkTimerfileSyntax(fileData, isJSONLines) {
12
12
  const throwing = () => {
13
13
  throw new Error(`Timer file's syntax is wrong`);
14
14
  };
@@ -16,16 +16,33 @@ async function checkTimerfileSyntax(fileData) {
16
16
  .split('\n')
17
17
  .map(l => l.trim())
18
18
  .filter(l => l !== "");
19
- for (const timerData of timersData) {
20
- const timerArray = timerData.split(/\s+/);
21
- if (timerArray.length !== 3)
22
- throwing();
23
- if (timerArray[0]?.length !== 36)
24
- throwing();
25
- if (timerArray[1].trim() === "")
26
- throwing();
27
- if (timerArray[2].trim() === "")
28
- throwing();
19
+ if (isJSONLines) {
20
+ for (const timerData of timersData) {
21
+ const parsed = JSON.parse(timerData);
22
+ if (!parsed.id || typeof parsed.id !== "string" || parsed.id.length !== 36)
23
+ throwing();
24
+ if (!parsed.start || typeof parsed.start !== "number" || parsed.start.toString().trim() === "")
25
+ throwing();
26
+ if (!parsed.stop || typeof parsed.stop !== "number" || parsed.stop.toString().trim() === "")
27
+ throwing();
28
+ if (parsed.title && typeof parsed.title !== "string")
29
+ throwing();
30
+ if (parsed.description && typeof parsed.description !== "string")
31
+ throwing();
32
+ }
33
+ }
34
+ else {
35
+ for (const timerData of timersData) {
36
+ const timerArray = timerData.split(/\s+/);
37
+ if (timerArray.length !== 3)
38
+ throwing();
39
+ if (timerArray[0]?.length !== 36)
40
+ throwing();
41
+ if (timerArray[1].trim() === "")
42
+ throwing();
43
+ if (timerArray[2].trim() === "")
44
+ throwing();
45
+ }
29
46
  }
30
47
  return;
31
48
  }
@@ -40,14 +57,17 @@ async function checkTimerfileSyntax(fileData) {
40
57
  */
41
58
  class TimersManager {
42
59
  timerfiledir;
60
+ isJSONLines;
61
+ checkLock = false;
43
62
  /**
44
63
  * constructor
45
64
  * @param timerfiledir(string, optional)
46
- * If omitted, `.timers` under the project root is used.
65
+ * If omitted, `.timers.jsonl` under the project root is used.
47
66
  */
48
67
  constructor(timerfiledir) {
49
68
  this.timerfiledir =
50
- timerfiledir ?? path_1.default.join((0, searchRoot_js_1.default)(), ".timers");
69
+ timerfiledir ?? path_1.default.join((0, searchRoot_js_1.default)(), ".timers.jsonl");
70
+ this.isJSONLines = this.timerfiledir.endsWith(".jsonl");
51
71
  try {
52
72
  fs_1.default.accessSync(this.timerfiledir);
53
73
  }
@@ -66,16 +86,36 @@ class TimersManager {
66
86
  * const newTimer = await manager.createTimer(5000);
67
87
  * // newTimer will be id of the timer
68
88
  */
69
- async createTimer(length) {
89
+ async createTimer(length, title, description) {
70
90
  try {
71
91
  if (length < 0) {
72
92
  throw new Error(`Invailed length: ${length}`);
73
93
  }
94
+ if (!this.isJSONLines) {
95
+ if (title || description) {
96
+ // out warn
97
+ }
98
+ }
99
+ const timersRaw = await fs_1.default.promises.readFile(this.timerfiledir, "utf-8");
100
+ await checkTimerfileSyntax(timersRaw, this.isJSONLines);
74
101
  length = Math.trunc(length);
75
102
  // uuid, start, end
76
103
  const id = (0, uuid_1.v4)();
77
104
  const now = Date.now();
78
- const newTimerData = `${id} ${now.toString()} ${(now + length).toString()}`;
105
+ let newTimerData;
106
+ if (this.isJSONLines) {
107
+ const json = {
108
+ id,
109
+ start: now,
110
+ stop: (now + length),
111
+ ...(title !== undefined && { title }),
112
+ ...(description !== undefined && { description }),
113
+ };
114
+ newTimerData = JSON.stringify(json, null, 0);
115
+ }
116
+ else {
117
+ newTimerData = `${id} ${now.toString()} ${(now + length).toString()}`;
118
+ }
79
119
  await fs_1.default.promises.appendFile(this.timerfiledir, newTimerData + "\n");
80
120
  return id;
81
121
  }
@@ -95,21 +135,43 @@ class TimersManager {
95
135
  async removeTimer(id) {
96
136
  try {
97
137
  const timersRaw = await fs_1.default.promises.readFile(this.timerfiledir, "utf-8");
98
- const timersData = timersRaw.split(/\r?\n/);
138
+ await checkTimerfileSyntax(timersRaw, this.isJSONLines);
99
139
  let newTimersData = "";
100
- let found = false;
101
- for (const timerData of timersData) {
102
- if (!timerData.trim())
103
- continue;
104
- const [timerId] = timerData.split(" ");
105
- if (timerId === id) {
106
- found = true;
107
- continue;
140
+ if (this.isJSONLines) {
141
+ const timersData = timersRaw
142
+ .split(/\r?\n/)
143
+ .filter(t => t.trim())
144
+ .map(line => JSON.parse(line));
145
+ let found = false;
146
+ for (const timerData of timersData) {
147
+ if (!timerData)
148
+ continue;
149
+ if (timerData.id === id) {
150
+ found = true;
151
+ continue;
152
+ }
153
+ newTimersData += `${JSON.stringify(timerData, null, 0)}\n`;
154
+ }
155
+ if (!found) {
156
+ throw new Error(`Timer with id ${id} not found`);
108
157
  }
109
- newTimersData += timerData + "\n";
110
158
  }
111
- if (!found) {
112
- throw new Error(`Timer with id ${id} not found`);
159
+ else {
160
+ const timersData = timersRaw.split(/\r?\n/);
161
+ let found = false;
162
+ for (const timerData of timersData) {
163
+ if (!timerData.trim())
164
+ continue;
165
+ const [timerId] = timerData.split(" ");
166
+ if (timerId === id) {
167
+ found = true;
168
+ continue;
169
+ }
170
+ newTimersData += timerData + "\n";
171
+ }
172
+ if (!found) {
173
+ throw new Error(`Timer with id ${id} not found`);
174
+ }
113
175
  }
114
176
  await fs_1.default.promises.writeFile(this.timerfiledir, newTimersData, "utf-8");
115
177
  return;
@@ -130,22 +192,35 @@ class TimersManager {
130
192
  * console.log(`A timer was stopped: ${timer.id}`);
131
193
  * });
132
194
  */
133
- async checkTimers(callback, interval = 50) {
134
- try {
135
- return setInterval(async () => {
195
+ checkTimers(callback, interval = 50) {
196
+ return setInterval(async () => {
197
+ if (this.checkLock)
198
+ return;
199
+ this.checkLock = true;
200
+ try {
136
201
  const timersDataRaw = await fs_1.default.promises.readFile(this.timerfiledir, "utf-8");
137
- const timersData = timersDataRaw.split(/\r?\n/);
138
202
  const timersSet = new Set();
139
- await checkTimerfileSyntax(timersDataRaw);
140
- for (const timerData of timersData) {
141
- if (!timerData.trim())
142
- continue;
143
- const [id, startStr, stopStr] = timerData.split(" ");
144
- timersSet.add({
145
- id: id,
146
- start: Number(startStr),
147
- stop: Number(stopStr),
148
- });
203
+ if (this.isJSONLines) {
204
+ const timersData = timersDataRaw
205
+ .split(/\r?\n/)
206
+ .filter(line => line.trim())
207
+ .map(line => JSON.parse(line));
208
+ for (const timer of timersData) {
209
+ timersSet.add(timer);
210
+ }
211
+ }
212
+ else {
213
+ const timersData = timersDataRaw.split(/\r?\n/);
214
+ for (const timerData of timersData) {
215
+ if (!timerData.trim())
216
+ continue;
217
+ const [id, startStr, stopStr] = timerData.split(" ");
218
+ timersSet.add({
219
+ id: id,
220
+ start: Number(startStr),
221
+ stop: Number(stopStr),
222
+ });
223
+ }
149
224
  }
150
225
  const now = Date.now();
151
226
  for (const timer of timersSet) {
@@ -154,11 +229,14 @@ class TimersManager {
154
229
  await callback(timer);
155
230
  }
156
231
  }
157
- }, interval);
158
- }
159
- catch (e) {
160
- throw new Error(`Error when checking alarm: ${e}`);
161
- }
232
+ }
233
+ catch (e) {
234
+ throw new Error(`Error when checking alarm: ${e}`);
235
+ }
236
+ finally {
237
+ this.checkLock = false;
238
+ }
239
+ }, interval);
162
240
  }
163
241
  /**
164
242
  * showTimers
@@ -172,19 +250,28 @@ class TimersManager {
172
250
  async showTimers() {
173
251
  try {
174
252
  const timersRaw = await fs_1.default.promises.readFile(this.timerfiledir, "utf-8");
175
- const timersData = timersRaw.split(/\r?\n/);
176
- const timersJSON = [];
177
- for (const timerData of timersData) {
178
- const splitedTimerData = timerData.split(" ");
179
- if (!timerData.trim())
180
- continue;
181
- timersJSON.push({
182
- id: splitedTimerData[0],
183
- start: Number(splitedTimerData[1]),
184
- stop: Number(splitedTimerData[2]),
185
- });
253
+ if (this.isJSONLines) {
254
+ const timersData = timersRaw
255
+ .split(/\r?\n/)
256
+ .filter(t => t.trim())
257
+ .map(line => JSON.parse(line));
258
+ return timersData;
259
+ }
260
+ else {
261
+ const timersData = timersRaw.split(/\r?\n/);
262
+ const timersJSON = [];
263
+ for (const timerData of timersData) {
264
+ const splitedTimerData = timerData.split(" ");
265
+ if (!timerData.trim())
266
+ continue;
267
+ timersJSON.push({
268
+ id: splitedTimerData[0],
269
+ start: Number(splitedTimerData[1]),
270
+ stop: Number(splitedTimerData[2]),
271
+ });
272
+ }
273
+ return timersJSON;
186
274
  }
187
- return timersJSON;
188
275
  }
189
276
  catch (e) {
190
277
  throw new Error(`Error when showing timers: ${e}`);
@@ -2,6 +2,8 @@ export type Timer = {
2
2
  id: string;
3
3
  start: number;
4
4
  stop: number;
5
+ title?: string;
6
+ description?: string;
5
7
  };
6
8
  /**
7
9
  * TimersManager
@@ -14,10 +16,12 @@ export type Timer = {
14
16
  */
15
17
  export declare class TimersManager {
16
18
  private readonly timerfiledir;
19
+ private readonly isJSONLines;
20
+ private checkLock;
17
21
  /**
18
22
  * constructor
19
23
  * @param timerfiledir(string, optional)
20
- * If omitted, `.timers` under the project root is used.
24
+ * If omitted, `.timers.jsonl` under the project root is used.
21
25
  */
22
26
  constructor(timerfiledir?: string);
23
27
  /**
@@ -31,7 +35,7 @@ export declare class TimersManager {
31
35
  * const newTimer = await manager.createTimer(5000);
32
36
  * // newTimer will be id of the timer
33
37
  */
34
- createTimer(length: number): Promise<string>;
38
+ createTimer(length: number, title?: string, description?: string): Promise<string>;
35
39
  /**
36
40
  * removeTimer
37
41
  * @description Removes a timer by ID.
@@ -54,7 +58,7 @@ export declare class TimersManager {
54
58
  * console.log(`A timer was stopped: ${timer.id}`);
55
59
  * });
56
60
  */
57
- checkTimers(callback: (timer: Timer) => Promise<void>, interval?: number): Promise<NodeJS.Timeout>;
61
+ checkTimers(callback: (timer: Timer) => Promise<void>, interval?: number): NodeJS.Timeout;
58
62
  /**
59
63
  * showTimers
60
64
  * @description Retrieves all active timers.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,KAAK,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAoBD;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC;;;;OAIM;gBAEL,YAAY,CAAC,EAAE,MAAM;IAYtB;;;;;;;;;;OAUM;IACO,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBzD;;;;;;;;OAQM;IACO,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnD;;;;;;;;;;;OAWM;IACO,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IAgCnH;;;;;;;;OAQM;IACO,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;CAoB3C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,KAAK,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AA+BD;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;;OAIM;gBAEL,YAAY,CAAC,EAAE,MAAM;IActB;;;;;;;;;;OAUM;IACO,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuC/F;;;;;;;;OAQM;IACO,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDnD;;;;;;;;;;;OAWM;IACC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM,CAAC,OAAO;IA+CpG;;;;;;;;OAQM;IACO,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;CA6B3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ export type Timer = {
2
2
  id: string;
3
3
  start: number;
4
4
  stop: number;
5
+ title?: string;
6
+ description?: string;
5
7
  };
6
8
  /**
7
9
  * TimersManager
@@ -14,10 +16,12 @@ export type Timer = {
14
16
  */
15
17
  export declare class TimersManager {
16
18
  private readonly timerfiledir;
19
+ private readonly isJSONLines;
20
+ private checkLock;
17
21
  /**
18
22
  * constructor
19
23
  * @param timerfiledir(string, optional)
20
- * If omitted, `.timers` under the project root is used.
24
+ * If omitted, `.timers.jsonl` under the project root is used.
21
25
  */
22
26
  constructor(timerfiledir?: string);
23
27
  /**
@@ -31,7 +35,7 @@ export declare class TimersManager {
31
35
  * const newTimer = await manager.createTimer(5000);
32
36
  * // newTimer will be id of the timer
33
37
  */
34
- createTimer(length: number): Promise<string>;
38
+ createTimer(length: number, title?: string, description?: string): Promise<string>;
35
39
  /**
36
40
  * removeTimer
37
41
  * @description Removes a timer by ID.
@@ -54,7 +58,7 @@ export declare class TimersManager {
54
58
  * console.log(`A timer was stopped: ${timer.id}`);
55
59
  * });
56
60
  */
57
- checkTimers(callback: (timer: Timer) => Promise<void>, interval?: number): Promise<NodeJS.Timeout>;
61
+ checkTimers(callback: (timer: Timer) => Promise<void>, interval?: number): NodeJS.Timeout;
58
62
  /**
59
63
  * showTimers
60
64
  * @description Retrieves all active timers.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,KAAK,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAoBD;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC;;;;OAIM;gBAEL,YAAY,CAAC,EAAE,MAAM;IAYtB;;;;;;;;;;OAUM;IACO,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBzD;;;;;;;;OAQM;IACO,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnD;;;;;;;;;;;OAWM;IACO,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IAgCnH;;;;;;;;OAQM;IACO,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;CAoB3C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,KAAK,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AA+BD;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;;OAIM;gBAEL,YAAY,CAAC,EAAE,MAAM;IActB;;;;;;;;;;OAUM;IACO,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuC/F;;;;;;;;OAQM;IACO,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDnD;;;;;;;;;;;OAWM;IACC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM,CAAC,OAAO;IA+CpG;;;;;;;;OAQM;IACO,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;CA6B3C"}
package/dist/esm/index.js CHANGED
@@ -2,7 +2,7 @@ import fs from "fs";
2
2
  import path from "path";
3
3
  import searchRoot from "./searchRoot.js";
4
4
  import { v4 as uuidv4 } from "uuid";
5
- async function checkTimerfileSyntax(fileData) {
5
+ async function checkTimerfileSyntax(fileData, isJSONLines) {
6
6
  const throwing = () => {
7
7
  throw new Error(`Timer file's syntax is wrong`);
8
8
  };
@@ -10,16 +10,33 @@ async function checkTimerfileSyntax(fileData) {
10
10
  .split('\n')
11
11
  .map(l => l.trim())
12
12
  .filter(l => l !== "");
13
- for (const timerData of timersData) {
14
- const timerArray = timerData.split(/\s+/);
15
- if (timerArray.length !== 3)
16
- throwing();
17
- if (timerArray[0]?.length !== 36)
18
- throwing();
19
- if (timerArray[1].trim() === "")
20
- throwing();
21
- if (timerArray[2].trim() === "")
22
- throwing();
13
+ if (isJSONLines) {
14
+ for (const timerData of timersData) {
15
+ const parsed = JSON.parse(timerData);
16
+ if (!parsed.id || typeof parsed.id !== "string" || parsed.id.length !== 36)
17
+ throwing();
18
+ if (!parsed.start || typeof parsed.start !== "number" || parsed.start.toString().trim() === "")
19
+ throwing();
20
+ if (!parsed.stop || typeof parsed.stop !== "number" || parsed.stop.toString().trim() === "")
21
+ throwing();
22
+ if (parsed.title && typeof parsed.title !== "string")
23
+ throwing();
24
+ if (parsed.description && typeof parsed.description !== "string")
25
+ throwing();
26
+ }
27
+ }
28
+ else {
29
+ for (const timerData of timersData) {
30
+ const timerArray = timerData.split(/\s+/);
31
+ if (timerArray.length !== 3)
32
+ throwing();
33
+ if (timerArray[0]?.length !== 36)
34
+ throwing();
35
+ if (timerArray[1].trim() === "")
36
+ throwing();
37
+ if (timerArray[2].trim() === "")
38
+ throwing();
39
+ }
23
40
  }
24
41
  return;
25
42
  }
@@ -34,14 +51,17 @@ async function checkTimerfileSyntax(fileData) {
34
51
  */
35
52
  export class TimersManager {
36
53
  timerfiledir;
54
+ isJSONLines;
55
+ checkLock = false;
37
56
  /**
38
57
  * constructor
39
58
  * @param timerfiledir(string, optional)
40
- * If omitted, `.timers` under the project root is used.
59
+ * If omitted, `.timers.jsonl` under the project root is used.
41
60
  */
42
61
  constructor(timerfiledir) {
43
62
  this.timerfiledir =
44
- timerfiledir ?? path.join(searchRoot(), ".timers");
63
+ timerfiledir ?? path.join(searchRoot(), ".timers.jsonl");
64
+ this.isJSONLines = this.timerfiledir.endsWith(".jsonl");
45
65
  try {
46
66
  fs.accessSync(this.timerfiledir);
47
67
  }
@@ -60,16 +80,36 @@ export class TimersManager {
60
80
  * const newTimer = await manager.createTimer(5000);
61
81
  * // newTimer will be id of the timer
62
82
  */
63
- async createTimer(length) {
83
+ async createTimer(length, title, description) {
64
84
  try {
65
85
  if (length < 0) {
66
86
  throw new Error(`Invailed length: ${length}`);
67
87
  }
88
+ if (!this.isJSONLines) {
89
+ if (title || description) {
90
+ // out warn
91
+ }
92
+ }
93
+ const timersRaw = await fs.promises.readFile(this.timerfiledir, "utf-8");
94
+ await checkTimerfileSyntax(timersRaw, this.isJSONLines);
68
95
  length = Math.trunc(length);
69
96
  // uuid, start, end
70
97
  const id = uuidv4();
71
98
  const now = Date.now();
72
- const newTimerData = `${id} ${now.toString()} ${(now + length).toString()}`;
99
+ let newTimerData;
100
+ if (this.isJSONLines) {
101
+ const json = {
102
+ id,
103
+ start: now,
104
+ stop: (now + length),
105
+ ...(title !== undefined && { title }),
106
+ ...(description !== undefined && { description }),
107
+ };
108
+ newTimerData = JSON.stringify(json, null, 0);
109
+ }
110
+ else {
111
+ newTimerData = `${id} ${now.toString()} ${(now + length).toString()}`;
112
+ }
73
113
  await fs.promises.appendFile(this.timerfiledir, newTimerData + "\n");
74
114
  return id;
75
115
  }
@@ -89,21 +129,43 @@ export class TimersManager {
89
129
  async removeTimer(id) {
90
130
  try {
91
131
  const timersRaw = await fs.promises.readFile(this.timerfiledir, "utf-8");
92
- const timersData = timersRaw.split(/\r?\n/);
132
+ await checkTimerfileSyntax(timersRaw, this.isJSONLines);
93
133
  let newTimersData = "";
94
- let found = false;
95
- for (const timerData of timersData) {
96
- if (!timerData.trim())
97
- continue;
98
- const [timerId] = timerData.split(" ");
99
- if (timerId === id) {
100
- found = true;
101
- continue;
134
+ if (this.isJSONLines) {
135
+ const timersData = timersRaw
136
+ .split(/\r?\n/)
137
+ .filter(t => t.trim())
138
+ .map(line => JSON.parse(line));
139
+ let found = false;
140
+ for (const timerData of timersData) {
141
+ if (!timerData)
142
+ continue;
143
+ if (timerData.id === id) {
144
+ found = true;
145
+ continue;
146
+ }
147
+ newTimersData += `${JSON.stringify(timerData, null, 0)}\n`;
148
+ }
149
+ if (!found) {
150
+ throw new Error(`Timer with id ${id} not found`);
102
151
  }
103
- newTimersData += timerData + "\n";
104
152
  }
105
- if (!found) {
106
- throw new Error(`Timer with id ${id} not found`);
153
+ else {
154
+ const timersData = timersRaw.split(/\r?\n/);
155
+ let found = false;
156
+ for (const timerData of timersData) {
157
+ if (!timerData.trim())
158
+ continue;
159
+ const [timerId] = timerData.split(" ");
160
+ if (timerId === id) {
161
+ found = true;
162
+ continue;
163
+ }
164
+ newTimersData += timerData + "\n";
165
+ }
166
+ if (!found) {
167
+ throw new Error(`Timer with id ${id} not found`);
168
+ }
107
169
  }
108
170
  await fs.promises.writeFile(this.timerfiledir, newTimersData, "utf-8");
109
171
  return;
@@ -124,22 +186,35 @@ export class TimersManager {
124
186
  * console.log(`A timer was stopped: ${timer.id}`);
125
187
  * });
126
188
  */
127
- async checkTimers(callback, interval = 50) {
128
- try {
129
- return setInterval(async () => {
189
+ checkTimers(callback, interval = 50) {
190
+ return setInterval(async () => {
191
+ if (this.checkLock)
192
+ return;
193
+ this.checkLock = true;
194
+ try {
130
195
  const timersDataRaw = await fs.promises.readFile(this.timerfiledir, "utf-8");
131
- const timersData = timersDataRaw.split(/\r?\n/);
132
196
  const timersSet = new Set();
133
- await checkTimerfileSyntax(timersDataRaw);
134
- for (const timerData of timersData) {
135
- if (!timerData.trim())
136
- continue;
137
- const [id, startStr, stopStr] = timerData.split(" ");
138
- timersSet.add({
139
- id: id,
140
- start: Number(startStr),
141
- stop: Number(stopStr),
142
- });
197
+ if (this.isJSONLines) {
198
+ const timersData = timersDataRaw
199
+ .split(/\r?\n/)
200
+ .filter(line => line.trim())
201
+ .map(line => JSON.parse(line));
202
+ for (const timer of timersData) {
203
+ timersSet.add(timer);
204
+ }
205
+ }
206
+ else {
207
+ const timersData = timersDataRaw.split(/\r?\n/);
208
+ for (const timerData of timersData) {
209
+ if (!timerData.trim())
210
+ continue;
211
+ const [id, startStr, stopStr] = timerData.split(" ");
212
+ timersSet.add({
213
+ id: id,
214
+ start: Number(startStr),
215
+ stop: Number(stopStr),
216
+ });
217
+ }
143
218
  }
144
219
  const now = Date.now();
145
220
  for (const timer of timersSet) {
@@ -148,11 +223,14 @@ export class TimersManager {
148
223
  await callback(timer);
149
224
  }
150
225
  }
151
- }, interval);
152
- }
153
- catch (e) {
154
- throw new Error(`Error when checking alarm: ${e}`);
155
- }
226
+ }
227
+ catch (e) {
228
+ throw new Error(`Error when checking alarm: ${e}`);
229
+ }
230
+ finally {
231
+ this.checkLock = false;
232
+ }
233
+ }, interval);
156
234
  }
157
235
  /**
158
236
  * showTimers
@@ -166,19 +244,28 @@ export class TimersManager {
166
244
  async showTimers() {
167
245
  try {
168
246
  const timersRaw = await fs.promises.readFile(this.timerfiledir, "utf-8");
169
- const timersData = timersRaw.split(/\r?\n/);
170
- const timersJSON = [];
171
- for (const timerData of timersData) {
172
- const splitedTimerData = timerData.split(" ");
173
- if (!timerData.trim())
174
- continue;
175
- timersJSON.push({
176
- id: splitedTimerData[0],
177
- start: Number(splitedTimerData[1]),
178
- stop: Number(splitedTimerData[2]),
179
- });
247
+ if (this.isJSONLines) {
248
+ const timersData = timersRaw
249
+ .split(/\r?\n/)
250
+ .filter(t => t.trim())
251
+ .map(line => JSON.parse(line));
252
+ return timersData;
253
+ }
254
+ else {
255
+ const timersData = timersRaw.split(/\r?\n/);
256
+ const timersJSON = [];
257
+ for (const timerData of timersData) {
258
+ const splitedTimerData = timerData.split(" ");
259
+ if (!timerData.trim())
260
+ continue;
261
+ timersJSON.push({
262
+ id: splitedTimerData[0],
263
+ start: Number(splitedTimerData[1]),
264
+ stop: Number(splitedTimerData[2]),
265
+ });
266
+ }
267
+ return timersJSON;
180
268
  }
181
- return timersJSON;
182
269
  }
183
270
  catch (e) {
184
271
  throw new Error(`Error when showing timers: ${e}`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eternal-timer",
3
- "version": "2.0.4",
3
+ "version": "2.1.0",
4
4
  "description": "timer for node.js package",
5
5
  "scripts": {
6
6
  "dev": "nodemon --watch src --exec ts-node src/index.ts",
@@ -1 +0,0 @@
1
- {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.es2024.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.es2023.intl.d.ts","../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2024.collection.d.ts","../node_modules/typescript/lib/lib.es2024.object.d.ts","../node_modules/typescript/lib/lib.es2024.promise.d.ts","../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2024.string.d.ts","../node_modules/typescript/lib/lib.esnext.array.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../node_modules/typescript/lib/lib.esnext.float16.d.ts","../node_modules/typescript/lib/lib.esnext.error.d.ts","../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.esnext.full.d.ts","../src/searchRoot.ts","../node_modules/uuid/dist/types.d.ts","../node_modules/uuid/dist/max.d.ts","../node_modules/uuid/dist/nil.d.ts","../node_modules/uuid/dist/parse.d.ts","../node_modules/uuid/dist/stringify.d.ts","../node_modules/uuid/dist/v1.d.ts","../node_modules/uuid/dist/v1ToV6.d.ts","../node_modules/uuid/dist/v35.d.ts","../node_modules/uuid/dist/v3.d.ts","../node_modules/uuid/dist/v4.d.ts","../node_modules/uuid/dist/v5.d.ts","../node_modules/uuid/dist/v6.d.ts","../node_modules/uuid/dist/v6ToV1.d.ts","../node_modules/uuid/dist/v7.d.ts","../node_modules/uuid/dist/validate.d.ts","../node_modules/uuid/dist/version.d.ts","../node_modules/uuid/dist/index.d.ts","../src/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":[[108,167,168,170,178,182,185,187,188,189,201],[108,169,170,178,182,185,187,188,189,201],[170,178,182,185,187,188,189,201],[108,170,178,182,185,187,188,189,201,209],[108,170,171,176,178,181,182,185,187,188,189,191,201,206,218],[108,170,171,172,178,181,182,185,187,188,189,201],[108,170,178,182,185,187,188,189,201],[108,170,173,178,182,185,187,188,189,201,219],[108,170,174,175,178,182,185,187,188,189,192,201],[108,170,175,178,182,185,187,188,189,201,206,215],[108,170,176,178,181,182,185,187,188,189,191,201],[108,169,170,177,178,182,185,187,188,189,201],[108,170,178,179,182,185,187,188,189,201],[108,170,178,180,181,182,185,187,188,189,201],[108,169,170,178,181,182,185,187,188,189,201],[108,170,178,181,182,183,185,187,188,189,201,206,218],[108,170,178,181,182,183,185,187,188,189,201,206,209],[108,157,170,178,181,182,184,185,187,188,189,191,201,206,218],[108,170,178,181,182,184,185,187,188,189,191,201,206,215,218],[108,170,178,182,184,185,186,187,188,189,201,206,215,218],[106,107,108,109,110,111,112,113,114,115,116,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225],[108,170,178,181,182,185,187,188,189,201],[108,170,178,182,185,187,189,201],[108,170,178,182,185,187,188,189,190,201,218],[108,170,178,181,182,185,187,188,189,191,201,206],[108,170,178,182,185,187,188,189,192,201],[108,170,178,182,185,187,188,189,193,201],[108,170,178,181,182,185,187,188,189,196,201],[108,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225],[108,170,178,182,185,187,188,189,198,201],[108,170,178,182,185,187,188,189,199,201],[108,170,175,178,182,185,187,188,189,191,201,209],[108,170,178,181,182,185,187,188,189,201,202],[108,170,178,182,185,187,188,189,201,203,219,222],[108,170,178,181,182,185,187,188,189,201,206,208,209],[108,170,178,182,185,187,188,189,201,207,209],[108,170,178,182,185,187,188,189,201,209,219],[108,170,178,182,185,187,188,189,201,210],[108,167,170,178,182,185,187,188,189,201,206,212],[108,170,178,182,185,187,188,189,201,206,211],[108,170,178,181,182,185,187,188,189,201,213,214],[108,170,178,182,185,187,188,189,201,213,214],[108,170,175,178,182,185,187,188,189,191,201,206,215],[108,170,178,182,185,187,188,189,201,216],[108,170,178,182,185,187,188,189,191,201,217],[108,170,178,182,184,185,187,188,189,199,201,218],[108,170,178,182,185,187,188,189,201,219,220],[108,170,175,178,182,185,187,188,189,201,220],[108,170,178,182,185,187,188,189,201,206,221],[108,170,178,182,185,187,188,189,190,201,222],[108,170,178,182,185,187,188,189,201,223],[108,170,173,178,182,185,187,188,189,201],[108,170,175,178,182,185,187,188,189,201],[108,170,178,182,185,187,188,189,201,219],[108,157,170,178,182,185,187,188,189,201],[108,170,178,182,185,187,188,189,201,218],[108,170,178,182,185,187,188,189,201,224],[108,170,178,182,185,187,188,189,196,201],[108,170,178,182,185,187,188,189,201,214],[108,157,170,178,181,182,183,185,187,188,189,196,201,206,209,218,221,222,224],[108,170,178,182,185,187,188,189,201,206,225],[108,123,126,129,130,170,178,182,185,187,188,189,201,218],[108,126,170,178,182,185,187,188,189,201,206,218],[108,126,130,170,178,182,185,187,188,189,201,218],[108,170,178,182,185,187,188,189,201,206],[108,120,170,178,182,185,187,188,189,201],[108,124,170,178,182,185,187,188,189,201],[108,122,123,126,170,178,182,185,187,188,189,201,218],[108,170,178,182,185,187,188,189,191,201,215],[108,170,178,182,185,187,188,189,201,226],[108,120,170,178,182,185,187,188,189,201,226],[108,122,126,170,178,182,185,187,188,189,191,201,218],[108,117,118,119,121,125,170,178,181,182,185,187,188,189,201,206,218],[108,126,134,142,170,178,182,185,187,188,189,201],[108,118,124,170,178,182,185,187,188,189,201],[108,126,151,152,170,178,182,185,187,188,189,201],[108,118,121,126,170,178,182,185,187,188,189,201,209,218,226],[108,126,170,178,182,185,187,188,189,201],[108,122,126,170,178,182,185,187,188,189,201,218],[108,117,170,178,182,185,187,188,189,201],[108,120,121,122,124,125,126,127,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,152,153,154,155,156,170,178,182,185,187,188,189,201],[108,126,144,147,170,178,182,185,187,188,189,201],[108,126,134,135,136,170,178,182,185,187,188,189,201],[108,124,126,135,137,170,178,182,185,187,188,189,201],[108,125,170,178,182,185,187,188,189,201],[108,118,120,126,170,178,182,185,187,188,189,201],[108,126,130,135,137,170,178,182,185,187,188,189,201],[108,130,170,178,182,185,187,188,189,201],[108,124,126,129,170,178,182,185,187,188,189,201,218],[108,118,122,126,134,170,178,182,185,187,188,189,201],[108,126,144,170,178,182,185,187,188,189,201],[108,137,170,178,182,185,187,188,189,201],[108,120,126,151,170,178,182,185,187,188,189,201,209,224,226],[88,89,90,91,92,93,94,96,97,98,99,100,101,102,103,108,170,178,182,185,187,188,189,201],[88,108,170,178,182,185,187,188,189,201],[88,95,108,170,178,182,185,187,188,189,201],[87,104,108,170,178,182,185,187,188,189,193,201]],"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":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"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":"bde31fd423cd93b0eff97197a3f66df7c93e8c0c335cbeb113b7ff1ac35c23f4","impliedFormat":1},{"version":"0f100b96c9b6d3caf2791bf4f871cf0301bb58607990dc4ea602c05a85a6828a","signature":"ffb4c2e016e21c410d9d90b6c257404a98842f1c4913f893c23303b8501cfb4a","impliedFormat":99},{"version":"cff399d99c68e4fafdd5835d443a980622267a39ac6f3f59b9e3d60d60c4f133","impliedFormat":99},{"version":"6ada175c0c585e89569e8feb8ff6fc9fc443d7f9ca6340b456e0f94cbef559bf","impliedFormat":99},{"version":"e56e4d95fad615c97eb0ae39c329a4cda9c0af178273a9173676cc9b14b58520","impliedFormat":99},{"version":"73e8dfd5e7d2abc18bdb5c5873e64dbdd1082408dd1921cad6ff7130d8339334","impliedFormat":99},{"version":"fc820b2f0c21501f51f79b58a21d3fa7ae5659fc1812784dbfbb72af147659ee","impliedFormat":99},{"version":"4f041ef66167b5f9c73101e5fd8468774b09429932067926f9b2960cc3e4f99d","impliedFormat":99},{"version":"31501b8fc4279e78f6a05ca35e365e73c0b0c57d06dbe8faecb10c7254ce7714","impliedFormat":99},{"version":"7bc76e7d4bbe3764abaf054aed3a622c5cdbac694e474050d71ce9d4ab93ea4b","impliedFormat":99},{"version":"ff4e9db3eb1e95d7ba4b5765e4dc7f512b90fb3b588adfd5ca9b0d9d7a56a1ae","impliedFormat":99},{"version":"f205fd03cd15ea054f7006b7ef8378ef29c315149da0726f4928d291e7dce7b9","impliedFormat":99},{"version":"d683908557d53abeb1b94747e764b3bd6b6226273514b96a942340e9ce4b7be7","impliedFormat":99},{"version":"7c6d5704e2f236fddaf8dbe9131d998a4f5132609ef795b78c3b63f46317f88a","impliedFormat":99},{"version":"d05bd4d28c12545827349b0ac3a79c50658d68147dad38d13e97e22353544496","impliedFormat":99},{"version":"b6436d90a5487d9b3c3916b939f68e43f7eaca4b0bb305d897d5124180a122b9","impliedFormat":99},{"version":"04ace6bedd6f59c30ea6df1f0f8d432c728c8bc5c5fd0c5c1c80242d3ab51977","impliedFormat":99},{"version":"57a8a7772769c35ba7b4b1ba125f0812deec5c7102a0d04d9e15b1d22880c9e8","impliedFormat":99},{"version":"badcc9d59770b91987e962f8e3ddfa1e06671b0e4c5e2738bbd002255cad3f38","impliedFormat":99},{"version":"56092b7b054a609fdbdb44c0f22238639d54e0dc01d609c1f3e89deda02d1883","signature":"0cf1eaf0086ba08ef716e6f937544c9eda72dae87740847dbe6a541d5f233395","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":"dd0109710de4cd93e245121ab86d8c66d20f3ead80074b68e9c3e349c4f53342","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":"cf83d90d5faf27b994c2e79af02e32b555dbfe42cd9bd1571445f2168d1f4e2d","impliedFormat":1},{"version":"9ba13b47cb450a438e3076c4a3f6afb9dc85e17eae50f26d4b2d72c0688c9251","impliedFormat":1},{"version":"b64cd4401633ea4ecadfd700ddc8323a13b63b106ac7127c1d2726f32424622c","impliedFormat":1},{"version":"37c6e5fe5715814412b43cc9b50b24c67a63c4e04e753e0d1305970d65417a60","impliedFormat":1},{"version":"0e28335ac43f4d94dd2fe6d9e6fa6813570640839addd10d309d7985f33a6308","impliedFormat":1},{"version":"ee0e4946247f842c6dd483cbb60a5e6b484fee07996e3a7bc7343dfb68a04c5d","impliedFormat":1},{"version":"ef051f42b7e0ef5ca04552f54c4552eac84099d64b6c5ad0ef4033574b6035b8","impliedFormat":1},{"version":"853a43154f1d01b0173d9cbd74063507ece57170bad7a3b68f3fa1229ad0a92f","impliedFormat":1},{"version":"56231e3c39a031bfb0afb797690b20ed4537670c93c0318b72d5180833d98b72","impliedFormat":1},{"version":"5cc7c39031bfd8b00ad58f32143d59eb6ffc24f5d41a20931269011dccd36c5e","impliedFormat":1},{"version":"836b1d038d400811f265b04c758e1ef0fb64d915499a4ef590acc54761875075","affectsGlobalScope":true,"impliedFormat":1},{"version":"961cf7535b9c521cd634055b1b6ac49b94d055f0b573ce7fdc4cfaddab080b7c","impliedFormat":1},{"version":"806a8c6daae69e5695e7200d9eca6bc1e4298f38d90edda3ce67a794da31a24f","impliedFormat":1},{"version":"ac86245c2f31335bfd52cbe7fc760f9fc4f165387875869a478a6d9616a95e72","impliedFormat":1},{"version":"01ff95aa1443e3f7248974e5a771f513cb2ac158c8898f470a1792f817bee497","impliedFormat":1},{"version":"9d96a7ce809392ff2cb99691acf7c62e632fe56897356ba013b689277aca3619","impliedFormat":1},{"version":"42a05d8f239f74587d4926aba8cc54792eed8e8a442c7adc9b38b516642aadfe","impliedFormat":1},{"version":"5d21b58d60383cc6ab9ad3d3e265d7d25af24a2c9b506247e0e50b0a884920be","impliedFormat":1},{"version":"101f482fd48cb4c7c0468dcc6d62c843d842977aea6235644b1edd05e81fbf22","impliedFormat":1},{"version":"ae6757460f37078884b1571a3de3ebaf724d827d7e1d53626c02b3c2a408ac63","affectsGlobalScope":true,"impliedFormat":1},{"version":"27c0a08e343c6a0ae17bd13ba6d44a9758236dc904cd5e4b43456996cd51f520","impliedFormat":1},{"version":"3ef397f12387eff17f550bc484ea7c27d21d43816bbe609d495107f44b97e933","impliedFormat":1},{"version":"1023282e2ba810bc07905d3668349fbd37a26411f0c8f94a70ef3c05fe523fcf","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"6f80e51ba310608cd71bcdc09a171d7bbfb3b316048601c9ec215ce16a8dcfbc","impliedFormat":1},{"version":"a3bdc774995d56caaac759a424831091bb22450ca3590f34dae53d98323be191","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":"2ca2bca6845a7234eff5c3d192727a068fca72ac565f3c819c6b04ccc83dadc0","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":"17d06eb5709839c7ce719f0c38ada6f308fb433f2cd6d8c87b35856e07400950","impliedFormat":1},{"version":"a43fe41c33d0a192a0ecaf9b92e87bef3709c9972e6d53c42c49251ccb962d69","impliedFormat":1},{"version":"a177959203c017fad3ecc4f3d96c8757a840957a4959a3ae00dab9d35961ca6c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc727ccf9b36e257ff982ea0badeffbfc2c151802f741bddff00c6af3b784cf","impliedFormat":1},{"version":"6c00f77f0335ae0c18bd45a6c7c9c97c9625fb7e5dd6d5936eadf70718bce52e","impliedFormat":1},{"version":"4844a4c9b4b1e812b257676ed8a80b3f3be0e29bf05e742cc2ea9c3c6865e6c6","impliedFormat":1},{"version":"064878a60367e0407c42fb7ba02a2ea4d83257357dc20088e549bd4d89433e9c","impliedFormat":1},{"version":"14d4bd22d1b05824971b98f7e91b2484c90f1a684805c330476641417c3d9735","impliedFormat":1},{"version":"586eaf66bace2e731cee0ddfbfac326ad74a83c1acfeac4afb2db85ad23226c7","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"d1a14d87cedcf4f0b8173720d6eb29cc02878bf2b6dabf9c9d9cee742f275368","impliedFormat":1},{"version":"e60efae9fe48a2955f66bf4cbf0f082516185b877daf50d9c5e2a009660a7714","impliedFormat":1},{"version":"041a7781b9127ab568d2cdcce62c58fdea7c7407f40b8c50045d7866a2727130","impliedFormat":1},{"version":"cd9189eacf0f9143b8830e9d6769335aa6d902c04195f04145bcbf19e7f26fcb","impliedFormat":1},{"version":"e1cb68f3ef3a8dd7b2a9dfb3de482ed6c0f1586ba0db4e7d73c1d2147b6ffc51","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1}],"root":[87,105],"options":{"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"module":199,"noImplicitAny":true,"noUncheckedIndexedAccess":true,"noUncheckedSideEffectImports":true,"noUnusedLocals":true,"outDir":"./esm","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":99,"verbatimModuleSyntax":true},"referencedMap":[[167,1],[168,1],[169,2],[108,3],[170,4],[171,5],[172,6],[106,7],[173,8],[174,9],[175,10],[176,11],[177,12],[178,13],[179,13],[180,14],[181,15],[182,16],[183,17],[109,7],[107,7],[184,18],[185,19],[186,20],[226,21],[187,22],[188,23],[189,22],[190,24],[191,25],[192,26],[193,27],[194,27],[195,27],[196,28],[197,29],[198,30],[199,31],[200,32],[201,33],[202,33],[203,34],[204,7],[205,7],[206,35],[207,36],[208,35],[209,37],[210,38],[211,39],[212,40],[213,41],[214,42],[215,43],[216,44],[217,45],[218,46],[219,47],[220,48],[221,49],[222,50],[223,51],[110,22],[111,7],[112,52],[113,53],[114,7],[115,54],[116,7],[158,55],[159,56],[160,57],[161,57],[162,58],[163,7],[164,4],[165,59],[166,56],[224,60],[225,61],[84,7],[85,7],[15,7],[13,7],[14,7],[19,7],[18,7],[2,7],[20,7],[21,7],[22,7],[23,7],[24,7],[25,7],[26,7],[27,7],[3,7],[28,7],[29,7],[4,7],[30,7],[34,7],[31,7],[32,7],[33,7],[35,7],[36,7],[37,7],[5,7],[38,7],[39,7],[40,7],[41,7],[6,7],[45,7],[42,7],[43,7],[44,7],[46,7],[7,7],[47,7],[52,7],[53,7],[48,7],[49,7],[50,7],[51,7],[8,7],[57,7],[54,7],[55,7],[56,7],[58,7],[9,7],[59,7],[60,7],[61,7],[63,7],[62,7],[64,7],[65,7],[10,7],[66,7],[67,7],[68,7],[11,7],[69,7],[70,7],[71,7],[72,7],[73,7],[1,7],[74,7],[75,7],[12,7],[79,7],[77,7],[82,7],[81,7],[86,7],[76,7],[80,7],[78,7],[83,7],[17,7],[16,7],[134,62],[146,63],[132,64],[147,65],[156,66],[123,67],[124,68],[122,69],[155,70],[150,71],[154,72],[126,73],[143,74],[125,75],[153,76],[120,77],[121,71],[127,78],[128,7],[133,79],[131,78],[118,80],[157,81],[148,82],[137,83],[136,78],[138,84],[141,85],[135,86],[139,87],[151,70],[129,88],[130,89],[142,90],[119,65],[145,91],[144,78],[140,92],[149,7],[117,7],[152,93],[104,94],[89,7],[90,7],[91,7],[92,7],[88,7],[93,95],[94,7],[96,96],[95,95],[97,95],[98,96],[99,95],[100,7],[101,95],[102,7],[103,7],[105,97],[87,27]],"version":"5.9.3"}