@gantryland/task-cache 0.2.3 → 0.4.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,382 +1,140 @@
1
1
  # @gantryland/task-cache
2
2
 
3
- Cache primitives and combinators for `@gantryland/task`. Compose caching into TaskFn pipelines with minimal surface area and predictable behavior.
4
-
5
- - Works with any TaskFn, no framework coupling.
6
- - Built-in in-memory store with tag invalidation and events.
7
- - Stale-while-revalidate and dedupe support out of the box.
8
- - Works in browser and Node.js with no dependencies.
3
+ Task-function cache wrappers with TTL, stale-while-revalidate, and in-flight dedupe.
9
4
 
10
5
  ## Installation
11
6
 
12
7
  ```bash
13
- npm install @gantryland/task-cache
8
+ npm install @gantryland/task @gantryland/task-cache
14
9
  ```
15
10
 
16
- ## Contents
17
-
18
- - [Quick start](#quick-start)
19
- - [Design goals](#design-goals)
20
- - [When to use task-cache](#when-to-use-task-cache)
21
- - [When not to use task-cache](#when-not-to-use-task-cache)
22
- - [Core concepts](#core-concepts)
23
- - [Flow](#flow)
24
- - [API](#api)
25
- - [Common patterns](#common-patterns)
26
- - [Integrations](#integrations)
27
- - [Related packages](#related-packages)
28
- - [Tests](#tests)
29
-
30
- ## Quick start
11
+ ## Quick Start
31
12
 
32
13
  ```typescript
33
14
  import { Task } from "@gantryland/task";
34
15
  import { MemoryCacheStore, cache } from "@gantryland/task-cache";
35
- import { pipe } from "@gantryland/task-combinators";
36
16
 
37
17
  const store = new MemoryCacheStore();
38
-
39
- const usersTask = new Task(
40
- pipe(
41
- (signal) => fetch("/api/users", { signal }).then((r) => r.json()),
42
- cache("users", store, { ttl: 60_000, tags: ["users"] })
43
- )
18
+ const usersTaskFn = cache("users", store, { ttl: 60_000 })(
19
+ () => fetch("/api/users").then((r) => r.json()),
44
20
  );
45
21
 
46
- await usersTask.run(); // fetches and caches
47
- await usersTask.run(); // cache hit
48
- ```
49
-
50
- This example shows `cache` reuse for fresh data.
51
-
52
- ## Design goals
53
-
54
- - Make caching explicit and composable at the TaskFn level.
55
- - Keep stores minimal so you can swap implementations.
56
- - Provide deterministic cache semantics and clear invalidation paths.
57
-
58
- ## When to use task-cache
22
+ const usersTask = new Task(usersTaskFn);
59
23
 
60
- - You want reuse across TaskFn calls with TTLs.
61
- - You need stale-while-revalidate behavior.
62
- - You want tag-based invalidation or cache events.
63
-
64
- ## When not to use task-cache
65
-
66
- - You need a full data layer with automatic normalization.
67
- - You cannot tolerate stale reads of any kind.
68
-
69
- ## Core concepts
70
-
71
- ### CacheStore
72
-
73
- Minimal interface for cache backends.
74
-
75
- ```typescript
76
- type CacheStore = {
77
- get<T>(key: CacheKey): CacheEntry<T> | undefined
78
- set<T>(key: CacheKey, entry: CacheEntry<T>): void
79
- delete(key: CacheKey): void
80
- clear(): void
81
- has(key: CacheKey): boolean
82
- keys?(): Iterable<CacheKey>
83
- subscribe?(listener: (event: CacheEvent) => void): () => void
84
- emit?(event: CacheEvent): void
85
- invalidateTags?(tags: string[]): void
86
- }
24
+ await usersTask.run();
25
+ await usersTask.run();
87
26
  ```
88
27
 
89
- ### CacheEntry
28
+ ## Exports
90
29
 
91
- ```typescript
92
- type CacheEntry<T> = {
93
- value: T
94
- createdAt: number
95
- updatedAt: number
96
- tags?: string[]
97
- }
98
- ```
99
-
100
- ### CacheEvent
101
-
102
- Stores can emit events to power analytics, logging, or invalidation tracing.
103
-
104
- Event types: `hit`, `miss`, `stale`, `set`, `invalidate`, `clear`, `revalidate`.
105
-
106
- ### CacheKey
107
-
108
- Cache keys can be strings, numbers, or symbols. Use `cacheKey` for consistent keys across call sites.
109
-
110
- ## Flow
111
-
112
- ```text
113
- cache(): fresh -> return
114
- cache(): stale/miss -> fetch -> store -> return
115
-
116
- staleWhileRevalidate(): fresh -> return
117
- staleWhileRevalidate(): stale -> return stale -> revalidate in background
118
- staleWhileRevalidate(): miss -> fetch -> store -> return
119
- ```
120
-
121
- ## API
122
-
123
- ### API at a glance
124
-
125
- | Member | Purpose | Returns |
30
+ | Export | Kind | What it does |
126
31
  | --- | --- | --- |
127
- | **Stores** | | |
128
- | [`MemoryCacheStore`](#memorycachestore) | In-memory store with tags and events | `MemoryCacheStore` |
129
- | **Combinators** | | |
130
- | [`cache`](#cache) | Cache with TTL and dedupe | `(taskFn) => TaskFn` |
131
- | [`staleWhileRevalidate`](#stalewhilerevalidate) | Serve stale and refresh in background | `(taskFn) => TaskFn` |
132
- | [`invalidateOnResolve`](#invalidateonresolve) | Invalidate after TaskFn resolves | `(taskFn) => TaskFn` |
133
- | **Helpers** | | |
134
- | [`cacheKey`](#cachekey) | Build consistent cache keys | `string` |
32
+ | `MemoryCacheStore` | Class | Provides an in-memory `CacheStore` backed by `Map`. |
33
+ | `cache` | Wrapper factory | Returns a TTL cache wrapper with optional in-flight dedupe. |
34
+ | `staleWhileRevalidate` | Wrapper factory | Returns an SWR wrapper with stale window background refresh. |
35
+ | `CacheKey` | Type | Represents supported cache keys (`string | number | symbol`). |
36
+ | `CacheEntry` | Type | Represents cached value data with `updatedAt` timestamp. |
37
+ | `CacheStore` | Type | Represents the minimal cache store contract (`get`, `set`, `delete`). |
38
+ | `CacheOptions` | Type | Represents options for `cache` (`ttl?`, `dedupe?`). |
39
+ | `StaleWhileRevalidateOptions` | Type | Represents options for `staleWhileRevalidate` (`ttl`, `staleTtl?`, `dedupe?`). |
135
40
 
136
- ### MemoryCacheStore
41
+ ## API Reference
137
42
 
138
- In-memory CacheStore with tag invalidation and event emission.
43
+ ### `MemoryCacheStore`
139
44
 
140
- ```typescript
141
- const store = new MemoryCacheStore();
142
- ```
143
-
144
- #### store.get
145
-
146
- ```typescript
147
- store.get<T>(key: CacheKey): CacheEntry<T> | undefined
148
- ```
149
-
150
- Read an entry by key.
151
-
152
- #### store.set
153
-
154
- ```typescript
155
- store.set<T>(key: CacheKey, entry: CacheEntry<T>): void
156
- ```
157
-
158
- Write an entry by key and emit a `set` event.
159
-
160
- #### store.delete
161
-
162
- ```typescript
163
- store.delete(key: CacheKey): void
164
- ```
45
+ Provides an in-memory `CacheStore` implementation backed by `Map`.
165
46
 
166
- Delete an entry by key and emit an `invalidate` event.
167
-
168
- #### store.clear
169
-
170
- ```typescript
171
- store.clear(): void
172
- ```
173
-
174
- Clear all entries and emit a `clear` event.
175
-
176
- #### store.has
177
-
178
- ```typescript
179
- store.has(key: CacheKey): boolean
180
- ```
181
-
182
- Check whether a key exists.
183
-
184
- #### store.keys
185
-
186
- ```typescript
187
- store.keys(): Iterable<CacheKey>
188
- ```
189
-
190
- Return all keys.
47
+ | Method | Signature | Description |
48
+ | --- | --- | --- |
49
+ | `get` | `<T>(key: CacheKey) => CacheEntry<T> \| undefined` | Returns cached entry for `key`, if present. |
50
+ | `set` | `<T>(key: CacheKey, entry: CacheEntry<T>) => void` | Stores or replaces entry for `key`. |
51
+ | `delete` | `(key: CacheKey) => void` | Removes entry for `key`. |
191
52
 
192
- #### store.subscribe
53
+ ### `cache`
193
54
 
194
55
  ```typescript
195
- store.subscribe(listener: (event: CacheEvent) => void): () => void
56
+ cache<T, Args extends unknown[] = []>(
57
+ key: CacheKey,
58
+ store: CacheStore,
59
+ options?: CacheOptions,
60
+ ): (taskFn: (...args: Args) => Promise<T>) => (...args: Args) => Promise<T>
196
61
  ```
197
62
 
198
- Listen to cache events. Returns an unsubscribe function.
63
+ Returns a wrapper that serves fresh cache hits and resolves source on miss or stale entry.
199
64
 
200
- #### store.emit
65
+ ### `staleWhileRevalidate`
201
66
 
202
67
  ```typescript
203
- store.emit(event: CacheEvent): void
68
+ staleWhileRevalidate<T, Args extends unknown[] = []>(
69
+ key: CacheKey,
70
+ store: CacheStore,
71
+ options: StaleWhileRevalidateOptions,
72
+ ): (taskFn: (...args: Args) => Promise<T>) => (...args: Args) => Promise<T>
204
73
  ```
205
74
 
206
- Emit a cache event to subscribers.
75
+ Returns a wrapper that can return stale values within `staleTtl` while refreshing in background.
207
76
 
208
- #### store.invalidateTags
77
+ ### Types
209
78
 
210
79
  ```typescript
211
- store.invalidateTags(tags: string[]): void
212
- ```
213
-
214
- Invalidate all entries matching any tag.
215
-
216
- ### cache
80
+ type CacheKey = string | number | symbol;
217
81
 
218
- Return cached data if fresh; otherwise fetch and cache. Dedupe is enabled by default.
219
-
220
- ```typescript
221
- cache("users", store, { ttl: 60_000, tags: ["users"], dedupe: true })
222
- ```
82
+ type CacheEntry<T> = {
83
+ value: T;
84
+ updatedAt: number;
85
+ };
223
86
 
224
- #### CacheOptions
87
+ type CacheStore = {
88
+ get<T>(key: CacheKey): CacheEntry<T> | undefined;
89
+ set<T>(key: CacheKey, entry: CacheEntry<T>): void;
90
+ delete(key: CacheKey): void;
91
+ };
225
92
 
226
- ```typescript
227
93
  type CacheOptions = {
228
- ttl?: number
229
- staleTtl?: number
230
- tags?: string[]
231
- dedupe?: boolean
232
- }
233
- ```
234
-
235
- ### staleWhileRevalidate
94
+ ttl?: number;
95
+ dedupe?: boolean;
96
+ };
236
97
 
237
- Return stale data (if within the stale window) and refresh in the background.
238
-
239
- ```typescript
240
- staleWhileRevalidate("users", store, { ttl: 30_000, staleTtl: 60_000 })
98
+ type StaleWhileRevalidateOptions = CacheOptions & {
99
+ ttl: number;
100
+ staleTtl?: number;
101
+ };
241
102
  ```
242
103
 
243
- ### invalidateOnResolve
104
+ ## Practical Use Cases
244
105
 
245
- Invalidate keys or tags after a TaskFn resolves.
106
+ ### Example: TTL Cache for List Endpoints
246
107
 
247
108
  ```typescript
248
- invalidateOnResolve("users", store)
249
- invalidateOnResolve({ tags: ["users"] }, store)
250
- invalidateOnResolve((result) => ["users", `user:${result.id}`], store)
251
- ```
252
-
253
- ### cacheKey
254
-
255
- Helper for consistent cache keys.
256
-
257
- ```typescript
258
- cacheKey("user", userId)
259
- ```
260
-
261
- ## Common patterns
262
-
263
- Use these patterns for most usage.
264
-
265
- ### Cache with Task and pipe
266
-
267
- ```typescript
268
- import { Task } from "@gantryland/task";
269
- import { MemoryCacheStore, cache } from "@gantryland/task-cache";
270
- import { pipe } from "@gantryland/task-combinators";
271
-
272
109
  const store = new MemoryCacheStore();
273
110
 
274
- const task = new Task(
275
- pipe(
276
- (signal) => fetch("/api/projects", { signal }).then((r) => r.json()),
277
- cache("projects", store, { ttl: 15_000 })
278
- )
111
+ const listUsers = cache("users:list", store, { ttl: 30_000 })(() =>
112
+ fetch("/api/users").then((r) => r.json()),
279
113
  );
280
-
281
- await task.run();
282
114
  ```
283
115
 
284
- ### Stale-while-revalidate for fast UI
116
+ ### Example: Stale-While-Revalidate for Dashboards
285
117
 
286
118
  ```typescript
287
- import { Task } from "@gantryland/task";
288
- import { MemoryCacheStore, staleWhileRevalidate } from "@gantryland/task-cache";
289
- import { pipe } from "@gantryland/task-combinators";
290
-
291
- const store = new MemoryCacheStore();
292
-
293
- const feedTask = new Task(
294
- pipe(
295
- (signal) => fetch("/api/feed", { signal }).then((r) => r.json()),
296
- staleWhileRevalidate("feed", store, { ttl: 10_000, staleTtl: 30_000 })
297
- )
298
- );
299
-
300
- await feedTask.run();
301
- ```
302
-
303
- ### Tag-based invalidation
304
-
305
- ```typescript
306
- import { Task } from "@gantryland/task";
307
- import { MemoryCacheStore, cache, invalidateOnResolve } from "@gantryland/task-cache";
308
- import { pipe } from "@gantryland/task-combinators";
309
-
310
- const store = new MemoryCacheStore();
311
-
312
- const listTask = new Task(
313
- pipe(
314
- (signal) => fetch("/api/posts", { signal }).then((r) => r.json()),
315
- cache("posts", store, { ttl: 30_000, tags: ["posts"] })
316
- )
317
- );
318
-
319
- const createTask = new Task(
320
- pipe(
321
- (signal) => fetch("/api/posts", { method: "POST", signal }).then((r) => r.json()),
322
- invalidateOnResolve({ tags: ["posts"] }, store)
323
- )
324
- );
325
- ```
326
-
327
- ### In-flight dedupe
328
-
329
- ```typescript
330
- cache("users", store, { ttl: 10_000, dedupe: true });
331
- cache("users", store, { ttl: 10_000, dedupe: false });
119
+ const getStats = staleWhileRevalidate("stats", store, {
120
+ ttl: 10_000,
121
+ staleTtl: 50_000,
122
+ })(() => fetch("/api/stats").then((r) => r.json()));
332
123
  ```
333
124
 
334
- ### Observe cache events
125
+ ### Example: Disable Dedupe for Independent Refreshes
335
126
 
336
127
  ```typescript
337
- const store = new MemoryCacheStore();
338
-
339
- const unsub = store.subscribe((event) => {
340
- console.log(event.type, event.key, event.entry?.updatedAt);
341
- });
342
-
343
- // Later
344
- unsub();
345
- ```
346
-
347
- ## Integrations
348
-
349
- Compose with other Gantryland utilities. This section shows common pairings.
350
-
351
- ### Persist cache with task-storage
352
-
353
- ```typescript
354
- import { Task } from "@gantryland/task";
355
- import { cache } from "@gantryland/task-cache";
356
- import { StorageCacheStore } from "@gantryland/task-storage";
357
- import { pipe } from "@gantryland/task-combinators";
358
-
359
- const store = new StorageCacheStore(localStorage, { prefix: "gantry:" });
360
-
361
- const task = new Task(
362
- pipe(
363
- (signal) => fetch("/api/settings", { signal }).then((r) => r.json()),
364
- cache("settings", store, { ttl: 60_000 })
365
- )
128
+ const getFeed = cache("feed", store, { ttl: 5_000, dedupe: false })(() =>
129
+ fetch("/api/feed").then((r) => r.json()),
366
130
  );
367
131
  ```
368
132
 
369
- ## Related packages
133
+ ## Runtime Semantics
370
134
 
371
- - [@gantryland/task](../task/) - Core Task abstraction
372
- - [@gantryland/task-combinators](../task-combinators/) - Composable TaskFn operators
373
- - [@gantryland/task-storage](../task-storage/) - Persistent CacheStore implementations
374
- - [@gantryland/task-hooks](../task-hooks/) - React bindings
375
- - [@gantryland/task-logger](../task-logger/) - Logging utilities
376
-
377
- ## Tests
378
-
379
- ```bash
380
- npm test
381
- npx vitest packages/task-cache/test
382
- ```
135
+ - `cache` returns cached value when entry is fresh; otherwise it executes and stores on success.
136
+ - `staleWhileRevalidate` requires `ttl` as a non-negative finite number.
137
+ - Fresh SWR hit returns immediately without background work.
138
+ - Stale-window SWR hit returns stale value and triggers background revalidation.
139
+ - Background revalidation errors are ignored for the caller path.
140
+ - `dedupe` defaults to `true` so same key and in-flight requests share one promise.
package/dist/index.d.ts CHANGED
@@ -1,121 +1,37 @@
1
1
  import type { TaskFn } from "@gantryland/task";
2
- /**
3
- * Supported cache key types.
4
- */
2
+ /** Cache key type used by cache stores and wrappers. */
5
3
  export type CacheKey = string | number | symbol;
6
- /**
7
- * Cache entry payload with metadata.
8
- */
4
+ /** Stored cache value with last update timestamp. */
9
5
  export type CacheEntry<T> = {
10
6
  value: T;
11
- createdAt: number;
12
7
  updatedAt: number;
13
- tags?: string[];
14
8
  };
15
- /**
16
- * Cache event names emitted by stores.
17
- */
18
- export type CacheEventType = "hit" | "miss" | "stale" | "set" | "invalidate" | "clear" | "revalidate";
19
- /**
20
- * Cache event payload.
21
- */
22
- export type CacheEvent = {
23
- type: CacheEventType;
24
- key?: CacheKey;
25
- entry?: CacheEntry<unknown>;
26
- };
27
- /**
28
- * Minimal cache store interface.
29
- */
9
+ /** Minimal cache store contract used by this package. */
30
10
  export type CacheStore = {
31
11
  get<T>(key: CacheKey): CacheEntry<T> | undefined;
32
12
  set<T>(key: CacheKey, entry: CacheEntry<T>): void;
33
13
  delete(key: CacheKey): void;
34
- clear(): void;
35
- has(key: CacheKey): boolean;
36
- keys?(): Iterable<CacheKey>;
37
- subscribe?(listener: (event: CacheEvent) => void): () => void;
38
- emit?(event: CacheEvent): void;
39
- invalidateTags?(tags: string[]): void;
40
14
  };
41
- /**
42
- * In-memory CacheStore with tag support.
43
- */
15
+ /** In-memory `CacheStore` backed by `Map`. */
44
16
  export declare class MemoryCacheStore implements CacheStore {
45
17
  private store;
46
- private tagIndex;
47
- private listeners;
48
- /**
49
- * Get a cache entry by key.
50
- */
51
18
  get<T>(key: CacheKey): CacheEntry<T> | undefined;
52
- /**
53
- * Set a cache entry by key.
54
- */
55
19
  set<T>(key: CacheKey, entry: CacheEntry<T>): void;
56
- /**
57
- * Delete a cache entry by key.
58
- */
59
20
  delete(key: CacheKey): void;
60
- /**
61
- * Clear all entries.
62
- */
63
- clear(): void;
64
- /**
65
- * Check whether a key exists.
66
- */
67
- has(key: CacheKey): boolean;
68
- /**
69
- * List all keys.
70
- */
71
- keys(): Iterable<CacheKey>;
72
- /**
73
- * Subscribe to cache events.
74
- */
75
- subscribe(listener: (event: CacheEvent) => void): () => void;
76
- /**
77
- * Emit a cache event to listeners.
78
- */
79
- emit(event: CacheEvent): void;
80
- /**
81
- * Invalidate entries matching any tag.
82
- */
83
- invalidateTags(tags: string[]): void;
84
- private addTags;
85
- private removeTags;
86
21
  }
87
- /**
88
- * Options for cache and stale-while-revalidate.
89
- */
90
22
  export type CacheOptions = {
91
23
  ttl?: number;
92
- staleTtl?: number;
93
- tags?: string[];
94
24
  dedupe?: boolean;
95
25
  };
26
+ /** Options for stale-while-revalidate behavior. */
27
+ export type StaleWhileRevalidateOptions = CacheOptions & {
28
+ ttl: number;
29
+ staleTtl?: number;
30
+ };
31
+ /** Cache wrapper with optional TTL and in-flight deduplication. */
32
+ export declare const cache: <T, Args extends unknown[] = []>(key: CacheKey, store: CacheStore, options?: CacheOptions) => (taskFn: TaskFn<T, Args>) => TaskFn<T, Args>;
96
33
  /**
97
- * Cache combinator. Returns cached data if fresh, otherwise fetches and caches.
98
- */
99
- export declare const cache: <T>(key: CacheKey, store: CacheStore, options?: CacheOptions) => (taskFn: TaskFn<T>) => TaskFn<T>;
100
- /**
101
- * Stale-while-revalidate combinator. Returns cached data immediately if stale
102
- * within the stale window, and revalidates in the background.
103
- */
104
- export declare const staleWhileRevalidate: <T>(key: CacheKey, store: CacheStore, options?: CacheOptions) => (taskFn: TaskFn<T>) => TaskFn<T>;
105
- /**
106
- * Target(s) to invalidate after a task resolves.
107
- */
108
- export type InvalidateTarget<T> = CacheKey | CacheKey[] | {
109
- tags: string[];
110
- } | ((result: T) => CacheKey | CacheKey[] | {
111
- tags: string[];
112
- });
113
- /**
114
- * Invalidates cache entries after a TaskFn resolves.
115
- */
116
- export declare const invalidateOnResolve: <T>(target: InvalidateTarget<T>, store: CacheStore) => (taskFn: TaskFn<T>) => TaskFn<T>;
117
- /**
118
- * Helper for consistent cache keys.
34
+ * Return stale values within a stale window and refresh in background.
119
35
  */
120
- export declare const cacheKey: (...parts: Array<string | number | boolean | null | undefined>) => string;
36
+ export declare const staleWhileRevalidate: <T, Args extends unknown[] = []>(key: CacheKey, store: CacheStore, options: StaleWhileRevalidateOptions) => (taskFn: TaskFn<T, Args>) => TaskFn<T, Args>;
121
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,wDAAwD;AACxD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,qDAAqD;AACrD,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,KAAK,EAAE,CAAC,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACjD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAClD,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,8CAA8C;AAC9C,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,KAAK,CAA4C;IAEzD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS;IAIhD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI;IAIjD,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;CAG5B;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,mDAAmD;AACnD,MAAM,MAAM,2BAA2B,GAAG,YAAY,GAAG;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AA2EF,mEAAmE;AACnE,eAAO,MAAM,KAAK,GACf,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,GAAG,EAAE,EAC7B,KAAK,QAAQ,EACb,OAAO,UAAU,EACjB,UAAS,YAAiB,MAE3B,QAAQ,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAKxC,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC9B,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,GAAG,EAAE,EAC7B,KAAK,QAAQ,EACb,OAAO,UAAU,EACjB,SAAS,2BAA2B,MAErC,QAAQ,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAcxC,CAAC"}
package/dist/index.js CHANGED
@@ -1,109 +1,16 @@
1
- /**
2
- * In-memory CacheStore with tag support.
3
- */
1
+ /** In-memory `CacheStore` backed by `Map`. */
4
2
  export class MemoryCacheStore {
5
3
  constructor() {
6
4
  this.store = new Map();
7
- this.tagIndex = new Map();
8
- this.listeners = new Set();
9
5
  }
10
- /**
11
- * Get a cache entry by key.
12
- */
13
6
  get(key) {
14
7
  return this.store.get(key);
15
8
  }
16
- /**
17
- * Set a cache entry by key.
18
- */
19
9
  set(key, entry) {
20
- const existing = this.store.get(key);
21
- if (existing?.tags)
22
- this.removeTags(key, existing.tags);
23
- if (entry.tags)
24
- this.addTags(key, entry.tags);
25
10
  this.store.set(key, entry);
26
- this.emit({ type: "set", key, entry });
27
11
  }
28
- /**
29
- * Delete a cache entry by key.
30
- */
31
12
  delete(key) {
32
- const existing = this.store.get(key);
33
- if (existing?.tags)
34
- this.removeTags(key, existing.tags);
35
13
  this.store.delete(key);
36
- this.emit({ type: "invalidate", key, entry: existing });
37
- }
38
- /**
39
- * Clear all entries.
40
- */
41
- clear() {
42
- this.store.clear();
43
- this.tagIndex.clear();
44
- this.emit({ type: "clear" });
45
- }
46
- /**
47
- * Check whether a key exists.
48
- */
49
- has(key) {
50
- return this.store.has(key);
51
- }
52
- /**
53
- * List all keys.
54
- */
55
- keys() {
56
- return this.store.keys();
57
- }
58
- /**
59
- * Subscribe to cache events.
60
- */
61
- subscribe(listener) {
62
- this.listeners.add(listener);
63
- return () => this.listeners.delete(listener);
64
- }
65
- /**
66
- * Emit a cache event to listeners.
67
- */
68
- emit(event) {
69
- for (const listener of this.listeners) {
70
- try {
71
- listener(event);
72
- }
73
- catch (error) {
74
- console.error("Cache listener error", error);
75
- }
76
- }
77
- }
78
- /**
79
- * Invalidate entries matching any tag.
80
- */
81
- invalidateTags(tags) {
82
- for (const tag of tags) {
83
- const keys = this.tagIndex.get(tag);
84
- if (!keys)
85
- continue;
86
- for (const key of keys)
87
- this.delete(key);
88
- this.tagIndex.delete(tag);
89
- }
90
- }
91
- addTags(key, tags) {
92
- for (const tag of tags) {
93
- const set = this.tagIndex.get(tag) ?? new Set();
94
- set.add(key);
95
- this.tagIndex.set(tag, set);
96
- }
97
- }
98
- removeTags(key, tags) {
99
- for (const tag of tags) {
100
- const set = this.tagIndex.get(tag);
101
- if (!set)
102
- continue;
103
- set.delete(key);
104
- if (set.size === 0)
105
- this.tagIndex.delete(tag);
106
- }
107
14
  }
108
15
  }
109
16
  const pendingByStore = new WeakMap();
@@ -120,24 +27,25 @@ const isFresh = (entry, ttl) => {
120
27
  return true;
121
28
  return Date.now() - entry.updatedAt <= ttl;
122
29
  };
30
+ const toValidTtl = (ttl) => {
31
+ if (typeof ttl !== "number" || !Number.isFinite(ttl) || ttl < 0) {
32
+ throw new Error("staleWhileRevalidate requires a non-negative finite ttl");
33
+ }
34
+ return ttl;
35
+ };
123
36
  const isWithinStale = (entry, ttl, staleTtl) => {
124
- if (ttl === undefined)
125
- return false;
126
37
  const age = Date.now() - entry.updatedAt;
127
38
  return age > ttl && age <= ttl + (staleTtl ?? 0);
128
39
  };
129
- const setEntry = (store, key, value, tags, previous) => {
130
- const now = Date.now();
40
+ const setEntry = (store, key, value) => {
131
41
  const entry = {
132
42
  value,
133
- createdAt: previous?.createdAt ?? now,
134
- updatedAt: now,
135
- tags,
43
+ updatedAt: Date.now(),
136
44
  };
137
45
  store.set(key, entry);
138
46
  return entry;
139
47
  };
140
- const resolveWithDedupe = async (key, store, taskFn, signal, options = {}, previous) => {
48
+ const resolveWithDedupe = async (key, store, taskFn, args, options = {}) => {
141
49
  const dedupe = options.dedupe !== false;
142
50
  const pending = dedupe ? getPendingMap(store) : undefined;
143
51
  if (pending) {
@@ -145,9 +53,10 @@ const resolveWithDedupe = async (key, store, taskFn, signal, options = {}, previ
145
53
  if (inFlight)
146
54
  return inFlight;
147
55
  }
148
- const promise = taskFn(signal)
56
+ const promise = Promise.resolve()
57
+ .then(() => taskFn(...args))
149
58
  .then((value) => {
150
- setEntry(store, key, value, options.tags, previous);
59
+ setEntry(store, key, value);
151
60
  return value;
152
61
  })
153
62
  .finally(() => {
@@ -156,54 +65,27 @@ const resolveWithDedupe = async (key, store, taskFn, signal, options = {}, previ
156
65
  pending?.set(key, promise);
157
66
  return promise;
158
67
  };
159
- /**
160
- * Cache combinator. Returns cached data if fresh, otherwise fetches and caches.
161
- */
162
- export const cache = (key, store, options = {}) => (taskFn) => async (signal) => {
68
+ /** Cache wrapper with optional TTL and in-flight deduplication. */
69
+ export const cache = (key, store, options = {}) => (taskFn) => async (...args) => {
163
70
  const entry = store.get(key);
164
- if (entry && isFresh(entry, options.ttl)) {
165
- store.emit?.({ type: "hit", key, entry });
71
+ if (entry && isFresh(entry, options.ttl))
166
72
  return entry.value;
167
- }
168
- store.emit?.({ type: entry ? "stale" : "miss", key, entry });
169
- return resolveWithDedupe(key, store, taskFn, signal, options, entry);
73
+ return resolveWithDedupe(key, store, taskFn, args, options);
170
74
  };
171
75
  /**
172
- * Stale-while-revalidate combinator. Returns cached data immediately if stale
173
- * within the stale window, and revalidates in the background.
76
+ * Return stale values within a stale window and refresh in background.
174
77
  */
175
- export const staleWhileRevalidate = (key, store, options = {}) => (taskFn) => async (signal) => {
78
+ export const staleWhileRevalidate = (key, store, options) => (taskFn) => async (...args) => {
79
+ const ttl = toValidTtl(options?.ttl);
176
80
  const entry = store.get(key);
177
- if (entry && isFresh(entry, options.ttl)) {
178
- store.emit?.({ type: "hit", key, entry });
81
+ if (entry && isFresh(entry, ttl))
179
82
  return entry.value;
180
- }
181
- if (entry && isWithinStale(entry, options.ttl, options.staleTtl)) {
182
- store.emit?.({ type: "stale", key, entry });
183
- store.emit?.({ type: "revalidate", key, entry });
184
- void resolveWithDedupe(key, store, taskFn, undefined, options, entry);
83
+ if (entry && isWithinStale(entry, ttl, options.staleTtl)) {
84
+ void resolveWithDedupe(key, store, taskFn, args, options).catch(() => {
85
+ // Background revalidation errors are ignored.
86
+ });
185
87
  return entry.value;
186
88
  }
187
- store.emit?.({ type: "miss", key, entry });
188
- return resolveWithDedupe(key, store, taskFn, signal, options, entry);
89
+ return resolveWithDedupe(key, store, taskFn, args, options);
189
90
  };
190
- /**
191
- * Invalidates cache entries after a TaskFn resolves.
192
- */
193
- export const invalidateOnResolve = (target, store) => (taskFn) => async (signal) => {
194
- const result = await taskFn(signal);
195
- const resolved = typeof target === "function" ? target(result) : target;
196
- if (typeof resolved === "object" && !Array.isArray(resolved) && "tags" in resolved) {
197
- store.invalidateTags?.(resolved.tags);
198
- return result;
199
- }
200
- const keys = Array.isArray(resolved) ? resolved : [resolved];
201
- for (const key of keys)
202
- store.delete(key);
203
- return result;
204
- };
205
- /**
206
- * Helper for consistent cache keys.
207
- */
208
- export const cacheKey = (...parts) => parts.map((part) => String(part)).join(":");
209
91
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,8 @@
1
1
  {
2
2
  "name": "@gantryland/task-cache",
3
- "version": "0.2.3",
4
- "description": "Cache store and combinator for @gantryland/task",
5
- "keywords": [
6
- "task",
7
- "cache",
8
- "memoize",
9
- "async"
10
- ],
3
+ "version": "0.4.0",
4
+ "description": "Task-function cache wrappers for @gantryland/task",
5
+ "keywords": ["task", "cache", "memoize", "async"],
11
6
  "type": "module",
12
7
  "main": "./dist/index.js",
13
8
  "types": "./dist/index.d.ts",
@@ -19,10 +14,19 @@
19
14
  "./package.json": "./package.json"
20
15
  },
21
16
  "files": [
22
- "dist",
17
+ "dist/index.js",
18
+ "dist/index.js.map",
19
+ "dist/index.d.ts",
20
+ "dist/index.d.ts.map",
23
21
  "README.md"
24
22
  ],
23
+ "scripts": {
24
+ "prepack": "tsc -b"
25
+ },
25
26
  "sideEffects": false,
27
+ "engines": {
28
+ "node": ">=20"
29
+ },
26
30
  "license": "MIT",
27
31
  "publishConfig": {
28
32
  "access": "public"
@@ -36,6 +40,6 @@
36
40
  },
37
41
  "homepage": "https://github.com/joehoot/gantryland/tree/main/packages/task-cache#readme",
38
42
  "dependencies": {
39
- "@gantryland/task": "^0.2.3"
43
+ "@gantryland/task": "^0.4.0"
40
44
  }
41
45
  }
@@ -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.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.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.es2020.full.d.ts","../../task/dist/index.d.ts","../index.ts","../../../node_modules/@types/aria-query/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.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/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.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.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/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.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/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/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/filereader.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/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.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/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/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/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/promises.d.ts","../../../node_modules/@types/node/stream/consumers.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/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/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","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/react/index.d.ts"],"fileIdsList":[[61,109,126,127],[61,106,107,109,126,127],[61,108,109,126,127],[109,126,127],[61,109,114,126,127,144],[61,109,110,115,120,126,127,129,141,152],[61,109,110,111,120,126,127,129],[56,57,58,61,109,126,127],[61,109,112,126,127,153],[61,109,113,114,121,126,127,130],[61,109,114,126,127,141,149],[61,109,115,117,120,126,127,129],[61,108,109,116,126,127],[61,109,117,118,126,127],[61,109,119,120,126,127],[61,108,109,120,126,127],[61,109,120,121,122,126,127,141,152],[61,109,120,121,122,126,127,136,141,144],[61,102,109,117,120,123,126,127,129,141,152],[61,109,120,121,123,124,126,127,129,141,149,152],[61,109,123,125,126,127,141,149,152],[59,60,61,62,63,64,65,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],[61,109,120,126,127],[61,109,126,127,128,152],[61,109,117,120,126,127,129,141],[61,109,126,127,130],[61,109,126,127,131],[61,108,109,126,127,132],[61,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],[61,109,126,127,134],[61,109,126,127,135],[61,109,120,126,127,136,137],[61,109,126,127,136,138,153,155],[61,109,121,126,127],[61,109,120,126,127,141,142,144],[61,109,126,127,143,144],[61,109,126,127,141,142],[61,109,126,127,144],[61,109,126,127,145],[61,106,109,126,127,141,146],[61,109,120,126,127,147,148],[61,109,126,127,147,148],[61,109,114,126,127,129,141,149],[61,109,126,127,150],[61,109,126,127,129,151],[61,109,123,126,127,135,152],[61,109,114,126,127,153],[61,109,126,127,141,154],[61,109,126,127,128,155],[61,109,126,127,156],[61,102,109,126,127],[61,102,109,120,122,126,127,132,141,144,152,154,155,157],[61,109,126,127,141,158],[61,109,126,127,160,161,162],[61,74,78,109,126,127,152],[61,74,109,126,127,141,152],[61,69,109,126,127],[61,71,74,109,126,127,149,152],[61,109,126,127,129,149],[61,109,126,127,159],[61,69,109,126,127,159],[61,71,74,109,126,127,129,152],[61,66,67,70,73,109,120,126,127,141,152],[61,74,81,109,126,127],[61,66,72,109,126,127],[61,74,95,96,109,126,127],[61,70,74,109,126,127,144,152,159],[61,95,109,126,127,159],[61,68,69,109,126,127,159],[61,74,109,126,127],[61,68,69,70,71,72,73,74,75,76,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,96,97,98,99,100,101,109,126,127],[61,74,89,109,126,127],[61,74,81,82,109,126,127],[61,72,74,82,83,109,126,127],[61,73,109,126,127],[61,66,69,74,109,126,127],[61,74,78,82,83,109,126,127],[61,78,109,126,127],[61,72,74,77,109,126,127,152],[61,66,71,74,81,109,126,127],[61,109,126,127,141],[61,69,74,95,109,126,127,157,159],[52,61,109,126,127]],"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":"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":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8","impliedFormat":1},{"version":"8aa45bb914d435792b66feeda81b8aac9fd988d1972873073247aff26c0baf6e","impliedFormat":99},{"version":"e32ee05b55e05bf7ac299287adb2c79a0d6fac8a3b4fac16c0aafb4f5cd392f2","signature":"6fc95e9a3d190c86735a0c2d5c806004e04f5893ee1d60877a733976418dded4","impliedFormat":99},{"version":"ae77d81a5541a8abb938a0efedf9ac4bea36fb3a24cc28cfa11c598863aba571","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"2cbe0621042e2a68c7cbce5dfed3906a1862a16a7d496010636cdbdb91341c0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"bb45cd435da536500f1d9692a9b49d0c570b763ccbf00473248b777f5c1f353b","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2bc7425ef40526650d6db7e072c1ff4a51101c3ac2cc4b666623b19496a6e27","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b039f55681caaf111d5eb84d292b9bee9e0131d0db1ad0871eef0964f533c73","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c959a391a75be9789b43c8468f71e3fa06488b4d691d5729dde1416dcd38225b","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"0dba70b3fb0dcd713fda33c2df64fa6751fff6460e536971cee917260fb17882","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"9f663c2f91127ef7024e8ca4b3b4383ff2770e5f826696005de382282794b127","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc","impliedFormat":1},{"version":"eb5b19b86227ace1d29ea4cf81387279d04bb34051e944bc53df69f58914b788","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"7a3aa194cfd5919c4da251ef04ea051077e22702638d4edcb9579e9101653519","affectsGlobalScope":true,"impliedFormat":1}],"root":[53],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":199,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7},"referencedMap":[[54,1],[55,1],[106,2],[107,2],[108,3],[61,4],[109,5],[110,6],[111,7],[56,1],[59,8],[57,1],[58,1],[112,9],[113,10],[114,11],[115,12],[116,13],[117,14],[118,14],[119,15],[120,16],[121,17],[122,18],[62,1],[60,1],[123,19],[124,20],[125,21],[159,22],[126,23],[127,1],[128,24],[129,25],[130,26],[131,27],[132,28],[133,29],[134,30],[135,31],[136,32],[137,32],[138,33],[139,1],[140,34],[141,35],[143,36],[142,37],[144,38],[145,39],[146,40],[147,41],[148,42],[149,43],[150,44],[151,45],[152,46],[153,47],[154,48],[155,49],[156,50],[63,1],[64,1],[65,1],[103,51],[104,1],[105,1],[157,52],[158,53],[160,1],[161,1],[163,54],[162,1],[49,1],[50,1],[10,1],[8,1],[9,1],[14,1],[13,1],[2,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[3,1],[23,1],[24,1],[4,1],[25,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[51,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[1,1],[12,1],[11,1],[81,55],[91,56],[80,55],[101,57],[72,58],[71,59],[100,60],[94,61],[99,62],[74,63],[88,64],[73,65],[97,66],[69,67],[68,60],[98,68],[70,69],[75,70],[76,1],[79,70],[66,1],[102,71],[92,72],[83,73],[84,74],[86,75],[82,76],[85,77],[95,60],[77,78],[78,79],[87,80],[67,81],[90,72],[89,70],[93,1],[96,82],[53,83],[52,1]],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}