mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-17 09:41:24 +01:00
24 lines
637 B
JavaScript
24 lines
637 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};
|
|
})();
|