@zambit/elevate-ts 0.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 (170) hide show
  1. package/CLA-CORPORATE.md +72 -0
  2. package/CLA-INDIVIDUAL.md +71 -0
  3. package/DUAL-PUBLISHING-STRATEGY.md +571 -0
  4. package/LICENSE +610 -0
  5. package/README.md +77 -0
  6. package/dist/cjs/Either.d.ts +67 -0
  7. package/dist/cjs/Either.d.ts.map +1 -0
  8. package/dist/cjs/Either.js +147 -0
  9. package/dist/cjs/Either.js.map +1 -0
  10. package/dist/cjs/EitherAsync.d.ts +139 -0
  11. package/dist/cjs/EitherAsync.d.ts.map +1 -0
  12. package/dist/cjs/EitherAsync.js +171 -0
  13. package/dist/cjs/EitherAsync.js.map +1 -0
  14. package/dist/cjs/Function.d.ts +153 -0
  15. package/dist/cjs/Function.d.ts.map +1 -0
  16. package/dist/cjs/Function.js +110 -0
  17. package/dist/cjs/Function.js.map +1 -0
  18. package/dist/cjs/List.d.ts +134 -0
  19. package/dist/cjs/List.d.ts.map +1 -0
  20. package/dist/cjs/List.js +243 -0
  21. package/dist/cjs/List.js.map +1 -0
  22. package/dist/cjs/Maybe.d.ts +64 -0
  23. package/dist/cjs/Maybe.d.ts.map +1 -0
  24. package/dist/cjs/Maybe.js +122 -0
  25. package/dist/cjs/Maybe.js.map +1 -0
  26. package/dist/cjs/MaybeAsync.d.ts +115 -0
  27. package/dist/cjs/MaybeAsync.d.ts.map +1 -0
  28. package/dist/cjs/MaybeAsync.js +151 -0
  29. package/dist/cjs/MaybeAsync.js.map +1 -0
  30. package/dist/cjs/NonEmptyList.d.ts +86 -0
  31. package/dist/cjs/NonEmptyList.d.ts.map +1 -0
  32. package/dist/cjs/NonEmptyList.js +128 -0
  33. package/dist/cjs/NonEmptyList.js.map +1 -0
  34. package/dist/cjs/Reader.d.ts +53 -0
  35. package/dist/cjs/Reader.d.ts.map +1 -0
  36. package/dist/cjs/Reader.js +60 -0
  37. package/dist/cjs/Reader.js.map +1 -0
  38. package/dist/cjs/State.d.ts +71 -0
  39. package/dist/cjs/State.d.ts.map +1 -0
  40. package/dist/cjs/State.js +94 -0
  41. package/dist/cjs/State.js.map +1 -0
  42. package/dist/cjs/Tuple.d.ts +69 -0
  43. package/dist/cjs/Tuple.d.ts.map +1 -0
  44. package/dist/cjs/Tuple.js +73 -0
  45. package/dist/cjs/Tuple.js.map +1 -0
  46. package/dist/cjs/Validation.d.ts +53 -0
  47. package/dist/cjs/Validation.d.ts.map +1 -0
  48. package/dist/cjs/Validation.js +77 -0
  49. package/dist/cjs/Validation.js.map +1 -0
  50. package/dist/cjs/index.d.ts +12 -0
  51. package/dist/cjs/index.d.ts.map +1 -0
  52. package/dist/cjs/index.js +25 -0
  53. package/dist/cjs/index.js.map +1 -0
  54. package/dist/cjs/tokens/config.d.ts +43 -0
  55. package/dist/cjs/tokens/config.d.ts.map +1 -0
  56. package/dist/cjs/tokens/config.js +162 -0
  57. package/dist/cjs/tokens/config.js.map +1 -0
  58. package/dist/cjs/tokens/cssGen.d.ts +18 -0
  59. package/dist/cjs/tokens/cssGen.d.ts.map +1 -0
  60. package/dist/cjs/tokens/cssGen.js +144 -0
  61. package/dist/cjs/tokens/cssGen.js.map +1 -0
  62. package/dist/cjs/tokens/generateCSS.d.ts +18 -0
  63. package/dist/cjs/tokens/generateCSS.d.ts.map +1 -0
  64. package/dist/cjs/tokens/generateCSS.js +83 -0
  65. package/dist/cjs/tokens/generateCSS.js.map +1 -0
  66. package/dist/cjs/tokens/index.d.ts +13 -0
  67. package/dist/cjs/tokens/index.d.ts.map +1 -0
  68. package/dist/cjs/tokens/index.js +12 -0
  69. package/dist/cjs/tokens/index.js.map +1 -0
  70. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  71. package/dist/esm/Either.d.ts +67 -0
  72. package/dist/esm/Either.d.ts.map +1 -0
  73. package/dist/esm/Either.js +136 -0
  74. package/dist/esm/Either.js.map +1 -0
  75. package/dist/esm/EitherAsync.d.ts +139 -0
  76. package/dist/esm/EitherAsync.d.ts.map +1 -0
  77. package/dist/esm/EitherAsync.js +173 -0
  78. package/dist/esm/EitherAsync.js.map +1 -0
  79. package/dist/esm/Function.d.ts +153 -0
  80. package/dist/esm/Function.d.ts.map +1 -0
  81. package/dist/esm/Function.js +109 -0
  82. package/dist/esm/Function.js.map +1 -0
  83. package/dist/esm/List.d.ts +134 -0
  84. package/dist/esm/List.d.ts.map +1 -0
  85. package/dist/esm/List.js +243 -0
  86. package/dist/esm/List.js.map +1 -0
  87. package/dist/esm/Maybe.d.ts +64 -0
  88. package/dist/esm/Maybe.d.ts.map +1 -0
  89. package/dist/esm/Maybe.js +113 -0
  90. package/dist/esm/Maybe.js.map +1 -0
  91. package/dist/esm/MaybeAsync.d.ts +115 -0
  92. package/dist/esm/MaybeAsync.d.ts.map +1 -0
  93. package/dist/esm/MaybeAsync.js +150 -0
  94. package/dist/esm/MaybeAsync.js.map +1 -0
  95. package/dist/esm/NonEmptyList.d.ts +86 -0
  96. package/dist/esm/NonEmptyList.d.ts.map +1 -0
  97. package/dist/esm/NonEmptyList.js +128 -0
  98. package/dist/esm/NonEmptyList.js.map +1 -0
  99. package/dist/esm/Reader.d.ts +53 -0
  100. package/dist/esm/Reader.d.ts.map +1 -0
  101. package/dist/esm/Reader.js +60 -0
  102. package/dist/esm/Reader.js.map +1 -0
  103. package/dist/esm/State.d.ts +71 -0
  104. package/dist/esm/State.d.ts.map +1 -0
  105. package/dist/esm/State.js +94 -0
  106. package/dist/esm/State.js.map +1 -0
  107. package/dist/esm/Tuple.d.ts +69 -0
  108. package/dist/esm/Tuple.d.ts.map +1 -0
  109. package/dist/esm/Tuple.js +73 -0
  110. package/dist/esm/Tuple.js.map +1 -0
  111. package/dist/esm/Validation.d.ts +53 -0
  112. package/dist/esm/Validation.d.ts.map +1 -0
  113. package/dist/esm/Validation.js +79 -0
  114. package/dist/esm/Validation.js.map +1 -0
  115. package/dist/esm/index.d.ts +12 -0
  116. package/dist/esm/index.d.ts.map +1 -0
  117. package/dist/esm/index.js +22 -0
  118. package/dist/esm/index.js.map +1 -0
  119. package/dist/esm/src/Either.d.ts +67 -0
  120. package/dist/esm/src/Either.d.ts.map +1 -0
  121. package/dist/esm/src/Either.js +147 -0
  122. package/dist/esm/src/Either.js.map +1 -0
  123. package/dist/esm/src/EitherAsync.d.ts +139 -0
  124. package/dist/esm/src/EitherAsync.d.ts.map +1 -0
  125. package/dist/esm/src/EitherAsync.js +171 -0
  126. package/dist/esm/src/EitherAsync.js.map +1 -0
  127. package/dist/esm/src/Function.d.ts +153 -0
  128. package/dist/esm/src/Function.d.ts.map +1 -0
  129. package/dist/esm/src/Function.js +110 -0
  130. package/dist/esm/src/Function.js.map +1 -0
  131. package/dist/esm/src/List.d.ts +134 -0
  132. package/dist/esm/src/List.d.ts.map +1 -0
  133. package/dist/esm/src/List.js +243 -0
  134. package/dist/esm/src/List.js.map +1 -0
  135. package/dist/esm/src/Maybe.d.ts +64 -0
  136. package/dist/esm/src/Maybe.d.ts.map +1 -0
  137. package/dist/esm/src/Maybe.js +122 -0
  138. package/dist/esm/src/Maybe.js.map +1 -0
  139. package/dist/esm/src/MaybeAsync.d.ts +115 -0
  140. package/dist/esm/src/MaybeAsync.d.ts.map +1 -0
  141. package/dist/esm/src/MaybeAsync.js +151 -0
  142. package/dist/esm/src/MaybeAsync.js.map +1 -0
  143. package/dist/esm/src/NonEmptyList.d.ts +86 -0
  144. package/dist/esm/src/NonEmptyList.d.ts.map +1 -0
  145. package/dist/esm/src/NonEmptyList.js +128 -0
  146. package/dist/esm/src/NonEmptyList.js.map +1 -0
  147. package/dist/esm/src/Reader.d.ts +53 -0
  148. package/dist/esm/src/Reader.d.ts.map +1 -0
  149. package/dist/esm/src/Reader.js +60 -0
  150. package/dist/esm/src/Reader.js.map +1 -0
  151. package/dist/esm/src/State.d.ts +71 -0
  152. package/dist/esm/src/State.d.ts.map +1 -0
  153. package/dist/esm/src/State.js +94 -0
  154. package/dist/esm/src/State.js.map +1 -0
  155. package/dist/esm/src/Tuple.d.ts +69 -0
  156. package/dist/esm/src/Tuple.d.ts.map +1 -0
  157. package/dist/esm/src/Tuple.js +73 -0
  158. package/dist/esm/src/Tuple.js.map +1 -0
  159. package/dist/esm/src/Validation.d.ts +53 -0
  160. package/dist/esm/src/Validation.d.ts.map +1 -0
  161. package/dist/esm/src/Validation.js +77 -0
  162. package/dist/esm/src/Validation.js.map +1 -0
  163. package/dist/esm/src/index.d.ts +12 -0
  164. package/dist/esm/src/index.d.ts.map +1 -0
  165. package/dist/esm/src/index.js +25 -0
  166. package/dist/esm/src/index.js.map +1 -0
  167. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  168. package/elevate-ts-vs-effect-critique.md +806 -0
  169. package/eslint.config.js +104 -0
  170. package/package.json +139 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/List.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /** Represents a Just value. */
2
+ export type Just<A> = {
3
+ readonly tag: 'Just';
4
+ readonly value: A;
5
+ };
6
+ /** Represents the absence of a value. */
7
+ export type Nothing = {
8
+ readonly tag: 'Nothing';
9
+ };
10
+ /** Optional value: Just<A> (present) or Nothing (absent). */
11
+ export type Maybe<A> = Just<A> | Nothing;
12
+ /** Create a Just value. */
13
+ export declare const Just: <A>(value: A) => Just<A>;
14
+ /** The Nothing singleton. */
15
+ export declare const Nothing: Nothing;
16
+ /** Test if a Maybe is Just. */
17
+ export declare const isJust: <A>(ma: Maybe<A>) => ma is Just<A>;
18
+ /** Test if a Maybe is Nothing. */
19
+ export declare const isNothing: <A>(ma: Maybe<A>) => ma is Nothing;
20
+ /** Lift a possibly-null value into Maybe. */
21
+ export declare const fromNullable: <A>(a: A | null | undefined) => Maybe<A>;
22
+ /** Construct Just if predicate holds, Nothing otherwise. */
23
+ export declare const fromPredicate: <A>(predicate: (a: A) => boolean) => ((a: A) => Maybe<A>);
24
+ /** Extract value or null. */
25
+ export declare const toNullable: <A>(ma: Maybe<A>) => A | null;
26
+ /** Lift to 0 or 1 element array. */
27
+ export declare const toArray: <A>(ma: Maybe<A>) => readonly A[];
28
+ /** Functor map. */
29
+ export declare const map: <A, B>(f: (a: A) => B) => ((ma: Maybe<A>) => Maybe<B>);
30
+ /** Applicative ap. */
31
+ export declare const ap: <A, B>(mf: Maybe<(a: A) => B>) => ((ma: Maybe<A>) => Maybe<B>);
32
+ /** Monadic bind (flatMap). */
33
+ export declare const chain: <A, B>(f: (a: A) => Maybe<B>) => ((ma: Maybe<A>) => Maybe<B>);
34
+ /** Chain with nullable result. */
35
+ export declare const chainNullable: <A, B>(f: (a: A) => B | null | undefined) => ((ma: Maybe<A>) => Maybe<B>);
36
+ /** Extract value or provide a default. */
37
+ export declare const getOrElse: <A>(a: A) => ((ma: Maybe<A>) => A);
38
+ /** Extract value or compute a default lazily. */
39
+ export declare const getOrElseL: <A>(f: () => A) => ((ma: Maybe<A>) => A);
40
+ /** Alt: use alternative if first is Nothing. */
41
+ export declare const alt: <A>(malt: Maybe<A>) => ((ma: Maybe<A>) => Maybe<A>);
42
+ /** Alt with lazy alternative. */
43
+ export declare const altL: <A>(f: () => Maybe<A>) => ((ma: Maybe<A>) => Maybe<A>);
44
+ /** Keep if predicate holds, otherwise Nothing. */
45
+ export declare const filter: <A>(predicate: (a: A) => boolean) => ((ma: Maybe<A>) => Maybe<A>);
46
+ /** Case analysis. */
47
+ export declare const fold: <A, B>(onNothing: B, onJust: (a: A) => B) => ((ma: Maybe<A>) => B);
48
+ /** Filter out Nothing; collect Just values. */
49
+ export declare const catMaybes: <A>(maybes: readonly Maybe<A>[]) => readonly A[];
50
+ /** Map then catMaybes. */
51
+ export declare const mapMaybe: <A, B>(f: (a: A) => Maybe<B>) => ((as: readonly A[]) => readonly B[]);
52
+ /** Sequence all-or-Nothing. */
53
+ export declare const sequence: <A>(maybes: readonly Maybe<A>[]) => Maybe<readonly A[]>;
54
+ /** Traverse a sequence. */
55
+ export declare const traverse: <A, B>(f: (a: A) => Maybe<B>) => ((as: readonly A[]) => Maybe<readonly B[]>);
56
+ /** Convert a Maybe to an Either. */
57
+ export declare const toEither: <E, A>(onNothing: E) => ((ma: Maybe<A>) => {
58
+ readonly tag: "Right";
59
+ readonly right: A;
60
+ } | {
61
+ readonly tag: "Left";
62
+ readonly left: E;
63
+ });
64
+ //# sourceMappingURL=Maybe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Maybe.d.ts","sourceRoot":"","sources":["../../src/Maybe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ // Maybe — Optional values
2
+ /** Create a Just value. */
3
+ export const Just = (value) => ({ tag: 'Just', value });
4
+ /** The Nothing singleton. */
5
+ export const Nothing = { tag: 'Nothing' };
6
+ /** Test if a Maybe is Just. */
7
+ export const isJust = (ma) => ma.tag === 'Just';
8
+ /** Test if a Maybe is Nothing. */
9
+ export const isNothing = (ma) => ma.tag === 'Nothing';
10
+ /** Lift a possibly-null value into Maybe. */
11
+ export const fromNullable = (a) => (a == null ? Nothing : Just(a));
12
+ /** Construct Just if predicate holds, Nothing otherwise. */
13
+ export const fromPredicate = (predicate) => (a) => predicate(a) ? Just(a) : Nothing;
14
+ /** Extract value or null. */
15
+ export const toNullable = (ma) => (ma.tag === 'Just' ? ma.value : null);
16
+ /** Lift to 0 or 1 element array. */
17
+ export const toArray = (ma) => (ma.tag === 'Just' ? [ma.value] : []);
18
+ /** Functor map. */
19
+ export const map = (f) => (ma) => ma.tag === 'Just' ? Just(f(ma.value)) : Nothing;
20
+ /** Applicative ap. */
21
+ export const ap = (mf) => (ma) => mf.tag === 'Just' && ma.tag === 'Just' ? Just(mf.value(ma.value)) : Nothing;
22
+ /** Monadic bind (flatMap). */
23
+ export const chain = (f) => (ma) => ma.tag === 'Just' ? f(ma.value) : Nothing;
24
+ /** Chain with nullable result. */
25
+ export const chainNullable = (f) => (ma) => ma.tag === 'Just' ? fromNullable(f(ma.value)) : Nothing;
26
+ /** Extract value or provide a default. */
27
+ export const getOrElse = (a) => (ma) => ma.tag === 'Just' ? ma.value : a;
28
+ /** Extract value or compute a default lazily. */
29
+ export const getOrElseL = (f) => (ma) => ma.tag === 'Just' ? ma.value : f();
30
+ /** Alt: use alternative if first is Nothing. */
31
+ export const alt = (malt) => (ma) => ma.tag === 'Just' ? ma : malt;
32
+ /** Alt with lazy alternative. */
33
+ export const altL = (f) => (ma) => ma.tag === 'Just' ? ma : f();
34
+ /** Keep if predicate holds, otherwise Nothing. */
35
+ export const filter = (predicate) => (ma) => ma.tag === 'Just' && predicate(ma.value) ? ma : Nothing;
36
+ /** Case analysis. */
37
+ export const fold = (onNothing, onJust) => (ma) => ma.tag === 'Just' ? onJust(ma.value) : onNothing;
38
+ /** Filter out Nothing; collect Just values. */
39
+ export const catMaybes = (maybes) => maybes.flatMap((ma) => (ma.tag === 'Just' ? [ma.value] : []));
40
+ /** Map then catMaybes. */
41
+ export const mapMaybe = (f) => (as) => catMaybes(as.map(f));
42
+ /** Sequence all-or-Nothing. */
43
+ export const sequence = (maybes) => {
44
+ const result = [];
45
+ for (const ma of maybes) {
46
+ if (ma.tag === 'Nothing')
47
+ return Nothing;
48
+ result.push(ma.value);
49
+ }
50
+ return Just(result);
51
+ };
52
+ /** Traverse a sequence. */
53
+ export const traverse = (f) => (as) => sequence(as.map(f));
54
+ // Fantasy Land symbols
55
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
56
+ const flMap = (f) => map(f);
57
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
58
+ const flAp = (mf) => ap(mf);
59
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
60
+ const flChain = (f) => chain(f);
61
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
62
+ const flFilter = (predicate) => filter(predicate);
63
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
64
+ const flReduce = (f, b) => (ma) => ma.tag === 'Just' ? f(b, ma.value) : b;
65
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
66
+ const flEquals = (a) => (ma) => ma.tag === 'Just' && ma.value === a;
67
+ Object.defineProperty(Just, 'fantasy-land/of', { value: Just });
68
+ Object.defineProperty(Nothing, 'fantasy-land/zero', { value: Nothing });
69
+ const justProto = Object.getPrototypeOf(Just(0));
70
+ justProto['fantasy-land/map'] = function (f) {
71
+ return Just(f(this.value));
72
+ };
73
+ justProto['fantasy-land/ap'] = function (ma) {
74
+ return ap(this)(ma);
75
+ };
76
+ justProto['fantasy-land/chain'] = function (f) {
77
+ return f(this.value);
78
+ };
79
+ justProto['fantasy-land/alt'] = function (_malt) {
80
+ return this;
81
+ };
82
+ justProto['fantasy-land/filter'] = function (predicate) {
83
+ return predicate(this.value) ? this : Nothing;
84
+ };
85
+ justProto['fantasy-land/reduce'] = function (f, b) {
86
+ return f(b, this.value);
87
+ };
88
+ justProto['fantasy-land/equals'] = function (other) {
89
+ return other.tag === 'Just' && this.value === other.value;
90
+ };
91
+ const nothingProto = Object.getPrototypeOf(Nothing);
92
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
93
+ nothingProto['fantasy-land/map'] = function (f) {
94
+ return Nothing;
95
+ };
96
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
97
+ nothingProto['fantasy-land/ap'] = function (_ma) {
98
+ return Nothing;
99
+ };
100
+ nothingProto['fantasy-land/chain'] = function (_f) {
101
+ return Nothing;
102
+ };
103
+ nothingProto['fantasy-land/alt'] = function (malt) {
104
+ return malt;
105
+ };
106
+ nothingProto['fantasy-land/filter'] = function (_predicate) {
107
+ return Nothing;
108
+ };
109
+ nothingProto['fantasy-land/reduce'] = function (f, b) {
110
+ return b;
111
+ };
112
+ // istanbul ignore next
113
+ nothingProto['fantasy-land/equals'] = function (other) {
114
+ return other.tag === 'Nothing';
115
+ };
116
+ /** Convert a Maybe to an Either. */
117
+ export const toEither = (onNothing) => (ma) => {
118
+ const Right = (right) => ({ tag: 'Right', right });
119
+ const Left = (left) => ({ tag: 'Left', left });
120
+ return ma.tag === 'Just' ? Right(ma.value) : Left(onNothing);
121
+ };
122
+ //# sourceMappingURL=Maybe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Maybe.js","sourceRoot":"","sources":["../../src/Maybe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import type * as EitherAsyncModule from './EitherAsync.js';
2
+ import * as Maybe from './Maybe.js';
3
+ /**
4
+ * Lazy async Maybe: wraps Promise<Maybe<A>>.
5
+ * Critical: Any rejected Promise or thrown error becomes Nothing; never rejects.
6
+ */
7
+ export type MaybeAsync<A> = {
8
+ readonly tag: 'MaybeAsync';
9
+ readonly run: () => Promise<Maybe.Maybe<A>>;
10
+ };
11
+ /**
12
+ * Construct a MaybeAsync from a lazy computation.
13
+ * @param run - A function returning Promise<Maybe<A>>.
14
+ * @returns A MaybeAsync that encapsulates the computation.
15
+ */
16
+ export declare const MaybeAsync: <A>(run: () => Promise<Maybe.Maybe<A>>) => MaybeAsync<A>;
17
+ /**
18
+ * Lift a synchronous Maybe into MaybeAsync.
19
+ * @param ma - The synchronous Maybe.
20
+ * @returns A MaybeAsync that immediately resolves to the Maybe.
21
+ */
22
+ export declare const liftMaybe: <A>(ma: Maybe.Maybe<A>) => MaybeAsync<A>;
23
+ /**
24
+ * Lift a Promise into MaybeAsync.
25
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
26
+ * @param p - The Promise to lift.
27
+ * @returns A MaybeAsync that resolves to Just the value or Nothing on error.
28
+ */
29
+ export declare const fromPromise: <A>(p: Promise<A>) => MaybeAsync<A>;
30
+ /**
31
+ * Wrap an async function with error handling.
32
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
33
+ * @param f - An async function.
34
+ * @returns A MaybeAsync that captures the result or Nothing on error.
35
+ */
36
+ export declare const tryCatch: <A>(f: () => Promise<A>) => MaybeAsync<A>;
37
+ /**
38
+ * Functor map over the value.
39
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
40
+ * @param f - Function to transform the value.
41
+ * @returns A function taking MaybeAsync and returning a new MaybeAsync.
42
+ */
43
+ export declare const map: <A, B>(f: (a: A) => B) => ((ma: MaybeAsync<A>) => MaybeAsync<B>);
44
+ /**
45
+ * Monadic bind: sequentially compose MaybeAsync computations.
46
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
47
+ * @param f - Function that returns a MaybeAsync.
48
+ * @returns A function taking MaybeAsync and returning a flattened MaybeAsync.
49
+ */
50
+ export declare const chain: <A, B>(f: (a: A) => MaybeAsync<B>) => ((ma: MaybeAsync<A>) => MaybeAsync<B>);
51
+ /**
52
+ * Applicative ap: apply a MaybeAsync function to a MaybeAsync value.
53
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
54
+ * @param mf - A MaybeAsync of a function.
55
+ * @returns A function taking MaybeAsync and returning a new MaybeAsync.
56
+ */
57
+ export declare const ap: <A, B>(mf: MaybeAsync<(a: A) => B>) => ((ma: MaybeAsync<A>) => MaybeAsync<B>);
58
+ /**
59
+ * Alt: use alternative MaybeAsync if first is Nothing.
60
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
61
+ * @param alt_ma - The alternative MaybeAsync.
62
+ * @returns A function taking the primary MaybeAsync.
63
+ */
64
+ export declare const alt: <A>(alt_ma: MaybeAsync<A>) => ((ma: MaybeAsync<A>) => MaybeAsync<A>);
65
+ /**
66
+ * Keep the value if predicate holds, otherwise Nothing.
67
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
68
+ * @param predicate - The predicate to test.
69
+ * @returns A function taking MaybeAsync and returning filtered MaybeAsync.
70
+ */
71
+ export declare const filter: <A>(predicate: (a: A) => boolean) => ((ma: MaybeAsync<A>) => MaybeAsync<A>);
72
+ /**
73
+ * Extract the value or provide a default.
74
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
75
+ * @param a - The default value.
76
+ * @returns A function taking MaybeAsync and returning a Promise of the value.
77
+ */
78
+ export declare const getOrElse: <A>(a: A) => ((ma: MaybeAsync<A>) => Promise<A>);
79
+ /**
80
+ * Extract the value or compute a default lazily.
81
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
82
+ * @param f - A function computing the default.
83
+ * @returns A function taking MaybeAsync and returning a Promise of the value.
84
+ */
85
+ export declare const getOrElseL: <A>(f: () => Promise<A>) => ((ma: MaybeAsync<A>) => Promise<A>);
86
+ /**
87
+ * Convert MaybeAsync to EitherAsync.
88
+ * Any rejected Promise or thrown error becomes Nothing which becomes Left; never rejects.
89
+ * @param onNothing - The Left value if Nothing.
90
+ * @returns A function taking MaybeAsync and returning EitherAsync.
91
+ */
92
+ export declare const toEitherAsync: <E, A>(onNothing: E) => ((ma: MaybeAsync<A>) => EitherAsyncModule.EitherAsync<E, A>);
93
+ /**
94
+ * Case analysis on MaybeAsync.
95
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
96
+ * @param onNothing - Value for Nothing.
97
+ * @param onJust - Function for Just value.
98
+ * @returns A function taking MaybeAsync and returning Promise of result.
99
+ */
100
+ export declare const fold: <A, B>(onNothing: B, onJust: (a: A) => Promise<B>) => ((ma: MaybeAsync<A>) => Promise<B>);
101
+ /**
102
+ * Collect Just values from an array of MaybeAsync.
103
+ * Rejected Promises and errors are filtered out.
104
+ * @param maybes - Array of MaybeAsync.
105
+ * @returns Promise of collected values.
106
+ */
107
+ export declare const catMaybes: <A>(maybes: readonly MaybeAsync<A>[]) => Promise<readonly A[]>;
108
+ /**
109
+ * All-or-Nothing: if any MaybeAsync is Nothing, result is Nothing.
110
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
111
+ * @param maybes - Array of MaybeAsync.
112
+ * @returns A MaybeAsync that is Just of array if all are Just, else Nothing.
113
+ */
114
+ export declare const all: <A>(maybes: readonly MaybeAsync<A>[]) => MaybeAsync<A[]>;
115
+ //# sourceMappingURL=MaybeAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaybeAsync.d.ts","sourceRoot":"","sources":["../../src/MaybeAsync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ // MaybeAsync — Lazy Async Maybe
2
+ import * as Maybe from './Maybe.js';
3
+ /**
4
+ * Construct a MaybeAsync from a lazy computation.
5
+ * @param run - A function returning Promise<Maybe<A>>.
6
+ * @returns A MaybeAsync that encapsulates the computation.
7
+ */
8
+ export const MaybeAsync = (run) => ({ tag: 'MaybeAsync', run });
9
+ /**
10
+ * Lift a synchronous Maybe into MaybeAsync.
11
+ * @param ma - The synchronous Maybe.
12
+ * @returns A MaybeAsync that immediately resolves to the Maybe.
13
+ */
14
+ export const liftMaybe = (ma) => MaybeAsync(() => Promise.resolve(ma));
15
+ /**
16
+ * Lift a Promise into MaybeAsync.
17
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
18
+ * @param p - The Promise to lift.
19
+ * @returns A MaybeAsync that resolves to Just the value or Nothing on error.
20
+ */
21
+ export const fromPromise = (p) => MaybeAsync(() => p.then((a) => Maybe.Just(a)).catch(() => Maybe.Nothing));
22
+ /**
23
+ * Wrap an async function with error handling.
24
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
25
+ * @param f - An async function.
26
+ * @returns A MaybeAsync that captures the result or Nothing on error.
27
+ */
28
+ export const tryCatch = (f) => MaybeAsync(() => Promise.resolve()
29
+ .then(() => f())
30
+ .then((a) => Maybe.Just(a))
31
+ .catch(() => Maybe.Nothing));
32
+ /**
33
+ * Functor map over the value.
34
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
35
+ * @param f - Function to transform the value.
36
+ * @returns A function taking MaybeAsync and returning a new MaybeAsync.
37
+ */
38
+ export const map = (f) => (ma) => MaybeAsync(() => ma.run().then((maybe) => Maybe.map(f)(maybe)));
39
+ /**
40
+ * Monadic bind: sequentially compose MaybeAsync computations.
41
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
42
+ * @param f - Function that returns a MaybeAsync.
43
+ * @returns A function taking MaybeAsync and returning a flattened MaybeAsync.
44
+ */
45
+ export const chain = (f) => (ma) => MaybeAsync(async () => {
46
+ const maybe = await ma.run();
47
+ if (maybe.tag === 'Just') {
48
+ return f(maybe.value).run();
49
+ }
50
+ return Maybe.Nothing;
51
+ });
52
+ /**
53
+ * Applicative ap: apply a MaybeAsync function to a MaybeAsync value.
54
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
55
+ * @param mf - A MaybeAsync of a function.
56
+ * @returns A function taking MaybeAsync and returning a new MaybeAsync.
57
+ */
58
+ export const ap = (mf) => (ma) => MaybeAsync(async () => {
59
+ const [f, a] = await Promise.all([mf.run(), ma.run()]);
60
+ return Maybe.ap(f)(a);
61
+ });
62
+ /**
63
+ * Alt: use alternative MaybeAsync if first is Nothing.
64
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
65
+ * @param alt_ma - The alternative MaybeAsync.
66
+ * @returns A function taking the primary MaybeAsync.
67
+ */
68
+ export const alt = (alt_ma) => (ma) => MaybeAsync(async () => {
69
+ const maybe = await ma.run();
70
+ if (maybe.tag === 'Just')
71
+ return maybe;
72
+ return alt_ma.run();
73
+ });
74
+ /**
75
+ * Keep the value if predicate holds, otherwise Nothing.
76
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
77
+ * @param predicate - The predicate to test.
78
+ * @returns A function taking MaybeAsync and returning filtered MaybeAsync.
79
+ */
80
+ export const filter = (predicate) => (ma) => MaybeAsync(() => ma.run().then((maybe) => Maybe.filter(predicate)(maybe)));
81
+ /**
82
+ * Extract the value or provide a default.
83
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
84
+ * @param a - The default value.
85
+ * @returns A function taking MaybeAsync and returning a Promise of the value.
86
+ */
87
+ export const getOrElse = (a) => (ma) => ma.run().then((maybe) => Maybe.getOrElse(a)(maybe));
88
+ /**
89
+ * Extract the value or compute a default lazily.
90
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
91
+ * @param f - A function computing the default.
92
+ * @returns A function taking MaybeAsync and returning a Promise of the value.
93
+ */
94
+ export const getOrElseL = (f) => (ma) => ma.run().then(async (maybe) => {
95
+ if (maybe.tag === 'Just')
96
+ return maybe.value;
97
+ return f();
98
+ });
99
+ /**
100
+ * Convert MaybeAsync to EitherAsync.
101
+ * Any rejected Promise or thrown error becomes Nothing which becomes Left; never rejects.
102
+ * @param onNothing - The Left value if Nothing.
103
+ * @returns A function taking MaybeAsync and returning EitherAsync.
104
+ */
105
+ export const toEitherAsync = (onNothing) => (ma) => {
106
+ // Dynamic import to avoid circular dependencies
107
+ return {
108
+ tag: 'EitherAsync',
109
+ run: async () => {
110
+ const maybe = await ma.run();
111
+ const Either = (await import('./Either.js'));
112
+ return maybe.tag === 'Just' ? Either.Right(maybe.value) : Either.Left(onNothing);
113
+ }
114
+ };
115
+ };
116
+ /**
117
+ * Case analysis on MaybeAsync.
118
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
119
+ * @param onNothing - Value for Nothing.
120
+ * @param onJust - Function for Just value.
121
+ * @returns A function taking MaybeAsync and returning Promise of result.
122
+ */
123
+ export const fold = (onNothing, onJust) => (ma) => ma.run().then(async (maybe) => {
124
+ if (maybe.tag === 'Just')
125
+ return onJust(maybe.value);
126
+ return onNothing;
127
+ });
128
+ /**
129
+ * Collect Just values from an array of MaybeAsync.
130
+ * Rejected Promises and errors are filtered out.
131
+ * @param maybes - Array of MaybeAsync.
132
+ * @returns Promise of collected values.
133
+ */
134
+ export const catMaybes = (maybes) => Promise.all(maybes.map((m) => m.run())).then((results) => results.flatMap((maybe) => (maybe.tag === 'Just' ? [maybe.value] : [])));
135
+ /**
136
+ * All-or-Nothing: if any MaybeAsync is Nothing, result is Nothing.
137
+ * Any rejected Promise or thrown error becomes Nothing; never rejects.
138
+ * @param maybes - Array of MaybeAsync.
139
+ * @returns A MaybeAsync that is Just of array if all are Just, else Nothing.
140
+ */
141
+ export const all = (maybes) => MaybeAsync(async () => {
142
+ const results = await Promise.all(maybes.map((m) => m.run()));
143
+ const values = [];
144
+ for (const maybe of results) {
145
+ if (maybe.tag === 'Nothing')
146
+ return Maybe.Nothing;
147
+ values.push(maybe.value);
148
+ }
149
+ return Maybe.Just(values);
150
+ });
151
+ //# sourceMappingURL=MaybeAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaybeAsync.js","sourceRoot":"","sources":["../../src/MaybeAsync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import * as Maybe from './Maybe.js';
2
+ declare const NonEmptyListBrand: unique symbol;
3
+ /** Branded nonempty list type: at least one element guaranteed. */
4
+ export type NonEmptyList<A> = readonly [A, ...A[]] & {
5
+ readonly [NonEmptyListBrand]: true;
6
+ };
7
+ /**
8
+ * Safely lift an array to NonEmptyList if nonempty.
9
+ * @param arr - The array to lift.
10
+ * @returns Just the NonEmptyList if nonempty, Nothing if empty.
11
+ */
12
+ export declare const fromArray: <A>(arr: readonly A[]) => Maybe.Maybe<NonEmptyList<A>>;
13
+ /**
14
+ * Unsafely cast an array to NonEmptyList without checking.
15
+ * @param arr - An array (assumed nonempty).
16
+ * @returns The array cast as NonEmptyList.
17
+ */
18
+ export declare const fromArrayUnsafe: <A>(arr: readonly A[]) => NonEmptyList<A>;
19
+ /**
20
+ * Convert a NonEmptyList back to a plain array.
21
+ * @param nel - The nonempty list.
22
+ * @returns A readonly array.
23
+ */
24
+ export declare const toArray: <A>(nel: NonEmptyList<A>) => readonly A[];
25
+ /**
26
+ * Extract the first element (guaranteed to exist).
27
+ * @param nel - The nonempty list.
28
+ * @returns The first element.
29
+ */
30
+ export declare const head: <A>(nel: NonEmptyList<A>) => A;
31
+ /**
32
+ * Extract all elements after the first.
33
+ * @param nel - The nonempty list.
34
+ * @returns An array of remaining elements (may be empty).
35
+ */
36
+ export declare const tail: <A>(nel: NonEmptyList<A>) => readonly A[];
37
+ /**
38
+ * Extract the last element.
39
+ * @param nel - The nonempty list.
40
+ * @returns The last element.
41
+ */
42
+ export declare const last: <A>(nel: NonEmptyList<A>) => A;
43
+ /**
44
+ * Extract all elements except the last.
45
+ * @param nel - The nonempty list.
46
+ * @returns An array of all but the last element.
47
+ */
48
+ export declare const init: <A>(nel: NonEmptyList<A>) => readonly A[];
49
+ /**
50
+ * Functor map over a NonEmptyList.
51
+ * @param f - Function to transform each element.
52
+ * @returns A function that takes a NonEmptyList and returns a new NonEmptyList.
53
+ */
54
+ export declare const map: <A, B>(f: (a: A) => B) => ((nel: NonEmptyList<A>) => NonEmptyList<B>);
55
+ /**
56
+ * Applicative ap: apply a NonEmptyList of functions to a NonEmptyList of values.
57
+ * @param nf - A NonEmptyList of functions.
58
+ * @returns A function that takes a NonEmptyList and returns a new NonEmptyList.
59
+ */
60
+ export declare const ap: <A, B>(nf: NonEmptyList<(a: A) => B>) => ((nel: NonEmptyList<A>) => NonEmptyList<B>);
61
+ /**
62
+ * Monadic bind: sequentially compose NonEmptyList computations.
63
+ * @param f - Function that returns a NonEmptyList.
64
+ * @returns A function that takes a NonEmptyList and returns a flattened NonEmptyList.
65
+ */
66
+ export declare const chain: <A, B>(f: (a: A) => NonEmptyList<B>) => ((nel: NonEmptyList<A>) => NonEmptyList<B>);
67
+ /**
68
+ * Concatenate two nonempty lists.
69
+ * @param nel2 - The second nonempty list.
70
+ * @returns A function that takes the first nonempty list and returns their concatenation.
71
+ */
72
+ export declare const concat: <A>(nel2: NonEmptyList<A>) => ((nel1: NonEmptyList<A>) => NonEmptyList<A>);
73
+ /**
74
+ * Find the minimum element using a comparator.
75
+ * @param ord - Comparator function (returns negative if first < second, positive if first > second).
76
+ * @returns A function that takes a NonEmptyList and returns the minimum element.
77
+ */
78
+ export declare const min: <A>(ord: (a: A, b: A) => number) => ((nel: NonEmptyList<A>) => A);
79
+ /**
80
+ * Find the maximum element using a comparator.
81
+ * @param ord - Comparator function (returns negative if first < second, positive if first > second).
82
+ * @returns A function that takes a NonEmptyList and returns the maximum element.
83
+ */
84
+ export declare const max: <A>(ord: (a: A, b: A) => number) => ((nel: NonEmptyList<A>) => A);
85
+ export {};
86
+ //# sourceMappingURL=NonEmptyList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NonEmptyList.d.ts","sourceRoot":"","sources":["../../src/NonEmptyList.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC,OAAO,CAAC,MAAM,iBAAiB,EAAE,OAAO,MAAM,CAAC;AAE/C,mEAAmE;AACnE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG;IACnD,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC;CACpC,CAAC;AASF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,KAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAoE,CAAC;AAEjJ;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,KAAG,YAAY,CAAC,CAAC,CAAqB,CAAC;AAE3F;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,KAAG,SAAS,CAAC,EAAS,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,KAAG,CAAW,CAAC;AAE3D;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,KAAG,SAAS,CAAC,EAAkB,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,KAAG,CAAwB,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,KAAG,SAAS,CAAC,EAAsB,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,GAAG,GACb,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAG,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAEzC,CAAC;AAE5B;;;;GAIG;AACH,eAAO,MAAM,EAAE,GACZ,CAAC,EAAE,CAAC,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAG,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAShF,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,KAAK,GACf,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,KAAG,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAU/E,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAChB,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,KAAG,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAEtC,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,GAAG,GACb,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,KAAG,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAS7D,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,GAAG,GACb,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,KAAG,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAS7D,CAAC"}