diff --git a/mustache/mustache-0.7.3-tests.ts b/mustache/mustache-0.7.3-tests.ts new file mode 100644 index 000000000..f95913cc7 --- /dev/null +++ b/mustache/mustache-0.7.3-tests.ts @@ -0,0 +1,11 @@ +/// + +var view = { title: "Joe", calc: function () { return 2 + 4; } }; +var output = Mustache.render("{{title}} spends {{calc}}", view); + +var person = { firstName: "John", lastName: "Smith", blogURL: "http://testblog.com" }; +var template = "

{{firstName}} {{lastName}}

Blog: {{blogURL}}"; +var html = Mustache.to_html(template, person); + +var writer = Mustache.compile(template); +var writerOutput = writer(view); diff --git a/mustache/mustache-0.7.3.d.ts b/mustache/mustache-0.7.3.d.ts new file mode 100644 index 000000000..ac40de0a0 --- /dev/null +++ b/mustache/mustache-0.7.3.d.ts @@ -0,0 +1,55 @@ +// Type definitions for Mustache 0.7.3 +// Project: https://github.com/janl/mustache.js +// Definitions by: Boris Yankov +// Definitions: https://github.com/borisyankov/DefinitelyTyped + + +interface MustacheScanner { + string: string; + tail: string; + pos: number; + + eos(): boolean; + scan(re: RegExp): string; + scanUntil(re: RegExp): string; +} + +interface MustacheContext { + view: any; + parent: MustacheContext; + + clearCache(): void; + push(view: any): MustacheContext; + lookup(name: string): any; +} + +interface MustacheWriter { + (view: any): string; + + clearCache(): void; + compile(template: string, tags: any): any; + compilePartial(name: string, template: string, tags: any): any; + compileTokens(tokens: string[], template: string): any; + render(template: string, view: any, partials: any): any; +} + +interface MustacheStatic { + name: string; + version: string; + tags: string; + Scanner: MustacheScanner; + Context: MustacheContext; + Writer: MustacheWriter; + escape: any; + + parse(template: string, tags: any): any; + clearCache(): MustacheWriter; + compile(template: string): MustacheWriter; + compile(template: string, tags: any): MustacheWriter; + compilePartial(name: string, template: string, tags: any): MustacheWriter; + compileTokens(tokens: string[], template: string): MustacheWriter; + render(template: string, view: any, partials?: any): string; + to_html(template: string, view: any, partials?: any, send?: any): string; +} + +declare var Mustache: MustacheStatic; diff --git a/mustache/mustache-tests.ts b/mustache/mustache-tests.ts index 9b42131ef..5265dec0a 100644 --- a/mustache/mustache-tests.ts +++ b/mustache/mustache-tests.ts @@ -1,11 +1,14 @@ /// -var view = { title: "Joe", calc: function () { return 2 + 4; } }; -var output = Mustache.render("{{title}} spends {{calc}}", view); +var view1 = { title: "Joe", calc: function () { return 2 + 4; } }; +var template1 = "{{title}} spends {{calc}}"; +var output = Mustache.render(template1, view1); -var person; -var template = "

{{firstName}} {{lastName}}

Blog: {{blogURL}}"; -var html = Mustache.to_html(template, person); +var view2 = { forename: "Jane", calc: function () { return 10 + 5; } }; +var template2 = "{{forename}} spends {{calc}}"; +Mustache.parse(template2, null); +var output2 = Mustache.render(template2, view2); -var writer = Mustache.compile(template); -var writerOutput = writer(view); +var view3 = { firstName: "John", lastName: "Smith", blogURL: "http://testblog.com" }; +var template3 = "

{{firstName}} {{lastName}}

Blog: {{blogURL}}"; +var html = Mustache.to_html(template3, view3); diff --git a/mustache/mustache-tests.ts.tscparams b/mustache/mustache-tests.ts.tscparams deleted file mode 100644 index d3f5a12fa..000000000 --- a/mustache/mustache-tests.ts.tscparams +++ /dev/null @@ -1 +0,0 @@ - diff --git a/mustache/mustache.d.ts b/mustache/mustache.d.ts index 9cd5e6f69..3f0a83dfa 100644 --- a/mustache/mustache.d.ts +++ b/mustache/mustache.d.ts @@ -1,6 +1,6 @@ -// Type definitions for Mustache 0.7 +// Type definitions for Mustache 0.8.2 // Project: https://github.com/janl/mustache.js -// Definitions by: Boris Yankov +// Definitions by: Mark Ashley Bell // Definitions: https://github.com/borisyankov/DefinitelyTyped @@ -15,21 +15,20 @@ interface MustacheScanner { } interface MustacheContext { - view; - parent; + view: any; + parentContext: MustacheContext; - clearCache(); - push(view): MustacheContext; + push(view: any): MustacheContext; lookup(name: string): any; } interface MustacheWriter { (view: any): string; - clearCache(); - compile(template: string, tags); - compilePartial(name, template, tags); - compileTokens(tokens, template); - render(template, view, partials); + + clearCache(): void; + parse(template: string, tags?: any): any; + render(template: string, view: any, partials: any): string; + renderTokens(tokens: string[], context: MustacheContext, partials: any, originalTemplate: any): string; } interface MustacheStatic { @@ -39,16 +38,12 @@ interface MustacheStatic { Scanner: MustacheScanner; Context: MustacheContext; Writer: MustacheWriter; - escape; + escape: any; - parse(template: string, tags); clearCache(): MustacheWriter; - compile(template: string): MustacheWriter; - compile(template: string, tags): MustacheWriter; - compilePartial(name: string, template: string, tags): MustacheWriter; - compileTokens(tokens, template: string): MustacheWriter; + parse(template: string, tags?: any): any; render(template: string, view: any, partials?: any): string; - to_html(template: string, view: any, partials?: any, send?): string; + to_html(template: string, view: any, partials?: any, send?: any): any; } declare var Mustache: MustacheStatic; diff --git a/mustache/mustache.d.ts.tscparams b/mustache/mustache.d.ts.tscparams deleted file mode 100644 index d3f5a12fa..000000000 --- a/mustache/mustache.d.ts.tscparams +++ /dev/null @@ -1 +0,0 @@ -