重新打字
为最终解决ReasonML / OCaml打字稿互操作而进行的有目的的尝试。
为什么
我正在为Material UI维护一包自动生成的绑定。 随着原始程序包的复杂性增加以及希望涵盖所有内容的工具开始崩溃,生成这些绑定变得越来越令人沮丧。 这导致每个循环中丢失越来越多的类型,并通过调整类型提取过程来花费宝贵的时间来恢复它们。 现在,生成器使用一个将typescript转换成json-schema ,然后将其分析并解析为原因代码。 我相信这些工具想要覆盖太多的用例才能有效。 因此,我着手简化此过程,并可能提供一种有效的方法来概括reason和typescript之间的类型映射。
颇有野心。 走着瞧。
理念
re-typescript实现了它自己的词法分析器/解析器,专门用于分析typescript声明文件。 它故意不想要进入通过跟踪推断类型*.ts文件。 它只会尽最大可能提取干净定义的类型。
我还不确定如何处理无法解析的代码。 我相信最好的近似方法是最好的,它将通过仅注入某种抽象类型来优雅地结束遍历,而不是使类型失效或完全省略。
re-typescript首先从令牌化过程中
1