react-table/test-utils/makeTestData.js

42 lines
855 B
JavaScript

const range = len => {
const arr = []
for (let i = 0; i < len; i++) {
arr.push(i)
}
return arr
}
const newPerson = (depth, index, total) => {
const age = (depth + 1) * (index + 1)
const visits = age * 10
const progress = (index + 1) / total
return {
firstName: `${depth} ${index} firstName`,
lastName: `${depth} ${index} lastName`,
age,
visits,
progress,
status:
progress > 0.66
? 'relationship'
: progress > 0.33
? 'complicated'
: 'single',
}
}
export default function makeTestData(...lens) {
const makeDataLevel = (depth = 0) => {
const len = lens[depth]
return range(len).map(d => {
return {
...newPerson(depth, d, len),
subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined,
}
})
}
return makeDataLevel()
}