UNPKG

@kospa/engine

Version:

Template Engine component for kospa framework

66 lines (65 loc) 2.49 kB
import * as ko from "knockout"; export interface ModuleTemplateObservable extends ko.Observable<string> { data: any; } export interface ModuleSourceOptions { loadingTemplate?: string; afterRender?: (...args: any[]) => any; } export declare class ModuleSource { source: string; options: ModuleSourceOptions; name: string; template: ModuleTemplateObservable; isLoading: boolean; isLoaded: boolean; constructor(source: string, options?: ModuleSourceOptions); static isModuleTemplateSource(value: string): boolean; text(): string; text(value: string): void; data(key: string): any; data(key: string, value: unknown): void; nodes(): Element; nodes(element: Element): void; loadTemplate(): void; static create(source: string, options?: ModuleSourceOptions): ModuleSource; } declare module "knockout" { namespace templateSources { let module: typeof ModuleSource; } } export interface ModuleEngineDefault { loading: string; engine: { new (): ko.templateEngine; prototype: ko.templateEngine; }; } export declare class ModuleEngine extends ko.templateEngine { allowTemplateRewriting: boolean; private _innerEngine; static defaults: ModuleEngineDefault; constructor(); constructor(innerEngine: ko.templateEngine); makeTemplateSource(template: string | Node, templateDocument: Document, options?: ModuleSourceOptions): any; renderTemplateSource(templateSource: ko.TemplateSource, bindingContext: ko.BindingContext<any>, options: ko.TemplateOptions<any>, templateDocument?: Document): any; renderTemplate(template: string | Node, bindingContext: ko.BindingContext<any>, options: ModuleSourceOptions, templateDocument: Document): any; } declare module "knockout" { let moduleTemplateEngine: typeof ModuleEngine; } declare const defaultInstance: ModuleEngine; /** Set ModuleEngine as default Knockout Template Engine using the Knockout Native Template Engine to process Module.JS Templates. */ export declare function setTemplateEngine(): void; /** * Set ModuleEngine as default Knockout Template Engine. * @param innerEngine - Inner Engine to use to process Module.JS Templates. */ export declare function setTemplateEngine(innerEngine: ko.templateEngine): void; /** * Init Method for boostrap module. * It installs ModuleEngine as default Knockout Template Engine. */ export declare function init(): void; export default defaultInstance;