@lsby/ts-fp-data 0.0.5 → 0.0.7
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/task.cjs +25 -2
- package/dist/cjs/data/task.d.cts +17 -1
- package/dist/cjs/func/seq.cjs +48 -2
- package/dist/cjs/func/seq.d.cts +5 -2
- package/dist/cjs/index.cjs +50 -2
- package/dist/cjs/index.d.cts +2 -2
- package/dist/esm/chunk-F7Q4HROJ.js +58 -0
- package/dist/esm/chunk-LVW727CO.js +40 -0
- package/dist/esm/data/task.d.ts +17 -1
- package/dist/esm/data/task.js +5 -3
- package/dist/esm/func/seq.d.ts +5 -2
- package/dist/esm/func/seq.js +10 -4
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +13 -5
- package/package.json +3 -2
- package/dist/esm/chunk-2AQUF5MK.js +0 -36
- package/dist/esm/chunk-VP7O7XD7.js +0 -14
package/dist/cjs/data/task.cjs
CHANGED
|
@@ -20,7 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/data/task.ts
|
|
21
21
|
var task_exports = {};
|
|
22
22
|
__export(task_exports, {
|
|
23
|
-
Task: () => Task
|
|
23
|
+
Task: () => Task,
|
|
24
|
+
TaskDo: () => TaskDo
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(task_exports);
|
|
26
27
|
|
|
@@ -104,6 +105,24 @@ var Right = class _Right extends Either {
|
|
|
104
105
|
};
|
|
105
106
|
|
|
106
107
|
// src/data/task.ts
|
|
108
|
+
var TaskDo = class _TaskDo {
|
|
109
|
+
constructor(accTask) {
|
|
110
|
+
this.accTask = accTask;
|
|
111
|
+
}
|
|
112
|
+
bind(name, task) {
|
|
113
|
+
return new _TaskDo(
|
|
114
|
+
this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v })))
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
exec(task) {
|
|
118
|
+
return new _TaskDo(this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
|
|
119
|
+
}
|
|
120
|
+
getTask() {
|
|
121
|
+
return new Task(async () => {
|
|
122
|
+
return (await this.accTask.run()).lastValue;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
};
|
|
107
126
|
var Task = class _Task {
|
|
108
127
|
constructor(f) {
|
|
109
128
|
this.f = f;
|
|
@@ -111,6 +130,9 @@ var Task = class _Task {
|
|
|
111
130
|
static pure(a) {
|
|
112
131
|
return new _Task(async () => a);
|
|
113
132
|
}
|
|
133
|
+
static do() {
|
|
134
|
+
return new TaskDo(new _Task(async () => ({ env: {}, lastValue: void 0 })));
|
|
135
|
+
}
|
|
114
136
|
map(f) {
|
|
115
137
|
return new _Task(async () => f(await this.f()));
|
|
116
138
|
}
|
|
@@ -132,5 +154,6 @@ var Task = class _Task {
|
|
|
132
154
|
};
|
|
133
155
|
// Annotate the CommonJS export names for ESM import in node:
|
|
134
156
|
0 && (module.exports = {
|
|
135
|
-
Task
|
|
157
|
+
Task,
|
|
158
|
+
TaskDo
|
|
136
159
|
});
|
package/dist/cjs/data/task.d.cts
CHANGED
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
import { Either } from './either.cjs';
|
|
2
2
|
|
|
3
|
+
interface TaskDoType<Env extends Record<string, any>, A> {
|
|
4
|
+
bind<K extends string, A>(name: K, task: (env: Env) => Task<A>): TaskDoType<Env & Record<K, A>, A>;
|
|
5
|
+
exec<A>(task: (env: Env) => Task<A>): TaskDoType<Env, A>;
|
|
6
|
+
getTask(): Task<A>;
|
|
7
|
+
}
|
|
8
|
+
declare class TaskDo<Env extends Record<string, any>, A> implements TaskDoType<Env, A> {
|
|
9
|
+
private accTask;
|
|
10
|
+
constructor(accTask: Task<{
|
|
11
|
+
env: Env;
|
|
12
|
+
lastValue: A;
|
|
13
|
+
}>);
|
|
14
|
+
bind<K extends string, A>(name: K, task: (env: Env) => Task<A>): TaskDoType<Env & Record<K, A>, A>;
|
|
15
|
+
exec<A>(task: (env: Env) => Task<A>): TaskDoType<Env, A>;
|
|
16
|
+
getTask(): Task<A>;
|
|
17
|
+
}
|
|
3
18
|
declare class Task<A> {
|
|
4
19
|
private f;
|
|
5
20
|
static pure<A>(a: A): Task<A>;
|
|
21
|
+
static do(): TaskDo<Record<string, any>, unknown>;
|
|
6
22
|
constructor(f: () => Promise<A>);
|
|
7
23
|
map<B>(f: (a: A) => B): Task<B>;
|
|
8
24
|
bind<B>(f: (a: A) => Task<B>): Task<B>;
|
|
@@ -10,4 +26,4 @@ declare class Task<A> {
|
|
|
10
26
|
tryRun(): Promise<Either<Error, A>>;
|
|
11
27
|
}
|
|
12
28
|
|
|
13
|
-
export { Task };
|
|
29
|
+
export { Task, TaskDo, type TaskDoType };
|
package/dist/cjs/func/seq.cjs
CHANGED
|
@@ -20,7 +20,10 @@ 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
|
+
seqArrayEither: () => seqArrayEither,
|
|
24
|
+
seqArrayTask: () => seqArrayTask,
|
|
25
|
+
seqEitherArray: () => seqEitherArray,
|
|
26
|
+
seqEitherTask: () => seqEitherTask
|
|
24
27
|
});
|
|
25
28
|
module.exports = __toCommonJS(seq_exports);
|
|
26
29
|
|
|
@@ -104,6 +107,24 @@ var Right = class _Right extends Either {
|
|
|
104
107
|
};
|
|
105
108
|
|
|
106
109
|
// src/data/task.ts
|
|
110
|
+
var TaskDo = class _TaskDo {
|
|
111
|
+
constructor(accTask) {
|
|
112
|
+
this.accTask = accTask;
|
|
113
|
+
}
|
|
114
|
+
bind(name, task) {
|
|
115
|
+
return new _TaskDo(
|
|
116
|
+
this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v })))
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
exec(task) {
|
|
120
|
+
return new _TaskDo(this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
|
|
121
|
+
}
|
|
122
|
+
getTask() {
|
|
123
|
+
return new Task(async () => {
|
|
124
|
+
return (await this.accTask.run()).lastValue;
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
};
|
|
107
128
|
var Task = class _Task {
|
|
108
129
|
constructor(f) {
|
|
109
130
|
this.f = f;
|
|
@@ -111,6 +132,9 @@ var Task = class _Task {
|
|
|
111
132
|
static pure(a) {
|
|
112
133
|
return new _Task(async () => a);
|
|
113
134
|
}
|
|
135
|
+
static do() {
|
|
136
|
+
return new TaskDo(new _Task(async () => ({ env: {}, lastValue: void 0 })));
|
|
137
|
+
}
|
|
114
138
|
map(f) {
|
|
115
139
|
return new _Task(async () => f(await this.f()));
|
|
116
140
|
}
|
|
@@ -137,7 +161,29 @@ function seqArrayTask(a) {
|
|
|
137
161
|
return Promise.all(a.map(async (a2) => await a2.run()));
|
|
138
162
|
});
|
|
139
163
|
}
|
|
164
|
+
function seqEitherTask(value) {
|
|
165
|
+
return value.match(
|
|
166
|
+
(err) => Task.pure(new Left(err)),
|
|
167
|
+
(data) => data.map((a) => new Right(a))
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
function seqEitherArray(value) {
|
|
171
|
+
return value.match(
|
|
172
|
+
(err) => [new Left(err)],
|
|
173
|
+
(data) => data.map((a) => new Right(a))
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
function seqArrayEither(value) {
|
|
177
|
+
const err = value.filter((a) => a.isLeft())[0];
|
|
178
|
+
if (err)
|
|
179
|
+
return err;
|
|
180
|
+
const data = value.map((a) => a.assertRight().getRight());
|
|
181
|
+
return new Right(data);
|
|
182
|
+
}
|
|
140
183
|
// Annotate the CommonJS export names for ESM import in node:
|
|
141
184
|
0 && (module.exports = {
|
|
142
|
-
|
|
185
|
+
seqArrayEither,
|
|
186
|
+
seqArrayTask,
|
|
187
|
+
seqEitherArray,
|
|
188
|
+
seqEitherTask
|
|
143
189
|
});
|
package/dist/cjs/func/seq.d.cts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { Either } from '../data/either.cjs';
|
|
1
2
|
import { Task } from '../data/task.cjs';
|
|
2
|
-
import '../data/either.cjs';
|
|
3
3
|
|
|
4
4
|
declare function seqArrayTask<A>(a: Array<Task<A>>): Task<Array<A>>;
|
|
5
|
+
declare function seqEitherTask<L, R>(value: Either<L, Task<R>>): Task<Either<L, R>>;
|
|
6
|
+
declare function seqEitherArray<A, B>(value: Either<A, Array<B>>): Array<Either<A, B>>;
|
|
7
|
+
declare function seqArrayEither<A, B>(value: Array<Either<A, B>>): Either<A, Array<B>>;
|
|
5
8
|
|
|
6
|
-
export { seqArrayTask };
|
|
9
|
+
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherTask };
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -27,7 +27,11 @@ __export(src_exports, {
|
|
|
27
27
|
Nothing: () => Nothing,
|
|
28
28
|
Right: () => Right,
|
|
29
29
|
Task: () => Task,
|
|
30
|
-
|
|
30
|
+
TaskDo: () => TaskDo,
|
|
31
|
+
seqArrayEither: () => seqArrayEither,
|
|
32
|
+
seqArrayTask: () => seqArrayTask,
|
|
33
|
+
seqEitherArray: () => seqEitherArray,
|
|
34
|
+
seqEitherTask: () => seqEitherTask
|
|
31
35
|
});
|
|
32
36
|
module.exports = __toCommonJS(src_exports);
|
|
33
37
|
|
|
@@ -111,6 +115,24 @@ var Right = class _Right extends Either {
|
|
|
111
115
|
};
|
|
112
116
|
|
|
113
117
|
// src/data/task.ts
|
|
118
|
+
var TaskDo = class _TaskDo {
|
|
119
|
+
constructor(accTask) {
|
|
120
|
+
this.accTask = accTask;
|
|
121
|
+
}
|
|
122
|
+
bind(name, task) {
|
|
123
|
+
return new _TaskDo(
|
|
124
|
+
this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v })))
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
exec(task) {
|
|
128
|
+
return new _TaskDo(this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
|
|
129
|
+
}
|
|
130
|
+
getTask() {
|
|
131
|
+
return new Task(async () => {
|
|
132
|
+
return (await this.accTask.run()).lastValue;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
};
|
|
114
136
|
var Task = class _Task {
|
|
115
137
|
constructor(f) {
|
|
116
138
|
this.f = f;
|
|
@@ -118,6 +140,9 @@ var Task = class _Task {
|
|
|
118
140
|
static pure(a) {
|
|
119
141
|
return new _Task(async () => a);
|
|
120
142
|
}
|
|
143
|
+
static do() {
|
|
144
|
+
return new TaskDo(new _Task(async () => ({ env: {}, lastValue: void 0 })));
|
|
145
|
+
}
|
|
121
146
|
map(f) {
|
|
122
147
|
return new _Task(async () => f(await this.f()));
|
|
123
148
|
}
|
|
@@ -198,6 +223,25 @@ function seqArrayTask(a) {
|
|
|
198
223
|
return Promise.all(a.map(async (a2) => await a2.run()));
|
|
199
224
|
});
|
|
200
225
|
}
|
|
226
|
+
function seqEitherTask(value) {
|
|
227
|
+
return value.match(
|
|
228
|
+
(err) => Task.pure(new Left(err)),
|
|
229
|
+
(data) => data.map((a) => new Right(a))
|
|
230
|
+
);
|
|
231
|
+
}
|
|
232
|
+
function seqEitherArray(value) {
|
|
233
|
+
return value.match(
|
|
234
|
+
(err) => [new Left(err)],
|
|
235
|
+
(data) => data.map((a) => new Right(a))
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
function seqArrayEither(value) {
|
|
239
|
+
const err = value.filter((a) => a.isLeft())[0];
|
|
240
|
+
if (err)
|
|
241
|
+
return err;
|
|
242
|
+
const data = value.map((a) => a.assertRight().getRight());
|
|
243
|
+
return new Right(data);
|
|
244
|
+
}
|
|
201
245
|
// Annotate the CommonJS export names for ESM import in node:
|
|
202
246
|
0 && (module.exports = {
|
|
203
247
|
Either,
|
|
@@ -207,5 +251,9 @@ function seqArrayTask(a) {
|
|
|
207
251
|
Nothing,
|
|
208
252
|
Right,
|
|
209
253
|
Task,
|
|
210
|
-
|
|
254
|
+
TaskDo,
|
|
255
|
+
seqArrayEither,
|
|
256
|
+
seqArrayTask,
|
|
257
|
+
seqEitherArray,
|
|
258
|
+
seqEitherTask
|
|
211
259
|
});
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Task } from './data/task.cjs';
|
|
1
|
+
export { Task, TaskDo, TaskDoType } from './data/task.cjs';
|
|
2
2
|
export { Just, Maybe, Nothing } from './data/maybe.cjs';
|
|
3
3
|
export { Either, Left, Right } from './data/either.cjs';
|
|
4
|
-
export { seqArrayTask } from './func/seq.cjs';
|
|
4
|
+
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherTask } from './func/seq.cjs';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Left,
|
|
3
|
+
Right
|
|
4
|
+
} from "./chunk-VTI5CRVQ.js";
|
|
5
|
+
|
|
6
|
+
// src/data/task.ts
|
|
7
|
+
var TaskDo = class _TaskDo {
|
|
8
|
+
constructor(accTask) {
|
|
9
|
+
this.accTask = accTask;
|
|
10
|
+
}
|
|
11
|
+
bind(name, task) {
|
|
12
|
+
return new _TaskDo(
|
|
13
|
+
this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v })))
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
exec(task) {
|
|
17
|
+
return new _TaskDo(this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
|
|
18
|
+
}
|
|
19
|
+
getTask() {
|
|
20
|
+
return new Task(async () => {
|
|
21
|
+
return (await this.accTask.run()).lastValue;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
var Task = class _Task {
|
|
26
|
+
constructor(f) {
|
|
27
|
+
this.f = f;
|
|
28
|
+
}
|
|
29
|
+
static pure(a) {
|
|
30
|
+
return new _Task(async () => a);
|
|
31
|
+
}
|
|
32
|
+
static do() {
|
|
33
|
+
return new TaskDo(new _Task(async () => ({ env: {}, lastValue: void 0 })));
|
|
34
|
+
}
|
|
35
|
+
map(f) {
|
|
36
|
+
return new _Task(async () => f(await this.f()));
|
|
37
|
+
}
|
|
38
|
+
bind(f) {
|
|
39
|
+
return new _Task(async () => f(await this.f()).run());
|
|
40
|
+
}
|
|
41
|
+
run() {
|
|
42
|
+
return this.f();
|
|
43
|
+
}
|
|
44
|
+
async tryRun() {
|
|
45
|
+
try {
|
|
46
|
+
return new Right(await this.run());
|
|
47
|
+
} catch (e) {
|
|
48
|
+
if (e instanceof Error)
|
|
49
|
+
return new Left(e);
|
|
50
|
+
return new Left(new Error(String(e)));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export {
|
|
56
|
+
TaskDo,
|
|
57
|
+
Task
|
|
58
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Task
|
|
3
|
+
} from "./chunk-F7Q4HROJ.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
|
+
};
|
package/dist/esm/data/task.d.ts
CHANGED
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
import { Either } from './either.js';
|
|
2
2
|
|
|
3
|
+
interface TaskDoType<Env extends Record<string, any>, A> {
|
|
4
|
+
bind<K extends string, A>(name: K, task: (env: Env) => Task<A>): TaskDoType<Env & Record<K, A>, A>;
|
|
5
|
+
exec<A>(task: (env: Env) => Task<A>): TaskDoType<Env, A>;
|
|
6
|
+
getTask(): Task<A>;
|
|
7
|
+
}
|
|
8
|
+
declare class TaskDo<Env extends Record<string, any>, A> implements TaskDoType<Env, A> {
|
|
9
|
+
private accTask;
|
|
10
|
+
constructor(accTask: Task<{
|
|
11
|
+
env: Env;
|
|
12
|
+
lastValue: A;
|
|
13
|
+
}>);
|
|
14
|
+
bind<K extends string, A>(name: K, task: (env: Env) => Task<A>): TaskDoType<Env & Record<K, A>, A>;
|
|
15
|
+
exec<A>(task: (env: Env) => Task<A>): TaskDoType<Env, A>;
|
|
16
|
+
getTask(): Task<A>;
|
|
17
|
+
}
|
|
3
18
|
declare class Task<A> {
|
|
4
19
|
private f;
|
|
5
20
|
static pure<A>(a: A): Task<A>;
|
|
21
|
+
static do(): TaskDo<Record<string, any>, unknown>;
|
|
6
22
|
constructor(f: () => Promise<A>);
|
|
7
23
|
map<B>(f: (a: A) => B): Task<B>;
|
|
8
24
|
bind<B>(f: (a: A) => Task<B>): Task<B>;
|
|
@@ -10,4 +26,4 @@ declare class Task<A> {
|
|
|
10
26
|
tryRun(): Promise<Either<Error, A>>;
|
|
11
27
|
}
|
|
12
28
|
|
|
13
|
-
export { Task };
|
|
29
|
+
export { Task, TaskDo, type TaskDoType };
|
package/dist/esm/data/task.js
CHANGED
package/dist/esm/func/seq.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { Either } from '../data/either.js';
|
|
1
2
|
import { Task } from '../data/task.js';
|
|
2
|
-
import '../data/either.js';
|
|
3
3
|
|
|
4
4
|
declare function seqArrayTask<A>(a: Array<Task<A>>): Task<Array<A>>;
|
|
5
|
+
declare function seqEitherTask<L, R>(value: Either<L, Task<R>>): Task<Either<L, R>>;
|
|
6
|
+
declare function seqEitherArray<A, B>(value: Either<A, Array<B>>): Array<Either<A, B>>;
|
|
7
|
+
declare function seqArrayEither<A, B>(value: Array<Either<A, B>>): Either<A, Array<B>>;
|
|
5
8
|
|
|
6
|
-
export { seqArrayTask };
|
|
9
|
+
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherTask };
|
package/dist/esm/func/seq.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
seqArrayEither,
|
|
3
|
+
seqArrayTask,
|
|
4
|
+
seqEitherArray,
|
|
5
|
+
seqEitherTask
|
|
6
|
+
} from "../chunk-LVW727CO.js";
|
|
7
|
+
import "../chunk-F7Q4HROJ.js";
|
|
5
8
|
import "../chunk-VTI5CRVQ.js";
|
|
6
9
|
export {
|
|
7
|
-
|
|
10
|
+
seqArrayEither,
|
|
11
|
+
seqArrayTask,
|
|
12
|
+
seqEitherArray,
|
|
13
|
+
seqEitherTask
|
|
8
14
|
};
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Task } from './data/task.js';
|
|
1
|
+
export { Task, TaskDo, TaskDoType } from './data/task.js';
|
|
2
2
|
export { Just, Maybe, Nothing } from './data/maybe.js';
|
|
3
3
|
export { Either, Left, Right } from './data/either.js';
|
|
4
|
-
export { seqArrayTask } from './func/seq.js';
|
|
4
|
+
export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherTask } from './func/seq.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -4,11 +4,15 @@ import {
|
|
|
4
4
|
Nothing
|
|
5
5
|
} from "./chunk-PP7TCBHD.js";
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
seqArrayEither,
|
|
8
|
+
seqArrayTask,
|
|
9
|
+
seqEitherArray,
|
|
10
|
+
seqEitherTask
|
|
11
|
+
} from "./chunk-LVW727CO.js";
|
|
9
12
|
import {
|
|
10
|
-
Task
|
|
11
|
-
|
|
13
|
+
Task,
|
|
14
|
+
TaskDo
|
|
15
|
+
} from "./chunk-F7Q4HROJ.js";
|
|
12
16
|
import {
|
|
13
17
|
Either,
|
|
14
18
|
Left,
|
|
@@ -22,5 +26,9 @@ export {
|
|
|
22
26
|
Nothing,
|
|
23
27
|
Right,
|
|
24
28
|
Task,
|
|
25
|
-
|
|
29
|
+
TaskDo,
|
|
30
|
+
seqArrayEither,
|
|
31
|
+
seqArrayTask,
|
|
32
|
+
seqEitherArray,
|
|
33
|
+
seqEitherTask
|
|
26
34
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lsby/ts-fp-data",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"require": "./dist/cjs/index.cjs",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"other:pub": "npm run other:typecheck && npm run build:all && bumpp && pnpm -r publish --access public",
|
|
37
37
|
"other:typecheck": "tsc --noEmit",
|
|
38
38
|
"other:typecheck:watch": "tsc --noEmit -w",
|
|
39
|
-
"run:start": "tsx src/index.ts"
|
|
39
|
+
"run:start": "tsx src/index.ts",
|
|
40
|
+
"run:test": "tsx test/index.ts"
|
|
40
41
|
}
|
|
41
42
|
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Left,
|
|
3
|
-
Right
|
|
4
|
-
} from "./chunk-VTI5CRVQ.js";
|
|
5
|
-
|
|
6
|
-
// src/data/task.ts
|
|
7
|
-
var Task = class _Task {
|
|
8
|
-
constructor(f) {
|
|
9
|
-
this.f = f;
|
|
10
|
-
}
|
|
11
|
-
static pure(a) {
|
|
12
|
-
return new _Task(async () => a);
|
|
13
|
-
}
|
|
14
|
-
map(f) {
|
|
15
|
-
return new _Task(async () => f(await this.f()));
|
|
16
|
-
}
|
|
17
|
-
bind(f) {
|
|
18
|
-
return new _Task(async () => f(await this.f()).run());
|
|
19
|
-
}
|
|
20
|
-
run() {
|
|
21
|
-
return this.f();
|
|
22
|
-
}
|
|
23
|
-
async tryRun() {
|
|
24
|
-
try {
|
|
25
|
-
return new Right(await this.run());
|
|
26
|
-
} catch (e) {
|
|
27
|
-
if (e instanceof Error)
|
|
28
|
-
return new Left(e);
|
|
29
|
-
return new Left(new Error(String(e)));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
export {
|
|
35
|
-
Task
|
|
36
|
-
};
|