mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
2840794fa2
closes #130
59 lines
1.5 KiB
JavaScript
59 lines
1.5 KiB
JavaScript
//------------------------------------------------------------------------------
|
|
// Generating demo data
|
|
//------------------------------------------------------------------------------
|
|
const AUTHORS = ["Aaron", "David", "Vincent"];
|
|
const CONTENT = [
|
|
"Lorem ipsum dolor sit amet",
|
|
"Sed ut perspiciatis unde omnis iste natus error sit voluptatem",
|
|
"Excepteur sint occaecat cupidatat non proident"
|
|
];
|
|
|
|
function chooseRandomly(array) {
|
|
const index = Math.floor(Math.random() * array.length);
|
|
return array[index];
|
|
}
|
|
|
|
let nextId = 1;
|
|
export function buildData(n = 1000) {
|
|
const data = [];
|
|
for (let i = 0; i < n; i++) {
|
|
let id = nextId++;
|
|
data.push({
|
|
id: id,
|
|
author: chooseRandomly(AUTHORS),
|
|
msg: `${id}: ${chooseRandomly(CONTENT)}`,
|
|
likes: 0
|
|
});
|
|
}
|
|
return data;
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Measuring helpers
|
|
//------------------------------------------------------------------------------
|
|
export function formatNumber(n) {
|
|
return Number(n).toFixed();
|
|
}
|
|
|
|
let startTime;
|
|
let lastMeasure;
|
|
export function startMeasure(descr) {
|
|
startTime = performance.now();
|
|
lastMeasure = descr;
|
|
}
|
|
export function stopMeasure(cb) {
|
|
let last = lastMeasure;
|
|
if (lastMeasure) {
|
|
window.setTimeout(function() {
|
|
lastMeasure = null;
|
|
const stop = performance.now();
|
|
const delta = stop - startTime;
|
|
const msg = `[${last}] took ${formatNumber(delta)}ms`;
|
|
console.log(msg);
|
|
if (cb) {
|
|
cb({msg, delta});
|
|
}
|
|
}, 0);
|
|
}
|
|
}
|