From 321137bdd3b4b5a0bfee41f17890fca08161949f Mon Sep 17 00:00:00 2001 From: zhangwenxi Date: Mon, 20 Aug 2018 17:59:58 +0800 Subject: [PATCH] add express-wechat-access types --- .../express-wechat-access-tests.ts | 18 ++++++++++ types/express-wechat-access/index.d.ts | 35 +++++++++++++++++++ types/express-wechat-access/tsconfig.json | 23 ++++++++++++ types/express-wechat-access/tslint.json | 11 ++++++ 4 files changed, 87 insertions(+) create mode 100644 types/express-wechat-access/express-wechat-access-tests.ts create mode 100644 types/express-wechat-access/index.d.ts create mode 100644 types/express-wechat-access/tsconfig.json create mode 100644 types/express-wechat-access/tslint.json diff --git a/types/express-wechat-access/express-wechat-access-tests.ts b/types/express-wechat-access/express-wechat-access-tests.ts new file mode 100644 index 0000000000..659c5b3639 --- /dev/null +++ b/types/express-wechat-access/express-wechat-access-tests.ts @@ -0,0 +1,18 @@ +import express = require('express'); +import * as weAccessMiddleware from 'express-wechat-access'; + +const app: express.Application = express(); + +const options: weAccessMiddleware.IWeAccessMidOption = { + appId: 'xxxxx', + appSecret: 'xxxxx' +}; + +app.use( + weAccessMiddleware( + options, + e => { + console.error(e); + } + ) +); diff --git a/types/express-wechat-access/index.d.ts b/types/express-wechat-access/index.d.ts new file mode 100644 index 0000000000..f871d1733e --- /dev/null +++ b/types/express-wechat-access/index.d.ts @@ -0,0 +1,35 @@ +// Type definitions for express-wechat-access 1.1 +// Project: https://github.com/simmons8616/express-wechat-access +// Definitions by: Simmons Zhang +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +/// +/// + +import { Response, NextFunction } from 'express'; +import * as http from 'http'; +import { EventEmitter } from 'events'; + +interface IMidOption { + accessTokenUrl?: string; + ticketUrl?: string; + appId: string; + appSecret: string; + https?: boolean; +} + +type IMiddleware = (req: any, res: Response | http.ServerResponse, next: NextFunction) => any; + +declare function weAccessMiddleware( + options: IMidOption, + errorHandler?: (e: any) => any +): IMiddleware; + +declare namespace weAccessMiddleware { + interface IWeAccessMidOption extends IMidOption {} + + interface IWeAccessMiddleware extends IMiddleware, EventEmitter, Function {} +} + +export = weAccessMiddleware; diff --git a/types/express-wechat-access/tsconfig.json b/types/express-wechat-access/tsconfig.json new file mode 100644 index 0000000000..e24d740f2c --- /dev/null +++ b/types/express-wechat-access/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "express-wechat-access-tests.ts" + ] +} diff --git a/types/express-wechat-access/tslint.json b/types/express-wechat-access/tslint.json new file mode 100644 index 0000000000..886d87b3b7 --- /dev/null +++ b/types/express-wechat-access/tslint.json @@ -0,0 +1,11 @@ +{ + "extends": "dtslint/dt.json", + "rules": { + "interface-name": false, + "no-empty-interface": false, + "no-namespace": false, + "no-reference-import": false, + "no-var-keyword": false, + "strict-export-declare-modifiers": false + } +}