[[Zod]]の記事を書くために必要な情報収集メモ。 ## 公式の覚書 公式READMEから重要そうな説明をピックアップ。 <div class="link-card"> <div class="link-card-header"> <img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/> <span class="link-card-site-name">GitHub</span> </div> <div class="link-card-body"> <div class="link-card-content"> <div> <p class="link-card-title">GitHub - colinhacks/zod: TypeScript-first schema validation with static type inference</p> </div> <div class="link-card-description"> TypeScript-first schema validation with static type inference - GitHub - colinhacks/zod: TypeScript-... </div> </div> <img src="https://opengraph.githubassets.com/277029907f732d6b7224433ff3baf9f99b9da2044eacf572a5422d5c128a02cc/colinhacks/zod" class="link-card-image" /> </div> <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]]のスキーマを作る方が欲しい。