【发布时间】:2017-07-16 23:36:18
【问题描述】:
我正在尝试为 ArangoDB 的服务器端 API 编写定义文件。此 API 公开了一个 db 对象,该对象可用于访问集合,还可以执行数据库级别的操作,例如运行查询。所以我可以打电话:
db['my-collection'] <- returns a collection object
还有:
db._query('some query') <- returns a query cursor
于是我尝试了如下界面:
interface ArangoDatabase {
[collectionName: string]: ArangoCollection;
_query(query: string): ArangoCursor;
}
但这对 TS 来说似乎无效,因为它会生成以下错误:
Property '_query' of type '(query: string) => ArangoCursor' is not assignable to string index type 'ArangoCollection'.
注意:我尝试this solution 为索引器指定ArangoCollection|ArangoCursor 类型,但没有帮助。
我是否达到了可以使用接口建模的限制,还是有其他方法?
提前致谢。
【问题讨论】:
标签: typescript