function indexData()

in assets/ml.js [206:235]


function indexData(data) {
  const index = {};

  data.forEach((entry) => {
    const suiteKey = entry.suite.toLowerCase();
    const testKey = entry.test.toLowerCase();
    const platformKey = entry.platform.toLowerCase();

    if (!index[suiteKey]) index[suiteKey] = {};
    if (!index[suiteKey][testKey]) index[suiteKey][testKey] = {};
    if (!index[suiteKey][testKey][platformKey])
      index[suiteKey][testKey][platformKey] = [];

    index[suiteKey][testKey][platformKey].push({
      date: new Date(entry.date),
      value: entry.value
    });
  });

  // Ensure dates are sorted
  Object.values(index).forEach((suite) =>
    Object.values(suite).forEach((test) =>
      Object.values(test).forEach((platformData) =>
        platformData.sort((a, b) => a.date - b.date)
      )
    )
  );

  return index;
}