Fantasy-Map-Generator/modules/io/formats.js
Mészáros Anna Veronika af62ff915c
Dev csv (#761)
* import cultures feature

* remove debug messages

* code cleanup
2022-04-02 23:42:54 +03:00

19 lines
610 B
JavaScript

"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};
})();