@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
TypeScript
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