@jdsalasc/solvejs-list 1.2.0 → 1.4.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 +24 -5
- package/dist/cjs/index.cjs +32 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.d.ts +16 -0
- package/dist/esm/index.js +30 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +11 -8
package/README.md
CHANGED
|
@@ -1,16 +1,35 @@
|
|
|
1
1
|
# @jdsalasc/solvejs-list
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@jdsalasc/solvejs-list)
|
|
4
|
+
[](https://www.npmjs.com/package/@jdsalasc/solvejs-list)
|
|
4
5
|
|
|
5
|
-
## Tools Included
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
Zero-dependency array/list utilities for JavaScript and TypeScript.
|
|
8
|
+
|
|
9
|
+
## Utilities
|
|
10
|
+
|
|
11
|
+
- `unique`, `uniqueBy`, `compact`, `chunk`
|
|
12
|
+
- `groupBy`, `keyBy`, `partition`
|
|
13
|
+
- `intersection`, `difference`
|
|
10
14
|
- `sortBy`
|
|
11
15
|
|
|
16
|
+
## When to use this package
|
|
17
|
+
|
|
18
|
+
Use it when you repeatedly write list transformation logic and want consistent, tested helpers for grouping, deduplication, and sorting.
|
|
19
|
+
|
|
12
20
|
## Install
|
|
13
21
|
|
|
14
22
|
```bash
|
|
15
23
|
npm i @jdsalasc/solvejs-list
|
|
16
24
|
```
|
|
25
|
+
|
|
26
|
+
## Quick example
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
import { uniqueBy, groupBy, sortBy } from "@jdsalasc/solvejs-list";
|
|
30
|
+
|
|
31
|
+
const rows = [{ id: "a", team: "x", score: 2 }, { id: "a", team: "x", score: 2 }, { id: "b", team: "y", score: 1 }];
|
|
32
|
+
const uniqueRows = uniqueBy(rows, (r) => r.id);
|
|
33
|
+
const byTeam = groupBy(uniqueRows, (r) => r.team);
|
|
34
|
+
sortBy(byTeam.x, (r) => r.score, "desc");
|
|
35
|
+
```
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.unique = unique;
|
|
4
|
+
exports.uniqueBy = uniqueBy;
|
|
4
5
|
exports.compact = compact;
|
|
5
6
|
exports.chunk = chunk;
|
|
6
7
|
exports.groupBy = groupBy;
|
|
7
8
|
exports.partition = partition;
|
|
8
9
|
exports.keyBy = keyBy;
|
|
9
10
|
exports.intersection = intersection;
|
|
11
|
+
exports.difference = difference;
|
|
10
12
|
exports.sortBy = sortBy;
|
|
11
13
|
/**
|
|
12
14
|
* Removes duplicate values preserving first-seen order.
|
|
@@ -17,6 +19,25 @@ exports.sortBy = sortBy;
|
|
|
17
19
|
function unique(values) {
|
|
18
20
|
return [...new Set(values)];
|
|
19
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Removes duplicates by a derived key while preserving first-seen order.
|
|
24
|
+
*
|
|
25
|
+
* @param values - Input collection.
|
|
26
|
+
* @param selector - Key selector function.
|
|
27
|
+
* @returns Deduplicated array by selector key.
|
|
28
|
+
*/
|
|
29
|
+
function uniqueBy(values, selector) {
|
|
30
|
+
const seen = new Set();
|
|
31
|
+
const output = [];
|
|
32
|
+
for (const value of values) {
|
|
33
|
+
const key = selector(value);
|
|
34
|
+
if (!seen.has(key)) {
|
|
35
|
+
seen.add(key);
|
|
36
|
+
output.push(value);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return output;
|
|
40
|
+
}
|
|
20
41
|
/**
|
|
21
42
|
* Removes falsy values from a list.
|
|
22
43
|
*
|
|
@@ -105,6 +126,17 @@ function intersection(left, right) {
|
|
|
105
126
|
const rightSet = new Set(right);
|
|
106
127
|
return left.filter((value) => rightSet.has(value));
|
|
107
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Returns items present in the left array and absent from the right array.
|
|
131
|
+
*
|
|
132
|
+
* @param left - Left collection.
|
|
133
|
+
* @param right - Right collection.
|
|
134
|
+
* @returns Difference array (`left - right`).
|
|
135
|
+
*/
|
|
136
|
+
function difference(left, right) {
|
|
137
|
+
const rightSet = new Set(right);
|
|
138
|
+
return left.filter((value) => !rightSet.has(value));
|
|
139
|
+
}
|
|
108
140
|
/**
|
|
109
141
|
* Sorts values by selector output.
|
|
110
142
|
*
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAMA,wBAEC;AAQD,0BAEC;AAUD,sBAUC;AASD,0BASC;AASD,8BAWC;AASD,sBAKC;AASD,oCAGC;AAUD,wBAcC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -5,6 +5,14 @@
|
|
|
5
5
|
* @returns Deduplicated array.
|
|
6
6
|
*/
|
|
7
7
|
export declare function unique<T>(values: readonly T[]): T[];
|
|
8
|
+
/**
|
|
9
|
+
* Removes duplicates by a derived key while preserving first-seen order.
|
|
10
|
+
*
|
|
11
|
+
* @param values - Input collection.
|
|
12
|
+
* @param selector - Key selector function.
|
|
13
|
+
* @returns Deduplicated array by selector key.
|
|
14
|
+
*/
|
|
15
|
+
export declare function uniqueBy<T, K extends PropertyKey>(values: readonly T[], selector: (value: T) => K): T[];
|
|
8
16
|
/**
|
|
9
17
|
* Removes falsy values from a list.
|
|
10
18
|
*
|
|
@@ -53,6 +61,14 @@ export declare function keyBy<T, K extends PropertyKey>(values: readonly T[], se
|
|
|
53
61
|
* @returns Values found in both collections.
|
|
54
62
|
*/
|
|
55
63
|
export declare function intersection<T>(left: readonly T[], right: readonly T[]): T[];
|
|
64
|
+
/**
|
|
65
|
+
* Returns items present in the left array and absent from the right array.
|
|
66
|
+
*
|
|
67
|
+
* @param left - Left collection.
|
|
68
|
+
* @param right - Right collection.
|
|
69
|
+
* @returns Difference array (`left - right`).
|
|
70
|
+
*/
|
|
71
|
+
export declare function difference<T>(left: readonly T[], right: readonly T[]): T[];
|
|
56
72
|
/**
|
|
57
73
|
* Sorts values by selector output.
|
|
58
74
|
*
|
package/dist/esm/index.js
CHANGED
|
@@ -7,6 +7,25 @@
|
|
|
7
7
|
export function unique(values) {
|
|
8
8
|
return [...new Set(values)];
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Removes duplicates by a derived key while preserving first-seen order.
|
|
12
|
+
*
|
|
13
|
+
* @param values - Input collection.
|
|
14
|
+
* @param selector - Key selector function.
|
|
15
|
+
* @returns Deduplicated array by selector key.
|
|
16
|
+
*/
|
|
17
|
+
export function uniqueBy(values, selector) {
|
|
18
|
+
const seen = new Set();
|
|
19
|
+
const output = [];
|
|
20
|
+
for (const value of values) {
|
|
21
|
+
const key = selector(value);
|
|
22
|
+
if (!seen.has(key)) {
|
|
23
|
+
seen.add(key);
|
|
24
|
+
output.push(value);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return output;
|
|
28
|
+
}
|
|
10
29
|
/**
|
|
11
30
|
* Removes falsy values from a list.
|
|
12
31
|
*
|
|
@@ -95,6 +114,17 @@ export function intersection(left, right) {
|
|
|
95
114
|
const rightSet = new Set(right);
|
|
96
115
|
return left.filter((value) => rightSet.has(value));
|
|
97
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Returns items present in the left array and absent from the right array.
|
|
119
|
+
*
|
|
120
|
+
* @param left - Left collection.
|
|
121
|
+
* @param right - Right collection.
|
|
122
|
+
* @returns Difference array (`left - right`).
|
|
123
|
+
*/
|
|
124
|
+
export function difference(left, right) {
|
|
125
|
+
const rightSet = new Set(right);
|
|
126
|
+
return left.filter((value) => !rightSet.has(value));
|
|
127
|
+
}
|
|
98
128
|
/**
|
|
99
129
|
* Sorts values by selector output.
|
|
100
130
|
*
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAI,MAAoB;IAC5C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAA2B,MAAoB,EAAE,QAAyB;IAChG,MAAM,IAAI,GAAG,IAAI,GAAG,EAAK,CAAC;IAC1B,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAI,MAA0D;IACnF,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAQ,CAAC;AACvC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,KAAK,CAAI,MAAoB,EAAE,IAAY;IACzD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAA2B,MAAoB,EAAE,QAAyB;IAC/F,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;QAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,EAAoB,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAI,MAAoB,EAAE,SAAgC;IACjF,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,MAAM,SAAS,GAAQ,EAAE,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAA2B,MAAoB,EAAE,QAAyB;IAC7F,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;QAC1C,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;QACrC,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,EAAkB,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAI,IAAkB,EAAE,KAAmB;IACrE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAI,IAAkB,EAAE,KAAmB;IACnE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CACpB,MAAoB,EACpB,QAAyB,EACzB,QAAwB,KAAK;IAE7B,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jdsalasc/solvejs-list",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.4.0",
|
|
4
|
+
"description": "Production-ready JS/TS list utilities: uniqueBy, groupBy, keyBy, partition, intersection, difference, and sortBy.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"sideEffects": false,
|
|
@@ -43,12 +43,15 @@
|
|
|
43
43
|
"node": ">=18"
|
|
44
44
|
},
|
|
45
45
|
"keywords": [
|
|
46
|
-
"array
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
46
|
+
"javascript array utilities",
|
|
47
|
+
"typescript array utilities",
|
|
48
|
+
"group by key",
|
|
49
|
+
"unique by",
|
|
50
|
+
"partition array",
|
|
51
|
+
"difference array",
|
|
52
|
+
"intersection array",
|
|
53
|
+
"sort by key",
|
|
54
|
+
"zero dependency",
|
|
52
55
|
"solvejs"
|
|
53
56
|
]
|
|
54
57
|
}
|