选一个有代表性的例子
第一轮体验的重点,是快速看出哪些转换已经足够确定,哪些地方仍然存在目标格式带来的取舍。
- 选择一个已支持的源格式,比如 TypeScript 或 JSON Schema。
- 贴入一个包含 object、primitive,以及至少一个 array 或 enum 的 schema。
- 生成到另一种目标格式后,先比对结构,再比对语法细节。
文档文章
完成第一次转换
跑通一次完整转换流程,同时检查输出结果和 diagnostics。
理解这个 toolkit 的最快方式,就是亲手跑一遍 parse -> Shape IR -> generate 的完整流程。
第一份示例 schema 最好足够简单,肉眼就能检查结构是否保留;同时也要稍微有点复杂度,能体现 IR 不是摆设。
第一轮体验的重点,是快速看出哪些转换已经足够确定,哪些地方仍然存在目标格式带来的取舍。
转换成功后,检查结果里字段名、容器结构以及明显约束是否都还在。
如果出现 warning 或 caveat,不要把它们当噪音。它们正是在告诉你目标格式无法完整承载的语义在哪里。
这种紧凑示例非常适合作为起点,因为你能很快判断 object property、array 和 enum 是否被保留。
适合第一轮体验的输入
type Source = {
id: string;
tags: string[];
status: "draft" | "published";
};