[[Zod]]の記事を書くために必要な情報収集メモ。
## 公式の覚書
公式READMEから重要そうな説明をピックアップ。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://github.githubassets.com/favicons/favicon.svg" />
<span class="link-card-v2-site-name">GitHub</span>
</div>
<div class="link-card-v2-title">
GitHub - colinhacks/zod: TypeScript-first schema validation with static type inference
</div>
<div class="link-card-v2-content">
TypeScript-first schema validation with static type inference - colinhacks/zod
</div>
<img class="link-card-v2-image" src="https://opengraph.githubassets.com/43b58afa332b9ab00bc7039b2849125b6f6bda9cb6ab4aeaafc9ed03841ae7f3/colinhacks/zod" />
<a href="https://github.com/colinhacks/zod"></a>
</div>
> The goal is to eliminate duplicative type declarations.
型宣言の重複を極力排除することが目的。
> With Zod, you declare a validator once and Zod will automatically infer the static TypeScript type.
[[Zod]]を使えば、validatorを定義するだけで型定義を自動で推論してくれる。
> - Zero dependencies
> - Works in Node.js and all modern browsers
> - Tiny: 8kb minified + zipped
> - Immutable: methods (e.g. .optional()) return a new instance
> - Concise, chainable interface
> - Functional approach: parse, don't validate
> - Works with plain JavaScript too! You don't need to use TypeScript.
- 依存関係なし
- [[Node.js]]やすべての[[モダンブラウザ]]で動く
- 8kbと軽量 ([[Minification]] / 圧縮 後)
- [[イミュータブル]]
- 簡潔で[[メソッドチェーン]]可能なインターフェース
- ???
- [[JavaScript]]でも使える
> [!note]
> プラグインは[[zod-openapi]]が気になるけどなんか違う...? [[OpenAPI Specification]]から[[Zod]]のスキーマを作る方が欲しい。