import { generate } from "namor"; const range = (len) => { const arr = []; for (let i = 0; i < len; i++) { arr.push(i); } return arr; }; export const newPerson = () => { const statusChance = Math.random(); return { name: generate({ words: 2, numbers: 0 }), age: Math.floor(Math.random() * 30), visits: Math.floor(Math.random() * 100), progress: Math.floor(Math.random() * 100), status: statusChance > 0.66 ? "relationship" : statusChance > 0.33 ? "complicated" : "single", }; }; export default function makeData(...lens) { const makeDataLevel = (depth = 0) => { const len = lens[depth]; return range(len).map((d) => { return { ...newPerson(), subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined, }; }); }; return makeDataLevel(); }