summaryrefslogtreecommitdiffstats
path: root/src/server/utils/strHandler.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/utils/strHandler.ts')
-rw-r--r--src/server/utils/strHandler.ts8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/utils/strHandler.ts b/src/server/utils/strHandler.ts
new file mode 100644
index 0000000..5be21e0
--- /dev/null
+++ b/src/server/utils/strHandler.ts
@@ -0,0 +1,8 @@
+import type express from "express";
+
+export default function strHandler<T>(type: string | string[], content: () => Promise<T>) {
+ return async (_req: express.Request, res: express.Response) => {
+ const data = await content();
+ res.format(Object.fromEntries((Array.isArray(type) ? type : [type]).map(t => [t, () => res.send(data)])));
+ };
+}