import { defineMetadata, getMetadata } from "../core/metadata.ts"; const KEY = "muddle:render-ahead"; export type RenderAheadSource = string[] | (() => Promise | 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; }