UNPKG

@mdfriday/foundry

Version:

The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.

63 lines 1.89 kB
import { Template } from '@mdfriday/text-template'; import { TemplateParser, TemplateState, TemplateInfo, TemplateLookupFunc, TemplateFuncMap } from '../type'; /** * Parser entity for parsing templates * TypeScript version of Go's Parser struct */ export declare class Parser implements TemplateParser { private prototypeText; private prototypeTextClone?; private readyInit; private funcMap; private parseOverlapCache; constructor(funcMap?: TemplateFuncMap); /** * Mark parser as ready and create clone */ markReady(): Promise<void>; /** * Parse template info into template state */ parse(info: TemplateInfo): Promise<TemplateState>; /** * Parse template with lock (for thread safety) */ parseWithLock(name: string, tpl: string): Promise<Template>; /** * Parse template with overlay and base template */ parseOverlap(overlay: TemplateInfo, base: TemplateInfo, lookup: TemplateLookupFunc): Promise<[TemplateState | null, boolean, Error | null]>; /** * Apply base template to overlay */ private applyBaseTemplate; /** * Get template dependencies using syntax tree traversal (与Go版本一致的遍历方法) */ private getDependencies; /** * Set function map */ setFuncMap(funcMap: TemplateFuncMap): void; /** * Get function map */ getFuncMap(): TemplateFuncMap; /** * Parse multiple templates */ parseMultiple(templates: TemplateInfo[]): Promise<TemplateState[]>; /** * Clear the parse overlap cache */ clearCache(): void; /** * Get cache statistics */ getCacheStats(): import("../../../../pkg/cahce/cache").CacheStats; } /** * Create a new Parser instance */ export declare function newParser(funcMap?: TemplateFuncMap): Parser; //# sourceMappingURL=parser.d.ts.map