@nlozgachev/pipekit 0.2.0 → 0.4.0
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 +18 -13
- package/esm/src/Composition/flip.js +2 -2
- package/esm/src/Composition/fn.js +1 -1
- package/esm/src/Composition/tap.js +1 -1
- package/esm/src/Core/Arr.js +4 -4
- package/esm/src/Core/Option.js +13 -22
- package/esm/src/Core/RemoteData.js +9 -13
- package/esm/src/Core/Result.js +12 -21
- package/esm/src/Core/Task.js +26 -23
- package/esm/src/Core/TaskOption.js +8 -6
- package/esm/src/Core/TaskResult.js +10 -6
- package/esm/src/Core/TaskValidation.js +12 -8
- package/esm/src/Core/These.js +122 -123
- package/esm/src/Core/Validation.js +42 -43
- package/package.json +1 -1
- package/script/src/Composition/flip.js +2 -2
- package/script/src/Composition/fn.js +1 -1
- package/script/src/Composition/tap.js +1 -1
- package/script/src/Core/Arr.js +4 -4
- package/script/src/Core/Option.js +13 -22
- package/script/src/Core/RemoteData.js +9 -13
- package/script/src/Core/Result.js +12 -21
- package/script/src/Core/Task.js +26 -23
- package/script/src/Core/TaskOption.js +8 -6
- package/script/src/Core/TaskResult.js +10 -6
- package/script/src/Core/TaskValidation.js +12 -8
- package/script/src/Core/These.js +122 -123
- package/script/src/Core/Validation.js +42 -43
- package/types/src/Composition/flip.d.ts +2 -2
- package/types/src/Composition/fn.d.ts +1 -1
- package/types/src/Composition/pipe.d.ts +1 -1
- package/types/src/Composition/tap.d.ts +1 -1
- package/types/src/Composition/uncurry.d.ts +3 -3
- package/types/src/Core/Arr.d.ts +4 -4
- package/types/src/Core/InternalTypes.d.ts +6 -0
- package/types/src/Core/InternalTypes.d.ts.map +1 -1
- package/types/src/Core/Option.d.ts +14 -23
- package/types/src/Core/Option.d.ts.map +1 -1
- package/types/src/Core/RemoteData.d.ts +9 -13
- package/types/src/Core/RemoteData.d.ts.map +1 -1
- package/types/src/Core/Result.d.ts +12 -21
- package/types/src/Core/Result.d.ts.map +1 -1
- package/types/src/Core/Task.d.ts +35 -32
- package/types/src/Core/Task.d.ts.map +1 -1
- package/types/src/Core/TaskOption.d.ts +1 -1
- package/types/src/Core/TaskOption.d.ts.map +1 -1
- package/types/src/Core/TaskResult.d.ts +1 -1
- package/types/src/Core/TaskResult.d.ts.map +1 -1
- package/types/src/Core/TaskValidation.d.ts +10 -6
- package/types/src/Core/TaskValidation.d.ts.map +1 -1
- package/types/src/Core/These.d.ts +108 -100
- package/types/src/Core/These.d.ts.map +1 -1
- package/types/src/Core/Validation.d.ts +38 -42
- package/types/src/Core/Validation.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalTypes.d.ts","sourceRoot":"","sources":["../../../src/src/Core/InternalTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"InternalTypes.d.ts","sourceRoot":"","sources":["../../../src/src/Core/InternalTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { Result } from "./Result.js";
|
|
|
7
7
|
* @example
|
|
8
8
|
* ```ts
|
|
9
9
|
* const findUser = (id: string): Option<User> =>
|
|
10
|
-
* users.has(id) ? Option.
|
|
10
|
+
* users.has(id) ? Option.some(users.get(id)!) : Option.none();
|
|
11
11
|
*
|
|
12
12
|
* pipe(
|
|
13
13
|
* findUser("123"),
|
|
@@ -20,15 +20,6 @@ export type Option<T> = Some<T> | None;
|
|
|
20
20
|
export type Some<A> = WithKind<"Some"> & WithValue<A>;
|
|
21
21
|
export type None = WithKind<"None">;
|
|
22
22
|
export declare namespace Option {
|
|
23
|
-
/**
|
|
24
|
-
* Wraps a value in a Some.
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```ts
|
|
28
|
-
* Option.of(42); // Some(42)
|
|
29
|
-
* ```
|
|
30
|
-
*/
|
|
31
|
-
const of: <A>(value: A) => Option<A>;
|
|
32
23
|
/**
|
|
33
24
|
* Creates a Some containing the given value.
|
|
34
25
|
*/
|
|
@@ -76,7 +67,7 @@ export declare namespace Option {
|
|
|
76
67
|
* @example
|
|
77
68
|
* ```ts
|
|
78
69
|
* pipe(
|
|
79
|
-
* Option.
|
|
70
|
+
* Option.some(42),
|
|
80
71
|
* Option.toResult(() => "Value was missing")
|
|
81
72
|
* ); // Ok(42)
|
|
82
73
|
*
|
|
@@ -103,7 +94,7 @@ export declare namespace Option {
|
|
|
103
94
|
*
|
|
104
95
|
* @example
|
|
105
96
|
* ```ts
|
|
106
|
-
* pipe(Option.
|
|
97
|
+
* pipe(Option.some(5), Option.map(n => n * 2)); // Some(10)
|
|
107
98
|
* pipe(Option.none(), Option.map(n => n * 2)); // None
|
|
108
99
|
* ```
|
|
109
100
|
*/
|
|
@@ -116,11 +107,11 @@ export declare namespace Option {
|
|
|
116
107
|
* ```ts
|
|
117
108
|
* const parseNumber = (s: string): Option<number> => {
|
|
118
109
|
* const n = parseInt(s, 10);
|
|
119
|
-
* return isNaN(n) ? Option.none() : Option.
|
|
110
|
+
* return isNaN(n) ? Option.none() : Option.some(n);
|
|
120
111
|
* };
|
|
121
112
|
*
|
|
122
|
-
* pipe(Option.
|
|
123
|
-
* pipe(Option.
|
|
113
|
+
* pipe(Option.some("42"), Option.chain(parseNumber)); // Some(42)
|
|
114
|
+
* pipe(Option.some("abc"), Option.chain(parseNumber)); // None
|
|
124
115
|
* ```
|
|
125
116
|
*/
|
|
126
117
|
const chain: <A, B>(f: (a: A) => Option<B>) => (data: Option<A>) => Option<B>;
|
|
@@ -130,7 +121,7 @@ export declare namespace Option {
|
|
|
130
121
|
* @example
|
|
131
122
|
* ```ts
|
|
132
123
|
* pipe(
|
|
133
|
-
* Option.
|
|
124
|
+
* Option.some(5),
|
|
134
125
|
* Option.fold(
|
|
135
126
|
* () => "No value",
|
|
136
127
|
* n => `Value: ${n}`
|
|
@@ -162,7 +153,7 @@ export declare namespace Option {
|
|
|
162
153
|
*
|
|
163
154
|
* @example
|
|
164
155
|
* ```ts
|
|
165
|
-
* pipe(Option.
|
|
156
|
+
* pipe(Option.some(5), Option.getOrElse(0)); // 5
|
|
166
157
|
* pipe(Option.none(), Option.getOrElse(0)); // 0
|
|
167
158
|
* ```
|
|
168
159
|
*/
|
|
@@ -174,7 +165,7 @@ export declare namespace Option {
|
|
|
174
165
|
* @example
|
|
175
166
|
* ```ts
|
|
176
167
|
* pipe(
|
|
177
|
-
* Option.
|
|
168
|
+
* Option.some(5),
|
|
178
169
|
* Option.tap(n => console.log("Value:", n)),
|
|
179
170
|
* Option.map(n => n * 2)
|
|
180
171
|
* );
|
|
@@ -187,8 +178,8 @@ export declare namespace Option {
|
|
|
187
178
|
*
|
|
188
179
|
* @example
|
|
189
180
|
* ```ts
|
|
190
|
-
* pipe(Option.
|
|
191
|
-
* pipe(Option.
|
|
181
|
+
* pipe(Option.some(5), Option.filter(n => n > 3)); // Some(5)
|
|
182
|
+
* pipe(Option.some(2), Option.filter(n => n > 3)); // None
|
|
192
183
|
* ```
|
|
193
184
|
*/
|
|
194
185
|
const filter: <A>(predicate: (a: A) => boolean) => (data: Option<A>) => Option<A>;
|
|
@@ -203,9 +194,9 @@ export declare namespace Option {
|
|
|
203
194
|
* ```ts
|
|
204
195
|
* const add = (a: number) => (b: number) => a + b;
|
|
205
196
|
* pipe(
|
|
206
|
-
* Option.
|
|
207
|
-
* Option.ap(Option.
|
|
208
|
-
* Option.ap(Option.
|
|
197
|
+
* Option.some(add),
|
|
198
|
+
* Option.ap(Option.some(5)),
|
|
199
|
+
* Option.ap(Option.some(3))
|
|
209
200
|
* ); // Some(8)
|
|
210
201
|
* ```
|
|
211
202
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAEvC,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEpC,yBAAiB,MAAM,CAAC;IACtB
|
|
1
|
+
{"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Option.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,10 +41,6 @@ export declare namespace RemoteData {
|
|
|
41
41
|
* Creates a Success RemoteData with the given value.
|
|
42
42
|
*/
|
|
43
43
|
const success: <E, A>(value: A) => RemoteData<E, A>;
|
|
44
|
-
/**
|
|
45
|
-
* Wraps a value in a Success RemoteData. Alias for `success`.
|
|
46
|
-
*/
|
|
47
|
-
const of: <E, A>(value: A) => RemoteData<E, A>;
|
|
48
44
|
/**
|
|
49
45
|
* Type guard that checks if a RemoteData is NotAsked.
|
|
50
46
|
*/
|
|
@@ -66,7 +62,7 @@ export declare namespace RemoteData {
|
|
|
66
62
|
*
|
|
67
63
|
* @example
|
|
68
64
|
* ```ts
|
|
69
|
-
* pipe(RemoteData.
|
|
65
|
+
* pipe(RemoteData.success(5), RemoteData.map(n => n * 2)); // Success(10)
|
|
70
66
|
* pipe(RemoteData.loading(), RemoteData.map(n => n * 2)); // Loading
|
|
71
67
|
* ```
|
|
72
68
|
*/
|
|
@@ -87,8 +83,8 @@ export declare namespace RemoteData {
|
|
|
87
83
|
* @example
|
|
88
84
|
* ```ts
|
|
89
85
|
* pipe(
|
|
90
|
-
* RemoteData.
|
|
91
|
-
* RemoteData.chain(n => n > 0 ? RemoteData.
|
|
86
|
+
* RemoteData.success(5),
|
|
87
|
+
* RemoteData.chain(n => n > 0 ? RemoteData.success(n) : RemoteData.failure("negative"))
|
|
92
88
|
* );
|
|
93
89
|
* ```
|
|
94
90
|
*/
|
|
@@ -100,9 +96,9 @@ export declare namespace RemoteData {
|
|
|
100
96
|
* ```ts
|
|
101
97
|
* const add = (a: number) => (b: number) => a + b;
|
|
102
98
|
* pipe(
|
|
103
|
-
* RemoteData.
|
|
104
|
-
* RemoteData.ap(RemoteData.
|
|
105
|
-
* RemoteData.ap(RemoteData.
|
|
99
|
+
* RemoteData.success(add),
|
|
100
|
+
* RemoteData.ap(RemoteData.success(5)),
|
|
101
|
+
* RemoteData.ap(RemoteData.success(3))
|
|
106
102
|
* ); // Success(8)
|
|
107
103
|
* ```
|
|
108
104
|
*/
|
|
@@ -151,7 +147,7 @@ export declare namespace RemoteData {
|
|
|
151
147
|
*
|
|
152
148
|
* @example
|
|
153
149
|
* ```ts
|
|
154
|
-
* pipe(RemoteData.
|
|
150
|
+
* pipe(RemoteData.success(5), RemoteData.getOrElse(0)); // 5
|
|
155
151
|
* pipe(RemoteData.loading(), RemoteData.getOrElse(0)); // 0
|
|
156
152
|
* ```
|
|
157
153
|
*/
|
|
@@ -162,7 +158,7 @@ export declare namespace RemoteData {
|
|
|
162
158
|
* @example
|
|
163
159
|
* ```ts
|
|
164
160
|
* pipe(
|
|
165
|
-
* RemoteData.
|
|
161
|
+
* RemoteData.success(5),
|
|
166
162
|
* RemoteData.tap(n => console.log("Value:", n)),
|
|
167
163
|
* RemoteData.map(n => n * 2)
|
|
168
164
|
* );
|
|
@@ -186,7 +182,7 @@ export declare namespace RemoteData {
|
|
|
186
182
|
* @example
|
|
187
183
|
* ```ts
|
|
188
184
|
* pipe(
|
|
189
|
-
* RemoteData.
|
|
185
|
+
* RemoteData.success(42),
|
|
190
186
|
* RemoteData.toResult(() => "not loaded")
|
|
191
187
|
* ); // Ok(42)
|
|
192
188
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteData.d.ts","sourceRoot":"","sources":["../../../src/src/Core/RemoteData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE5E,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC5C,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC1C,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC5D,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAE5D,yBAAiB,UAAU,CAAC;IAC1B;;OAEG;IACI,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,OAAK,UAAU,CAAC,CAAC,EAAE,CAAC,CAA2B,CAAC;IAE7E;;OAEG;IACI,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,OAAK,UAAU,CAAC,CAAC,EAAE,CAAC,CAA0B,CAAC;IAE3E;;OAEG;IACI,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAGtD,CAAC;IAEH;;OAEG;IACI,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAGtD,CAAC;IAEH;;OAEG;IACI,MAAM,
|
|
1
|
+
{"version":3,"file":"RemoteData.d.ts","sourceRoot":"","sources":["../../../src/src/Core/RemoteData.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,22 +20,13 @@ export type Ok<A> = WithKind<"Ok"> & WithValue<A>;
|
|
|
20
20
|
export type Err<E> = WithKind<"Error"> & WithError<E>;
|
|
21
21
|
export declare namespace Result {
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```ts
|
|
27
|
-
* Result.of(42); // Ok(42)
|
|
28
|
-
* ```
|
|
23
|
+
* Creates a successful Result with the given value.
|
|
29
24
|
*/
|
|
30
|
-
const
|
|
25
|
+
const ok: <A>(value: A) => Ok<A>;
|
|
31
26
|
/**
|
|
32
27
|
* Creates a failed Result with the given error.
|
|
33
28
|
*/
|
|
34
29
|
const err: <E>(error: E) => Err<E>;
|
|
35
|
-
/**
|
|
36
|
-
* Creates a successful Result with the given value.
|
|
37
|
-
*/
|
|
38
|
-
const ok: <A>(value: A) => Ok<A>;
|
|
39
30
|
/**
|
|
40
31
|
* Type guard that checks if an Result is Ok.
|
|
41
32
|
*/
|
|
@@ -63,7 +54,7 @@ export declare namespace Result {
|
|
|
63
54
|
*
|
|
64
55
|
* @example
|
|
65
56
|
* ```ts
|
|
66
|
-
* pipe(Result.
|
|
57
|
+
* pipe(Result.ok(5), Result.map(n => n * 2)); // Ok(10)
|
|
67
58
|
* pipe(Result.err("error"), Result.map(n => n * 2)); // Err("error")
|
|
68
59
|
* ```
|
|
69
60
|
*/
|
|
@@ -84,10 +75,10 @@ export declare namespace Result {
|
|
|
84
75
|
* @example
|
|
85
76
|
* ```ts
|
|
86
77
|
* const validatePositive = (n: number): Result<string, number> =>
|
|
87
|
-
* n > 0 ? Result.
|
|
78
|
+
* n > 0 ? Result.ok(n) : Result.err("Must be positive");
|
|
88
79
|
*
|
|
89
|
-
* pipe(Result.
|
|
90
|
-
* pipe(Result.
|
|
80
|
+
* pipe(Result.ok(5), Result.chain(validatePositive)); // Ok(5)
|
|
81
|
+
* pipe(Result.ok(-1), Result.chain(validatePositive)); // Err("Must be positive")
|
|
91
82
|
* ```
|
|
92
83
|
*/
|
|
93
84
|
const chain: <E, A, B>(f: (a: A) => Result<E, B>) => (data: Result<E, A>) => Result<E, B>;
|
|
@@ -97,7 +88,7 @@ export declare namespace Result {
|
|
|
97
88
|
* @example
|
|
98
89
|
* ```ts
|
|
99
90
|
* pipe(
|
|
100
|
-
* Result.
|
|
91
|
+
* Result.ok(5),
|
|
101
92
|
* Result.fold(
|
|
102
93
|
* e => `Error: ${e}`,
|
|
103
94
|
* n => `Value: ${n}`
|
|
@@ -129,7 +120,7 @@ export declare namespace Result {
|
|
|
129
120
|
*
|
|
130
121
|
* @example
|
|
131
122
|
* ```ts
|
|
132
|
-
* pipe(Result.
|
|
123
|
+
* pipe(Result.ok(5), Result.getOrElse(0)); // 5
|
|
133
124
|
* pipe(Result.err("error"), Result.getOrElse(0)); // 0
|
|
134
125
|
* ```
|
|
135
126
|
*/
|
|
@@ -141,7 +132,7 @@ export declare namespace Result {
|
|
|
141
132
|
* @example
|
|
142
133
|
* ```ts
|
|
143
134
|
* pipe(
|
|
144
|
-
* Result.
|
|
135
|
+
* Result.ok(5),
|
|
145
136
|
* Result.tap(n => console.log("Value:", n)),
|
|
146
137
|
* Result.map(n => n * 2)
|
|
147
138
|
* );
|
|
@@ -174,9 +165,9 @@ export declare namespace Result {
|
|
|
174
165
|
* ```ts
|
|
175
166
|
* const add = (a: number) => (b: number) => a + b;
|
|
176
167
|
* pipe(
|
|
177
|
-
* Result.
|
|
178
|
-
* Result.ap(Result.
|
|
179
|
-
* Result.ap(Result.
|
|
168
|
+
* Result.ok(add),
|
|
169
|
+
* Result.ap(Result.ok(5)),
|
|
170
|
+
* Result.ap(Result.ok(3))
|
|
180
171
|
* ); // Ok(8)
|
|
181
172
|
* ```
|
|
182
173
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAE1C,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAClD,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAEtD,yBAAiB,MAAM,CAAC;IACtB
|
|
1
|
+
{"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Result.ts"],"names":[],"mappings":"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"}
|
package/types/src/Core/Task.d.ts
CHANGED
|
@@ -1,42 +1,45 @@
|
|
|
1
1
|
import { Result } from "./Result.js";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* A lazy async computation that always resolves.
|
|
4
|
+
*
|
|
5
|
+
* Two guarantees:
|
|
6
|
+
* - **Lazy** — nothing starts until you call it.
|
|
7
|
+
* - **Infallible** — it never rejects. If failure is possible, encode it in the
|
|
8
|
+
* return type using `TaskResult<E, A>` instead.
|
|
6
9
|
*
|
|
7
10
|
* @example
|
|
8
11
|
* ```ts
|
|
9
|
-
* const
|
|
12
|
+
* const getTimestamp: Task<number> = () => Promise.resolve(Date.now());
|
|
10
13
|
*
|
|
11
|
-
* // Nothing
|
|
12
|
-
* const
|
|
13
|
-
*
|
|
14
|
-
* Task.map(
|
|
14
|
+
* // Nothing runs yet — getTimestamp is just a description
|
|
15
|
+
* const formatted = pipe(
|
|
16
|
+
* getTimestamp,
|
|
17
|
+
* Task.map(ts => new Date(ts).toISOString())
|
|
15
18
|
* );
|
|
16
19
|
*
|
|
17
|
-
* //
|
|
18
|
-
*
|
|
20
|
+
* // Execute when ready
|
|
21
|
+
* const result = await formatted();
|
|
19
22
|
* ```
|
|
20
23
|
*/
|
|
21
24
|
export type Task<A> = () => Promise<A>;
|
|
22
25
|
export declare namespace Task {
|
|
23
26
|
/**
|
|
24
|
-
*
|
|
27
|
+
* Creates a Task that immediately resolves to the given value.
|
|
25
28
|
*
|
|
26
29
|
* @example
|
|
27
30
|
* ```ts
|
|
28
|
-
* const task = Task.
|
|
31
|
+
* const task = Task.resolve(42);
|
|
29
32
|
* task().then(console.log); // 42
|
|
30
33
|
* ```
|
|
31
34
|
*/
|
|
32
|
-
const
|
|
35
|
+
const resolve: <A>(value: A) => Task<A>;
|
|
33
36
|
/**
|
|
34
37
|
* Creates a Task from a function that returns a Promise.
|
|
35
38
|
* Alias for directly creating a Task.
|
|
36
39
|
*
|
|
37
40
|
* @example
|
|
38
41
|
* ```ts
|
|
39
|
-
* const
|
|
42
|
+
* const getTimestamp = Task.from(() => Promise.resolve(Date.now()));
|
|
40
43
|
* ```
|
|
41
44
|
*/
|
|
42
45
|
const from: <A>(f: () => Promise<A>) => Task<A>;
|
|
@@ -46,7 +49,7 @@ export declare namespace Task {
|
|
|
46
49
|
* @example
|
|
47
50
|
* ```ts
|
|
48
51
|
* pipe(
|
|
49
|
-
* Task.
|
|
52
|
+
* Task.resolve(5),
|
|
50
53
|
* Task.map(n => n * 2)
|
|
51
54
|
* )(); // Promise<10>
|
|
52
55
|
* ```
|
|
@@ -57,13 +60,13 @@ export declare namespace Task {
|
|
|
57
60
|
*
|
|
58
61
|
* @example
|
|
59
62
|
* ```ts
|
|
60
|
-
* const
|
|
61
|
-
* const
|
|
63
|
+
* const readUserId: Task<string> = () => Promise.resolve(session.userId);
|
|
64
|
+
* const loadPrefs = (id: string): Task<Preferences> => () => Promise.resolve(prefsCache.get(id));
|
|
62
65
|
*
|
|
63
66
|
* pipe(
|
|
64
|
-
*
|
|
65
|
-
* Task.chain(
|
|
66
|
-
* )(); // Promise<
|
|
67
|
+
* readUserId,
|
|
68
|
+
* Task.chain(loadPrefs)
|
|
69
|
+
* )(); // Promise<Preferences>
|
|
67
70
|
* ```
|
|
68
71
|
*/
|
|
69
72
|
const chain: <A, B>(f: (a: A) => Task<B>) => (data: Task<A>) => Task<B>;
|
|
@@ -75,9 +78,9 @@ export declare namespace Task {
|
|
|
75
78
|
* ```ts
|
|
76
79
|
* const add = (a: number) => (b: number) => a + b;
|
|
77
80
|
* pipe(
|
|
78
|
-
* Task.
|
|
79
|
-
* Task.ap(Task.
|
|
80
|
-
* Task.ap(Task.
|
|
81
|
+
* Task.resolve(add),
|
|
82
|
+
* Task.ap(Task.resolve(5)),
|
|
83
|
+
* Task.ap(Task.resolve(3))
|
|
81
84
|
* )(); // Promise<8>
|
|
82
85
|
* ```
|
|
83
86
|
*/
|
|
@@ -89,9 +92,9 @@ export declare namespace Task {
|
|
|
89
92
|
* @example
|
|
90
93
|
* ```ts
|
|
91
94
|
* pipe(
|
|
92
|
-
*
|
|
93
|
-
* Task.tap(
|
|
94
|
-
* Task.map(
|
|
95
|
+
* loadConfig,
|
|
96
|
+
* Task.tap(cfg => console.log("Config:", cfg)),
|
|
97
|
+
* Task.map(buildReport)
|
|
95
98
|
* );
|
|
96
99
|
* ```
|
|
97
100
|
*/
|
|
@@ -101,8 +104,8 @@ export declare namespace Task {
|
|
|
101
104
|
*
|
|
102
105
|
* @example
|
|
103
106
|
* ```ts
|
|
104
|
-
* Task.all([
|
|
105
|
-
* // Promise<[
|
|
107
|
+
* Task.all([loadConfig, detectLocale, loadTheme])();
|
|
108
|
+
* // Promise<[Config, string, Theme]>
|
|
106
109
|
* ```
|
|
107
110
|
*/
|
|
108
111
|
const all: <T extends readonly Task<unknown>[]>(tasks: T) => Task<{ [K in keyof T]: T[K] extends Task<infer A> ? A : never; }>;
|
|
@@ -113,7 +116,7 @@ export declare namespace Task {
|
|
|
113
116
|
* @example
|
|
114
117
|
* ```ts
|
|
115
118
|
* pipe(
|
|
116
|
-
* Task.
|
|
119
|
+
* Task.resolve(42),
|
|
117
120
|
* Task.delay(1000)
|
|
118
121
|
* )(); // Resolves after 1 second
|
|
119
122
|
* ```
|
|
@@ -158,9 +161,9 @@ export declare namespace Task {
|
|
|
158
161
|
* @example
|
|
159
162
|
* ```ts
|
|
160
163
|
* pipe(
|
|
161
|
-
*
|
|
162
|
-
* Task.timeout(5000, () =>
|
|
163
|
-
* TaskResult.chain(
|
|
164
|
+
* heavyComputation,
|
|
165
|
+
* Task.timeout(5000, () => "timed out"),
|
|
166
|
+
* TaskResult.chain(processResult)
|
|
164
167
|
* );
|
|
165
168
|
* ```
|
|
166
169
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC
|
|
1
|
+
{"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../src/src/Core/Task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;AAEvC,yBAAiB,IAAI,CAAC;IACpB;;;;;;;;OAQG;IACI,MAAM,OAAO,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,IAAI,CAAC,CAAC,CAAiC,CAAC;IAE9E;;;;;;;;OAQG;IACI,MAAM,IAAI,GAAI,CAAC,EAAE,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,CAAC,CAAM,CAAC;IAE3D;;;;;;;;;;OAUG;IACI,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,MAAM,IAAI,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,CAAC,CAAyB,CAAC;IAE9F;;;;;;;;;;;;;OAaG;IACI,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,MAAM,IAAI,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,CAAC,CAChD,CAAC;IAE7B;;;;;;;;;;;;;OAaG;IACI,MAAM,EAAE,GAAI,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAG,IAAI,CAAC,CAAC,CACtB,CAAC;IAEtD;;;;;;;;;;;;OAYG;IACI,MAAM,GAAG,GAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,MAAM,MAAM,IAAI,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,CAAC,CAIhE,CAAC;IAEL;;;;;;;;OAQG;IACI,MAAM,GAAG,GAAI,CAAC,SAAS,SAAS,IAAI,CAAC,OAAO,CAAC,EAAE,EACpD,OAAO,CAAC,KACP,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAE,CAM/D,CAAC;IAEJ;;;;;;;;;;;OAWG;IACI,MAAM,KAAK,GAAI,IAAI,MAAM,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,CAAC,CACuB,CAAC;IAEvF;;;;;;;;;;;OAWG;IACI,MAAM,MAAM,GAChB,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,CAAC,EAAE,CAa3E,CAAC;IAEJ;;;;;;;;;;;OAWG;IACI,MAAM,WAAW,GACrB,CAAC,EAAE,SAAS;QAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,MAAM,MAAM,IAAI,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,CAAC,CAUnF,CAAC;IAEJ;;;;;;;;;;;;OAYG;IACI,MAAM,OAAO,GACjB,CAAC,EAAE,IAAI,MAAM,EAAE,WAAW,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAW3E,CAAC;CACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskOption.d.ts","sourceRoot":"","sources":["../../../src/src/Core/TaskOption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5C,yBAAiB,UAAU,CAAC;IAC1B;;OAEG;IACI,MAAM,
|
|
1
|
+
{"version":3,"file":"TaskOption.d.ts","sourceRoot":"","sources":["../../../src/src/Core/TaskOption.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export declare namespace TaskResult {
|
|
|
18
18
|
/**
|
|
19
19
|
* Wraps a value in a successful TaskResult.
|
|
20
20
|
*/
|
|
21
|
-
const
|
|
21
|
+
const ok: <E, A>(value: A) => TaskResult<E, A>;
|
|
22
22
|
/**
|
|
23
23
|
* Creates a failed TaskResult with the given error.
|
|
24
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskResult.d.ts","sourceRoot":"","sources":["../../../src/src/Core/TaskResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAElD,yBAAiB,UAAU,CAAC;IAC1B;;OAEG;IACI,MAAM,EAAE,GAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAG,UAAU,CAAC,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"TaskResult.d.ts","sourceRoot":"","sources":["../../../src/src/Core/TaskResult.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,12 +10,12 @@ import { Validation } from "./Validation.js";
|
|
|
10
10
|
* ```ts
|
|
11
11
|
* const validateName = (name: string): TaskValidation<string, string> =>
|
|
12
12
|
* name.length > 0
|
|
13
|
-
* ? TaskValidation.
|
|
14
|
-
* : TaskValidation.
|
|
13
|
+
* ? TaskValidation.valid(name)
|
|
14
|
+
* : TaskValidation.invalid("Name is required");
|
|
15
15
|
*
|
|
16
16
|
* // Accumulate errors from multiple async validations using ap
|
|
17
17
|
* pipe(
|
|
18
|
-
* TaskValidation.
|
|
18
|
+
* TaskValidation.valid((name: string) => (age: number) => ({ name, age })),
|
|
19
19
|
* TaskValidation.ap(validateName("")),
|
|
20
20
|
* TaskValidation.ap(validateAge(-1))
|
|
21
21
|
* )();
|
|
@@ -27,11 +27,15 @@ export declare namespace TaskValidation {
|
|
|
27
27
|
/**
|
|
28
28
|
* Wraps a value in a valid TaskValidation.
|
|
29
29
|
*/
|
|
30
|
-
const
|
|
30
|
+
const valid: <E, A>(value: A) => TaskValidation<E, A>;
|
|
31
31
|
/**
|
|
32
32
|
* Creates a failed TaskValidation with a single error.
|
|
33
33
|
*/
|
|
34
|
-
const
|
|
34
|
+
const invalid: <E, A>(error: E) => TaskValidation<E, A>;
|
|
35
|
+
/**
|
|
36
|
+
* Creates an invalid TaskValidation from multiple errors.
|
|
37
|
+
*/
|
|
38
|
+
const invalidAll: <E, A>(errors: NonEmptyList<E>) => TaskValidation<E, A>;
|
|
35
39
|
/**
|
|
36
40
|
* Lifts a Validation into a TaskValidation.
|
|
37
41
|
*/
|
|
@@ -69,7 +73,7 @@ export declare namespace TaskValidation {
|
|
|
69
73
|
* @example
|
|
70
74
|
* ```ts
|
|
71
75
|
* pipe(
|
|
72
|
-
* TaskValidation.
|
|
76
|
+
* TaskValidation.valid((name: string) => (age: number) => ({ name, age })),
|
|
73
77
|
* TaskValidation.ap(validateName(name)),
|
|
74
78
|
* TaskValidation.ap(validateAge(age))
|
|
75
79
|
* )();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskValidation.d.ts","sourceRoot":"","sources":["../../../src/src/Core/TaskValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1D,yBAAiB,cAAc,CAAC;IAC9B;;OAEG;IACI,MAAM,
|
|
1
|
+
{"version":3,"file":"TaskValidation.d.ts","sourceRoot":"","sources":["../../../src/src/Core/TaskValidation.ts"],"names":[],"mappings":"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"}
|