是否可以将打字稿接口导出为方法的输出?

Is it possible to export typescript interface as output from a method?

我有一个方法可以将 JSON 模式转换为 Typescript 接口 "string"。 它看起来像这样:

//输入

var scriptSchema = {
    type: 'object',
    properties: {
       src: { type: 'string' },
       name: { type: 'string' },
       author: { type: 'string' }
    },
    required: ['src','name']
}

//输出(作为字符串)

interface IScript {
   src: string,
   name: string,
   author?: string
}

如果可能,我想避免生成一个文件来存放它。

理想情况下,如果可能的话,我想做这样的事情。

export interface IScript = JSON.parse(...) //etc, etc

有什么建议吗?

否 - 至少在不发出有效的新 TypeScript 代码并将其编译为 post-step.

的情况下不会

此限制是因为 TypeScript 是一种 Statically Typed 语言,它必须在 type-validation 和 [trans] 编译期间具有所有类型信息。未来执行程序的 在此可用。

end-goal 似乎适用于 'dynamically generate' 各种 TypeScript 类型。在这种情况下,使用单独的文件(和单独的生成阶段)可能是最..有用的。