ditto/packages/mastoapi/router/DittoApp.ts
2025-02-26 15:19:20 -06:00

21 lines
616 B
TypeScript

import { Hono } from '@hono/hono';
import type { HonoOptions } from '@hono/hono/hono-base';
import type { DittoEnv } from './DittoEnv.ts';
export class DittoApp extends Hono<DittoEnv> {
// @ts-ignore Require a DittoRoute for type safety.
declare route: (path: string, app: Hono<DittoEnv>) => Hono<DittoEnv>;
constructor(opts: Omit<DittoEnv['Variables'], 'signal'> & HonoOptions<DittoEnv>) {
super(opts);
this.use((c, next) => {
c.set('db', opts.db);
c.set('conf', opts.conf);
c.set('relay', opts.relay);
c.set('signal', c.req.raw.signal);
return next();
});
}
}