Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
What is Standard Schema?
Search
Takashi Machinaga
February 26, 2025
Technology
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
What is Standard Schema?
Mita.ts #4(2025-02-26)
Takashi Machinaga
February 26, 2025
More Decks by Takashi Machinaga
See All by Takashi Machinaga
複雑なフォームに立ち向かう Next.js の技術選定
macchiitaka
4
1.9k
AI駆動の自動テスト生成
macchiitaka
1
200
事業モメンタムを生み出すプロダクト開発
macchiitaka
1
300
Other Decks in Technology
See All in Technology
React改造してみた
tsukina_7mochi
0
150
AWSDirectConnectの構築の進め方を整理してみた
masa_my
1
150
アカウント統制の健康診断
kenichinakamura
1
130
導入から定着へ ~コーディングエージェントを日常業務に組み込む実践知~
yukisakai1225
0
200
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
1
230
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
200
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
150
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
340
AI駆動開発におけるハーネスエンジニアリングの勘所
tsukuboshi
1
520
【データ横丁主催】AI エージェント時代のTranslytical Data Platform
shisyu_gaku
0
230
freeeにおける AI を用いた ブラウザ動作確認の自動化の取り組み
freee
PRO
0
140
AIをリアル世界に解き放つ 〜M5Stack×AIであなたのアイディアを手の平に〜
hamadakoji
1
340
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3.2k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
The SEO identity crisis: Don't let AI make you average
varn
0
590
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
KATA
mclloyd
PRO
35
16k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Paper Plane
katiecoart
PRO
5
54k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Producing Creativity
orderedlist
PRO
348
41k
Transcript
What is Standard Schema? Mita.ts #4(2025-02-26) Takashi Machinaga @macchiitaka
⾃⼰紹介 • @macchiitaka • 2024年8⽉ IVRy に⼊社 ◦ 主に WEB
フロントエンド Takashi Machinaga 2 エンジニア
Zod v3.24.0 3
@standard-schema/spec? 4
@standard-schema/spec ? 5
Colin McDonnell 6 “これは、Zod(👋)、Valibot、ArkType の作成者が、相互運⽤性を促進するため に共同で作成した、すべて TypeScript スキーマライブラリが実装する「共通イン ターフェース」の仕様です。”
= Standard Schema はTypeScript の型定義(意訳) 7
Standard Schema が⽣まれる前の世界 8
スキーマと連携するライブラリ 9 • React Hook Form • Hono • tRPC
• TanStack Router • ...
React Hook Form とスキーマ 10 • React Hook Form +
Zod • React Hook Form + Yup • React Hook Form + Joi • React Hook Form + Valibot • React Hook Form + ArkType • ...
React Hook Form とスキーマ 11 • React Hook Form +
Zod Resolver + Zod • React Hook Form + Yup Resolver + Yup • React Hook Form + Joi Resolver + Joi • React Hook Form + Valibot Resolver + Valibot • React Hook Form + ArkType Resolver + ArkType • ...
Standard Schema なしで連携する世界 12 React Hook Form Zod Resolver Valibot
Resolver Zod Valibot Input RHF Result Zod Validate Zod Result Valibot Validate Valibot Result
サポートするスキーマの数だけ Resolver を提供 13
😇😇😇 14
Standard Schema がある世界 15
Standard Schema なしで連携する世界 16 React Hook Form Zod Resolver Valibot
Resolver Zod Valibot Input RHF Result Zod Validate Zod Result Valibot Validate Valibot Result Standard Schema は この間の共通 インターフェイス
Standard Schema で連携する世界 17 React Hook Form Standard Schema Resolver
Zod Valibot Input RHF Result Validate Result
🎉 ひとつの Resolver で連携できる 🎉 18
🥳🥳🥳 19
直接スキーマライブラリを利⽤する
直接スキーマライブラリを利⽤する
直接スキーマライブラリを利⽤する
スキーマ定義と実装サンプルを⾒てみよう 23
スキーマ 24 https://github.com/standard-schema/standard-schema/blob/main/packages /spec/src/index.ts • 100 ⾏未満のコード • バリデーターの呼び出し⽅、実⾏結果、エラーメッセージと位置 •
`~standard` プロパティ配下に実装する ◦ `~` で始まるプロパティは⾃動補完の優先順位が低い
スキーマライブラリ 25 https://github.com/standard-schema/standard-schema/blob/main/packages /examples/implement.ts
スキーマ連携ライブラリ 26 https://github.com/standard-schema/standard-schema/blob/main/packages /examples/integrate.ts