zod
スキーマを定義してやればバリデーションできるライブラリ
スキーマから型定義をつくることもできる
Node.jsだけでなくDenoにも対応している
JSRには入っていないぽいlsadsfj.icon
使い方
0. JSONをイメージする
code:notification
{
"selectNow": "line",
"LINEAPI": {
"userID": "waiwai",
"accessToken": "tapirope"
}
}
1. JSONをもとにスキーマつくる
code:define-schema.ts
const schema = z.object({
selectNow: z.literal("LINE"),
LINEAPI: z.object({ userID: z.string(), accessToken: z.string() }),
});
2. バリデーションかける
エラー時に例外を返すならparse値を返すならsafeParse
code:validate.ts
const validationResult = schema.safeParse(requestJson);
if (!validationResult.success) {
console.log(validationResult.error.issues);
...
}
JSONからスキーマ作る変換ツール
public.icon