是否可以将打字稿接口导出为方法的输出?
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 类型。在这种情况下,使用单独的文件(和单独的生成阶段)可能是最..有用的。
我有一个方法可以将 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 类型。在这种情况下,使用单独的文件(和单独的生成阶段)可能是最..有用的。