@lsby/ts-fp-data 0.1.0 → 0.1.4
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/dist/cjs/data/lazy.cjs +63 -0
- package/dist/cjs/data/lazy.d.cts +19 -0
- package/dist/cjs/func/seq.cjs +84 -2
- package/dist/cjs/func/seq.d.cts +4 -1
- package/dist/cjs/index.cjs +122 -68
- package/dist/cjs/index.d.cts +4 -3
- package/dist/esm/chunk-NEBLA4MD.js +37 -0
- package/dist/esm/{chunk-IHXXIFRN.js → chunk-UQKW2A3C.js} +19 -1
- package/dist/esm/data/lazy.d.ts +19 -0
- package/dist/esm/data/lazy.js +10 -0
- package/dist/esm/func/seq.d.ts +4 -1
- package/dist/esm/func/seq.js +8 -3
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.js +19 -7
- package/package.json +1 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/data/lazy.ts
|
|
21
|
+
var lazy_exports = {};
|
|
22
|
+
__export(lazy_exports, {
|
|
23
|
+
Lazy: () => Lazy,
|
|
24
|
+
LazyDeferValue: () => LazyDeferValue,
|
|
25
|
+
LazyForceValue: () => LazyForceValue
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(lazy_exports);
|
|
28
|
+
var Lazy = class {
|
|
29
|
+
};
|
|
30
|
+
var LazyDeferValue = class _LazyDeferValue extends Lazy {
|
|
31
|
+
constructor(value) {
|
|
32
|
+
super();
|
|
33
|
+
this.value = value;
|
|
34
|
+
}
|
|
35
|
+
cache = null;
|
|
36
|
+
run() {
|
|
37
|
+
if (this.cache)
|
|
38
|
+
return this.cache;
|
|
39
|
+
this.cache = this.value();
|
|
40
|
+
return this.cache;
|
|
41
|
+
}
|
|
42
|
+
map(f) {
|
|
43
|
+
return new _LazyDeferValue(() => f(this.run()));
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
var LazyForceValue = class _LazyForceValue extends Lazy {
|
|
47
|
+
constructor(value) {
|
|
48
|
+
super();
|
|
49
|
+
this.value = value;
|
|
50
|
+
}
|
|
51
|
+
run() {
|
|
52
|
+
return this.value;
|
|
53
|
+
}
|
|
54
|
+
map(f) {
|
|
55
|
+
return new _LazyForceValue(f(this.run()));
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
59
|
+
0 && (module.exports = {
|
|
60
|
+
Lazy,
|
|
61
|
+
LazyDeferValue,
|
|
62
|
+
LazyForceValue
|
|
63
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare abstract class Lazy<A> {
|
|
2
|
+
abstract run(): A;
|
|
3
|
+
abstract map<B>(f: (a: A) => B): Lazy<B>;
|
|
4
|
+
}
|
|
5
|
+
declare class LazyDeferValue<A> extends Lazy<A> {
|
|
6
|
+
private value;
|
|
7
|
+
private cache;
|
|
8
|
+
constructor(value: () => A);
|
|
9
|
+
run(): A;
|
|
10
|
+
map<B>(f: (a: A) => B): Lazy<B>;
|
|
11
|
+
}
|
|
12
|
+
declare class LazyForceValue<A> extends Lazy<A> {
|
|
13
|
+
private value;
|
|
14
|
+
constructor(value: A);
|
|
15
|
+
run(): A;
|
|
16
|
+
map<B>(f: (a: A) => B): Lazy<B>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { Lazy, LazyDeferValue, LazyForceValue };
|
package/dist/cjs/func/seq.cjs
CHANGED
|
@@ -23,7 +23,9 @@ __export(seq_exports, {
|
|
|
23
23
|
seqArrayEither: () => seqArrayEither,
|
|
24
24
|
seqArrayTask: () => seqArrayTask,
|
|
25
25
|
seqEitherArray: () => seqEitherArray,
|
|
26
|
-
|
|
26
|
+
seqEitherPromise: () => seqEitherPromise,
|
|
27
|
+
seqEitherTask: () => seqEitherTask,
|
|
28
|
+
seqMaybePromise: () => seqMaybePromise
|
|
27
29
|
});
|
|
28
30
|
module.exports = __toCommonJS(seq_exports);
|
|
29
31
|
|
|
@@ -106,6 +108,72 @@ var Right = class _Right extends Either {
|
|
|
106
108
|
}
|
|
107
109
|
};
|
|
108
110
|
|
|
111
|
+
// src/data/maybe.ts
|
|
112
|
+
var Maybe = class {
|
|
113
|
+
static pure(a) {
|
|
114
|
+
return new Just(a);
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
var Just = class _Just extends Maybe {
|
|
118
|
+
constructor(\u503C) {
|
|
119
|
+
super();
|
|
120
|
+
this.\u503C = \u503C;
|
|
121
|
+
}
|
|
122
|
+
map(f) {
|
|
123
|
+
return new _Just(f(this.\u503C));
|
|
124
|
+
}
|
|
125
|
+
bind(f) {
|
|
126
|
+
return f(this.\u503C);
|
|
127
|
+
}
|
|
128
|
+
isJust() {
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
isNothing() {
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
assertJust() {
|
|
135
|
+
return this;
|
|
136
|
+
}
|
|
137
|
+
assertNothing() {
|
|
138
|
+
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
139
|
+
}
|
|
140
|
+
getJust() {
|
|
141
|
+
return this.\u503C;
|
|
142
|
+
}
|
|
143
|
+
getJustOrNull() {
|
|
144
|
+
return this.\u503C;
|
|
145
|
+
}
|
|
146
|
+
match(onJust, _onNothing) {
|
|
147
|
+
return onJust(this.\u503C);
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
var Nothing = class _Nothing extends Maybe {
|
|
151
|
+
map(_f) {
|
|
152
|
+
return new _Nothing();
|
|
153
|
+
}
|
|
154
|
+
bind(_f) {
|
|
155
|
+
return new _Nothing();
|
|
156
|
+
}
|
|
157
|
+
isJust() {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
isNothing() {
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
assertJust() {
|
|
164
|
+
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
165
|
+
}
|
|
166
|
+
assertNothing() {
|
|
167
|
+
return this;
|
|
168
|
+
}
|
|
169
|
+
getJustOrNull() {
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
match(_onJust, onNothing) {
|
|
173
|
+
return onNothing();
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
|
|
109
177
|
// src/data/task.ts
|
|
110
178
|
var TaskDo = class _TaskDo {
|
|
111
179
|
constructor(accTask) {
|
|
@@ -225,10 +293,24 @@ function seqArrayEither(value) {
|
|
|
225
293
|
const data = value.map((a) => a.assertRight().getRight());
|
|
226
294
|
return new Right(data);
|
|
227
295
|
}
|
|
296
|
+
function seqMaybePromise(a) {
|
|
297
|
+
return a.match(
|
|
298
|
+
async (a2) => new Just(await a2),
|
|
299
|
+
async () => new Nothing()
|
|
300
|
+
);
|
|
301
|
+
}
|
|
302
|
+
function seqEitherPromise(a) {
|
|
303
|
+
return a.match(
|
|
304
|
+
async (a2) => new Left(a2),
|
|
305
|
+
async (a2) => new Right(await a2)
|
|
306
|
+
);
|
|
307
|
+
}
|
|
228
308
|
// Annotate the CommonJS export names for ESM import in node:
|
|
229
309
|
0 && (module.exports = {
|
|
230
310
|
seqArrayEither,
|
|
231
311
|
seqArrayTask,
|
|
232
312
|
seqEitherArray,
|
|
233
|
-
|
|
313
|
+
seqEitherPromise,
|
|
314
|
+
seqEitherTask,
|
|
315
|
+
seqMaybePromise
|
|
234
316
|
});
|
package/dist/cjs/func/seq.d.cts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Either } from '../data/either.cjs';
|
|
2
|
+
import { Maybe } from '../data/maybe.cjs';
|
|
2
3
|
import { Task } from '../data/task.cjs';
|
|
3
4
|
|
|
4
5
|
declare function seqArrayTask<A>(a: Array<Task<A>>): Task<Array<A>>;
|
|
5
6
|
declare function seqEitherTask<L, R>(value: Either<L, Task<R>>): Task<Either<L, R>>;
|
|
6
7
|
declare function seqEitherArray<A, B>(value: Either<A, Array<B>>): Array<Either<A, B>>;
|
|
7
8
|
declare function seqArrayEither<A, B>(value: Array<Either<A, B>>): Either<A, Array<B>>;
|
|
9
|
+
declare function seqMaybePromise<A>(a: Maybe<Promise<A>>): Promise<Maybe<A>>;
|
|
10
|
+
declare function seqEitherPromise<L, R>(a: Either<L, Promise<R>>): Promise<Either<L, R>>;
|
|
8
11
|
|
|
9
|
-
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherTask };
|
|
12
|
+
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherPromise, seqEitherTask, seqMaybePromise };
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -22,6 +22,9 @@ var src_exports = {};
|
|
|
22
22
|
__export(src_exports, {
|
|
23
23
|
Either: () => Either,
|
|
24
24
|
Just: () => Just,
|
|
25
|
+
Lazy: () => Lazy,
|
|
26
|
+
LazyDeferValue: () => LazyDeferValue,
|
|
27
|
+
LazyForceValue: () => LazyForceValue,
|
|
25
28
|
Left: () => Left,
|
|
26
29
|
Maybe: () => Maybe,
|
|
27
30
|
Nothing: () => Nothing,
|
|
@@ -31,7 +34,9 @@ __export(src_exports, {
|
|
|
31
34
|
seqArrayEither: () => seqArrayEither,
|
|
32
35
|
seqArrayTask: () => seqArrayTask,
|
|
33
36
|
seqEitherArray: () => seqEitherArray,
|
|
34
|
-
|
|
37
|
+
seqEitherPromise: () => seqEitherPromise,
|
|
38
|
+
seqEitherTask: () => seqEitherTask,
|
|
39
|
+
seqMaybePromise: () => seqMaybePromise
|
|
35
40
|
});
|
|
36
41
|
module.exports = __toCommonJS(src_exports);
|
|
37
42
|
|
|
@@ -114,6 +119,104 @@ var Right = class _Right extends Either {
|
|
|
114
119
|
}
|
|
115
120
|
};
|
|
116
121
|
|
|
122
|
+
// src/data/lazy.ts
|
|
123
|
+
var Lazy = class {
|
|
124
|
+
};
|
|
125
|
+
var LazyDeferValue = class _LazyDeferValue extends Lazy {
|
|
126
|
+
constructor(value) {
|
|
127
|
+
super();
|
|
128
|
+
this.value = value;
|
|
129
|
+
}
|
|
130
|
+
cache = null;
|
|
131
|
+
run() {
|
|
132
|
+
if (this.cache)
|
|
133
|
+
return this.cache;
|
|
134
|
+
this.cache = this.value();
|
|
135
|
+
return this.cache;
|
|
136
|
+
}
|
|
137
|
+
map(f) {
|
|
138
|
+
return new _LazyDeferValue(() => f(this.run()));
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
var LazyForceValue = class _LazyForceValue extends Lazy {
|
|
142
|
+
constructor(value) {
|
|
143
|
+
super();
|
|
144
|
+
this.value = value;
|
|
145
|
+
}
|
|
146
|
+
run() {
|
|
147
|
+
return this.value;
|
|
148
|
+
}
|
|
149
|
+
map(f) {
|
|
150
|
+
return new _LazyForceValue(f(this.run()));
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
// src/data/maybe.ts
|
|
155
|
+
var Maybe = class {
|
|
156
|
+
static pure(a) {
|
|
157
|
+
return new Just(a);
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
var Just = class _Just extends Maybe {
|
|
161
|
+
constructor(\u503C) {
|
|
162
|
+
super();
|
|
163
|
+
this.\u503C = \u503C;
|
|
164
|
+
}
|
|
165
|
+
map(f) {
|
|
166
|
+
return new _Just(f(this.\u503C));
|
|
167
|
+
}
|
|
168
|
+
bind(f) {
|
|
169
|
+
return f(this.\u503C);
|
|
170
|
+
}
|
|
171
|
+
isJust() {
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
isNothing() {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
assertJust() {
|
|
178
|
+
return this;
|
|
179
|
+
}
|
|
180
|
+
assertNothing() {
|
|
181
|
+
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
182
|
+
}
|
|
183
|
+
getJust() {
|
|
184
|
+
return this.\u503C;
|
|
185
|
+
}
|
|
186
|
+
getJustOrNull() {
|
|
187
|
+
return this.\u503C;
|
|
188
|
+
}
|
|
189
|
+
match(onJust, _onNothing) {
|
|
190
|
+
return onJust(this.\u503C);
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
var Nothing = class _Nothing extends Maybe {
|
|
194
|
+
map(_f) {
|
|
195
|
+
return new _Nothing();
|
|
196
|
+
}
|
|
197
|
+
bind(_f) {
|
|
198
|
+
return new _Nothing();
|
|
199
|
+
}
|
|
200
|
+
isJust() {
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
isNothing() {
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
assertJust() {
|
|
207
|
+
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
208
|
+
}
|
|
209
|
+
assertNothing() {
|
|
210
|
+
return this;
|
|
211
|
+
}
|
|
212
|
+
getJustOrNull() {
|
|
213
|
+
return null;
|
|
214
|
+
}
|
|
215
|
+
match(_onJust, onNothing) {
|
|
216
|
+
return onNothing();
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
|
|
117
220
|
// src/data/task.ts
|
|
118
221
|
var TaskDo = class _TaskDo {
|
|
119
222
|
constructor(accTask) {
|
|
@@ -208,72 +311,6 @@ var Task = class _Task {
|
|
|
208
311
|
}
|
|
209
312
|
};
|
|
210
313
|
|
|
211
|
-
// src/data/maybe.ts
|
|
212
|
-
var Maybe = class {
|
|
213
|
-
static pure(a) {
|
|
214
|
-
return new Just(a);
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
var Just = class _Just extends Maybe {
|
|
218
|
-
constructor(\u503C) {
|
|
219
|
-
super();
|
|
220
|
-
this.\u503C = \u503C;
|
|
221
|
-
}
|
|
222
|
-
map(f) {
|
|
223
|
-
return new _Just(f(this.\u503C));
|
|
224
|
-
}
|
|
225
|
-
bind(f) {
|
|
226
|
-
return f(this.\u503C);
|
|
227
|
-
}
|
|
228
|
-
isJust() {
|
|
229
|
-
return true;
|
|
230
|
-
}
|
|
231
|
-
isNothing() {
|
|
232
|
-
return false;
|
|
233
|
-
}
|
|
234
|
-
assertJust() {
|
|
235
|
-
return this;
|
|
236
|
-
}
|
|
237
|
-
assertNothing() {
|
|
238
|
-
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
239
|
-
}
|
|
240
|
-
getJust() {
|
|
241
|
-
return this.\u503C;
|
|
242
|
-
}
|
|
243
|
-
getJustOrNull() {
|
|
244
|
-
return this.\u503C;
|
|
245
|
-
}
|
|
246
|
-
match(onJust, _onNothing) {
|
|
247
|
-
return onJust(this.\u503C);
|
|
248
|
-
}
|
|
249
|
-
};
|
|
250
|
-
var Nothing = class _Nothing extends Maybe {
|
|
251
|
-
map(_f) {
|
|
252
|
-
return new _Nothing();
|
|
253
|
-
}
|
|
254
|
-
bind(_f) {
|
|
255
|
-
return new _Nothing();
|
|
256
|
-
}
|
|
257
|
-
isJust() {
|
|
258
|
-
return false;
|
|
259
|
-
}
|
|
260
|
-
isNothing() {
|
|
261
|
-
return true;
|
|
262
|
-
}
|
|
263
|
-
assertJust() {
|
|
264
|
-
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
265
|
-
}
|
|
266
|
-
assertNothing() {
|
|
267
|
-
return this;
|
|
268
|
-
}
|
|
269
|
-
getJustOrNull() {
|
|
270
|
-
return null;
|
|
271
|
-
}
|
|
272
|
-
match(_onJust, onNothing) {
|
|
273
|
-
return onNothing();
|
|
274
|
-
}
|
|
275
|
-
};
|
|
276
|
-
|
|
277
314
|
// src/func/seq.ts
|
|
278
315
|
function seqArrayTask(a) {
|
|
279
316
|
return new Task(async () => {
|
|
@@ -299,10 +336,25 @@ function seqArrayEither(value) {
|
|
|
299
336
|
const data = value.map((a) => a.assertRight().getRight());
|
|
300
337
|
return new Right(data);
|
|
301
338
|
}
|
|
339
|
+
function seqMaybePromise(a) {
|
|
340
|
+
return a.match(
|
|
341
|
+
async (a2) => new Just(await a2),
|
|
342
|
+
async () => new Nothing()
|
|
343
|
+
);
|
|
344
|
+
}
|
|
345
|
+
function seqEitherPromise(a) {
|
|
346
|
+
return a.match(
|
|
347
|
+
async (a2) => new Left(a2),
|
|
348
|
+
async (a2) => new Right(await a2)
|
|
349
|
+
);
|
|
350
|
+
}
|
|
302
351
|
// Annotate the CommonJS export names for ESM import in node:
|
|
303
352
|
0 && (module.exports = {
|
|
304
353
|
Either,
|
|
305
354
|
Just,
|
|
355
|
+
Lazy,
|
|
356
|
+
LazyDeferValue,
|
|
357
|
+
LazyForceValue,
|
|
306
358
|
Left,
|
|
307
359
|
Maybe,
|
|
308
360
|
Nothing,
|
|
@@ -312,5 +364,7 @@ function seqArrayEither(value) {
|
|
|
312
364
|
seqArrayEither,
|
|
313
365
|
seqArrayTask,
|
|
314
366
|
seqEitherArray,
|
|
315
|
-
|
|
367
|
+
seqEitherPromise,
|
|
368
|
+
seqEitherTask,
|
|
369
|
+
seqMaybePromise
|
|
316
370
|
});
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { Task, TaskDo, TaskDoType, TaskDoTypeBase, TaskDoTypeGet, TaskDoTypeIf, TaskDoTypeIfReturn, TaskDoTypeNoGet, TaskDoTypeReturn } from './data/task.cjs';
|
|
2
|
-
export { Just, Maybe, Nothing } from './data/maybe.cjs';
|
|
3
1
|
export { Either, Left, Right } from './data/either.cjs';
|
|
4
|
-
export {
|
|
2
|
+
export { Lazy, LazyDeferValue, LazyForceValue } from './data/lazy.cjs';
|
|
3
|
+
export { Just, Maybe, Nothing } from './data/maybe.cjs';
|
|
4
|
+
export { Task, TaskDo, TaskDoType, TaskDoTypeBase, TaskDoTypeGet, TaskDoTypeIf, TaskDoTypeIfReturn, TaskDoTypeNoGet, TaskDoTypeReturn } from './data/task.cjs';
|
|
5
|
+
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherPromise, seqEitherTask, seqMaybePromise } from './func/seq.cjs';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// src/data/lazy.ts
|
|
2
|
+
var Lazy = class {
|
|
3
|
+
};
|
|
4
|
+
var LazyDeferValue = class _LazyDeferValue extends Lazy {
|
|
5
|
+
constructor(value) {
|
|
6
|
+
super();
|
|
7
|
+
this.value = value;
|
|
8
|
+
}
|
|
9
|
+
cache = null;
|
|
10
|
+
run() {
|
|
11
|
+
if (this.cache)
|
|
12
|
+
return this.cache;
|
|
13
|
+
this.cache = this.value();
|
|
14
|
+
return this.cache;
|
|
15
|
+
}
|
|
16
|
+
map(f) {
|
|
17
|
+
return new _LazyDeferValue(() => f(this.run()));
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
var LazyForceValue = class _LazyForceValue extends Lazy {
|
|
21
|
+
constructor(value) {
|
|
22
|
+
super();
|
|
23
|
+
this.value = value;
|
|
24
|
+
}
|
|
25
|
+
run() {
|
|
26
|
+
return this.value;
|
|
27
|
+
}
|
|
28
|
+
map(f) {
|
|
29
|
+
return new _LazyForceValue(f(this.run()));
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
Lazy,
|
|
35
|
+
LazyDeferValue,
|
|
36
|
+
LazyForceValue
|
|
37
|
+
};
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Just,
|
|
3
|
+
Nothing
|
|
4
|
+
} from "./chunk-CQG32QQC.js";
|
|
1
5
|
import {
|
|
2
6
|
Task
|
|
3
7
|
} from "./chunk-OYLE35IQ.js";
|
|
@@ -31,10 +35,24 @@ function seqArrayEither(value) {
|
|
|
31
35
|
const data = value.map((a) => a.assertRight().getRight());
|
|
32
36
|
return new Right(data);
|
|
33
37
|
}
|
|
38
|
+
function seqMaybePromise(a) {
|
|
39
|
+
return a.match(
|
|
40
|
+
async (a2) => new Just(await a2),
|
|
41
|
+
async () => new Nothing()
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
function seqEitherPromise(a) {
|
|
45
|
+
return a.match(
|
|
46
|
+
async (a2) => new Left(a2),
|
|
47
|
+
async (a2) => new Right(await a2)
|
|
48
|
+
);
|
|
49
|
+
}
|
|
34
50
|
|
|
35
51
|
export {
|
|
36
52
|
seqArrayTask,
|
|
37
53
|
seqEitherTask,
|
|
38
54
|
seqEitherArray,
|
|
39
|
-
seqArrayEither
|
|
55
|
+
seqArrayEither,
|
|
56
|
+
seqMaybePromise,
|
|
57
|
+
seqEitherPromise
|
|
40
58
|
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare abstract class Lazy<A> {
|
|
2
|
+
abstract run(): A;
|
|
3
|
+
abstract map<B>(f: (a: A) => B): Lazy<B>;
|
|
4
|
+
}
|
|
5
|
+
declare class LazyDeferValue<A> extends Lazy<A> {
|
|
6
|
+
private value;
|
|
7
|
+
private cache;
|
|
8
|
+
constructor(value: () => A);
|
|
9
|
+
run(): A;
|
|
10
|
+
map<B>(f: (a: A) => B): Lazy<B>;
|
|
11
|
+
}
|
|
12
|
+
declare class LazyForceValue<A> extends Lazy<A> {
|
|
13
|
+
private value;
|
|
14
|
+
constructor(value: A);
|
|
15
|
+
run(): A;
|
|
16
|
+
map<B>(f: (a: A) => B): Lazy<B>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { Lazy, LazyDeferValue, LazyForceValue };
|
package/dist/esm/func/seq.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Either } from '../data/either.js';
|
|
2
|
+
import { Maybe } from '../data/maybe.js';
|
|
2
3
|
import { Task } from '../data/task.js';
|
|
3
4
|
|
|
4
5
|
declare function seqArrayTask<A>(a: Array<Task<A>>): Task<Array<A>>;
|
|
5
6
|
declare function seqEitherTask<L, R>(value: Either<L, Task<R>>): Task<Either<L, R>>;
|
|
6
7
|
declare function seqEitherArray<A, B>(value: Either<A, Array<B>>): Array<Either<A, B>>;
|
|
7
8
|
declare function seqArrayEither<A, B>(value: Array<Either<A, B>>): Either<A, Array<B>>;
|
|
9
|
+
declare function seqMaybePromise<A>(a: Maybe<Promise<A>>): Promise<Maybe<A>>;
|
|
10
|
+
declare function seqEitherPromise<L, R>(a: Either<L, Promise<R>>): Promise<Either<L, R>>;
|
|
8
11
|
|
|
9
|
-
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherTask };
|
|
12
|
+
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherPromise, seqEitherTask, seqMaybePromise };
|
package/dist/esm/func/seq.js
CHANGED
|
@@ -2,13 +2,18 @@ import {
|
|
|
2
2
|
seqArrayEither,
|
|
3
3
|
seqArrayTask,
|
|
4
4
|
seqEitherArray,
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
seqEitherPromise,
|
|
6
|
+
seqEitherTask,
|
|
7
|
+
seqMaybePromise
|
|
8
|
+
} from "../chunk-UQKW2A3C.js";
|
|
9
|
+
import "../chunk-CQG32QQC.js";
|
|
7
10
|
import "../chunk-OYLE35IQ.js";
|
|
8
11
|
import "../chunk-VTI5CRVQ.js";
|
|
9
12
|
export {
|
|
10
13
|
seqArrayEither,
|
|
11
14
|
seqArrayTask,
|
|
12
15
|
seqEitherArray,
|
|
13
|
-
|
|
16
|
+
seqEitherPromise,
|
|
17
|
+
seqEitherTask,
|
|
18
|
+
seqMaybePromise
|
|
14
19
|
};
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { Task, TaskDo, TaskDoType, TaskDoTypeBase, TaskDoTypeGet, TaskDoTypeIf, TaskDoTypeIfReturn, TaskDoTypeNoGet, TaskDoTypeReturn } from './data/task.js';
|
|
2
|
-
export { Just, Maybe, Nothing } from './data/maybe.js';
|
|
3
1
|
export { Either, Left, Right } from './data/either.js';
|
|
4
|
-
export {
|
|
2
|
+
export { Lazy, LazyDeferValue, LazyForceValue } from './data/lazy.js';
|
|
3
|
+
export { Just, Maybe, Nothing } from './data/maybe.js';
|
|
4
|
+
export { Task, TaskDo, TaskDoType, TaskDoTypeBase, TaskDoTypeGet, TaskDoTypeIf, TaskDoTypeIfReturn, TaskDoTypeNoGet, TaskDoTypeReturn } from './data/task.js';
|
|
5
|
+
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherPromise, seqEitherTask, seqMaybePromise } from './func/seq.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
} from "./chunk-
|
|
2
|
+
Lazy,
|
|
3
|
+
LazyDeferValue,
|
|
4
|
+
LazyForceValue
|
|
5
|
+
} from "./chunk-NEBLA4MD.js";
|
|
6
6
|
import {
|
|
7
7
|
seqArrayEither,
|
|
8
8
|
seqArrayTask,
|
|
9
9
|
seqEitherArray,
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
seqEitherPromise,
|
|
11
|
+
seqEitherTask,
|
|
12
|
+
seqMaybePromise
|
|
13
|
+
} from "./chunk-UQKW2A3C.js";
|
|
14
|
+
import {
|
|
15
|
+
Just,
|
|
16
|
+
Maybe,
|
|
17
|
+
Nothing
|
|
18
|
+
} from "./chunk-CQG32QQC.js";
|
|
12
19
|
import {
|
|
13
20
|
Task,
|
|
14
21
|
TaskDo
|
|
@@ -21,6 +28,9 @@ import {
|
|
|
21
28
|
export {
|
|
22
29
|
Either,
|
|
23
30
|
Just,
|
|
31
|
+
Lazy,
|
|
32
|
+
LazyDeferValue,
|
|
33
|
+
LazyForceValue,
|
|
24
34
|
Left,
|
|
25
35
|
Maybe,
|
|
26
36
|
Nothing,
|
|
@@ -30,5 +40,7 @@ export {
|
|
|
30
40
|
seqArrayEither,
|
|
31
41
|
seqArrayTask,
|
|
32
42
|
seqEitherArray,
|
|
33
|
-
|
|
43
|
+
seqEitherPromise,
|
|
44
|
+
seqEitherTask,
|
|
45
|
+
seqMaybePromise
|
|
34
46
|
};
|