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; }; export type Template = { name:string; sections:TemplateSections; render:(p:{ page:Page; request:Request; language:LocaleLanguage; }) => Promise; } export const templateRender = (p:{ page:Page, template:Template, request:Request, language:LocaleLanguage }):Promise => { return p.template.render(p); }