@lsby/ts-fp-data 0.1.3 → 0.2.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/dist/cjs/data/either.cjs +86 -0
- package/dist/cjs/data/either.d.cts +8 -0
- package/dist/cjs/data/maybe.cjs +8 -2
- package/dist/cjs/data/maybe.d.cts +7 -4
- package/dist/cjs/data/task.cjs +84 -0
- package/dist/cjs/data/task.d.cts +1 -0
- package/dist/cjs/func/seq.cjs +116 -7
- package/dist/cjs/func/seq.d.cts +6 -2
- package/dist/cjs/index.cjs +116 -73
- package/dist/cjs/index.d.cts +1 -1
- package/dist/esm/{chunk-VTI5CRVQ.js → chunk-BE7V6GBG.js} +17 -0
- package/dist/esm/{chunk-OYLE35IQ.js → chunk-IB4BVSOW.js} +1 -1
- package/dist/esm/{chunk-CQG32QQC.js → chunk-NXA54GUD.js} +8 -2
- package/dist/esm/chunk-UTZJVGHH.js +66 -0
- package/dist/esm/data/either.d.ts +8 -0
- package/dist/esm/data/either.js +2 -1
- package/dist/esm/data/maybe.d.ts +7 -4
- package/dist/esm/data/maybe.js +1 -1
- package/dist/esm/data/task.d.ts +1 -0
- package/dist/esm/data/task.js +3 -2
- package/dist/esm/func/seq.d.ts +6 -2
- package/dist/esm/func/seq.js +14 -7
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +18 -12
- package/package.json +1 -1
- package/dist/esm/chunk-IHXXIFRN.js +0 -40
package/dist/cjs/data/either.cjs
CHANGED
|
@@ -25,6 +25,80 @@ __export(either_exports, {
|
|
|
25
25
|
Right: () => Right
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(either_exports);
|
|
28
|
+
|
|
29
|
+
// src/data/maybe.ts
|
|
30
|
+
var Maybe = class {
|
|
31
|
+
static pure(a) {
|
|
32
|
+
return new Just(a);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
var Just = class _Just extends Maybe {
|
|
36
|
+
constructor(\u503C) {
|
|
37
|
+
super();
|
|
38
|
+
this.\u503C = \u503C;
|
|
39
|
+
}
|
|
40
|
+
map(f) {
|
|
41
|
+
return new _Just(f(this.\u503C));
|
|
42
|
+
}
|
|
43
|
+
bind(f) {
|
|
44
|
+
return f(this.\u503C);
|
|
45
|
+
}
|
|
46
|
+
isJust() {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
isNothing() {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
assertJust() {
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
assertNothing() {
|
|
56
|
+
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
57
|
+
}
|
|
58
|
+
getJust() {
|
|
59
|
+
return this.\u503C;
|
|
60
|
+
}
|
|
61
|
+
getJustOrNull() {
|
|
62
|
+
return this.\u503C;
|
|
63
|
+
}
|
|
64
|
+
match(_onNothing, onJust) {
|
|
65
|
+
return onJust(this.\u503C);
|
|
66
|
+
}
|
|
67
|
+
mplus(_a) {
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
var Nothing = class _Nothing extends Maybe {
|
|
72
|
+
map(_f) {
|
|
73
|
+
return new _Nothing();
|
|
74
|
+
}
|
|
75
|
+
bind(_f) {
|
|
76
|
+
return new _Nothing();
|
|
77
|
+
}
|
|
78
|
+
isJust() {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
isNothing() {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
assertJust() {
|
|
85
|
+
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
86
|
+
}
|
|
87
|
+
assertNothing() {
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
getJustOrNull() {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
match(onNothing, _onJust) {
|
|
94
|
+
return onNothing();
|
|
95
|
+
}
|
|
96
|
+
mplus(a) {
|
|
97
|
+
return a;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
// src/data/either.ts
|
|
28
102
|
var Either = class {
|
|
29
103
|
static pure(a) {
|
|
30
104
|
return new Right(a);
|
|
@@ -65,6 +139,12 @@ var Left = class _Left extends Either {
|
|
|
65
139
|
match(onLeft, _onRight) {
|
|
66
140
|
return onLeft(this.\u503C);
|
|
67
141
|
}
|
|
142
|
+
mplus(a) {
|
|
143
|
+
return a;
|
|
144
|
+
}
|
|
145
|
+
toMaybe() {
|
|
146
|
+
return new Nothing();
|
|
147
|
+
}
|
|
68
148
|
};
|
|
69
149
|
var Right = class _Right extends Either {
|
|
70
150
|
constructor(\u503C) {
|
|
@@ -101,6 +181,12 @@ var Right = class _Right extends Either {
|
|
|
101
181
|
match(_onLeft, onRight) {
|
|
102
182
|
return onRight(this.\u503C);
|
|
103
183
|
}
|
|
184
|
+
mplus(_a) {
|
|
185
|
+
return this;
|
|
186
|
+
}
|
|
187
|
+
toMaybe() {
|
|
188
|
+
return new Just(this.\u503C);
|
|
189
|
+
}
|
|
104
190
|
};
|
|
105
191
|
// Annotate the CommonJS export names for ESM import in node:
|
|
106
192
|
0 && (module.exports = {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Maybe } from './maybe.cjs';
|
|
2
|
+
|
|
1
3
|
declare abstract class Either<L, R> {
|
|
2
4
|
static pure<L, R>(a: R): Either<L, R>;
|
|
3
5
|
abstract map<B>(_f: (a: R) => B): Either<L, B>;
|
|
@@ -9,6 +11,8 @@ declare abstract class Either<L, R> {
|
|
|
9
11
|
abstract assertLeft(): Left<L, R>;
|
|
10
12
|
abstract assertRight(): Right<L, R>;
|
|
11
13
|
abstract match<X>(onLeft: (a: L) => X, onRight: (a: R) => X): X;
|
|
14
|
+
abstract mplus(a: Either<L, R>): Either<L, R>;
|
|
15
|
+
abstract toMaybe(): Maybe<R>;
|
|
12
16
|
}
|
|
13
17
|
declare class Left<L, R> extends Either<L, R> {
|
|
14
18
|
private 值;
|
|
@@ -23,6 +27,8 @@ declare class Left<L, R> extends Either<L, R> {
|
|
|
23
27
|
assertLeft(): Left<L, R>;
|
|
24
28
|
assertRight(): Right<L, R>;
|
|
25
29
|
match<X>(onLeft: (a: L) => X, _onRight: (a: R) => X): X;
|
|
30
|
+
mplus(a: Either<L, R>): Either<L, R>;
|
|
31
|
+
toMaybe(): Maybe<R>;
|
|
26
32
|
}
|
|
27
33
|
declare class Right<L, R> extends Either<L, R> {
|
|
28
34
|
private 值;
|
|
@@ -37,6 +43,8 @@ declare class Right<L, R> extends Either<L, R> {
|
|
|
37
43
|
assertLeft(): Left<L, R>;
|
|
38
44
|
assertRight(): Right<L, R>;
|
|
39
45
|
match<X>(_onLeft: (a: L) => X, onRight: (a: R) => X): X;
|
|
46
|
+
mplus(_a: Either<L, R>): Either<L, R>;
|
|
47
|
+
toMaybe(): Maybe<R>;
|
|
40
48
|
}
|
|
41
49
|
|
|
42
50
|
export { Either, Left, Right };
|
package/dist/cjs/data/maybe.cjs
CHANGED
|
@@ -59,9 +59,12 @@ var Just = class _Just extends Maybe {
|
|
|
59
59
|
getJustOrNull() {
|
|
60
60
|
return this.\u503C;
|
|
61
61
|
}
|
|
62
|
-
match(
|
|
62
|
+
match(_onNothing, onJust) {
|
|
63
63
|
return onJust(this.\u503C);
|
|
64
64
|
}
|
|
65
|
+
mplus(_a) {
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
65
68
|
};
|
|
66
69
|
var Nothing = class _Nothing extends Maybe {
|
|
67
70
|
map(_f) {
|
|
@@ -85,9 +88,12 @@ var Nothing = class _Nothing extends Maybe {
|
|
|
85
88
|
getJustOrNull() {
|
|
86
89
|
return null;
|
|
87
90
|
}
|
|
88
|
-
match(
|
|
91
|
+
match(onNothing, _onJust) {
|
|
89
92
|
return onNothing();
|
|
90
93
|
}
|
|
94
|
+
mplus(a) {
|
|
95
|
+
return a;
|
|
96
|
+
}
|
|
91
97
|
};
|
|
92
98
|
// Annotate the CommonJS export names for ESM import in node:
|
|
93
99
|
0 && (module.exports = {
|
|
@@ -5,9 +5,10 @@ declare abstract class Maybe<A> {
|
|
|
5
5
|
abstract isJust(): this is Just<A>;
|
|
6
6
|
abstract isNothing(): this is Nothing<A>;
|
|
7
7
|
abstract assertJust(): Just<A>;
|
|
8
|
-
abstract assertNothing(): Nothing<
|
|
8
|
+
abstract assertNothing(): Nothing<any>;
|
|
9
9
|
abstract getJustOrNull(): A | null;
|
|
10
|
-
abstract match<B>(
|
|
10
|
+
abstract match<B>(onNothing: () => B, onJust: (a: A) => B): B;
|
|
11
|
+
abstract mplus(a: Maybe<A>): Maybe<A>;
|
|
11
12
|
}
|
|
12
13
|
declare class Just<A> extends Maybe<A> {
|
|
13
14
|
private 值;
|
|
@@ -20,7 +21,8 @@ declare class Just<A> extends Maybe<A> {
|
|
|
20
21
|
assertNothing(): Nothing<A>;
|
|
21
22
|
getJust(): A;
|
|
22
23
|
getJustOrNull(): A | null;
|
|
23
|
-
match<B>(
|
|
24
|
+
match<B>(_onNothing: () => B, onJust: (a: A) => B): B;
|
|
25
|
+
mplus(_a: Maybe<A>): Maybe<A>;
|
|
24
26
|
}
|
|
25
27
|
declare class Nothing<A> extends Maybe<A> {
|
|
26
28
|
map<B>(_f: (a: A) => B): Maybe<B>;
|
|
@@ -30,7 +32,8 @@ declare class Nothing<A> extends Maybe<A> {
|
|
|
30
32
|
assertJust(): Just<A>;
|
|
31
33
|
assertNothing(): Nothing<A>;
|
|
32
34
|
getJustOrNull(): A | null;
|
|
33
|
-
match<B>(
|
|
35
|
+
match<B>(onNothing: () => B, _onJust: (a: A) => B): B;
|
|
36
|
+
mplus(a: Maybe<A>): Maybe<A>;
|
|
34
37
|
}
|
|
35
38
|
|
|
36
39
|
export { Just, Maybe, Nothing };
|
package/dist/cjs/data/task.cjs
CHANGED
|
@@ -25,6 +25,78 @@ __export(task_exports, {
|
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(task_exports);
|
|
27
27
|
|
|
28
|
+
// src/data/maybe.ts
|
|
29
|
+
var Maybe = class {
|
|
30
|
+
static pure(a) {
|
|
31
|
+
return new Just(a);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var Just = class _Just extends Maybe {
|
|
35
|
+
constructor(\u503C) {
|
|
36
|
+
super();
|
|
37
|
+
this.\u503C = \u503C;
|
|
38
|
+
}
|
|
39
|
+
map(f) {
|
|
40
|
+
return new _Just(f(this.\u503C));
|
|
41
|
+
}
|
|
42
|
+
bind(f) {
|
|
43
|
+
return f(this.\u503C);
|
|
44
|
+
}
|
|
45
|
+
isJust() {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
isNothing() {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
assertJust() {
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
54
|
+
assertNothing() {
|
|
55
|
+
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
56
|
+
}
|
|
57
|
+
getJust() {
|
|
58
|
+
return this.\u503C;
|
|
59
|
+
}
|
|
60
|
+
getJustOrNull() {
|
|
61
|
+
return this.\u503C;
|
|
62
|
+
}
|
|
63
|
+
match(_onNothing, onJust) {
|
|
64
|
+
return onJust(this.\u503C);
|
|
65
|
+
}
|
|
66
|
+
mplus(_a) {
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
var Nothing = class _Nothing extends Maybe {
|
|
71
|
+
map(_f) {
|
|
72
|
+
return new _Nothing();
|
|
73
|
+
}
|
|
74
|
+
bind(_f) {
|
|
75
|
+
return new _Nothing();
|
|
76
|
+
}
|
|
77
|
+
isJust() {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
isNothing() {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
assertJust() {
|
|
84
|
+
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
85
|
+
}
|
|
86
|
+
assertNothing() {
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
getJustOrNull() {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
match(onNothing, _onJust) {
|
|
93
|
+
return onNothing();
|
|
94
|
+
}
|
|
95
|
+
mplus(a) {
|
|
96
|
+
return a;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
28
100
|
// src/data/either.ts
|
|
29
101
|
var Either = class {
|
|
30
102
|
static pure(a) {
|
|
@@ -66,6 +138,12 @@ var Left = class _Left extends Either {
|
|
|
66
138
|
match(onLeft, _onRight) {
|
|
67
139
|
return onLeft(this.\u503C);
|
|
68
140
|
}
|
|
141
|
+
mplus(a) {
|
|
142
|
+
return a;
|
|
143
|
+
}
|
|
144
|
+
toMaybe() {
|
|
145
|
+
return new Nothing();
|
|
146
|
+
}
|
|
69
147
|
};
|
|
70
148
|
var Right = class _Right extends Either {
|
|
71
149
|
constructor(\u503C) {
|
|
@@ -102,6 +180,12 @@ var Right = class _Right extends Either {
|
|
|
102
180
|
match(_onLeft, onRight) {
|
|
103
181
|
return onRight(this.\u503C);
|
|
104
182
|
}
|
|
183
|
+
mplus(_a) {
|
|
184
|
+
return this;
|
|
185
|
+
}
|
|
186
|
+
toMaybe() {
|
|
187
|
+
return new Just(this.\u503C);
|
|
188
|
+
}
|
|
105
189
|
};
|
|
106
190
|
|
|
107
191
|
// src/data/task.ts
|
package/dist/cjs/data/task.d.cts
CHANGED
package/dist/cjs/func/seq.cjs
CHANGED
|
@@ -20,13 +20,88 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/func/seq.ts
|
|
21
21
|
var seq_exports = {};
|
|
22
22
|
__export(seq_exports, {
|
|
23
|
-
|
|
23
|
+
seqArrayEitherFirstLeft: () => seqArrayEitherFirstLeft,
|
|
24
|
+
seqArrayMaybeFirstNothing: () => seqArrayMaybeFirstNothing,
|
|
24
25
|
seqArrayTask: () => seqArrayTask,
|
|
25
26
|
seqEitherArray: () => seqEitherArray,
|
|
26
|
-
seqEitherTask: () => seqEitherTask
|
|
27
|
+
seqEitherTask: () => seqEitherTask,
|
|
28
|
+
seqMaybeArray: () => seqMaybeArray,
|
|
29
|
+
seqMaybeTask: () => seqMaybeTask
|
|
27
30
|
});
|
|
28
31
|
module.exports = __toCommonJS(seq_exports);
|
|
29
32
|
|
|
33
|
+
// src/data/maybe.ts
|
|
34
|
+
var Maybe = class {
|
|
35
|
+
static pure(a) {
|
|
36
|
+
return new Just(a);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
var Just = class _Just extends Maybe {
|
|
40
|
+
constructor(\u503C) {
|
|
41
|
+
super();
|
|
42
|
+
this.\u503C = \u503C;
|
|
43
|
+
}
|
|
44
|
+
map(f) {
|
|
45
|
+
return new _Just(f(this.\u503C));
|
|
46
|
+
}
|
|
47
|
+
bind(f) {
|
|
48
|
+
return f(this.\u503C);
|
|
49
|
+
}
|
|
50
|
+
isJust() {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
isNothing() {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
assertJust() {
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
assertNothing() {
|
|
60
|
+
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
61
|
+
}
|
|
62
|
+
getJust() {
|
|
63
|
+
return this.\u503C;
|
|
64
|
+
}
|
|
65
|
+
getJustOrNull() {
|
|
66
|
+
return this.\u503C;
|
|
67
|
+
}
|
|
68
|
+
match(_onNothing, onJust) {
|
|
69
|
+
return onJust(this.\u503C);
|
|
70
|
+
}
|
|
71
|
+
mplus(_a) {
|
|
72
|
+
return this;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
var Nothing = class _Nothing extends Maybe {
|
|
76
|
+
map(_f) {
|
|
77
|
+
return new _Nothing();
|
|
78
|
+
}
|
|
79
|
+
bind(_f) {
|
|
80
|
+
return new _Nothing();
|
|
81
|
+
}
|
|
82
|
+
isJust() {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
isNothing() {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
assertJust() {
|
|
89
|
+
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
90
|
+
}
|
|
91
|
+
assertNothing() {
|
|
92
|
+
return this;
|
|
93
|
+
}
|
|
94
|
+
getJustOrNull() {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
match(onNothing, _onJust) {
|
|
98
|
+
return onNothing();
|
|
99
|
+
}
|
|
100
|
+
mplus(a) {
|
|
101
|
+
return a;
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
|
|
30
105
|
// src/data/either.ts
|
|
31
106
|
var Either = class {
|
|
32
107
|
static pure(a) {
|
|
@@ -68,6 +143,12 @@ var Left = class _Left extends Either {
|
|
|
68
143
|
match(onLeft, _onRight) {
|
|
69
144
|
return onLeft(this.\u503C);
|
|
70
145
|
}
|
|
146
|
+
mplus(a) {
|
|
147
|
+
return a;
|
|
148
|
+
}
|
|
149
|
+
toMaybe() {
|
|
150
|
+
return new Nothing();
|
|
151
|
+
}
|
|
71
152
|
};
|
|
72
153
|
var Right = class _Right extends Either {
|
|
73
154
|
constructor(\u503C) {
|
|
@@ -104,6 +185,12 @@ var Right = class _Right extends Either {
|
|
|
104
185
|
match(_onLeft, onRight) {
|
|
105
186
|
return onRight(this.\u503C);
|
|
106
187
|
}
|
|
188
|
+
mplus(_a) {
|
|
189
|
+
return this;
|
|
190
|
+
}
|
|
191
|
+
toMaybe() {
|
|
192
|
+
return new Just(this.\u503C);
|
|
193
|
+
}
|
|
107
194
|
};
|
|
108
195
|
|
|
109
196
|
// src/data/task.ts
|
|
@@ -218,17 +305,39 @@ function seqEitherArray(value) {
|
|
|
218
305
|
(data) => data.map((a) => new Right(a))
|
|
219
306
|
);
|
|
220
307
|
}
|
|
221
|
-
function
|
|
222
|
-
|
|
308
|
+
function seqArrayEitherFirstLeft(value) {
|
|
309
|
+
var err = value.filter((a) => a.isLeft())[0];
|
|
223
310
|
if (err)
|
|
224
311
|
return err;
|
|
225
|
-
|
|
312
|
+
var data = value.map((a) => a.assertRight().getRight());
|
|
226
313
|
return new Right(data);
|
|
227
314
|
}
|
|
315
|
+
function seqArrayMaybeFirstNothing(a) {
|
|
316
|
+
const firstNothing = a.find((maybe) => maybe.isNothing());
|
|
317
|
+
if (firstNothing)
|
|
318
|
+
return new Nothing();
|
|
319
|
+
const values = a.map((maybe) => maybe.assertJust().getJust());
|
|
320
|
+
return new Just(values);
|
|
321
|
+
}
|
|
322
|
+
function seqMaybeArray(a) {
|
|
323
|
+
return a.match(
|
|
324
|
+
() => [new Nothing()],
|
|
325
|
+
(array) => array.map((x) => new Just(x))
|
|
326
|
+
);
|
|
327
|
+
}
|
|
328
|
+
function seqMaybeTask(a) {
|
|
329
|
+
return a.match(
|
|
330
|
+
() => Task.pure(new Nothing()),
|
|
331
|
+
(task) => task.map((a2) => new Just(a2))
|
|
332
|
+
);
|
|
333
|
+
}
|
|
228
334
|
// Annotate the CommonJS export names for ESM import in node:
|
|
229
335
|
0 && (module.exports = {
|
|
230
|
-
|
|
336
|
+
seqArrayEitherFirstLeft,
|
|
337
|
+
seqArrayMaybeFirstNothing,
|
|
231
338
|
seqArrayTask,
|
|
232
339
|
seqEitherArray,
|
|
233
|
-
seqEitherTask
|
|
340
|
+
seqEitherTask,
|
|
341
|
+
seqMaybeArray,
|
|
342
|
+
seqMaybeTask
|
|
234
343
|
});
|
package/dist/cjs/func/seq.d.cts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
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
|
-
declare function
|
|
8
|
+
declare function seqArrayEitherFirstLeft<A, B>(value: Array<Either<A, B>>): Either<A, Array<B>>;
|
|
9
|
+
declare function seqArrayMaybeFirstNothing<X>(a: Array<Maybe<X>>): Maybe<Array<X>>;
|
|
10
|
+
declare function seqMaybeArray<X>(a: Maybe<Array<X>>): Array<Maybe<X>>;
|
|
11
|
+
declare function seqMaybeTask<X>(a: Maybe<Task<X>>): Task<Maybe<X>>;
|
|
8
12
|
|
|
9
|
-
export {
|
|
13
|
+
export { seqArrayEitherFirstLeft, seqArrayMaybeFirstNothing, seqArrayTask, seqEitherArray, seqEitherTask, seqMaybeArray, seqMaybeTask };
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -31,13 +31,88 @@ __export(src_exports, {
|
|
|
31
31
|
Right: () => Right,
|
|
32
32
|
Task: () => Task,
|
|
33
33
|
TaskDo: () => TaskDo,
|
|
34
|
-
|
|
34
|
+
seqArrayEitherFirstLeft: () => seqArrayEitherFirstLeft,
|
|
35
|
+
seqArrayMaybeFirstNothing: () => seqArrayMaybeFirstNothing,
|
|
35
36
|
seqArrayTask: () => seqArrayTask,
|
|
36
37
|
seqEitherArray: () => seqEitherArray,
|
|
37
|
-
seqEitherTask: () => seqEitherTask
|
|
38
|
+
seqEitherTask: () => seqEitherTask,
|
|
39
|
+
seqMaybeArray: () => seqMaybeArray,
|
|
40
|
+
seqMaybeTask: () => seqMaybeTask
|
|
38
41
|
});
|
|
39
42
|
module.exports = __toCommonJS(src_exports);
|
|
40
43
|
|
|
44
|
+
// src/data/maybe.ts
|
|
45
|
+
var Maybe = class {
|
|
46
|
+
static pure(a) {
|
|
47
|
+
return new Just(a);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var Just = class _Just extends Maybe {
|
|
51
|
+
constructor(\u503C) {
|
|
52
|
+
super();
|
|
53
|
+
this.\u503C = \u503C;
|
|
54
|
+
}
|
|
55
|
+
map(f) {
|
|
56
|
+
return new _Just(f(this.\u503C));
|
|
57
|
+
}
|
|
58
|
+
bind(f) {
|
|
59
|
+
return f(this.\u503C);
|
|
60
|
+
}
|
|
61
|
+
isJust() {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
isNothing() {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
assertJust() {
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
assertNothing() {
|
|
71
|
+
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
72
|
+
}
|
|
73
|
+
getJust() {
|
|
74
|
+
return this.\u503C;
|
|
75
|
+
}
|
|
76
|
+
getJustOrNull() {
|
|
77
|
+
return this.\u503C;
|
|
78
|
+
}
|
|
79
|
+
match(_onNothing, onJust) {
|
|
80
|
+
return onJust(this.\u503C);
|
|
81
|
+
}
|
|
82
|
+
mplus(_a) {
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
var Nothing = class _Nothing extends Maybe {
|
|
87
|
+
map(_f) {
|
|
88
|
+
return new _Nothing();
|
|
89
|
+
}
|
|
90
|
+
bind(_f) {
|
|
91
|
+
return new _Nothing();
|
|
92
|
+
}
|
|
93
|
+
isJust() {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
isNothing() {
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
assertJust() {
|
|
100
|
+
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
101
|
+
}
|
|
102
|
+
assertNothing() {
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
getJustOrNull() {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
match(onNothing, _onJust) {
|
|
109
|
+
return onNothing();
|
|
110
|
+
}
|
|
111
|
+
mplus(a) {
|
|
112
|
+
return a;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
|
|
41
116
|
// src/data/either.ts
|
|
42
117
|
var Either = class {
|
|
43
118
|
static pure(a) {
|
|
@@ -79,6 +154,12 @@ var Left = class _Left extends Either {
|
|
|
79
154
|
match(onLeft, _onRight) {
|
|
80
155
|
return onLeft(this.\u503C);
|
|
81
156
|
}
|
|
157
|
+
mplus(a) {
|
|
158
|
+
return a;
|
|
159
|
+
}
|
|
160
|
+
toMaybe() {
|
|
161
|
+
return new Nothing();
|
|
162
|
+
}
|
|
82
163
|
};
|
|
83
164
|
var Right = class _Right extends Either {
|
|
84
165
|
constructor(\u503C) {
|
|
@@ -115,6 +196,12 @@ var Right = class _Right extends Either {
|
|
|
115
196
|
match(_onLeft, onRight) {
|
|
116
197
|
return onRight(this.\u503C);
|
|
117
198
|
}
|
|
199
|
+
mplus(_a) {
|
|
200
|
+
return this;
|
|
201
|
+
}
|
|
202
|
+
toMaybe() {
|
|
203
|
+
return new Just(this.\u503C);
|
|
204
|
+
}
|
|
118
205
|
};
|
|
119
206
|
|
|
120
207
|
// src/data/lazy.ts
|
|
@@ -149,72 +236,6 @@ var LazyForceValue = class _LazyForceValue extends Lazy {
|
|
|
149
236
|
}
|
|
150
237
|
};
|
|
151
238
|
|
|
152
|
-
// src/data/maybe.ts
|
|
153
|
-
var Maybe = class {
|
|
154
|
-
static pure(a) {
|
|
155
|
-
return new Just(a);
|
|
156
|
-
}
|
|
157
|
-
};
|
|
158
|
-
var Just = class _Just extends Maybe {
|
|
159
|
-
constructor(\u503C) {
|
|
160
|
-
super();
|
|
161
|
-
this.\u503C = \u503C;
|
|
162
|
-
}
|
|
163
|
-
map(f) {
|
|
164
|
-
return new _Just(f(this.\u503C));
|
|
165
|
-
}
|
|
166
|
-
bind(f) {
|
|
167
|
-
return f(this.\u503C);
|
|
168
|
-
}
|
|
169
|
-
isJust() {
|
|
170
|
-
return true;
|
|
171
|
-
}
|
|
172
|
-
isNothing() {
|
|
173
|
-
return false;
|
|
174
|
-
}
|
|
175
|
-
assertJust() {
|
|
176
|
-
return this;
|
|
177
|
-
}
|
|
178
|
-
assertNothing() {
|
|
179
|
-
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
180
|
-
}
|
|
181
|
-
getJust() {
|
|
182
|
-
return this.\u503C;
|
|
183
|
-
}
|
|
184
|
-
getJustOrNull() {
|
|
185
|
-
return this.\u503C;
|
|
186
|
-
}
|
|
187
|
-
match(onJust, _onNothing) {
|
|
188
|
-
return onJust(this.\u503C);
|
|
189
|
-
}
|
|
190
|
-
};
|
|
191
|
-
var Nothing = class _Nothing extends Maybe {
|
|
192
|
-
map(_f) {
|
|
193
|
-
return new _Nothing();
|
|
194
|
-
}
|
|
195
|
-
bind(_f) {
|
|
196
|
-
return new _Nothing();
|
|
197
|
-
}
|
|
198
|
-
isJust() {
|
|
199
|
-
return false;
|
|
200
|
-
}
|
|
201
|
-
isNothing() {
|
|
202
|
-
return true;
|
|
203
|
-
}
|
|
204
|
-
assertJust() {
|
|
205
|
-
throw new Error("\u65AD\u8A00\u5931\u8D25");
|
|
206
|
-
}
|
|
207
|
-
assertNothing() {
|
|
208
|
-
return this;
|
|
209
|
-
}
|
|
210
|
-
getJustOrNull() {
|
|
211
|
-
return null;
|
|
212
|
-
}
|
|
213
|
-
match(_onJust, onNothing) {
|
|
214
|
-
return onNothing();
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
|
|
218
239
|
// src/data/task.ts
|
|
219
240
|
var TaskDo = class _TaskDo {
|
|
220
241
|
constructor(accTask) {
|
|
@@ -327,13 +348,32 @@ function seqEitherArray(value) {
|
|
|
327
348
|
(data) => data.map((a) => new Right(a))
|
|
328
349
|
);
|
|
329
350
|
}
|
|
330
|
-
function
|
|
331
|
-
|
|
351
|
+
function seqArrayEitherFirstLeft(value) {
|
|
352
|
+
var err = value.filter((a) => a.isLeft())[0];
|
|
332
353
|
if (err)
|
|
333
354
|
return err;
|
|
334
|
-
|
|
355
|
+
var data = value.map((a) => a.assertRight().getRight());
|
|
335
356
|
return new Right(data);
|
|
336
357
|
}
|
|
358
|
+
function seqArrayMaybeFirstNothing(a) {
|
|
359
|
+
const firstNothing = a.find((maybe) => maybe.isNothing());
|
|
360
|
+
if (firstNothing)
|
|
361
|
+
return new Nothing();
|
|
362
|
+
const values = a.map((maybe) => maybe.assertJust().getJust());
|
|
363
|
+
return new Just(values);
|
|
364
|
+
}
|
|
365
|
+
function seqMaybeArray(a) {
|
|
366
|
+
return a.match(
|
|
367
|
+
() => [new Nothing()],
|
|
368
|
+
(array) => array.map((x) => new Just(x))
|
|
369
|
+
);
|
|
370
|
+
}
|
|
371
|
+
function seqMaybeTask(a) {
|
|
372
|
+
return a.match(
|
|
373
|
+
() => Task.pure(new Nothing()),
|
|
374
|
+
(task) => task.map((a2) => new Just(a2))
|
|
375
|
+
);
|
|
376
|
+
}
|
|
337
377
|
// Annotate the CommonJS export names for ESM import in node:
|
|
338
378
|
0 && (module.exports = {
|
|
339
379
|
Either,
|
|
@@ -347,8 +387,11 @@ function seqArrayEither(value) {
|
|
|
347
387
|
Right,
|
|
348
388
|
Task,
|
|
349
389
|
TaskDo,
|
|
350
|
-
|
|
390
|
+
seqArrayEitherFirstLeft,
|
|
391
|
+
seqArrayMaybeFirstNothing,
|
|
351
392
|
seqArrayTask,
|
|
352
393
|
seqEitherArray,
|
|
353
|
-
seqEitherTask
|
|
394
|
+
seqEitherTask,
|
|
395
|
+
seqMaybeArray,
|
|
396
|
+
seqMaybeTask
|
|
354
397
|
});
|
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 {
|
|
5
|
+
export { seqArrayEitherFirstLeft, seqArrayMaybeFirstNothing, seqArrayTask, seqEitherArray, seqEitherTask, seqMaybeArray, seqMaybeTask } from './func/seq.cjs';
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Just,
|
|
3
|
+
Nothing
|
|
4
|
+
} from "./chunk-NXA54GUD.js";
|
|
5
|
+
|
|
1
6
|
// src/data/either.ts
|
|
2
7
|
var Either = class {
|
|
3
8
|
static pure(a) {
|
|
@@ -39,6 +44,12 @@ var Left = class _Left extends Either {
|
|
|
39
44
|
match(onLeft, _onRight) {
|
|
40
45
|
return onLeft(this.\u503C);
|
|
41
46
|
}
|
|
47
|
+
mplus(a) {
|
|
48
|
+
return a;
|
|
49
|
+
}
|
|
50
|
+
toMaybe() {
|
|
51
|
+
return new Nothing();
|
|
52
|
+
}
|
|
42
53
|
};
|
|
43
54
|
var Right = class _Right extends Either {
|
|
44
55
|
constructor(\u503C) {
|
|
@@ -75,6 +86,12 @@ var Right = class _Right extends Either {
|
|
|
75
86
|
match(_onLeft, onRight) {
|
|
76
87
|
return onRight(this.\u503C);
|
|
77
88
|
}
|
|
89
|
+
mplus(_a) {
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
toMaybe() {
|
|
93
|
+
return new Just(this.\u503C);
|
|
94
|
+
}
|
|
78
95
|
};
|
|
79
96
|
|
|
80
97
|
export {
|
|
@@ -33,9 +33,12 @@ var Just = class _Just extends Maybe {
|
|
|
33
33
|
getJustOrNull() {
|
|
34
34
|
return this.\u503C;
|
|
35
35
|
}
|
|
36
|
-
match(
|
|
36
|
+
match(_onNothing, onJust) {
|
|
37
37
|
return onJust(this.\u503C);
|
|
38
38
|
}
|
|
39
|
+
mplus(_a) {
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
39
42
|
};
|
|
40
43
|
var Nothing = class _Nothing extends Maybe {
|
|
41
44
|
map(_f) {
|
|
@@ -59,9 +62,12 @@ var Nothing = class _Nothing extends Maybe {
|
|
|
59
62
|
getJustOrNull() {
|
|
60
63
|
return null;
|
|
61
64
|
}
|
|
62
|
-
match(
|
|
65
|
+
match(onNothing, _onJust) {
|
|
63
66
|
return onNothing();
|
|
64
67
|
}
|
|
68
|
+
mplus(a) {
|
|
69
|
+
return a;
|
|
70
|
+
}
|
|
65
71
|
};
|
|
66
72
|
|
|
67
73
|
export {
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Task
|
|
3
|
+
} from "./chunk-IB4BVSOW.js";
|
|
4
|
+
import {
|
|
5
|
+
Left,
|
|
6
|
+
Right
|
|
7
|
+
} from "./chunk-BE7V6GBG.js";
|
|
8
|
+
import {
|
|
9
|
+
Just,
|
|
10
|
+
Nothing
|
|
11
|
+
} from "./chunk-NXA54GUD.js";
|
|
12
|
+
|
|
13
|
+
// src/func/seq.ts
|
|
14
|
+
function seqArrayTask(a) {
|
|
15
|
+
return new Task(async () => {
|
|
16
|
+
return Promise.all(a.map(async (a2) => await a2.run()));
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function seqEitherTask(value) {
|
|
20
|
+
return value.match(
|
|
21
|
+
(err) => Task.pure(new Left(err)),
|
|
22
|
+
(data) => data.map((a) => new Right(a))
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
function seqEitherArray(value) {
|
|
26
|
+
return value.match(
|
|
27
|
+
(err) => [new Left(err)],
|
|
28
|
+
(data) => data.map((a) => new Right(a))
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
function seqArrayEitherFirstLeft(value) {
|
|
32
|
+
var err = value.filter((a) => a.isLeft())[0];
|
|
33
|
+
if (err)
|
|
34
|
+
return err;
|
|
35
|
+
var data = value.map((a) => a.assertRight().getRight());
|
|
36
|
+
return new Right(data);
|
|
37
|
+
}
|
|
38
|
+
function seqArrayMaybeFirstNothing(a) {
|
|
39
|
+
const firstNothing = a.find((maybe) => maybe.isNothing());
|
|
40
|
+
if (firstNothing)
|
|
41
|
+
return new Nothing();
|
|
42
|
+
const values = a.map((maybe) => maybe.assertJust().getJust());
|
|
43
|
+
return new Just(values);
|
|
44
|
+
}
|
|
45
|
+
function seqMaybeArray(a) {
|
|
46
|
+
return a.match(
|
|
47
|
+
() => [new Nothing()],
|
|
48
|
+
(array) => array.map((x) => new Just(x))
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
function seqMaybeTask(a) {
|
|
52
|
+
return a.match(
|
|
53
|
+
() => Task.pure(new Nothing()),
|
|
54
|
+
(task) => task.map((a2) => new Just(a2))
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export {
|
|
59
|
+
seqArrayTask,
|
|
60
|
+
seqEitherTask,
|
|
61
|
+
seqEitherArray,
|
|
62
|
+
seqArrayEitherFirstLeft,
|
|
63
|
+
seqArrayMaybeFirstNothing,
|
|
64
|
+
seqMaybeArray,
|
|
65
|
+
seqMaybeTask
|
|
66
|
+
};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Maybe } from './maybe.js';
|
|
2
|
+
|
|
1
3
|
declare abstract class Either<L, R> {
|
|
2
4
|
static pure<L, R>(a: R): Either<L, R>;
|
|
3
5
|
abstract map<B>(_f: (a: R) => B): Either<L, B>;
|
|
@@ -9,6 +11,8 @@ declare abstract class Either<L, R> {
|
|
|
9
11
|
abstract assertLeft(): Left<L, R>;
|
|
10
12
|
abstract assertRight(): Right<L, R>;
|
|
11
13
|
abstract match<X>(onLeft: (a: L) => X, onRight: (a: R) => X): X;
|
|
14
|
+
abstract mplus(a: Either<L, R>): Either<L, R>;
|
|
15
|
+
abstract toMaybe(): Maybe<R>;
|
|
12
16
|
}
|
|
13
17
|
declare class Left<L, R> extends Either<L, R> {
|
|
14
18
|
private 值;
|
|
@@ -23,6 +27,8 @@ declare class Left<L, R> extends Either<L, R> {
|
|
|
23
27
|
assertLeft(): Left<L, R>;
|
|
24
28
|
assertRight(): Right<L, R>;
|
|
25
29
|
match<X>(onLeft: (a: L) => X, _onRight: (a: R) => X): X;
|
|
30
|
+
mplus(a: Either<L, R>): Either<L, R>;
|
|
31
|
+
toMaybe(): Maybe<R>;
|
|
26
32
|
}
|
|
27
33
|
declare class Right<L, R> extends Either<L, R> {
|
|
28
34
|
private 值;
|
|
@@ -37,6 +43,8 @@ declare class Right<L, R> extends Either<L, R> {
|
|
|
37
43
|
assertLeft(): Left<L, R>;
|
|
38
44
|
assertRight(): Right<L, R>;
|
|
39
45
|
match<X>(_onLeft: (a: L) => X, onRight: (a: R) => X): X;
|
|
46
|
+
mplus(_a: Either<L, R>): Either<L, R>;
|
|
47
|
+
toMaybe(): Maybe<R>;
|
|
40
48
|
}
|
|
41
49
|
|
|
42
50
|
export { Either, Left, Right };
|
package/dist/esm/data/either.js
CHANGED
package/dist/esm/data/maybe.d.ts
CHANGED
|
@@ -5,9 +5,10 @@ declare abstract class Maybe<A> {
|
|
|
5
5
|
abstract isJust(): this is Just<A>;
|
|
6
6
|
abstract isNothing(): this is Nothing<A>;
|
|
7
7
|
abstract assertJust(): Just<A>;
|
|
8
|
-
abstract assertNothing(): Nothing<
|
|
8
|
+
abstract assertNothing(): Nothing<any>;
|
|
9
9
|
abstract getJustOrNull(): A | null;
|
|
10
|
-
abstract match<B>(
|
|
10
|
+
abstract match<B>(onNothing: () => B, onJust: (a: A) => B): B;
|
|
11
|
+
abstract mplus(a: Maybe<A>): Maybe<A>;
|
|
11
12
|
}
|
|
12
13
|
declare class Just<A> extends Maybe<A> {
|
|
13
14
|
private 值;
|
|
@@ -20,7 +21,8 @@ declare class Just<A> extends Maybe<A> {
|
|
|
20
21
|
assertNothing(): Nothing<A>;
|
|
21
22
|
getJust(): A;
|
|
22
23
|
getJustOrNull(): A | null;
|
|
23
|
-
match<B>(
|
|
24
|
+
match<B>(_onNothing: () => B, onJust: (a: A) => B): B;
|
|
25
|
+
mplus(_a: Maybe<A>): Maybe<A>;
|
|
24
26
|
}
|
|
25
27
|
declare class Nothing<A> extends Maybe<A> {
|
|
26
28
|
map<B>(_f: (a: A) => B): Maybe<B>;
|
|
@@ -30,7 +32,8 @@ declare class Nothing<A> extends Maybe<A> {
|
|
|
30
32
|
assertJust(): Just<A>;
|
|
31
33
|
assertNothing(): Nothing<A>;
|
|
32
34
|
getJustOrNull(): A | null;
|
|
33
|
-
match<B>(
|
|
35
|
+
match<B>(onNothing: () => B, _onJust: (a: A) => B): B;
|
|
36
|
+
mplus(a: Maybe<A>): Maybe<A>;
|
|
34
37
|
}
|
|
35
38
|
|
|
36
39
|
export { Just, Maybe, Nothing };
|
package/dist/esm/data/maybe.js
CHANGED
package/dist/esm/data/task.d.ts
CHANGED
package/dist/esm/data/task.js
CHANGED
package/dist/esm/func/seq.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
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
|
-
declare function
|
|
8
|
+
declare function seqArrayEitherFirstLeft<A, B>(value: Array<Either<A, B>>): Either<A, Array<B>>;
|
|
9
|
+
declare function seqArrayMaybeFirstNothing<X>(a: Array<Maybe<X>>): Maybe<Array<X>>;
|
|
10
|
+
declare function seqMaybeArray<X>(a: Maybe<Array<X>>): Array<Maybe<X>>;
|
|
11
|
+
declare function seqMaybeTask<X>(a: Maybe<Task<X>>): Task<Maybe<X>>;
|
|
8
12
|
|
|
9
|
-
export {
|
|
13
|
+
export { seqArrayEitherFirstLeft, seqArrayMaybeFirstNothing, seqArrayTask, seqEitherArray, seqEitherTask, seqMaybeArray, seqMaybeTask };
|
package/dist/esm/func/seq.js
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
2
|
+
seqArrayEitherFirstLeft,
|
|
3
|
+
seqArrayMaybeFirstNothing,
|
|
3
4
|
seqArrayTask,
|
|
4
5
|
seqEitherArray,
|
|
5
|
-
seqEitherTask
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
seqEitherTask,
|
|
7
|
+
seqMaybeArray,
|
|
8
|
+
seqMaybeTask
|
|
9
|
+
} from "../chunk-UTZJVGHH.js";
|
|
10
|
+
import "../chunk-IB4BVSOW.js";
|
|
11
|
+
import "../chunk-BE7V6GBG.js";
|
|
12
|
+
import "../chunk-NXA54GUD.js";
|
|
9
13
|
export {
|
|
10
|
-
|
|
14
|
+
seqArrayEitherFirstLeft,
|
|
15
|
+
seqArrayMaybeFirstNothing,
|
|
11
16
|
seqArrayTask,
|
|
12
17
|
seqEitherArray,
|
|
13
|
-
seqEitherTask
|
|
18
|
+
seqEitherTask,
|
|
19
|
+
seqMaybeArray,
|
|
20
|
+
seqMaybeTask
|
|
14
21
|
};
|
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 {
|
|
5
|
+
export { seqArrayEitherFirstLeft, seqArrayMaybeFirstNothing, seqArrayTask, seqEitherArray, seqEitherTask, seqMaybeArray, seqMaybeTask } from './func/seq.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -4,25 +4,28 @@ import {
|
|
|
4
4
|
LazyForceValue
|
|
5
5
|
} from "./chunk-NEBLA4MD.js";
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Nothing
|
|
10
|
-
} from "./chunk-CQG32QQC.js";
|
|
11
|
-
import {
|
|
12
|
-
seqArrayEither,
|
|
7
|
+
seqArrayEitherFirstLeft,
|
|
8
|
+
seqArrayMaybeFirstNothing,
|
|
13
9
|
seqArrayTask,
|
|
14
10
|
seqEitherArray,
|
|
15
|
-
seqEitherTask
|
|
16
|
-
|
|
11
|
+
seqEitherTask,
|
|
12
|
+
seqMaybeArray,
|
|
13
|
+
seqMaybeTask
|
|
14
|
+
} from "./chunk-UTZJVGHH.js";
|
|
17
15
|
import {
|
|
18
16
|
Task,
|
|
19
17
|
TaskDo
|
|
20
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-IB4BVSOW.js";
|
|
21
19
|
import {
|
|
22
20
|
Either,
|
|
23
21
|
Left,
|
|
24
22
|
Right
|
|
25
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-BE7V6GBG.js";
|
|
24
|
+
import {
|
|
25
|
+
Just,
|
|
26
|
+
Maybe,
|
|
27
|
+
Nothing
|
|
28
|
+
} from "./chunk-NXA54GUD.js";
|
|
26
29
|
export {
|
|
27
30
|
Either,
|
|
28
31
|
Just,
|
|
@@ -35,8 +38,11 @@ export {
|
|
|
35
38
|
Right,
|
|
36
39
|
Task,
|
|
37
40
|
TaskDo,
|
|
38
|
-
|
|
41
|
+
seqArrayEitherFirstLeft,
|
|
42
|
+
seqArrayMaybeFirstNothing,
|
|
39
43
|
seqArrayTask,
|
|
40
44
|
seqEitherArray,
|
|
41
|
-
seqEitherTask
|
|
45
|
+
seqEitherTask,
|
|
46
|
+
seqMaybeArray,
|
|
47
|
+
seqMaybeTask
|
|
42
48
|
};
|
package/package.json
CHANGED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Task
|
|
3
|
-
} from "./chunk-OYLE35IQ.js";
|
|
4
|
-
import {
|
|
5
|
-
Left,
|
|
6
|
-
Right
|
|
7
|
-
} from "./chunk-VTI5CRVQ.js";
|
|
8
|
-
|
|
9
|
-
// src/func/seq.ts
|
|
10
|
-
function seqArrayTask(a) {
|
|
11
|
-
return new Task(async () => {
|
|
12
|
-
return Promise.all(a.map(async (a2) => await a2.run()));
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
function seqEitherTask(value) {
|
|
16
|
-
return value.match(
|
|
17
|
-
(err) => Task.pure(new Left(err)),
|
|
18
|
-
(data) => data.map((a) => new Right(a))
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
function seqEitherArray(value) {
|
|
22
|
-
return value.match(
|
|
23
|
-
(err) => [new Left(err)],
|
|
24
|
-
(data) => data.map((a) => new Right(a))
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
function seqArrayEither(value) {
|
|
28
|
-
const err = value.filter((a) => a.isLeft())[0];
|
|
29
|
-
if (err)
|
|
30
|
-
return err;
|
|
31
|
-
const data = value.map((a) => a.assertRight().getRight());
|
|
32
|
-
return new Right(data);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export {
|
|
36
|
-
seqArrayTask,
|
|
37
|
-
seqEitherTask,
|
|
38
|
-
seqEitherArray,
|
|
39
|
-
seqArrayEither
|
|
40
|
-
};
|