@lsby/ts-fp-data 0.2.1 → 0.2.3

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.
@@ -99,10 +99,17 @@ var Nothing = class _Nothing extends Maybe {
99
99
  };
100
100
 
101
101
  // src/data/either.ts
102
- var Either = class {
102
+ var Either = class _Either {
103
103
  static pure(a) {
104
104
  return new Right(a);
105
105
  }
106
+ static lift(arr, f) {
107
+ const \u7B2C\u4E00\u4E2A\u5DE6\u503C = arr.find((a) => a.getTag() == "Left");
108
+ if (\u7B2C\u4E00\u4E2A\u5DE6\u503C != null) {
109
+ return \u7B2C\u4E00\u4E2A\u5DE6\u503C;
110
+ }
111
+ return _Either.pure(f(arr.map((a) => a.assertRight().getRight())));
112
+ }
106
113
  };
107
114
  var Left = class _Left extends Either {
108
115
  constructor(\u503C) {
@@ -130,6 +137,9 @@ var Left = class _Left extends Either {
130
137
  getValue() {
131
138
  return this.\u503C;
132
139
  }
140
+ getTag() {
141
+ return "Left";
142
+ }
133
143
  assertLeft() {
134
144
  return this;
135
145
  }
@@ -145,6 +155,9 @@ var Left = class _Left extends Either {
145
155
  toMaybe() {
146
156
  return new Nothing();
147
157
  }
158
+ try() {
159
+ throw this.\u503C;
160
+ }
148
161
  };
149
162
  var Right = class _Right extends Either {
150
163
  constructor(\u503C) {
@@ -172,6 +185,9 @@ var Right = class _Right extends Either {
172
185
  getValue() {
173
186
  return this.\u503C;
174
187
  }
188
+ getTag() {
189
+ return "Right";
190
+ }
175
191
  assertLeft() {
176
192
  throw new Error("\u65AD\u8A00\u5931\u8D25");
177
193
  }
@@ -187,6 +203,9 @@ var Right = class _Right extends Either {
187
203
  toMaybe() {
188
204
  return new Just(this.\u503C);
189
205
  }
206
+ try() {
207
+ return this.\u503C;
208
+ }
190
209
  };
191
210
  // Annotate the CommonJS export names for ESM import in node:
192
211
  0 && (module.exports = {
@@ -1,18 +1,25 @@
1
+ import { 元组转联合 as _____ } from '../types/types.cjs';
1
2
  import { Maybe } from './maybe.cjs';
2
3
 
4
+ type 任意Either = Either<any, any>;
5
+ type 计算右值们<A> = A extends [] ? [] : A extends [infer x, ...infer xs] ? x extends Either<unknown, infer c> ? [c, ...计算右值们<xs>] : never : never;
6
+ type 计算左值们<A> = A extends [] ? [] : A extends [infer x, ...infer xs] ? x extends Either<infer c, unknown> ? [c, ...计算左值们<xs>] : never : never;
3
7
  declare abstract class Either<L, R> {
4
8
  static pure<L, R>(a: R): Either<L, R>;
9
+ static lift<B, Arr extends 任意Either[]>(arr: [...Arr], f: (a: 计算右值们<Arr>) => B): Either<_____<计算左值们<Arr>>, B>;
5
10
  abstract map<B>(_f: (a: R) => B): Either<L, B>;
6
11
  abstract mapLeft<B>(f: (a: L) => B): Either<B, R>;
7
12
  abstract bind<B>(_f: (a: R) => Either<L, B>): Either<L, B>;
8
13
  abstract isLeft(): this is Left<L, R>;
9
14
  abstract isRight(): this is Right<L, R>;
10
15
  abstract getValue(): L | R;
16
+ abstract getTag(): 'Left' | 'Right';
11
17
  abstract assertLeft(): Left<L, R>;
12
18
  abstract assertRight(): Right<L, R>;
13
19
  abstract match<X>(onLeft: (a: L) => X, onRight: (a: R) => X): X;
14
20
  abstract mplus(a: Either<L, R>): Either<L, R>;
15
21
  abstract toMaybe(): Maybe<R>;
22
+ abstract try(): R;
16
23
  }
17
24
  declare class Left<L, R> extends Either<L, R> {
18
25
  private 值;
@@ -24,11 +31,13 @@ declare class Left<L, R> extends Either<L, R> {
24
31
  isRight(): this is Right<L, R>;
25
32
  getLeft(): L;
26
33
  getValue(): L | R;
34
+ getTag(): 'Left' | 'Right';
27
35
  assertLeft(): Left<L, R>;
28
36
  assertRight(): Right<L, R>;
29
37
  match<X>(onLeft: (a: L) => X, _onRight: (a: R) => X): X;
30
38
  mplus(a: Either<L, R>): Either<L, R>;
31
39
  toMaybe(): Maybe<R>;
40
+ try(): R;
32
41
  }
33
42
  declare class Right<L, R> extends Either<L, R> {
34
43
  private 值;
@@ -40,11 +49,13 @@ declare class Right<L, R> extends Either<L, R> {
40
49
  isRight(): this is Right<L, R>;
41
50
  getRight(): R;
42
51
  getValue(): L | R;
52
+ getTag(): 'Left' | 'Right';
43
53
  assertLeft(): Left<L, R>;
44
54
  assertRight(): Right<L, R>;
45
55
  match<X>(_onLeft: (a: L) => X, onRight: (a: R) => X): X;
46
56
  mplus(_a: Either<L, R>): Either<L, R>;
47
57
  toMaybe(): Maybe<R>;
58
+ try(): R;
48
59
  }
49
60
 
50
- export { Either, Left, Right };
61
+ export { Either, Left, Right, type 任意Either, type 计算右值们, type 计算左值们 };
@@ -98,10 +98,17 @@ var Nothing = class _Nothing extends Maybe {
98
98
  };
99
99
 
100
100
  // src/data/either.ts
101
- var Either = class {
101
+ var Either = class _Either {
102
102
  static pure(a) {
103
103
  return new Right(a);
104
104
  }
105
+ static lift(arr, f) {
106
+ const \u7B2C\u4E00\u4E2A\u5DE6\u503C = arr.find((a) => a.getTag() == "Left");
107
+ if (\u7B2C\u4E00\u4E2A\u5DE6\u503C != null) {
108
+ return \u7B2C\u4E00\u4E2A\u5DE6\u503C;
109
+ }
110
+ return _Either.pure(f(arr.map((a) => a.assertRight().getRight())));
111
+ }
105
112
  };
106
113
  var Left = class _Left extends Either {
107
114
  constructor(\u503C) {
@@ -129,6 +136,9 @@ var Left = class _Left extends Either {
129
136
  getValue() {
130
137
  return this.\u503C;
131
138
  }
139
+ getTag() {
140
+ return "Left";
141
+ }
132
142
  assertLeft() {
133
143
  return this;
134
144
  }
@@ -144,6 +154,9 @@ var Left = class _Left extends Either {
144
154
  toMaybe() {
145
155
  return new Nothing();
146
156
  }
157
+ try() {
158
+ throw this.\u503C;
159
+ }
147
160
  };
148
161
  var Right = class _Right extends Either {
149
162
  constructor(\u503C) {
@@ -171,6 +184,9 @@ var Right = class _Right extends Either {
171
184
  getValue() {
172
185
  return this.\u503C;
173
186
  }
187
+ getTag() {
188
+ return "Right";
189
+ }
174
190
  assertLeft() {
175
191
  throw new Error("\u65AD\u8A00\u5931\u8D25");
176
192
  }
@@ -186,6 +202,9 @@ var Right = class _Right extends Either {
186
202
  toMaybe() {
187
203
  return new Just(this.\u503C);
188
204
  }
205
+ try() {
206
+ return this.\u503C;
207
+ }
189
208
  };
190
209
 
191
210
  // src/data/task.ts
@@ -229,6 +248,7 @@ var TaskDo = class _TaskDo {
229
248
  (c) => c ? Task.pure(task(a.env)).bind((x) => Task.pure({ env: a.env, lastValue: x, lock: true })) : Task.pure({
230
249
  env: a.env,
231
250
  /*从类型可以确保if没命中的情况pureIf来补充正确的候选值, 所以这里跳过ts检查*/
251
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
232
252
  lastValue: a.lastValue,
233
253
  lock: false
234
254
  })
@@ -1,4 +1,5 @@
1
1
  import { Either } from './either.cjs';
2
+ import '../types/types.cjs';
2
3
  import './maybe.cjs';
3
4
 
4
5
  type TaskDoTypeBase<Env extends Record<string, any>, A> = {
@@ -105,10 +105,17 @@ var Nothing = class _Nothing extends Maybe {
105
105
  };
106
106
 
107
107
  // src/data/either.ts
108
- var Either = class {
108
+ var Either = class _Either {
109
109
  static pure(a) {
110
110
  return new Right(a);
111
111
  }
112
+ static lift(arr, f) {
113
+ const \u7B2C\u4E00\u4E2A\u5DE6\u503C = arr.find((a) => a.getTag() == "Left");
114
+ if (\u7B2C\u4E00\u4E2A\u5DE6\u503C != null) {
115
+ return \u7B2C\u4E00\u4E2A\u5DE6\u503C;
116
+ }
117
+ return _Either.pure(f(arr.map((a) => a.assertRight().getRight())));
118
+ }
112
119
  };
113
120
  var Left = class _Left extends Either {
114
121
  constructor(\u503C) {
@@ -136,6 +143,9 @@ var Left = class _Left extends Either {
136
143
  getValue() {
137
144
  return this.\u503C;
138
145
  }
146
+ getTag() {
147
+ return "Left";
148
+ }
139
149
  assertLeft() {
140
150
  return this;
141
151
  }
@@ -151,6 +161,9 @@ var Left = class _Left extends Either {
151
161
  toMaybe() {
152
162
  return new Nothing();
153
163
  }
164
+ try() {
165
+ throw this.\u503C;
166
+ }
154
167
  };
155
168
  var Right = class _Right extends Either {
156
169
  constructor(\u503C) {
@@ -178,6 +191,9 @@ var Right = class _Right extends Either {
178
191
  getValue() {
179
192
  return this.\u503C;
180
193
  }
194
+ getTag() {
195
+ return "Right";
196
+ }
181
197
  assertLeft() {
182
198
  throw new Error("\u65AD\u8A00\u5931\u8D25");
183
199
  }
@@ -193,6 +209,9 @@ var Right = class _Right extends Either {
193
209
  toMaybe() {
194
210
  return new Just(this.\u503C);
195
211
  }
212
+ try() {
213
+ return this.\u503C;
214
+ }
196
215
  };
197
216
 
198
217
  // src/data/task.ts
@@ -236,6 +255,7 @@ var TaskDo = class _TaskDo {
236
255
  (c) => c ? Task.pure(task(a.env)).bind((x) => Task.pure({ env: a.env, lastValue: x, lock: true })) : Task.pure({
237
256
  env: a.env,
238
257
  /*从类型可以确保if没命中的情况pureIf来补充正确的候选值, 所以这里跳过ts检查*/
258
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
239
259
  lastValue: a.lastValue,
240
260
  lock: false
241
261
  })
@@ -1,6 +1,7 @@
1
1
  import { Either } from '../data/either.cjs';
2
2
  import { Maybe } from '../data/maybe.cjs';
3
3
  import { Task } from '../data/task.cjs';
4
+ import '../types/types.cjs';
4
5
 
5
6
  declare function seqArrayTask<A>(a: Array<Task<A>>): Task<Array<A>>;
6
7
  declare function seqEitherTask<L, R>(value: Either<L, Task<R>>): Task<Either<L, R>>;
@@ -116,10 +116,17 @@ var Nothing = class _Nothing extends Maybe {
116
116
  };
117
117
 
118
118
  // src/data/either.ts
119
- var Either = class {
119
+ var Either = class _Either {
120
120
  static pure(a) {
121
121
  return new Right(a);
122
122
  }
123
+ static lift(arr, f) {
124
+ const \u7B2C\u4E00\u4E2A\u5DE6\u503C = arr.find((a) => a.getTag() == "Left");
125
+ if (\u7B2C\u4E00\u4E2A\u5DE6\u503C != null) {
126
+ return \u7B2C\u4E00\u4E2A\u5DE6\u503C;
127
+ }
128
+ return _Either.pure(f(arr.map((a) => a.assertRight().getRight())));
129
+ }
123
130
  };
124
131
  var Left = class _Left extends Either {
125
132
  constructor(\u503C) {
@@ -147,6 +154,9 @@ var Left = class _Left extends Either {
147
154
  getValue() {
148
155
  return this.\u503C;
149
156
  }
157
+ getTag() {
158
+ return "Left";
159
+ }
150
160
  assertLeft() {
151
161
  return this;
152
162
  }
@@ -162,6 +172,9 @@ var Left = class _Left extends Either {
162
172
  toMaybe() {
163
173
  return new Nothing();
164
174
  }
175
+ try() {
176
+ throw this.\u503C;
177
+ }
165
178
  };
166
179
  var Right = class _Right extends Either {
167
180
  constructor(\u503C) {
@@ -189,6 +202,9 @@ var Right = class _Right extends Either {
189
202
  getValue() {
190
203
  return this.\u503C;
191
204
  }
205
+ getTag() {
206
+ return "Right";
207
+ }
192
208
  assertLeft() {
193
209
  throw new Error("\u65AD\u8A00\u5931\u8D25");
194
210
  }
@@ -204,6 +220,9 @@ var Right = class _Right extends Either {
204
220
  toMaybe() {
205
221
  return new Just(this.\u503C);
206
222
  }
223
+ try() {
224
+ return this.\u503C;
225
+ }
207
226
  };
208
227
 
209
228
  // src/data/lazy.ts
@@ -279,6 +298,7 @@ var TaskDo = class _TaskDo {
279
298
  (c) => c ? Task.pure(task(a.env)).bind((x) => Task.pure({ env: a.env, lastValue: x, lock: true })) : Task.pure({
280
299
  env: a.env,
281
300
  /*从类型可以确保if没命中的情况pureIf来补充正确的候选值, 所以这里跳过ts检查*/
301
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
282
302
  lastValue: a.lastValue,
283
303
  lock: false
284
304
  })
@@ -1,5 +1,6 @@
1
- export { Either, Left, Right } from './data/either.cjs';
1
+ export { Either, Left, Right, 任意Either, 计算右值们, 计算左值们 } 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
5
  export { seqArrayEitherCollectRight, seqArrayEitherFirstLeft, seqArrayMaybeCollectJust, seqArrayMaybeFirstNothing, seqArrayTask, seqEitherArray, seqEitherTask, seqMaybeArray, seqMaybeTask } from './func/seq.cjs';
6
+ import './types/types.cjs';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/types/types.ts
17
+ var types_exports = {};
18
+ module.exports = __toCommonJS(types_exports);
@@ -0,0 +1,3 @@
1
+ type 元组转联合<A> = A extends any[] ? A[number] : never;
2
+
3
+ export type { 元组转联合 };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Task
3
- } from "./chunk-IB4BVSOW.js";
3
+ } from "./chunk-EFQMZNIN.js";
4
4
  import {
5
5
  Left,
6
6
  Right
7
- } from "./chunk-BE7V6GBG.js";
7
+ } from "./chunk-CMETOIMZ.js";
8
8
  import {
9
9
  Just,
10
10
  Nothing
@@ -4,10 +4,17 @@ import {
4
4
  } from "./chunk-NXA54GUD.js";
5
5
 
6
6
  // src/data/either.ts
7
- var Either = class {
7
+ var Either = class _Either {
8
8
  static pure(a) {
9
9
  return new Right(a);
10
10
  }
11
+ static lift(arr, f) {
12
+ const \u7B2C\u4E00\u4E2A\u5DE6\u503C = arr.find((a) => a.getTag() == "Left");
13
+ if (\u7B2C\u4E00\u4E2A\u5DE6\u503C != null) {
14
+ return \u7B2C\u4E00\u4E2A\u5DE6\u503C;
15
+ }
16
+ return _Either.pure(f(arr.map((a) => a.assertRight().getRight())));
17
+ }
11
18
  };
12
19
  var Left = class _Left extends Either {
13
20
  constructor(\u503C) {
@@ -35,6 +42,9 @@ var Left = class _Left extends Either {
35
42
  getValue() {
36
43
  return this.\u503C;
37
44
  }
45
+ getTag() {
46
+ return "Left";
47
+ }
38
48
  assertLeft() {
39
49
  return this;
40
50
  }
@@ -50,6 +60,9 @@ var Left = class _Left extends Either {
50
60
  toMaybe() {
51
61
  return new Nothing();
52
62
  }
63
+ try() {
64
+ throw this.\u503C;
65
+ }
53
66
  };
54
67
  var Right = class _Right extends Either {
55
68
  constructor(\u503C) {
@@ -77,6 +90,9 @@ var Right = class _Right extends Either {
77
90
  getValue() {
78
91
  return this.\u503C;
79
92
  }
93
+ getTag() {
94
+ return "Right";
95
+ }
80
96
  assertLeft() {
81
97
  throw new Error("\u65AD\u8A00\u5931\u8D25");
82
98
  }
@@ -92,6 +108,9 @@ var Right = class _Right extends Either {
92
108
  toMaybe() {
93
109
  return new Just(this.\u503C);
94
110
  }
111
+ try() {
112
+ return this.\u503C;
113
+ }
95
114
  };
96
115
 
97
116
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Left,
3
3
  Right
4
- } from "./chunk-BE7V6GBG.js";
4
+ } from "./chunk-CMETOIMZ.js";
5
5
 
6
6
  // src/data/task.ts
7
7
  var TaskDo = class _TaskDo {
@@ -44,6 +44,7 @@ var TaskDo = class _TaskDo {
44
44
  (c) => c ? Task.pure(task(a.env)).bind((x) => Task.pure({ env: a.env, lastValue: x, lock: true })) : Task.pure({
45
45
  env: a.env,
46
46
  /*从类型可以确保if没命中的情况pureIf来补充正确的候选值, 所以这里跳过ts检查*/
47
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
47
48
  lastValue: a.lastValue,
48
49
  lock: false
49
50
  })
@@ -1,18 +1,25 @@
1
+ import { 元组转联合 as _____ } from '../types/types.js';
1
2
  import { Maybe } from './maybe.js';
2
3
 
4
+ type 任意Either = Either<any, any>;
5
+ type 计算右值们<A> = A extends [] ? [] : A extends [infer x, ...infer xs] ? x extends Either<unknown, infer c> ? [c, ...计算右值们<xs>] : never : never;
6
+ type 计算左值们<A> = A extends [] ? [] : A extends [infer x, ...infer xs] ? x extends Either<infer c, unknown> ? [c, ...计算左值们<xs>] : never : never;
3
7
  declare abstract class Either<L, R> {
4
8
  static pure<L, R>(a: R): Either<L, R>;
9
+ static lift<B, Arr extends 任意Either[]>(arr: [...Arr], f: (a: 计算右值们<Arr>) => B): Either<_____<计算左值们<Arr>>, B>;
5
10
  abstract map<B>(_f: (a: R) => B): Either<L, B>;
6
11
  abstract mapLeft<B>(f: (a: L) => B): Either<B, R>;
7
12
  abstract bind<B>(_f: (a: R) => Either<L, B>): Either<L, B>;
8
13
  abstract isLeft(): this is Left<L, R>;
9
14
  abstract isRight(): this is Right<L, R>;
10
15
  abstract getValue(): L | R;
16
+ abstract getTag(): 'Left' | 'Right';
11
17
  abstract assertLeft(): Left<L, R>;
12
18
  abstract assertRight(): Right<L, R>;
13
19
  abstract match<X>(onLeft: (a: L) => X, onRight: (a: R) => X): X;
14
20
  abstract mplus(a: Either<L, R>): Either<L, R>;
15
21
  abstract toMaybe(): Maybe<R>;
22
+ abstract try(): R;
16
23
  }
17
24
  declare class Left<L, R> extends Either<L, R> {
18
25
  private 值;
@@ -24,11 +31,13 @@ declare class Left<L, R> extends Either<L, R> {
24
31
  isRight(): this is Right<L, R>;
25
32
  getLeft(): L;
26
33
  getValue(): L | R;
34
+ getTag(): 'Left' | 'Right';
27
35
  assertLeft(): Left<L, R>;
28
36
  assertRight(): Right<L, R>;
29
37
  match<X>(onLeft: (a: L) => X, _onRight: (a: R) => X): X;
30
38
  mplus(a: Either<L, R>): Either<L, R>;
31
39
  toMaybe(): Maybe<R>;
40
+ try(): R;
32
41
  }
33
42
  declare class Right<L, R> extends Either<L, R> {
34
43
  private 值;
@@ -40,11 +49,13 @@ declare class Right<L, R> extends Either<L, R> {
40
49
  isRight(): this is Right<L, R>;
41
50
  getRight(): R;
42
51
  getValue(): L | R;
52
+ getTag(): 'Left' | 'Right';
43
53
  assertLeft(): Left<L, R>;
44
54
  assertRight(): Right<L, R>;
45
55
  match<X>(_onLeft: (a: L) => X, onRight: (a: R) => X): X;
46
56
  mplus(_a: Either<L, R>): Either<L, R>;
47
57
  toMaybe(): Maybe<R>;
58
+ try(): R;
48
59
  }
49
60
 
50
- export { Either, Left, Right };
61
+ export { Either, Left, Right, type 任意Either, type 计算右值们, type 计算左值们 };
@@ -2,7 +2,7 @@ import {
2
2
  Either,
3
3
  Left,
4
4
  Right
5
- } from "../chunk-BE7V6GBG.js";
5
+ } from "../chunk-CMETOIMZ.js";
6
6
  import "../chunk-NXA54GUD.js";
7
7
  export {
8
8
  Either,
@@ -1,4 +1,5 @@
1
1
  import { Either } from './either.js';
2
+ import '../types/types.js';
2
3
  import './maybe.js';
3
4
 
4
5
  type TaskDoTypeBase<Env extends Record<string, any>, A> = {
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  Task,
3
3
  TaskDo
4
- } from "../chunk-IB4BVSOW.js";
5
- import "../chunk-BE7V6GBG.js";
4
+ } from "../chunk-EFQMZNIN.js";
5
+ import "../chunk-CMETOIMZ.js";
6
6
  import "../chunk-NXA54GUD.js";
7
7
  export {
8
8
  Task,
@@ -1,6 +1,7 @@
1
1
  import { Either } from '../data/either.js';
2
2
  import { Maybe } from '../data/maybe.js';
3
3
  import { Task } from '../data/task.js';
4
+ import '../types/types.js';
4
5
 
5
6
  declare function seqArrayTask<A>(a: Array<Task<A>>): Task<Array<A>>;
6
7
  declare function seqEitherTask<L, R>(value: Either<L, Task<R>>): Task<Either<L, R>>;
@@ -8,9 +8,9 @@ import {
8
8
  seqEitherTask,
9
9
  seqMaybeArray,
10
10
  seqMaybeTask
11
- } from "../chunk-B2G2C6YM.js";
12
- import "../chunk-IB4BVSOW.js";
13
- import "../chunk-BE7V6GBG.js";
11
+ } from "../chunk-6EMV6TLL.js";
12
+ import "../chunk-EFQMZNIN.js";
13
+ import "../chunk-CMETOIMZ.js";
14
14
  import "../chunk-NXA54GUD.js";
15
15
  export {
16
16
  seqArrayEitherCollectRight,
@@ -1,5 +1,6 @@
1
- export { Either, Left, Right } from './data/either.js';
1
+ export { Either, Left, Right, 任意Either, 计算右值们, 计算左值们 } 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
5
  export { seqArrayEitherCollectRight, seqArrayEitherFirstLeft, seqArrayMaybeCollectJust, seqArrayMaybeFirstNothing, seqArrayTask, seqEitherArray, seqEitherTask, seqMaybeArray, seqMaybeTask } from './func/seq.js';
6
+ import './types/types.js';
package/dist/esm/index.js CHANGED
@@ -13,16 +13,16 @@ import {
13
13
  seqEitherTask,
14
14
  seqMaybeArray,
15
15
  seqMaybeTask
16
- } from "./chunk-B2G2C6YM.js";
16
+ } from "./chunk-6EMV6TLL.js";
17
17
  import {
18
18
  Task,
19
19
  TaskDo
20
- } from "./chunk-IB4BVSOW.js";
20
+ } from "./chunk-EFQMZNIN.js";
21
21
  import {
22
22
  Either,
23
23
  Left,
24
24
  Right
25
- } from "./chunk-BE7V6GBG.js";
25
+ } from "./chunk-CMETOIMZ.js";
26
26
  import {
27
27
  Just,
28
28
  Maybe,
@@ -0,0 +1,3 @@
1
+ type 元组转联合<A> = A extends any[] ? A[number] : never;
2
+
3
+ export type { 元组转联合 };
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lsby/ts-fp-data",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "require": "./dist/cjs/index.cjs",
@@ -34,5 +34,6 @@
34
34
  "tsup": "^8.0.2",
35
35
  "typescript": "^5.4.5",
36
36
  "vitest": "^2.0.2"
37
- }
38
- }
37
+ },
38
+ "packageManager": "pnpm@9.7.1+sha512.faf344af2d6ca65c4c5c8c2224ea77a81a5e8859cbc4e06b1511ddce2f0151512431dd19e6aff31f2c6a8f5f2aced9bd2273e1fed7dd4de1868984059d2c4247"
39
+ }