有一个很小的临时脚本,我被迫require()
(不是 import
),我想将其包装在带有相邻字符的打字稿文件中declare class
声明。
declare class MyCache<K, T> {
constructor(numItems: number);
get(key: K): T;
set(key: K, val: T): void;
}
const Cache = require('./my-cache-module');
export default Cache as MyCache<K, T>; // <---- not quite right...
// intended to be used as:
//
// const cache: MyCache<string, string> = new MyCache(100);
// cache.set('foo', 'bar');
// cache.get('foo'); //-> 'bar'
如何告诉Typescript Cache
不是MyCache
的实例,而是该类的 actual 实现?
答案 0 :(得分:1)
您需要改为将assert键入{
"_id" : ObjectId("5c7b9810fff809df6f680303"),
"Details" : [
{
"ProjectNumber" : "1234",
"ProjectQuarter" : "20183"
},
{
"ProjectNumber" : "1234",
"ProjectQuarter" : "20184"
}
]
}
。类名是实例类型,typeof MyClass
是类本身的类型。
typeof Class