我使用的是一个外部库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
。