TemplateRenderer
Class: TemplateRenderer
Defined in: packages/templates/src/renderer.ts:79
Renders templates found in folders, with locale fallback, partials and cache
Constructors
Constructor
new TemplateRenderer(
options):TemplateRenderer
Defined in: packages/templates/src/renderer.ts:86
Parameters
options
the renderer options
Returns
TemplateRenderer
Properties
cache
protectedcache:Map<string,Promise<CompiledTemplate>>
Defined in: packages/templates/src/renderer.ts:81
folders
protectedfolders:string[]
Defined in: packages/templates/src/renderer.ts:80
options
protectedoptions:TemplateRendererOptions
Defined in: packages/templates/src/renderer.ts:86
the renderer options
Methods
candidates()
protectedcandidates(locale?): (string|undefined)[]
Defined in: packages/templates/src/renderer.ts:110
Locale candidates, most specific first
A locale not matching [A-Za-z0-9_-]+ is ignored, as if no locale was requested
Parameters
locale?
string
requested locale
Returns
(string | undefined)[]
deduped candidates, undefined standing for no locale
clearCache()
clearCache():
void
Defined in: packages/templates/src/renderer.ts:490
Drop every cached compiled template
Returns
void
contained()
protectedcontained(folder,path):boolean
Defined in: packages/templates/src/renderer.ts:174
Check a path stays inside its folder
Parameters
folder
string
the folder
path
string
the candidate path
Returns
boolean
true if contained
extensions()
protectedextensions():string[]
Defined in: packages/templates/src/renderer.ts:121
Registered extensions, the preferred engine ones first
Returns
string[]
extensions
has()
has(
name,options?):Promise<boolean>
Defined in: packages/templates/src/renderer.ts:312
Check a template exists: a single template, a part, or a multi-part template folder with at least one part
A nested name like auth/WELCOME is a multi-part template when the auth/WELCOME folder has parts
Parameters
name
string
NAME or NAME/part
options?
lookup options
locale?
string
locale to look for
Returns
Promise<boolean>
true if found
list()
list():
Promise<string[]>
Defined in: packages/templates/src/renderer.ts:332
List the template names: single templates and multi-part folders
Returns
Promise<string[]>
sorted names
multiExtensions()
protectedmultiExtensions():string[]
Defined in: packages/templates/src/renderer.ts:132
Registered extensions handled by a multi-part engine (one defining parts)
Returns
string[]
extensions
parse()
protectedparse(name):object
Defined in: packages/templates/src/renderer.ts:95
Split a template reference and validate it
Parameters
name
string
NAME or NAME/part
Returns
object
the name and part
name
name:
string
part?
optionalpart?:string
parts()
protectedparts(name,locale?):Promise<string[] |undefined>
Defined in: packages/templates/src/renderer.ts:429
List the parts of a multi-part template, from the first folder having at least one
Parameters
name
string
the multi-part template name
locale?
string
requested locale
Returns
Promise<string[] | undefined>
the sorted part names, or undefined if no folder has a part
read()
protectedread(name,part,locale):Promise<{engine:string;path:string; } |undefined>
Defined in: packages/templates/src/renderer.ts:185
Locate the file of a template (source access, to override for another source)
Parameters
name
string
the template name
part
string | undefined
the part for multi-part templates
locale
string | undefined
requested locale
Returns
Promise<{ engine: string; path: string; } | undefined>
the path and engine name, or undefined
render()
render(
name,data?,options?):Promise<string>
Defined in: packages/templates/src/renderer.ts:397
Render a template
Parameters
name
string
NAME or NAME/part
data?
any = {}
the data
options?
render options, locale selects the language
Returns
Promise<string>
the rendered string
renderAll()
renderAll(
name,data?,options?):Promise<Record<string,string>>
Defined in: packages/templates/src/renderer.ts:410
Render every part of a multi-part template
Parameters
name
string
the multi-part template name, the whole name being its folder (WELCOME, auth/WELCOME)
data?
any = {}
the data
options?
render options
Returns
Promise<Record<string, string>>
the rendered parts keyed by part name
renderString()
renderString(
source,data?,options?):Promise<string>
Defined in: packages/templates/src/renderer.ts:473
Render a template given as a string
Parameters
source
string
the template source
data?
any = {}
the data
options?
TemplateRenderOptions & object = {}
render options, engine selects the engine
Returns
Promise<string>
the rendered string