first commit
Some checks failed
Build / run (push) Has been cancelled

This commit is contained in:
maher
2025-10-29 11:42:25 +01:00
commit 703f50a09d
4595 changed files with 385164 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
interface Options<T> {
map?: (item: T) => T;
}
export function groupArrayBy<T>(
arr: T[],
cb: (item: any) => string,
options?: Options<T>,
): {[key: string]: T[]} {
const result: {[key: string]: T[]} = {};
for (let i = 0; i < arr.length; i++) {
let item = arr[i];
const bucketCategory = cb(item);
const bucket = result[bucketCategory];
item = options?.map ? options.map(arr[i]) : arr[i];
if (!Array.isArray(bucket)) {
result[bucketCategory] = [item];
} else {
result[bucketCategory].push(item);
}
}
return result;
}