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