diff --git a/mustache/mustache-0.7.0-tests.ts b/mustache/mustache-0.7.0-tests.ts
new file mode 100644
index 0000000000..0f39985ef1
--- /dev/null
+++ b/mustache/mustache-0.7.0-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;
+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.0.d.ts b/mustache/mustache-0.7.0.d.ts
new file mode 100644
index 0000000000..9921231bcb
--- /dev/null
+++ b/mustache/mustache-0.7.0.d.ts
@@ -0,0 +1,54 @@
+// Type definitions for Mustache 0.7
+// 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;
+ parent;
+
+ clearCache();
+ push(view): 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);
+}
+
+interface MustacheStatic {
+ name: string;
+ version: string;
+ tags: string;
+ Scanner: MustacheScanner;
+ Context: MustacheContext;
+ Writer: MustacheWriter;
+ escape;
+
+ 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;
+ render(template: string, view: any, partials?: any): string;
+ to_html(template: string, view: any, partials?: any, send?): string;
+}
+
+declare var Mustache: MustacheStatic;
diff --git a/mustache/mustache-tests.ts b/mustache/mustache-tests.ts
index 9b42131ef1..5265dec0ad 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 d3f5a12faa..0000000000
--- a/mustache/mustache-tests.ts.tscparams
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/mustache/mustache.d.ts b/mustache/mustache.d.ts
index 9cd5e6f699..6737a7dd9b 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
@@ -18,18 +18,17 @@ interface MustacheContext {
view;
parent;
- clearCache();
push(view): MustacheContext;
lookup(name: string): any;
}
interface MustacheWriter {
(view: any): string;
+
clearCache();
- compile(template: string, tags);
- compilePartial(name, template, tags);
- compileTokens(tokens, template);
+ parse(template: string, tags?: any);
render(template, view, partials);
+ renderTokens(tokens, context, partials, originalTemplate);
}
interface MustacheStatic {
@@ -41,12 +40,8 @@ interface MustacheStatic {
Writer: MustacheWriter;
escape;
- 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);
render(template: string, view: any, partials?: any): string;
to_html(template: string, view: any, partials?: any, send?): string;
}
diff --git a/mustache/mustache.d.ts.tscparams b/mustache/mustache.d.ts.tscparams
deleted file mode 100644
index d3f5a12faa..0000000000
--- a/mustache/mustache.d.ts.tscparams
+++ /dev/null
@@ -1 +0,0 @@
-