为库的方法参数添加类型



我使用的是一个外部库pg-mem,它暴露了LibAdapters,它有一个方法createTypeormConnection,它接受很少的参数,但类型为any

export interface LibAdapters {
createTypeormConnection(typeOrmConnection: any, queryLatency?: number): any;
}

我想指定这些参数的确切类型,因为我得到了很多lint错误:

Unsafe return of an `any` typed value.eslint@typescript-eslint/no-unsafe-return

如何指定参数的类型&方法的返回类型?

您可以使用声明合并来扩展现有类型:

declare module "pg-mem" {
interface LibAdapters {
createTypeormConnection(typeOrmConnection: SomeType, queryLatency?: number): SomeOtherType
}
}

注意,这将增加createTypeormConnection的重载,而不是覆盖它,所以如果你调用createTypeormConnection的值类型不是SomeType,你仍然会得到any

最新更新