V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
azh7138m
V2EX  ›  问与答

[Typescript] 如何从 ts 文件生成 json schema 呢?

  •  
  •   azh7138m · 2019-06-21 19:07:41 +08:00 · 2036 次点击
    这是一个创建于 1743 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求

    比较直接,从 ts 文件生成 json schema 或者提取出一个 Class 的 key 也行

    现有的轮子

    ts-json-schema-generator

    有的时候会有奇怪的错误,比如 这种

    typescript-json-schema

    RangeError: Maximum call stack size exceeded
    

    然后就自杀了。


    那么问题来了,有没有合适的轮子来做这个事情呢?

    2 条回复    2019-06-21 21:45:43 +08:00
    qq316107934
        1
    qq316107934  
       2019-06-21 20:29:50 +08:00 via Android
    做过其他语言的的生成 json schema,思路是先解析 AST,然后按类型拼 json 就行了,draft-07 可能难一些。轮子不是万能的。
    azh7138m
        2
    azh7138m  
    OP
       2019-06-21 21:45:43 +08:00 via Android
    @qq316107934 不知道你的其他语言是什么,Java 这种语言就比较简单,没什么东西。
    解析 ast 我懂,这里哪有这么简单,一个 keyof 要来回遍历,mapped type 要怎么处理,问题多得很,你要重新实现一次类型系统吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2850 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:42 · PVG 19:42 · LAX 04:42 · JFK 07:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.