tsme-metering
Version:
A useful lib and CLI to collect water meter data from your TSME group provider account
32 lines • 1.22 kB
JavaScript
import { TZDate } from "@date-fns/tz";
import { endOfDay, subDays, format } from "date-fns";
import config from "../config.js";
import { providers } from "../providers/index.js";
export function getClient(providerName) {
const provider = providers.get(providerName);
if (provider === undefined) {
throw new Error(`❌ Provider name must be one of ${[...providers.keys()].concat(", ")}`);
}
const client = new provider();
return client;
}
;
export function getStartDate(startStr) {
if (startStr === undefined) {
return endOfDay(subDays(TZDate.tz("Europe/Paris"), 7));
}
return new TZDate(startStr, "Europe/Paris");
}
export function getEndDate(endStr) {
if (endStr === undefined) {
return endOfDay(subDays(TZDate.tz("Europe/Paris"), 1));
}
return new TZDate(endStr, "Europe/Paris");
}
export function displaySummary(providerName, startDate, endDate) {
console.error(`- 💾 Provider: ${providerName}`);
console.error(`- 📧 Email: ${config.TSME_EMAIL}`);
console.error(`- 🔒 Password: ***`);
console.error(`- 📅 From: ${format(startDate, "yyyy-MM-dd")} => To: ${format(endDate, "yyyy-MM-dd")}`);
}
//# sourceMappingURL=utils.js.map