UNPKG

rez-table-listing-mui

Version:

A rez table listing component built on TanStack Table

54 lines (48 loc) 1.26 kB
import { faker } from "@faker-js/faker"; export type Person = { firstName: string; lastName: string; age: number; visits: number; progress: number; status: "Active" | "Inactive"; department?: string; email?: string; subRows?: Person[]; }; const range = (len: number) => { const arr: number[] = []; for (let i = 0; i < len; i++) { arr.push(i); } return arr; }; const newPerson = (): Person => { return { firstName: faker.person.firstName(), lastName: faker.person.lastName(), age: faker.number.int(40), visits: faker.number.int(1000), progress: faker.number.int(100), email: faker.internet.email(), department: faker.helpers.shuffle<string>([ "HR", "Engineering", "Marketing", "Sales", ])[0]!, status: faker.helpers.shuffle<Person["status"]>(["Active", "Inactive"])[0]!, }; }; export function makeData(...lens: number[]) { const makeDataLevel = (depth = 0): Person[] => { const len = lens[depth]!; return range(len).map((): Person => { return { ...newPerson(), subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined, }; }); }; return makeDataLevel(); }