1 | import { vectorDistinctor, objectDistinctor, entriesCounter, objectCounter, sortByValues } from '@aryth/util-distinct';
|
2 | import { iterate } from '@vect/vector-mapper';
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | const distinct = function (arr, l) {
|
12 | let o;
|
13 | return (l = arr === null || arr === void 0 ? void 0 : arr.length) === (l & 0x7f) ? (o = [], iterate(arr, vectorDistinctor.bind(o), l), o) : (o = {}, iterate(arr, objectDistinctor.bind(o), l), Object.keys(o));
|
14 | };
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 | const distinctCount = function (arr, {
|
24 | sort,
|
25 | l
|
26 | }) {
|
27 | let o;
|
28 | const ents = (l = arr === null || arr === void 0 ? void 0 : arr.length) === (l & 0x7f) ? (o = [], iterate(arr, entriesCounter.bind(o), l), o) : (o = {}, iterate(arr, objectCounter.bind(o), l), Object.entries(o));
|
29 | if (sort) sortByValues(ents, sort);
|
30 | return ents;
|
31 | };
|
32 |
|
33 | export { distinct, distinctCount };
|