import * as redis from "redis"; import Redis from "./Redis"; import RequestHandler from "./RequestHandler"; export default abstract class HttpController extends RequestHandler { public constructor(init: Partial) { super(init); Object.assign(this, init); } public redis: Redis = (method: keyof redis.Commands, ...args: any[]): Promise => new Promise((resolve, reject) => { this.app.redis[method].apply(this.app.redis, args.concat([(err: Error, result: T) => { if (err) reject(err); else resolve(result); }])); }) }