hd-utils
Version:
A handy utils for modern JS developers
43 lines (42 loc) • 1.65 kB
JavaScript
import generateRandomInt from './generateRandomInt';
import generateRandomString from './generateRandomString';
/**
* @description will generate a random object
* @example generateRandomObj() // { JcaOXYeU: true, qZDEUnCs: 0.32064102262293903, RLvQgfll: true, GJSZIsnA: 413, iRjWgHkA: 'aNMnPg', aqXHzOuF: 'iGPp', ZVxrygDP: 252, KqrqvGbb: 'LuEdtd'}
* @param fieldCount @default 10
* @param options @default {allowNested:true}
*/
export default function generateRandomObj(fieldCount = 10, options) {
const { allowNested, allowNull } = options || {};
const generatedObj = {};
for (let i = 0; i < fieldCount; i++) {
let generatedObjField;
switch (generateRandomInt(allowNested ? 6 : 5)) {
case 0:
generatedObjField = generateRandomInt(1000);
break;
case 1:
generatedObjField = Math.random();
break;
case 2:
generatedObjField = Math.random() < 0.5 ? true : false;
break;
case 3:
generatedObjField = generateRandomString(generateRandomInt(4) + 4);
break;
case 4:
if (allowNull) {
generatedObjField = null;
}
else {
generatedObjField = generateRandomString(generateRandomInt(4) + 4);
}
break;
case 5:
generatedObjField = generateRandomObj(fieldCount);
break;
}
generatedObj[generateRandomString(8)] = generatedObjField;
}
return generatedObj;
}