@thoshpathi/utils-core
Version:
A collection of core utility functions for data processing
39 lines (37 loc) • 1.09 kB
JavaScript
// src/random_utils.ts
function randomNumber(min, max = min) {
return Math.random() * (max - min + 1) + min;
}
function getRandomElement(arr) {
const index = Math.floor(Math.random() * arr.length);
return arr[index];
}
function getRandomEnumValue(enumObj) {
const enumValues = Object.values(enumObj);
return getRandomElement(enumValues);
}
function getRandomUniqueItems(arr, count) {
const result = /* @__PURE__ */ new Set();
const len = arr.length;
while (result.size < count) {
const randomIndex = Math.floor(Math.random() * len);
result.add(arr[randomIndex]);
}
return [...result];
}
function generateUniqueString(length = 12, characters) {
characters ?? (characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
let uniqueString = "";
for (let i = 0; i < length; i++) {
const randomIndex = Math.floor(Math.random() * characters.length);
uniqueString += characters[randomIndex];
}
return uniqueString;
}
export {
randomNumber,
getRandomElement,
getRandomEnumValue,
getRandomUniqueItems,
generateUniqueString
};