DigitalConsumer.ISS/src/helpers/data-generation.js
2024-05-20 13:13:40 -05:00

33 lines
1 KiB
JavaScript

import { randomUUID } from 'crypto';
export function getRandomInt(min = 0, max = 1000) {
const minCeiling = Math.ceil(min);
const maxFloor = Math.floor(max);
return Math.floor(Math.random() * (maxFloor - minCeiling) + minCeiling); // The maximum is exclusive and the minimum is inclusive
}
export function getRandomGuid() {
return randomUUID();
}
export function getRandomBoolean() {
const bools = [true, false];
const index = getRandomInt(0, 2);
return bools[index];
}
export function getRandomString(minLength = 1, maxLength = 100) {
const length = getRandomInt(minLength, maxLength + 1);
let result = '';
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const charactersLength = characters.length;
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
export function getRandomEnum(type) {
const keys = Object.keys(type);
return type[keys[getRandomInt(0, keys.length)]];
}