Files
domsPlace/src/template.ts
2026-03-19 22:35:27 -05:00

27 lines
622 B
TypeScript

import { Request } from "express";
import { Page } from "./page";
import { LocaleLanguage } from "./locale";
import { Section, SectionRenderer, SectionType, SectionTypeFor } from "./section";
export type TemplateSections = {
[key in SectionType]?:SectionRenderer<key>;
};
export type Template = {
name:string;
sections:TemplateSections;
render:(p:{
page:Page;
request:Request;
language:LocaleLanguage;
}) => Promise<string>;
}
export const templateRender = (p:{
page:Page,
template:Template,
request:Request,
language:LocaleLanguage
}):Promise<string> => {
return p.template.render(p);
}