91 lines
3.9 KiB
TypeScript
91 lines
3.9 KiB
TypeScript
// Type definitions for ejs.js v2.3.3
|
|
// Project: http://ejs.co/
|
|
// Definitions by: Ben Liddicott <https://github.com/benliddicott/DefinitelyTyped>
|
|
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
|
|
|
|
|
declare module "ejs" {
|
|
namespace Ejs {
|
|
type Data = { [name: string]: any };
|
|
type Dependencies = string[];
|
|
var cache: Cache;
|
|
var localsName: string;
|
|
function resolveInclude(name: string, filename: string): string;
|
|
function compile(template: string, opts?: Options): (TemplateFunction);
|
|
function render(template: string, data?: Data, opts?: Options): string;
|
|
function renderFile(path: string, data?: Data, opts?: Options, cb?: Function): any;// TODO RenderFileCallback return type
|
|
function clearCache(): any;
|
|
|
|
function TemplateFunction(data: Data): any;
|
|
interface TemplateFunction {
|
|
dependencies: Dependencies;
|
|
}
|
|
interface Options {
|
|
cache?: any;
|
|
filename?: string;
|
|
context?: any;
|
|
compileDebug?: boolean;
|
|
client?: boolean;
|
|
delimiter?: string;
|
|
debug?: any;
|
|
_with?: boolean;
|
|
}
|
|
class Template {
|
|
constructor(text: string, opts: Options);
|
|
opts: Options;
|
|
templateText: string;
|
|
mode: string;
|
|
truncate: boolean;
|
|
currentLine: number;
|
|
source: string;
|
|
dependencies: Dependencies;
|
|
createRegex(): RegExp;
|
|
compile(): TemplateFunction;
|
|
generateSource(): any;
|
|
parseTemplateText(): string[];
|
|
scanLine(line: string): any;
|
|
|
|
}
|
|
module Template {
|
|
interface MODES {
|
|
EVAL: string;
|
|
ESCAPED: string;
|
|
RAW: string;
|
|
COMMENT: string;
|
|
LITERAL: string;
|
|
}
|
|
}
|
|
function escapeRegexChars(s: string): string;
|
|
function escapeXML(markup: string): string;
|
|
function shallowCopy<T1>(to: T1, fro: any): T1;
|
|
interface Cache {
|
|
_data: { [name: string]: any };
|
|
set(key: string, val: any): any;
|
|
get(key: string): any;
|
|
}
|
|
var cache: Cache;
|
|
function resolve(from1: string, to: string): string;
|
|
function resolve(from1: string, from2: string, to: string): string;
|
|
function resolve(from1: string, from2: string, from3: string, to: string): string;
|
|
function resolve(from1: string, from2: string, from3: string, from4: string, to: string): string;
|
|
function resolve(from1: string, from2: string, from3: string, from4: string, from5: string, to: string): string;
|
|
function resolve(from1: string, from2: string, from3: string, from4: string, from5: string, from6: string, to: string): string;
|
|
function resolve(from1: string, from2: string, from3: string, from4: string, from5: string, from6: string, from7: string, to: string): string;
|
|
function resolve(from1: string, from2: string, from3: string, from4: string, from5: string, from6: string, from7: string, from8: string, to: string): string;
|
|
function resolve(from1: string, from2: string, from3: string, from4: string, from5: string, from6: string, from7: string, from8: string, from9: string, to: string): string;
|
|
function resolve(...args: string[]): string;
|
|
function normalize(path: string): string;
|
|
function isAbsolute(path: string): boolean;
|
|
function join(...args: string[]): string;
|
|
function relative(from: string, to: string): string;
|
|
var sep: string;
|
|
var delimiter: string;
|
|
function dirname(path: string): string;
|
|
function basename(path: string): string;
|
|
function extname(path: string): string;
|
|
function filter(xs: any, f: any): any; // TODO WHUT?
|
|
|
|
|
|
}
|
|
export = Ejs;
|
|
} |