@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.
Files changed (134) 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 +19 -3
  5. package/dist/array-utils.mjs.map +1 -1
  6. package/dist/array-utils.test.d.ts +2 -0
  7. package/dist/array-utils.test.d.ts.map +1 -0
  8. package/dist/array-utils.test.js +256 -0
  9. package/dist/array-utils.test.js.map +1 -0
  10. package/dist/composition.d.mts +53 -6
  11. package/dist/composition.d.mts.map +1 -1
  12. package/dist/composition.mjs +111 -22
  13. package/dist/composition.mjs.map +1 -1
  14. package/dist/composition.test.d.ts +2 -0
  15. package/dist/composition.test.d.ts.map +1 -0
  16. package/dist/composition.test.js +409 -0
  17. package/dist/composition.test.js.map +1 -0
  18. package/dist/index.d.mts +10 -5
  19. package/dist/index.d.mts.map +1 -1
  20. package/dist/index.mjs +10 -5
  21. package/dist/index.mjs.map +1 -1
  22. package/dist/integration.test.d.mts +2 -0
  23. package/dist/integration.test.d.mts.map +1 -0
  24. package/dist/integration.test.mjs +486 -0
  25. package/dist/integration.test.mjs.map +1 -0
  26. package/dist/io.d.mts +338 -0
  27. package/dist/io.d.mts.map +1 -0
  28. package/dist/io.mjs +389 -0
  29. package/dist/io.mjs.map +1 -0
  30. package/dist/io.test.d.mts +2 -0
  31. package/dist/io.test.d.mts.map +1 -0
  32. package/dist/io.test.mjs +373 -0
  33. package/dist/io.test.mjs.map +1 -0
  34. package/dist/laws.test.d.mts +2 -0
  35. package/dist/laws.test.d.mts.map +1 -0
  36. package/dist/laws.test.mjs +614 -0
  37. package/dist/laws.test.mjs.map +1 -0
  38. package/dist/object-utils.d.mts +11 -0
  39. package/dist/object-utils.d.mts.map +1 -1
  40. package/dist/object-utils.mjs +11 -0
  41. package/dist/object-utils.mjs.map +1 -1
  42. package/dist/object-utils.test.d.ts +2 -0
  43. package/dist/object-utils.test.d.ts.map +1 -0
  44. package/dist/object-utils.test.js +286 -0
  45. package/dist/object-utils.test.js.map +1 -0
  46. package/dist/option-additions.test.d.mts +2 -0
  47. package/dist/option-additions.test.d.mts.map +1 -0
  48. package/dist/option-additions.test.mjs +325 -0
  49. package/dist/option-additions.test.mjs.map +1 -0
  50. package/dist/option.d.mts +202 -58
  51. package/dist/option.d.mts.map +1 -1
  52. package/dist/option.mjs +271 -63
  53. package/dist/option.mjs.map +1 -1
  54. package/dist/option.test.d.ts +6 -0
  55. package/dist/option.test.d.ts.map +1 -0
  56. package/dist/option.test.js +606 -0
  57. package/dist/option.test.js.map +1 -0
  58. package/dist/performance.d.mts +27 -10
  59. package/dist/performance.d.mts.map +1 -1
  60. package/dist/performance.mjs +42 -20
  61. package/dist/performance.mjs.map +1 -1
  62. package/dist/performance.test.d.ts +2 -0
  63. package/dist/performance.test.d.ts.map +1 -0
  64. package/dist/performance.test.js +424 -0
  65. package/dist/performance.test.js.map +1 -0
  66. package/dist/pipeline.d.mts +12 -0
  67. package/dist/pipeline.d.mts.map +1 -1
  68. package/dist/pipeline.mjs +12 -0
  69. package/dist/pipeline.mjs.map +1 -1
  70. package/dist/pipeline.test.d.ts +2 -0
  71. package/dist/pipeline.test.d.ts.map +1 -0
  72. package/dist/pipeline.test.js +445 -0
  73. package/dist/pipeline.test.js.map +1 -0
  74. package/dist/predicates.d.mts +12 -0
  75. package/dist/predicates.d.mts.map +1 -1
  76. package/dist/predicates.mjs +12 -0
  77. package/dist/predicates.mjs.map +1 -1
  78. package/dist/predicates.test.d.ts +2 -0
  79. package/dist/predicates.test.d.ts.map +1 -0
  80. package/dist/predicates.test.js +375 -0
  81. package/dist/predicates.test.js.map +1 -0
  82. package/dist/reader-result.d.mts +37 -16
  83. package/dist/reader-result.d.mts.map +1 -1
  84. package/dist/reader-result.mjs +37 -16
  85. package/dist/reader-result.mjs.map +1 -1
  86. package/dist/reader-result.test.d.ts +2 -0
  87. package/dist/reader-result.test.d.ts.map +1 -0
  88. package/dist/reader-result.test.js +1259 -0
  89. package/dist/reader-result.test.js.map +1 -0
  90. package/dist/reader.d.mts +443 -0
  91. package/dist/reader.d.mts.map +1 -0
  92. package/dist/reader.mjs +456 -0
  93. package/dist/reader.mjs.map +1 -0
  94. package/dist/reader.test.d.mts +2 -0
  95. package/dist/reader.test.d.mts.map +1 -0
  96. package/dist/reader.test.mjs +288 -0
  97. package/dist/reader.test.mjs.map +1 -0
  98. package/dist/result-additions.test.d.mts +2 -0
  99. package/dist/result-additions.test.d.mts.map +1 -0
  100. package/dist/result-additions.test.mjs +325 -0
  101. package/dist/result-additions.test.mjs.map +1 -0
  102. package/dist/result.d.mts +208 -0
  103. package/dist/result.d.mts.map +1 -1
  104. package/dist/result.mjs +287 -0
  105. package/dist/result.mjs.map +1 -1
  106. package/dist/result.test.d.ts +2 -0
  107. package/dist/result.test.d.ts.map +1 -0
  108. package/dist/result.test.js +453 -0
  109. package/dist/result.test.js.map +1 -0
  110. package/dist/task.d.mts +374 -0
  111. package/dist/task.d.mts.map +1 -0
  112. package/dist/task.mjs +386 -0
  113. package/dist/task.mjs.map +1 -0
  114. package/dist/task.test.d.mts +2 -0
  115. package/dist/task.test.d.mts.map +1 -0
  116. package/dist/task.test.mjs +1006 -0
  117. package/dist/task.test.mjs.map +1 -0
  118. package/dist/types.d.mts +12 -0
  119. package/dist/types.d.mts.map +1 -1
  120. package/dist/types.mjs +12 -0
  121. package/dist/types.mjs.map +1 -1
  122. package/dist/types.test.d.ts +6 -0
  123. package/dist/types.test.d.ts.map +1 -0
  124. package/dist/types.test.js +447 -0
  125. package/dist/types.test.js.map +1 -0
  126. package/dist/validation.d.mts +12 -0
  127. package/dist/validation.d.mts.map +1 -1
  128. package/dist/validation.mjs +22 -4
  129. package/dist/validation.mjs.map +1 -1
  130. package/dist/validation.test.d.ts +2 -0
  131. package/dist/validation.test.d.ts.map +1 -0
  132. package/dist/validation.test.js +518 -0
  133. package/dist/validation.test.js.map +1 -0
  134. 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.
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.mts","sourceRoot":"","sources":["../src/result.mts"],"names":[],"mappings":"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"}
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.
@@ -1 +1 @@
1
- {"version":3,"file":"result.mjs","sourceRoot":"","sources":["../src/result.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.mjs","sourceRoot":"","sources":["../src/result.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=result.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.test.d.ts","sourceRoot":"","sources":["../src/result.test.ts"],"names":[],"mappings":""}