@bemoje/array 0.3.3 → 1.0.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/index.d.ts +56 -0
- package/index.mjs +459 -0
- package/{cjs/lib → lib}/arrAverage.d.ts +0 -1
- package/{cjs/lib → lib}/arrEachToString.d.ts +0 -1
- package/{cjs/lib → lib}/arrFindIndicesOf.d.ts +0 -1
- package/lib/arrGetOrDefault.d.ts +4 -0
- package/{cjs/lib → lib}/arrHasDuplicates.d.ts +0 -1
- package/{cjs/lib → lib}/arrIndicesOf.d.ts +0 -1
- package/{cjs/lib → lib}/arrLast.d.ts +0 -1
- package/{cjs/lib → lib}/arrMapMutable.d.ts +1 -3
- package/{cjs/lib → lib}/arrObjectsToTable.d.ts +0 -1
- package/{cjs/lib → lib}/arrObjectsUniqueKeys.d.ts +0 -1
- package/{cjs/lib → lib}/arrRemove.d.ts +0 -1
- package/{cjs/lib → lib}/arrRemoveDuplicates.d.ts +0 -1
- package/{cjs/lib → lib}/arrRemoveMutable.d.ts +0 -1
- package/{cjs/lib → lib}/arrShuffle.d.ts +0 -1
- package/{cjs/lib → lib}/arrSortNumeric.d.ts +0 -1
- package/{cjs/lib → lib}/arrSortedInsertionIndex.d.ts +0 -1
- package/{cjs/lib → lib}/arrSum.d.ts +0 -1
- package/{cjs/lib → lib}/arrSwap.d.ts +0 -1
- package/{cjs/lib → lib}/arrTableAssertRowsSameLength.d.ts +0 -1
- package/{cjs/lib → lib}/arrTableEachToString.d.ts +0 -1
- package/lib/arrTableIterateAsObjects.d.ts +4 -0
- package/{cjs/lib → lib}/arrTableRemoveColumns.d.ts +0 -1
- package/{cjs/lib → lib}/arrTableToCsv.d.ts +0 -1
- package/{cjs/lib → lib}/arrTableToObjects.d.ts +0 -1
- package/lib/arrayToString.d.ts +4 -0
- package/package.json +20 -17
- package/LICENSE +0 -21
- package/README.md +0 -34
- package/cjs/index.d.ts +0 -33
- package/cjs/index.d.ts.map +0 -1
- package/cjs/index.js +0 -36
- package/cjs/index.js.map +0 -1
- package/cjs/lib/arrAverage.d.ts.map +0 -1
- package/cjs/lib/arrAverage.js +0 -22
- package/cjs/lib/arrAverage.js.map +0 -1
- package/cjs/lib/arrEachToString.d.ts.map +0 -1
- package/cjs/lib/arrEachToString.js +0 -19
- package/cjs/lib/arrEachToString.js.map +0 -1
- package/cjs/lib/arrEvery.d.ts +0 -18
- package/cjs/lib/arrEvery.d.ts.map +0 -1
- package/cjs/lib/arrEvery.js +0 -28
- package/cjs/lib/arrEvery.js.map +0 -1
- package/cjs/lib/arrFindIndicesOf.d.ts.map +0 -1
- package/cjs/lib/arrFindIndicesOf.js +0 -20
- package/cjs/lib/arrFindIndicesOf.js.map +0 -1
- package/cjs/lib/arrFindLast.d.ts +0 -12
- package/cjs/lib/arrFindLast.d.ts.map +0 -1
- package/cjs/lib/arrFindLast.js +0 -23
- package/cjs/lib/arrFindLast.js.map +0 -1
- package/cjs/lib/arrFindLastIndexOf.d.ts +0 -14
- package/cjs/lib/arrFindLastIndexOf.d.ts.map +0 -1
- package/cjs/lib/arrFindLastIndexOf.js +0 -25
- package/cjs/lib/arrFindLastIndexOf.js.map +0 -1
- package/cjs/lib/arrFlatten.d.ts +0 -17
- package/cjs/lib/arrFlatten.d.ts.map +0 -1
- package/cjs/lib/arrFlatten.js +0 -34
- package/cjs/lib/arrFlatten.js.map +0 -1
- package/cjs/lib/arrHasDuplicates.d.ts.map +0 -1
- package/cjs/lib/arrHasDuplicates.js +0 -20
- package/cjs/lib/arrHasDuplicates.js.map +0 -1
- package/cjs/lib/arrIndicesOf.d.ts.map +0 -1
- package/cjs/lib/arrIndicesOf.js +0 -27
- package/cjs/lib/arrIndicesOf.js.map +0 -1
- package/cjs/lib/arrLast.d.ts.map +0 -1
- package/cjs/lib/arrLast.js +0 -21
- package/cjs/lib/arrLast.js.map +0 -1
- package/cjs/lib/arrMapMutable.d.ts.map +0 -1
- package/cjs/lib/arrMapMutable.js +0 -22
- package/cjs/lib/arrMapMutable.js.map +0 -1
- package/cjs/lib/arrObjectsToTable.d.ts.map +0 -1
- package/cjs/lib/arrObjectsToTable.js +0 -36
- package/cjs/lib/arrObjectsToTable.js.map +0 -1
- package/cjs/lib/arrObjectsUniqueKeys.d.ts.map +0 -1
- package/cjs/lib/arrObjectsUniqueKeys.js +0 -29
- package/cjs/lib/arrObjectsUniqueKeys.js.map +0 -1
- package/cjs/lib/arrRemove.d.ts.map +0 -1
- package/cjs/lib/arrRemove.js +0 -11
- package/cjs/lib/arrRemove.js.map +0 -1
- package/cjs/lib/arrRemoveDuplicates.d.ts.map +0 -1
- package/cjs/lib/arrRemoveDuplicates.js +0 -20
- package/cjs/lib/arrRemoveDuplicates.js.map +0 -1
- package/cjs/lib/arrRemoveMutable.d.ts.map +0 -1
- package/cjs/lib/arrRemoveMutable.js +0 -15
- package/cjs/lib/arrRemoveMutable.js.map +0 -1
- package/cjs/lib/arrShallowEquals.d.ts +0 -16
- package/cjs/lib/arrShallowEquals.d.ts.map +0 -1
- package/cjs/lib/arrShallowEquals.js +0 -25
- package/cjs/lib/arrShallowEquals.js.map +0 -1
- package/cjs/lib/arrShuffle.d.ts.map +0 -1
- package/cjs/lib/arrShuffle.js +0 -33
- package/cjs/lib/arrShuffle.js.map +0 -1
- package/cjs/lib/arrSome.d.ts +0 -16
- package/cjs/lib/arrSome.d.ts.map +0 -1
- package/cjs/lib/arrSome.js +0 -26
- package/cjs/lib/arrSome.js.map +0 -1
- package/cjs/lib/arrSortNumeric.d.ts.map +0 -1
- package/cjs/lib/arrSortNumeric.js +0 -27
- package/cjs/lib/arrSortNumeric.js.map +0 -1
- package/cjs/lib/arrSortedInsertionIndex.d.ts.map +0 -1
- package/cjs/lib/arrSortedInsertionIndex.js +0 -36
- package/cjs/lib/arrSortedInsertionIndex.js.map +0 -1
- package/cjs/lib/arrSum.d.ts.map +0 -1
- package/cjs/lib/arrSum.js +0 -18
- package/cjs/lib/arrSum.js.map +0 -1
- package/cjs/lib/arrSwap.d.ts.map +0 -1
- package/cjs/lib/arrSwap.js +0 -24
- package/cjs/lib/arrSwap.js.map +0 -1
- package/cjs/lib/arrTableAssertRowsSameLength.d.ts.map +0 -1
- package/cjs/lib/arrTableAssertRowsSameLength.js +0 -37
- package/cjs/lib/arrTableAssertRowsSameLength.js.map +0 -1
- package/cjs/lib/arrTableEachToString.d.ts.map +0 -1
- package/cjs/lib/arrTableEachToString.js +0 -20
- package/cjs/lib/arrTableEachToString.js.map +0 -1
- package/cjs/lib/arrTableRemoveColumns.d.ts.map +0 -1
- package/cjs/lib/arrTableRemoveColumns.js +0 -18
- package/cjs/lib/arrTableRemoveColumns.js.map +0 -1
- package/cjs/lib/arrTableToCsv.d.ts.map +0 -1
- package/cjs/lib/arrTableToCsv.js +0 -33
- package/cjs/lib/arrTableToCsv.js.map +0 -1
- package/cjs/lib/arrTableToObjects.d.ts.map +0 -1
- package/cjs/lib/arrTableToObjects.js +0 -51
- package/cjs/lib/arrTableToObjects.js.map +0 -1
- package/cjs/lib/types/ArrayPredicate.d.ts +0 -11
- package/cjs/lib/types/ArrayPredicate.d.ts.map +0 -1
- package/cjs/lib/types/ArrayPredicate.js +0 -3
- package/cjs/lib/types/ArrayPredicate.js.map +0 -1
- package/cjs/lib/types/ArrayValueCallback.d.ts +0 -2
- package/cjs/lib/types/ArrayValueCallback.d.ts.map +0 -1
- package/cjs/lib/types/ArrayValueCallback.js +0 -3
- package/cjs/lib/types/ArrayValueCallback.js.map +0 -1
- package/cjs/lib/types/ArrayVoidCallback.d.ts +0 -2
- package/cjs/lib/types/ArrayVoidCallback.d.ts.map +0 -1
- package/cjs/lib/types/ArrayVoidCallback.js +0 -3
- package/cjs/lib/types/ArrayVoidCallback.js.map +0 -1
- package/cjs/lib/types/NestedArray.d.ts +0 -2
- package/cjs/lib/types/NestedArray.d.ts.map +0 -1
- package/cjs/lib/types/NestedArray.js +0 -3
- package/cjs/lib/types/NestedArray.js.map +0 -1
package/index.d.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export * from './lib/arrAverage';
|
|
2
|
+
export * from './lib/arrEachToString';
|
|
3
|
+
export * from './lib/arrFindIndicesOf';
|
|
4
|
+
export * from './lib/arrGetOrDefault';
|
|
5
|
+
export * from './lib/arrHasDuplicates';
|
|
6
|
+
export * from './lib/arrIndicesOf';
|
|
7
|
+
export * from './lib/arrLast';
|
|
8
|
+
export * from './lib/arrMapMutable';
|
|
9
|
+
export * from './lib/arrObjectsToTable';
|
|
10
|
+
export * from './lib/arrObjectsUniqueKeys';
|
|
11
|
+
export * from './lib/arrRemove';
|
|
12
|
+
export * from './lib/arrRemoveDuplicates';
|
|
13
|
+
export * from './lib/arrRemoveMutable';
|
|
14
|
+
export * from './lib/arrShuffle';
|
|
15
|
+
export * from './lib/arrSortNumeric';
|
|
16
|
+
export * from './lib/arrSortedInsertionIndex';
|
|
17
|
+
export * from './lib/arrSum';
|
|
18
|
+
export * from './lib/arrSwap';
|
|
19
|
+
export * from './lib/arrTableAssertRowsSameLength';
|
|
20
|
+
export * from './lib/arrTableEachToString';
|
|
21
|
+
export * from './lib/arrTableIterateAsObjects';
|
|
22
|
+
export * from './lib/arrTableRemoveColumns';
|
|
23
|
+
export * from './lib/arrTableToCsv';
|
|
24
|
+
export * from './lib/arrTableToObjects';
|
|
25
|
+
export * from './lib/arrayToString';
|
|
26
|
+
declare const _default: {
|
|
27
|
+
arrayToString<T>(array: T[]): string;
|
|
28
|
+
arrTableToObjects<T>(rows: T[][], headers?: string[], ignoreKeys?: Set<string>): Record<string, T>[];
|
|
29
|
+
arrTableToCsv<T>(input: T[][], delimiter?: string, replaceLinebreakWith?: string): string;
|
|
30
|
+
arrTableRemoveColumns(table: string[][], ...removeColumnNames: string[]): string[][];
|
|
31
|
+
arrTableIterateAsObjects<T>(rows: T[][], headers: string[], ignoreHeaders?: Set<string>): Generator<Record<string, T>, void, unknown>;
|
|
32
|
+
arrTableEachToString<T>(table: T[][]): string[][];
|
|
33
|
+
arrTableAssertRowsSameLength<T>(rows: T[][], headers?: string[]): void;
|
|
34
|
+
arrSwap<T>(input: Array<T>, from: number, to: number): Array<T>;
|
|
35
|
+
arrSum(array: number[]): number;
|
|
36
|
+
arrSortedInsertionIndex<T>(array: readonly T[], value: T, comparator: (a: T, b: T) => number): number;
|
|
37
|
+
arrSortNumeric(input: Array<number | bigint | boolean>): Array<number | bigint | boolean>;
|
|
38
|
+
arrShuffle<T>(input: Array<T>): Array<T>;
|
|
39
|
+
arrRemoveMutable<T>(arr: T[], elementToRemove: T): void;
|
|
40
|
+
arrRemoveDuplicates<T>(array: T[]): T[];
|
|
41
|
+
arrRemove<T>(arr: T[], elementToRemove: T): T[];
|
|
42
|
+
arrObjectsUniqueKeys<T>(objects: Record<string, T>[]): string[];
|
|
43
|
+
arrObjectsToTable<T, E>(objects: Record<string, T | undefined>[], options?: {
|
|
44
|
+
headers?: string[];
|
|
45
|
+
emptyCell?: E;
|
|
46
|
+
}): Array<Array<string | T | E>>;
|
|
47
|
+
arrMapMutable<T>(input: Array<T>, f: (value: T, index: number, array: T[]) => T): Array<T>;
|
|
48
|
+
arrLast<T>(array: T[]): T;
|
|
49
|
+
arrIndicesOf<T>(input: Array<T>, element: T): number[];
|
|
50
|
+
arrHasDuplicates<T>(arr: T[]): boolean;
|
|
51
|
+
arrGetOrDefault<V>(array: V[], index: number, factory: (index: number) => V): V;
|
|
52
|
+
arrFindIndicesOf<T>(input: Array<T>, predicate: (value: T) => boolean): number[];
|
|
53
|
+
arrEachToString<T>(array: T[]): string[];
|
|
54
|
+
arrAverage(array: number[]): number;
|
|
55
|
+
};
|
|
56
|
+
export default _default;
|
package/index.mjs
ADDED
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __export = (target, all) => {
|
|
3
|
+
for (var name in all)
|
|
4
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
// src/lib/arrAverage.ts
|
|
8
|
+
var arrAverage_exports = {};
|
|
9
|
+
__export(arrAverage_exports, {
|
|
10
|
+
arrAverage: () => arrAverage
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
// src/lib/arrSum.ts
|
|
14
|
+
var arrSum_exports = {};
|
|
15
|
+
__export(arrSum_exports, {
|
|
16
|
+
arrSum: () => arrSum
|
|
17
|
+
});
|
|
18
|
+
function arrSum(array) {
|
|
19
|
+
return array.reduce((acc, cur) => {
|
|
20
|
+
return acc + cur;
|
|
21
|
+
}, 0);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// src/lib/arrAverage.ts
|
|
25
|
+
function arrAverage(array) {
|
|
26
|
+
if (!array.length) {
|
|
27
|
+
throw new Error("Cannot take an average of zero values.");
|
|
28
|
+
}
|
|
29
|
+
return arrSum(array) / array.length;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// src/lib/arrEachToString.ts
|
|
33
|
+
var arrEachToString_exports = {};
|
|
34
|
+
__export(arrEachToString_exports, {
|
|
35
|
+
arrEachToString: () => arrEachToString
|
|
36
|
+
});
|
|
37
|
+
function arrEachToString(array) {
|
|
38
|
+
return array.map((element) => {
|
|
39
|
+
return `${element}`;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// src/lib/arrFindIndicesOf.ts
|
|
44
|
+
var arrFindIndicesOf_exports = {};
|
|
45
|
+
__export(arrFindIndicesOf_exports, {
|
|
46
|
+
arrFindIndicesOf: () => arrFindIndicesOf
|
|
47
|
+
});
|
|
48
|
+
function arrFindIndicesOf(input, predicate) {
|
|
49
|
+
const result = [];
|
|
50
|
+
for (let i = 0; i < input.length; i++) {
|
|
51
|
+
if (predicate(input[i])) {
|
|
52
|
+
result.push(i);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// src/lib/arrGetOrDefault.ts
|
|
59
|
+
var arrGetOrDefault_exports = {};
|
|
60
|
+
__export(arrGetOrDefault_exports, {
|
|
61
|
+
arrGetOrDefault: () => arrGetOrDefault
|
|
62
|
+
});
|
|
63
|
+
function arrGetOrDefault(array, index, factory) {
|
|
64
|
+
const value = array[index];
|
|
65
|
+
if (value !== void 0 || Object.hasOwn(array, index)) {
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
return array[index] = factory(index);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// src/lib/arrHasDuplicates.ts
|
|
72
|
+
var arrHasDuplicates_exports = {};
|
|
73
|
+
__export(arrHasDuplicates_exports, {
|
|
74
|
+
arrHasDuplicates: () => arrHasDuplicates
|
|
75
|
+
});
|
|
76
|
+
function arrHasDuplicates(arr) {
|
|
77
|
+
const seen = /* @__PURE__ */ new Set();
|
|
78
|
+
for (const e of arr) {
|
|
79
|
+
if (seen.has(e)) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
seen.add(e);
|
|
83
|
+
}
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// src/lib/arrIndicesOf.ts
|
|
88
|
+
var arrIndicesOf_exports = {};
|
|
89
|
+
__export(arrIndicesOf_exports, {
|
|
90
|
+
arrIndicesOf: () => arrIndicesOf
|
|
91
|
+
});
|
|
92
|
+
function arrIndicesOf(input, element) {
|
|
93
|
+
const result = [];
|
|
94
|
+
for (let i = 0; i < input.length; i++) {
|
|
95
|
+
if (element === input[i]) {
|
|
96
|
+
result.push(i);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// src/lib/arrLast.ts
|
|
103
|
+
var arrLast_exports = {};
|
|
104
|
+
__export(arrLast_exports, {
|
|
105
|
+
arrLast: () => arrLast
|
|
106
|
+
});
|
|
107
|
+
function arrLast(array) {
|
|
108
|
+
if (!array.length) {
|
|
109
|
+
throw new Error("Cannot get last element of empty array.");
|
|
110
|
+
}
|
|
111
|
+
return array[array.length - 1];
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// src/lib/arrMapMutable.ts
|
|
115
|
+
var arrMapMutable_exports = {};
|
|
116
|
+
__export(arrMapMutable_exports, {
|
|
117
|
+
arrMapMutable: () => arrMapMutable
|
|
118
|
+
});
|
|
119
|
+
function arrMapMutable(input, f) {
|
|
120
|
+
for (let i = 0; i < input.length; i++) {
|
|
121
|
+
input[i] = f(input[i], i, input);
|
|
122
|
+
}
|
|
123
|
+
return input;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// src/lib/arrObjectsToTable.ts
|
|
127
|
+
var arrObjectsToTable_exports = {};
|
|
128
|
+
__export(arrObjectsToTable_exports, {
|
|
129
|
+
arrObjectsToTable: () => arrObjectsToTable
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
// src/lib/arrObjectsUniqueKeys.ts
|
|
133
|
+
var arrObjectsUniqueKeys_exports = {};
|
|
134
|
+
__export(arrObjectsUniqueKeys_exports, {
|
|
135
|
+
arrObjectsUniqueKeys: () => arrObjectsUniqueKeys
|
|
136
|
+
});
|
|
137
|
+
function arrObjectsUniqueKeys(objects) {
|
|
138
|
+
const keys = /* @__PURE__ */ new Set();
|
|
139
|
+
for (const o of objects) {
|
|
140
|
+
for (const key of Object.keys(o)) {
|
|
141
|
+
keys.add(key);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return Array.from(keys);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// src/lib/arrObjectsToTable.ts
|
|
148
|
+
function arrObjectsToTable(objects, options = {}) {
|
|
149
|
+
const headers = options?.headers?.slice() || arrObjectsUniqueKeys(objects);
|
|
150
|
+
const table = [headers];
|
|
151
|
+
for (const o of objects) {
|
|
152
|
+
const row = headers.map((header) => {
|
|
153
|
+
const value = o[header];
|
|
154
|
+
return value !== void 0 ? value : options.emptyCell;
|
|
155
|
+
});
|
|
156
|
+
table.push(row);
|
|
157
|
+
}
|
|
158
|
+
return table;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// src/lib/arrRemove.ts
|
|
162
|
+
var arrRemove_exports = {};
|
|
163
|
+
__export(arrRemove_exports, {
|
|
164
|
+
arrRemove: () => arrRemove
|
|
165
|
+
});
|
|
166
|
+
function arrRemove(arr, elementToRemove) {
|
|
167
|
+
return arr.filter((element) => {
|
|
168
|
+
return element !== elementToRemove;
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// src/lib/arrRemoveDuplicates.ts
|
|
173
|
+
var arrRemoveDuplicates_exports = {};
|
|
174
|
+
__export(arrRemoveDuplicates_exports, {
|
|
175
|
+
arrRemoveDuplicates: () => arrRemoveDuplicates
|
|
176
|
+
});
|
|
177
|
+
function arrRemoveDuplicates(array) {
|
|
178
|
+
return Array.from(new Set(array));
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// src/lib/arrRemoveMutable.ts
|
|
182
|
+
var arrRemoveMutable_exports = {};
|
|
183
|
+
__export(arrRemoveMutable_exports, {
|
|
184
|
+
arrRemoveMutable: () => arrRemoveMutable
|
|
185
|
+
});
|
|
186
|
+
function arrRemoveMutable(arr, elementToRemove) {
|
|
187
|
+
let index = arr.indexOf(elementToRemove);
|
|
188
|
+
while (index !== -1) {
|
|
189
|
+
arr.splice(index, 1);
|
|
190
|
+
index = arr.indexOf(elementToRemove);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// src/lib/arrShuffle.ts
|
|
195
|
+
var arrShuffle_exports = {};
|
|
196
|
+
__export(arrShuffle_exports, {
|
|
197
|
+
arrShuffle: () => arrShuffle
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
// src/lib/arrSwap.ts
|
|
201
|
+
var arrSwap_exports = {};
|
|
202
|
+
__export(arrSwap_exports, {
|
|
203
|
+
arrSwap: () => arrSwap
|
|
204
|
+
});
|
|
205
|
+
function arrSwap(input, from, to) {
|
|
206
|
+
if (from === to) {
|
|
207
|
+
return input;
|
|
208
|
+
}
|
|
209
|
+
;
|
|
210
|
+
[input[from], input[to]] = [input[to], input[from]];
|
|
211
|
+
return input;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
// src/lib/arrShuffle.ts
|
|
215
|
+
function arrShuffle(input) {
|
|
216
|
+
if (input.length <= 1) {
|
|
217
|
+
return input;
|
|
218
|
+
}
|
|
219
|
+
const original = input.slice();
|
|
220
|
+
let equal = true;
|
|
221
|
+
while (equal) {
|
|
222
|
+
for (let i = 0; i < input.length; i++) {
|
|
223
|
+
const newIndex = Math.floor(Math.random() * input.length);
|
|
224
|
+
arrSwap(input, i, newIndex);
|
|
225
|
+
}
|
|
226
|
+
equal = input.join(",") === original.join(",");
|
|
227
|
+
}
|
|
228
|
+
return input;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// src/lib/arrSortNumeric.ts
|
|
232
|
+
var arrSortNumeric_exports = {};
|
|
233
|
+
__export(arrSortNumeric_exports, {
|
|
234
|
+
arrSortNumeric: () => arrSortNumeric
|
|
235
|
+
});
|
|
236
|
+
function arrSortNumeric(input) {
|
|
237
|
+
return input.sort((a, b) => {
|
|
238
|
+
if (a < b) {
|
|
239
|
+
return -1;
|
|
240
|
+
}
|
|
241
|
+
if (a > b) {
|
|
242
|
+
return 1;
|
|
243
|
+
}
|
|
244
|
+
return 0;
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// src/lib/arrSortedInsertionIndex.ts
|
|
249
|
+
var arrSortedInsertionIndex_exports = {};
|
|
250
|
+
__export(arrSortedInsertionIndex_exports, {
|
|
251
|
+
arrSortedInsertionIndex: () => arrSortedInsertionIndex
|
|
252
|
+
});
|
|
253
|
+
function arrSortedInsertionIndex(array, value, comparator) {
|
|
254
|
+
let first = 0;
|
|
255
|
+
let count = array.length;
|
|
256
|
+
while (count > 0) {
|
|
257
|
+
const step = Math.trunc(count / 2);
|
|
258
|
+
let it = first + step;
|
|
259
|
+
if (comparator(array[it], value) <= 0) {
|
|
260
|
+
it++;
|
|
261
|
+
first = it;
|
|
262
|
+
count -= step + 1;
|
|
263
|
+
} else {
|
|
264
|
+
count = step;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return first;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// src/lib/arrTableAssertRowsSameLength.ts
|
|
271
|
+
var arrTableAssertRowsSameLength_exports = {};
|
|
272
|
+
__export(arrTableAssertRowsSameLength_exports, {
|
|
273
|
+
arrTableAssertRowsSameLength: () => arrTableAssertRowsSameLength
|
|
274
|
+
});
|
|
275
|
+
function arrTableAssertRowsSameLength(rows, headers) {
|
|
276
|
+
const numHeaders = (headers || rows[0]).length;
|
|
277
|
+
for (const row of rows) {
|
|
278
|
+
if (row.length !== numHeaders) {
|
|
279
|
+
throw new Error(`Expected ${numHeaders} columns, got ${row.length}`);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
// src/lib/arrTableEachToString.ts
|
|
285
|
+
var arrTableEachToString_exports = {};
|
|
286
|
+
__export(arrTableEachToString_exports, {
|
|
287
|
+
arrTableEachToString: () => arrTableEachToString
|
|
288
|
+
});
|
|
289
|
+
function arrTableEachToString(table) {
|
|
290
|
+
return table.map(arrEachToString);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
// src/lib/arrTableIterateAsObjects.ts
|
|
294
|
+
var arrTableIterateAsObjects_exports = {};
|
|
295
|
+
__export(arrTableIterateAsObjects_exports, {
|
|
296
|
+
arrTableIterateAsObjects: () => arrTableIterateAsObjects
|
|
297
|
+
});
|
|
298
|
+
function* arrTableIterateAsObjects(rows, headers, ignoreHeaders = /* @__PURE__ */ new Set()) {
|
|
299
|
+
if (!headers.length) {
|
|
300
|
+
throw new Error("No headers provided");
|
|
301
|
+
}
|
|
302
|
+
ignoreHeaders.forEach((h) => {
|
|
303
|
+
if (!headers.includes(h)) {
|
|
304
|
+
throw new Error(`Header "${h}" not found in headers: ${headers}`);
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
if (new Set(headers).size === ignoreHeaders.size) {
|
|
308
|
+
throw new Error("All headers are ignored");
|
|
309
|
+
}
|
|
310
|
+
for (let r = 0; r < rows.length; r++) {
|
|
311
|
+
if (rows[r].length !== headers.length) {
|
|
312
|
+
throw new Error(`Row ${r} has ${rows[r].length} columns, but expected ${headers.length}`);
|
|
313
|
+
}
|
|
314
|
+
const o = {};
|
|
315
|
+
for (let c = 0; c < headers.length; c++) {
|
|
316
|
+
if (ignoreHeaders.has(headers[c])) {
|
|
317
|
+
continue;
|
|
318
|
+
}
|
|
319
|
+
o[headers[c]] = rows[r][c];
|
|
320
|
+
}
|
|
321
|
+
yield o;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
// src/lib/arrTableRemoveColumns.ts
|
|
326
|
+
var arrTableRemoveColumns_exports = {};
|
|
327
|
+
__export(arrTableRemoveColumns_exports, {
|
|
328
|
+
arrTableRemoveColumns: () => arrTableRemoveColumns
|
|
329
|
+
});
|
|
330
|
+
function arrTableRemoveColumns(table, ...removeColumnNames) {
|
|
331
|
+
if (!removeColumnNames.length || !table.length) {
|
|
332
|
+
return table;
|
|
333
|
+
}
|
|
334
|
+
const set = new Set(
|
|
335
|
+
removeColumnNames.map((col) => {
|
|
336
|
+
return arrIndicesOf(table[0], col);
|
|
337
|
+
}).flat()
|
|
338
|
+
);
|
|
339
|
+
return table.map((row) => {
|
|
340
|
+
return row.filter((_, i) => {
|
|
341
|
+
return !set.has(i);
|
|
342
|
+
});
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
// src/lib/arrTableToCsv.ts
|
|
347
|
+
var arrTableToCsv_exports = {};
|
|
348
|
+
__export(arrTableToCsv_exports, {
|
|
349
|
+
arrTableToCsv: () => arrTableToCsv
|
|
350
|
+
});
|
|
351
|
+
function arrTableToCsv(input, delimiter = ";", replaceLinebreakWith = "<br>") {
|
|
352
|
+
return input.map((row) => {
|
|
353
|
+
return row.map((item) => {
|
|
354
|
+
return String(item).replace(new RegExp(";", "g"), "").replace(/\r*\n/g, replaceLinebreakWith);
|
|
355
|
+
}).join(delimiter);
|
|
356
|
+
}).join("\n");
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
// src/lib/arrTableToObjects.ts
|
|
360
|
+
var arrTableToObjects_exports = {};
|
|
361
|
+
__export(arrTableToObjects_exports, {
|
|
362
|
+
arrTableToObjects: () => arrTableToObjects
|
|
363
|
+
});
|
|
364
|
+
function arrTableToObjects(rows, headers, ignoreKeys) {
|
|
365
|
+
if (headers) {
|
|
366
|
+
if (!rows.length) {
|
|
367
|
+
return [];
|
|
368
|
+
}
|
|
369
|
+
} else {
|
|
370
|
+
if (rows.length <= 1) {
|
|
371
|
+
return [];
|
|
372
|
+
}
|
|
373
|
+
headers = rows[0].map((header) => {
|
|
374
|
+
return header === null || header === void 0 ? "" : String(header);
|
|
375
|
+
});
|
|
376
|
+
rows = rows.slice(1);
|
|
377
|
+
}
|
|
378
|
+
const _headers = headers;
|
|
379
|
+
return rows.map((row) => {
|
|
380
|
+
const o = {};
|
|
381
|
+
for (let i = 0; i < _headers.length; i++) {
|
|
382
|
+
const header = _headers[i];
|
|
383
|
+
if (ignoreKeys && ignoreKeys.has(header)) {
|
|
384
|
+
continue;
|
|
385
|
+
}
|
|
386
|
+
o[header] = row[i];
|
|
387
|
+
}
|
|
388
|
+
return o;
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
// src/lib/arrayToString.ts
|
|
393
|
+
var arrayToString_exports = {};
|
|
394
|
+
__export(arrayToString_exports, {
|
|
395
|
+
arrayToString: () => arrayToString
|
|
396
|
+
});
|
|
397
|
+
function arrayToString(array) {
|
|
398
|
+
return `[${array.map((item) => {
|
|
399
|
+
return item == null ? String(item) : Array.isArray(item) ? arrayToString(item) : item.toString();
|
|
400
|
+
}).join(",")}]`;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// src/index.ts
|
|
404
|
+
var src_default = {
|
|
405
|
+
...arrAverage_exports,
|
|
406
|
+
//
|
|
407
|
+
...arrEachToString_exports,
|
|
408
|
+
...arrFindIndicesOf_exports,
|
|
409
|
+
...arrGetOrDefault_exports,
|
|
410
|
+
...arrHasDuplicates_exports,
|
|
411
|
+
...arrIndicesOf_exports,
|
|
412
|
+
...arrLast_exports,
|
|
413
|
+
...arrMapMutable_exports,
|
|
414
|
+
...arrObjectsToTable_exports,
|
|
415
|
+
...arrObjectsUniqueKeys_exports,
|
|
416
|
+
...arrRemove_exports,
|
|
417
|
+
...arrRemoveDuplicates_exports,
|
|
418
|
+
...arrRemoveMutable_exports,
|
|
419
|
+
...arrShuffle_exports,
|
|
420
|
+
...arrSortNumeric_exports,
|
|
421
|
+
...arrSortedInsertionIndex_exports,
|
|
422
|
+
...arrSum_exports,
|
|
423
|
+
...arrSwap_exports,
|
|
424
|
+
...arrTableAssertRowsSameLength_exports,
|
|
425
|
+
...arrTableEachToString_exports,
|
|
426
|
+
...arrTableIterateAsObjects_exports,
|
|
427
|
+
...arrTableRemoveColumns_exports,
|
|
428
|
+
...arrTableToCsv_exports,
|
|
429
|
+
...arrTableToObjects_exports,
|
|
430
|
+
...arrayToString_exports
|
|
431
|
+
};
|
|
432
|
+
export {
|
|
433
|
+
arrAverage,
|
|
434
|
+
arrEachToString,
|
|
435
|
+
arrFindIndicesOf,
|
|
436
|
+
arrGetOrDefault,
|
|
437
|
+
arrHasDuplicates,
|
|
438
|
+
arrIndicesOf,
|
|
439
|
+
arrLast,
|
|
440
|
+
arrMapMutable,
|
|
441
|
+
arrObjectsToTable,
|
|
442
|
+
arrObjectsUniqueKeys,
|
|
443
|
+
arrRemove,
|
|
444
|
+
arrRemoveDuplicates,
|
|
445
|
+
arrRemoveMutable,
|
|
446
|
+
arrShuffle,
|
|
447
|
+
arrSortNumeric,
|
|
448
|
+
arrSortedInsertionIndex,
|
|
449
|
+
arrSum,
|
|
450
|
+
arrSwap,
|
|
451
|
+
arrTableAssertRowsSameLength,
|
|
452
|
+
arrTableEachToString,
|
|
453
|
+
arrTableIterateAsObjects,
|
|
454
|
+
arrTableRemoveColumns,
|
|
455
|
+
arrTableToCsv,
|
|
456
|
+
arrTableToObjects,
|
|
457
|
+
arrayToString,
|
|
458
|
+
src_default as default
|
|
459
|
+
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ArrayValueCallback } from './types/ArrayValueCallback';
|
|
2
1
|
/**
|
|
3
2
|
* This function takes an array and a callback function as arguments. It applies the callback function to each element of the array, mutating the original array in the process.
|
|
4
3
|
* @template T The type of elements in the input array.
|
|
@@ -10,5 +9,4 @@ import { ArrayValueCallback } from './types/ArrayValueCallback';
|
|
|
10
9
|
* //=> [2, 4, 6]
|
|
11
10
|
* ```
|
|
12
11
|
*/
|
|
13
|
-
export declare function arrMapMutable<T>(input: Array<T>, f:
|
|
14
|
-
//# sourceMappingURL=arrMapMutable.d.ts.map
|
|
12
|
+
export declare function arrMapMutable<T>(input: Array<T>, f: (value: T, index: number, array: T[]) => T): Array<T>;
|