使用 Typescript 执行 API

Use Typescript for API enforcement

我有一个 Node.js 模块,看起来像这样:

module.exports = function(data){

    return {

      limit: 4,
      values: {}

    }


};

使用 TypeScript,可能看起来像:

interface ISomethingA {
    values: Object,
    limit?: number
}

export = function(data: ISomethingB){

    return {

      limit: 4,
      values: {}

    } as ISomethingA;


};

这些模块必须遵守特定的 API - 从函数返回的对象需要 "values" 和 "limit" 属性。

我可以在此处使用哪些 TypeScript 构造向用户提供反馈,以便他们知道他们遵守 API?

到目前为止,"as" 语法并没有像我预期的那样对我有效。我正在寻找一种方法来定义从函数返回的对象的类型。

在函数声明中指定return类型:

export = function(data: ISomethingB): ISomethingA {
    return {
      limit: 4,
      values: {}
    };
};