t7m
Version:
Transformer for Elysia and Hono
30 lines (29 loc) • 973 B
JavaScript
// 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
};