pip-services4-expressions-node
Version:
Tokenizers, parsers and expression calculators in Node.js / ES2017
76 lines (75 loc) • 2.24 kB
TypeScript
import { MustacheToken } from "./parsers/MustacheToken";
import { Token } from "../tokenizers/Token";
/**
* Implements an mustache template class.
*/
export declare class MustacheTemplate {
private _defaultVariables;
private _parser;
private _autoVariables;
/**
* Constructs this class and assigns mustache template.
* @param template The mustache template.
*/
constructor(template?: string);
/**
* The mustache template.
*/
get template(): string;
/**
* The mustache template.
*/
set template(value: string);
get originalTokens(): Token[];
set originalTokens(value: Token[]);
/**
* Gets the flag to turn on auto creation of variables for specified mustache.
*/
get autoVariables(): boolean;
/**
* Sets the flag to turn on auto creation of variables for specified mustache.
*/
set autoVariables(value: boolean);
/**
* The list with default variables.
*/
get defaultVariables(): any;
/**
* The list of original mustache tokens.
*/
get initialTokens(): MustacheToken[];
/**
* The list of processed mustache tokens.
*/
get resultTokens(): MustacheToken[];
/**
* Gets a variable value from the collection of variables
* @param variables a collection of variables.
* @param name a variable name to get.
* @returns a variable value or <code>undefined</code>
*/
getVariable(variables: any, name: string): any;
/**
* Populates the specified variables list with variables from parsed mustache.
* @param variables The list of variables to be populated.
*/
createVariables(variables: any): void;
/**
* Cleans up this calculator from all data.
*/
clear(): void;
/**
* Evaluates this mustache template using default variables.
* @returns the evaluated template
*/
evaluate(): string;
/**
* Evaluates this mustache using specified variables.
* @param variables The collection of variables
* @returns the evaluated template
*/
evaluateWithVariables(variables: any): string;
private isDefinedVariable;
private escapeString;
private evaluateTokens;
}