V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
azh7138m
V2EX  ›  问与答

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

  •  
  •   azh7138m · Jun 21, 2019 · 2617 views
    This topic created in 2504 days ago, the information mentioned may be changed or developed.

    需求

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

    现有的轮子

    ts-json-schema-generator

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

    typescript-json-schema

    RangeError: Maximum call stack size exceeded
    

    然后就自杀了。


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

    2 replies    2019-06-21 21:45:43 +08:00
    qq316107934
        1
    qq316107934  
       Jun 21, 2019 via Android
    做过其他语言的的生成 json schema,思路是先解析 AST,然后按类型拼 json 就行了,draft-07 可能难一些。轮子不是万能的。
    azh7138m
        2
    azh7138m  
    OP
       Jun 21, 2019 via Android
    @qq316107934 不知道你的其他语言是什么,Java 这种语言就比较简单,没什么东西。
    解析 ast 我懂,这里哪有这么简单,一个 keyof 要来回遍历,mapped type 要怎么处理,问题多得很,你要重新实现一次类型系统吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5097 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 09:09 · PVG 17:09 · LAX 02:09 · JFK 05:09
    ♥ Do have faith in what you're doing.