muddle/decorators/RenderAhead.ts
2026-10-23 09:12:49 -04:00

18 lines
542 B
TypeScript

import { defineMetadata, getMetadata } from "../core/metadata.ts";
const KEY = "muddle:render-ahead";
export type RenderAheadSource = string[] | (() => Promise<string[]> | string[]);
export function RenderAhead(routes: RenderAheadSource): MethodDecorator {
return (target, propertyKey) => {
defineMetadata(KEY, routes, target, propertyKey);
};
}
export function getRenderAhead(
target: object,
propertyKey: string,
): RenderAheadSource | undefined {
return getMetadata(KEY, target, propertyKey) as RenderAheadSource | undefined;
}