tsme-metering
Version:
A useful lib and CLI to collect water meter data from your TSME group provider account
40 lines • 1.24 kB
JavaScript
import { format } from "date-fns";
import { parse } from "json2csv";
export function wait(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
function prepareMeterData(meteringData) {
return meteringData.map((entry) => ({
...entry,
date: format(entry.date, "yyyy-MM-dd"),
}));
}
export function meterDataToJson(meterId, meteringData) {
const prepared = {
meterId,
values: prepareMeterData(meteringData),
};
return JSON.stringify(prepared, null, 2);
}
export function metersDataToJson(metersData) {
const prepared = metersData.map(({ meterId, meteringData }) => ({
meterId,
values: prepareMeterData(meteringData),
}));
return JSON.stringify(prepared, null, 2);
}
export function meterDataToCsv(meterId, meteringData) {
const prepared = prepareMeterData(meteringData).map((entry) => ({
meterId,
...entry,
}));
return parse(prepared);
}
export function metersDataToCsv(metersData) {
const prepared = metersData.flatMap(({ meterId, meteringData }) => prepareMeterData(meteringData).map((entry) => ({
meterId,
...entry,
})));
return parse(prepared);
}
//# sourceMappingURL=helpers.js.map