@nunofyobiz/effect-extras 2.1.0 → 3.0.0
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 +2 -1
- package/dist/ArrayX.d.ts +0 -34
- package/dist/ArrayX.d.ts.map +1 -1
- package/dist/ArrayX.js +4 -58
- package/dist/ArrayX.js.map +1 -1
- package/dist/InclusiveOr.d.ts +1123 -0
- package/dist/InclusiveOr.d.ts.map +1 -0
- package/dist/InclusiveOr.js +1074 -0
- package/dist/InclusiveOr.js.map +1 -0
- package/dist/NonNullableX.d.ts.map +1 -1
- package/dist/NonNullableX.js +5 -0
- package/dist/NonNullableX.js.map +1 -1
- package/dist/OptionX.d.ts +8 -2
- package/dist/OptionX.d.ts.map +1 -1
- package/dist/OptionX.js +7 -1
- package/dist/OptionX.js.map +1 -1
- package/dist/PredicateX.d.ts +32 -0
- package/dist/PredicateX.d.ts.map +1 -1
- package/dist/PredicateX.js +38 -0
- package/dist/PredicateX.js.map +1 -1
- package/dist/RecordX.d.ts +128 -1
- package/dist/RecordX.d.ts.map +1 -1
- package/dist/RecordX.js +162 -1
- package/dist/RecordX.js.map +1 -1
- package/dist/StringX.d.ts +61 -0
- package/dist/StringX.d.ts.map +1 -1
- package/dist/StringX.js +68 -0
- package/dist/StringX.js.map +1 -1
- package/dist/WarnResult.d.ts +115 -70
- package/dist/WarnResult.d.ts.map +1 -1
- package/dist/WarnResult.js +141 -210
- package/dist/WarnResult.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/ArrayX.ts +4 -86
- package/src/InclusiveOr.ts +1255 -0
- package/src/NonNullableX.ts +5 -0
- package/src/OptionX.ts +8 -2
- package/src/PredicateX.ts +41 -0
- package/src/RecordX.ts +183 -1
- package/src/StringX.ts +113 -0
- package/src/WarnResult.ts +297 -227
- package/src/index.ts +1 -0
package/README.md
CHANGED
|
@@ -129,12 +129,13 @@ matching subpath (`@nunofyobiz/effect-extras/ArrayX`); see
|
|
|
129
129
|
|
|
130
130
|
| Module | Extends / purpose |
|
|
131
131
|
| -------------- | -------------------------------------------------------------------------- |
|
|
132
|
-
| `ArrayX` | Array helpers (grouping, ordered insertion
|
|
132
|
+
| `ArrayX` | Array helpers (grouping, ordered insertion) |
|
|
133
133
|
| `BigIntX` | BigInt helpers (`toNumberOrThrow`) |
|
|
134
134
|
| `BooleanX` | Boolean helpers |
|
|
135
135
|
| `DurationX` | Duration / DateTime diff helpers |
|
|
136
136
|
| `EffectX` | Effect bridges (`flattenOption`, `fromOptionOrElse`, `tryUntil`) |
|
|
137
137
|
| `FormDataX` | Schema-based `FormData` parsing |
|
|
138
|
+
| `InclusiveOr` | Inclusive-or of a `left` and/or `right` — terminology-free `WarnResult` |
|
|
138
139
|
| `MapX` | Native `Map` helpers |
|
|
139
140
|
| `NonNullableX` | Non-nullable assertions (`fromNullableOrThrow`, exported as `nn`) |
|
|
140
141
|
| `NumberX` | Number helpers |
|
package/dist/ArrayX.d.ts
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* @since 0.0.0
|
|
5
5
|
*/
|
|
6
6
|
import { Array, Equivalence, Option, Order, Predicate } from "effect";
|
|
7
|
-
import * as WarnResult from "./WarnResult.js";
|
|
8
7
|
/**
|
|
9
8
|
* Returns a shallow copy of `array` between `start` (inclusive) and `end`
|
|
10
9
|
* (exclusive), as a pipeable, dual-form alias for `Array.prototype.slice`.
|
|
@@ -29,39 +28,6 @@ import * as WarnResult from "./WarnResult.js";
|
|
|
29
28
|
* @since 0.0.0
|
|
30
29
|
*/
|
|
31
30
|
export declare const slice: (<A>(start: number, end: number) => (array: readonly A[]) => A[]) & (<A>(array: readonly A[], start: number, end: number) => A[]);
|
|
32
|
-
/**
|
|
33
|
-
* Zips two arrays into one, calling `f` with a `WarnResult` for each index so
|
|
34
|
-
* that length mismatches are handled explicitly rather than truncated.
|
|
35
|
-
*
|
|
36
|
-
* Unlike `Array.zipWith` (which stops at the shorter array), this walks to the
|
|
37
|
-
* length of the *longer* array. The first array's element fills the `warnings`
|
|
38
|
-
* side and the second array's element fills the `success` side, so at each index
|
|
39
|
-
* `f` receives a `WarnResult.WarnResult<A, B>`: `SuccessWithWarnings` when both
|
|
40
|
-
* arrays have an element, `WarningsOnly` when only the first does, and
|
|
41
|
-
* `SuccessOnly` when only the second does. Use it when the "extra" tail of either
|
|
42
|
-
* array still carries meaning.
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* ```ts
|
|
46
|
-
* import { ArrayX, WarnResult } from "@nunofyobiz/effect-extras"
|
|
47
|
-
*
|
|
48
|
-
* const describe = WarnResult.match({
|
|
49
|
-
* WarningsOnly: ({ warnings }) => `warnings ${warnings}`,
|
|
50
|
-
* SuccessOnly: ({ success }) => `success ${success}`,
|
|
51
|
-
* SuccessWithWarnings: ({ warnings, success }) => `both ${warnings}/${success}`,
|
|
52
|
-
* })
|
|
53
|
-
*
|
|
54
|
-
* assert.deepStrictEqual(ArrayX.zipWithWarnings([1, 2, 3], [10, 20], describe), [
|
|
55
|
-
* "both 1/10",
|
|
56
|
-
* "both 2/20",
|
|
57
|
-
* "warnings 3",
|
|
58
|
-
* ])
|
|
59
|
-
* ```
|
|
60
|
-
*
|
|
61
|
-
* @category combinators
|
|
62
|
-
* @since 0.0.0
|
|
63
|
-
*/
|
|
64
|
-
export declare const zipWithWarnings: (<A, B, C>(f: (ab: WarnResult.WarnResult<A, B>) => C) => (array1: readonly A[], array2: readonly B[]) => C[]) & (<A, B, C>(array1: readonly A[], array2: readonly B[], f: (ab: WarnResult.WarnResult<A, B>) => C) => C[]);
|
|
65
31
|
/**
|
|
66
32
|
* Inserts or moves a unique item in an array at a specified position.
|
|
67
33
|
*
|
package/dist/ArrayX.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayX.d.ts","sourceRoot":"","sources":["../src/ArrayX.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,KAAK,EACL,WAAW,EACX,MAAM,EACN,KAAK,EACL,SAAS,EAGV,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"ArrayX.d.ts","sourceRoot":"","sources":["../src/ArrayX.ts"],"names":[],"mappings":"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"}
|
package/dist/ArrayX.js
CHANGED
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
import { Array, Option, Predicate, Record, pipe } from "effect";
|
|
7
7
|
import { dual, identity } from "effect/Function";
|
|
8
8
|
import * as RecordX from "./RecordX.js";
|
|
9
|
-
import * as WarnResult from "./WarnResult.js";
|
|
10
9
|
import * as ResultX from "./ResultX.js";
|
|
11
10
|
/**
|
|
12
11
|
* Returns a shallow copy of `array` between `start` (inclusive) and `end`
|
|
@@ -32,63 +31,6 @@ import * as ResultX from "./ResultX.js";
|
|
|
32
31
|
* @since 0.0.0
|
|
33
32
|
*/
|
|
34
33
|
export const slice = /*#__PURE__*/dual(3, (array, start, end) => array.slice(start, end));
|
|
35
|
-
/**
|
|
36
|
-
* Zips two arrays into one, calling `f` with a `WarnResult` for each index so
|
|
37
|
-
* that length mismatches are handled explicitly rather than truncated.
|
|
38
|
-
*
|
|
39
|
-
* Unlike `Array.zipWith` (which stops at the shorter array), this walks to the
|
|
40
|
-
* length of the *longer* array. The first array's element fills the `warnings`
|
|
41
|
-
* side and the second array's element fills the `success` side, so at each index
|
|
42
|
-
* `f` receives a `WarnResult.WarnResult<A, B>`: `SuccessWithWarnings` when both
|
|
43
|
-
* arrays have an element, `WarningsOnly` when only the first does, and
|
|
44
|
-
* `SuccessOnly` when only the second does. Use it when the "extra" tail of either
|
|
45
|
-
* array still carries meaning.
|
|
46
|
-
*
|
|
47
|
-
* @example
|
|
48
|
-
* ```ts
|
|
49
|
-
* import { ArrayX, WarnResult } from "@nunofyobiz/effect-extras"
|
|
50
|
-
*
|
|
51
|
-
* const describe = WarnResult.match({
|
|
52
|
-
* WarningsOnly: ({ warnings }) => `warnings ${warnings}`,
|
|
53
|
-
* SuccessOnly: ({ success }) => `success ${success}`,
|
|
54
|
-
* SuccessWithWarnings: ({ warnings, success }) => `both ${warnings}/${success}`,
|
|
55
|
-
* })
|
|
56
|
-
*
|
|
57
|
-
* assert.deepStrictEqual(ArrayX.zipWithWarnings([1, 2, 3], [10, 20], describe), [
|
|
58
|
-
* "both 1/10",
|
|
59
|
-
* "both 2/20",
|
|
60
|
-
* "warnings 3",
|
|
61
|
-
* ])
|
|
62
|
-
* ```
|
|
63
|
-
*
|
|
64
|
-
* @category combinators
|
|
65
|
-
* @since 0.0.0
|
|
66
|
-
*/
|
|
67
|
-
export const zipWithWarnings = /*#__PURE__*/dual(3, (array1, array2, f) => {
|
|
68
|
-
const newLength = Math.max(array1.length, array2.length);
|
|
69
|
-
if (newLength === 0) {
|
|
70
|
-
return [];
|
|
71
|
-
}
|
|
72
|
-
return Array.makeBy(newLength, index => {
|
|
73
|
-
if (index < array1.length && index < array2.length) {
|
|
74
|
-
return f(WarnResult.SuccessWithWarnings({
|
|
75
|
-
warnings: array1[index],
|
|
76
|
-
success: array2[index]
|
|
77
|
-
}));
|
|
78
|
-
}
|
|
79
|
-
if (index < array1.length) {
|
|
80
|
-
return f(WarnResult.WarningsOnly({
|
|
81
|
-
warnings: array1[index]
|
|
82
|
-
}));
|
|
83
|
-
}
|
|
84
|
-
if (index < array2.length) {
|
|
85
|
-
return f(WarnResult.SuccessOnly({
|
|
86
|
-
success: array2[index]
|
|
87
|
-
}));
|
|
88
|
-
}
|
|
89
|
-
throw new Error(`Index ${index} is out of bounds for array1 and array2`);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
34
|
/**
|
|
93
35
|
* Moves a unique item within an array to a new position, using a custom identification function.
|
|
94
36
|
*
|
|
@@ -114,6 +56,10 @@ const moveUniqWith = /*#__PURE__*/dual(2, (inputArray, {
|
|
|
114
56
|
const array = [...inputArray];
|
|
115
57
|
// Find the source item and its index
|
|
116
58
|
const sourceIndex = array.findIndex(item => identify(item) === sourceId);
|
|
59
|
+
// Unreachable via the public API: the only caller (`insertUniq`) appends the
|
|
60
|
+
// item before delegating here, so `sourceId` is always present. Kept as a
|
|
61
|
+
// defensive no-op for direct (internal) callers.
|
|
62
|
+
/* v8 ignore next 3 */
|
|
117
63
|
if (sourceIndex < 0) {
|
|
118
64
|
return array;
|
|
119
65
|
}
|
package/dist/ArrayX.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayX.js","names":["Array","Option","Predicate","Record","pipe","dual","identity","RecordX","
|
|
1
|
+
{"version":3,"file":"ArrayX.js","names":["Array","Option","Predicate","Record","pipe","dual","identity","RecordX","ResultX","slice","array","start","end","moveUniqWith","inputArray","identify","sourceId","moveToBeLeftOfId","sourceIndex","findIndex","item","sourceItem","arrayWithoutSource","filter","destinationIndex","length","insertUniq","insertToBeLeftOf","arrayWithNewItem","existingItem","append","mapRightAccum","initialAccumulator","f","accumulator","result","reverse","mapAccum","maxOption","order","liftPredicate","isArrayNonEmpty","map","max","takeFirstOrLastWhere","predicate","takeOne","takeFirstWhere","min","takeLastWhere","categorize","items","reduce","empty","categorizedItems","upsert","match","onNone","of","onSome","compactNullable","isNotNullish","filterHead","firstMatchingIndex","findFirstIndex","index","filterTail","lastMatchingIndex","findLastIndex","filterMapNullable","filterMap","value","fromNullishOr","fromOption","findFirstWithIndex2d","findFirstWithIndex","row","secondIndex","firstIndex","chunkBy","chunk","chunkEquals","groupValue","lastGroup","at","group","values","push"],"sources":["../src/ArrayX.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|