UNPKG

@mdfriday/foundry

Version:

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

85 lines 2.7 kB
import { Template } from '@mdfriday/text-template'; import { TemplateLookup, TemplateNamespace, TemplateInfo, TemplateLookupFunc, TemplateFuncMap, RegularTemplateNamespaceInterface, PartialTemplateNamespaceInterface, ShortcodeTemplateNamespaceInterface } from '../type'; import { BaseOf } from '../vo/baseof'; /** * Lookup entity for finding templates and managing dependencies * TypeScript version of Go's Lookup struct */ export declare class Lookup implements TemplateLookup { private baseOf; private funcsv; constructor(baseOf?: BaseOf, funcMap?: TemplateFuncMap); /** * Find template with no dependencies (legacy method) */ findNoDependence(name: string, ns: TemplateNamespace): [Template | null, boolean, Error | null]; /** * Find regular template with baseof dependency support */ findTemplate(name: string, templateNS: RegularTemplateNamespaceInterface): [Template | null, boolean, Error | null]; /** * Find partial template (simple lookup, no dependencies) */ findPartial(name: string, partialNS: PartialTemplateNamespaceInterface): [Template | null, boolean, Error | null]; /** * Find shortcode template (simplest lookup) */ findShortcode(name: string, shortcodeNS: ShortcodeTemplateNamespaceInterface): [Template | null, boolean, Error | null]; /** * Find dependent template information */ findDependentInfo(name: string): [TemplateInfo | null, TemplateInfo | null, boolean]; /** * Get function by name */ getFunc(name: string): any; /** * Set function */ setFunc(name: string, fn: any): void; /** * Set function map */ setFuncMap(funcMap: TemplateFuncMap): void; /** * Get function map */ getFuncMap(): TemplateFuncMap; /** * Create template lookup function for namespace */ newTemplateLookup(ns: TemplateNamespace): TemplateLookupFunc; /** * Get base template manager */ getBaseOf(): BaseOf; /** * Set base template manager */ setBaseOf(baseOf: BaseOf): void; /** * Check if template has dependencies */ hasDependencies(name: string): boolean; /** * Get all available functions */ getAllFunctions(): string[]; /** * Clear all functions */ clearFunctions(): void; /** * Get lookup statistics */ getStats(): { functionCount: number; baseTemplateCount: number; dependentTemplateCount: number; }; } /** * Create a new Lookup instance */ export declare function newLookup(baseOf?: BaseOf, funcMap?: TemplateFuncMap): Lookup; //# sourceMappingURL=lookup.d.ts.map