UNPKG

t7m

Version:

Transformer for Elysia and Hono

30 lines (29 loc) 973 B
// src/hono/honoMiddleware.ts import { createMiddleware } from "hono/factory"; var t7mMiddleware = () => createMiddleware(async (c, next) => { const { include } = c.req.query(); c.transform = async function(object, transformer, extras) { const { props, includes, status, headers } = extras; const processedIncludes = includes || include?.split(","); const transformed = await transformer._transform({ input: object, props, includes: processedIncludes }); return c.json(transformed, status, headers); }; c.transformMany = async function(objects, transformer, extras) { const { props, includes, status, headers } = extras; const processedIncludes = includes || include?.split(","); const transformed = await transformer._transformMany({ inputs: objects, props, includes: processedIncludes }); return c.json(transformed, status, headers); }; await next(); }); export { t7mMiddleware };