From 2551134c6ca44cd5bdf68d8a7a6ab9f9e5086c5c Mon Sep 17 00:00:00 2001 From: Sam Saint-Pettersen Date: Wed, 21 Oct 2015 17:55:39 +0100 Subject: [PATCH 1/6] Create express-handlebars.d.ts --- express-handlebars/express-handlebars.d.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 express-handlebars/express-handlebars.d.ts diff --git a/express-handlebars/express-handlebars.d.ts b/express-handlebars/express-handlebars.d.ts new file mode 100644 index 000000000..ee5d78436 --- /dev/null +++ b/express-handlebars/express-handlebars.d.ts @@ -0,0 +1,19 @@ +// Type definitions for express-handlebars +// Project: https://github.com/ericf/express-handlebars +// Definitions by: Sam Saint-Pettersen +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +interface ExphbsOptions { + handlebars?: any; + extname?: string; + layoutsDir?: string; + partialsDir?: string; + defaultLayout?: string; + helpers?: any; + compilerOptions?: any; +} + +declare module "express-handlebars" { + function exphbs(options: ExphbsOptions): Function; + export = exphbs; +} From 1f025c1af45431bdd9726b6c3bdac89695d2911d Mon Sep 17 00:00:00 2001 From: Sam Saint-Pettersen Date: Wed, 21 Oct 2015 17:56:58 +0100 Subject: [PATCH 2/6] Create express-handlebars-tests.ts --- express-handlebars/express-handlebars-tests.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 express-handlebars/express-handlebars-tests.ts diff --git a/express-handlebars/express-handlebars-tests.ts b/express-handlebars/express-handlebars-tests.ts new file mode 100644 index 000000000..70d5d6f91 --- /dev/null +++ b/express-handlebars/express-handlebars-tests.ts @@ -0,0 +1,15 @@ +/// +/// +/// + +import express = require('express'); +import exphbs = require('express-handlebars'); + +var app = express(); +app.engine('handlebars', exphbs({defaultLayout: 'main'})); +app.set('view engine', 'handlebars'); + +app.listen(1337); +console.log('Started dummy server on port 1337...'); +console.log('Done'); +process.exit(0); From dc088ccb756ae27e16c94c699501f6331de27365 Mon Sep 17 00:00:00 2001 From: Sam Saint-Pettersen Date: Thu, 22 Oct 2015 17:23:27 +0100 Subject: [PATCH 3/6] Update express-handlebars.d.ts --- express-handlebars/express-handlebars.d.ts | 29 +++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/express-handlebars/express-handlebars.d.ts b/express-handlebars/express-handlebars.d.ts index ee5d78436..6e11635b5 100644 --- a/express-handlebars/express-handlebars.d.ts +++ b/express-handlebars/express-handlebars.d.ts @@ -3,6 +3,20 @@ // Definitions by: Sam Saint-Pettersen // Definitions: https://github.com/borisyankov/DefinitelyTyped +interface Promise {} // This should be replaced with a Promise type definition import. + +interface PartialTemplateOptions { + cache?: boolean; + precompiled?: boolean; +} + +interface RenderOptions { + cache?: boolean; + data?: Object; + helpers?: any; + partials?: any; +} + interface ExphbsOptions { handlebars?: any; extname?: string; @@ -13,7 +27,20 @@ interface ExphbsOptions { compilerOptions?: any; } +interface Exphbs { + engine: Function; + extname: string; + compiled: Object; + precompiled: Object; + create(options?: ExphbsOptions): Exphbs; + getPartials(options?: PartialTemplateOptions): Promise; + getTemplate(filePath: string, options?: PartialTemplateOptions): Promise; + getTemplates(dirPath: string, options?: PartialTemplateOptions): Promise; + render(filePath: string, context: Object, options?: RenderOptions): Promise; + renderView(viewPath: string, optionsOrCallback?: any, callback?: Function): void; +} + declare module "express-handlebars" { - function exphbs(options: ExphbsOptions): Function; + var exphbs: Exphbs; export = exphbs; } From d0b76a76e6a9e77e73f1deb7386468190c0742da Mon Sep 17 00:00:00 2001 From: Sam Saint-Pettersen Date: Thu, 22 Oct 2015 17:25:22 +0100 Subject: [PATCH 4/6] Update express-handlebars-tests.ts --- express-handlebars/express-handlebars-tests.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/express-handlebars/express-handlebars-tests.ts b/express-handlebars/express-handlebars-tests.ts index 70d5d6f91..3fa6ef31d 100644 --- a/express-handlebars/express-handlebars-tests.ts +++ b/express-handlebars/express-handlebars-tests.ts @@ -6,10 +6,12 @@ import express = require('express'); import exphbs = require('express-handlebars'); var app = express(); -app.engine('handlebars', exphbs({defaultLayout: 'main'})); +var hbs: Exphbs = exphbs.create({defaultLayout: 'main'}); + +app.engine('handlebars', hbs.engine); app.set('view engine', 'handlebars'); app.listen(1337); -console.log('Started dummy server on port 1337...'); +console.log('Test Express Handlebars app on port 1337..'); console.log('Done'); process.exit(0); From 0bf4af5b283944fd2d63d1bac0f617f9921a6d01 Mon Sep 17 00:00:00 2001 From: Sam Saint-Pettersen Date: Thu, 22 Oct 2015 17:52:44 +0100 Subject: [PATCH 5/6] Update express-handlebars.d.ts --- express-handlebars/express-handlebars.d.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/express-handlebars/express-handlebars.d.ts b/express-handlebars/express-handlebars.d.ts index 6e11635b5..d3177c114 100644 --- a/express-handlebars/express-handlebars.d.ts +++ b/express-handlebars/express-handlebars.d.ts @@ -3,7 +3,7 @@ // Definitions by: Sam Saint-Pettersen // Definitions: https://github.com/borisyankov/DefinitelyTyped -interface Promise {} // This should be replaced with a Promise type definition import. +/// interface PartialTemplateOptions { cache?: boolean; @@ -33,10 +33,10 @@ interface Exphbs { compiled: Object; precompiled: Object; create(options?: ExphbsOptions): Exphbs; - getPartials(options?: PartialTemplateOptions): Promise; - getTemplate(filePath: string, options?: PartialTemplateOptions): Promise; - getTemplates(dirPath: string, options?: PartialTemplateOptions): Promise; - render(filePath: string, context: Object, options?: RenderOptions): Promise; + getPartials(options?: PartialTemplateOptions): Promise; + getTemplate(filePath: string, options?: PartialTemplateOptions): Promise; + getTemplates(dirPath: string, options?: PartialTemplateOptions): Promise; + render(filePath: string, context: Object, options?: RenderOptions): Promise; renderView(viewPath: string, optionsOrCallback?: any, callback?: Function): void; } From 76a5673ef3f44ea879f8389a8ebfce100be23e49 Mon Sep 17 00:00:00 2001 From: Sam Saint-Pettersen Date: Thu, 22 Oct 2015 18:04:55 +0100 Subject: [PATCH 6/6] Update express-handlebars.d.ts --- express-handlebars/express-handlebars.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/express-handlebars/express-handlebars.d.ts b/express-handlebars/express-handlebars.d.ts index d3177c114..636bd5d79 100644 --- a/express-handlebars/express-handlebars.d.ts +++ b/express-handlebars/express-handlebars.d.ts @@ -37,7 +37,7 @@ interface Exphbs { getTemplate(filePath: string, options?: PartialTemplateOptions): Promise; getTemplates(dirPath: string, options?: PartialTemplateOptions): Promise; render(filePath: string, context: Object, options?: RenderOptions): Promise; - renderView(viewPath: string, optionsOrCallback?: any, callback?: Function): void; + renderView(viewPath: string, optionsOrCallback?: any, callback?: () => string): void; } declare module "express-handlebars" {