@pumped-fn/lite 1.2.0 → 1.2.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @pumped-fn/lite
2
2
 
3
+ ## 1.2.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 1642d0c: fix(flow): improve type inference for flows without parse
8
+
9
+ Add explicit `parse?: undefined` to flow overloads without parse function. This ensures TypeScript correctly narrows the overload selection, allowing `ctx.input` to be properly typed when `parse` is provided.
10
+
11
+ ## 1.2.1
12
+
13
+ ### Patch Changes
14
+
15
+ - b524371: docs: replace ASCII diagrams with Mermaid and streamline code examples
16
+
17
+ - Convert Core Concepts ASCII chart to Mermaid graph
18
+ - Add Mermaid diagrams for Atoms, Flows, Controllers, Tags, Presets, and Extensions sections
19
+ - Replace verbose code examples with concise versions where diagrams communicate the concept
20
+ - Reduce README from ~710 lines to ~690 lines while improving visual clarity
21
+
3
22
  ## 1.2.0
4
23
 
5
24
  ### Minor Changes
package/README.md CHANGED
@@ -64,23 +64,15 @@ await scope.dispose()
64
64
 
65
65
  ## Core Concepts
66
66
 
67
- ```
68
- ┌─────────────────────────────────────────────────────────────┐
69
- Scope
70
- (long-lived execution boundary)
71
- │ │
72
- │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
73
- │ │ Atom │ ──── │ Atom │ ──── │ Atom │ │
74
- │ │ (effect)│ │ (effect)│ │ (effect)│ │
75
- │ └─────────┘ └─────────┘ └─────────┘ │
76
- │ │ │ │
77
- │ └──────────────┬───────────────────┘ │
78
- │ ▼ │
79
- │ ┌─────────────────────────────────────────────────────┐ │
80
- │ │ ExecutionContext │ │
81
- │ │ (short-lived operation with input, tags, cleanup) │ │
82
- │ └─────────────────────────────────────────────────────┘ │
83
- └─────────────────────────────────────────────────────────────┘
67
+ ```mermaid
68
+ graph TB
69
+ subgraph Scope["Scope (long-lived execution boundary)"]
70
+ A1["Atom (effect)"] --- A2["Atom (effect)"]
71
+ A2 --- A3["Atom (effect)"]
72
+ A1 --> EC
73
+ A3 --> EC
74
+ EC["ExecutionContext<br/>(short-lived operation with input, tags, cleanup)"]
75
+ end
84
76
  ```
85
77
 
86
78
  | Concept | Purpose |
@@ -96,6 +88,16 @@ await scope.dispose()
96
88
 
97
89
  Atoms are long-lived dependencies that are cached within a scope.
98
90
 
91
+ ```mermaid
92
+ flowchart TB
93
+ subgraph Scope
94
+ Config["configAtom"] --> API["apiClientAtom"]
95
+ DB["dbAtom"] --> Repo["userRepoAtom"]
96
+ API --> Service["userServiceAtom"]
97
+ Repo --> Service
98
+ end
99
+ ```
100
+
99
101
  ### Basic Atom
100
102
 
101
103
  ```typescript
@@ -174,6 +176,22 @@ const counterAtom = atom({
174
176
 
175
177
  Flows are templates for short-lived operations.
176
178
 
179
+ ```mermaid
180
+ sequenceDiagram
181
+ participant Client
182
+ participant Context as ExecutionContext
183
+ participant Flow
184
+ participant Atoms
185
+
186
+ Client->>Context: exec({ flow, input })
187
+ Context->>Atoms: resolve dependencies
188
+ Atoms-->>Context: deps
189
+ Context->>Flow: factory(ctx, deps)
190
+ Flow-->>Context: result
191
+ Context-->>Client: result
192
+ Client->>Context: close()
193
+ ```
194
+
177
195
  ### Basic Flow
178
196
 
179
197
  ```typescript
@@ -210,18 +228,11 @@ Parse runs before the factory, and `ctx.input` type is inferred from the parse r
210
228
  ### Executing Flows
211
229
 
212
230
  ```typescript
213
- const scope = createScope()
214
- await scope.ready
215
-
216
231
  const context = scope.createContext()
217
-
218
- // Execute with input
219
232
  const user = await context.exec({
220
233
  flow: createUserFlow,
221
234
  input: { name: 'Alice', email: 'alice@example.com' }
222
235
  })
223
-
224
- // Always close the context when done
225
236
  await context.close()
226
237
  ```
227
238
 
@@ -251,79 +262,78 @@ await context.exec({
251
262
 
252
263
  Controllers provide reactive access to atom state.
253
264
 
265
+ ```mermaid
266
+ flowchart LR
267
+ subgraph Controller
268
+ State["state: idle|resolving|resolved|failed"]
269
+ Get["get()"]
270
+ Inv["invalidate()"]
271
+ end
272
+
273
+ App -->|subscribe| Controller
274
+ Controller -->|on 'resolved'| App
275
+ Controller -->|on 'resolving'| App
276
+ ```
277
+
254
278
  ### Basic Usage
255
279
 
256
280
  ```typescript
257
281
  const ctrl = scope.controller(configAtom)
258
282
 
259
- // Access state
260
- console.log(ctrl.state) // 'idle' | 'resolving' | 'resolved' | 'failed'
261
-
262
- // Get resolved value (throws if not resolved)
263
- const config = ctrl.get()
264
-
265
- // Resolve and wait
266
- const config = await ctrl.resolve()
267
-
268
- // Manual invalidation
269
- ctrl.invalidate()
283
+ ctrl.state // 'idle' | 'resolving' | 'resolved' | 'failed'
284
+ ctrl.get() // value (throws if not resolved)
285
+ await ctrl.resolve() // resolve and wait
286
+ ctrl.invalidate() // trigger re-resolution
270
287
  ```
271
288
 
272
289
  ### Subscribing to Changes
273
290
 
274
291
  ```typescript
275
- // Subscribe to specific events
276
- ctrl.on('resolved', () => {
277
- console.log('Config updated:', ctrl.get())
278
- })
279
-
280
- ctrl.on('resolving', () => {
281
- console.log('Config is refreshing...')
282
- })
283
-
284
- // Subscribe to all state changes
285
- ctrl.on('*', () => {
286
- console.log('State changed:', ctrl.state)
287
- })
292
+ ctrl.on('resolved', () => console.log('Updated:', ctrl.get()))
293
+ ctrl.on('resolving', () => console.log('Refreshing...'))
294
+ ctrl.on('*', () => console.log('State:', ctrl.state))
288
295
  ```
289
296
 
290
297
  ### Controller as Dependency
291
298
 
292
- Use `controller()` to get a Controller instead of the resolved value:
299
+ Use `controller()` to receive a Controller instead of the resolved value:
293
300
 
294
301
  ```typescript
295
302
  const appAtom = atom({
296
303
  deps: { config: controller(configAtom) },
297
304
  factory: (ctx, { config }) => {
298
- // Subscribe to config changes
299
- config.on('resolved', () => {
300
- console.log('Config updated, reinitializing...')
301
- ctx.invalidate()
302
- })
303
-
305
+ config.on('resolved', () => ctx.invalidate())
304
306
  return new App(config.get())
305
307
  }
306
308
  })
307
309
  ```
308
310
 
309
- ### Fine-Grained Reactivity with select()
311
+ ### Fine-Grained Reactivity
312
+
313
+ Use `select()` to subscribe only when a derived value changes:
310
314
 
311
315
  ```typescript
312
- const portSelect = scope.select(
313
- configAtom,
314
- (config) => config.port,
315
- { eq: (a, b) => a === b } // Optional custom equality
316
- )
317
-
318
- portSelect.subscribe(() => {
319
- console.log('Port changed:', portSelect.get())
320
- })
316
+ const portSelect = scope.select(configAtom, (c) => c.port)
317
+ portSelect.subscribe(() => console.log('Port changed:', portSelect.get()))
321
318
  ```
322
319
 
323
320
  ## Tags
324
321
 
325
322
  Tags pass contextual values through execution without explicit wiring.
326
323
 
324
+ ```mermaid
325
+ flowchart LR
326
+ subgraph Definition
327
+ T["tag({ label: 'tenantId' })"]
328
+ end
329
+
330
+ subgraph Usage
331
+ R["tags.required(tag)"] --> |"throws if missing"| V1["string"]
332
+ O["tags.optional(tag)"] --> |"undefined if missing"| V2["string | undefined"]
333
+ A["tags.all(tag)"] --> |"collects all"| V3["string[]"]
334
+ end
335
+ ```
336
+
327
337
  ### Creating Tags
328
338
 
329
339
  ```typescript
@@ -372,25 +382,26 @@ const multiAtom = atom({
372
382
 
373
383
  ### Passing Tags
374
384
 
375
- ```typescript
376
- // At scope creation
377
- const scope = createScope({
378
- tags: [tenantIdTag('tenant-123')]
379
- })
385
+ Tags can be passed at different levels, with inner levels inheriting from outer:
380
386
 
381
- // At context creation
382
- const context = scope.createContext({
383
- tags: [userRolesTag(['admin', 'user'])]
384
- })
387
+ ```mermaid
388
+ flowchart LR
389
+ subgraph Scope["createScope()"]
390
+ ST["tenantId: 'tenant-123'"]
391
+ subgraph Context["createContext()"]
392
+ CT["userRoles: ['admin']"]
393
+ subgraph Exec["exec()"]
394
+ ET["requestId: 'req-456'"]
395
+ end
396
+ end
397
+ end
385
398
 
386
- // At execution time
387
- await context.exec({
388
- flow: myFlow,
389
- input: data,
390
- tags: [requestIdTag('req-456')]
391
- })
399
+ ST -.->|inherited| CT
400
+ CT -.->|inherited| ET
392
401
  ```
393
402
 
403
+ All three tag levels are available during flow execution.
404
+
394
405
  ### Direct Tag Methods
395
406
 
396
407
  ```typescript
@@ -410,38 +421,57 @@ const allRoles = userRolesTag.collect(tags)
410
421
 
411
422
  Presets inject or redirect atom values, useful for testing.
412
423
 
413
- ### Value Injection
424
+ ```mermaid
425
+ flowchart LR
426
+ subgraph Normal["Normal Resolution"]
427
+ A1[resolve dbAtom] --> F1[factory]
428
+ F1 --> V1[real connection]
429
+ end
414
430
 
415
- ```typescript
416
- const mockDb = { query: jest.fn() }
431
+ subgraph Preset["With Preset"]
432
+ A2[resolve dbAtom] --> P[preset check]
433
+ P -->|value| V2[mockDb]
434
+ P -->|atom| F2[testAtom.factory]
435
+ end
436
+ ```
417
437
 
438
+ **Value injection** bypasses the factory entirely:
439
+ ```typescript
418
440
  const scope = createScope({
419
441
  presets: [preset(dbAtom, mockDb)]
420
442
  })
421
-
422
- // resolves to mockDb without calling factory
423
- const db = await scope.resolve(dbAtom)
424
443
  ```
425
444
 
426
- ### Atom Redirection
427
-
445
+ **Atom redirection** uses another atom's factory:
428
446
  ```typescript
429
- const testConfigAtom = atom({
430
- factory: () => ({ apiUrl: 'http://localhost:3000' })
431
- })
432
-
433
447
  const scope = createScope({
434
448
  presets: [preset(configAtom, testConfigAtom)]
435
449
  })
436
-
437
- // resolves testConfigAtom instead of configAtom
438
- const config = await scope.resolve(configAtom)
439
450
  ```
440
451
 
441
452
  ## Extensions
442
453
 
443
454
  Extensions provide cross-cutting behavior via AOP-style hooks.
444
455
 
456
+ ```mermaid
457
+ sequenceDiagram
458
+ participant App
459
+ participant Ext1 as Extension 1
460
+ participant Ext2 as Extension 2
461
+ participant Core as Core Logic
462
+
463
+ App->>Ext1: resolve(atom)
464
+ Ext1->>Ext1: before logic
465
+ Ext1->>Ext2: next()
466
+ Ext2->>Ext2: before logic
467
+ Ext2->>Core: next()
468
+ Core-->>Ext2: value
469
+ Ext2->>Ext2: after logic
470
+ Ext2-->>Ext1: value
471
+ Ext1->>Ext1: after logic
472
+ Ext1-->>App: value
473
+ ```
474
+
445
475
  ### Extension Interface
446
476
 
447
477
  ```typescript
@@ -454,73 +484,21 @@ interface Extension {
454
484
  }
455
485
  ```
456
486
 
457
- ### Example: Logging Extension
487
+ ### Example: Timing Extension
458
488
 
459
489
  ```typescript
460
- const loggingExtension: Lite.Extension = {
461
- name: 'logging',
462
-
463
- init: (scope) => {
464
- console.log('Scope initialized')
465
- },
490
+ const timingExtension: Lite.Extension = {
491
+ name: 'timing',
466
492
 
467
493
  wrapResolve: async (next, atom, scope) => {
468
494
  const start = performance.now()
469
- console.log('Resolving atom...')
470
-
471
- try {
472
- const result = await next()
473
- console.log(`Resolved in ${performance.now() - start}ms`)
474
- return result
475
- } catch (error) {
476
- console.error('Resolution failed:', error)
477
- throw error
478
- }
479
- },
480
-
481
- wrapExec: async (next, target, ctx) => {
482
- console.log('Executing:', 'flow' in target ? 'flow' : 'function')
483
- return next()
484
- },
485
-
486
- dispose: (scope) => {
487
- console.log('Scope disposed')
495
+ const result = await next()
496
+ console.log(`Resolved in ${performance.now() - start}ms`)
497
+ return result
488
498
  }
489
499
  }
490
500
 
491
- const scope = createScope({ extensions: [loggingExtension] })
492
- ```
493
-
494
- ### Example: Metrics Extension
495
-
496
- ```typescript
497
- const metricsExtension: Lite.Extension = {
498
- name: 'metrics',
499
-
500
- wrapResolve: async (next, atom, scope) => {
501
- const start = performance.now()
502
- try {
503
- const result = await next()
504
- metrics.recordResolution(atom, performance.now() - start, 'success')
505
- return result
506
- } catch (error) {
507
- metrics.recordResolution(atom, performance.now() - start, 'error')
508
- throw error
509
- }
510
- },
511
-
512
- wrapExec: async (next, target, ctx) => {
513
- const start = performance.now()
514
- try {
515
- const result = await next()
516
- metrics.recordExecution(target, performance.now() - start, 'success')
517
- return result
518
- } catch (error) {
519
- metrics.recordExecution(target, performance.now() - start, 'error')
520
- throw error
521
- }
522
- }
523
- }
501
+ const scope = createScope({ extensions: [timingExtension] })
524
502
  ```
525
503
 
526
504
  ## Lifecycle
package/dist/index.d.cts CHANGED
@@ -381,6 +381,7 @@ declare function typed<T>(): Lite.Typed<T>;
381
381
  */
382
382
  declare function flow<TOutput>(config: {
383
383
  name?: string;
384
+ parse?: undefined;
384
385
  deps?: undefined;
385
386
  factory: (ctx: Lite.ExecutionContext) => MaybePromise<TOutput>;
386
387
  tags?: Lite.Tagged<unknown>[];
@@ -403,6 +404,7 @@ declare function flow<TOutput, const D extends Record<string, Lite.Atom<unknown>
403
404
  mode: string;
404
405
  }>>(config: {
405
406
  name?: string;
407
+ parse?: undefined;
406
408
  deps: D;
407
409
  factory: (ctx: Lite.ExecutionContext, deps: Lite.InferDeps<D>) => MaybePromise<TOutput>;
408
410
  tags?: Lite.Tagged<unknown>[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/symbols.ts","../src/types.ts","../src/tag.ts","../src/atom.ts","../src/flow.ts","../src/preset.ts","../src/scope.ts","../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":";cAAa;AAAA,cACA,UAD8D,EAAA,OAAA,MAAA;AAC9D,cACA,SAD8D,EAAA,OAAA,MAAA;AAC9D,cACA,YAD4D,EAAA,OAAA,MAAA;AAC5D,cACA,mBADkE,EAAA,OAAA,MAAA;AAClE,cACA,YADiF,EAAA,OAAA,MAAA;AACjF,cACA,gBADkE,EAAA,OAAA,MAAA;AAClE,cACA,iBAD0E,EAAA,OAAA,MAAA;AAC1E,cACA,WAD6E,EAAA,OAAA,MAAA;;;AAP7E,KCYD,YDZ+D,CAAA,CAAA,CAAA,GCY7C,CDZ6C,GCYzC,ODZyC,CCYjC,CDZiC,CAAA;AAC9D,KCaD,SAAA,GDb+D,MAAA,GAAA,WAAA,GAAA,UAAA,GAAA,QAAA;AAC9D,kBCcI,IAAA,CDdwD;EAC5D,UAAA,KAAkE,CAAA;IAClE,SAAA,KAAA,ECcO,ODd0E,CAAA,IAAA,CAAA;IACjF,OAAA,CAAA,CAAA,CAAA,CAAkE,IAAA,ECc1D,IDd0D,CCcrD,CDdqD,CAAA,CAAA,ECchD,ODdgD,CCcxC,CDdwC,CAAA;IAClE,UAAA,CAAA,CAAA,CAAA,CAAA,IAA0E,ECc/D,IDd+D,CCc1D,CDd0D,CAAA,CAAA,ECcrD,UDdqD,CCc1C,CDd0C,CAAA;IAC1E,OAAA,CAAA,CAAA,CAAA,CAAA,IAAA,ECcQ,IDdqE,CCchE,CDdgE,CAAA,CAAA,ECc3D,ODd2D,CAAA,IAAA,CAAA;IAC7E,OAAA,EAAA,ECcE,ODd8D,CAAA,IAAA,CAAA;aCehE;4BACe,uBAAuB;cACrC,iBAAiB;IAbnB,MAAA,CAAA,CAAA,EAAA,CAAY,CAAA,CAAA,IAAA,EAeZ,IAfY,CAeP,CAfO,CAAA,EAAA,QAAA,EAAA,CAAA,KAAA,EAgBA,CAhBA,EAAA,GAgBM,CAhBN,EAAA,OAAA,CAAA,EAiBR,aAjBQ,CAiBM,CAjBN,CAAA,CAAA,EAkBjB,YAlBiB,CAkBJ,CAlBI,CAAA;EAAM;EAAY,UAAA,oBAAA,CAAA;IAAR,IAAA,CAAA,EAsBvB,MAtBuB,CAAA,OAAA,CAAA,EAAA;EAAO;EAE7B,UAAA,YAAS,CAAA;IAEJ,UAAI,CAAA,EAsBJ,SAtBI,EAAA;IAED,IAAA,CAAA,EAqBT,MArBS,CAAA,OAAA,CAAA,EAAA;IACM,OAAA,CAAA,EAqBZ,MArBY,CAAA,OAAA,CAAA,EAAA;EAAL;EAAkB,UAAA,IAAA,CAAA,CAAA,CAAA,CAAA;IAAR,UAyBjB,UAAA,CAzBiB,EAAA,IAAA;IACF,SAAA,OAAA,EAyBP,WAzBO,CAyBK,CAzBL,EAyBQ,MAzBR,CAAA,MAAA,EAyBuB,UAzBvB,CAAA,CAAA;IAAL,SAAA,IAAA,CAAA,EA0BJ,MA1BI,CAAA,MAAA,EA0BW,UA1BX,CAAA;IAAqB,SAAA,IAAA,CAAA,EA2BzB,MA3ByB,CAAA,OAAA,CAAA,EAAA;EAAX;EACR,UAAA,IAAA,CAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA;IAAL,UA8BP,UAAA,CA9BO,EAAA,IAAA;IAAU,SAAA,IAAA,CAAA,EAAA,MAAA;IAChB,SAAA,KAAA,CAAA,EAAA,CAAA,GAAA,EAAA,OAAA,EAAA,GA+BwB,YA/BxB,CA+BqC,MA/BrC,CAAA;IACF,SAAA,OAAA,EA+BS,WA/BT,CA+BqB,OA/BrB,EA+B8B,MA/B9B,EA+BsC,MA/BtC,CAAA,MAAA,EA+BqD,UA/BrD,CAAA,CAAA;IACe,SAAA,IAAA,CAAA,EA+BR,MA/BQ,CAAA,MAAA,EA+BO,UA/BP,CAAA;IAAuB,SAAA,IAAA,CAAA,EAgC/B,MAhC+B,CAAA,OAAA,CAAA,EAAA;EACrC;EAAiB,UAAA,SAAA,CAAA;IAEd,GAAA,CAAA,CAAA,EAAA,UAAA,OAAA,CAAA,CAAA,GAAA,EAiCkB,GAjClB,CAiCsB,CAjCtB,EAiCyB,CAjCzB,CAAA,CAAA,EAiC8B,CAjC9B,SAAA,IAAA,GAiC+C,CAjC/C,GAiCmD,CAjCnD,GAAA,SAAA;IAAL,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAkCI,GAlCJ,CAkCQ,CAlCR,EAAA,OAAA,CAAA,EAAA,KAAA,EAkC4B,CAlC5B,CAAA,EAAA,IAAA;IACY,GAAA,CAAA,GAAA,EAkCX,GAlCW,CAAA,OAAA,EAAA,OAAA,CAAA,CAAA,EAAA,OAAA;IAAM,MAAA,CAAA,GAAA,EAmCd,GAnCc,CAAA,OAAA,EAAA,OAAA,CAAA,CAAA,EAAA,OAAA;IACA,KAAA,EAAA,EAAA,IAAA;EAAd;EACI,UAAA,cAAA,CAAA;IAAb,OAAA,CAAA,EAAA,EAAA,GAAA,GAsCe,YAtCf,CAAA,IAAA,CAAA,CAAA,EAAA,IAAA;IAII,UAAA,EAAA,EAAA,IAAA;IAIM,SAAA,KAAA,EAgCG,KAhCH;IACN,SAAA,IAAA,EAgCQ,SAhCR;EACG;EAIA,UAAA,gBAAA,CAAA,SAAA,OAAA,CAAA,CAAA;IACoB,SAAA,KAAA,EA8Bd,MA9Bc;IAAkB,SAAA,KAAA,EA+BhC,KA/BgC;IAAf,IAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAgChB,eAhCgB,CAgCA,CAhCA,CAAA,CAAA,EAgCK,OAhCL,CAgCa,CAhCb,CAAA;IAAf,IAAA,CAAA,CAAA,EAAA,aAAA,OAAA,EAAA,CAAA,CAAA,OAAA,EAiCuB,aAjCvB,CAiCqC,CAjCrC,EAiCwC,IAjCxC,CAAA,CAAA,EAiCgD,OAjChD,CAiCwD,CAjCxD,CAAA;IACa,OAAA,CAAA,EAAA,EAAA,GAAA,GAiCb,YAjCa,CAAA,IAAA,CAAA,CAAA,EAAA,IAAA;IAAf,KAAA,EAAA,EAkCP,OAlCO,CAAA,IAAA,CAAA;EACA;EAIN,UAAA,eAAA,CAAA,CAAA,CAAA,CAAA;IAEsC,IAAA,EA+B1C,IA/B0C,CA+BrC,CA/BqC,EAAA,OAAA,CAAA;IAAb,KAAA,EAAA,OAAA;IACL,IAAA,CAAA,EAAA,MAAA;IAAS,IAAA,CAAA,EAiChC,MAjCgC,CAAA,OAAA,CAAA,EAAA;EAAuB;EAAf,UAAA,aAAA,CAAA,CAAA,EAAA,aAAA,OAAA,EAAA,GAAA,OAAA,EAAA,CAAA,CAAA;IAA7B,EAAA,EAAA,CAAA,GAAA,IAAA,EAqCJ,IArCI,EAAA,GAqCK,YArCL,CAqCkB,CArClB,CAAA;IACa,MAAA,EAqCvB,IArCuB;IAAf,IAAA,CAAA,EAsCT,MAtCS,CAAA,OAAA,CAAA,EAAA;EACA;EAImB,KAAA,eAAA,GAAA,WAAA,GAAA,UAAA,GAAA,GAAA;EAAG,UAAA,UAAA,CAAA,CAAA,CAAA,CAAA;IAAP,UAuCrB,gBAAA,CAvCqB,EAAA,IAAA;IAAY,SAAA,KAAA,EAwC3B,SAxC2B;IAAiB,GAAA,EAAA,EAyCrD,CAzCqD;IAAI,OAAA,EAAA,EA0CrD,OA1CqD,CA0C7C,CA1C6C,CAAA;IAChD,OAAA,EAAA,EA0CL,OA1CK,CAAA,IAAA,CAAA;IAAJ,UAAA,EAAA,EAAA,IAAA;IAAwB,EAAA,CAAA,KAAA,EA4C1B,eA5C0B,EAAA,QAAA,EAAA,GAAA,GAAA,IAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAC3B;EACG,UAAA,aAAA,CAAA,CAAA,CAAA,CAAA;IAKM,EAAA,CAAA,EAAA,CAAA,IAAA,EAyCN,CAzCM,EAAA,IAAA,EAyCG,CAzCH,EAAA,GAAA,OAAA;EAEF;EACD,UAAA,YAAA,CAAA,CAAA,CAAA,CAAA;IAIC,GAAA,EAAA,EAsCT,CAtCS;IACA,SAAA,CAAA,QAAA,EAAA,GAAA,GAAA,IAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACiB;EAAhB,UAAA,GAAA,CAAA,CAAA,EAAA,mBAAA,OAAA,GAAA,KAAA,CAAA,CAAA;IAA6B,UAyCpC,SAAA,CAzCoC,EAAA,IAAA;IAAR,SAAA,GAAA,EAAA,MAAA;IACiB,SAAA,KAAA,EAAA,MAAA;IAAG,SAAA,YAAA,EA2CnC,UA3CmC,SAAA,IAAA,GA2CT,CA3CS,GAAA,SAAA;IAAjB,SAAA,UAAA,EA4CpB,UA5CoB;IAAiC,SAAA,KAAA,CAAA,EAAA,CAAA,GAAA,EAAA,OAAA,EAAA,GA6CvC,CA7CuC;IAAR,CAAA,KAAA,EA8C1D,CA9C0D,CAAA,EA8CtD,MA9CsD,CA8C/C,CA9C+C,CAAA;IAChD,GAAA,CAAA,MAAA,EA8CN,SA9CM,CAAA,EA8CM,UA9CN,SAAA,IAAA,GA8CgC,CA9ChC,GA8CoC,CA9CpC;IACT,IAAA,CAAA,MAAA,EA8CI,SA9CJ,CAAA,EA8CgB,UA9ChB,SAAA,IAAA,GA8C0C,CA9C1C,GA8C8C,CA9C9C,GAAA,SAAA;IAIE,OAAA,CAAA,MAAA,EA2CK,SA3CL,CAAA,EA2CiB,CA3CjB,EAAA;EAAL;EAGC,UAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAIO,UAwCJ,YAAA,CAxCI,EAAA,IAAA;IAAsB,SAAA,GAAA,EAAA,MAAA;IAAb,SAAA,KAAA,EA0CP,CA1CO;EACf;EACD,KAAA,SAAA,GA2Ce,MA3Cf,CAAA,OAAA,CAAA,EAAA,GAAA;IAMG,IAAA,CAAA,EAqCyC,MArCzC,CAAA,OAAA,CAAA,EAAA;EACM,CAAA;EACT,UAAA,WAAA,CAAA,OAAA,EAAA,OAqCoC,OArCpC,CAAA,CAAA;IACY,UAqCT,iBAAA,CArCS,EAAA,IAAA;IAAR,SAAA,GAAA,EAsCG,GAtCH,CAsCO,IAtCP,EAAA,OAAA,CAAA;IACA,SAAA,IAAA,EAAA,UAAA,GAAA,UAAA,GAAA,KAAA;EAED;EAIE,UAAA,aAAA,CAAA,CAAA,CAAA,CAAA;IAAS,UAoCX,mBAAA,CApCW,EAAA,IAAA;IAId,SAAA,IAAA,EAiCQ,IAjCR,CAiCa,CAjCb,CAAA;EAKG;EAGa,UAAA,KAAA,CAAA,CAAA,CAAA,CAAA;IAA0B,UA6BvC,WAAA,CA7BuC,EAAA,IAAA;EAC5B;EACc,UAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAC3B,UA8BE,YAAA,CA9BF,EAAA,IAAA;IAAW,SAAA,IAAA,EA+BJ,IA/BI,CA+BC,CA/BD,CAAA;IAAP,SAAA,KAAA,EAgCI,CAhCJ,GAgCQ,IAhCR,CAgCa,CAhCb,CAAA;EACA;EAAY,UAAA,SAAA,CAAA;IAA0B,SAAA,IAAA,EAAA,MAAA;IAAI,IAAA,EAAA,KAAA,EAoCzC,KApCyC,CAAA,EAoCjC,YApCiC,CAAA,IAAA,CAAA;IACzC,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,EAAA,GAAA,GAqCC,OArCD,CAqCS,CArCT,CAAA,EAAA,IAAA,EAsCL,IAtCK,CAsCA,CAtCA,CAAA,EAAA,KAAA,EAuCJ,KAvCI,CAAA,EAwCV,OAxCU,CAwCF,CAxCE,CAAA;IAAY,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,EAAA,GAAA,GA0CX,OA1CW,CA0CH,CA1CG,CAAA,EAAA,MAAA,EA2Cf,IA3Ce,CA2CV,CA3CU,EAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GA2C6B,YA3C7B,CA2C0C,CA3C1C,CAAA,CAAA,EAAA,GAAA,EA4ClB,gBA5CkB,CAAA,EA6CtB,OA7CsB,CA6Cd,CA7Cc,CAAA;IAA0B,OAAA,EAAA,KAAA,EA8CnC,KA9CmC,CAAA,EA8C3B,YA9C2B,CAAA,IAAA,CAAA;EAAI;EACvC,KAAA,UAAA,GAiDd,IAjDc,CAAA,OAAA,CAAA,GAkDd,aAlDc,CAAA,OAAA,CAAA,GAmDd,WAnDc,CAAA,OAAA,CAAA;EAAY,KAAA,QAAA,CAAA,CAAA,CAAA,GAqDJ,CArDI,SAqDM,IArDN,CAAA,KAAA,EAAA,CAAA,GAsD1B,CAtD0B,GAuD1B,CAvD0B,SAuDhB,aAvDgB,CAAA,KAAA,EAAA,CAAA,GAwDxB,UAxDwB,CAwDb,CAxDa,CAAA,GAyDxB,CAzDwB,SAyDd,WAzDc,CAAA,KAAA,QAAA,EAAA,KAAA,MAAA,CAAA,GA0DtB,OA1DsB,GAAA,KAAA;EAIlB,KAAA,SAAA,CAAA,CAAA,CAAA,GAAA,QAEM,MAuDuB,CAvDvB,GAuD2B,QAvD3B,CAuDoC,CAvDpC,CAuDsC,CAvDtC,CAAA,CAAA,EAGM;EAA6B,KAAA,WAAA,CAAA,CAAA,EAAA,UAsDhB,MAtDgB,CAAA,MAAA,EAsDD,UAtDC,CAAA,CAAA,GAAA,MAuD7C,CAvD6C,SAAA,KAAA,GAAA,CAAA,GAAA,EAwDzC,cAxDyC,EAAA,GAwDtB,YAxDsB,CAwDT,CAxDS,CAAA,GAAA,CAAA,GAAA,EAyDzC,cAzDyC,EAAA,IAAA,EAyDnB,SAzDmB,CAyDT,CAzDS,CAAA,EAAA,GAyDF,YAzDE,CAyDW,CAzDX,CAAA;EAER,KAAA,WAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UA4DjC,MA5DiC,CAAA,MAAA,EA4DlB,UA5DkB,CAAA,CAAA,GAAA,MA6DnC,CA7DmC,SAAA,KAAA,GAAA,CAAA,GAAA,EA8DnC,gBA9DmC,CA8DlB,MA9DkB,CAAA,EAAA,GA8DN,YA9DM,CA8DO,OA9DP,CAAA,GAAA,CAAA,GAAA,EA+DnC,gBA/DmC,CA+DlB,MA/DkB,CAAA,EAAA,IAAA,EA+DH,SA/DG,CA+DO,CA/DP,CAAA,EAAA,GA+Dc,YA/Dd,CA+D2B,OA/D3B,CAAA;;;;ADrI/C;AACA;AACA;AACA;;;;ACIA;;;;;AAEA;AAEA;;AAG0B,iBCMV,GDNU,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA;EAAL,KAAA,EAAA,MAAA;CAAkB,CAAA,ECMa,IAAA,CAAK,GDNlB,CCMsB,CDNtB,EAAA,KAAA,CAAA;AAAR,iBCOf,GDPe,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA;EACF,KAAA,EAAA,MAAA;EAAL,OAAA,ECQb,CDRa;CAAqB,CAAA,ECSzC,IAAA,CAAK,GDToC,CCShC,CDTgC,EAAA,IAAA,CAAA;AAAX,iBCUlB,GDVkB,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA;EACR,KAAA,EAAA,MAAA;EAAL,KAAA,EAAA,CAAA,GAAA,EAAA,OAAA,EAAA,GCWM,CDXN;CAAU,CAAA,ECY3B,IAAA,CAAK,GDZsB,CCYlB,CDZkB,EAAA,KAAA,CAAA;AAChB,iBCYC,GDZD,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA;EACF,KAAA,EAAA,MAAA;EACe,KAAA,EAAA,CAAA,GAAA,EAAA,OAAA,EAAA,GCYD,CDZC;EAAuB,OAAA,ECaxC,CDbwC;CACrC,CAAA,ECaV,IAAA,CAAK,GDbK,CCaD,CDbC,EAAA,IAAA,CAAA;;;;;;;;;;;;;;AAmBA,iBC2EE,KAAA,CD3EF,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IC2EkC,IAAA,CAAK,GD3EvC,CAAA,OAAA,EAAA,OAAA,CAAA;;;;;;;;;;;;;;AAUqC,iBCqFnC,QAAA,CDrFmC,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,ICqFA,IAAA,CAAK,MDrFL,CAAA,OAAA,CAAA;;;;AAE/B,cC8FP,ID9FO,EAAA;EAImB;;;;;;;;;;;;;;EAenB,QAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EC0FD,IAAA,CAAK,GD1FJ,CC0FQ,CD1FR,EAAA,OAAA,CAAA,CAAA,EC0FsB,IAAA,CAAK,WD1F3B,CC0FuC,CD1FvC,EC0F0C,CD1F1C,CAAA;EACA;;;;;;;;;;;;;;EAWT,QAAA,CAAA,CAAA,CAAA,CAAA,GAAA,ECgGQ,IAAA,CAAK,GDhGb,CCgGiB,CDhGjB,EAAA,OAAA,CAAA,CAAA,ECgG+B,IAAA,CAAK,WDhGpC,CCgGgD,CDhGhD,GAAA,SAAA,ECgG+D,CDhG/D,CAAA;EAIO;;;;;;;;;;;;;;EAsBP,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,ECwFG,IAAA,CAAK,GDxFR,CCwFY,CDxFZ,EAAA,OAAA,CAAA,CAAA,ECwF0B,IAAA,CAAK,WDxF/B,CCwF2C,CDxF3C,EAAA,ECwFgD,CDxFhD,CAAA;CAKG;;;;;;;;;;;;;;AAQyC,iBC6FvC,aAAA,CD7FuC,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IC6FC,IAAA,CAAK,WD7FN,CAAA,OAAA,CAAA;;;ADzHvD;AACA;AACA;AACA;;;;ACIA;;;;;AAEA;AAEiB,iBEMD,IFNK,CAAA,CAAA,CAAA,CAAA,MAAA,EAAA;EAED,IAAA,CAAA,EAAA,SAAA;EACM,OAAA,EAAA,CAAA,GAAA,EEKT,IAAA,CAAK,cFLI,EAAA,GEKe,YFLf,CEK4B,CFL5B,CAAA;EAAL,IAAA,CAAA,EEMZ,IAAA,CAAK,MFNO,CAAA,OAAA,CAAA,EAAA;CAAkB,CAAA,EEOnC,IAAA,CAAK,IFP8B,CEOzB,CFPyB,CAAA;AAAR,iBESf,IFTe,CAAA,CAAA,EAAA,gBEWb,MFXa,CAAA,MAAA,EEWE,IAAA,CAAK,IFXP,CAAA,OAAA,CAAA,GEWuB,IAAA,CAAK,aFX5B,CAAA,OAAA,CAAA,GAAA;EACF,IAAA,EAAA,MAAA;CAAL,CAAA,CAAA,CAAA,MAAA,EAAA;EAAqB,IAAA,EEYrC,CFZqC;EAAX,OAAA,EAAA,CAAA,GAAA,EEajB,IAAA,CAAK,cFbY,EAAA,IAAA,EEaU,IAAA,CAAK,SFbf,CEayB,CFbzB,CAAA,EAAA,GEagC,YFbhC,CEa6C,CFb7C,CAAA;EACR,IAAA,CAAA,EEajB,IAAA,CAAK,MFbY,CAAA,OAAA,CAAA,EAAA;CAAL,CAAA,EEcjB,IAAA,CAAK,IFdY,CEcP,CFdO,CAAA;;;;;;;;;;;;;;AASD,iBE+BJ,MAAA,CF/BI,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IE+B6B,IAAA,CAAK,IF/BlC,CAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;AAwBE,iBEmCN,UFnCM,CAAA,CAAA,CAAA,CAAA,IAAA,EEmCc,IAAA,CAAK,IFnCnB,CEmCwB,CFnCxB,CAAA,CAAA,EEmC6B,IAAA,CAAK,aFnClC,CEmCgD,CFnChD,CAAA;;;;;;;;;;;;;;AASN,iBE8CA,eAAA,CF9CA,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IE8C0C,IAAA,CAAK,aF9C/C,CAAA,OAAA,CAAA;;;AD/DhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACIA;;AAA0C,iBGK1B,KHL0B,CAAA,CAAA,CAAA,CAAA,CAAA,EGKd,IAAA,CAAK,KHLS,CGKH,CHLG,CAAA;;;;;;;;;;;;;;;;;AAe9B,iBGsBI,IHtBJ,CAAA,OAAA,CAAA,CAAA,MAAA,EAAA;EACY,IAAA,CAAA,EAAA,MAAA;EAAM,IAAA,CAAA,EAAA,SAAA;EACA,OAAA,EAAA,CAAA,GAAA,EGuBb,IAAA,CAAK,gBHvBQ,EAAA,GGuBa,YHvBb,CGuB0B,OHvB1B,CAAA;EAAd,IAAA,CAAA,EGwBP,IAAA,CAAK,MHxBE,CAAA,OAAA,CAAA,EAAA;CACI,CAAA,EGwBhB,IAAA,CAAK,IHxBW,CGwBN,OHxBM,EAAA,OAAA,CAAA;AAAb,iBG0BS,IH1BT,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA,MAAA,EAAA;EAII,IAAA,CAAA,EAAA,MAAA;EAIM,KAAA,EAAA,CAAA,GAAA,EAAA,OAAA,EAAA,GGoBU,YHpBV,CGoBuB,MHpBvB,CAAA;EACN,IAAA,CAAA,EAAA,SAAA;EACG,OAAA,EAAA,CAAA,GAAA,EGoBG,IAAA,CAAK,gBHpBR,CGoByB,OHpBzB,CGoBiC,MHpBjC,CAAA,CAAA,EAAA,GGoB8C,YHpB9C,CGoB2D,OHpB3D,CAAA;EAIA,IAAA,CAAA,EGiBL,IAAA,CAAK,MHjBA,CAAA,OAAA,CAAA,EAAA;CACoB,CAAA,EGiB9B,IAAA,CAAK,IHjByB,CGiBpB,OHjBoB,EGiBX,MHjBW,CAAA;AAAkB,iBGmBpC,IHnBoC,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA,MAAA,EAAA;EAAf,IAAA,CAAA,EAAA,MAAA;EAAf,KAAA,EGqBb,IAAA,CAAK,KHrBQ,CGqBF,MHrBE,CAAA;EACa,IAAA,CAAA,EAAA,SAAA;EAAf,OAAA,EAAA,CAAA,GAAA,EGsBH,IAAA,CAAK,gBHtBF,CGsBmB,OHtBnB,CGsB2B,MHtB3B,CAAA,CAAA,EAAA,GGsBwC,YHtBxC,CGsBqD,OHtBrD,CAAA;EACA,IAAA,CAAA,EGsBX,IAAA,CAAK,MHtBM,CAAA,OAAA,CAAA,EAAA;CAIN,CAAA,EGmBV,IAAA,CAAK,IHnBK,CGmBA,OHnBA,EGmBS,MHnBT,CAAA;AAEsC,iBGmBpC,IHnBoC,CAAA,OAAA,EAAA,gBGqBlC,MHrBkC,CAAA,MAAA,EGqBnB,IAAA,CAAK,IHrBc,CAAA,OAAA,CAAA,GGqBE,IAAA,CAAK,aHrBP,CAAA,OAAA,CAAA,GAAA;EAAb,IAAA,EAAA,MAAA;CACL,CAAA,CAAA,CAAA,MAAA,EAAA;EAAS,IAAA,CAAA,EAAA,MAAA;EAAuB,IAAA,EGuB1D,CHvB0D;EAAf,OAAA,EAAA,CAAA,GAAA,EGwBlC,IAAA,CAAK,gBHxB6B,EAAA,IAAA,EGwBL,IAAA,CAAK,SHxBA,CGwBU,CHxBV,CAAA,EAAA,GGwBiB,YHxBjB,CGwB8B,OHxB9B,CAAA;EAA7B,IAAA,CAAA,EGyBb,IAAA,CAAK,MHzBQ,CAAA,OAAA,CAAA,EAAA;CACa,CAAA,EGyB/B,IAAA,CAAK,IHzB0B,CGyBrB,OHzBqB,EAAA,OAAA,CAAA;AAAf,iBG2BJ,IH3BI,CAAA,OAAA,EAAA,MAAA,EAAA,gBG8BF,MH9BE,CAAA,MAAA,EG8Ba,IAAA,CAAK,IH9BlB,CAAA,OAAA,CAAA,GG8BkC,IAAA,CAAK,aH9BvC,CAAA,OAAA,CAAA,GAAA;EACA,IAAA,EAAA,MAAA;CAImB,CAAA,CAAA,CAAA,MAAA,EAAA;EAAG,IAAA,CAAA,EAAA,MAAA;EAAP,KAAA,EAAA,CAAA,GAAA,EAAA,OAAA,EAAA,GG4BR,YH5BQ,CG4BK,MH5BL,CAAA;EAAY,IAAA,EG6BvC,CH7BuC;EAAiB,OAAA,EAAA,CAAA,GAAA,EG8B/C,IAAA,CAAK,gBH9B0C,CG8BzB,OH9ByB,CG8BjB,MH9BiB,CAAA,CAAA,EAAA,IAAA,EG8BD,IAAA,CAAK,SH9BJ,CG8Bc,CH9Bd,CAAA,EAAA,GG8BqB,YH9BrB,CG8BkC,OH9BlC,CAAA;EAAI,IAAA,CAAA,EG+B3D,IAAA,CAAK,MH/BsD,CAAA,OAAA,CAAA,EAAA;CAChD,CAAA,EG+BhB,IAAA,CAAK,IH/BW,CG+BN,OH/BM,EG+BG,MH/BH,CAAA;AAAJ,iBGiCA,IHjCA,CAAA,OAAA,EAAA,MAAA,EAAA,gBGoCE,MHpCF,CAAA,MAAA,EGoCiB,IAAA,CAAK,IHpCtB,CAAA,OAAA,CAAA,GGoCsC,IAAA,CAAK,aHpC3C,CAAA,OAAA,CAAA,GAAA;EAAwB,IAAA,EAAA,MAAA;CAC3B,CAAA,CAAA,CAAA,MAAA,EAAA;EACG,IAAA,CAAA,EAAA,MAAA;EAKM,KAAA,EGgCb,IAAA,CAAK,KHhCQ,CGgCF,MHhCE,CAAA;EAEF,IAAA,EG+BZ,CH/BY;EACD,OAAA,EAAA,CAAA,GAAA,EG+BF,IAAA,CAAK,gBH/BH,CG+BoB,OH/BpB,CG+B4B,MH/B5B,CAAA,CAAA,EAAA,IAAA,EG+B4C,IAAA,CAAK,SH/BjD,CG+B2D,CH/B3D,CAAA,EAAA,GG+BkE,YH/BlE,CG+B+E,OH/B/E,CAAA;EAIC,IAAA,CAAA,EG4BX,IAAA,CAAK,MH5BM,CAAA,OAAA,CAAA,EAAA;CACA,CAAA,EG4BhB,IAAA,CAAK,IH5BW,CG4BN,OH5BM,EG4BG,MH5BH,CAAA;;;;;;;;;;;;;;AAWT,iBGyDK,MAAA,CHzDL,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IGyDsC,IAAA,CAAK,IHzD3C,CAAA,OAAA,EAAA,OAAA,CAAA;;;ADvFX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACIA;;AAA0C,iBIK1B,MJL0B,CAAA,CAAA,CAAA,CAAA,IAAA,EIMlC,IAAA,CAAK,IJN6B,CIMxB,CJNwB,CAAA,EAAA,KAAA,EIOjC,CJPiC,GIO7B,IAAA,CAAK,IJPwB,CIOnB,CJPmB,CAAA,CAAA,EIQvC,IAAA,CAAK,MJRkC,CIQ3B,CJR2B,CAAA;;;AAE1C;AAEA;;;;;;;;;;AAK0B,iBIoBV,QAAA,CJpBU,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IIoByB,IAAA,CAAK,MJpB9B,CAAA,OAAA,CAAA;;;ADrB1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACIA;;;;;AAEA;AAEA;;;;;;;AAIwB,iBKssBR,WAAA,CLtsBQ,OAAA,CAAA,EKssBc,IAAA,CAAK,YLtsBnB,CAAA,EKssBkC,IAAA,CAAK,KLtsBvC;;;cMpBX,UAAA,SAAmB,KAAA;EPAnB,SAAA,KAA8D,EAAA,KAAA,GAAA,YAAA;EAC9D,SAAA,KAA8D,EAAA,MAAA;EAC9D,SAAA,KAA4D,EAAA,OAAA;EAC5D,SAAA,IAAA,GAAkE,YAAA;EAClE,WAAA,CAAA,OAAA,EAAA,MAAiF,EAAA,KAAA,EAAA,KAAA,GAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA;AAC9F;;;AAEa,cQYA,OAAA,GRZ6E,OAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/symbols.ts","../src/types.ts","../src/tag.ts","../src/atom.ts","../src/flow.ts","../src/preset.ts","../src/scope.ts","../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -381,6 +381,7 @@ declare function typed<T>(): Lite.Typed<T>;
381
381
  */
382
382
  declare function flow<TOutput>(config: {
383
383
  name?: string;
384
+ parse?: undefined;
384
385
  deps?: undefined;
385
386
  factory: (ctx: Lite.ExecutionContext) => MaybePromise<TOutput>;
386
387
  tags?: Lite.Tagged<unknown>[];
@@ -403,6 +404,7 @@ declare function flow<TOutput, const D extends Record<string, Lite.Atom<unknown>
403
404
  mode: string;
404
405
  }>>(config: {
405
406
  name?: string;
407
+ parse?: undefined;
406
408
  deps: D;
407
409
  factory: (ctx: Lite.ExecutionContext, deps: Lite.InferDeps<D>) => MaybePromise<TOutput>;
408
410
  tags?: Lite.Tagged<unknown>[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/symbols.ts","../src/types.ts","../src/tag.ts","../src/atom.ts","../src/flow.ts","../src/preset.ts","../src/scope.ts","../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/symbols.ts","../src/types.ts","../src/tag.ts","../src/atom.ts","../src/flow.ts","../src/preset.ts","../src/scope.ts","../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["atomSymbol: unique symbol","flowSymbol: unique symbol","tagSymbol: unique symbol","taggedSymbol: unique symbol","controllerDepSymbol: unique symbol","presetSymbol: unique symbol","controllerSymbol: unique symbol","tagExecutorSymbol: unique symbol","typedSymbol: unique symbol","phase: \"tag\" | \"flow-input\"","label: string","cause: unknown","tags","result: T[]","tag","ctrl: Lite.Controller<T>","selector: (value: T) => S","eq: (prev: S, next: S) => boolean","atom: Lite.Atom<T>","scope: ScopeImpl","atom","ctx: Lite.ResolveContext","result: Record<string, unknown>","tags","flow","parsedInput: unknown"],"sources":["../src/symbols.ts","../src/errors.ts","../src/tag.ts","../src/atom.ts","../src/flow.ts","../src/preset.ts","../src/scope.ts","../src/index.ts"],"sourcesContent":["export const atomSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/atom\")\nexport const flowSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/flow\")\nexport const tagSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/tag\")\nexport const taggedSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/tagged\")\nexport const controllerDepSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/controller-dep\")\nexport const presetSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/preset\")\nexport const controllerSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/controller\")\nexport const tagExecutorSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/tag-executor\")\nexport const typedSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/typed\")\n","export class ParseError extends Error {\n override readonly name = \"ParseError\"\n\n constructor(\n message: string,\n readonly phase: \"tag\" | \"flow-input\",\n readonly label: string,\n override readonly cause: unknown\n ) {\n super(message)\n }\n}\n","import { tagSymbol, taggedSymbol, tagExecutorSymbol } from \"./symbols\"\nimport { ParseError } from \"./errors\"\nimport type { Lite } from \"./types\"\n\nexport interface TagOptions<T, HasDefault extends boolean> {\n label: string\n default?: HasDefault extends true ? T : never\n parse?: (raw: unknown) => T\n}\n\n/**\n * Creates a metadata tag for attaching and retrieving typed values from Atoms and Flows.\n *\n * @param options - Configuration object with label and optional default value\n * @returns A Tag instance that can create tagged values and query them from sources\n *\n * @example\n * ```typescript\n * const nameTag = tag<string>({ label: \"name\" })\n * const myAtom = atom({\n * factory: (ctx) => \"value\",\n * tags: [nameTag(\"MyAtom\")]\n * })\n * ```\n */\nexport function tag<T>(options: { label: string }): Lite.Tag<T, false>\nexport function tag<T>(options: {\n label: string\n default: T\n}): Lite.Tag<T, true>\nexport function tag<T>(options: {\n label: string\n parse: (raw: unknown) => T\n}): Lite.Tag<T, false>\nexport function tag<T>(options: {\n label: string\n parse: (raw: unknown) => T\n default: T\n}): Lite.Tag<T, true>\nexport function tag<T>(options: TagOptions<T, boolean>): Lite.Tag<T, boolean> {\n const key = Symbol.for(`@pumped-fn/lite/tag/${options.label}`)\n const hasDefault = \"default\" in options\n const defaultValue = hasDefault ? options.default : undefined\n const parse = options.parse\n\n function createTagged(value: T): Lite.Tagged<T> {\n let validatedValue = value\n if (parse) {\n try {\n validatedValue = parse(value)\n } catch (err) {\n throw new ParseError(\n `Failed to parse tag \"${options.label}\"`,\n \"tag\",\n options.label,\n err\n )\n }\n }\n return {\n [taggedSymbol]: true,\n key,\n value: validatedValue,\n }\n }\n\n function get(source: Lite.TagSource): T {\n const tags = Array.isArray(source) ? source : source.tags ?? []\n for (let i = 0; i < tags.length; i++) {\n if (tags[i]!.key === key) return tags[i]!.value as unknown as T\n }\n if (hasDefault) return defaultValue as unknown as T\n throw new Error(`Tag \"${options.label}\" not found and has no default`)\n }\n\n function find(source: Lite.TagSource): T | undefined {\n const tags = Array.isArray(source) ? source : source.tags ?? []\n for (let i = 0; i < tags.length; i++) {\n if (tags[i]!.key === key) return tags[i]!.value as unknown as T\n }\n if (hasDefault) return defaultValue as unknown as T\n return undefined\n }\n\n function collect(source: Lite.TagSource): T[] {\n const tags = Array.isArray(source) ? source : source.tags ?? []\n const result: T[] = []\n for (let i = 0; i < tags.length; i++) {\n if (tags[i]!.key === key) result.push(tags[i]!.value as unknown as T)\n }\n return result\n }\n\n return Object.assign(createTagged, {\n [tagSymbol]: true as const,\n key,\n label: options.label,\n hasDefault,\n defaultValue,\n parse,\n get,\n find,\n collect,\n }) as unknown as Lite.Tag<T, boolean>\n}\n\n/**\n * Type guard to check if a value is a Tag.\n *\n * @param value - The value to check\n * @returns True if the value is a Tag, false otherwise\n *\n * @example\n * ```typescript\n * if (isTag(value)) {\n * const tagged = value(\"myValue\")\n * }\n * ```\n */\nexport function isTag(value: unknown): value is Lite.Tag<unknown, boolean> {\n return (\n typeof value === \"function\" &&\n (value as unknown as Record<symbol, unknown>)[tagSymbol] === true\n )\n}\n\n/**\n * Type guard to check if a value is a Tagged value.\n *\n * @param value - The value to check\n * @returns True if the value is a Tagged value, false otherwise\n *\n * @example\n * ```typescript\n * if (isTagged(value)) {\n * console.log(value.key, value.value)\n * }\n * ```\n */\nexport function isTagged(value: unknown): value is Lite.Tagged<unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as Record<symbol, unknown>)[taggedSymbol] === true\n )\n}\n\n/**\n * Tag execution helpers for declaring how tags should be resolved from dependency sources.\n */\nexport const tags = {\n /**\n * Creates a required tag executor that throws if the tag is not found.\n *\n * @param tag - The tag to execute\n * @returns A tag executor that requires the tag to be present\n *\n * @example\n * ```typescript\n * const myAtom = atom({\n * deps: { name: tags.required(nameTag) },\n * factory: (ctx, { name }) => `Hello ${name}`\n * })\n * ```\n */\n required<T>(tag: Lite.Tag<T, boolean>): Lite.TagExecutor<T, T> {\n return { [tagExecutorSymbol]: true, tag, mode: \"required\" }\n },\n\n /**\n * Creates an optional tag executor that returns undefined if the tag is not found.\n *\n * @param tag - The tag to execute\n * @returns A tag executor that allows the tag to be absent\n *\n * @example\n * ```typescript\n * const myAtom = atom({\n * deps: { name: tags.optional(nameTag) },\n * factory: (ctx, { name }) => name ?? \"Anonymous\"\n * })\n * ```\n */\n optional<T>(tag: Lite.Tag<T, boolean>): Lite.TagExecutor<T | undefined, T> {\n return { [tagExecutorSymbol]: true, tag, mode: \"optional\" }\n },\n\n /**\n * Creates a tag executor that collects all values for the given tag.\n *\n * @param tag - The tag to execute\n * @returns A tag executor that returns an array of all matching tag values\n *\n * @example\n * ```typescript\n * const myAtom = atom({\n * deps: { names: tags.all(nameTag) },\n * factory: (ctx, { names }) => names.join(\", \")\n * })\n * ```\n */\n all<T>(tag: Lite.Tag<T, boolean>): Lite.TagExecutor<T[], T> {\n return { [tagExecutorSymbol]: true, tag, mode: \"all\" }\n },\n}\n\n/**\n * Type guard to check if a value is a TagExecutor.\n *\n * @param value - The value to check\n * @returns True if the value is a TagExecutor, false otherwise\n *\n * @example\n * ```typescript\n * if (isTagExecutor(value)) {\n * console.log(value.mode, value.tag)\n * }\n * ```\n */\nexport function isTagExecutor(value: unknown): value is Lite.TagExecutor<unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n tagExecutorSymbol in value\n )\n}\n","import { atomSymbol, controllerDepSymbol } from \"./symbols\"\nimport type { Lite, MaybePromise } from \"./types\"\n\nexport interface AtomConfig<T, D extends Record<string, Lite.Dependency>> {\n deps?: D\n factory: Lite.AtomFactory<T, D>\n tags?: Lite.Tagged<unknown>[]\n}\n\n/**\n * Creates a long-lived dependency that can be resolved and reused within a scope.\n *\n * @param config - Configuration object containing factory function, optional dependencies, and tags\n * @returns An Atom instance that can be resolved to produce a value of type T\n *\n * @example\n * ```typescript\n * const dbAtom = atom({\n * factory: async (ctx) => createDatabase()\n * })\n * ```\n */\nexport function atom<T>(config: {\n deps?: undefined\n factory: (ctx: Lite.ResolveContext) => MaybePromise<T>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Atom<T>\n\nexport function atom<\n T,\n const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | { mode: string }>,\n>(config: {\n deps: D\n factory: (ctx: Lite.ResolveContext, deps: Lite.InferDeps<D>) => MaybePromise<T>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Atom<T>\n\nexport function atom<T, D extends Record<string, Lite.Dependency>>(\n config: AtomConfig<T, D>\n): Lite.Atom<T> {\n return {\n [atomSymbol]: true,\n factory: config.factory as unknown as Lite.AtomFactory<T, Record<string, Lite.Dependency>>,\n deps: config.deps as unknown as Record<string, Lite.Dependency> | undefined,\n tags: config.tags,\n }\n}\n\n/**\n * Type guard to check if a value is an Atom.\n *\n * @param value - The value to check\n * @returns True if the value is an Atom, false otherwise\n *\n * @example\n * ```typescript\n * if (isAtom(value)) {\n * await scope.resolve(value)\n * }\n * ```\n */\nexport function isAtom(value: unknown): value is Lite.Atom<unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as Record<symbol, unknown>)[atomSymbol] === true\n )\n}\n\n/**\n * Wraps an Atom to receive a Controller instead of the resolved value.\n * The Controller provides full lifecycle control: get, resolve, release, invalidate, and subscribe.\n *\n * @param atom - The Atom to wrap\n * @returns A ControllerDep that resolves to a Controller for the Atom\n *\n * @example\n * ```typescript\n * const configAtom = atom({ factory: () => fetchConfig() })\n * const serverAtom = atom({\n * deps: { config: controller(configAtom) },\n * factory: (ctx, { config }) => {\n * const unsub = config.on(() => ctx.invalidate())\n * ctx.cleanup(unsub)\n * return createServer(config.get().port)\n * }\n * })\n * ```\n */\nexport function controller<T>(atom: Lite.Atom<T>): Lite.ControllerDep<T> {\n return {\n [controllerDepSymbol]: true,\n atom,\n }\n}\n\n/**\n * Type guard to check if a value is a ControllerDep wrapper.\n *\n * @param value - The value to check\n * @returns True if the value is a ControllerDep wrapper, false otherwise\n *\n * @example\n * ```typescript\n * if (isControllerDep(dep)) {\n * const ctrl = scope.controller(dep.atom)\n * }\n * ```\n */\nexport function isControllerDep(value: unknown): value is Lite.ControllerDep<unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as Record<symbol, unknown>)[controllerDepSymbol] === true\n )\n}\n","import { flowSymbol, typedSymbol } from \"./symbols\"\nimport type { Lite, MaybePromise } from \"./types\"\n\n/**\n * Type marker for flow input without runtime parsing.\n * Use this when you want typed input but don't need validation.\n *\n * @example\n * ```typescript\n * const myFlow = flow({\n * parse: typed<{ name: string }>(),\n * factory: (ctx) => {\n * return ctx.input.name.toUpperCase()\n * }\n * })\n * ```\n */\nexport function typed<T>(): Lite.Typed<T> {\n return { [typedSymbol]: true }\n}\n\nexport interface FlowConfig<\n TOutput,\n TInput,\n D extends Record<string, Lite.Dependency>,\n> {\n name?: string\n parse?: ((raw: unknown) => MaybePromise<TInput>) | Lite.Typed<TInput>\n deps?: D\n factory: Lite.FlowFactory<TOutput, TInput, D>\n tags?: Lite.Tagged<unknown>[]\n}\n\n/**\n * Creates a short-lived execution unit that processes input and produces output.\n *\n * @param config - Configuration object containing factory function, optional dependencies, and tags\n * @returns A Flow instance that can be executed within an execution context\n *\n * @example\n * ```typescript\n * const processUser = flow({\n * factory: async (ctx) => {\n * const userId = ctx.input\n * return await fetchUser(userId)\n * }\n * })\n * ```\n */\nexport function flow<TOutput>(config: {\n name?: string\n deps?: undefined\n factory: (ctx: Lite.ExecutionContext) => MaybePromise<TOutput>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Flow<TOutput, unknown>\n\nexport function flow<TOutput, TInput>(config: {\n name?: string\n parse: (raw: unknown) => MaybePromise<TInput>\n deps?: undefined\n factory: (ctx: Lite.ExecutionContext<NoInfer<TInput>>) => MaybePromise<TOutput>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Flow<TOutput, TInput>\n\nexport function flow<TOutput, TInput>(config: {\n name?: string\n parse: Lite.Typed<TInput>\n deps?: undefined\n factory: (ctx: Lite.ExecutionContext<NoInfer<TInput>>) => MaybePromise<TOutput>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Flow<TOutput, TInput>\n\nexport function flow<\n TOutput,\n const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | { mode: string }>,\n>(config: {\n name?: string\n deps: D\n factory: (ctx: Lite.ExecutionContext, deps: Lite.InferDeps<D>) => MaybePromise<TOutput>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Flow<TOutput, unknown>\n\nexport function flow<\n TOutput,\n TInput,\n const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | { mode: string }>,\n>(config: {\n name?: string\n parse: (raw: unknown) => MaybePromise<TInput>\n deps: D\n factory: (ctx: Lite.ExecutionContext<NoInfer<TInput>>, deps: Lite.InferDeps<D>) => MaybePromise<TOutput>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Flow<TOutput, TInput>\n\nexport function flow<\n TOutput,\n TInput,\n const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | { mode: string }>,\n>(config: {\n name?: string\n parse: Lite.Typed<TInput>\n deps: D\n factory: (ctx: Lite.ExecutionContext<NoInfer<TInput>>, deps: Lite.InferDeps<D>) => MaybePromise<TOutput>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Flow<TOutput, TInput>\n\nexport function flow<\n TOutput,\n TInput,\n D extends Record<string, Lite.Dependency>,\n>(config: FlowConfig<TOutput, TInput, D>): Lite.Flow<TOutput, TInput> {\n const parse = config.parse\n const isTypedMarker =\n typeof parse === \"object\" && parse !== null && typedSymbol in parse\n\n return {\n [flowSymbol]: true,\n name: config.name,\n parse: isTypedMarker\n ? undefined\n : (parse as ((raw: unknown) => MaybePromise<TInput>) | undefined),\n factory: config.factory as unknown as Lite.FlowFactory<\n TOutput,\n TInput,\n Record<string, Lite.Dependency>\n >,\n deps: config.deps as unknown as Record<string, Lite.Dependency> | undefined,\n tags: config.tags,\n }\n}\n\n/**\n * Type guard to check if a value is a Flow.\n *\n * @param value - The value to check\n * @returns True if the value is a Flow, false otherwise\n *\n * @example\n * ```typescript\n * if (isFlow(value)) {\n * await ctx.exec({ flow: value, input: data })\n * }\n * ```\n */\nexport function isFlow(value: unknown): value is Lite.Flow<unknown, unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as Record<symbol, unknown>)[flowSymbol] === true\n )\n}\n","import { presetSymbol } from \"./symbols\"\nimport type { Lite } from \"./types\"\n\n/**\n * Creates a preset value for an Atom, overriding its factory within a scope.\n *\n * @param atom - The Atom to preset\n * @param value - The preset value (can be a direct value or another Atom)\n * @returns A Preset instance to be used in scope configuration\n *\n * @example\n * ```typescript\n * const scope = await createScope({\n * presets: [preset(dbAtom, mockDatabase)]\n * })\n * ```\n */\nexport function preset<T>(\n atom: Lite.Atom<T>,\n value: T | Lite.Atom<T>\n): Lite.Preset<T> {\n return {\n [presetSymbol]: true,\n atom,\n value,\n }\n}\n\n/**\n * Type guard to check if a value is a Preset.\n *\n * @param value - The value to check\n * @returns True if the value is a Preset, false otherwise\n *\n * @example\n * ```typescript\n * if (isPreset(value)) {\n * console.log(value.atom, value.value)\n * }\n * ```\n */\nexport function isPreset(value: unknown): value is Lite.Preset<unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as Record<symbol, unknown>)[presetSymbol] === true\n )\n}\n","import { controllerSymbol, tagExecutorSymbol } from \"./symbols\"\nimport type { Lite, MaybePromise, AtomState } from \"./types\"\nimport { isAtom, isControllerDep } from \"./atom\"\nimport { ParseError } from \"./errors\"\n\ntype ListenerEvent = 'resolving' | 'resolved' | '*'\n\nclass DataStoreImpl implements Lite.DataStore {\n private readonly map = new Map<symbol, unknown>()\n\n get<T, H extends boolean>(tag: Lite.Tag<T, H>): H extends true ? T : T | undefined {\n if (this.map.has(tag.key)) {\n return this.map.get(tag.key) as T\n }\n if (tag.hasDefault) {\n return tag.defaultValue as T\n }\n return undefined as H extends true ? T : T | undefined\n }\n\n set<T>(tag: Lite.Tag<T, boolean>, value: T): void {\n this.map.set(tag.key, value)\n }\n\n has(tag: Lite.Tag<unknown, boolean>): boolean {\n return this.map.has(tag.key)\n }\n\n delete(tag: Lite.Tag<unknown, boolean>): boolean {\n return this.map.delete(tag.key)\n }\n\n clear(): void {\n this.map.clear()\n }\n}\n\ninterface AtomEntry<T> {\n state: AtomState\n value?: T\n hasValue: boolean\n error?: Error\n cleanups: (() => MaybePromise<void>)[]\n listeners: Map<ListenerEvent, Set<() => void>>\n pendingInvalidate: boolean\n data?: Lite.DataStore\n}\n\nclass SelectHandleImpl<T, S> implements Lite.SelectHandle<S> {\n private listeners = new Set<() => void>()\n private currentValue: S\n private ctrlUnsub: (() => void) | null = null\n\n constructor(\n private ctrl: Lite.Controller<T>,\n private selector: (value: T) => S,\n private eq: (prev: S, next: S) => boolean\n ) {\n if (ctrl.state !== 'resolved') {\n throw new Error(\"Cannot select from unresolved atom\")\n }\n\n this.currentValue = selector(ctrl.get())\n\n this.ctrlUnsub = ctrl.on('resolved', () => {\n const nextValue = this.selector(this.ctrl.get())\n if (!this.eq(this.currentValue, nextValue)) {\n this.currentValue = nextValue\n this.notifyListeners()\n }\n })\n }\n\n get(): S {\n return this.currentValue\n }\n\n subscribe(listener: () => void): () => void {\n this.listeners.add(listener)\n\n return () => {\n this.listeners.delete(listener)\n if (this.listeners.size === 0) {\n this.cleanup()\n }\n }\n }\n\n private notifyListeners(): void {\n for (const listener of this.listeners) {\n listener()\n }\n }\n\n private cleanup(): void {\n this.ctrlUnsub?.()\n this.ctrlUnsub = null\n this.listeners.clear()\n }\n}\n\nclass ControllerImpl<T> implements Lite.Controller<T> {\n readonly [controllerSymbol] = true\n\n constructor(\n private atom: Lite.Atom<T>,\n private scope: ScopeImpl\n ) {}\n\n get state(): AtomState {\n const entry = this.scope.getEntry(this.atom)\n return entry?.state ?? 'idle'\n }\n\n get(): T {\n const entry = this.scope.getEntry(this.atom)\n if (!entry || entry.state === 'idle') {\n throw new Error(\"Atom not resolved\")\n }\n if (entry.state === 'failed' && entry.error) {\n throw entry.error\n }\n if (entry.state === 'resolving' && entry.hasValue) {\n return entry.value as T\n }\n if (entry.state === 'resolved' && entry.hasValue) {\n return entry.value as T\n }\n throw new Error(\"Atom not resolved\")\n }\n\n async resolve(): Promise<T> {\n return this.scope.resolve(this.atom)\n }\n\n async release(): Promise<void> {\n return this.scope.release(this.atom)\n }\n\n invalidate(): void {\n this.scope.invalidate(this.atom)\n }\n\n on(event: ListenerEvent, listener: () => void): () => void {\n return this.scope.addListener(this.atom, event, listener)\n }\n}\n\nclass ScopeImpl implements Lite.Scope {\n private cache = new Map<Lite.Atom<unknown>, AtomEntry<unknown>>()\n private presets = new Map<Lite.Atom<unknown>, unknown | Lite.Atom<unknown>>()\n private resolving = new Set<Lite.Atom<unknown>>()\n private pending = new Map<Lite.Atom<unknown>, Promise<unknown>>()\n private stateListeners = new Map<AtomState, Map<Lite.Atom<unknown>, Set<() => void>>>()\n private invalidationQueue = new Set<Lite.Atom<unknown>>()\n private invalidationScheduled = false\n private invalidationChain: Set<Lite.Atom<unknown>> | null = null\n private chainPromise: Promise<void> | null = null\n private initialized = false\n readonly extensions: Lite.Extension[]\n readonly tags: Lite.Tagged<unknown>[]\n readonly ready: Promise<void>\n\n private scheduleInvalidation<T>(atom: Lite.Atom<T>): void {\n const entry = this.cache.get(atom) as AtomEntry<T> | undefined\n if (!entry || entry.state === \"idle\") return\n\n if (entry.state === \"resolving\") {\n entry.pendingInvalidate = true\n return\n }\n\n this.invalidationQueue.add(atom)\n\n if (!this.chainPromise) {\n this.invalidationChain = new Set()\n this.invalidationScheduled = true\n this.chainPromise = new Promise<void>((resolve, reject) => {\n queueMicrotask(() => {\n this.processInvalidationChain().then(resolve).catch(reject)\n })\n })\n }\n }\n\n private async processInvalidationChain(): Promise<void> {\n try {\n while (this.invalidationQueue.size > 0) {\n const atom = this.invalidationQueue.values().next().value as Lite.Atom<unknown>\n this.invalidationQueue.delete(atom)\n\n if (this.invalidationChain!.has(atom)) {\n const chainAtoms = Array.from(this.invalidationChain!)\n chainAtoms.push(atom)\n const path = chainAtoms\n .map(a => a.factory?.name || \"<anonymous>\")\n .join(\" → \")\n throw new Error(`Infinite invalidation loop detected: ${path}`)\n }\n\n this.invalidationChain!.add(atom)\n await this.doInvalidateSequential(atom)\n }\n } finally {\n this.invalidationChain = null\n this.chainPromise = null\n this.invalidationScheduled = false\n }\n }\n\n constructor(options?: Lite.ScopeOptions) {\n this.extensions = options?.extensions ?? []\n this.tags = options?.tags ?? []\n\n for (const p of options?.presets ?? []) {\n this.presets.set(p.atom, p.value)\n }\n\n this.ready = this.init()\n }\n\n private async init(): Promise<void> {\n for (const ext of this.extensions) {\n if (ext.init) {\n await ext.init(this)\n }\n }\n this.initialized = true\n }\n\n getEntry<T>(atom: Lite.Atom<T>): AtomEntry<T> | undefined {\n return this.cache.get(atom) as AtomEntry<T> | undefined\n }\n\n private getOrCreateEntry<T>(atom: Lite.Atom<T>): AtomEntry<T> {\n let entry = this.cache.get(atom) as AtomEntry<T> | undefined\n if (!entry) {\n entry = {\n state: 'idle',\n hasValue: false,\n cleanups: [],\n listeners: new Map([\n ['resolving', new Set()],\n ['resolved', new Set()],\n ['*', new Set()],\n ]),\n pendingInvalidate: false,\n }\n this.cache.set(atom, entry as AtomEntry<unknown>)\n }\n return entry\n }\n\n addListener<T>(atom: Lite.Atom<T>, event: ListenerEvent, listener: () => void): () => void {\n const entry = this.getOrCreateEntry(atom)\n const listeners = entry.listeners.get(event)!\n listeners.add(listener)\n return () => {\n listeners.delete(listener)\n }\n }\n\n private notifyListeners<T>(atom: Lite.Atom<T>, event: 'resolving' | 'resolved'): void {\n const entry = this.cache.get(atom)\n if (!entry) return\n\n const eventListeners = entry.listeners.get(event)\n if (eventListeners) {\n for (const listener of eventListeners) {\n listener()\n }\n }\n\n const allListeners = entry.listeners.get('*')\n if (allListeners) {\n for (const listener of allListeners) {\n listener()\n }\n }\n }\n\n private notifyAllListeners<T>(atom: Lite.Atom<T>): void {\n const entry = this.cache.get(atom)\n if (!entry) return\n\n const allListeners = entry.listeners.get('*')\n if (allListeners) {\n for (const listener of allListeners) {\n listener()\n }\n }\n }\n\n private emitStateChange(state: AtomState, atom: Lite.Atom<unknown>): void {\n const stateMap = this.stateListeners.get(state)\n if (stateMap) {\n const listeners = stateMap.get(atom)\n if (listeners) {\n for (const listener of listeners) {\n listener()\n }\n }\n }\n }\n\n on(event: AtomState, atom: Lite.Atom<unknown>, listener: () => void): () => void {\n let stateMap = this.stateListeners.get(event)\n if (!stateMap) {\n stateMap = new Map()\n this.stateListeners.set(event, stateMap)\n }\n let listeners = stateMap.get(atom)\n if (!listeners) {\n listeners = new Set()\n stateMap.set(atom, listeners)\n }\n listeners.add(listener)\n\n const capturedStateMap = stateMap\n const capturedListeners = listeners\n\n return () => {\n capturedListeners.delete(listener)\n if (capturedListeners.size === 0) {\n capturedStateMap.delete(atom)\n if (capturedStateMap.size === 0) {\n this.stateListeners.delete(event)\n }\n }\n }\n }\n\n async resolve<T>(atom: Lite.Atom<T>): Promise<T> {\n if (!this.initialized) {\n await this.ready\n }\n\n const entry = this.cache.get(atom) as AtomEntry<T> | undefined\n if (entry?.state === 'resolved') {\n return entry.value as T\n }\n\n const pendingPromise = this.pending.get(atom)\n if (pendingPromise) {\n return pendingPromise as Promise<T>\n }\n\n if (this.resolving.has(atom)) {\n throw new Error(\"Circular dependency detected\")\n }\n\n const presetValue = this.presets.get(atom)\n if (presetValue !== undefined) {\n if (isAtom(presetValue)) {\n return this.resolve(presetValue as Lite.Atom<T>)\n }\n const newEntry = this.getOrCreateEntry(atom)\n newEntry.state = 'resolved'\n newEntry.value = presetValue as T\n newEntry.hasValue = true\n this.emitStateChange('resolved', atom)\n this.notifyListeners(atom, 'resolved')\n return newEntry.value\n }\n\n this.resolving.add(atom)\n\n const promise = this.doResolve(atom)\n this.pending.set(atom, promise as Promise<unknown>)\n\n try {\n return await promise\n } finally {\n this.resolving.delete(atom)\n this.pending.delete(atom)\n }\n }\n\n private async doResolve<T>(atom: Lite.Atom<T>): Promise<T> {\n const entry = this.getOrCreateEntry(atom)\n\n const wasResolving = entry.state === 'resolving'\n if (!wasResolving) {\n entry.state = 'resolving'\n this.emitStateChange('resolving', atom)\n this.notifyListeners(atom, 'resolving')\n }\n\n const resolvedDeps = await this.resolveDeps(atom.deps)\n\n const ctx: Lite.ResolveContext = {\n cleanup: (fn) => entry.cleanups.push(fn),\n invalidate: () => {\n this.scheduleInvalidation(atom)\n },\n scope: this,\n get data() {\n if (!entry.data) {\n entry.data = new DataStoreImpl()\n }\n return entry.data\n },\n }\n\n const factory = atom.factory as (\n ctx: Lite.ResolveContext,\n deps?: Record<string, unknown>\n ) => MaybePromise<T>\n\n const doResolve = async () => {\n if (atom.deps && Object.keys(atom.deps).length > 0) {\n return factory(ctx, resolvedDeps)\n } else {\n return factory(ctx)\n }\n }\n\n try {\n const value = await this.applyResolveExtensions(atom, doResolve)\n entry.state = 'resolved'\n entry.value = value\n entry.hasValue = true\n entry.error = undefined\n this.emitStateChange('resolved', atom)\n this.notifyListeners(atom, 'resolved')\n\n if (entry.pendingInvalidate) {\n entry.pendingInvalidate = false\n this.invalidationChain?.delete(atom)\n this.scheduleInvalidation(atom)\n }\n\n return value\n } catch (err) {\n entry.state = 'failed'\n entry.error = err instanceof Error ? err : new Error(String(err))\n entry.value = undefined\n entry.hasValue = false\n this.emitStateChange('failed', atom)\n this.notifyAllListeners(atom)\n\n if (entry.pendingInvalidate) {\n entry.pendingInvalidate = false\n this.invalidationChain?.delete(atom)\n this.scheduleInvalidation(atom)\n }\n\n throw entry.error\n }\n }\n\n private async applyResolveExtensions<T>(\n atom: Lite.Atom<T>,\n doResolve: () => Promise<T>\n ): Promise<T> {\n let next = doResolve\n\n for (let i = this.extensions.length - 1; i >= 0; i--) {\n const ext = this.extensions[i]\n if (ext?.wrapResolve) {\n const currentNext = next\n next = ext.wrapResolve.bind(ext, currentNext, atom, this) as () => Promise<T>\n }\n }\n\n return next()\n }\n\n async resolveDeps(\n deps: Record<string, Lite.Dependency> | undefined,\n tagSource?: Lite.Tagged<unknown>[]\n ): Promise<Record<string, unknown>> {\n if (!deps) return {}\n\n const result: Record<string, unknown> = {}\n const tags = tagSource ?? this.tags\n\n for (const [key, dep] of Object.entries(deps)) {\n if (isAtom(dep)) {\n result[key] = await this.resolve(dep)\n } else if (isControllerDep(dep)) {\n result[key] = new ControllerImpl(dep.atom, this)\n } else if (tagExecutorSymbol in (dep as object)) {\n const tagExecutor = dep as Lite.TagExecutor<unknown, boolean>\n\n switch (tagExecutor.mode) {\n case \"required\":\n result[key] = tagExecutor.tag.get(tags)\n break\n case \"optional\":\n result[key] = tagExecutor.tag.find(tags)\n break\n case \"all\":\n result[key] = tagExecutor.tag.collect(tags)\n break\n }\n }\n }\n\n return result\n }\n\n controller<T>(atom: Lite.Atom<T>): Lite.Controller<T> {\n return new ControllerImpl(atom, this)\n }\n\n select<T, S>(\n atom: Lite.Atom<T>,\n selector: (value: T) => S,\n options?: Lite.SelectOptions<S>\n ): Lite.SelectHandle<S> {\n const ctrl = this.controller(atom)\n const eq = options?.eq ?? ((a, b) => a === b)\n return new SelectHandleImpl(ctrl, selector, eq)\n }\n\n invalidate<T>(atom: Lite.Atom<T>): void {\n const entry = this.cache.get(atom)\n if (!entry) return\n\n if (entry.state === 'idle') return\n\n if (entry.state === 'resolving') {\n entry.pendingInvalidate = true\n return\n }\n\n this.scheduleInvalidation(atom)\n }\n\n private async doInvalidateSequential<T>(atom: Lite.Atom<T>): Promise<void> {\n const entry = this.cache.get(atom) as AtomEntry<T> | undefined\n if (!entry) return\n if (entry.state === \"idle\") return\n\n const previousValue = entry.value\n\n for (let i = entry.cleanups.length - 1; i >= 0; i--) {\n const cleanup = entry.cleanups[i]\n if (cleanup) await cleanup()\n }\n entry.cleanups = []\n\n entry.state = \"resolving\"\n entry.value = previousValue\n entry.error = undefined\n entry.pendingInvalidate = false\n this.pending.delete(atom)\n this.resolving.delete(atom)\n this.emitStateChange(\"resolving\", atom)\n this.notifyListeners(atom, \"resolving\")\n\n await this.resolve(atom)\n }\n\n async release<T>(atom: Lite.Atom<T>): Promise<void> {\n const entry = this.cache.get(atom)\n if (!entry) return\n\n for (let i = entry.cleanups.length - 1; i >= 0; i--) {\n const cleanup = entry.cleanups[i]\n if (cleanup) await cleanup()\n }\n\n this.cache.delete(atom)\n }\n\n async dispose(): Promise<void> {\n for (const ext of this.extensions) {\n if (ext.dispose) {\n await ext.dispose(this)\n }\n }\n\n const atoms = Array.from(this.cache.keys())\n for (const atom of atoms) {\n await this.release(atom as Lite.Atom<unknown>)\n }\n }\n\n async flush(): Promise<void> {\n if (this.chainPromise) {\n await this.chainPromise\n }\n }\n\n createContext(options?: Lite.CreateContextOptions): Lite.ExecutionContext {\n return new ExecutionContextImpl(this, options)\n }\n}\n\nclass ExecutionContextImpl implements Lite.ExecutionContext {\n private cleanups: (() => MaybePromise<void>)[] = []\n private closed = false\n private _input: unknown = undefined\n private readonly baseTags: Lite.Tagged<unknown>[]\n\n constructor(\n readonly scope: ScopeImpl,\n options?: Lite.CreateContextOptions\n ) {\n const ctxTags = options?.tags\n this.baseTags = ctxTags?.length\n ? [...ctxTags, ...scope.tags]\n : scope.tags\n }\n\n get input(): unknown {\n return this._input\n }\n\n async exec<T>(options: Lite.ExecFlowOptions<T> | Lite.ExecFnOptions<T>): Promise<T> {\n if (this.closed) {\n throw new Error(\"ExecutionContext is closed\")\n }\n\n if (\"flow\" in options) {\n return this.execFlow(options)\n } else {\n return this.execFn(options)\n }\n }\n\n private async execFlow<T>(options: Lite.ExecFlowOptions<T>): Promise<T> {\n const { flow, input, tags: execTags, name: execName } = options\n\n const hasExtraTags = (execTags?.length ?? 0) > 0 || (flow.tags?.length ?? 0) > 0\n const allTags = hasExtraTags\n ? [...(execTags ?? []), ...this.baseTags, ...(flow.tags ?? [])]\n : this.baseTags\n\n const resolvedDeps = await this.scope.resolveDeps(flow.deps, allTags)\n\n let parsedInput: unknown = input\n if (flow.parse) {\n const label = execName ?? flow.name ?? \"anonymous\"\n try {\n parsedInput = await flow.parse(input)\n } catch (err) {\n throw new ParseError(\n `Failed to parse flow input \"${label}\"`,\n \"flow-input\",\n label,\n err\n )\n }\n }\n\n this._input = parsedInput\n\n const factory = flow.factory as unknown as (\n ctx: Lite.ExecutionContext,\n deps?: Record<string, unknown>\n ) => MaybePromise<T>\n\n const doExec = async (): Promise<T> => {\n if (flow.deps && Object.keys(flow.deps).length > 0) {\n return factory(this, resolvedDeps)\n } else {\n return factory(this)\n }\n }\n\n return this.applyExecExtensions(flow, doExec)\n }\n\n private execFn<T>(options: Lite.ExecFnOptions<T>): Promise<T> {\n const { fn, params } = options\n const doExec = () => Promise.resolve(fn(...params))\n return this.applyExecExtensions(fn, doExec)\n }\n\n private async applyExecExtensions<T>(\n target: Lite.Flow<T, unknown> | ((...args: unknown[]) => MaybePromise<T>),\n doExec: () => Promise<T>\n ): Promise<T> {\n let next = doExec\n\n for (let i = this.scope.extensions.length - 1; i >= 0; i--) {\n const ext = this.scope.extensions[i]\n if (ext?.wrapExec) {\n const currentNext = next\n next = ext.wrapExec.bind(ext, currentNext, target, this) as () => Promise<T>\n }\n }\n\n return next()\n }\n\n onClose(fn: () => MaybePromise<void>): void {\n this.cleanups.push(fn)\n }\n\n async close(): Promise<void> {\n if (this.closed) return\n\n this.closed = true\n\n for (let i = this.cleanups.length - 1; i >= 0; i--) {\n const cleanup = this.cleanups[i]\n if (cleanup) await cleanup()\n }\n }\n}\n\n/**\n * Creates a DI container that manages Atom resolution, caching, and lifecycle.\n *\n * The scope is returned synchronously, with a `ready` promise that resolves\n * when all extensions have been initialized. Resolution methods automatically\n * wait for `ready` before proceeding.\n *\n * @param options - Optional configuration for extensions, presets, and tags\n * @returns A Scope instance with a `ready` promise for extension initialization\n *\n * @example\n * ```typescript\n * const scope = createScope({\n * extensions: [loggingExtension],\n * presets: [preset(dbAtom, testDb)]\n * })\n *\n * // Option 1: resolve() waits for ready internally\n * const db = await scope.resolve(dbAtom)\n *\n * // Option 2: explicit wait\n * await scope.ready\n * const db = await scope.resolve(dbAtom)\n * ```\n */\nexport function createScope(options?: Lite.ScopeOptions): Lite.Scope {\n return new ScopeImpl(options)\n}\n","export type { Lite, AtomState } from \"./types\"\nexport {\n atomSymbol,\n flowSymbol,\n tagSymbol,\n taggedSymbol,\n controllerDepSymbol,\n presetSymbol,\n controllerSymbol,\n tagExecutorSymbol,\n typedSymbol,\n} from \"./symbols\"\nexport { tag, tags, isTag, isTagged, isTagExecutor } from \"./tag\"\nexport { atom, isAtom, controller, isControllerDep } from \"./atom\"\nexport { flow, isFlow, typed } from \"./flow\"\nexport { preset, isPreset } from \"./preset\"\nexport { createScope } from \"./scope\"\nexport { ParseError } from \"./errors\"\n\nexport const VERSION = \"0.0.1\"\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["atomSymbol: unique symbol","flowSymbol: unique symbol","tagSymbol: unique symbol","taggedSymbol: unique symbol","controllerDepSymbol: unique symbol","presetSymbol: unique symbol","controllerSymbol: unique symbol","tagExecutorSymbol: unique symbol","typedSymbol: unique symbol","phase: \"tag\" | \"flow-input\"","label: string","cause: unknown","tags","result: T[]","tag","ctrl: Lite.Controller<T>","selector: (value: T) => S","eq: (prev: S, next: S) => boolean","atom: Lite.Atom<T>","scope: ScopeImpl","atom","ctx: Lite.ResolveContext","result: Record<string, unknown>","tags","flow","parsedInput: unknown"],"sources":["../src/symbols.ts","../src/errors.ts","../src/tag.ts","../src/atom.ts","../src/flow.ts","../src/preset.ts","../src/scope.ts","../src/index.ts"],"sourcesContent":["export const atomSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/atom\")\nexport const flowSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/flow\")\nexport const tagSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/tag\")\nexport const taggedSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/tagged\")\nexport const controllerDepSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/controller-dep\")\nexport const presetSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/preset\")\nexport const controllerSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/controller\")\nexport const tagExecutorSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/tag-executor\")\nexport const typedSymbol: unique symbol = Symbol.for(\"@pumped-fn/lite/typed\")\n","export class ParseError extends Error {\n override readonly name = \"ParseError\"\n\n constructor(\n message: string,\n readonly phase: \"tag\" | \"flow-input\",\n readonly label: string,\n override readonly cause: unknown\n ) {\n super(message)\n }\n}\n","import { tagSymbol, taggedSymbol, tagExecutorSymbol } from \"./symbols\"\nimport { ParseError } from \"./errors\"\nimport type { Lite } from \"./types\"\n\nexport interface TagOptions<T, HasDefault extends boolean> {\n label: string\n default?: HasDefault extends true ? T : never\n parse?: (raw: unknown) => T\n}\n\n/**\n * Creates a metadata tag for attaching and retrieving typed values from Atoms and Flows.\n *\n * @param options - Configuration object with label and optional default value\n * @returns A Tag instance that can create tagged values and query them from sources\n *\n * @example\n * ```typescript\n * const nameTag = tag<string>({ label: \"name\" })\n * const myAtom = atom({\n * factory: (ctx) => \"value\",\n * tags: [nameTag(\"MyAtom\")]\n * })\n * ```\n */\nexport function tag<T>(options: { label: string }): Lite.Tag<T, false>\nexport function tag<T>(options: {\n label: string\n default: T\n}): Lite.Tag<T, true>\nexport function tag<T>(options: {\n label: string\n parse: (raw: unknown) => T\n}): Lite.Tag<T, false>\nexport function tag<T>(options: {\n label: string\n parse: (raw: unknown) => T\n default: T\n}): Lite.Tag<T, true>\nexport function tag<T>(options: TagOptions<T, boolean>): Lite.Tag<T, boolean> {\n const key = Symbol.for(`@pumped-fn/lite/tag/${options.label}`)\n const hasDefault = \"default\" in options\n const defaultValue = hasDefault ? options.default : undefined\n const parse = options.parse\n\n function createTagged(value: T): Lite.Tagged<T> {\n let validatedValue = value\n if (parse) {\n try {\n validatedValue = parse(value)\n } catch (err) {\n throw new ParseError(\n `Failed to parse tag \"${options.label}\"`,\n \"tag\",\n options.label,\n err\n )\n }\n }\n return {\n [taggedSymbol]: true,\n key,\n value: validatedValue,\n }\n }\n\n function get(source: Lite.TagSource): T {\n const tags = Array.isArray(source) ? source : source.tags ?? []\n for (let i = 0; i < tags.length; i++) {\n if (tags[i]!.key === key) return tags[i]!.value as unknown as T\n }\n if (hasDefault) return defaultValue as unknown as T\n throw new Error(`Tag \"${options.label}\" not found and has no default`)\n }\n\n function find(source: Lite.TagSource): T | undefined {\n const tags = Array.isArray(source) ? source : source.tags ?? []\n for (let i = 0; i < tags.length; i++) {\n if (tags[i]!.key === key) return tags[i]!.value as unknown as T\n }\n if (hasDefault) return defaultValue as unknown as T\n return undefined\n }\n\n function collect(source: Lite.TagSource): T[] {\n const tags = Array.isArray(source) ? source : source.tags ?? []\n const result: T[] = []\n for (let i = 0; i < tags.length; i++) {\n if (tags[i]!.key === key) result.push(tags[i]!.value as unknown as T)\n }\n return result\n }\n\n return Object.assign(createTagged, {\n [tagSymbol]: true as const,\n key,\n label: options.label,\n hasDefault,\n defaultValue,\n parse,\n get,\n find,\n collect,\n }) as unknown as Lite.Tag<T, boolean>\n}\n\n/**\n * Type guard to check if a value is a Tag.\n *\n * @param value - The value to check\n * @returns True if the value is a Tag, false otherwise\n *\n * @example\n * ```typescript\n * if (isTag(value)) {\n * const tagged = value(\"myValue\")\n * }\n * ```\n */\nexport function isTag(value: unknown): value is Lite.Tag<unknown, boolean> {\n return (\n typeof value === \"function\" &&\n (value as unknown as Record<symbol, unknown>)[tagSymbol] === true\n )\n}\n\n/**\n * Type guard to check if a value is a Tagged value.\n *\n * @param value - The value to check\n * @returns True if the value is a Tagged value, false otherwise\n *\n * @example\n * ```typescript\n * if (isTagged(value)) {\n * console.log(value.key, value.value)\n * }\n * ```\n */\nexport function isTagged(value: unknown): value is Lite.Tagged<unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as Record<symbol, unknown>)[taggedSymbol] === true\n )\n}\n\n/**\n * Tag execution helpers for declaring how tags should be resolved from dependency sources.\n */\nexport const tags = {\n /**\n * Creates a required tag executor that throws if the tag is not found.\n *\n * @param tag - The tag to execute\n * @returns A tag executor that requires the tag to be present\n *\n * @example\n * ```typescript\n * const myAtom = atom({\n * deps: { name: tags.required(nameTag) },\n * factory: (ctx, { name }) => `Hello ${name}`\n * })\n * ```\n */\n required<T>(tag: Lite.Tag<T, boolean>): Lite.TagExecutor<T, T> {\n return { [tagExecutorSymbol]: true, tag, mode: \"required\" }\n },\n\n /**\n * Creates an optional tag executor that returns undefined if the tag is not found.\n *\n * @param tag - The tag to execute\n * @returns A tag executor that allows the tag to be absent\n *\n * @example\n * ```typescript\n * const myAtom = atom({\n * deps: { name: tags.optional(nameTag) },\n * factory: (ctx, { name }) => name ?? \"Anonymous\"\n * })\n * ```\n */\n optional<T>(tag: Lite.Tag<T, boolean>): Lite.TagExecutor<T | undefined, T> {\n return { [tagExecutorSymbol]: true, tag, mode: \"optional\" }\n },\n\n /**\n * Creates a tag executor that collects all values for the given tag.\n *\n * @param tag - The tag to execute\n * @returns A tag executor that returns an array of all matching tag values\n *\n * @example\n * ```typescript\n * const myAtom = atom({\n * deps: { names: tags.all(nameTag) },\n * factory: (ctx, { names }) => names.join(\", \")\n * })\n * ```\n */\n all<T>(tag: Lite.Tag<T, boolean>): Lite.TagExecutor<T[], T> {\n return { [tagExecutorSymbol]: true, tag, mode: \"all\" }\n },\n}\n\n/**\n * Type guard to check if a value is a TagExecutor.\n *\n * @param value - The value to check\n * @returns True if the value is a TagExecutor, false otherwise\n *\n * @example\n * ```typescript\n * if (isTagExecutor(value)) {\n * console.log(value.mode, value.tag)\n * }\n * ```\n */\nexport function isTagExecutor(value: unknown): value is Lite.TagExecutor<unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n tagExecutorSymbol in value\n )\n}\n","import { atomSymbol, controllerDepSymbol } from \"./symbols\"\nimport type { Lite, MaybePromise } from \"./types\"\n\nexport interface AtomConfig<T, D extends Record<string, Lite.Dependency>> {\n deps?: D\n factory: Lite.AtomFactory<T, D>\n tags?: Lite.Tagged<unknown>[]\n}\n\n/**\n * Creates a long-lived dependency that can be resolved and reused within a scope.\n *\n * @param config - Configuration object containing factory function, optional dependencies, and tags\n * @returns An Atom instance that can be resolved to produce a value of type T\n *\n * @example\n * ```typescript\n * const dbAtom = atom({\n * factory: async (ctx) => createDatabase()\n * })\n * ```\n */\nexport function atom<T>(config: {\n deps?: undefined\n factory: (ctx: Lite.ResolveContext) => MaybePromise<T>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Atom<T>\n\nexport function atom<\n T,\n const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | { mode: string }>,\n>(config: {\n deps: D\n factory: (ctx: Lite.ResolveContext, deps: Lite.InferDeps<D>) => MaybePromise<T>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Atom<T>\n\nexport function atom<T, D extends Record<string, Lite.Dependency>>(\n config: AtomConfig<T, D>\n): Lite.Atom<T> {\n return {\n [atomSymbol]: true,\n factory: config.factory as unknown as Lite.AtomFactory<T, Record<string, Lite.Dependency>>,\n deps: config.deps as unknown as Record<string, Lite.Dependency> | undefined,\n tags: config.tags,\n }\n}\n\n/**\n * Type guard to check if a value is an Atom.\n *\n * @param value - The value to check\n * @returns True if the value is an Atom, false otherwise\n *\n * @example\n * ```typescript\n * if (isAtom(value)) {\n * await scope.resolve(value)\n * }\n * ```\n */\nexport function isAtom(value: unknown): value is Lite.Atom<unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as Record<symbol, unknown>)[atomSymbol] === true\n )\n}\n\n/**\n * Wraps an Atom to receive a Controller instead of the resolved value.\n * The Controller provides full lifecycle control: get, resolve, release, invalidate, and subscribe.\n *\n * @param atom - The Atom to wrap\n * @returns A ControllerDep that resolves to a Controller for the Atom\n *\n * @example\n * ```typescript\n * const configAtom = atom({ factory: () => fetchConfig() })\n * const serverAtom = atom({\n * deps: { config: controller(configAtom) },\n * factory: (ctx, { config }) => {\n * const unsub = config.on(() => ctx.invalidate())\n * ctx.cleanup(unsub)\n * return createServer(config.get().port)\n * }\n * })\n * ```\n */\nexport function controller<T>(atom: Lite.Atom<T>): Lite.ControllerDep<T> {\n return {\n [controllerDepSymbol]: true,\n atom,\n }\n}\n\n/**\n * Type guard to check if a value is a ControllerDep wrapper.\n *\n * @param value - The value to check\n * @returns True if the value is a ControllerDep wrapper, false otherwise\n *\n * @example\n * ```typescript\n * if (isControllerDep(dep)) {\n * const ctrl = scope.controller(dep.atom)\n * }\n * ```\n */\nexport function isControllerDep(value: unknown): value is Lite.ControllerDep<unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as Record<symbol, unknown>)[controllerDepSymbol] === true\n )\n}\n","import { flowSymbol, typedSymbol } from \"./symbols\"\nimport type { Lite, MaybePromise } from \"./types\"\n\n/**\n * Type marker for flow input without runtime parsing.\n * Use this when you want typed input but don't need validation.\n *\n * @example\n * ```typescript\n * const myFlow = flow({\n * parse: typed<{ name: string }>(),\n * factory: (ctx) => {\n * return ctx.input.name.toUpperCase()\n * }\n * })\n * ```\n */\nexport function typed<T>(): Lite.Typed<T> {\n return { [typedSymbol]: true }\n}\n\nexport interface FlowConfig<\n TOutput,\n TInput,\n D extends Record<string, Lite.Dependency>,\n> {\n name?: string\n parse?: ((raw: unknown) => MaybePromise<TInput>) | Lite.Typed<TInput>\n deps?: D\n factory: Lite.FlowFactory<TOutput, TInput, D>\n tags?: Lite.Tagged<unknown>[]\n}\n\n/**\n * Creates a short-lived execution unit that processes input and produces output.\n *\n * @param config - Configuration object containing factory function, optional dependencies, and tags\n * @returns A Flow instance that can be executed within an execution context\n *\n * @example\n * ```typescript\n * const processUser = flow({\n * factory: async (ctx) => {\n * const userId = ctx.input\n * return await fetchUser(userId)\n * }\n * })\n * ```\n */\nexport function flow<TOutput>(config: {\n name?: string\n parse?: undefined\n deps?: undefined\n factory: (ctx: Lite.ExecutionContext) => MaybePromise<TOutput>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Flow<TOutput, unknown>\n\nexport function flow<TOutput, TInput>(config: {\n name?: string\n parse: (raw: unknown) => MaybePromise<TInput>\n deps?: undefined\n factory: (ctx: Lite.ExecutionContext<NoInfer<TInput>>) => MaybePromise<TOutput>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Flow<TOutput, TInput>\n\nexport function flow<TOutput, TInput>(config: {\n name?: string\n parse: Lite.Typed<TInput>\n deps?: undefined\n factory: (ctx: Lite.ExecutionContext<NoInfer<TInput>>) => MaybePromise<TOutput>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Flow<TOutput, TInput>\n\nexport function flow<\n TOutput,\n const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | { mode: string }>,\n>(config: {\n name?: string\n parse?: undefined\n deps: D\n factory: (ctx: Lite.ExecutionContext, deps: Lite.InferDeps<D>) => MaybePromise<TOutput>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Flow<TOutput, unknown>\n\nexport function flow<\n TOutput,\n TInput,\n const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | { mode: string }>,\n>(config: {\n name?: string\n parse: (raw: unknown) => MaybePromise<TInput>\n deps: D\n factory: (ctx: Lite.ExecutionContext<NoInfer<TInput>>, deps: Lite.InferDeps<D>) => MaybePromise<TOutput>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Flow<TOutput, TInput>\n\nexport function flow<\n TOutput,\n TInput,\n const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | { mode: string }>,\n>(config: {\n name?: string\n parse: Lite.Typed<TInput>\n deps: D\n factory: (ctx: Lite.ExecutionContext<NoInfer<TInput>>, deps: Lite.InferDeps<D>) => MaybePromise<TOutput>\n tags?: Lite.Tagged<unknown>[]\n}): Lite.Flow<TOutput, TInput>\n\nexport function flow<\n TOutput,\n TInput,\n D extends Record<string, Lite.Dependency>,\n>(config: FlowConfig<TOutput, TInput, D>): Lite.Flow<TOutput, TInput> {\n const parse = config.parse\n const isTypedMarker =\n typeof parse === \"object\" && parse !== null && typedSymbol in parse\n\n return {\n [flowSymbol]: true,\n name: config.name,\n parse: isTypedMarker\n ? undefined\n : (parse as ((raw: unknown) => MaybePromise<TInput>) | undefined),\n factory: config.factory as unknown as Lite.FlowFactory<\n TOutput,\n TInput,\n Record<string, Lite.Dependency>\n >,\n deps: config.deps as unknown as Record<string, Lite.Dependency> | undefined,\n tags: config.tags,\n }\n}\n\n/**\n * Type guard to check if a value is a Flow.\n *\n * @param value - The value to check\n * @returns True if the value is a Flow, false otherwise\n *\n * @example\n * ```typescript\n * if (isFlow(value)) {\n * await ctx.exec({ flow: value, input: data })\n * }\n * ```\n */\nexport function isFlow(value: unknown): value is Lite.Flow<unknown, unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as Record<symbol, unknown>)[flowSymbol] === true\n )\n}\n","import { presetSymbol } from \"./symbols\"\nimport type { Lite } from \"./types\"\n\n/**\n * Creates a preset value for an Atom, overriding its factory within a scope.\n *\n * @param atom - The Atom to preset\n * @param value - The preset value (can be a direct value or another Atom)\n * @returns A Preset instance to be used in scope configuration\n *\n * @example\n * ```typescript\n * const scope = await createScope({\n * presets: [preset(dbAtom, mockDatabase)]\n * })\n * ```\n */\nexport function preset<T>(\n atom: Lite.Atom<T>,\n value: T | Lite.Atom<T>\n): Lite.Preset<T> {\n return {\n [presetSymbol]: true,\n atom,\n value,\n }\n}\n\n/**\n * Type guard to check if a value is a Preset.\n *\n * @param value - The value to check\n * @returns True if the value is a Preset, false otherwise\n *\n * @example\n * ```typescript\n * if (isPreset(value)) {\n * console.log(value.atom, value.value)\n * }\n * ```\n */\nexport function isPreset(value: unknown): value is Lite.Preset<unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as Record<symbol, unknown>)[presetSymbol] === true\n )\n}\n","import { controllerSymbol, tagExecutorSymbol } from \"./symbols\"\nimport type { Lite, MaybePromise, AtomState } from \"./types\"\nimport { isAtom, isControllerDep } from \"./atom\"\nimport { ParseError } from \"./errors\"\n\ntype ListenerEvent = 'resolving' | 'resolved' | '*'\n\nclass DataStoreImpl implements Lite.DataStore {\n private readonly map = new Map<symbol, unknown>()\n\n get<T, H extends boolean>(tag: Lite.Tag<T, H>): H extends true ? T : T | undefined {\n if (this.map.has(tag.key)) {\n return this.map.get(tag.key) as T\n }\n if (tag.hasDefault) {\n return tag.defaultValue as T\n }\n return undefined as H extends true ? T : T | undefined\n }\n\n set<T>(tag: Lite.Tag<T, boolean>, value: T): void {\n this.map.set(tag.key, value)\n }\n\n has(tag: Lite.Tag<unknown, boolean>): boolean {\n return this.map.has(tag.key)\n }\n\n delete(tag: Lite.Tag<unknown, boolean>): boolean {\n return this.map.delete(tag.key)\n }\n\n clear(): void {\n this.map.clear()\n }\n}\n\ninterface AtomEntry<T> {\n state: AtomState\n value?: T\n hasValue: boolean\n error?: Error\n cleanups: (() => MaybePromise<void>)[]\n listeners: Map<ListenerEvent, Set<() => void>>\n pendingInvalidate: boolean\n data?: Lite.DataStore\n}\n\nclass SelectHandleImpl<T, S> implements Lite.SelectHandle<S> {\n private listeners = new Set<() => void>()\n private currentValue: S\n private ctrlUnsub: (() => void) | null = null\n\n constructor(\n private ctrl: Lite.Controller<T>,\n private selector: (value: T) => S,\n private eq: (prev: S, next: S) => boolean\n ) {\n if (ctrl.state !== 'resolved') {\n throw new Error(\"Cannot select from unresolved atom\")\n }\n\n this.currentValue = selector(ctrl.get())\n\n this.ctrlUnsub = ctrl.on('resolved', () => {\n const nextValue = this.selector(this.ctrl.get())\n if (!this.eq(this.currentValue, nextValue)) {\n this.currentValue = nextValue\n this.notifyListeners()\n }\n })\n }\n\n get(): S {\n return this.currentValue\n }\n\n subscribe(listener: () => void): () => void {\n this.listeners.add(listener)\n\n return () => {\n this.listeners.delete(listener)\n if (this.listeners.size === 0) {\n this.cleanup()\n }\n }\n }\n\n private notifyListeners(): void {\n for (const listener of this.listeners) {\n listener()\n }\n }\n\n private cleanup(): void {\n this.ctrlUnsub?.()\n this.ctrlUnsub = null\n this.listeners.clear()\n }\n}\n\nclass ControllerImpl<T> implements Lite.Controller<T> {\n readonly [controllerSymbol] = true\n\n constructor(\n private atom: Lite.Atom<T>,\n private scope: ScopeImpl\n ) {}\n\n get state(): AtomState {\n const entry = this.scope.getEntry(this.atom)\n return entry?.state ?? 'idle'\n }\n\n get(): T {\n const entry = this.scope.getEntry(this.atom)\n if (!entry || entry.state === 'idle') {\n throw new Error(\"Atom not resolved\")\n }\n if (entry.state === 'failed' && entry.error) {\n throw entry.error\n }\n if (entry.state === 'resolving' && entry.hasValue) {\n return entry.value as T\n }\n if (entry.state === 'resolved' && entry.hasValue) {\n return entry.value as T\n }\n throw new Error(\"Atom not resolved\")\n }\n\n async resolve(): Promise<T> {\n return this.scope.resolve(this.atom)\n }\n\n async release(): Promise<void> {\n return this.scope.release(this.atom)\n }\n\n invalidate(): void {\n this.scope.invalidate(this.atom)\n }\n\n on(event: ListenerEvent, listener: () => void): () => void {\n return this.scope.addListener(this.atom, event, listener)\n }\n}\n\nclass ScopeImpl implements Lite.Scope {\n private cache = new Map<Lite.Atom<unknown>, AtomEntry<unknown>>()\n private presets = new Map<Lite.Atom<unknown>, unknown | Lite.Atom<unknown>>()\n private resolving = new Set<Lite.Atom<unknown>>()\n private pending = new Map<Lite.Atom<unknown>, Promise<unknown>>()\n private stateListeners = new Map<AtomState, Map<Lite.Atom<unknown>, Set<() => void>>>()\n private invalidationQueue = new Set<Lite.Atom<unknown>>()\n private invalidationScheduled = false\n private invalidationChain: Set<Lite.Atom<unknown>> | null = null\n private chainPromise: Promise<void> | null = null\n private initialized = false\n readonly extensions: Lite.Extension[]\n readonly tags: Lite.Tagged<unknown>[]\n readonly ready: Promise<void>\n\n private scheduleInvalidation<T>(atom: Lite.Atom<T>): void {\n const entry = this.cache.get(atom) as AtomEntry<T> | undefined\n if (!entry || entry.state === \"idle\") return\n\n if (entry.state === \"resolving\") {\n entry.pendingInvalidate = true\n return\n }\n\n this.invalidationQueue.add(atom)\n\n if (!this.chainPromise) {\n this.invalidationChain = new Set()\n this.invalidationScheduled = true\n this.chainPromise = new Promise<void>((resolve, reject) => {\n queueMicrotask(() => {\n this.processInvalidationChain().then(resolve).catch(reject)\n })\n })\n }\n }\n\n private async processInvalidationChain(): Promise<void> {\n try {\n while (this.invalidationQueue.size > 0) {\n const atom = this.invalidationQueue.values().next().value as Lite.Atom<unknown>\n this.invalidationQueue.delete(atom)\n\n if (this.invalidationChain!.has(atom)) {\n const chainAtoms = Array.from(this.invalidationChain!)\n chainAtoms.push(atom)\n const path = chainAtoms\n .map(a => a.factory?.name || \"<anonymous>\")\n .join(\" → \")\n throw new Error(`Infinite invalidation loop detected: ${path}`)\n }\n\n this.invalidationChain!.add(atom)\n await this.doInvalidateSequential(atom)\n }\n } finally {\n this.invalidationChain = null\n this.chainPromise = null\n this.invalidationScheduled = false\n }\n }\n\n constructor(options?: Lite.ScopeOptions) {\n this.extensions = options?.extensions ?? []\n this.tags = options?.tags ?? []\n\n for (const p of options?.presets ?? []) {\n this.presets.set(p.atom, p.value)\n }\n\n this.ready = this.init()\n }\n\n private async init(): Promise<void> {\n for (const ext of this.extensions) {\n if (ext.init) {\n await ext.init(this)\n }\n }\n this.initialized = true\n }\n\n getEntry<T>(atom: Lite.Atom<T>): AtomEntry<T> | undefined {\n return this.cache.get(atom) as AtomEntry<T> | undefined\n }\n\n private getOrCreateEntry<T>(atom: Lite.Atom<T>): AtomEntry<T> {\n let entry = this.cache.get(atom) as AtomEntry<T> | undefined\n if (!entry) {\n entry = {\n state: 'idle',\n hasValue: false,\n cleanups: [],\n listeners: new Map([\n ['resolving', new Set()],\n ['resolved', new Set()],\n ['*', new Set()],\n ]),\n pendingInvalidate: false,\n }\n this.cache.set(atom, entry as AtomEntry<unknown>)\n }\n return entry\n }\n\n addListener<T>(atom: Lite.Atom<T>, event: ListenerEvent, listener: () => void): () => void {\n const entry = this.getOrCreateEntry(atom)\n const listeners = entry.listeners.get(event)!\n listeners.add(listener)\n return () => {\n listeners.delete(listener)\n }\n }\n\n private notifyListeners<T>(atom: Lite.Atom<T>, event: 'resolving' | 'resolved'): void {\n const entry = this.cache.get(atom)\n if (!entry) return\n\n const eventListeners = entry.listeners.get(event)\n if (eventListeners) {\n for (const listener of eventListeners) {\n listener()\n }\n }\n\n const allListeners = entry.listeners.get('*')\n if (allListeners) {\n for (const listener of allListeners) {\n listener()\n }\n }\n }\n\n private notifyAllListeners<T>(atom: Lite.Atom<T>): void {\n const entry = this.cache.get(atom)\n if (!entry) return\n\n const allListeners = entry.listeners.get('*')\n if (allListeners) {\n for (const listener of allListeners) {\n listener()\n }\n }\n }\n\n private emitStateChange(state: AtomState, atom: Lite.Atom<unknown>): void {\n const stateMap = this.stateListeners.get(state)\n if (stateMap) {\n const listeners = stateMap.get(atom)\n if (listeners) {\n for (const listener of listeners) {\n listener()\n }\n }\n }\n }\n\n on(event: AtomState, atom: Lite.Atom<unknown>, listener: () => void): () => void {\n let stateMap = this.stateListeners.get(event)\n if (!stateMap) {\n stateMap = new Map()\n this.stateListeners.set(event, stateMap)\n }\n let listeners = stateMap.get(atom)\n if (!listeners) {\n listeners = new Set()\n stateMap.set(atom, listeners)\n }\n listeners.add(listener)\n\n const capturedStateMap = stateMap\n const capturedListeners = listeners\n\n return () => {\n capturedListeners.delete(listener)\n if (capturedListeners.size === 0) {\n capturedStateMap.delete(atom)\n if (capturedStateMap.size === 0) {\n this.stateListeners.delete(event)\n }\n }\n }\n }\n\n async resolve<T>(atom: Lite.Atom<T>): Promise<T> {\n if (!this.initialized) {\n await this.ready\n }\n\n const entry = this.cache.get(atom) as AtomEntry<T> | undefined\n if (entry?.state === 'resolved') {\n return entry.value as T\n }\n\n const pendingPromise = this.pending.get(atom)\n if (pendingPromise) {\n return pendingPromise as Promise<T>\n }\n\n if (this.resolving.has(atom)) {\n throw new Error(\"Circular dependency detected\")\n }\n\n const presetValue = this.presets.get(atom)\n if (presetValue !== undefined) {\n if (isAtom(presetValue)) {\n return this.resolve(presetValue as Lite.Atom<T>)\n }\n const newEntry = this.getOrCreateEntry(atom)\n newEntry.state = 'resolved'\n newEntry.value = presetValue as T\n newEntry.hasValue = true\n this.emitStateChange('resolved', atom)\n this.notifyListeners(atom, 'resolved')\n return newEntry.value\n }\n\n this.resolving.add(atom)\n\n const promise = this.doResolve(atom)\n this.pending.set(atom, promise as Promise<unknown>)\n\n try {\n return await promise\n } finally {\n this.resolving.delete(atom)\n this.pending.delete(atom)\n }\n }\n\n private async doResolve<T>(atom: Lite.Atom<T>): Promise<T> {\n const entry = this.getOrCreateEntry(atom)\n\n const wasResolving = entry.state === 'resolving'\n if (!wasResolving) {\n entry.state = 'resolving'\n this.emitStateChange('resolving', atom)\n this.notifyListeners(atom, 'resolving')\n }\n\n const resolvedDeps = await this.resolveDeps(atom.deps)\n\n const ctx: Lite.ResolveContext = {\n cleanup: (fn) => entry.cleanups.push(fn),\n invalidate: () => {\n this.scheduleInvalidation(atom)\n },\n scope: this,\n get data() {\n if (!entry.data) {\n entry.data = new DataStoreImpl()\n }\n return entry.data\n },\n }\n\n const factory = atom.factory as (\n ctx: Lite.ResolveContext,\n deps?: Record<string, unknown>\n ) => MaybePromise<T>\n\n const doResolve = async () => {\n if (atom.deps && Object.keys(atom.deps).length > 0) {\n return factory(ctx, resolvedDeps)\n } else {\n return factory(ctx)\n }\n }\n\n try {\n const value = await this.applyResolveExtensions(atom, doResolve)\n entry.state = 'resolved'\n entry.value = value\n entry.hasValue = true\n entry.error = undefined\n this.emitStateChange('resolved', atom)\n this.notifyListeners(atom, 'resolved')\n\n if (entry.pendingInvalidate) {\n entry.pendingInvalidate = false\n this.invalidationChain?.delete(atom)\n this.scheduleInvalidation(atom)\n }\n\n return value\n } catch (err) {\n entry.state = 'failed'\n entry.error = err instanceof Error ? err : new Error(String(err))\n entry.value = undefined\n entry.hasValue = false\n this.emitStateChange('failed', atom)\n this.notifyAllListeners(atom)\n\n if (entry.pendingInvalidate) {\n entry.pendingInvalidate = false\n this.invalidationChain?.delete(atom)\n this.scheduleInvalidation(atom)\n }\n\n throw entry.error\n }\n }\n\n private async applyResolveExtensions<T>(\n atom: Lite.Atom<T>,\n doResolve: () => Promise<T>\n ): Promise<T> {\n let next = doResolve\n\n for (let i = this.extensions.length - 1; i >= 0; i--) {\n const ext = this.extensions[i]\n if (ext?.wrapResolve) {\n const currentNext = next\n next = ext.wrapResolve.bind(ext, currentNext, atom, this) as () => Promise<T>\n }\n }\n\n return next()\n }\n\n async resolveDeps(\n deps: Record<string, Lite.Dependency> | undefined,\n tagSource?: Lite.Tagged<unknown>[]\n ): Promise<Record<string, unknown>> {\n if (!deps) return {}\n\n const result: Record<string, unknown> = {}\n const tags = tagSource ?? this.tags\n\n for (const [key, dep] of Object.entries(deps)) {\n if (isAtom(dep)) {\n result[key] = await this.resolve(dep)\n } else if (isControllerDep(dep)) {\n result[key] = new ControllerImpl(dep.atom, this)\n } else if (tagExecutorSymbol in (dep as object)) {\n const tagExecutor = dep as Lite.TagExecutor<unknown, boolean>\n\n switch (tagExecutor.mode) {\n case \"required\":\n result[key] = tagExecutor.tag.get(tags)\n break\n case \"optional\":\n result[key] = tagExecutor.tag.find(tags)\n break\n case \"all\":\n result[key] = tagExecutor.tag.collect(tags)\n break\n }\n }\n }\n\n return result\n }\n\n controller<T>(atom: Lite.Atom<T>): Lite.Controller<T> {\n return new ControllerImpl(atom, this)\n }\n\n select<T, S>(\n atom: Lite.Atom<T>,\n selector: (value: T) => S,\n options?: Lite.SelectOptions<S>\n ): Lite.SelectHandle<S> {\n const ctrl = this.controller(atom)\n const eq = options?.eq ?? ((a, b) => a === b)\n return new SelectHandleImpl(ctrl, selector, eq)\n }\n\n invalidate<T>(atom: Lite.Atom<T>): void {\n const entry = this.cache.get(atom)\n if (!entry) return\n\n if (entry.state === 'idle') return\n\n if (entry.state === 'resolving') {\n entry.pendingInvalidate = true\n return\n }\n\n this.scheduleInvalidation(atom)\n }\n\n private async doInvalidateSequential<T>(atom: Lite.Atom<T>): Promise<void> {\n const entry = this.cache.get(atom) as AtomEntry<T> | undefined\n if (!entry) return\n if (entry.state === \"idle\") return\n\n const previousValue = entry.value\n\n for (let i = entry.cleanups.length - 1; i >= 0; i--) {\n const cleanup = entry.cleanups[i]\n if (cleanup) await cleanup()\n }\n entry.cleanups = []\n\n entry.state = \"resolving\"\n entry.value = previousValue\n entry.error = undefined\n entry.pendingInvalidate = false\n this.pending.delete(atom)\n this.resolving.delete(atom)\n this.emitStateChange(\"resolving\", atom)\n this.notifyListeners(atom, \"resolving\")\n\n await this.resolve(atom)\n }\n\n async release<T>(atom: Lite.Atom<T>): Promise<void> {\n const entry = this.cache.get(atom)\n if (!entry) return\n\n for (let i = entry.cleanups.length - 1; i >= 0; i--) {\n const cleanup = entry.cleanups[i]\n if (cleanup) await cleanup()\n }\n\n this.cache.delete(atom)\n }\n\n async dispose(): Promise<void> {\n for (const ext of this.extensions) {\n if (ext.dispose) {\n await ext.dispose(this)\n }\n }\n\n const atoms = Array.from(this.cache.keys())\n for (const atom of atoms) {\n await this.release(atom as Lite.Atom<unknown>)\n }\n }\n\n async flush(): Promise<void> {\n if (this.chainPromise) {\n await this.chainPromise\n }\n }\n\n createContext(options?: Lite.CreateContextOptions): Lite.ExecutionContext {\n return new ExecutionContextImpl(this, options)\n }\n}\n\nclass ExecutionContextImpl implements Lite.ExecutionContext {\n private cleanups: (() => MaybePromise<void>)[] = []\n private closed = false\n private _input: unknown = undefined\n private readonly baseTags: Lite.Tagged<unknown>[]\n\n constructor(\n readonly scope: ScopeImpl,\n options?: Lite.CreateContextOptions\n ) {\n const ctxTags = options?.tags\n this.baseTags = ctxTags?.length\n ? [...ctxTags, ...scope.tags]\n : scope.tags\n }\n\n get input(): unknown {\n return this._input\n }\n\n async exec<T>(options: Lite.ExecFlowOptions<T> | Lite.ExecFnOptions<T>): Promise<T> {\n if (this.closed) {\n throw new Error(\"ExecutionContext is closed\")\n }\n\n if (\"flow\" in options) {\n return this.execFlow(options)\n } else {\n return this.execFn(options)\n }\n }\n\n private async execFlow<T>(options: Lite.ExecFlowOptions<T>): Promise<T> {\n const { flow, input, tags: execTags, name: execName } = options\n\n const hasExtraTags = (execTags?.length ?? 0) > 0 || (flow.tags?.length ?? 0) > 0\n const allTags = hasExtraTags\n ? [...(execTags ?? []), ...this.baseTags, ...(flow.tags ?? [])]\n : this.baseTags\n\n const resolvedDeps = await this.scope.resolveDeps(flow.deps, allTags)\n\n let parsedInput: unknown = input\n if (flow.parse) {\n const label = execName ?? flow.name ?? \"anonymous\"\n try {\n parsedInput = await flow.parse(input)\n } catch (err) {\n throw new ParseError(\n `Failed to parse flow input \"${label}\"`,\n \"flow-input\",\n label,\n err\n )\n }\n }\n\n this._input = parsedInput\n\n const factory = flow.factory as unknown as (\n ctx: Lite.ExecutionContext,\n deps?: Record<string, unknown>\n ) => MaybePromise<T>\n\n const doExec = async (): Promise<T> => {\n if (flow.deps && Object.keys(flow.deps).length > 0) {\n return factory(this, resolvedDeps)\n } else {\n return factory(this)\n }\n }\n\n return this.applyExecExtensions(flow, doExec)\n }\n\n private execFn<T>(options: Lite.ExecFnOptions<T>): Promise<T> {\n const { fn, params } = options\n const doExec = () => Promise.resolve(fn(...params))\n return this.applyExecExtensions(fn, doExec)\n }\n\n private async applyExecExtensions<T>(\n target: Lite.Flow<T, unknown> | ((...args: unknown[]) => MaybePromise<T>),\n doExec: () => Promise<T>\n ): Promise<T> {\n let next = doExec\n\n for (let i = this.scope.extensions.length - 1; i >= 0; i--) {\n const ext = this.scope.extensions[i]\n if (ext?.wrapExec) {\n const currentNext = next\n next = ext.wrapExec.bind(ext, currentNext, target, this) as () => Promise<T>\n }\n }\n\n return next()\n }\n\n onClose(fn: () => MaybePromise<void>): void {\n this.cleanups.push(fn)\n }\n\n async close(): Promise<void> {\n if (this.closed) return\n\n this.closed = true\n\n for (let i = this.cleanups.length - 1; i >= 0; i--) {\n const cleanup = this.cleanups[i]\n if (cleanup) await cleanup()\n }\n }\n}\n\n/**\n * Creates a DI container that manages Atom resolution, caching, and lifecycle.\n *\n * The scope is returned synchronously, with a `ready` promise that resolves\n * when all extensions have been initialized. Resolution methods automatically\n * wait for `ready` before proceeding.\n *\n * @param options - Optional configuration for extensions, presets, and tags\n * @returns A Scope instance with a `ready` promise for extension initialization\n *\n * @example\n * ```typescript\n * const scope = createScope({\n * extensions: [loggingExtension],\n * presets: [preset(dbAtom, testDb)]\n * })\n *\n * // Option 1: resolve() waits for ready internally\n * const db = await scope.resolve(dbAtom)\n *\n * // Option 2: explicit wait\n * await scope.ready\n * const db = await scope.resolve(dbAtom)\n * ```\n */\nexport function createScope(options?: Lite.ScopeOptions): Lite.Scope {\n return new ScopeImpl(options)\n}\n","export type { Lite, AtomState } from \"./types\"\nexport {\n atomSymbol,\n flowSymbol,\n tagSymbol,\n taggedSymbol,\n controllerDepSymbol,\n presetSymbol,\n controllerSymbol,\n tagExecutorSymbol,\n typedSymbol,\n} from \"./symbols\"\nexport { tag, tags, isTag, isTagged, isTagExecutor } from \"./tag\"\nexport { atom, isAtom, controller, isControllerDep } from \"./atom\"\nexport { flow, isFlow, typed } from \"./flow\"\nexport { preset, isPreset } from \"./preset\"\nexport { createScope } from \"./scope\"\nexport { ParseError } from \"./errors\"\n\nexport const VERSION = \"0.0.1\"\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pumped-fn/lite",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "Lightweight dependency injection with minimal reactivity",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",