_由 jare_ 评论:
注意,并非所有值都可以携带元数据(数字、字符串等),但这是一个有趣的想法。
这不重要,因为元数据对于生成器工具的开发者而言将非常有用,使用它的人可以通过包装原语来克服限制。
对于最终用户API,类似于 spec/explain(s/explain-data, s/explain-str..) 的功能将是很好的。
我将称之为 s/complexity,这个函数接受一个规范并返回(在 s/complexity-data 的情况下)与原始规范形状相同,并用生成复杂度数据(平均时间、尝试次数、mb 规范形式...)填充的结构。它应该以合理的方式处理过于复杂的规范,即而不是像生成器那样抛出错误,它最好报告哪个部分的规范过于复杂以及其元素的个别复杂度。