@satoshibits/functional 1.1.0 → 1.1.3

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.
Files changed (58) hide show
  1. package/README.md +28 -145
  2. package/dist/array-utils.d.mts +13 -0
  3. package/dist/array-utils.d.mts.map +1 -1
  4. package/dist/array-utils.mjs +13 -0
  5. package/dist/array-utils.mjs.map +1 -1
  6. package/dist/composition.d.mts +13 -0
  7. package/dist/composition.d.mts.map +1 -1
  8. package/dist/composition.mjs +13 -0
  9. package/dist/composition.mjs.map +1 -1
  10. package/dist/io.d.mts +12 -0
  11. package/dist/io.d.mts.map +1 -1
  12. package/dist/io.mjs +12 -0
  13. package/dist/io.mjs.map +1 -1
  14. package/dist/object-utils.d.mts +11 -0
  15. package/dist/object-utils.d.mts.map +1 -1
  16. package/dist/object-utils.mjs +11 -0
  17. package/dist/object-utils.mjs.map +1 -1
  18. package/dist/option.d.mts +20 -3
  19. package/dist/option.d.mts.map +1 -1
  20. package/dist/option.mjs +20 -3
  21. package/dist/option.mjs.map +1 -1
  22. package/dist/performance.d.mts +26 -9
  23. package/dist/performance.d.mts.map +1 -1
  24. package/dist/performance.mjs +26 -9
  25. package/dist/performance.mjs.map +1 -1
  26. package/dist/pipeline.d.mts +12 -0
  27. package/dist/pipeline.d.mts.map +1 -1
  28. package/dist/pipeline.mjs +12 -0
  29. package/dist/pipeline.mjs.map +1 -1
  30. package/dist/predicates.d.mts +12 -0
  31. package/dist/predicates.d.mts.map +1 -1
  32. package/dist/predicates.mjs +12 -0
  33. package/dist/predicates.mjs.map +1 -1
  34. package/dist/reader-result.d.mts +37 -16
  35. package/dist/reader-result.d.mts.map +1 -1
  36. package/dist/reader-result.mjs +37 -16
  37. package/dist/reader-result.mjs.map +1 -1
  38. package/dist/reader.d.mts +12 -0
  39. package/dist/reader.d.mts.map +1 -1
  40. package/dist/reader.mjs +12 -0
  41. package/dist/reader.mjs.map +1 -1
  42. package/dist/result.d.mts +12 -0
  43. package/dist/result.d.mts.map +1 -1
  44. package/dist/result.mjs +12 -0
  45. package/dist/result.mjs.map +1 -1
  46. package/dist/task.d.mts +13 -0
  47. package/dist/task.d.mts.map +1 -1
  48. package/dist/task.mjs +13 -0
  49. package/dist/task.mjs.map +1 -1
  50. package/dist/types.d.mts +12 -0
  51. package/dist/types.d.mts.map +1 -1
  52. package/dist/types.mjs +12 -0
  53. package/dist/types.mjs.map +1 -1
  54. package/dist/validation.d.mts +12 -0
  55. package/dist/validation.d.mts.map +1 -1
  56. package/dist/validation.mjs +12 -0
  57. package/dist/validation.mjs.map +1 -1
  58. package/package.json +65 -2
package/dist/option.mjs CHANGED
@@ -6,6 +6,18 @@
6
6
  * Forces explicit handling of edge cases and eliminates null pointer exceptions.
7
7
  * Inspired by functional programming languages like Haskell and Rust.
8
8
  *
9
+ * ### For Dummies
10
+ * - An `Option` is either "Some value" or "None"—no surprises, no `null` pitfalls.
11
+ * - You poke at it with helper functions instead of checking for `null` everywhere.
12
+ * - When you finally need a real value, you decide how to handle the empty case explicitly.
13
+ *
14
+ * ### Decision Tree
15
+ * - Have a definite value? Wrap it with `Option.some(value)`.
16
+ * - Unsure if a value exists? Use `Option.fromNullable(maybeValue)`.
17
+ * - Transforming without changing emptiness? Use `Option.map(fn)`.
18
+ * - Need the next step to also be optional? Use `Option.flatMap(fnReturningOption)`.
19
+ * - Want a default? Call `Option.getOrElse(() => fallback)(option)` at the edge.
20
+ *
9
21
  * @example
10
22
  * ```typescript
11
23
  * import { Option, some, none, fromNullable, map, getOrElse } from './option.mts';
@@ -259,8 +271,10 @@ export var map = function (fn) {
259
271
  * @example
260
272
  * // Chaining optional operations
261
273
  * const getManager = (employee: Employee) =>
262
- * Option.fromNullable(employee.managerId)
263
- * .pipe(Option.flatMap(id => findEmployee(id)));
274
+ * pipe(
275
+ * Option.fromNullable(employee.managerId),
276
+ * Option.flatMap(id => findEmployee(id)),
277
+ * );
264
278
  *
265
279
  * @example
266
280
  * // Validation chain
@@ -582,7 +596,10 @@ export var sequenceOption = function (options) {
582
596
  * const config = sequenceS({
583
597
  * apiKey: Option.fromNullable(process.env.API_KEY),
584
598
  * port: Option.tryCatch(() => parseInt(process.env.PORT!)),
585
- * debug: Option.fromNullable(process.env.DEBUG).pipe(Option.map(v => v === 'true'))
599
+ * debug: pipe(
600
+ * Option.fromNullable(process.env.DEBUG),
601
+ * Option.map(v => v === 'true'),
602
+ * )
586
603
  * });
587
604
  */
588
605
  export var sequenceS = function (struct) {
@@ -1 +1 @@
1
- {"version":3,"file":"option.mjs","sourceRoot":"","sources":["../src/option.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"option.mjs","sourceRoot":"","sources":["../src/option.mts"],"names":[],"mappings":"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"}
@@ -5,9 +5,20 @@
5
5
  * and prevent performance issues in applications. All utilities are designed
6
6
  * to be composable and work well with functional programming patterns.
7
7
  *
8
+ * ### For Dummies
9
+ * - These helpers slow noisy functions down, speed slow ones up, and batch the rest.
10
+ * - Wrap your callbacks so typing, scrolling, or API calls stop overwhelming the app.
11
+ * - Everything here returns a new function—swap it in place of the original.
12
+ *
13
+ * ### Decision Tree
14
+ * - Need to wait until the user pauses? Use `debounce(fn, delay)`.
15
+ * - Want to run at most once per interval? Reach for `throttle(fn, delay)`.
16
+ * - Flooded with async work? Chunk it with `batchAsync(items, worker, size, gap)`.
17
+ * - Tracking how long things take or need advanced timers? Look in `timingUtils` for extras like `measureTime`.
18
+ *
8
19
  * @example
9
20
  * ```typescript
10
- * import { debounce, throttle, batch, cache, Performance } from './performance.mts';
21
+ * import { debounce, throttle, batchAsync, timingUtils } from './performance.mts';
11
22
  *
12
23
  * // debounce user input
13
24
  * const search = debounce((query: string) => {
@@ -20,14 +31,20 @@
20
31
  * }, 100);
21
32
  *
22
33
  * // batch API calls
23
- * const saveItem = batch<Item>(async (items) => {
24
- * await api.saveMany(items);
25
- * }, { maxSize: 100, maxWait: 1000 });
26
- *
27
- * // cache expensive computations
28
- * const fibonacci = cache((n: number): number => {
29
- * if (n <= 1) return n;
30
- * return fibonacci(n - 1) + fibonacci(n - 2);
34
+ * const userIds = Array.from({ length: 100 }, (_, i) => i + 1);
35
+ * const users = await batchAsync(userIds, async (id) => {
36
+ * const res = await api.getUser(id);
37
+ * return res.data;
38
+ * }, 100, 1000);
39
+ *
40
+ * // measure runtime for observability
41
+ * const fetchJson = async (url: string) => {
42
+ * const response = await fetch(url);
43
+ * return response.json();
44
+ * };
45
+ *
46
+ * const fetchWithTiming = timingUtils.measureTime(fetchJson, (ms) => {
47
+ * logger.info('fetchJson duration', { ms });
31
48
  * });
32
49
  * ```
33
50
  *
@@ -1 +1 @@
1
- {"version":3,"file":"performance.d.mts","sourceRoot":"","sources":["../src/performance.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,GAAG,EAAE,MAClC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,SACjB,MAAM,KACZ,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAOvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,MACrC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,SACd,MAAM,KACZ,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAahC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,eAAO,MAAM,UAAU,GAAU,CAAC,EAAE,CAAC,SAC5B,CAAC,EAAE,MACN,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,2CAG1B,OAAO,CAAC,CAAC,EAAE,CAeb,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW;IACtB;;;;;;;;;;;;;;;;;;;OAmBG;4BAEqB,CAAC,SAAS,GAAG,EAAE,MACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,SACjB,MAAM,0BAEZ,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAuBzB;;;;;;;;;;;;;;;;;;;;;OAqBG;2BAEoB,CAAC,SAAS,GAAG,EAAE,MAChC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,SACjB,MAAM,yBAEZ,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IA+BzB;;;;;;;;;;;;;;;;OAgBG;kBACW,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,MAC9B,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,eACR,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,YACjD,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,KACnD,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;CA2BvB,CAAC"}
1
+ {"version":3,"file":"performance.d.mts","sourceRoot":"","sources":["../src/performance.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,GAAG,EAAE,MAClC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,SACjB,MAAM,KACZ,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAOvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,MACrC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,SACd,MAAM,KACZ,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAahC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,eAAO,MAAM,UAAU,GAAU,CAAC,EAAE,CAAC,SAC5B,CAAC,EAAE,MACN,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,2CAG1B,OAAO,CAAC,CAAC,EAAE,CAeb,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW;IACtB;;;;;;;;;;;;;;;;;;;OAmBG;4BAEqB,CAAC,SAAS,GAAG,EAAE,MACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,SACjB,MAAM,0BAEZ,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAuBzB;;;;;;;;;;;;;;;;;;;;;OAqBG;2BAEoB,CAAC,SAAS,GAAG,EAAE,MAChC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,SACjB,MAAM,yBAEZ,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IA+BzB;;;;;;;;;;;;;;;;OAgBG;kBACW,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,MAC9B,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,eACR,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,YACjD,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,KACnD,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;CA2BvB,CAAC"}
@@ -6,9 +6,20 @@
6
6
  * and prevent performance issues in applications. All utilities are designed
7
7
  * to be composable and work well with functional programming patterns.
8
8
  *
9
+ * ### For Dummies
10
+ * - These helpers slow noisy functions down, speed slow ones up, and batch the rest.
11
+ * - Wrap your callbacks so typing, scrolling, or API calls stop overwhelming the app.
12
+ * - Everything here returns a new function—swap it in place of the original.
13
+ *
14
+ * ### Decision Tree
15
+ * - Need to wait until the user pauses? Use `debounce(fn, delay)`.
16
+ * - Want to run at most once per interval? Reach for `throttle(fn, delay)`.
17
+ * - Flooded with async work? Chunk it with `batchAsync(items, worker, size, gap)`.
18
+ * - Tracking how long things take or need advanced timers? Look in `timingUtils` for extras like `measureTime`.
19
+ *
9
20
  * @example
10
21
  * ```typescript
11
- * import { debounce, throttle, batch, cache, Performance } from './performance.mts';
22
+ * import { debounce, throttle, batchAsync, timingUtils } from './performance.mts';
12
23
  *
13
24
  * // debounce user input
14
25
  * const search = debounce((query: string) => {
@@ -21,14 +32,20 @@
21
32
  * }, 100);
22
33
  *
23
34
  * // batch API calls
24
- * const saveItem = batch<Item>(async (items) => {
25
- * await api.saveMany(items);
26
- * }, { maxSize: 100, maxWait: 1000 });
27
- *
28
- * // cache expensive computations
29
- * const fibonacci = cache((n: number): number => {
30
- * if (n <= 1) return n;
31
- * return fibonacci(n - 1) + fibonacci(n - 2);
35
+ * const userIds = Array.from({ length: 100 }, (_, i) => i + 1);
36
+ * const users = await batchAsync(userIds, async (id) => {
37
+ * const res = await api.getUser(id);
38
+ * return res.data;
39
+ * }, 100, 1000);
40
+ *
41
+ * // measure runtime for observability
42
+ * const fetchJson = async (url: string) => {
43
+ * const response = await fetch(url);
44
+ * return response.json();
45
+ * };
46
+ *
47
+ * const fetchWithTiming = timingUtils.measureTime(fetchJson, (ms) => {
48
+ * logger.info('fetchJson duration', { ms });
32
49
  * });
33
50
  * ```
34
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"performance.mjs","sourceRoot":"","sources":["../src/performance.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"performance.mjs","sourceRoot":"","sources":["../src/performance.mts"],"names":[],"mappings":"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"}
@@ -5,6 +5,18 @@
5
5
  * interface for building complex data transformations with method chaining.
6
6
  * Combines the benefits of functional programming with familiar OOP patterns.
7
7
  *
8
+ * ### For Dummies
9
+ * - Picture `Pipeline` as a conveyor belt: drop a value in with `Pipeline.of(value)` and bolt on steps like `.map`.
10
+ * - Each step produces a brand-new pipeline, so you never mutate the original value.
11
+ * - Async steps move you onto a Promise-based belt—await each `.mapAsync` before continuing.
12
+ *
13
+ * ### Decision Tree
14
+ * - Want a fluent, chainable API around a value? Start with `Pipeline.of(initial)`.
15
+ * - Need a synchronous tweak? Call `.map(fn)`; result stays a `Pipeline`.
16
+ * - Need async work? Use `.mapAsync(asyncFn)` and await the returned pipeline.
17
+ * - Validating or short-circuiting? Use `.filter(predicate, error)` or `.flatMap` with a Result.
18
+ * - Ready for the answer? Call `.value()` to unwrap the current payload.
19
+ *
8
20
  * @example
9
21
  * ```typescript
10
22
  * import { Pipeline } from './pipeline.mts';
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.mts","sourceRoot":"","sources":["../src/pipeline.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.d.mts","sourceRoot":"","sources":["../src/pipeline.mts"],"names":[],"mappings":"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"}
package/dist/pipeline.mjs CHANGED
@@ -6,6 +6,18 @@
6
6
  * interface for building complex data transformations with method chaining.
7
7
  * Combines the benefits of functional programming with familiar OOP patterns.
8
8
  *
9
+ * ### For Dummies
10
+ * - Picture `Pipeline` as a conveyor belt: drop a value in with `Pipeline.of(value)` and bolt on steps like `.map`.
11
+ * - Each step produces a brand-new pipeline, so you never mutate the original value.
12
+ * - Async steps move you onto a Promise-based belt—await each `.mapAsync` before continuing.
13
+ *
14
+ * ### Decision Tree
15
+ * - Want a fluent, chainable API around a value? Start with `Pipeline.of(initial)`.
16
+ * - Need a synchronous tweak? Call `.map(fn)`; result stays a `Pipeline`.
17
+ * - Need async work? Use `.mapAsync(asyncFn)` and await the returned pipeline.
18
+ * - Validating or short-circuiting? Use `.filter(predicate, error)` or `.flatMap` with a Result.
19
+ * - Ready for the answer? Call `.value()` to unwrap the current payload.
20
+ *
9
21
  * @example
10
22
  * ```typescript
11
23
  * import { Pipeline } from './pipeline.mts';
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.mjs","sourceRoot":"","sources":["../src/pipeline.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.mjs","sourceRoot":"","sources":["../src/pipeline.mts"],"names":[],"mappings":"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"}
@@ -6,6 +6,18 @@
6
6
  * combinators for building complex predicates from simple ones, along with
7
7
  * common predicate patterns for everyday use.
8
8
  *
9
+ * ### For Dummies
10
+ * - A predicate is just a yes/no function; this module helps you wire them together.
11
+ * - Build tiny checks (`isNotNil`, `inRange`) and compose them like Lego to express rules.
12
+ * - Everything stays pure, so you can reuse predicates across filters, guards, and validators.
13
+ *
14
+ * ### Decision Tree
15
+ * - Need every rule to pass? Combine them with `and(predicateA, predicateB, ...)`.
16
+ * - Any rule may pass? Use `or(...)`.
17
+ * - Want the opposite? Wrap with `not(predicate)`.
18
+ * - Exactly one condition allowed? Reach for `xor(a, b)`.
19
+ * - Checking structure? Helpers like `hasProperty('field')`, `isNotNil`, and `inRange(min, max)` get you started.
20
+ *
9
21
  * @example
10
22
  * ```typescript
11
23
  * import { and, or, not, isNotNil, inRange, hasProperty } from './predicates.mts';
@@ -1 +1 @@
1
- {"version":3,"file":"predicates.d.mts","sourceRoot":"","sources":["../src/predicates.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"predicates.d.mts","sourceRoot":"","sources":["../src/predicates.mts"],"names":[],"mappings":"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"}
@@ -7,6 +7,18 @@
7
7
  * combinators for building complex predicates from simple ones, along with
8
8
  * common predicate patterns for everyday use.
9
9
  *
10
+ * ### For Dummies
11
+ * - A predicate is just a yes/no function; this module helps you wire them together.
12
+ * - Build tiny checks (`isNotNil`, `inRange`) and compose them like Lego to express rules.
13
+ * - Everything stays pure, so you can reuse predicates across filters, guards, and validators.
14
+ *
15
+ * ### Decision Tree
16
+ * - Need every rule to pass? Combine them with `and(predicateA, predicateB, ...)`.
17
+ * - Any rule may pass? Use `or(...)`.
18
+ * - Want the opposite? Wrap with `not(predicate)`.
19
+ * - Exactly one condition allowed? Reach for `xor(a, b)`.
20
+ * - Checking structure? Helpers like `hasProperty('field')`, `isNotNil`, and `inRange(min, max)` get you started.
21
+ *
10
22
  * @example
11
23
  * ```typescript
12
24
  * import { and, or, not, isNotNil, inRange, hasProperty } from './predicates.mts';
@@ -1 +1 @@
1
- {"version":3,"file":"predicates.mjs","sourceRoot":"","sources":["../src/predicates.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"predicates.mjs","sourceRoot":"","sources":["../src/predicates.mts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,CAAC,IAAM,GAAG,GACd;IAAK,oBAAwC;SAAxC,UAAwC,EAAxC,qBAAwC,EAAxC,IAAwC;QAAxC,+BAAwC;;IAC7C,OAAA,UAAC,KAAQ;QACP,OAAA,UAAU,CAAC,KAAK,CAAC,UAAC,SAAS,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,EAAhB,CAAgB,CAAC;IAAjD,CAAiD;AADnD,CACmD,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,IAAM,EAAE,GACb;IAAK,oBAAwC;SAAxC,UAAwC,EAAxC,qBAAwC,EAAxC,IAAwC;QAAxC,+BAAwC;;IAC7C,OAAA,UAAC,KAAQ;QACP,OAAA,UAAU,CAAC,IAAI,CAAC,UAAC,SAAS,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,EAAhB,CAAgB,CAAC;IAAhD,CAAgD;AADlD,CACkD,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,IAAM,GAAG,GACd,UAAK,SAAgC;IACrC,OAAA,UAAC,KAAQ;QACP,OAAA,CAAC,SAAS,CAAC,KAAK,CAAC;IAAjB,CAAiB;AADnB,CACmB,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,IAAM,GAAG,GACd,UAAK,UAAiC,EAAE,UAAiC;IACzE,OAAA,UAAC,KAAQ;QACP,IAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;AAJD,CAIC,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAK,KAA2B;IACtD,OAAA,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;AAArC,CAAqC,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,IAAM,KAAK,GAAG,UAAK,KAA2B;IACnD,OAAA,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;AAArC,CAAqC,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,KAAc;IACpC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,KAAc,IAAc,OAAA,CAAC,OAAO,CAAC,KAAK,CAAC,EAAf,CAAe,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,IAAM,MAAM,GACjB,UAAK,MAAS;IACd,OAAA,UAAC,KAAQ;QACP,OAAA,KAAK,KAAK,MAAM;IAAhB,CAAgB;AADlB,CACkB,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,IAAM,KAAK,GAChB,UAAK,OAAY;IACjB,OAAA,UAAC,KAAQ;QACP,OAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAAvB,CAAuB;AADzB,CACyB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,IAAM,OAAO,GAClB,UAAC,GAAW,EAAE,GAAW;IACzB,OAAA,UAAC,KAAa;QACZ,OAAA,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG;IAA5B,CAA4B;AAD9B,CAC8B,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,IAAM,OAAO,GAClB,UAAC,OAAe;IAChB,OAAA,UAAC,KAAa;QACZ,OAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAAnB,CAAmB;AADrB,CACqB,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,CAAC,IAAM,WAAW,GACtB,UAAwB,GAAM;IAC9B,OAAA,UAAmB,GAAM;QACvB,OAAA,GAAG,IAAI,GAAG;IAAV,CAAU;AADZ,CACY,CAAC;AAEf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,IAAM,QAAQ,GACnB,UAAK,MAAS;IACd,OAAA,UAAC,KAAU;QACT,OAAA,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IAAtB,CAAsB;AADxB,CACwB,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,CAAC,IAAM,UAAU,GAAG,UAAK,CAAI,IAAc,OAAA,IAAI,EAAJ,CAAI,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,CAAC,IAAM,WAAW,GAAG,UAAK,CAAI,IAAc,OAAA,KAAK,EAAL,CAAK,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,UAAU,EAAE,UAAuB,GAAM,EAAE,KAAW;QACpD,OAAA,UAAC,GAAM;YACL,OAAA,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;QAAlB,CAAkB;IADpB,CACoB;IAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,UAAU,EAAE,UAAmB,OAAmB;QAChD,OAAA,UAAC,GAAM;YACL,OAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAC,EAAY;oBAAX,GAAG,QAAA,EAAE,KAAK,QAAA;gBAAM,OAAA,GAAG,CAAC,GAAc,CAAC,KAAK,KAAK;YAA7B,CAA6B,CAAC;QAA9E,CAA8E;IADhF,CACgF;IAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,SAAS,EAAE,UAAO,SAAsB,EAAE,SAA4B;QACpE,OAAA,UAAC,KAAQ;YACP,OAAA,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAA3B,CAA2B;IAD7B,CAC6B;CAChC,CAAC"}
@@ -6,9 +6,22 @@
6
6
  * and dependency injection. Similar to fp-ts's ReaderTaskEither but tailored
7
7
  * for our Result type and async/await patterns.
8
8
  *
9
+ * ### For Dummies
10
+ * - Think of it as a recipe that needs ingredients (`deps`) and might fail; every step returns either success data or a named error.
11
+ * - You describe the steps first, then later hand in the ingredients; the container makes sure dependencies flow in without threading them manually.
12
+ * - If any step fails, the whole recipe stops and hands you the error—no partial states.
13
+ *
14
+ * ### Decision Tree
15
+ * - Need a starting point? Call `ReaderResult.Do<Deps, Error>()` and build from there.
16
+ * - Want to run another dependency-aware step? Use `ReaderResult.bind('name', () => nextStep(args))` (internally uses `chain`).
17
+ * - Just computing a derived value from what you already have? Use `ReaderResult.let('name', ({ existing }) => value)`.
18
+ * - Transforming the final output shape? Finish with `ReaderResult.map(record => result)`.
19
+ * - Accessing dependencies directly? Reach for `ReaderResult.ask()` or `ReaderResult.asks(selector)`.
20
+ *
9
21
  * @example
10
22
  * ```typescript
11
23
  * import { ReaderResult, liftAsync } from './reader-result.mts';
24
+ * import { pipe } from './composition.mts';
12
25
  *
13
26
  * // define dependencies
14
27
  * interface Deps {
@@ -25,10 +38,12 @@
25
38
  * );
26
39
  *
27
40
  * // compose operations
28
- * const program = ReaderResult.Do()
29
- * .pipe(ReaderResult.bind('user', () => getUser('123')))
30
- * .pipe(ReaderResult.bind('posts', ({ user }) => getUserPosts(user.id)))
31
- * .pipe(ReaderResult.map(({ user, posts }) => ({ ...user, posts })));
41
+ * const program = pipe(
42
+ * ReaderResult.Do<Deps, string>(),
43
+ * ReaderResult.bind('user', () => getUser('123')),
44
+ * ReaderResult.bind('posts', ({ user }) => getUserPosts(user.id)),
45
+ * ReaderResult.map(({ user, posts }) => ({ ...user, posts })),
46
+ * );
32
47
  *
33
48
  * // run with dependencies
34
49
  * const result = await ReaderResult.run(dependencies)(program);
@@ -175,11 +190,13 @@ export declare const ReaderResult: {
175
190
  *
176
191
  * @category Dependencies
177
192
  * @example
178
- * const program = ReaderResult.Do()
179
- * .pipe(ReaderResult.bind('deps', () => ReaderResult.ask<Deps, string>()))
180
- * .pipe(ReaderResult.bind('config', ({ deps }) =>
181
- * ReaderResult.of(deps.config)
182
- * ));
193
+ * import { pipe } from './composition.mts';
194
+ *
195
+ * const program = pipe(
196
+ * ReaderResult.Do<Deps, string>(),
197
+ * ReaderResult.bind('deps', () => ReaderResult.ask<Deps, string>()),
198
+ * ReaderResult.bind('config', ({ deps }) => ReaderResult.of(deps.config)),
199
+ * );
183
200
  *
184
201
  * @since 2025-07-03
185
202
  */
@@ -270,15 +287,19 @@ export declare const ReaderResult: {
270
287
  *
271
288
  * @category Do Notation
272
289
  * @example
273
- * const program = ReaderResult.Do<Deps, string>()
274
- * .pipe(ReaderResult.bind('user', () => getUser('123')))
275
- * .pipe(ReaderResult.bind('posts', ({ user }) => getUserPosts(user.id)))
276
- * .pipe(ReaderResult.let('postCount', ({ posts }) => posts.length))
277
- * .pipe(ReaderResult.map(({ user, posts, postCount }) => ({
290
+ * import { pipe } from './composition.mts';
291
+ *
292
+ * const program = pipe(
293
+ * ReaderResult.Do<Deps, string>(),
294
+ * ReaderResult.bind('user', () => getUser('123')),
295
+ * ReaderResult.bind('posts', ({ user }) => getUserPosts(user.id)),
296
+ * ReaderResult.let('postCount', ({ posts }) => posts.length),
297
+ * ReaderResult.map(({ user, posts, postCount }) => ({
278
298
  * ...user,
279
299
  * posts,
280
- * stats: { postCount }
281
- * })));
300
+ * stats: { postCount },
301
+ * })),
302
+ * );
282
303
  *
283
304
  * @since 2025-07-03
284
305
  */
@@ -1 +1 @@
1
- {"version":3,"file":"reader-result.d.mts","sourceRoot":"","sources":["../src/reader-result.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reader-result.d.mts","sourceRoot":"","sources":["../src/reader-result.mts"],"names":[],"mappings":"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"}
@@ -7,9 +7,22 @@
7
7
  * and dependency injection. Similar to fp-ts's ReaderTaskEither but tailored
8
8
  * for our Result type and async/await patterns.
9
9
  *
10
+ * ### For Dummies
11
+ * - Think of it as a recipe that needs ingredients (`deps`) and might fail; every step returns either success data or a named error.
12
+ * - You describe the steps first, then later hand in the ingredients; the container makes sure dependencies flow in without threading them manually.
13
+ * - If any step fails, the whole recipe stops and hands you the error—no partial states.
14
+ *
15
+ * ### Decision Tree
16
+ * - Need a starting point? Call `ReaderResult.Do<Deps, Error>()` and build from there.
17
+ * - Want to run another dependency-aware step? Use `ReaderResult.bind('name', () => nextStep(args))` (internally uses `chain`).
18
+ * - Just computing a derived value from what you already have? Use `ReaderResult.let('name', ({ existing }) => value)`.
19
+ * - Transforming the final output shape? Finish with `ReaderResult.map(record => result)`.
20
+ * - Accessing dependencies directly? Reach for `ReaderResult.ask()` or `ReaderResult.asks(selector)`.
21
+ *
10
22
  * @example
11
23
  * ```typescript
12
24
  * import { ReaderResult, liftAsync } from './reader-result.mts';
25
+ * import { pipe } from './composition.mts';
13
26
  *
14
27
  * // define dependencies
15
28
  * interface Deps {
@@ -26,10 +39,12 @@
26
39
  * );
27
40
  *
28
41
  * // compose operations
29
- * const program = ReaderResult.Do()
30
- * .pipe(ReaderResult.bind('user', () => getUser('123')))
31
- * .pipe(ReaderResult.bind('posts', ({ user }) => getUserPosts(user.id)))
32
- * .pipe(ReaderResult.map(({ user, posts }) => ({ ...user, posts })));
42
+ * const program = pipe(
43
+ * ReaderResult.Do<Deps, string>(),
44
+ * ReaderResult.bind('user', () => getUser('123')),
45
+ * ReaderResult.bind('posts', ({ user }) => getUserPosts(user.id)),
46
+ * ReaderResult.map(({ user, posts }) => ({ ...user, posts })),
47
+ * );
33
48
  *
34
49
  * // run with dependencies
35
50
  * const result = await ReaderResult.run(dependencies)(program);
@@ -253,11 +268,13 @@ export var ReaderResult = {
253
268
  *
254
269
  * @category Dependencies
255
270
  * @example
256
- * const program = ReaderResult.Do()
257
- * .pipe(ReaderResult.bind('deps', () => ReaderResult.ask<Deps, string>()))
258
- * .pipe(ReaderResult.bind('config', ({ deps }) =>
259
- * ReaderResult.of(deps.config)
260
- * ));
271
+ * import { pipe } from './composition.mts';
272
+ *
273
+ * const program = pipe(
274
+ * ReaderResult.Do<Deps, string>(),
275
+ * ReaderResult.bind('deps', () => ReaderResult.ask<Deps, string>()),
276
+ * ReaderResult.bind('config', ({ deps }) => ReaderResult.of(deps.config)),
277
+ * );
261
278
  *
262
279
  * @since 2025-07-03
263
280
  */
@@ -420,15 +437,19 @@ export var ReaderResult = {
420
437
  *
421
438
  * @category Do Notation
422
439
  * @example
423
- * const program = ReaderResult.Do<Deps, string>()
424
- * .pipe(ReaderResult.bind('user', () => getUser('123')))
425
- * .pipe(ReaderResult.bind('posts', ({ user }) => getUserPosts(user.id)))
426
- * .pipe(ReaderResult.let('postCount', ({ posts }) => posts.length))
427
- * .pipe(ReaderResult.map(({ user, posts, postCount }) => ({
440
+ * import { pipe } from './composition.mts';
441
+ *
442
+ * const program = pipe(
443
+ * ReaderResult.Do<Deps, string>(),
444
+ * ReaderResult.bind('user', () => getUser('123')),
445
+ * ReaderResult.bind('posts', ({ user }) => getUserPosts(user.id)),
446
+ * ReaderResult.let('postCount', ({ posts }) => posts.length),
447
+ * ReaderResult.map(({ user, posts, postCount }) => ({
428
448
  * ...user,
429
449
  * posts,
430
- * stats: { postCount }
431
- * })));
450
+ * stats: { postCount },
451
+ * })),
452
+ * );
432
453
  *
433
454
  * @since 2025-07-03
434
455
  */
@@ -1 +1 @@
1
- {"version":3,"file":"reader-result.mjs","sourceRoot":"","sources":["../src/reader-result.mts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAiBrD;;GAEG;AACH,MAAM,CAAC,IAAM,YAAY,GAAG;IAC1B;;;;;;;;;;;;;;;;;;OAkBG;IACH,EAAE,EAAE,UAAU,KAAQ;QACpB,OAAA,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAtC,CAAsC;IAA5C,CAA4C;IAE9C;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,EAAE,UAAU,KAAQ;QACtB,OAAA,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAvC,CAAuC;IAA7C,CAA6C;IAE/C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,EAAE,UACL,CAAkC,IAC/B,OAAA,UACH,EAAyB;QAEzB,OAAA,UAAO,IAAO;;;;4BACI,qBAAM,EAAE,CAAC,IAAI,CAAC,EAAA;;wBAAxB,OAAO,GAAG,SAAc;wBAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;4BACrB,sBAAO,OAAuB,EAAC,CAAC,sCAAsC;wBACxE,CAAC;wBACD,sBAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAC;;;aAC9B;IAND,CAMC,EATE,CASF;IAEH;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,GAAG,EAAE,UACH,CAAc,IACX,OAAA,UACH,EAAyB;QAEzB,OAAA,YAAY,CAAC,KAAK,CAAa,UAAC,CAAI,IAAK,OAAA,YAAY,CAAC,EAAE,CAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAA9B,CAA8B,CAAC,CAAC,EAAE,CAAC;IAA5E,CAA4E,EAHzE,CAGyE;IAE9E;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,EAAE,UACR,CAAc,IACX,OAAA,UACH,EAAyB;QAEzB,OAAA,UAAO,IAAO;;;;4BACG,qBAAM,EAAE,CAAC,IAAI,CAAC,EAAA;;wBAAvB,MAAM,GAAG,SAAc;wBAC7B,sBAAO,MAAM,CAAC,OAAO;gCACnB,CAAC,CAAC,MAAsB;gCACxB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAE,MAAuC,CAAC,KAAK,CAAC,CAAC,EAAC;;;aACxE;IALD,CAKC,EARE,CAQF;IAEH;;;;;;;;;;;;;;;;;;OAkBG;IACH,GAAG,EAAE;QACH,OAAA,UAAC,IAAO,IAAK,OAAA,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAArC,CAAqC;IAAlD,CAAkD;IAEpD;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,EAAE,UACJ,CAAiB;QAEjB,OAAA,UAAC,IAAO,IAAK,OAAA,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAxC,CAAwC;IAArD,CAAqD;IAEvD;;OAEG;IACH,UAAU,EAAE,UACV,MAAoB;QAEpB,OAAA,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAvB,CAAuB;IAA7B,CAA6B;IAE/B;;OAEG;IACH,QAAQ,EAAE,UACR,CAA0B,EAC1B,OAA8B;QAE9B,OAAA,UAAO,IAAO;;;;;;wBAEK,qBAAM,CAAC,CAAC,IAAI,CAAC,EAAA;;wBAAtB,MAAM,GAAG,SAAa;wBAC5B,sBAAO,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAC;;;wBAE9B,sBAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,OAAK,CAAC,CAAC,EAAC;;;;aAE1C;IAPD,CAOC;IAEH;;OAEG;IACH,GAAG,EAAE,UACH,IAAO,IACJ,OAAA,UACH,EAAyB;QAEzB,OAAA,EAAE,CAAC,IAAI,CAAC;IAAR,CAAQ,EAHL,CAGK;IAEV;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,GAAG,EAAE,UACH,EAAyB,EACzB,EAAyB;QAEzB,OAAA,UAAO,IAAO;;;;4BACe,qBAAM,OAAO,CAAC,GAAG,CAAC;4BAC3C,EAAE,CAAC,IAAI,CAAC;4BACR,EAAE,CAAC,IAAI,CAAC;yBACT,CAAC,EAAA;;wBAHI,KAAqB,SAGzB,EAHK,OAAO,QAAA,EAAE,OAAO,QAAA;wBAKvB,IAAI,CAAC,OAAO,CAAC,OAAO;4BAAE,sBAAO,OAA4B,EAAC;wBAC1D,IAAI,CAAC,OAAO,CAAC,OAAO;4BAAE,sBAAO,OAA4B,EAAC;wBAE1D,sBAAO,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAW,CAAC,EAAC;;;aAC/D;IAVD,CAUC;IAEH;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,EAAE,UACR,GAAqC;QAErC,OAAA,UAAO,IAAO;;;;;wBACN,OAAO,GAAQ,EAAE,CAAC;8BAEJ,EAAH,WAAG;;;6BAAH,CAAA,iBAAG,CAAA;wBAAT,EAAE;wBACI,qBAAM,EAAE,CAAC,IAAI,CAAC,EAAA;;wBAAvB,MAAM,GAAG,SAAc;wBAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;4BACpB,sBAAO,MAAiC,EAAC;wBAC3C,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;;wBALX,IAAG,CAAA;;4BAQpB,sBAAO,WAAW,CAAC,EAAE,CAAC,OAAuB,CAAC,EAAC;;;aAChD;IAZD,CAYC;IAEH;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,EAAE,EAAE;QACF,OAAA,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IAAnB,CAAmB;IAErB;;OAEG;IACH,IAAI,EAAE,UACJ,IAAO,EACP,CAAkC,IAC/B,OAAA,UACH,EAAyB;QAEzB,OAAA,YAAY,CAAC,KAAK,CAA4B,UAAC,CAAI;YACjD,OAAA,YAAY,CAAC,GAAG,CAA4B,UAAC,CAAI;;gBAAK,OAAA,CAAC,sBAAK,CAAC,gBAAG,IAAI,IAAG,CAAC,MAAuB,CAAA;YAAzC,CAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAtG,CAAsG,CACvG,CAAC,EAAE,CAAC;IAFL,CAEK,EALF,CAKE;IAEP;;OAEG;IACH,GAAG,EAAE,UACH,IAAO,EACP,CAAc,IACX,OAAA,UACH,EAAyB;QAEzB,OAAA,YAAY,CAAC,GAAG,CAA4B,UAAC,CAAI;;YAAK,OAAA,CAAC,sBAAK,CAAC,gBAAG,IAAI,IAAG,CAAC,CAAC,CAAC,CAAC,MAAuB,CAAA;QAA5C,CAA4C,CAAC,CAAC,EAAE,CAAC;IAAvG,CAAuG,EAHpG,CAGoG;IAEzG;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,EAAE,UACN,OAA4C,IACzC,OAAA,UACH,EAAyB;QAEzB,OAAA,UAAO,IAAO;;;;4BACG,qBAAM,EAAE,CAAC,IAAI,CAAC,EAAA;;wBAAvB,MAAM,GAAG,SAAc;wBAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACnB,sBAAO,MAAsB,EAAC;wBAChC,CAAC;wBACD,sBAAO,OAAO,CAAE,MAAuC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAC;;;aACtE;IAND,CAMC,EATE,CASF;IAEH;;;OAGG;IACH,OAAO,EAAE,UACP,EAAU,EACV,YAAe,IACZ,OAAA,UACH,EAAyB;QAEzB,OAAA,UAAO,IAAO;;;gBACN,cAAc,GAAG,IAAI,OAAO,CAAe,UAAC,OAAO;oBACvD,UAAU,CAAC,cAAM,OAAA,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAtC,CAAsC,EAAE,EAAE,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;gBAEH,sBAAO,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,EAAC;;aACjD;IAND,CAMC,EATE,CASF;IAEH;;;OAGG;IACH,KAAK,EAAE,UACL,WAAmB,EACnB,SAAgB,EAChB,WAAgE;QADhE,0BAAA,EAAA,gBAAgB;QAChB,4BAAA,EAAA,4BAA4D,OAAA,IAAI,EAAJ,CAAI;QAC7D,OAAA,UACH,EAAyB;YAEzB,OAAA,UAAO,IAAO;;;;;4BACZ,iEAAiE;4BACjE,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gCACpB,sBAAO,EAAE,CAAC,IAAI,CAAC,EAAC;4BAClB,CAAC;gDAEQ,OAAO;;;;gDACC,qBAAM,EAAE,CAAC,IAAI,CAAC,EAAA;;4CAAvB,MAAM,GAAG,SAAc;4CAE7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;+EACZ,MAAM;4CACf,CAAC;4CAED,2EAA2E;4CAC3E,IAAI,OAAO,KAAK,WAAW,IAAI,CAAC,WAAW,CAAE,MAAuC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;+EAC9F,MAAM;4CACf,CAAC;4CAEK,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;4CACnD,qBAAM,IAAI,OAAO,CAAC,UAAC,OAAO,IAAK,OAAA,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,EAA1B,CAA0B,CAAC,EAAA;;4CAA1D,SAA0D,CAAC;;;;;4BAbpD,OAAO,GAAG,CAAC;;;iCAAE,CAAA,OAAO,IAAI,WAAW,CAAA;0DAAnC,OAAO;;;;;;;4BAA8B,OAAO,EAAE,CAAA;;;wBAgBvD,yEAAyE;wBACzE,2EAA2E;wBAC3E,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;;;iBAC7D;QAzBD,CAyBC;IA5BE,CA4BF;IAEH;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,EAAE,UACX,GAAqC;QAErC,OAAA,UAAO,IAAO;;;;4BACI,qBAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,IAAI,CAAC,EAAR,CAAQ,CAAC,CAAC,EAAA;;wBAApD,OAAO,GAAG,SAA0C;wBACpD,IAAI,GAAQ,EAAE,CAAC;wBAErB,WAA4B,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE,CAAC;4BAApB,MAAM;4BACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gCACpB,sBAAO,MAAiC,EAAC;4BAC3C,CAAC;4BACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACzB,CAAC;wBAED,sBAAO,WAAW,CAAC,EAAE,CAAC,IAAoB,CAAC,EAAC;;;aAC7C;IAZD,CAYC;IAEH;;;OAGG;IACH,MAAM,EAAE;QACN,aAAS;aAAT,UAAS,EAAT,qBAAS,EAAT,IAAS;YAAT,wBAAS;;QAET,OAAA,UAAO,IAAO;;;;4BACI,qBAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,IAAI,CAAC,EAAR,CAAQ,CAAC,CAAC,EAAA;;wBAApD,OAAO,GAAG,SAA0C;wBACpD,IAAI,GAAc,EAAE,CAAC;wBAE3B,WAA4B,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE,CAAC;4BAApB,MAAM;4BACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gCACpB,sBAAO,MAA0B,EAAC;4BACpC,CAAC;4BACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACzB,CAAC;wBAED,sBAAO,WAAW,CAAC,EAAE,CAAC,IAAgF,CAAC,EAAC;;;aACzG;IAZD,CAYC;IAEH;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,EAAE,UACR,GAAM;QAEN,OAAA,UAAO,IAAO;;;;;wBACN,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBACpB,qBAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,iEAAO,EAAS;;oCAAR,GAAG,QAAA,EAAE,EAAE,QAAA;;;;kDAAO,GAAG;4CAAE,qBAAM,EAAE,CAAC,IAAI,CAAC,EAAA;gDAApB,sBAAA,WAAM,SAAc,EAAU,EAAA;;;iCAAA,CAAC,CACjE,EAAA;;wBAFK,OAAO,GAAG,SAEf;wBAEK,MAAM,GAAiC,EAAE,CAAC;wBAC1C,IAAI,GAA4B,EAAE,CAAC;wBAEzC,WAAmC,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE,CAAC;4BAA3B,kBAAa,EAAZ,GAAG,QAAA,EAAE,MAAM,QAAA;4BACrB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gCACnB,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;4BAC1B,CAAC;iCAAM,CAAC;gCACN,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAc,EAAE,KAAK,EAAG,MAAuC,CAAC,KAAK,EAAE,CAAC,CAAC;4BAC9F,CAAC;wBACH,CAAC;wBAED,sBAAO,MAAM,CAAC,MAAM,GAAG,CAAC;gCACtB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;gCACzB,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAgF,CAAC,EAAC;;;aACtG;IApBD,CAoBC;CACJ,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,IAAM,UAAU,GAAG,UACxB,CAAkC,IAC/B,OAAA;IACH,cAAa;SAAb,UAAa,EAAb,qBAAa,EAAb,IAAa;QAAb,yBAAa;;IAEb,OAAA,YAAY,CAAC,UAAU,CAAC,CAAC,eAAI,IAAI,EAAE;AAAnC,CAAmC,EAHhC,CAGgC,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,IAAM,SAAS,GAAG,UACvB,CAAyC,EACzC,OAA8B,IAC3B,OAAA;IACH,cAAa;SAAb,UAAa,EAAb,qBAAa,EAAb,IAAa;QAAb,yBAAa;;IAEb,OAAA,YAAY,CAAC,QAAQ,CACnB,UAAC,IAAO,IAAK,OAAA,CAAC,8BAAC,IAAI,GAAK,IAAI,WAAf,CAAgB,EAC7B,OAAO,CACR;AAHD,CAGC,EANE,CAMF,CAAC"}
1
+ {"version":3,"file":"reader-result.mjs","sourceRoot":"","sources":["../src/reader-result.mts"],"names":[],"mappings":"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"}