@nlozgachev/pipelined 0.36.0 → 0.37.1
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/README.md +18 -7
- package/dist/{Task-DXsuurnc.d.mts → Task-DcXhCZYg.d.mts} +472 -380
- package/dist/{Task-zAY4kSVB.d.ts → Task-uupX7xd9.d.ts} +472 -380
- package/dist/{chunk-VWVPHDZO.mjs → chunk-5AFEEFE4.mjs} +5 -1
- package/dist/{chunk-IJFFWBKW.mjs → chunk-E7YI5PVW.mjs} +2 -2
- package/dist/{chunk-4QMYKCWE.mjs → chunk-M2X7TFKN.mjs} +500 -100
- package/dist/core.d.mts +743 -605
- package/dist/core.d.ts +743 -605
- package/dist/core.js +336 -246
- package/dist/core.mjs +6 -8
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +353 -263
- package/dist/index.mjs +16 -21
- package/dist/types.d.mts +29 -29
- package/dist/types.d.ts +29 -29
- package/dist/types.mjs +3 -6
- package/dist/utils.d.mts +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +89 -51
- package/dist/utils.mjs +3 -4
- package/package.json +17 -5
- package/dist/chunk-DBIC62UV.mjs +0 -6
- package/dist/chunk-DLBHVYII.mjs +0 -322
- package/dist/chunk-IPP4XFYH.mjs +0 -0
package/dist/index.mjs
CHANGED
|
@@ -28,12 +28,22 @@ import {
|
|
|
28
28
|
uncurry3,
|
|
29
29
|
uncurry4
|
|
30
30
|
} from "./chunk-3Q5UBRYB.mjs";
|
|
31
|
+
import {
|
|
32
|
+
Arr,
|
|
33
|
+
Dict,
|
|
34
|
+
Num,
|
|
35
|
+
Rec,
|
|
36
|
+
Str,
|
|
37
|
+
Uniq
|
|
38
|
+
} from "./chunk-E7YI5PVW.mjs";
|
|
31
39
|
import {
|
|
32
40
|
Combinable,
|
|
41
|
+
Deferred,
|
|
33
42
|
Equality,
|
|
34
43
|
Lazy,
|
|
35
44
|
Lens,
|
|
36
45
|
Logged,
|
|
46
|
+
Maybe,
|
|
37
47
|
Op,
|
|
38
48
|
Optional,
|
|
39
49
|
Ordering,
|
|
@@ -42,36 +52,21 @@ import {
|
|
|
42
52
|
Refinement,
|
|
43
53
|
RemoteData,
|
|
44
54
|
Resource,
|
|
55
|
+
Result,
|
|
45
56
|
State,
|
|
57
|
+
Task,
|
|
46
58
|
TaskMaybe,
|
|
47
59
|
TaskResult,
|
|
48
60
|
TaskValidation,
|
|
49
61
|
These,
|
|
50
62
|
Tuple,
|
|
51
63
|
Validation
|
|
52
|
-
} from "./chunk-
|
|
53
|
-
import {
|
|
54
|
-
Arr,
|
|
55
|
-
Dict,
|
|
56
|
-
Num,
|
|
57
|
-
Rec,
|
|
58
|
-
Str,
|
|
59
|
-
Uniq
|
|
60
|
-
} from "./chunk-IJFFWBKW.mjs";
|
|
61
|
-
import {
|
|
62
|
-
Deferred,
|
|
63
|
-
Maybe,
|
|
64
|
-
Result,
|
|
65
|
-
Task
|
|
66
|
-
} from "./chunk-DLBHVYII.mjs";
|
|
67
|
-
import "./chunk-IPP4XFYH.mjs";
|
|
68
|
-
import {
|
|
69
|
-
isNonEmptyList
|
|
70
|
-
} from "./chunk-DBIC62UV.mjs";
|
|
64
|
+
} from "./chunk-M2X7TFKN.mjs";
|
|
71
65
|
import {
|
|
72
66
|
Brand,
|
|
73
|
-
Duration
|
|
74
|
-
|
|
67
|
+
Duration,
|
|
68
|
+
isNonEmptyList
|
|
69
|
+
} from "./chunk-5AFEEFE4.mjs";
|
|
75
70
|
export {
|
|
76
71
|
Arr,
|
|
77
72
|
Brand,
|
package/dist/types.d.mts
CHANGED
|
@@ -1,32 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A list that is guaranteed to have at least one element.
|
|
3
|
-
* Useful for ensuring functions receive non-empty input and for
|
|
4
|
-
* accumulating errors in Validation.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```ts
|
|
8
|
-
* const errors: NonEmptyList<string> = ["First error", "Second error"];
|
|
9
|
-
*
|
|
10
|
-
* // TypeScript ensures at least one element:
|
|
11
|
-
* const invalid: NonEmptyList<string> = []; // Error!
|
|
12
|
-
* ```
|
|
13
|
-
*/
|
|
14
|
-
type NonEmptyList<A> = readonly [A, ...A[]];
|
|
15
|
-
/**
|
|
16
|
-
* Type guard that checks if an array is non-empty.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```ts
|
|
20
|
-
* const items: string[] = getItems();
|
|
21
|
-
*
|
|
22
|
-
* if (isNonEmptyList(items)) {
|
|
23
|
-
* // TypeScript knows items has at least one element
|
|
24
|
-
* const first = items[0]; // string, not string | undefined
|
|
25
|
-
* }
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
declare const isNonEmptyList: <A>(list: readonly A[]) => list is NonEmptyList<A>;
|
|
29
|
-
|
|
30
1
|
declare const _brand: unique symbol;
|
|
31
2
|
/**
|
|
32
3
|
* Brand<K, T> creates a nominal type by tagging T with a phantom brand K.
|
|
@@ -153,4 +124,33 @@ declare namespace Duration {
|
|
|
153
124
|
const subtract: (other: Duration) => (self: Duration) => Duration;
|
|
154
125
|
}
|
|
155
126
|
|
|
127
|
+
/**
|
|
128
|
+
* A list that is guaranteed to have at least one element.
|
|
129
|
+
* Useful for ensuring functions receive non-empty input and for
|
|
130
|
+
* accumulating errors in Validation.
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```ts
|
|
134
|
+
* const errors: NonEmptyList<string> = ["First error", "Second error"];
|
|
135
|
+
*
|
|
136
|
+
* // TypeScript ensures at least one element:
|
|
137
|
+
* const invalid: NonEmptyList<string> = []; // Error!
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
type NonEmptyList<A> = readonly [A, ...A[]];
|
|
141
|
+
/**
|
|
142
|
+
* Type guard that checks if an array is non-empty.
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```ts
|
|
146
|
+
* const items: string[] = getItems();
|
|
147
|
+
*
|
|
148
|
+
* if (isNonEmptyList(items)) {
|
|
149
|
+
* // TypeScript knows items has at least one element
|
|
150
|
+
* const first = items[0]; // string, not string | undefined
|
|
151
|
+
* }
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
declare const isNonEmptyList: <A>(list: readonly A[]) => list is NonEmptyList<A>;
|
|
155
|
+
|
|
156
156
|
export { Brand, Duration, type NonEmptyList, isNonEmptyList };
|
package/dist/types.d.ts
CHANGED
|
@@ -1,32 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A list that is guaranteed to have at least one element.
|
|
3
|
-
* Useful for ensuring functions receive non-empty input and for
|
|
4
|
-
* accumulating errors in Validation.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```ts
|
|
8
|
-
* const errors: NonEmptyList<string> = ["First error", "Second error"];
|
|
9
|
-
*
|
|
10
|
-
* // TypeScript ensures at least one element:
|
|
11
|
-
* const invalid: NonEmptyList<string> = []; // Error!
|
|
12
|
-
* ```
|
|
13
|
-
*/
|
|
14
|
-
type NonEmptyList<A> = readonly [A, ...A[]];
|
|
15
|
-
/**
|
|
16
|
-
* Type guard that checks if an array is non-empty.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```ts
|
|
20
|
-
* const items: string[] = getItems();
|
|
21
|
-
*
|
|
22
|
-
* if (isNonEmptyList(items)) {
|
|
23
|
-
* // TypeScript knows items has at least one element
|
|
24
|
-
* const first = items[0]; // string, not string | undefined
|
|
25
|
-
* }
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
declare const isNonEmptyList: <A>(list: readonly A[]) => list is NonEmptyList<A>;
|
|
29
|
-
|
|
30
1
|
declare const _brand: unique symbol;
|
|
31
2
|
/**
|
|
32
3
|
* Brand<K, T> creates a nominal type by tagging T with a phantom brand K.
|
|
@@ -153,4 +124,33 @@ declare namespace Duration {
|
|
|
153
124
|
const subtract: (other: Duration) => (self: Duration) => Duration;
|
|
154
125
|
}
|
|
155
126
|
|
|
127
|
+
/**
|
|
128
|
+
* A list that is guaranteed to have at least one element.
|
|
129
|
+
* Useful for ensuring functions receive non-empty input and for
|
|
130
|
+
* accumulating errors in Validation.
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```ts
|
|
134
|
+
* const errors: NonEmptyList<string> = ["First error", "Second error"];
|
|
135
|
+
*
|
|
136
|
+
* // TypeScript ensures at least one element:
|
|
137
|
+
* const invalid: NonEmptyList<string> = []; // Error!
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
type NonEmptyList<A> = readonly [A, ...A[]];
|
|
141
|
+
/**
|
|
142
|
+
* Type guard that checks if an array is non-empty.
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```ts
|
|
146
|
+
* const items: string[] = getItems();
|
|
147
|
+
*
|
|
148
|
+
* if (isNonEmptyList(items)) {
|
|
149
|
+
* // TypeScript knows items has at least one element
|
|
150
|
+
* const first = items[0]; // string, not string | undefined
|
|
151
|
+
* }
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
declare const isNonEmptyList: <A>(list: readonly A[]) => list is NonEmptyList<A>;
|
|
155
|
+
|
|
156
156
|
export { Brand, Duration, type NonEmptyList, isNonEmptyList };
|
package/dist/types.mjs
CHANGED
package/dist/utils.d.mts
CHANGED
package/dist/utils.d.ts
CHANGED
package/dist/utils.js
CHANGED
|
@@ -39,54 +39,6 @@ var Deferred;
|
|
|
39
39
|
Deferred2.toPromise = (d) => new Promise((resolve) => d.then(resolve));
|
|
40
40
|
})(Deferred || (Deferred = {}));
|
|
41
41
|
|
|
42
|
-
// src/Core/Result.ts
|
|
43
|
-
var Result;
|
|
44
|
-
((Result2) => {
|
|
45
|
-
Result2.ok = (value) => ({ kind: "Ok", value });
|
|
46
|
-
Result2.err = (e) => ({ kind: "Err", error: e });
|
|
47
|
-
Result2.isOk = (data) => data.kind === "Ok";
|
|
48
|
-
Result2.isErr = (data) => data.kind === "Err";
|
|
49
|
-
Result2.tryCatch = (f, onError) => {
|
|
50
|
-
try {
|
|
51
|
-
return (0, Result2.ok)(f());
|
|
52
|
-
} catch (error) {
|
|
53
|
-
return (0, Result2.err)(onError(error));
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
Result2.map = (f) => (data) => (0, Result2.isOk)(data) ? (0, Result2.ok)(f(data.value)) : data;
|
|
57
|
-
Result2.mapError = (f) => (data) => (0, Result2.isErr)(data) ? (0, Result2.err)(f(data.error)) : data;
|
|
58
|
-
Result2.chain = (f) => (data) => (0, Result2.isOk)(data) ? f(data.value) : data;
|
|
59
|
-
Result2.fold = (onErr, onOk) => (data) => (0, Result2.isOk)(data) ? onOk(data.value) : onErr(data.error);
|
|
60
|
-
Result2.match = (cases) => (data) => (0, Result2.isOk)(data) ? cases.ok(data.value) : cases.err(data.error);
|
|
61
|
-
Result2.getOrElse = (defaultValue) => (data) => (0, Result2.isOk)(data) ? data.value : defaultValue();
|
|
62
|
-
Result2.tap = (f) => (data) => {
|
|
63
|
-
if ((0, Result2.isOk)(data)) {
|
|
64
|
-
f(data.value);
|
|
65
|
-
}
|
|
66
|
-
return data;
|
|
67
|
-
};
|
|
68
|
-
Result2.tapError = (f) => (data) => {
|
|
69
|
-
if ((0, Result2.isErr)(data)) {
|
|
70
|
-
f(data.error);
|
|
71
|
-
}
|
|
72
|
-
return data;
|
|
73
|
-
};
|
|
74
|
-
Result2.fromPredicate = (pred, onFalse) => (a) => pred(a) ? (0, Result2.ok)(a) : (0, Result2.err)(onFalse(a));
|
|
75
|
-
Result2.fromNullable = (onNull) => (value) => value === null || value === void 0 ? (0, Result2.err)(onNull()) : (0, Result2.ok)(value);
|
|
76
|
-
Result2.fromMaybe = (onNone) => (maybe) => Maybe.isNone(maybe) ? (0, Result2.err)(onNone()) : (0, Result2.ok)(maybe.value);
|
|
77
|
-
Result2.fromThrowable = (f, onError) => (...args) => {
|
|
78
|
-
try {
|
|
79
|
-
return (0, Result2.ok)(f(...args));
|
|
80
|
-
} catch (error) {
|
|
81
|
-
return (0, Result2.err)(onError(error));
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
Result2.recover = (fallback) => (data) => (0, Result2.isOk)(data) ? data : fallback(data.error);
|
|
85
|
-
Result2.recoverUnless = (isBlocked, fallback) => (data) => (0, Result2.isErr)(data) && !isBlocked(data.error) ? fallback() : data;
|
|
86
|
-
Result2.toMaybe = (data) => (0, Result2.isOk)(data) ? Maybe.some(data.value) : Maybe.none();
|
|
87
|
-
Result2.ap = (arg) => (data) => (0, Result2.isOk)(data) && (0, Result2.isOk)(arg) ? (0, Result2.ok)(data.value(arg.value)) : (0, Result2.isErr)(data) ? data : arg;
|
|
88
|
-
})(Result || (Result = {}));
|
|
89
|
-
|
|
90
42
|
// src/Core/Maybe.ts
|
|
91
43
|
var _none = { kind: "None" };
|
|
92
44
|
var Maybe;
|
|
@@ -115,6 +67,23 @@ var Maybe;
|
|
|
115
67
|
Maybe2.filter = (predicate) => (data) => (0, Maybe2.isSome)(data) ? predicate(data.value) ? data : (0, Maybe2.none)() : data;
|
|
116
68
|
Maybe2.recover = (fallback) => (data) => (0, Maybe2.isSome)(data) ? data : fallback();
|
|
117
69
|
Maybe2.ap = (arg) => (data) => (0, Maybe2.isSome)(data) && (0, Maybe2.isSome)(arg) ? (0, Maybe2.some)(data.value(arg.value)) : (0, Maybe2.none)();
|
|
70
|
+
Maybe2.bindTo = (key) => (data) => (0, Maybe2.map)((a) => ({ [key]: a }))(data);
|
|
71
|
+
Maybe2.bind = (key, f) => (data) => (0, Maybe2.chain)(
|
|
72
|
+
(a) => (0, Maybe2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
73
|
+
)(data);
|
|
74
|
+
Maybe2.struct = (fields) => {
|
|
75
|
+
const result = {};
|
|
76
|
+
for (const key in fields) {
|
|
77
|
+
if (Object.hasOwn(fields, key)) {
|
|
78
|
+
const res = fields[key];
|
|
79
|
+
if ((0, Maybe2.isNone)(res)) {
|
|
80
|
+
return res;
|
|
81
|
+
}
|
|
82
|
+
result[key] = res.value;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return (0, Maybe2.some)(result);
|
|
86
|
+
};
|
|
118
87
|
})(Maybe || (Maybe = {}));
|
|
119
88
|
|
|
120
89
|
// src/Types/Brand.ts
|
|
@@ -142,6 +111,74 @@ var Duration;
|
|
|
142
111
|
Duration2.subtract = (other) => (self) => wrap(Brand.unwrap(self) - Brand.unwrap(other));
|
|
143
112
|
})(Duration || (Duration = {}));
|
|
144
113
|
|
|
114
|
+
// src/Types/NonEmptyList.ts
|
|
115
|
+
var isNonEmptyList = (list) => list.length > 0;
|
|
116
|
+
|
|
117
|
+
// src/Core/Result.ts
|
|
118
|
+
var Result;
|
|
119
|
+
((Result2) => {
|
|
120
|
+
Result2.ok = (value) => ({ kind: "Ok", value });
|
|
121
|
+
Result2.err = (e) => ({ kind: "Err", error: e });
|
|
122
|
+
Result2.isOk = (data) => data.kind === "Ok";
|
|
123
|
+
Result2.isErr = (data) => data.kind === "Err";
|
|
124
|
+
Result2.tryCatch = (f, onError) => {
|
|
125
|
+
try {
|
|
126
|
+
return (0, Result2.ok)(f());
|
|
127
|
+
} catch (error) {
|
|
128
|
+
return (0, Result2.err)(onError(error));
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
Result2.map = (f) => (data) => (0, Result2.isOk)(data) ? (0, Result2.ok)(f(data.value)) : data;
|
|
132
|
+
Result2.mapError = (f) => (data) => (0, Result2.isErr)(data) ? (0, Result2.err)(f(data.error)) : data;
|
|
133
|
+
Result2.chain = (f) => (data) => (0, Result2.isOk)(data) ? f(data.value) : data;
|
|
134
|
+
Result2.fold = (onErr, onOk) => (data) => (0, Result2.isOk)(data) ? onOk(data.value) : onErr(data.error);
|
|
135
|
+
Result2.match = (cases) => (data) => (0, Result2.isOk)(data) ? cases.ok(data.value) : cases.err(data.error);
|
|
136
|
+
Result2.getOrElse = (defaultValue) => (data) => (0, Result2.isOk)(data) ? data.value : defaultValue();
|
|
137
|
+
Result2.tap = (f) => (data) => {
|
|
138
|
+
if ((0, Result2.isOk)(data)) {
|
|
139
|
+
f(data.value);
|
|
140
|
+
}
|
|
141
|
+
return data;
|
|
142
|
+
};
|
|
143
|
+
Result2.tapError = (f) => (data) => {
|
|
144
|
+
if ((0, Result2.isErr)(data)) {
|
|
145
|
+
f(data.error);
|
|
146
|
+
}
|
|
147
|
+
return data;
|
|
148
|
+
};
|
|
149
|
+
Result2.fromPredicate = (pred, onFalse) => (a) => pred(a) ? (0, Result2.ok)(a) : (0, Result2.err)(onFalse(a));
|
|
150
|
+
Result2.fromNullable = (onNull) => (value) => value === null || value === void 0 ? (0, Result2.err)(onNull()) : (0, Result2.ok)(value);
|
|
151
|
+
Result2.fromMaybe = (onNone) => (maybe) => Maybe.isNone(maybe) ? (0, Result2.err)(onNone()) : (0, Result2.ok)(maybe.value);
|
|
152
|
+
Result2.fromThrowable = (f, onError) => (...args) => {
|
|
153
|
+
try {
|
|
154
|
+
return (0, Result2.ok)(f(...args));
|
|
155
|
+
} catch (error) {
|
|
156
|
+
return (0, Result2.err)(onError(error));
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
Result2.recover = (fallback) => (data) => (0, Result2.isOk)(data) ? data : fallback(data.error);
|
|
160
|
+
Result2.recoverUnless = (isBlocked, fallback) => (data) => (0, Result2.isErr)(data) && !isBlocked(data.error) ? fallback() : data;
|
|
161
|
+
Result2.toMaybe = (data) => (0, Result2.isOk)(data) ? Maybe.some(data.value) : Maybe.none();
|
|
162
|
+
Result2.ap = (arg) => (data) => (0, Result2.isOk)(data) && (0, Result2.isOk)(arg) ? (0, Result2.ok)(data.value(arg.value)) : (0, Result2.isErr)(data) ? data : arg;
|
|
163
|
+
Result2.bindTo = (key) => (data) => (0, Result2.map)((a) => ({ [key]: a }))(data);
|
|
164
|
+
Result2.bind = (key, f) => (data) => (0, Result2.chain)(
|
|
165
|
+
(a) => (0, Result2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
166
|
+
)(data);
|
|
167
|
+
Result2.struct = (fields) => {
|
|
168
|
+
const result = {};
|
|
169
|
+
for (const key in fields) {
|
|
170
|
+
if (Object.hasOwn(fields, key)) {
|
|
171
|
+
const res = fields[key];
|
|
172
|
+
if ((0, Result2.isErr)(res)) {
|
|
173
|
+
return res;
|
|
174
|
+
}
|
|
175
|
+
result[key] = res.value;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return (0, Result2.ok)(result);
|
|
179
|
+
};
|
|
180
|
+
})(Result || (Result = {}));
|
|
181
|
+
|
|
145
182
|
// src/Core/Task.ts
|
|
146
183
|
var toPromise = (task, signal) => Deferred.toPromise(task(signal));
|
|
147
184
|
var getMs = (duration) => Duration.toMilliseconds(duration);
|
|
@@ -364,11 +401,12 @@ var Task;
|
|
|
364
401
|
return { task, abort };
|
|
365
402
|
};
|
|
366
403
|
Task2.run = (signal) => (task) => Deferred.toPromise(task(signal));
|
|
404
|
+
Task2.bindTo = (key) => (data) => (0, Task2.map)((a) => ({ [key]: a }))(data);
|
|
405
|
+
Task2.bind = (key, f) => (data) => (0, Task2.chain)(
|
|
406
|
+
(a) => (0, Task2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
407
|
+
)(data);
|
|
367
408
|
})(Task || (Task = {}));
|
|
368
409
|
|
|
369
|
-
// src/Types/NonEmptyList.ts
|
|
370
|
-
var isNonEmptyList = (list) => list.length > 0;
|
|
371
|
-
|
|
372
410
|
// src/Utils/Arr.ts
|
|
373
411
|
var Arr;
|
|
374
412
|
((Arr2) => {
|
package/dist/utils.mjs
CHANGED
|
@@ -5,10 +5,9 @@ import {
|
|
|
5
5
|
Rec,
|
|
6
6
|
Str,
|
|
7
7
|
Uniq
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-VWVPHDZO.mjs";
|
|
8
|
+
} from "./chunk-E7YI5PVW.mjs";
|
|
9
|
+
import "./chunk-M2X7TFKN.mjs";
|
|
10
|
+
import "./chunk-5AFEEFE4.mjs";
|
|
12
11
|
export {
|
|
13
12
|
Arr,
|
|
14
13
|
Dict,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nlozgachev/pipelined",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.1",
|
|
4
4
|
"description": "Opinionated functional abstractions for TypeScript",
|
|
5
5
|
"license": "BSD-3-Clause",
|
|
6
6
|
"homepage": "https://pipelined.lozgachev.dev",
|
|
@@ -18,11 +18,18 @@
|
|
|
18
18
|
"types": "./dist/index.d.ts",
|
|
19
19
|
"sideEffects": false,
|
|
20
20
|
"engines": {
|
|
21
|
-
"node": ">=
|
|
21
|
+
"node": ">=24"
|
|
22
22
|
},
|
|
23
23
|
"files": [
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
|
+
"imports": {
|
|
27
|
+
"#core": "./src/Core/index.ts",
|
|
28
|
+
"#utils": "./src/Utils/index.ts",
|
|
29
|
+
"#types": "./src/Types/index.ts",
|
|
30
|
+
"#composition": "./src/Composition/index.ts",
|
|
31
|
+
"#internal": "./src/internal/index.ts"
|
|
32
|
+
},
|
|
26
33
|
"exports": {
|
|
27
34
|
"./composition": {
|
|
28
35
|
"types": "./dist/composition.d.ts",
|
|
@@ -49,15 +56,20 @@
|
|
|
49
56
|
"test": "vitest run",
|
|
50
57
|
"bench": "vitest bench",
|
|
51
58
|
"build": "tsup",
|
|
52
|
-
"format": "dprint fmt && dprint fmt --config dprint.md.json docs/**/*.md docs/**/*.mdx README.md",
|
|
53
|
-
"format:check": "dprint check && dprint check --config dprint.md.json docs/**/*.md docs/**/*.mdx README.md",
|
|
59
|
+
"format": "dprint fmt && dprint fmt --config dprint.md.json \"docs/**/*.md\" \"docs/**/*.mdx\" \"README.md\"",
|
|
60
|
+
"format:check": "dprint check && dprint check --config dprint.md.json \"docs/**/*.md\" \"docs/**/*.mdx\" \"README.md\"",
|
|
54
61
|
"typecheck": "tsc --noEmit",
|
|
55
62
|
"lint": "oxlint src/",
|
|
56
|
-
"publish:npm": "pnpm build && npm publish --access public"
|
|
63
|
+
"publish:npm": "pnpm build && npm publish --access public",
|
|
64
|
+
"release:patch": "bumpp --patch -c -t -p",
|
|
65
|
+
"release:minor": "bumpp --minor -c -t -p",
|
|
66
|
+
"docs:dev": "pnpm --filter pipelined-docs dev",
|
|
67
|
+
"docs:build": "pnpm --filter pipelined-docs build"
|
|
57
68
|
},
|
|
58
69
|
"devDependencies": {
|
|
59
70
|
"@types/node": "25.9.1",
|
|
60
71
|
"@vitest/coverage-v8": "4.1.7",
|
|
72
|
+
"bumpp": "11.1.0",
|
|
61
73
|
"dprint": "0.54.0",
|
|
62
74
|
"fast-check": "4.8.0",
|
|
63
75
|
"oxlint": "1.66.0",
|