diff options
Diffstat (limited to 'src/server/utils/strHandler.ts')
-rw-r--r-- | src/server/utils/strHandler.ts | 8 |
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)]))); + }; +} |