15 lines
537 B
TypeScript
15 lines
537 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;
|
|
}
|