在TypeScript

时间:2018-08-22 18:28:19

标签: javascript typescript npm amazon-dynamodb aws-sdk

我正在尝试在dynamo-cache项目中使用npm TypeScript模块。基本上,该模块向AWS.DynamoDB.DocumentClient添加了新方法:

AWS.DynamoDB.DocumentClient.prototype.configCache = function(config) { ... }

这样,在任何configCache()上调用AWS.DynamoDB.DocumentClient将启用缓存。但是,TypeScript不知道此方法。我试图声明这样的接口

interface AWS.DynamoDB.DocumentClient {
    configCache(config: any): void
}

,但是TypeScript拒绝了解DynamoDB,或者接口声明中不允许使用点号。另外,当我声明具有相同名称的接口时,显式导入DocumentClient会导致冲突。我该如何工作?

1 个答案:

答案 0 :(得分:0)

根据所使用的模块系统,它可能有所不同,但声明全局可能是您要查找的内容: Declaration Merging

declare global {
    namespace AWS.DynamoDB
    {
        interface DocumentClient {
            configCache(config: any): void
        }
    }
}

您可能必须省略AWS.DynamoDB,无法真正验证代码atm。