adonis-forge
Version:
Bundle utils for AdonisJS
48 lines (47 loc) • 1.12 kB
JavaScript
// src/utils/object.ts
var exclude = (obj, keys) => {
return Object.fromEntries(Object.entries(obj).filter(([key]) => !keys.includes(key)));
};
var only = (obj, keys) => {
return Object.fromEntries(Object.entries(obj).filter(([key]) => keys.includes(key)));
};
function isIn(value, candidates) {
return candidates.includes(value);
}
function groupByKey(items, key) {
return items.reduce(
(acc, item) => {
const value = String(item[key]);
if (!acc[value]) {
acc[value] = [];
}
acc[value].push(item);
return acc;
},
{}
);
}
function chunkArray(arr, size) {
const result = [];
for (let i = 0; i < arr.length; i += size) {
result.push(arr.slice(i, i + size));
}
return result;
}
function shuffleArray(array) {
const shuffled = [...array];
for (let i = shuffled.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];
}
return shuffled;
}
export {
exclude,
only,
isIn,
groupByKey,
chunkArray,
shuffleArray
};
//# sourceMappingURL=chunk-UGENPQQY.js.map