@satoshibits/functional 1.0.3 → 1.1.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/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 +19 -3
- package/dist/array-utils.mjs.map +1 -1
- package/dist/array-utils.test.d.ts +2 -0
- package/dist/array-utils.test.d.ts.map +1 -0
- package/dist/array-utils.test.js +256 -0
- package/dist/array-utils.test.js.map +1 -0
- package/dist/composition.d.mts +53 -6
- package/dist/composition.d.mts.map +1 -1
- package/dist/composition.mjs +111 -22
- package/dist/composition.mjs.map +1 -1
- package/dist/composition.test.d.ts +2 -0
- package/dist/composition.test.d.ts.map +1 -0
- package/dist/composition.test.js +409 -0
- package/dist/composition.test.js.map +1 -0
- package/dist/index.d.mts +10 -5
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +10 -5
- package/dist/index.mjs.map +1 -1
- package/dist/integration.test.d.mts +2 -0
- package/dist/integration.test.d.mts.map +1 -0
- package/dist/integration.test.mjs +486 -0
- package/dist/integration.test.mjs.map +1 -0
- package/dist/io.d.mts +338 -0
- package/dist/io.d.mts.map +1 -0
- package/dist/io.mjs +389 -0
- package/dist/io.mjs.map +1 -0
- package/dist/io.test.d.mts +2 -0
- package/dist/io.test.d.mts.map +1 -0
- package/dist/io.test.mjs +373 -0
- package/dist/io.test.mjs.map +1 -0
- package/dist/laws.test.d.mts +2 -0
- package/dist/laws.test.d.mts.map +1 -0
- package/dist/laws.test.mjs +614 -0
- package/dist/laws.test.mjs.map +1 -0
- 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/object-utils.test.d.ts +2 -0
- package/dist/object-utils.test.d.ts.map +1 -0
- package/dist/object-utils.test.js +286 -0
- package/dist/object-utils.test.js.map +1 -0
- package/dist/option-additions.test.d.mts +2 -0
- package/dist/option-additions.test.d.mts.map +1 -0
- package/dist/option-additions.test.mjs +325 -0
- package/dist/option-additions.test.mjs.map +1 -0
- package/dist/option.d.mts +202 -58
- package/dist/option.d.mts.map +1 -1
- package/dist/option.mjs +271 -63
- package/dist/option.mjs.map +1 -1
- package/dist/option.test.d.ts +6 -0
- package/dist/option.test.d.ts.map +1 -0
- package/dist/option.test.js +606 -0
- package/dist/option.test.js.map +1 -0
- package/dist/performance.d.mts +27 -10
- package/dist/performance.d.mts.map +1 -1
- package/dist/performance.mjs +42 -20
- package/dist/performance.mjs.map +1 -1
- package/dist/performance.test.d.ts +2 -0
- package/dist/performance.test.d.ts.map +1 -0
- package/dist/performance.test.js +424 -0
- package/dist/performance.test.js.map +1 -0
- 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/pipeline.test.d.ts +2 -0
- package/dist/pipeline.test.d.ts.map +1 -0
- package/dist/pipeline.test.js +445 -0
- package/dist/pipeline.test.js.map +1 -0
- 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/predicates.test.d.ts +2 -0
- package/dist/predicates.test.d.ts.map +1 -0
- package/dist/predicates.test.js +375 -0
- package/dist/predicates.test.js.map +1 -0
- 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-result.test.d.ts +2 -0
- package/dist/reader-result.test.d.ts.map +1 -0
- package/dist/reader-result.test.js +1259 -0
- package/dist/reader-result.test.js.map +1 -0
- package/dist/reader.d.mts +443 -0
- package/dist/reader.d.mts.map +1 -0
- package/dist/reader.mjs +456 -0
- package/dist/reader.mjs.map +1 -0
- package/dist/reader.test.d.mts +2 -0
- package/dist/reader.test.d.mts.map +1 -0
- package/dist/reader.test.mjs +288 -0
- package/dist/reader.test.mjs.map +1 -0
- package/dist/result-additions.test.d.mts +2 -0
- package/dist/result-additions.test.d.mts.map +1 -0
- package/dist/result-additions.test.mjs +325 -0
- package/dist/result-additions.test.mjs.map +1 -0
- package/dist/result.d.mts +208 -0
- package/dist/result.d.mts.map +1 -1
- package/dist/result.mjs +287 -0
- package/dist/result.mjs.map +1 -1
- package/dist/result.test.d.ts +2 -0
- package/dist/result.test.d.ts.map +1 -0
- package/dist/result.test.js +453 -0
- package/dist/result.test.js.map +1 -0
- package/dist/task.d.mts +374 -0
- package/dist/task.d.mts.map +1 -0
- package/dist/task.mjs +386 -0
- package/dist/task.mjs.map +1 -0
- package/dist/task.test.d.mts +2 -0
- package/dist/task.test.d.mts.map +1 -0
- package/dist/task.test.mjs +1006 -0
- package/dist/task.test.mjs.map +1 -0
- 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/types.test.d.ts +6 -0
- package/dist/types.test.d.ts.map +1 -0
- package/dist/types.test.js +447 -0
- package/dist/types.test.js.map +1 -0
- package/dist/validation.d.mts +12 -0
- package/dist/validation.d.mts.map +1 -1
- package/dist/validation.mjs +22 -4
- package/dist/validation.mjs.map +1 -1
- package/dist/validation.test.d.ts +2 -0
- package/dist/validation.test.d.ts.map +1 -0
- package/dist/validation.test.js +518 -0
- package/dist/validation.test.js.map +1 -0
- package/package.json +77 -13
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result-additions.test.mjs","sourceRoot":"","sources":["../src/result-additions.test.mts"],"names":[],"mappings":"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"}
|
package/dist/result.d.mts
CHANGED
|
@@ -6,6 +6,18 @@
|
|
|
6
6
|
* making error handling explicit and composable. Similar to Rust's Result type
|
|
7
7
|
* or fp-ts's Either, but with a simpler API focused on practical use cases.
|
|
8
8
|
*
|
|
9
|
+
* ### For Dummies
|
|
10
|
+
* - A `Result` is either `{ success: true, data }` or `{ success: false, error }`—no hidden throws.
|
|
11
|
+
* - You build pipelines of risky steps without exceptions leaking everywhere.
|
|
12
|
+
* - Inspect the container at the edge and decide what to show the user or caller.
|
|
13
|
+
*
|
|
14
|
+
* ### Decision Tree
|
|
15
|
+
* - Operation succeeded? Wrap with `Result.ok(value)`.
|
|
16
|
+
* - Failed? Return `Result.err(error)` immediately.
|
|
17
|
+
* - Need to transform happy-path data? Use `Result.map(fn)`.
|
|
18
|
+
* - Next step might fail too? Use `Result.flatMap(fnReturningResult)`.
|
|
19
|
+
* - Provide fallbacks? `Result.orElse(handler)` or `Result.getOrElse(fallback)` are your friends.
|
|
20
|
+
*
|
|
9
21
|
* @example
|
|
10
22
|
* ```typescript
|
|
11
23
|
* import { Result, unwrap, safe } from './result.mts';
|
|
@@ -71,6 +83,16 @@ export type Result<T, E = string> = {
|
|
|
71
83
|
success: false;
|
|
72
84
|
error: E;
|
|
73
85
|
};
|
|
86
|
+
/**
|
|
87
|
+
* Do notation builder for Result types
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
90
|
+
export interface ResultDoBuilder<E = unknown> {
|
|
91
|
+
bind: <K extends string, T>(key: K, result: Result<T, E> | ((ctx: Record<string, unknown>) => Result<T, E>)) => ResultDoBuilder<E>;
|
|
92
|
+
map: <T>(f: (ctx: Record<string, unknown>) => T) => Result<T, E>;
|
|
93
|
+
flatMap: <T>(f: (ctx: Record<string, unknown>) => Result<T, E>) => Result<T, E>;
|
|
94
|
+
value: () => Result<Record<string, unknown>, E>;
|
|
95
|
+
}
|
|
74
96
|
/**
|
|
75
97
|
* Result utility functions for working with Result types.
|
|
76
98
|
* @description Provides a functional API for creating, transforming, and composing Results.
|
|
@@ -573,6 +595,192 @@ export declare const Result: {
|
|
|
573
595
|
* @since 2025-07-03
|
|
574
596
|
*/
|
|
575
597
|
fromThrowable: <T extends unknown[], U>(fn: (...args: T) => U) => (...args: T) => Result<U, Error>;
|
|
598
|
+
/**
|
|
599
|
+
* Maps a function returning a Result over an array and sequences the results.
|
|
600
|
+
* @description Applies a Result-returning function to each element of an array
|
|
601
|
+
* and collects all results. If any operation fails, returns the first error.
|
|
602
|
+
*
|
|
603
|
+
* @template T - The input type
|
|
604
|
+
* @template U - The output type
|
|
605
|
+
* @template E - The error type
|
|
606
|
+
* @param {function(T): Result<U, E>} f - Function that returns a Result
|
|
607
|
+
* @returns {function(T[]): Result<U[], E>} A function that traverses arrays with Results
|
|
608
|
+
*
|
|
609
|
+
* @category Combinators
|
|
610
|
+
* @example
|
|
611
|
+
* ```typescript
|
|
612
|
+
* const parseNumber = (s: string): Result<number, string> => {
|
|
613
|
+
* const n = Number(s);
|
|
614
|
+
* return isNaN(n) ? Result.err(`Not a number: ${s}`) : Result.ok(n);
|
|
615
|
+
* };
|
|
616
|
+
*
|
|
617
|
+
* const parseAll = Result.traverse(parseNumber);
|
|
618
|
+
* parseAll(['1', '2', '3']); // => { success: true, data: [1, 2, 3] }
|
|
619
|
+
* parseAll(['1', 'x', '3']); // => { success: false, error: 'Not a number: x' }
|
|
620
|
+
* ```
|
|
621
|
+
*
|
|
622
|
+
* @since 2025-09-18
|
|
623
|
+
*/
|
|
624
|
+
traverse: <T, U, E>(f: (t: T) => Result<U, E>) => (ts: T[]) => Result<U[], E>;
|
|
625
|
+
/**
|
|
626
|
+
* Applies a Result of a function to a Result of a value.
|
|
627
|
+
* @description Enables applying functions wrapped in Results to values wrapped
|
|
628
|
+
* in Results. If either Result is an error, returns that error. This is the
|
|
629
|
+
* applicative apply operation for Result types.
|
|
630
|
+
*
|
|
631
|
+
* @template T - The input type
|
|
632
|
+
* @template U - The output type
|
|
633
|
+
* @template E - The error type
|
|
634
|
+
* @param {Result<T, E>} resultValue - Result containing a value
|
|
635
|
+
* @returns {function(Result<function(T): U, E>): Result<U, E>} A function that applies Result functions
|
|
636
|
+
*
|
|
637
|
+
* @category Combinators
|
|
638
|
+
* @example
|
|
639
|
+
* ```typescript
|
|
640
|
+
* const add = (a: number) => (b: number) => a + b;
|
|
641
|
+
* const resultAdd = Result.ok(add);
|
|
642
|
+
* const result5 = Result.ok(5);
|
|
643
|
+
* const result3 = Result.ok(3);
|
|
644
|
+
*
|
|
645
|
+
* const sum = Result.ap(result3)(
|
|
646
|
+
* Result.ap(result5)(
|
|
647
|
+
* Result.map(add)(Result.ok(10))
|
|
648
|
+
* )
|
|
649
|
+
* ); // => { success: true, data: 18 }
|
|
650
|
+
* ```
|
|
651
|
+
*
|
|
652
|
+
* @since 2025-09-18
|
|
653
|
+
*/
|
|
654
|
+
ap: <T, U, E>(resultValue: Result<T, E>) => (resultFn: Result<(t: T) => U, E>) => Result<U, E>;
|
|
655
|
+
/**
|
|
656
|
+
* Maps both the success and error values of a Result.
|
|
657
|
+
* @description Transforms both channels of a Result simultaneously. Useful for
|
|
658
|
+
* normalizing both success values and errors in a single operation.
|
|
659
|
+
*
|
|
660
|
+
* @template T - The input success type
|
|
661
|
+
* @template U - The output success type
|
|
662
|
+
* @template E - The input error type
|
|
663
|
+
* @template F - The output error type
|
|
664
|
+
* @param {function(T): U} f - Function to transform the success value
|
|
665
|
+
* @param {function(E): F} g - Function to transform the error value
|
|
666
|
+
* @returns {function(Result<T, E>): Result<U, F>} A function that transforms both channels
|
|
667
|
+
*
|
|
668
|
+
* @category Transformations
|
|
669
|
+
* @example
|
|
670
|
+
* ```typescript
|
|
671
|
+
* const transform = Result.bimap(
|
|
672
|
+
* (n: number) => n.toString(),
|
|
673
|
+
* (e: Error) => e.message
|
|
674
|
+
* );
|
|
675
|
+
*
|
|
676
|
+
* transform(Result.ok(42)); // => { success: true, data: '42' }
|
|
677
|
+
* transform(Result.err(new Error('fail'))); // => { success: false, error: 'fail' }
|
|
678
|
+
* ```
|
|
679
|
+
*
|
|
680
|
+
* @since 2025-09-18
|
|
681
|
+
*/
|
|
682
|
+
bimap: <T, U, E, F>(f: (t: T) => U, g: (e: E) => F) => (result: Result<T, E>) => Result<U, F>;
|
|
683
|
+
/**
|
|
684
|
+
* Executes a Result for its side effects, discarding the result.
|
|
685
|
+
* @description Runs a Result-returning function but preserves the original value.
|
|
686
|
+
* Useful for logging or other side effects where the result isn't needed.
|
|
687
|
+
*
|
|
688
|
+
* @template T - The type of the value
|
|
689
|
+
* @template E - The error type
|
|
690
|
+
* @param {function(T): Result<any, E>} f - Function that returns a Result (result discarded)
|
|
691
|
+
* @returns {function(Result<T, E>): Result<T, E>} A function that executes side effects
|
|
692
|
+
*
|
|
693
|
+
* @category Combinators
|
|
694
|
+
* @example
|
|
695
|
+
* ```typescript
|
|
696
|
+
* const log = (msg: string): Result<void, never> => {
|
|
697
|
+
* console.log(msg);
|
|
698
|
+
* return Result.ok(undefined);
|
|
699
|
+
* };
|
|
700
|
+
*
|
|
701
|
+
* const result = Result.chainFirst((n: number) => log(`Got: ${n}`))(
|
|
702
|
+
* Result.ok(42)
|
|
703
|
+
* ); // logs "Got: 42", returns { success: true, data: 42 }
|
|
704
|
+
* ```
|
|
705
|
+
*
|
|
706
|
+
* @since 2025-09-18
|
|
707
|
+
*/
|
|
708
|
+
chainFirst: <T, E>(f: (t: T) => Result<unknown, E>) => (result: Result<T, E>) => Result<T, E>;
|
|
709
|
+
/**
|
|
710
|
+
* Combines the results of a tuple of Results into a Result of a tuple.
|
|
711
|
+
* @description Takes multiple Results and returns a Result containing a tuple
|
|
712
|
+
* of their values. If any Result is an error, returns the first error.
|
|
713
|
+
*
|
|
714
|
+
* @template T - Tuple type of Results
|
|
715
|
+
* @param {...T} results - Results to combine
|
|
716
|
+
* @returns {Result<{ [K in keyof T]: T[K] extends Result<infer U, any> ? U : never }, T[number] extends Result<any, infer E> ? E : never>} Result of tuple
|
|
717
|
+
*
|
|
718
|
+
* @category Combinators
|
|
719
|
+
* @example
|
|
720
|
+
* ```typescript
|
|
721
|
+
* const result1 = Result.ok(1);
|
|
722
|
+
* const result2 = Result.ok('hello');
|
|
723
|
+
* const result3 = Result.ok(true);
|
|
724
|
+
*
|
|
725
|
+
* const combined = Result.sequenceT(result1, result2, result3);
|
|
726
|
+
* // => { success: true, data: [1, 'hello', true] }
|
|
727
|
+
* ```
|
|
728
|
+
*
|
|
729
|
+
* @since 2025-09-18
|
|
730
|
+
*/
|
|
731
|
+
sequenceT: <T extends readonly Result<unknown, unknown>[]>(...results: T) => Result<{ [K in keyof T]: T[K] extends Result<infer U, unknown> ? U : never; }, T[number] extends Result<unknown, infer E> ? E : never>;
|
|
732
|
+
/**
|
|
733
|
+
* Combines the results of a record of Results into a Result of a record.
|
|
734
|
+
* @description Takes an object with Result values and returns a Result containing
|
|
735
|
+
* an object with the unwrapped values. If any Result is an error, returns the first error.
|
|
736
|
+
*
|
|
737
|
+
* @template R - Record type with Result values
|
|
738
|
+
* @param {R} results - Record of Results to combine
|
|
739
|
+
* @returns {Result<{ [K in keyof R]: R[K] extends Result<infer U, any> ? U : never }, R[keyof R] extends Result<any, infer E> ? E : never>} Result of record
|
|
740
|
+
*
|
|
741
|
+
* @category Combinators
|
|
742
|
+
* @example
|
|
743
|
+
* ```typescript
|
|
744
|
+
* const results = {
|
|
745
|
+
* user: Result.ok({ name: 'Alice' }),
|
|
746
|
+
* count: Result.ok(42),
|
|
747
|
+
* enabled: Result.ok(true)
|
|
748
|
+
* };
|
|
749
|
+
*
|
|
750
|
+
* const combined = Result.sequenceS(results);
|
|
751
|
+
* // => { success: true, data: { user: { name: 'Alice' }, count: 42, enabled: true } }
|
|
752
|
+
* ```
|
|
753
|
+
*
|
|
754
|
+
* @since 2025-09-18
|
|
755
|
+
*/
|
|
756
|
+
sequenceS: <R extends Record<string, Result<unknown, unknown>>>(results: R) => Result<{ [K in keyof R]: R[K] extends Result<infer U, unknown> ? U : never; }, R[keyof R] extends Result<unknown, infer E> ? E : never>;
|
|
757
|
+
/**
|
|
758
|
+
* Do notation helper for Result types.
|
|
759
|
+
* @description Provides a way to write sequential Result operations in an
|
|
760
|
+
* imperative style, similar to async/await but for Result types.
|
|
761
|
+
*
|
|
762
|
+
* @template E - The error type
|
|
763
|
+
* @returns {object} Do notation builder
|
|
764
|
+
*
|
|
765
|
+
* @category Do Notation
|
|
766
|
+
* @example
|
|
767
|
+
* ```typescript
|
|
768
|
+
* const result = Result.Do<string>()
|
|
769
|
+
* .bind('x', Result.ok(5))
|
|
770
|
+
* .bind('y', Result.ok(3))
|
|
771
|
+
* .map(({ x, y }) => x + y);
|
|
772
|
+
* // => { success: true, data: 8 }
|
|
773
|
+
*
|
|
774
|
+
* const withError = Result.Do<string>()
|
|
775
|
+
* .bind('x', Result.ok(5))
|
|
776
|
+
* .bind('y', Result.err<number, string>('error'))
|
|
777
|
+
* .map(({ x, y }) => x + y);
|
|
778
|
+
* // => { success: false, error: 'error' }
|
|
779
|
+
* ```
|
|
780
|
+
*
|
|
781
|
+
* @since 2025-09-18
|
|
782
|
+
*/
|
|
783
|
+
Do: <E = unknown>() => ResultDoBuilder<E>;
|
|
576
784
|
};
|
|
577
785
|
/**
|
|
578
786
|
* Utility type guard for checking if a value is a Result.
|
package/dist/result.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.mts","sourceRoot":"","sources":["../src/result.mts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"result.d.mts","sourceRoot":"","sources":["../src/result.mts"],"names":[],"mappings":"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"}
|
package/dist/result.mjs
CHANGED
|
@@ -7,6 +7,18 @@
|
|
|
7
7
|
* making error handling explicit and composable. Similar to Rust's Result type
|
|
8
8
|
* or fp-ts's Either, but with a simpler API focused on practical use cases.
|
|
9
9
|
*
|
|
10
|
+
* ### For Dummies
|
|
11
|
+
* - A `Result` is either `{ success: true, data }` or `{ success: false, error }`—no hidden throws.
|
|
12
|
+
* - You build pipelines of risky steps without exceptions leaking everywhere.
|
|
13
|
+
* - Inspect the container at the edge and decide what to show the user or caller.
|
|
14
|
+
*
|
|
15
|
+
* ### Decision Tree
|
|
16
|
+
* - Operation succeeded? Wrap with `Result.ok(value)`.
|
|
17
|
+
* - Failed? Return `Result.err(error)` immediately.
|
|
18
|
+
* - Need to transform happy-path data? Use `Result.map(fn)`.
|
|
19
|
+
* - Next step might fail too? Use `Result.flatMap(fnReturningResult)`.
|
|
20
|
+
* - Provide fallbacks? `Result.orElse(handler)` or `Result.getOrElse(fallback)` are your friends.
|
|
21
|
+
*
|
|
10
22
|
* @example
|
|
11
23
|
* ```typescript
|
|
12
24
|
* import { Result, unwrap, safe } from './result.mts';
|
|
@@ -37,6 +49,17 @@
|
|
|
37
49
|
* @category Core
|
|
38
50
|
* @since 2025-07-03
|
|
39
51
|
*/
|
|
52
|
+
var __assign = (this && this.__assign) || function () {
|
|
53
|
+
__assign = Object.assign || function(t) {
|
|
54
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
55
|
+
s = arguments[i];
|
|
56
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
57
|
+
t[p] = s[p];
|
|
58
|
+
}
|
|
59
|
+
return t;
|
|
60
|
+
};
|
|
61
|
+
return __assign.apply(this, arguments);
|
|
62
|
+
};
|
|
40
63
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
41
64
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
42
65
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -667,6 +690,270 @@ export var Result = {
|
|
|
667
690
|
}
|
|
668
691
|
};
|
|
669
692
|
},
|
|
693
|
+
/**
|
|
694
|
+
* Maps a function returning a Result over an array and sequences the results.
|
|
695
|
+
* @description Applies a Result-returning function to each element of an array
|
|
696
|
+
* and collects all results. If any operation fails, returns the first error.
|
|
697
|
+
*
|
|
698
|
+
* @template T - The input type
|
|
699
|
+
* @template U - The output type
|
|
700
|
+
* @template E - The error type
|
|
701
|
+
* @param {function(T): Result<U, E>} f - Function that returns a Result
|
|
702
|
+
* @returns {function(T[]): Result<U[], E>} A function that traverses arrays with Results
|
|
703
|
+
*
|
|
704
|
+
* @category Combinators
|
|
705
|
+
* @example
|
|
706
|
+
* ```typescript
|
|
707
|
+
* const parseNumber = (s: string): Result<number, string> => {
|
|
708
|
+
* const n = Number(s);
|
|
709
|
+
* return isNaN(n) ? Result.err(`Not a number: ${s}`) : Result.ok(n);
|
|
710
|
+
* };
|
|
711
|
+
*
|
|
712
|
+
* const parseAll = Result.traverse(parseNumber);
|
|
713
|
+
* parseAll(['1', '2', '3']); // => { success: true, data: [1, 2, 3] }
|
|
714
|
+
* parseAll(['1', 'x', '3']); // => { success: false, error: 'Not a number: x' }
|
|
715
|
+
* ```
|
|
716
|
+
*
|
|
717
|
+
* @since 2025-09-18
|
|
718
|
+
*/
|
|
719
|
+
traverse: function (f) { return function (ts) {
|
|
720
|
+
var results = [];
|
|
721
|
+
for (var _i = 0, ts_1 = ts; _i < ts_1.length; _i++) {
|
|
722
|
+
var t = ts_1[_i];
|
|
723
|
+
var result = f(t);
|
|
724
|
+
if (!result.success) {
|
|
725
|
+
return result;
|
|
726
|
+
}
|
|
727
|
+
results.push(result.data);
|
|
728
|
+
}
|
|
729
|
+
return Result.ok(results);
|
|
730
|
+
}; },
|
|
731
|
+
/**
|
|
732
|
+
* Applies a Result of a function to a Result of a value.
|
|
733
|
+
* @description Enables applying functions wrapped in Results to values wrapped
|
|
734
|
+
* in Results. If either Result is an error, returns that error. This is the
|
|
735
|
+
* applicative apply operation for Result types.
|
|
736
|
+
*
|
|
737
|
+
* @template T - The input type
|
|
738
|
+
* @template U - The output type
|
|
739
|
+
* @template E - The error type
|
|
740
|
+
* @param {Result<T, E>} resultValue - Result containing a value
|
|
741
|
+
* @returns {function(Result<function(T): U, E>): Result<U, E>} A function that applies Result functions
|
|
742
|
+
*
|
|
743
|
+
* @category Combinators
|
|
744
|
+
* @example
|
|
745
|
+
* ```typescript
|
|
746
|
+
* const add = (a: number) => (b: number) => a + b;
|
|
747
|
+
* const resultAdd = Result.ok(add);
|
|
748
|
+
* const result5 = Result.ok(5);
|
|
749
|
+
* const result3 = Result.ok(3);
|
|
750
|
+
*
|
|
751
|
+
* const sum = Result.ap(result3)(
|
|
752
|
+
* Result.ap(result5)(
|
|
753
|
+
* Result.map(add)(Result.ok(10))
|
|
754
|
+
* )
|
|
755
|
+
* ); // => { success: true, data: 18 }
|
|
756
|
+
* ```
|
|
757
|
+
*
|
|
758
|
+
* @since 2025-09-18
|
|
759
|
+
*/
|
|
760
|
+
ap: function (resultValue) { return function (resultFn) {
|
|
761
|
+
if (!resultFn.success) {
|
|
762
|
+
return resultFn;
|
|
763
|
+
}
|
|
764
|
+
if (!resultValue.success) {
|
|
765
|
+
return resultValue;
|
|
766
|
+
}
|
|
767
|
+
return Result.ok(resultFn.data(resultValue.data));
|
|
768
|
+
}; },
|
|
769
|
+
/**
|
|
770
|
+
* Maps both the success and error values of a Result.
|
|
771
|
+
* @description Transforms both channels of a Result simultaneously. Useful for
|
|
772
|
+
* normalizing both success values and errors in a single operation.
|
|
773
|
+
*
|
|
774
|
+
* @template T - The input success type
|
|
775
|
+
* @template U - The output success type
|
|
776
|
+
* @template E - The input error type
|
|
777
|
+
* @template F - The output error type
|
|
778
|
+
* @param {function(T): U} f - Function to transform the success value
|
|
779
|
+
* @param {function(E): F} g - Function to transform the error value
|
|
780
|
+
* @returns {function(Result<T, E>): Result<U, F>} A function that transforms both channels
|
|
781
|
+
*
|
|
782
|
+
* @category Transformations
|
|
783
|
+
* @example
|
|
784
|
+
* ```typescript
|
|
785
|
+
* const transform = Result.bimap(
|
|
786
|
+
* (n: number) => n.toString(),
|
|
787
|
+
* (e: Error) => e.message
|
|
788
|
+
* );
|
|
789
|
+
*
|
|
790
|
+
* transform(Result.ok(42)); // => { success: true, data: '42' }
|
|
791
|
+
* transform(Result.err(new Error('fail'))); // => { success: false, error: 'fail' }
|
|
792
|
+
* ```
|
|
793
|
+
*
|
|
794
|
+
* @since 2025-09-18
|
|
795
|
+
*/
|
|
796
|
+
bimap: function (f, g) { return function (result) {
|
|
797
|
+
return result.success ? Result.ok(f(result.data)) : Result.err(g(result.error));
|
|
798
|
+
}; },
|
|
799
|
+
/**
|
|
800
|
+
* Executes a Result for its side effects, discarding the result.
|
|
801
|
+
* @description Runs a Result-returning function but preserves the original value.
|
|
802
|
+
* Useful for logging or other side effects where the result isn't needed.
|
|
803
|
+
*
|
|
804
|
+
* @template T - The type of the value
|
|
805
|
+
* @template E - The error type
|
|
806
|
+
* @param {function(T): Result<any, E>} f - Function that returns a Result (result discarded)
|
|
807
|
+
* @returns {function(Result<T, E>): Result<T, E>} A function that executes side effects
|
|
808
|
+
*
|
|
809
|
+
* @category Combinators
|
|
810
|
+
* @example
|
|
811
|
+
* ```typescript
|
|
812
|
+
* const log = (msg: string): Result<void, never> => {
|
|
813
|
+
* console.log(msg);
|
|
814
|
+
* return Result.ok(undefined);
|
|
815
|
+
* };
|
|
816
|
+
*
|
|
817
|
+
* const result = Result.chainFirst((n: number) => log(`Got: ${n}`))(
|
|
818
|
+
* Result.ok(42)
|
|
819
|
+
* ); // logs "Got: 42", returns { success: true, data: 42 }
|
|
820
|
+
* ```
|
|
821
|
+
*
|
|
822
|
+
* @since 2025-09-18
|
|
823
|
+
*/
|
|
824
|
+
chainFirst: function (f) { return function (result) {
|
|
825
|
+
if (!result.success) {
|
|
826
|
+
return result;
|
|
827
|
+
}
|
|
828
|
+
var sideEffect = f(result.data);
|
|
829
|
+
if (!sideEffect.success) {
|
|
830
|
+
return sideEffect;
|
|
831
|
+
}
|
|
832
|
+
return result;
|
|
833
|
+
}; },
|
|
834
|
+
/**
|
|
835
|
+
* Combines the results of a tuple of Results into a Result of a tuple.
|
|
836
|
+
* @description Takes multiple Results and returns a Result containing a tuple
|
|
837
|
+
* of their values. If any Result is an error, returns the first error.
|
|
838
|
+
*
|
|
839
|
+
* @template T - Tuple type of Results
|
|
840
|
+
* @param {...T} results - Results to combine
|
|
841
|
+
* @returns {Result<{ [K in keyof T]: T[K] extends Result<infer U, any> ? U : never }, T[number] extends Result<any, infer E> ? E : never>} Result of tuple
|
|
842
|
+
*
|
|
843
|
+
* @category Combinators
|
|
844
|
+
* @example
|
|
845
|
+
* ```typescript
|
|
846
|
+
* const result1 = Result.ok(1);
|
|
847
|
+
* const result2 = Result.ok('hello');
|
|
848
|
+
* const result3 = Result.ok(true);
|
|
849
|
+
*
|
|
850
|
+
* const combined = Result.sequenceT(result1, result2, result3);
|
|
851
|
+
* // => { success: true, data: [1, 'hello', true] }
|
|
852
|
+
* ```
|
|
853
|
+
*
|
|
854
|
+
* @since 2025-09-18
|
|
855
|
+
*/
|
|
856
|
+
sequenceT: function () {
|
|
857
|
+
var results = [];
|
|
858
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
859
|
+
results[_i] = arguments[_i];
|
|
860
|
+
}
|
|
861
|
+
var values = [];
|
|
862
|
+
for (var _a = 0, results_3 = results; _a < results_3.length; _a++) {
|
|
863
|
+
var result = results_3[_a];
|
|
864
|
+
if (!result.success) {
|
|
865
|
+
return result;
|
|
866
|
+
}
|
|
867
|
+
values.push(result.data);
|
|
868
|
+
}
|
|
869
|
+
return Result.ok(values);
|
|
870
|
+
},
|
|
871
|
+
/**
|
|
872
|
+
* Combines the results of a record of Results into a Result of a record.
|
|
873
|
+
* @description Takes an object with Result values and returns a Result containing
|
|
874
|
+
* an object with the unwrapped values. If any Result is an error, returns the first error.
|
|
875
|
+
*
|
|
876
|
+
* @template R - Record type with Result values
|
|
877
|
+
* @param {R} results - Record of Results to combine
|
|
878
|
+
* @returns {Result<{ [K in keyof R]: R[K] extends Result<infer U, any> ? U : never }, R[keyof R] extends Result<any, infer E> ? E : never>} Result of record
|
|
879
|
+
*
|
|
880
|
+
* @category Combinators
|
|
881
|
+
* @example
|
|
882
|
+
* ```typescript
|
|
883
|
+
* const results = {
|
|
884
|
+
* user: Result.ok({ name: 'Alice' }),
|
|
885
|
+
* count: Result.ok(42),
|
|
886
|
+
* enabled: Result.ok(true)
|
|
887
|
+
* };
|
|
888
|
+
*
|
|
889
|
+
* const combined = Result.sequenceS(results);
|
|
890
|
+
* // => { success: true, data: { user: { name: 'Alice' }, count: 42, enabled: true } }
|
|
891
|
+
* ```
|
|
892
|
+
*
|
|
893
|
+
* @since 2025-09-18
|
|
894
|
+
*/
|
|
895
|
+
sequenceS: function (results) {
|
|
896
|
+
var keys = Object.keys(results);
|
|
897
|
+
var values = {};
|
|
898
|
+
for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
|
|
899
|
+
var key = keys_1[_i];
|
|
900
|
+
var result = results[key];
|
|
901
|
+
if (!result.success) {
|
|
902
|
+
return result;
|
|
903
|
+
}
|
|
904
|
+
values[key] = result.data;
|
|
905
|
+
}
|
|
906
|
+
return Result.ok(values);
|
|
907
|
+
},
|
|
908
|
+
/**
|
|
909
|
+
* Do notation helper for Result types.
|
|
910
|
+
* @description Provides a way to write sequential Result operations in an
|
|
911
|
+
* imperative style, similar to async/await but for Result types.
|
|
912
|
+
*
|
|
913
|
+
* @template E - The error type
|
|
914
|
+
* @returns {object} Do notation builder
|
|
915
|
+
*
|
|
916
|
+
* @category Do Notation
|
|
917
|
+
* @example
|
|
918
|
+
* ```typescript
|
|
919
|
+
* const result = Result.Do<string>()
|
|
920
|
+
* .bind('x', Result.ok(5))
|
|
921
|
+
* .bind('y', Result.ok(3))
|
|
922
|
+
* .map(({ x, y }) => x + y);
|
|
923
|
+
* // => { success: true, data: 8 }
|
|
924
|
+
*
|
|
925
|
+
* const withError = Result.Do<string>()
|
|
926
|
+
* .bind('x', Result.ok(5))
|
|
927
|
+
* .bind('y', Result.err<number, string>('error'))
|
|
928
|
+
* .map(({ x, y }) => x + y);
|
|
929
|
+
* // => { success: false, error: 'error' }
|
|
930
|
+
* ```
|
|
931
|
+
*
|
|
932
|
+
* @since 2025-09-18
|
|
933
|
+
*/
|
|
934
|
+
Do: function () {
|
|
935
|
+
var createBuilder = function (context) { return ({
|
|
936
|
+
bind: function (key, result) {
|
|
937
|
+
var _a;
|
|
938
|
+
if (!context.success) {
|
|
939
|
+
return createBuilder(context);
|
|
940
|
+
}
|
|
941
|
+
var actualResult = typeof result === 'function' ? result(context.data) : result;
|
|
942
|
+
if (!actualResult.success) {
|
|
943
|
+
return createBuilder(actualResult);
|
|
944
|
+
}
|
|
945
|
+
return createBuilder(Result.ok(__assign(__assign({}, context.data), (_a = {}, _a[key] = actualResult.data, _a))));
|
|
946
|
+
},
|
|
947
|
+
map: function (f) {
|
|
948
|
+
return context.success ? Result.ok(f(context.data)) : context;
|
|
949
|
+
},
|
|
950
|
+
flatMap: function (f) {
|
|
951
|
+
return context.success ? f(context.data) : context;
|
|
952
|
+
},
|
|
953
|
+
value: function () { return context; },
|
|
954
|
+
}); };
|
|
955
|
+
return createBuilder(Result.ok({}));
|
|
956
|
+
},
|
|
670
957
|
};
|
|
671
958
|
/**
|
|
672
959
|
* Utility type guard for checking if a value is a Result.
|
package/dist/result.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.mjs","sourceRoot":"","sources":["../src/result.mts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"result.mjs","sourceRoot":"","sources":["../src/result.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.test.d.ts","sourceRoot":"","sources":["../src/result.test.ts"],"names":[],"mappings":""}
|