@lsby/ts-fp-data 0.1.3 → 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/func/seq.cjs +84 -2
- package/dist/cjs/func/seq.d.cts +4 -1
- package/dist/cjs/index.cjs +18 -2
- package/dist/cjs/index.d.cts +1 -1
- package/dist/esm/{chunk-IHXXIFRN.js → chunk-UQKW2A3C.js} +19 -1
- package/dist/esm/func/seq.d.ts +4 -1
- package/dist/esm/func/seq.js +8 -3
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +11 -7
- package/package.json +1 -1
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
|
@@ -34,7 +34,9 @@ __export(src_exports, {
|
|
|
34
34
|
seqArrayEither: () => seqArrayEither,
|
|
35
35
|
seqArrayTask: () => seqArrayTask,
|
|
36
36
|
seqEitherArray: () => seqEitherArray,
|
|
37
|
-
|
|
37
|
+
seqEitherPromise: () => seqEitherPromise,
|
|
38
|
+
seqEitherTask: () => seqEitherTask,
|
|
39
|
+
seqMaybePromise: () => seqMaybePromise
|
|
38
40
|
});
|
|
39
41
|
module.exports = __toCommonJS(src_exports);
|
|
40
42
|
|
|
@@ -334,6 +336,18 @@ function seqArrayEither(value) {
|
|
|
334
336
|
const data = value.map((a) => a.assertRight().getRight());
|
|
335
337
|
return new Right(data);
|
|
336
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
|
+
}
|
|
337
351
|
// Annotate the CommonJS export names for ESM import in node:
|
|
338
352
|
0 && (module.exports = {
|
|
339
353
|
Either,
|
|
@@ -350,5 +364,7 @@ function seqArrayEither(value) {
|
|
|
350
364
|
seqArrayEither,
|
|
351
365
|
seqArrayTask,
|
|
352
366
|
seqEitherArray,
|
|
353
|
-
|
|
367
|
+
seqEitherPromise,
|
|
368
|
+
seqEitherTask,
|
|
369
|
+
seqMaybePromise
|
|
354
370
|
});
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -2,4 +2,4 @@ export { Either, Left, Right } from './data/either.cjs';
|
|
|
2
2
|
export { Lazy, LazyDeferValue, LazyForceValue } from './data/lazy.cjs';
|
|
3
3
|
export { Just, Maybe, Nothing } from './data/maybe.cjs';
|
|
4
4
|
export { Task, TaskDo, TaskDoType, TaskDoTypeBase, TaskDoTypeGet, TaskDoTypeIf, TaskDoTypeIfReturn, TaskDoTypeNoGet, TaskDoTypeReturn } from './data/task.cjs';
|
|
5
|
-
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherTask } from './func/seq.cjs';
|
|
5
|
+
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherPromise, seqEitherTask, seqMaybePromise } from './func/seq.cjs';
|
|
@@ -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
|
};
|
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
|
@@ -2,4 +2,4 @@ export { Either, Left, Right } from './data/either.js';
|
|
|
2
2
|
export { Lazy, LazyDeferValue, LazyForceValue } from './data/lazy.js';
|
|
3
3
|
export { Just, Maybe, Nothing } from './data/maybe.js';
|
|
4
4
|
export { Task, TaskDo, TaskDoType, TaskDoTypeBase, TaskDoTypeGet, TaskDoTypeIf, TaskDoTypeIfReturn, TaskDoTypeNoGet, TaskDoTypeReturn } from './data/task.js';
|
|
5
|
-
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherTask } from './func/seq.js';
|
|
5
|
+
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherPromise, seqEitherTask, seqMaybePromise } from './func/seq.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -3,17 +3,19 @@ import {
|
|
|
3
3
|
LazyDeferValue,
|
|
4
4
|
LazyForceValue
|
|
5
5
|
} from "./chunk-NEBLA4MD.js";
|
|
6
|
+
import {
|
|
7
|
+
seqArrayEither,
|
|
8
|
+
seqArrayTask,
|
|
9
|
+
seqEitherArray,
|
|
10
|
+
seqEitherPromise,
|
|
11
|
+
seqEitherTask,
|
|
12
|
+
seqMaybePromise
|
|
13
|
+
} from "./chunk-UQKW2A3C.js";
|
|
6
14
|
import {
|
|
7
15
|
Just,
|
|
8
16
|
Maybe,
|
|
9
17
|
Nothing
|
|
10
18
|
} from "./chunk-CQG32QQC.js";
|
|
11
|
-
import {
|
|
12
|
-
seqArrayEither,
|
|
13
|
-
seqArrayTask,
|
|
14
|
-
seqEitherArray,
|
|
15
|
-
seqEitherTask
|
|
16
|
-
} from "./chunk-IHXXIFRN.js";
|
|
17
19
|
import {
|
|
18
20
|
Task,
|
|
19
21
|
TaskDo
|
|
@@ -38,5 +40,7 @@ export {
|
|
|
38
40
|
seqArrayEither,
|
|
39
41
|
seqArrayTask,
|
|
40
42
|
seqEitherArray,
|
|
41
|
-
|
|
43
|
+
seqEitherPromise,
|
|
44
|
+
seqEitherTask,
|
|
45
|
+
seqMaybePromise
|
|
42
46
|
};
|