打字稿:如何将特定的库方法转换为自定义类型定义

时间:2019-03-21 21:20:28

标签: typescript typescript-typings

有一个名为mtgsdk的JS库,它是对magicthegathering.io API的http调用的包装。

我正在使用Ionic开发应用程序,由于找不到该库的任何类型定义,因此我想创建自己的库。

我正在努力正确编写index.d.ts文件。

例如,库提供给我们的这种id查找方法:

const mtg = require('mtgsdk')

mtg.card.find(3)
.then(result => {
    console.log(result.card.name) // "Black Lotus"
})

在这种特定情况下,index.d.ts的样子如何?

2 个答案:

答案 0 :(得分:2)

您的导出可能看起来像这样:

export interface Result {
  card: { name:string }
}
export declare class mtg {
  public static card: {
    find(index: number): Promise<Result>
  }
}

答案 1 :(得分:0)

好吧,ts-sdk library有什么问题吗? 如果没有其他内容,它似乎包含接口/类型定义。