@lsby/ts-fp-data 0.0.5 → 0.0.6

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.
@@ -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
- seqArrayTask: () => seqArrayTask
23
+ seqArrayEither: () => seqArrayEither,
24
+ seqArrayTask: () => seqArrayTask,
25
+ seqEitherArray: () => seqEitherArray,
26
+ seqEitherTask: () => seqEitherTask
24
27
  });
25
28
  module.exports = __toCommonJS(seq_exports);
26
29
 
@@ -137,7 +140,29 @@ function seqArrayTask(a) {
137
140
  return Promise.all(a.map(async (a2) => await a2.run()));
138
141
  });
139
142
  }
143
+ function seqEitherTask(value) {
144
+ return value.match(
145
+ (err) => Task.pure(new Left(err)),
146
+ (data) => data.map((a) => new Right(a))
147
+ );
148
+ }
149
+ function seqEitherArray(value) {
150
+ return value.match(
151
+ (err) => [new Left(err)],
152
+ (data) => data.map((a) => new Right(a))
153
+ );
154
+ }
155
+ function seqArrayEither(value) {
156
+ const err = value.filter((a) => a.isLeft())[0];
157
+ if (err)
158
+ return err;
159
+ const data = value.map((a) => a.assertRight().getRight());
160
+ return new Right(data);
161
+ }
140
162
  // Annotate the CommonJS export names for ESM import in node:
141
163
  0 && (module.exports = {
142
- seqArrayTask
164
+ seqArrayEither,
165
+ seqArrayTask,
166
+ seqEitherArray,
167
+ seqEitherTask
143
168
  });
@@ -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 };
@@ -27,7 +27,10 @@ __export(src_exports, {
27
27
  Nothing: () => Nothing,
28
28
  Right: () => Right,
29
29
  Task: () => Task,
30
- seqArrayTask: () => seqArrayTask
30
+ seqArrayEither: () => seqArrayEither,
31
+ seqArrayTask: () => seqArrayTask,
32
+ seqEitherArray: () => seqEitherArray,
33
+ seqEitherTask: () => seqEitherTask
31
34
  });
32
35
  module.exports = __toCommonJS(src_exports);
33
36
 
@@ -198,6 +201,25 @@ function seqArrayTask(a) {
198
201
  return Promise.all(a.map(async (a2) => await a2.run()));
199
202
  });
200
203
  }
204
+ function seqEitherTask(value) {
205
+ return value.match(
206
+ (err) => Task.pure(new Left(err)),
207
+ (data) => data.map((a) => new Right(a))
208
+ );
209
+ }
210
+ function seqEitherArray(value) {
211
+ return value.match(
212
+ (err) => [new Left(err)],
213
+ (data) => data.map((a) => new Right(a))
214
+ );
215
+ }
216
+ function seqArrayEither(value) {
217
+ const err = value.filter((a) => a.isLeft())[0];
218
+ if (err)
219
+ return err;
220
+ const data = value.map((a) => a.assertRight().getRight());
221
+ return new Right(data);
222
+ }
201
223
  // Annotate the CommonJS export names for ESM import in node:
202
224
  0 && (module.exports = {
203
225
  Either,
@@ -207,5 +229,8 @@ function seqArrayTask(a) {
207
229
  Nothing,
208
230
  Right,
209
231
  Task,
210
- seqArrayTask
232
+ seqArrayEither,
233
+ seqArrayTask,
234
+ seqEitherArray,
235
+ seqEitherTask
211
236
  });
@@ -1,4 +1,4 @@
1
1
  export { Task } 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,40 @@
1
+ import {
2
+ Task
3
+ } from "./chunk-2AQUF5MK.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
+ };
@@ -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 };
@@ -1,8 +1,14 @@
1
1
  import {
2
- seqArrayTask
3
- } from "../chunk-VP7O7XD7.js";
2
+ seqArrayEither,
3
+ seqArrayTask,
4
+ seqEitherArray,
5
+ seqEitherTask
6
+ } from "../chunk-M4F5SG35.js";
4
7
  import "../chunk-2AQUF5MK.js";
5
8
  import "../chunk-VTI5CRVQ.js";
6
9
  export {
7
- seqArrayTask
10
+ seqArrayEither,
11
+ seqArrayTask,
12
+ seqEitherArray,
13
+ seqEitherTask
8
14
  };
@@ -1,4 +1,4 @@
1
1
  export { Task } 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,8 +4,11 @@ import {
4
4
  Nothing
5
5
  } from "./chunk-PP7TCBHD.js";
6
6
  import {
7
- seqArrayTask
8
- } from "./chunk-VP7O7XD7.js";
7
+ seqArrayEither,
8
+ seqArrayTask,
9
+ seqEitherArray,
10
+ seqEitherTask
11
+ } from "./chunk-M4F5SG35.js";
9
12
  import {
10
13
  Task
11
14
  } from "./chunk-2AQUF5MK.js";
@@ -22,5 +25,8 @@ export {
22
25
  Nothing,
23
26
  Right,
24
27
  Task,
25
- seqArrayTask
28
+ seqArrayEither,
29
+ seqArrayTask,
30
+ seqEitherArray,
31
+ seqEitherTask
26
32
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lsby/ts-fp-data",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "require": "./dist/cjs/index.cjs",
@@ -1,14 +0,0 @@
1
- import {
2
- Task
3
- } from "./chunk-2AQUF5MK.js";
4
-
5
- // src/func/seq.ts
6
- function seqArrayTask(a) {
7
- return new Task(async () => {
8
- return Promise.all(a.map(async (a2) => await a2.run()));
9
- });
10
- }
11
-
12
- export {
13
- seqArrayTask
14
- };