@lsby/ts-fp-data 0.1.3 → 0.1.4

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.
@@ -23,7 +23,9 @@ __export(seq_exports, {
23
23
  seqArrayEither: () => seqArrayEither,
24
24
  seqArrayTask: () => seqArrayTask,
25
25
  seqEitherArray: () => seqEitherArray,
26
- seqEitherTask: () => seqEitherTask
26
+ seqEitherPromise: () => seqEitherPromise,
27
+ seqEitherTask: () => seqEitherTask,
28
+ seqMaybePromise: () => seqMaybePromise
27
29
  });
28
30
  module.exports = __toCommonJS(seq_exports);
29
31
 
@@ -106,6 +108,72 @@ var Right = class _Right extends Either {
106
108
  }
107
109
  };
108
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() {
135
+ return this;
136
+ }
137
+ assertNothing() {
138
+ throw new Error("\u65AD\u8A00\u5931\u8D25");
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();
174
+ }
175
+ };
176
+
109
177
  // src/data/task.ts
110
178
  var TaskDo = class _TaskDo {
111
179
  constructor(accTask) {
@@ -225,10 +293,24 @@ function seqArrayEither(value) {
225
293
  const data = value.map((a) => a.assertRight().getRight());
226
294
  return new Right(data);
227
295
  }
296
+ function seqMaybePromise(a) {
297
+ return a.match(
298
+ async (a2) => new Just(await a2),
299
+ async () => new Nothing()
300
+ );
301
+ }
302
+ function seqEitherPromise(a) {
303
+ return a.match(
304
+ async (a2) => new Left(a2),
305
+ async (a2) => new Right(await a2)
306
+ );
307
+ }
228
308
  // Annotate the CommonJS export names for ESM import in node:
229
309
  0 && (module.exports = {
230
310
  seqArrayEither,
231
311
  seqArrayTask,
232
312
  seqEitherArray,
233
- seqEitherTask
313
+ seqEitherPromise,
314
+ seqEitherTask,
315
+ seqMaybePromise
234
316
  });
@@ -1,9 +1,12 @@
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
8
  declare function seqArrayEither<A, B>(value: Array<Either<A, B>>): Either<A, Array<B>>;
9
+ declare function seqMaybePromise<A>(a: Maybe<Promise<A>>): Promise<Maybe<A>>;
10
+ declare function seqEitherPromise<L, R>(a: Either<L, Promise<R>>): Promise<Either<L, R>>;
8
11
 
9
- export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherTask };
12
+ export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherPromise, seqEitherTask, seqMaybePromise };
@@ -34,7 +34,9 @@ __export(src_exports, {
34
34
  seqArrayEither: () => seqArrayEither,
35
35
  seqArrayTask: () => seqArrayTask,
36
36
  seqEitherArray: () => seqEitherArray,
37
- seqEitherTask: () => seqEitherTask
37
+ seqEitherPromise: () => seqEitherPromise,
38
+ seqEitherTask: () => seqEitherTask,
39
+ seqMaybePromise: () => seqMaybePromise
38
40
  });
39
41
  module.exports = __toCommonJS(src_exports);
40
42
 
@@ -334,6 +336,18 @@ function seqArrayEither(value) {
334
336
  const data = value.map((a) => a.assertRight().getRight());
335
337
  return new Right(data);
336
338
  }
339
+ function seqMaybePromise(a) {
340
+ return a.match(
341
+ async (a2) => new Just(await a2),
342
+ async () => new Nothing()
343
+ );
344
+ }
345
+ function seqEitherPromise(a) {
346
+ return a.match(
347
+ async (a2) => new Left(a2),
348
+ async (a2) => new Right(await a2)
349
+ );
350
+ }
337
351
  // Annotate the CommonJS export names for ESM import in node:
338
352
  0 && (module.exports = {
339
353
  Either,
@@ -350,5 +364,7 @@ function seqArrayEither(value) {
350
364
  seqArrayEither,
351
365
  seqArrayTask,
352
366
  seqEitherArray,
353
- seqEitherTask
367
+ seqEitherPromise,
368
+ seqEitherTask,
369
+ seqMaybePromise
354
370
  });
@@ -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 { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherTask } from './func/seq.cjs';
5
+ export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherPromise, seqEitherTask, seqMaybePromise } from './func/seq.cjs';
@@ -1,3 +1,7 @@
1
+ import {
2
+ Just,
3
+ Nothing
4
+ } from "./chunk-CQG32QQC.js";
1
5
  import {
2
6
  Task
3
7
  } from "./chunk-OYLE35IQ.js";
@@ -31,10 +35,24 @@ function seqArrayEither(value) {
31
35
  const data = value.map((a) => a.assertRight().getRight());
32
36
  return new Right(data);
33
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
+ }
34
50
 
35
51
  export {
36
52
  seqArrayTask,
37
53
  seqEitherTask,
38
54
  seqEitherArray,
39
- seqArrayEither
55
+ seqArrayEither,
56
+ seqMaybePromise,
57
+ seqEitherPromise
40
58
  };
@@ -1,9 +1,12 @@
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
8
  declare function seqArrayEither<A, B>(value: Array<Either<A, B>>): Either<A, Array<B>>;
9
+ declare function seqMaybePromise<A>(a: Maybe<Promise<A>>): Promise<Maybe<A>>;
10
+ declare function seqEitherPromise<L, R>(a: Either<L, Promise<R>>): Promise<Either<L, R>>;
8
11
 
9
- export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherTask };
12
+ export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherPromise, seqEitherTask, seqMaybePromise };
@@ -2,13 +2,18 @@ import {
2
2
  seqArrayEither,
3
3
  seqArrayTask,
4
4
  seqEitherArray,
5
- seqEitherTask
6
- } from "../chunk-IHXXIFRN.js";
5
+ seqEitherPromise,
6
+ seqEitherTask,
7
+ seqMaybePromise
8
+ } from "../chunk-UQKW2A3C.js";
9
+ import "../chunk-CQG32QQC.js";
7
10
  import "../chunk-OYLE35IQ.js";
8
11
  import "../chunk-VTI5CRVQ.js";
9
12
  export {
10
13
  seqArrayEither,
11
14
  seqArrayTask,
12
15
  seqEitherArray,
13
- seqEitherTask
16
+ seqEitherPromise,
17
+ seqEitherTask,
18
+ seqMaybePromise
14
19
  };
@@ -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 { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherTask } from './func/seq.js';
5
+ export { seqArrayEither, seqArrayTask, seqEitherArray, seqEitherPromise, seqEitherTask, seqMaybePromise } from './func/seq.js';
package/dist/esm/index.js CHANGED
@@ -3,17 +3,19 @@ import {
3
3
  LazyDeferValue,
4
4
  LazyForceValue
5
5
  } from "./chunk-NEBLA4MD.js";
6
+ import {
7
+ seqArrayEither,
8
+ seqArrayTask,
9
+ seqEitherArray,
10
+ seqEitherPromise,
11
+ seqEitherTask,
12
+ seqMaybePromise
13
+ } from "./chunk-UQKW2A3C.js";
6
14
  import {
7
15
  Just,
8
16
  Maybe,
9
17
  Nothing
10
18
  } from "./chunk-CQG32QQC.js";
11
- import {
12
- seqArrayEither,
13
- seqArrayTask,
14
- seqEitherArray,
15
- seqEitherTask
16
- } from "./chunk-IHXXIFRN.js";
17
19
  import {
18
20
  Task,
19
21
  TaskDo
@@ -38,5 +40,7 @@ export {
38
40
  seqArrayEither,
39
41
  seqArrayTask,
40
42
  seqEitherArray,
41
- seqEitherTask
43
+ seqEitherPromise,
44
+ seqEitherTask,
45
+ seqMaybePromise
42
46
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lsby/ts-fp-data",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "require": "./dist/cjs/index.cjs",