将“ any”值声明为一个类

时间:2019-03-03 08:50:47

标签: typescript

有一个很小的临时脚本,我被迫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 实现?

1 个答案:

答案 0 :(得分:1)

您需要改为将assert键入{ "_id" : ObjectId("5c7b9810fff809df6f680303"), "Details" : [ { "ProjectNumber" : "1234", "ProjectQuarter" : "20183" }, { "ProjectNumber" : "1234", "ProjectQuarter" : "20184" } ] } 。类名是实例类型,typeof MyClass是类本身的类型。

typeof Class