Как правильно бороться с promisifyAll в машинописи?
Рассмотрим следующий код:
import redis = require('redis'); //Has ambient declaration from DT
import bluebird = require('bluebird'); //Has ambient declaration from DT
bluebird.promisifyAll((<any>redis).RedisClient.prototype);
bluebird.promisifyAll((<any>redis).Multi.prototype);
const client = redis.createClient();
client.getAsync('foo').then(function(res) {
console.log(res);
});
getAsync
будет ошибка, потому что он создан на лету и не определен ни в одном.d.ts
файл. Так каков правильный способ справиться с этим?
Кроме того, хотя у меня есть.d.ts
файлы, загруженные для redis, мне все равно нужно кастоватьredis
вany
использоваться дляpromisifyAll
, В противном случае это выльется в ошибку:
Property 'RedisClient' does not exist on type 'typeof "redis"'
Набирает этоany
единственный легкий путь?