我正在尝试为meteor-files编写一个定义文件,这是一个 Meteor Atmosphere 包,它公开了一个全局类FilesCollection
。我认为我的定义的开头应该是这样的:
declare class FilesCollection extends Mongo.Collection<any> {
constructor(config?: FilesCollectionConfig)
}
但是,我不确定参考的最佳方式Mongo.Collection
。这是 Meteor 定义文件的摘录:
declare module Mongo {
var Collection: CollectionStatic;
interface CollectionStatic {
new < T > (name: string, options ? : {
connection ? : Object;
idGeneration ? : string;
transform ? : Function;
}): Collection < T > ;
}
interface Collection < T > {
...
}
...
}
declare module "meteor/mongo" {
module Mongo {
var Collection: CollectionStatic;
interface CollectionStatic {
new < T > (name: string, options ? : {
connection ? : Object;
idGeneration ? : string;
transform ? : Function;
}): Collection < T > ;
}
interface Collection < T > {
...
}
...
}
}
Mongo.Collection
因此,当在我的应用程序中引用其他地方时,我以import { Mongo } from 'meteor/mongo';
. 但是,我不确定如何在定义文件中执行相同的操作,因为我无法在全局定义中添加导入语句。
如果我在中添加 Meteor 作为全局依赖项typings.json
,上面的内容似乎在我的定义存储库中工作typed-meteor-files
。但是,当我typed-meteor-files
在我的应用程序中使用时,不会提取来自的附加属性,并且我在导入的定义文件中Mongo.Collection
收到错误。Cannot find Mongo
我有点迷茫,不知道这样做的正确方法是什么。谢谢!