import cultures feature

This commit is contained in:
annapanni 2022-03-24 23:00:20 +01:00
parent d19ea0896d
commit 7b50c75361
3 changed files with 113 additions and 33 deletions

19
modules/io/formats.js Normal file
View file

@ -0,0 +1,19 @@
"use strict"
window.Formats = (function () {
async function csvParser (file, separator=",") {
const txt = await file.text();
const rows = txt.split("\n");
const headers = rows.shift().split(separator).map(x => x.toLowerCase());
const data = rows.filter(a => a.trim()!=="").map(r=>r.split(separator));
return {
headers,
data,
iterator: function* (sortf){
const dataset = sortf? this.data.sort(sortf):this.data;
for (const d of dataset)
yield Object.fromEntries(d.map((a, i) => [this.headers[i], a]));
}};
}
return {csvParser};
})();