@lsby/ts-fp-data 0.1.4 → 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 +105 -78
- package/dist/cjs/func/seq.d.cts +5 -4
- package/dist/cjs/index.cjs +108 -81
- 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 +5 -4
- package/dist/esm/func/seq.js +12 -10
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +16 -14
- package/package.json +1 -1
- package/dist/esm/chunk-UQKW2A3C.js +0 -58
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,15 +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
|
-
seqEitherPromise: () => seqEitherPromise,
|
|
27
27
|
seqEitherTask: () => seqEitherTask,
|
|
28
|
-
|
|
28
|
+
seqMaybeArray: () => seqMaybeArray,
|
|
29
|
+
seqMaybeTask: () => seqMaybeTask
|
|
29
30
|
});
|
|
30
31
|
module.exports = __toCommonJS(seq_exports);
|
|
31
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
|
+
|
|
32
105
|
// src/data/either.ts
|
|
33
106
|
var Either = class {
|
|
34
107
|
static pure(a) {
|
|
@@ -70,6 +143,12 @@ var Left = class _Left extends Either {
|
|
|
70
143
|
match(onLeft, _onRight) {
|
|
71
144
|
return onLeft(this.\u503C);
|
|
72
145
|
}
|
|
146
|
+
mplus(a) {
|
|
147
|
+
return a;
|
|
148
|
+
}
|
|
149
|
+
toMaybe() {
|
|
150
|
+
return new Nothing();
|
|
151
|
+
}
|
|
73
152
|
};
|
|
74
153
|
var Right = class _Right extends Either {
|
|
75
154
|
constructor(\u503C) {
|
|
@@ -106,71 +185,11 @@ var Right = class _Right extends Either {
|
|
|
106
185
|
match(_onLeft, onRight) {
|
|
107
186
|
return onRight(this.\u503C);
|
|
108
187
|
}
|
|
109
|
-
|
|
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() {
|
|
188
|
+
mplus(_a) {
|
|
135
189
|
return this;
|
|
136
190
|
}
|
|
137
|
-
|
|
138
|
-
|
|
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();
|
|
191
|
+
toMaybe() {
|
|
192
|
+
return new Just(this.\u503C);
|
|
174
193
|
}
|
|
175
194
|
};
|
|
176
195
|
|
|
@@ -286,31 +305,39 @@ function seqEitherArray(value) {
|
|
|
286
305
|
(data) => data.map((a) => new Right(a))
|
|
287
306
|
);
|
|
288
307
|
}
|
|
289
|
-
function
|
|
290
|
-
|
|
308
|
+
function seqArrayEitherFirstLeft(value) {
|
|
309
|
+
var err = value.filter((a) => a.isLeft())[0];
|
|
291
310
|
if (err)
|
|
292
311
|
return err;
|
|
293
|
-
|
|
312
|
+
var data = value.map((a) => a.assertRight().getRight());
|
|
294
313
|
return new Right(data);
|
|
295
314
|
}
|
|
296
|
-
function
|
|
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) {
|
|
297
323
|
return a.match(
|
|
298
|
-
|
|
299
|
-
|
|
324
|
+
() => [new Nothing()],
|
|
325
|
+
(array) => array.map((x) => new Just(x))
|
|
300
326
|
);
|
|
301
327
|
}
|
|
302
|
-
function
|
|
328
|
+
function seqMaybeTask(a) {
|
|
303
329
|
return a.match(
|
|
304
|
-
|
|
305
|
-
|
|
330
|
+
() => Task.pure(new Nothing()),
|
|
331
|
+
(task) => task.map((a2) => new Just(a2))
|
|
306
332
|
);
|
|
307
333
|
}
|
|
308
334
|
// Annotate the CommonJS export names for ESM import in node:
|
|
309
335
|
0 && (module.exports = {
|
|
310
|
-
|
|
336
|
+
seqArrayEitherFirstLeft,
|
|
337
|
+
seqArrayMaybeFirstNothing,
|
|
311
338
|
seqArrayTask,
|
|
312
339
|
seqEitherArray,
|
|
313
|
-
seqEitherPromise,
|
|
314
340
|
seqEitherTask,
|
|
315
|
-
|
|
341
|
+
seqMaybeArray,
|
|
342
|
+
seqMaybeTask
|
|
316
343
|
});
|
package/dist/cjs/func/seq.d.cts
CHANGED
|
@@ -5,8 +5,9 @@ import { Task } from '../data/task.cjs';
|
|
|
5
5
|
declare function seqArrayTask<A>(a: Array<Task<A>>): Task<Array<A>>;
|
|
6
6
|
declare function seqEitherTask<L, R>(value: Either<L, Task<R>>): Task<Either<L, R>>;
|
|
7
7
|
declare function seqEitherArray<A, B>(value: Either<A, Array<B>>): Array<Either<A, B>>;
|
|
8
|
-
declare function
|
|
9
|
-
declare function
|
|
10
|
-
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>>;
|
|
11
12
|
|
|
12
|
-
export {
|
|
13
|
+
export { seqArrayEitherFirstLeft, seqArrayMaybeFirstNothing, seqArrayTask, seqEitherArray, seqEitherTask, seqMaybeArray, seqMaybeTask };
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -31,15 +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
|
-
seqEitherPromise: () => seqEitherPromise,
|
|
38
38
|
seqEitherTask: () => seqEitherTask,
|
|
39
|
-
|
|
39
|
+
seqMaybeArray: () => seqMaybeArray,
|
|
40
|
+
seqMaybeTask: () => seqMaybeTask
|
|
40
41
|
});
|
|
41
42
|
module.exports = __toCommonJS(src_exports);
|
|
42
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
|
+
|
|
43
116
|
// src/data/either.ts
|
|
44
117
|
var Either = class {
|
|
45
118
|
static pure(a) {
|
|
@@ -81,6 +154,12 @@ var Left = class _Left extends Either {
|
|
|
81
154
|
match(onLeft, _onRight) {
|
|
82
155
|
return onLeft(this.\u503C);
|
|
83
156
|
}
|
|
157
|
+
mplus(a) {
|
|
158
|
+
return a;
|
|
159
|
+
}
|
|
160
|
+
toMaybe() {
|
|
161
|
+
return new Nothing();
|
|
162
|
+
}
|
|
84
163
|
};
|
|
85
164
|
var Right = class _Right extends Either {
|
|
86
165
|
constructor(\u503C) {
|
|
@@ -117,6 +196,12 @@ var Right = class _Right extends Either {
|
|
|
117
196
|
match(_onLeft, onRight) {
|
|
118
197
|
return onRight(this.\u503C);
|
|
119
198
|
}
|
|
199
|
+
mplus(_a) {
|
|
200
|
+
return this;
|
|
201
|
+
}
|
|
202
|
+
toMaybe() {
|
|
203
|
+
return new Just(this.\u503C);
|
|
204
|
+
}
|
|
120
205
|
};
|
|
121
206
|
|
|
122
207
|
// src/data/lazy.ts
|
|
@@ -151,72 +236,6 @@ var LazyForceValue = class _LazyForceValue extends Lazy {
|
|
|
151
236
|
}
|
|
152
237
|
};
|
|
153
238
|
|
|
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
|
-
|
|
220
239
|
// src/data/task.ts
|
|
221
240
|
var TaskDo = class _TaskDo {
|
|
222
241
|
constructor(accTask) {
|
|
@@ -329,23 +348,30 @@ function seqEitherArray(value) {
|
|
|
329
348
|
(data) => data.map((a) => new Right(a))
|
|
330
349
|
);
|
|
331
350
|
}
|
|
332
|
-
function
|
|
333
|
-
|
|
351
|
+
function seqArrayEitherFirstLeft(value) {
|
|
352
|
+
var err = value.filter((a) => a.isLeft())[0];
|
|
334
353
|
if (err)
|
|
335
354
|
return err;
|
|
336
|
-
|
|
355
|
+
var data = value.map((a) => a.assertRight().getRight());
|
|
337
356
|
return new Right(data);
|
|
338
357
|
}
|
|
339
|
-
function
|
|
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) {
|
|
340
366
|
return a.match(
|
|
341
|
-
|
|
342
|
-
|
|
367
|
+
() => [new Nothing()],
|
|
368
|
+
(array) => array.map((x) => new Just(x))
|
|
343
369
|
);
|
|
344
370
|
}
|
|
345
|
-
function
|
|
371
|
+
function seqMaybeTask(a) {
|
|
346
372
|
return a.match(
|
|
347
|
-
|
|
348
|
-
|
|
373
|
+
() => Task.pure(new Nothing()),
|
|
374
|
+
(task) => task.map((a2) => new Just(a2))
|
|
349
375
|
);
|
|
350
376
|
}
|
|
351
377
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -361,10 +387,11 @@ function seqEitherPromise(a) {
|
|
|
361
387
|
Right,
|
|
362
388
|
Task,
|
|
363
389
|
TaskDo,
|
|
364
|
-
|
|
390
|
+
seqArrayEitherFirstLeft,
|
|
391
|
+
seqArrayMaybeFirstNothing,
|
|
365
392
|
seqArrayTask,
|
|
366
393
|
seqEitherArray,
|
|
367
|
-
seqEitherPromise,
|
|
368
394
|
seqEitherTask,
|
|
369
|
-
|
|
395
|
+
seqMaybeArray,
|
|
396
|
+
seqMaybeTask
|
|
370
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
|
@@ -5,8 +5,9 @@ import { Task } from '../data/task.js';
|
|
|
5
5
|
declare function seqArrayTask<A>(a: Array<Task<A>>): Task<Array<A>>;
|
|
6
6
|
declare function seqEitherTask<L, R>(value: Either<L, Task<R>>): Task<Either<L, R>>;
|
|
7
7
|
declare function seqEitherArray<A, B>(value: Either<A, Array<B>>): Array<Either<A, B>>;
|
|
8
|
-
declare function
|
|
9
|
-
declare function
|
|
10
|
-
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>>;
|
|
11
12
|
|
|
12
|
-
export {
|
|
13
|
+
export { seqArrayEitherFirstLeft, seqArrayMaybeFirstNothing, seqArrayTask, seqEitherArray, seqEitherTask, seqMaybeArray, seqMaybeTask };
|
package/dist/esm/func/seq.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
2
|
+
seqArrayEitherFirstLeft,
|
|
3
|
+
seqArrayMaybeFirstNothing,
|
|
3
4
|
seqArrayTask,
|
|
4
5
|
seqEitherArray,
|
|
5
|
-
seqEitherPromise,
|
|
6
6
|
seqEitherTask,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
7
|
+
seqMaybeArray,
|
|
8
|
+
seqMaybeTask
|
|
9
|
+
} from "../chunk-UTZJVGHH.js";
|
|
10
|
+
import "../chunk-IB4BVSOW.js";
|
|
11
|
+
import "../chunk-BE7V6GBG.js";
|
|
12
|
+
import "../chunk-NXA54GUD.js";
|
|
12
13
|
export {
|
|
13
|
-
|
|
14
|
+
seqArrayEitherFirstLeft,
|
|
15
|
+
seqArrayMaybeFirstNothing,
|
|
14
16
|
seqArrayTask,
|
|
15
17
|
seqEitherArray,
|
|
16
|
-
seqEitherPromise,
|
|
17
18
|
seqEitherTask,
|
|
18
|
-
|
|
19
|
+
seqMaybeArray,
|
|
20
|
+
seqMaybeTask
|
|
19
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,27 +4,28 @@ import {
|
|
|
4
4
|
LazyForceValue
|
|
5
5
|
} from "./chunk-NEBLA4MD.js";
|
|
6
6
|
import {
|
|
7
|
-
|
|
7
|
+
seqArrayEitherFirstLeft,
|
|
8
|
+
seqArrayMaybeFirstNothing,
|
|
8
9
|
seqArrayTask,
|
|
9
10
|
seqEitherArray,
|
|
10
|
-
seqEitherPromise,
|
|
11
11
|
seqEitherTask,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Just,
|
|
16
|
-
Maybe,
|
|
17
|
-
Nothing
|
|
18
|
-
} from "./chunk-CQG32QQC.js";
|
|
12
|
+
seqMaybeArray,
|
|
13
|
+
seqMaybeTask
|
|
14
|
+
} from "./chunk-UTZJVGHH.js";
|
|
19
15
|
import {
|
|
20
16
|
Task,
|
|
21
17
|
TaskDo
|
|
22
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-IB4BVSOW.js";
|
|
23
19
|
import {
|
|
24
20
|
Either,
|
|
25
21
|
Left,
|
|
26
22
|
Right
|
|
27
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-BE7V6GBG.js";
|
|
24
|
+
import {
|
|
25
|
+
Just,
|
|
26
|
+
Maybe,
|
|
27
|
+
Nothing
|
|
28
|
+
} from "./chunk-NXA54GUD.js";
|
|
28
29
|
export {
|
|
29
30
|
Either,
|
|
30
31
|
Just,
|
|
@@ -37,10 +38,11 @@ export {
|
|
|
37
38
|
Right,
|
|
38
39
|
Task,
|
|
39
40
|
TaskDo,
|
|
40
|
-
|
|
41
|
+
seqArrayEitherFirstLeft,
|
|
42
|
+
seqArrayMaybeFirstNothing,
|
|
41
43
|
seqArrayTask,
|
|
42
44
|
seqEitherArray,
|
|
43
|
-
seqEitherPromise,
|
|
44
45
|
seqEitherTask,
|
|
45
|
-
|
|
46
|
+
seqMaybeArray,
|
|
47
|
+
seqMaybeTask
|
|
46
48
|
};
|
package/package.json
CHANGED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Just,
|
|
3
|
-
Nothing
|
|
4
|
-
} from "./chunk-CQG32QQC.js";
|
|
5
|
-
import {
|
|
6
|
-
Task
|
|
7
|
-
} from "./chunk-OYLE35IQ.js";
|
|
8
|
-
import {
|
|
9
|
-
Left,
|
|
10
|
-
Right
|
|
11
|
-
} from "./chunk-VTI5CRVQ.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 seqArrayEither(value) {
|
|
32
|
-
const err = value.filter((a) => a.isLeft())[0];
|
|
33
|
-
if (err)
|
|
34
|
-
return err;
|
|
35
|
-
const data = value.map((a) => a.assertRight().getRight());
|
|
36
|
-
return new Right(data);
|
|
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
|
-
}
|
|
50
|
-
|
|
51
|
-
export {
|
|
52
|
-
seqArrayTask,
|
|
53
|
-
seqEitherTask,
|
|
54
|
-
seqEitherArray,
|
|
55
|
-
seqArrayEither,
|
|
56
|
-
seqMaybePromise,
|
|
57
|
-
seqEitherPromise
|
|
58
|
-
};
|