我基本上想做这样的事情:
const jsonSchema = {...} as const;
type SchemaType = JsonSchemaToType<typeof jsonSchema>;
这样我就可以做到:
export default (input: SchemaType) => {
validate(input, jsonSchema)
...
}
因此,模式验证以及基于相同模式的typescript类型也是如此,理想情况下是在运行中。
它基本上应该和这个web工具做同样的事情:https://transform.tools/json-schema-to-typescript,但直接在我的代码中。
如果这不可能在普通打字,一个插件,为webpack也会有帮助
发布于 2021-09-02 18:54:13
找到了一个实际执行此工作的库:https://www.npmjs.com/package/json-schema-to-ts
import type { FromSchema } from "json-schema-to-ts";
const jsonSchema = {...} as const;
type SchemaType = FromSchema<typeof jsonSchema>;
export default (input: SchemaType) => {
validate(input, jsonSchema)
...
}
https://stackoverflow.com/questions/69034688
复制相似问题