Merge pull request #15094 from brooklynDev/master

Added types for koa-views
This commit is contained in:
Nathan Shively-Sanders
2017-03-28 11:20:37 -07:00
committed by GitHub
4 changed files with 107 additions and 0 deletions
+60
View File
@@ -0,0 +1,60 @@
// Type definitions for koa-views 2.x
// Project: https://github.com/queckezz/koa-views
// Definitions by: Alex Friedman <https://github.com/brooklyndev/>
// Definitions: https://github.com/brooklyndev/DefinitelyTyped
/* =================== USAGE ===================
import * as Koa from 'koa';
import * as views from 'koa-views';
const app = new Koa();
app.use(views(__dirname + '/views', {
map: {
html: 'underscore'
}
}));
app.use(async function (ctx, next) {
await ctx.render('user', {
user: 'John'
});
});
=============================================== */
import * as Koa from "koa";
declare function views(dir: string, opts?: {
/*
* default extension for your views
*/
extension?: string,
/*
* these options will get passed to the view engine
*/
options?: any,
/*
* map a file extension to an engine
*/
map?: any,
/*
* replace consolidate as default engine source
*/
engineSource?: any,
}): Koa.Middleware;
declare namespace views { }
export = views;
import * as koa from "koa";
declare module 'koa' {
interface Context {
render(viewPath: string, locals?: any): Promise<void>;
}
}
+19
View File
@@ -0,0 +1,19 @@
import * as Koa from "koa";
import * as views from "koa-views";
const app = new Koa();
app.use(views('/views', {
map: {
html: 'underscore'
},
extension: '.html',
engineSource: {},
options: {}
}));
app.use((ctx: Koa.Context) => {
ctx.render('user', {
user: 'John'
}).then(() => console.log('done render call'));
});
+22
View File
@@ -0,0 +1,22 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"koa-views-tests.ts"
]
}
+6
View File
@@ -0,0 +1,6 @@
{
"extends": "../tslint.json",
"rules": {
"forbidden-types": false
}
}