Open7
TypeScriptのValidation library
ベンチマーク
超絶爆速
JavaScriptのコードを生成してFunctionコンストラクタに渡して実行しているので速い。
スキーマ作る側はJsonSchemaのビルダー関数に型定義付けただけみたい。
既存のJsonSchemaを使ったりJsonSchema吐かせたりもできそう?
TypeBoxと同じく超絶爆速
TypeScriptの型をtscで読んでコードを生成している。
最近良く見かけるライブラリ
TypeBoxのようにhack的なことをせずに素直にTypeSctiptで書かれている。
メソッドチェーンの代わりにpipe
関数を使うのでtree-shakingが効く。
あとZodよりはだいぶ速い(TypeBoxやにtypiaは負ける)
superstructがあるのにvalibotが出てきた理由は何かなと思ったけど、zodよりも遅いのと詳細なエラーメッセージが出せないあたりかな?
エコシステムがでかい。
メソッドチェーンで繋げていくので書きやすくはあるが、tree-shakingが効かず使っていない機能の分もサイズを食う。
extendやomitを使うとtscが重くなるらしい