From 6d0b764ee22566356dfd438cb2069534c3c738bc Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Sat, 8 Nov 2025 18:59:25 +0100 Subject: [PATCH] Introduced Dayjs as Server Plugin --- src/plugins/dayjs.ts | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/plugins/dayjs.ts diff --git a/src/plugins/dayjs.ts b/src/plugins/dayjs.ts new file mode 100644 index 0000000..3b721fa --- /dev/null +++ b/src/plugins/dayjs.ts @@ -0,0 +1,40 @@ +import fp from "fastify-plugin" +import dayjs from "dayjs" + +// 🧩 Plugins +import customParseFormat from "dayjs/plugin/customParseFormat.js"; +import isBetween from "dayjs/plugin/isBetween.js"; +import duration from "dayjs/plugin/duration.js"; +import utc from "dayjs/plugin/utc" +import timezone from "dayjs/plugin/timezone" +import isSameOrAfter from "dayjs/plugin/isSameOrAfter" +import isSameOrBefore from "dayjs/plugin/isSameOrBefore" +import isoWeek from "dayjs/plugin/isoWeek" +import localizedFormat from "dayjs/plugin/localizedFormat" + +// 🔧 Erweiterungen aktivieren +dayjs.extend(utc) +dayjs.extend(timezone) +dayjs.extend(isSameOrAfter) +dayjs.extend(isSameOrBefore) +dayjs.extend(isoWeek) +dayjs.extend(localizedFormat) +dayjs.extend(customParseFormat) +dayjs.extend(isBetween) +dayjs.extend(duration) + +/** + * Fastify Plugin: hängt dayjs an den Server an + */ +export default fp(async (server) => { + server.decorate("dayjs", dayjs) +}) + +/** + * Typ-Erweiterung für TypeScript + */ +declare module "fastify" { + interface FastifyInstance { + dayjs: typeof dayjs + } +}