eternal-timer 2.0.3 → 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
@@ -1,11 +1,15 @@
1
1
  # eternal-timer
2
2
 
3
+ ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/SUKEsann2000/eternal-timer/publish.yml)
4
+ ![NPM Downloads](https://img.shields.io/npm/dm/eternal-timer)
5
+
3
6
  A simple and persistent timer library for Node.js. Timers are saved to a file and maintain their state even after process restart.
4
7
 
5
8
  ## Features
6
9
 
7
10
  - **Monitor Timers (asynchronous)**: Start monitoring expired timers asynchronously; the function returns immediately and the callback is called when timers expire.
8
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.
9
13
 
10
14
  ## Installation
11
15
 
@@ -21,15 +25,17 @@ npm install eternal-timer
21
25
  import { TimersManager } from 'eternal-timer';
22
26
 
23
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.
24
30
  const manager = new TimersManager();
25
31
 
26
- // Create a timer (5 seconds)
27
- 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.');
28
34
  console.log('Timer created:', timerId);
29
35
 
30
36
  // Monitor timers (executes when timer expires)
31
- manager.checkTimers(async (timer) => {
32
- console.log('Timer expired:', timer.id);
37
+ const interval = manager.checkTimers(async (timer) => {
38
+ console.log('Timer expired:', timer.id, timer.title);
33
39
  });
34
40
 
35
41
  // Display all timers
@@ -50,14 +56,19 @@ main();
50
56
  Creates a new `TimersManager` instance.
51
57
 
52
58
  **Parameters:**
53
- - `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.
54
63
 
55
- ### `createTimer(length: number): Promise<string>`
64
+ ### `createTimer(length: number, title?: string, description?: string): Promise<string>`
56
65
 
57
66
  Creates a new timer.
58
67
 
59
68
  **Parameters:**
60
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.
61
72
 
62
73
  **Returns:** Promise that resolves to the timer ID (UUID)
63
74
 
@@ -74,7 +85,7 @@ Removes a timer by ID.
74
85
 
75
86
  **Throws:** If the timer with the specified ID is not found or if a file operation fails.
76
87
 
77
- ### `checkTimers(callback: (timer: Timer) => Promise<void>, interval?: number): Promise<void>`
88
+ ### `checkTimers(callback: (timer: Timer) => Promise<void>, interval?: number): Promise<NodeJS.Timeout>`
78
89
 
79
90
  Starts monitoring expired timers and returns immediately.
80
91
 
@@ -85,6 +96,8 @@ The callback is awaited before the next timer check continues.
85
96
  - `callback`: Function invoked when an expired timer is detected (called during periodic checks and awaited)
86
97
  - `interval` (number, optional): Check interval in milliseconds (default: 50ms)
87
98
 
99
+ **Returns:** interval id of checkTimers
100
+
88
101
  **Throws:** If file operation fails
89
102
 
90
103
  ### `showTimers(): Promise<Timer[]>`
@@ -102,6 +115,8 @@ type Timer = {
102
115
  id: string; // Unique timer identifier (UUID)
103
116
  start: number; // Timer start timestamp
104
117
  stop: number; // Timer end timestamp
118
+ title?: string;
119
+ description?: string;
105
120
  }
106
121
  ```
107
122
 
@@ -115,11 +130,27 @@ type Timer = {
115
130
 
116
131
  ## Storage
117
132
 
118
- 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.
119
134
 
120
- ```
121
- {id} {start_timestamp} {stop_timestamp}
122
- ```
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
+ ```
123
154
 
124
155
  ## License
125
156
 
@@ -8,6 +8,44 @@ 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, isJSONLines) {
12
+ const throwing = () => {
13
+ throw new Error(`Timer file's syntax is wrong`);
14
+ };
15
+ const timersData = fileData
16
+ .split('\n')
17
+ .map(l => l.trim())
18
+ .filter(l => l !== "");
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
+ }
46
+ }
47
+ return;
48
+ }
11
49
  /**
12
50
  * TimersManager
13
51
  * @description
@@ -19,27 +57,22 @@ const uuid_1 = require("uuid");
19
57
  */
20
58
  class TimersManager {
21
59
  timerfiledir;
60
+ isJSONLines;
61
+ checkLock = false;
22
62
  /**
23
63
  * constructor
24
64
  * @param timerfiledir(string, optional)
25
- * If omitted, `.timers` under the project root is used.
65
+ * If omitted, `.timers.jsonl` under the project root is used.
26
66
  */
27
67
  constructor(timerfiledir) {
28
68
  this.timerfiledir =
29
- timerfiledir ?? path_1.default.join((0, searchRoot_js_1.default)(), ".timers");
30
- }
31
- /**
32
- * createFile
33
- * @description create `.timers` file
34
- * @returns void
35
- * @throws If file operation fails
36
- */
37
- async createFile() {
69
+ timerfiledir ?? path_1.default.join((0, searchRoot_js_1.default)(), ".timers.jsonl");
70
+ this.isJSONLines = this.timerfiledir.endsWith(".jsonl");
38
71
  try {
39
- await fs_1.default.promises.access(this.timerfiledir);
72
+ fs_1.default.accessSync(this.timerfiledir);
40
73
  }
41
74
  catch {
42
- await fs_1.default.promises.writeFile(this.timerfiledir, "");
75
+ fs_1.default.writeFileSync(this.timerfiledir, "");
43
76
  }
44
77
  }
45
78
  /**
@@ -53,17 +86,36 @@ class TimersManager {
53
86
  * const newTimer = await manager.createTimer(5000);
54
87
  * // newTimer will be id of the timer
55
88
  */
56
- async createTimer(length) {
89
+ async createTimer(length, title, description) {
57
90
  try {
58
- await this.createFile();
59
91
  if (length < 0) {
60
92
  throw new Error(`Invailed length: ${length}`);
61
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);
62
101
  length = Math.trunc(length);
63
102
  // uuid, start, end
64
103
  const id = (0, uuid_1.v4)();
65
104
  const now = Date.now();
66
- 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
+ }
67
119
  await fs_1.default.promises.appendFile(this.timerfiledir, newTimerData + "\n");
68
120
  return id;
69
121
  }
@@ -82,22 +134,44 @@ class TimersManager {
82
134
  */
83
135
  async removeTimer(id) {
84
136
  try {
85
- const timersRaw = fs_1.default.readFileSync(this.timerfiledir, "utf-8");
86
- const timersData = timersRaw.split(/\r?\n/);
137
+ const timersRaw = await fs_1.default.promises.readFile(this.timerfiledir, "utf-8");
138
+ await checkTimerfileSyntax(timersRaw, this.isJSONLines);
87
139
  let newTimersData = "";
88
- let found = false;
89
- for (const timerData of timersData) {
90
- if (!timerData.trim())
91
- continue;
92
- const [timerId] = timerData.split(" ");
93
- if (timerId === id) {
94
- found = true;
95
- 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`);
96
157
  }
97
- newTimersData += timerData + "\n";
98
158
  }
99
- if (!found) {
100
- 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
+ }
101
175
  }
102
176
  await fs_1.default.promises.writeFile(this.timerfiledir, newTimersData, "utf-8");
103
177
  return;
@@ -112,28 +186,41 @@ class TimersManager {
112
186
  * @param callback Function invoked when an expired timer is detected (called asynchronously)
113
187
  * @param interval (number, optional): Check interval in milliseconds (default: 50ms)
114
188
  * @throws If file operation fails
189
+ * @returns (NodeJS.Timeout) intervalId interval id of checkTimers
115
190
  * @example
116
- * manager.checkTimers((timer) => {
191
+ * const interval = manager.checkTimers((timer) => {
117
192
  * console.log(`A timer was stopped: ${timer.id}`);
118
193
  * });
119
194
  */
120
- async checkTimers(callback, interval = 50) {
121
- try {
122
- await this.createFile();
123
- setInterval(async () => {
195
+ checkTimers(callback, interval = 50) {
196
+ return setInterval(async () => {
197
+ if (this.checkLock)
198
+ return;
199
+ this.checkLock = true;
200
+ try {
124
201
  const timersDataRaw = await fs_1.default.promises.readFile(this.timerfiledir, "utf-8");
125
- const timersData = timersDataRaw.split(/\r?\n/);
126
202
  const timersSet = new Set();
127
- await this.checkTimerfileSyntax(timersDataRaw);
128
- for (const timerData of timersData) {
129
- if (!timerData.trim())
130
- continue;
131
- const [id, startStr, stopStr] = timerData.split(" ");
132
- timersSet.add({
133
- id: id,
134
- start: Number(startStr),
135
- stop: Number(stopStr),
136
- });
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
+ }
137
224
  }
138
225
  const now = Date.now();
139
226
  for (const timer of timersSet) {
@@ -142,11 +229,14 @@ class TimersManager {
142
229
  await callback(timer);
143
230
  }
144
231
  }
145
- }, interval);
146
- }
147
- catch (e) {
148
- throw new Error(`Error when checking alarm: ${e}`);
149
- }
232
+ }
233
+ catch (e) {
234
+ throw new Error(`Error when checking alarm: ${e}`);
235
+ }
236
+ finally {
237
+ this.checkLock = false;
238
+ }
239
+ }, interval);
150
240
  }
151
241
  /**
152
242
  * showTimers
@@ -159,47 +249,34 @@ class TimersManager {
159
249
  */
160
250
  async showTimers() {
161
251
  try {
162
- await this.createFile();
163
- const timersRaw = fs_1.default.readFileSync(this.timerfiledir, "utf-8");
164
- const timersData = timersRaw.split(/\r?\n/);
165
- const timersJSON = [];
166
- for (const timerData of timersData) {
167
- const splitedTimerData = timerData.split(" ");
168
- if (!timerData.trim())
169
- continue;
170
- timersJSON.push({
171
- id: splitedTimerData[0],
172
- start: Number(splitedTimerData[1]),
173
- stop: Number(splitedTimerData[2]),
174
- });
252
+ const timersRaw = await fs_1.default.promises.readFile(this.timerfiledir, "utf-8");
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;
175
274
  }
176
- return timersJSON;
177
275
  }
178
276
  catch (e) {
179
277
  throw new Error(`Error when showing timers: ${e}`);
180
278
  }
181
279
  }
182
- async checkTimerfileSyntax(fileData) {
183
- const throwing = () => {
184
- throw new Error(`Timer file's syntax is wrong`);
185
- };
186
- const timersData = fileData
187
- .split('\n')
188
- .map(l => l.trim())
189
- .filter(l => l !== "");
190
- for (const timerData of timersData) {
191
- const timerArray = timerData.split(/\s+/);
192
- if (timerArray.length !== 3)
193
- throwing();
194
- if (timerArray[0]?.length !== 36)
195
- throwing();
196
- if (timerArray[1].trim() === "")
197
- throwing();
198
- if (timerArray[2].trim() === "")
199
- throwing();
200
- }
201
- return;
202
- }
203
280
  }
204
281
  exports.TimersManager = TimersManager;
205
282
  //# sourceMappingURL=index.js.map
@@ -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,19 +16,14 @@ 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
- /**
24
- * createFile
25
- * @description create `.timers` file
26
- * @returns void
27
- * @throws If file operation fails
28
- */
29
- private createFile;
30
27
  /**
31
28
  * createTimer
32
29
  * @description Creates a new timer.
@@ -38,7 +35,7 @@ export declare class TimersManager {
38
35
  * const newTimer = await manager.createTimer(5000);
39
36
  * // newTimer will be id of the timer
40
37
  */
41
- createTimer(length: number): Promise<string>;
38
+ createTimer(length: number, title?: string, description?: string): Promise<string>;
42
39
  /**
43
40
  * removeTimer
44
41
  * @description Removes a timer by ID.
@@ -55,12 +52,13 @@ export declare class TimersManager {
55
52
  * @param callback Function invoked when an expired timer is detected (called asynchronously)
56
53
  * @param interval (number, optional): Check interval in milliseconds (default: 50ms)
57
54
  * @throws If file operation fails
55
+ * @returns (NodeJS.Timeout) intervalId interval id of checkTimers
58
56
  * @example
59
- * manager.checkTimers((timer) => {
57
+ * const interval = manager.checkTimers((timer) => {
60
58
  * console.log(`A timer was stopped: ${timer.id}`);
61
59
  * });
62
60
  */
63
- checkTimers(callback: (timer: Timer) => Promise<void>, interval?: number): Promise<void>;
61
+ checkTimers(callback: (timer: Timer) => Promise<void>, interval?: number): NodeJS.Timeout;
64
62
  /**
65
63
  * showTimers
66
64
  * @description Retrieves all active timers.
@@ -71,6 +69,5 @@ export declare class TimersManager {
71
69
  * console.log(JSON.stringify(timers))
72
70
  */
73
71
  showTimers(): Promise<Timer[]>;
74
- private checkTimerfileSyntax;
75
72
  }
76
73
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC;;;;OAIM;gBAEL,YAAY,CAAC,EAAE,MAAM;IAMtB;;;;;OAKM;YACQ,UAAU;IAQxB;;;;;;;;;;OAUM;IACO,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzD;;;;;;;;OAQM;IACO,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnD;;;;;;;;;;OAUM;IACO,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCzG;;;;;;;;OAQM;IACO,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAsB7B,oBAAoB;CAiBlC"}
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,19 +16,14 @@ 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
- /**
24
- * createFile
25
- * @description create `.timers` file
26
- * @returns void
27
- * @throws If file operation fails
28
- */
29
- private createFile;
30
27
  /**
31
28
  * createTimer
32
29
  * @description Creates a new timer.
@@ -38,7 +35,7 @@ export declare class TimersManager {
38
35
  * const newTimer = await manager.createTimer(5000);
39
36
  * // newTimer will be id of the timer
40
37
  */
41
- createTimer(length: number): Promise<string>;
38
+ createTimer(length: number, title?: string, description?: string): Promise<string>;
42
39
  /**
43
40
  * removeTimer
44
41
  * @description Removes a timer by ID.
@@ -55,12 +52,13 @@ export declare class TimersManager {
55
52
  * @param callback Function invoked when an expired timer is detected (called asynchronously)
56
53
  * @param interval (number, optional): Check interval in milliseconds (default: 50ms)
57
54
  * @throws If file operation fails
55
+ * @returns (NodeJS.Timeout) intervalId interval id of checkTimers
58
56
  * @example
59
- * manager.checkTimers((timer) => {
57
+ * const interval = manager.checkTimers((timer) => {
60
58
  * console.log(`A timer was stopped: ${timer.id}`);
61
59
  * });
62
60
  */
63
- checkTimers(callback: (timer: Timer) => Promise<void>, interval?: number): Promise<void>;
61
+ checkTimers(callback: (timer: Timer) => Promise<void>, interval?: number): NodeJS.Timeout;
64
62
  /**
65
63
  * showTimers
66
64
  * @description Retrieves all active timers.
@@ -71,6 +69,5 @@ export declare class TimersManager {
71
69
  * console.log(JSON.stringify(timers))
72
70
  */
73
71
  showTimers(): Promise<Timer[]>;
74
- private checkTimerfileSyntax;
75
72
  }
76
73
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC;;;;OAIM;gBAEL,YAAY,CAAC,EAAE,MAAM;IAMtB;;;;;OAKM;YACQ,UAAU;IAQxB;;;;;;;;;;OAUM;IACO,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzD;;;;;;;;OAQM;IACO,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnD;;;;;;;;;;OAUM;IACO,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCzG;;;;;;;;OAQM;IACO,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAsB7B,oBAAoB;CAiBlC"}
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,6 +2,44 @@ 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, isJSONLines) {
6
+ const throwing = () => {
7
+ throw new Error(`Timer file's syntax is wrong`);
8
+ };
9
+ const timersData = fileData
10
+ .split('\n')
11
+ .map(l => l.trim())
12
+ .filter(l => l !== "");
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
+ }
40
+ }
41
+ return;
42
+ }
5
43
  /**
6
44
  * TimersManager
7
45
  * @description
@@ -13,27 +51,22 @@ import { v4 as uuidv4 } from "uuid";
13
51
  */
14
52
  export class TimersManager {
15
53
  timerfiledir;
54
+ isJSONLines;
55
+ checkLock = false;
16
56
  /**
17
57
  * constructor
18
58
  * @param timerfiledir(string, optional)
19
- * If omitted, `.timers` under the project root is used.
59
+ * If omitted, `.timers.jsonl` under the project root is used.
20
60
  */
21
61
  constructor(timerfiledir) {
22
62
  this.timerfiledir =
23
- timerfiledir ?? path.join(searchRoot(), ".timers");
24
- }
25
- /**
26
- * createFile
27
- * @description create `.timers` file
28
- * @returns void
29
- * @throws If file operation fails
30
- */
31
- async createFile() {
63
+ timerfiledir ?? path.join(searchRoot(), ".timers.jsonl");
64
+ this.isJSONLines = this.timerfiledir.endsWith(".jsonl");
32
65
  try {
33
- await fs.promises.access(this.timerfiledir);
66
+ fs.accessSync(this.timerfiledir);
34
67
  }
35
68
  catch {
36
- await fs.promises.writeFile(this.timerfiledir, "");
69
+ fs.writeFileSync(this.timerfiledir, "");
37
70
  }
38
71
  }
39
72
  /**
@@ -47,17 +80,36 @@ export class TimersManager {
47
80
  * const newTimer = await manager.createTimer(5000);
48
81
  * // newTimer will be id of the timer
49
82
  */
50
- async createTimer(length) {
83
+ async createTimer(length, title, description) {
51
84
  try {
52
- await this.createFile();
53
85
  if (length < 0) {
54
86
  throw new Error(`Invailed length: ${length}`);
55
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);
56
95
  length = Math.trunc(length);
57
96
  // uuid, start, end
58
97
  const id = uuidv4();
59
98
  const now = Date.now();
60
- 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
+ }
61
113
  await fs.promises.appendFile(this.timerfiledir, newTimerData + "\n");
62
114
  return id;
63
115
  }
@@ -76,22 +128,44 @@ export class TimersManager {
76
128
  */
77
129
  async removeTimer(id) {
78
130
  try {
79
- const timersRaw = fs.readFileSync(this.timerfiledir, "utf-8");
80
- const timersData = timersRaw.split(/\r?\n/);
131
+ const timersRaw = await fs.promises.readFile(this.timerfiledir, "utf-8");
132
+ await checkTimerfileSyntax(timersRaw, this.isJSONLines);
81
133
  let newTimersData = "";
82
- let found = false;
83
- for (const timerData of timersData) {
84
- if (!timerData.trim())
85
- continue;
86
- const [timerId] = timerData.split(" ");
87
- if (timerId === id) {
88
- found = true;
89
- 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`);
90
151
  }
91
- newTimersData += timerData + "\n";
92
152
  }
93
- if (!found) {
94
- 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
+ }
95
169
  }
96
170
  await fs.promises.writeFile(this.timerfiledir, newTimersData, "utf-8");
97
171
  return;
@@ -106,28 +180,41 @@ export class TimersManager {
106
180
  * @param callback Function invoked when an expired timer is detected (called asynchronously)
107
181
  * @param interval (number, optional): Check interval in milliseconds (default: 50ms)
108
182
  * @throws If file operation fails
183
+ * @returns (NodeJS.Timeout) intervalId interval id of checkTimers
109
184
  * @example
110
- * manager.checkTimers((timer) => {
185
+ * const interval = manager.checkTimers((timer) => {
111
186
  * console.log(`A timer was stopped: ${timer.id}`);
112
187
  * });
113
188
  */
114
- async checkTimers(callback, interval = 50) {
115
- try {
116
- await this.createFile();
117
- setInterval(async () => {
189
+ checkTimers(callback, interval = 50) {
190
+ return setInterval(async () => {
191
+ if (this.checkLock)
192
+ return;
193
+ this.checkLock = true;
194
+ try {
118
195
  const timersDataRaw = await fs.promises.readFile(this.timerfiledir, "utf-8");
119
- const timersData = timersDataRaw.split(/\r?\n/);
120
196
  const timersSet = new Set();
121
- await this.checkTimerfileSyntax(timersDataRaw);
122
- for (const timerData of timersData) {
123
- if (!timerData.trim())
124
- continue;
125
- const [id, startStr, stopStr] = timerData.split(" ");
126
- timersSet.add({
127
- id: id,
128
- start: Number(startStr),
129
- stop: Number(stopStr),
130
- });
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
+ }
131
218
  }
132
219
  const now = Date.now();
133
220
  for (const timer of timersSet) {
@@ -136,11 +223,14 @@ export class TimersManager {
136
223
  await callback(timer);
137
224
  }
138
225
  }
139
- }, interval);
140
- }
141
- catch (e) {
142
- throw new Error(`Error when checking alarm: ${e}`);
143
- }
226
+ }
227
+ catch (e) {
228
+ throw new Error(`Error when checking alarm: ${e}`);
229
+ }
230
+ finally {
231
+ this.checkLock = false;
232
+ }
233
+ }, interval);
144
234
  }
145
235
  /**
146
236
  * showTimers
@@ -153,46 +243,33 @@ export class TimersManager {
153
243
  */
154
244
  async showTimers() {
155
245
  try {
156
- await this.createFile();
157
- const timersRaw = fs.readFileSync(this.timerfiledir, "utf-8");
158
- const timersData = timersRaw.split(/\r?\n/);
159
- const timersJSON = [];
160
- for (const timerData of timersData) {
161
- const splitedTimerData = timerData.split(" ");
162
- if (!timerData.trim())
163
- continue;
164
- timersJSON.push({
165
- id: splitedTimerData[0],
166
- start: Number(splitedTimerData[1]),
167
- stop: Number(splitedTimerData[2]),
168
- });
246
+ const timersRaw = await fs.promises.readFile(this.timerfiledir, "utf-8");
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;
169
268
  }
170
- return timersJSON;
171
269
  }
172
270
  catch (e) {
173
271
  throw new Error(`Error when showing timers: ${e}`);
174
272
  }
175
273
  }
176
- async checkTimerfileSyntax(fileData) {
177
- const throwing = () => {
178
- throw new Error(`Timer file's syntax is wrong`);
179
- };
180
- const timersData = fileData
181
- .split('\n')
182
- .map(l => l.trim())
183
- .filter(l => l !== "");
184
- for (const timerData of timersData) {
185
- const timerArray = timerData.split(/\s+/);
186
- if (timerArray.length !== 3)
187
- throwing();
188
- if (timerArray[0]?.length !== 36)
189
- throwing();
190
- if (timerArray[1].trim() === "")
191
- throwing();
192
- if (timerArray[2].trim() === "")
193
- throwing();
194
- }
195
- return;
196
- }
197
274
  }
198
275
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAQpC;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IACR,YAAY,CAAS;IAEtC;;;;OAIM;IACN,YACC,YAAqB;QAErB,IAAI,CAAC,YAAY;YACP,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKM;IACE,KAAK,CAAC,UAAU;QACvB,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAED;;;;;;;;;;OAUM;IACC,KAAK,CAAC,WAAW,CAAC,MAAc;QACtC,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExB,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE5B,mBAAmB;YACnB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC5E,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC;YACrE,OAAO,EAAE,CAAC;QACX,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAED;;;;;;;;OAQM;IACC,KAAK,CAAC,WAAW,CAAC,EAAU;QAClC,IAAI,CAAC;YACJ,MAAM,SAAS,GAAW,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtE,MAAM,UAAU,GAAa,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEtD,IAAI,aAAa,GAAW,EAAE,CAAC;YAC/B,IAAI,KAAK,GAAG,KAAK,CAAC;YAElB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACpC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;oBAAE,SAAS;gBAChC,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACpB,KAAK,GAAG,IAAI,CAAC;oBACb,SAAS;gBACV,CAAC;gBACD,aAAa,IAAI,SAAS,GAAG,IAAI,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YACvE,OAAO;QACR,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAED;;;;;;;;;;OAUM;IACC,KAAK,CAAC,WAAW,CAAC,QAAyC,EAAE,WAAmB,EAAE;QACxF,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExB,WAAW,CAAC,KAAK,IAAI,EAAE;gBACtB,MAAM,aAAa,GAAW,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACrF,MAAM,UAAU,GAAa,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAS,CAAC;gBACnC,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBAE/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACpC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;wBAAE,SAAS;oBAChC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACrD,SAAS,CAAC,GAAG,CAAC;wBACb,EAAE,EAAE,EAAG;wBACP,KAAK,EAAE,MAAM,CAAC,QAAS,CAAC;wBACxB,IAAI,EAAE,MAAM,CAAC,OAAQ,CAAC;qBACtB,CAAC,CAAC;gBACJ,CAAC;gBAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;oBAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;wBAC/B,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACjC,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACvB,CAAC;gBACF,CAAC;YAEF,CAAC,EAAE,QAAQ,CAAC,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAED;;;;;;;;OAQM;IACC,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,SAAS,GAAW,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtE,MAAM,UAAU,GAAa,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEtD,MAAM,UAAU,GAAY,EAAE,CAAC;YAC/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACpC,MAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;oBAAE,SAAS;gBAChC,UAAU,CAAC,IAAI,CAAC;oBACf,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAE;oBACxB,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAE,CAAC;oBACnC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAE,CAAC;iBAClC,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QAClD,MAAM,QAAQ,GAAG,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,QAAQ;aACzB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACxB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,UAAU,GAAa,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,QAAQ,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,EAAE;gBAAE,QAAQ,EAAE,CAAC;YAC7C,IAAI,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,QAAQ,EAAE,CAAC;YAC7C,IAAI,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,QAAQ,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO;IACR,CAAC;CACD"}
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.3",
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":"ab334a4cc9d38461edc4914e5a7246018cf6193b98df9bdba757cde78ddb7019","signature":"2eb27c2f9dfa97a014827d5ecc98073992f89469e4e0ef1c9143858ae168f9cb","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"}