@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.
- package/README.md +28 -145
- package/dist/array-utils.d.mts +13 -0
- package/dist/array-utils.d.mts.map +1 -1
- package/dist/array-utils.mjs +13 -0
- package/dist/array-utils.mjs.map +1 -1
- package/dist/composition.d.mts +13 -0
- package/dist/composition.d.mts.map +1 -1
- package/dist/composition.mjs +13 -0
- package/dist/composition.mjs.map +1 -1
- package/dist/io.d.mts +12 -0
- package/dist/io.d.mts.map +1 -1
- package/dist/io.mjs +12 -0
- package/dist/io.mjs.map +1 -1
- package/dist/object-utils.d.mts +11 -0
- package/dist/object-utils.d.mts.map +1 -1
- package/dist/object-utils.mjs +11 -0
- package/dist/object-utils.mjs.map +1 -1
- package/dist/option.d.mts +20 -3
- package/dist/option.d.mts.map +1 -1
- package/dist/option.mjs +20 -3
- package/dist/option.mjs.map +1 -1
- package/dist/performance.d.mts +26 -9
- package/dist/performance.d.mts.map +1 -1
- package/dist/performance.mjs +26 -9
- package/dist/performance.mjs.map +1 -1
- package/dist/pipeline.d.mts +12 -0
- package/dist/pipeline.d.mts.map +1 -1
- package/dist/pipeline.mjs +12 -0
- package/dist/pipeline.mjs.map +1 -1
- package/dist/predicates.d.mts +12 -0
- package/dist/predicates.d.mts.map +1 -1
- package/dist/predicates.mjs +12 -0
- package/dist/predicates.mjs.map +1 -1
- package/dist/reader-result.d.mts +37 -16
- package/dist/reader-result.d.mts.map +1 -1
- package/dist/reader-result.mjs +37 -16
- package/dist/reader-result.mjs.map +1 -1
- package/dist/reader.d.mts +12 -0
- package/dist/reader.d.mts.map +1 -1
- package/dist/reader.mjs +12 -0
- package/dist/reader.mjs.map +1 -1
- package/dist/result.d.mts +12 -0
- package/dist/result.d.mts.map +1 -1
- package/dist/result.mjs +12 -0
- package/dist/result.mjs.map +1 -1
- package/dist/task.d.mts +13 -0
- package/dist/task.d.mts.map +1 -1
- package/dist/task.mjs +13 -0
- package/dist/task.mjs.map +1 -1
- package/dist/types.d.mts +12 -0
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +12 -0
- package/dist/types.mjs.map +1 -1
- package/dist/validation.d.mts +12 -0
- package/dist/validation.d.mts.map +1 -1
- package/dist/validation.mjs +12 -0
- package/dist/validation.mjs.map +1 -1
- 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
|
-
*
|
|
263
|
-
* .
|
|
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:
|
|
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) {
|
package/dist/option.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option.mjs","sourceRoot":"","sources":["../src/option.mts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"option.mjs","sourceRoot":"","sources":["../src/option.mts"],"names":[],"mappings":"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"}
|
package/dist/performance.d.mts
CHANGED
|
@@ -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,
|
|
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
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
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
|
|
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"}
|
package/dist/performance.mjs
CHANGED
|
@@ -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,
|
|
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
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
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
|
*
|
package/dist/performance.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance.mjs","sourceRoot":"","sources":["../src/performance.mts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"performance.mjs","sourceRoot":"","sources":["../src/performance.mts"],"names":[],"mappings":"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"}
|
package/dist/pipeline.d.mts
CHANGED
|
@@ -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';
|
package/dist/pipeline.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.mts","sourceRoot":"","sources":["../src/pipeline.mts"],"names":[],"mappings":"AAAA
|
|
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';
|
package/dist/pipeline.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.mjs","sourceRoot":"","sources":["../src/pipeline.mts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"pipeline.mjs","sourceRoot":"","sources":["../src/pipeline.mts"],"names":[],"mappings":"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"}
|
package/dist/predicates.d.mts
CHANGED
|
@@ -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":"AAAA
|
|
1
|
+
{"version":3,"file":"predicates.d.mts","sourceRoot":"","sources":["../src/predicates.mts"],"names":[],"mappings":"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"}
|
package/dist/predicates.mjs
CHANGED
|
@@ -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';
|
package/dist/predicates.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predicates.mjs","sourceRoot":"","sources":["../src/predicates.mts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"predicates.mjs","sourceRoot":"","sources":["../src/predicates.mts"],"names":[],"mappings":"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"}
|
package/dist/reader-result.d.mts
CHANGED
|
@@ -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 =
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
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
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
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
|
-
*
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
*
|
|
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":"AAAA
|
|
1
|
+
{"version":3,"file":"reader-result.d.mts","sourceRoot":"","sources":["../src/reader-result.mts"],"names":[],"mappings":"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"}
|
package/dist/reader-result.mjs
CHANGED
|
@@ -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 =
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
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
|
-
*
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
*
|
|
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
|
-
*
|
|
424
|
-
*
|
|
425
|
-
*
|
|
426
|
-
*
|
|
427
|
-
*
|
|
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
|
|
1
|
+
{"version":3,"file":"reader-result.mjs","sourceRoot":"","sources":["../src/reader-result.mts"],"names":[],"mappings":"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"}
|