@ribajs/luxon
Version:
Luxon (time library) module for Riba.js
32 lines • 2.88 kB
JavaScript
import { DateTime } from "luxon";
export const LuxonToMomentCalendarFormatter = {
name: "lx-to-moment-calendar",
read(target, options) {
options = options || {};
options.unit = options.unit || "days";
options.base = options.base || DateTime.now();
const b = options.base.startOf("day");
const t = target.startOf("day");
const daysDiff = t.diff(b).milliseconds / (3600 * 24 * 1000);
if (Math.abs(daysDiff) >= 7) {
return target.toLocaleString({
year: "numeric",
month: "2-digit",
day: "2-digit",
hour: "2-digit",
minute: "2-digit",
});
}
else {
const hourMinute = target.toLocaleString({
hour: "2-digit",
minute: "2-digit",
});
if (Math.abs(daysDiff) <= 2) {
return target.toRelativeCalendar(options) + " " + hourMinute;
}
return (target.toLocaleString({ weekday: "long" }) + ", " + hourMinute);
}
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHgtdG8tbW9tZW50LWNhbGVuZGFyLmZvcm1hdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtYXR0ZXJzL2x4LXRvLW1vbWVudC1jYWxlbmRhci5mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBNkIsTUFBTSxPQUFPLENBQUM7QUFLNUQsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQWM7SUFDdkQsSUFBSSxFQUFFLHVCQUF1QjtJQU83QixJQUFJLENBQUMsTUFBZ0IsRUFBRSxPQUFtQztRQUN4RCxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDOUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoQyxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFN0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQztnQkFDM0IsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLEdBQUcsRUFBRSxTQUFTO2dCQUNkLElBQUksRUFBRSxTQUFTO2dCQUNmLE1BQU0sRUFBRSxTQUFTO2FBQ2xCLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztnQkFDdkMsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsTUFBTSxFQUFFLFNBQVM7YUFDbEIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM1QixPQUFPLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUUsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDO1lBQ2hFLENBQUM7WUFDRCxPQUFPLENBRUwsTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxVQUFVLENBQy9ELENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUMifQ==