Ajv.jsというのを知ったので調べた
Ajv.jsはjsonバリデータ ajv.js.org
以下のように宣言型スキーマを介してバリデーションを行う
const Ajv = require("ajv") const ajv = new Ajv() const schema = { type: "object", properties: { foo: {type: "integer"}, bar: {type: "string"} }, required: ["foo"], additionalProperties: false } const data = {foo: 1, bar: "abc"} const valid = ajv.validate(schema, data) if (!valid) console.log(ajv.errors)
zodと同様の位置付けになるが、スキーマファイルを用意するという点で異なるものだとわかった
【Zod】TypeScript First なバリデーションライブラリ - UGA Boxxx
手書きでスキーマファイル作るのは大変そうな印象だが、軽量で高速であるという特徴があるため、現場にあわせて導入を検討するのはよさそう