@lsby/ts-fp-data 0.0.4 → 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.
@@ -120,9 +120,9 @@ var Task = class _Task {
120
120
  run() {
121
121
  return this.f();
122
122
  }
123
- tryRun() {
123
+ async tryRun() {
124
124
  try {
125
- return new Right(this.run());
125
+ return new Right(await this.run());
126
126
  } catch (e) {
127
127
  if (e instanceof Error)
128
128
  return new Left(e);
@@ -7,7 +7,7 @@ declare class Task<A> {
7
7
  map<B>(f: (a: A) => B): Task<B>;
8
8
  bind<B>(f: (a: A) => Task<B>): Task<B>;
9
9
  run(): Promise<A>;
10
- tryRun(): Either<Error, Promise<A>>;
10
+ tryRun(): Promise<Either<Error, A>>;
11
11
  }
12
12
 
13
13
  export { Task };
@@ -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
 
@@ -120,9 +123,9 @@ var Task = class _Task {
120
123
  run() {
121
124
  return this.f();
122
125
  }
123
- tryRun() {
126
+ async tryRun() {
124
127
  try {
125
- return new Right(this.run());
128
+ return new Right(await this.run());
126
129
  } catch (e) {
127
130
  if (e instanceof Error)
128
131
  return new Left(e);
@@ -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
 
@@ -127,9 +130,9 @@ var Task = class _Task {
127
130
  run() {
128
131
  return this.f();
129
132
  }
130
- tryRun() {
133
+ async tryRun() {
131
134
  try {
132
- return new Right(this.run());
135
+ return new Right(await this.run());
133
136
  } catch (e) {
134
137
  if (e instanceof Error)
135
138
  return new Left(e);
@@ -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';
@@ -20,9 +20,9 @@ var Task = class _Task {
20
20
  run() {
21
21
  return this.f();
22
22
  }
23
- tryRun() {
23
+ async tryRun() {
24
24
  try {
25
- return new Right(this.run());
25
+ return new Right(await this.run());
26
26
  } catch (e) {
27
27
  if (e instanceof Error)
28
28
  return new Left(e);
@@ -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
+ };
@@ -7,7 +7,7 @@ declare class Task<A> {
7
7
  map<B>(f: (a: A) => B): Task<B>;
8
8
  bind<B>(f: (a: A) => Task<B>): Task<B>;
9
9
  run(): Promise<A>;
10
- tryRun(): Either<Error, Promise<A>>;
10
+ tryRun(): Promise<Either<Error, A>>;
11
11
  }
12
12
 
13
13
  export { Task };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Task
3
- } from "../chunk-V3O5DWBY.js";
3
+ } from "../chunk-2AQUF5MK.js";
4
4
  import "../chunk-VTI5CRVQ.js";
5
5
  export {
6
6
  Task
@@ -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-IGVGNMBF.js";
4
- import "../chunk-V3O5DWBY.js";
2
+ seqArrayEither,
3
+ seqArrayTask,
4
+ seqEitherArray,
5
+ seqEitherTask
6
+ } from "../chunk-M4F5SG35.js";
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,11 +4,14 @@ import {
4
4
  Nothing
5
5
  } from "./chunk-PP7TCBHD.js";
6
6
  import {
7
- seqArrayTask
8
- } from "./chunk-IGVGNMBF.js";
7
+ seqArrayEither,
8
+ seqArrayTask,
9
+ seqEitherArray,
10
+ seqEitherTask
11
+ } from "./chunk-M4F5SG35.js";
9
12
  import {
10
13
  Task
11
- } from "./chunk-V3O5DWBY.js";
14
+ } from "./chunk-2AQUF5MK.js";
12
15
  import {
13
16
  Either,
14
17
  Left,
@@ -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.4",
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-V3O5DWBY.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
- };