Ajv-ts を取得しました。新着情報?

DDD
リリース: 2024-09-18 21:55:03
オリジナル
362 人が閲覧しました

Ajv-ts got . What

スキーマ検証ツールキットの最新リリース 0.9 - ajv-ts には、開発者の生産性を向上させ、検証精度の向上を保証するための一連の機能拡張が含まれています。複雑なデータ モデルを構築している場合でも、単に基本的な入力を処理している場合でも、これらの更新は、より堅牢な機能と例を使用してスキーマ定義を合理化するのに役立ちます。ここでは、このリリースで導入された主要な更新の概要と、リリース 0.7 からの重要な変更点の要約を示します。

より明確にするためのスキーマの例

リリース 0.9 の主な更新の 1 つは、すべてのデータ型のスキーマ例の導入です。この機能により、開発者はスキーマ定義内に直接特定の例を含めることができ、透明性と使いやすさが向上します。任意の長さの引数と一緒に使用することもできます。

  • 文字列の場合:
// Valid examples for a string schema
const myString = s.string().examples(["hello", "world"]);
myString.schema // // {type: 'string', examples: ['hello', 'world']}
s.string().examples("hello", "world"); // OKs
ログイン後にコピー
  • 数字の場合:
// Valid examples for a number schema
const myNum1 = s.number().examples(1, 2, 3);
myNum1.schema // {type: 'number', examples: [1,2,3]}

// TypeScript error for invalid number types
// @ts-ignore fails ts, but schema still ok
const myNum2 = s.number().examples(["abc", "123"]);
myNum2.schema // {type: "number", examples: ["abc", "123"] }
ログイン後にコピー

この変更は、正しいデータ型を検証し、コード内のドキュメントを改善するのに役立ち、チームが期待される値を理解しやすくなります。

より厳格な番号検証

以前のリリース 0.8 で導入された重要な変更のいくつかを強調する価値もあります。これにより、より厳密な数値検証が行われました。

  • 形式と型の強制: この更新では、数値形式に関するより厳格なルールが導入されました。たとえば、整数や浮動小数点などの特定の組み合わせのみが許可されますが、形式が正しくないとエラーが発生します。
s.number().format("float").int(); // Error: incompatible format and type
s.number().int().format("double"); // Error: 'double' format not allowed for integers
ログイン後にコピー
  • 範囲の検証: リリース 0.8 のもう 1 つの機能は、自動範囲チェックの導入です。開発者は数値の最小値と最大値を指定できます。値が範囲外の場合、システムはエラーをスローします。
s.number().min(5).max(3); // Error: max cannot be smaller than min
s.number().min(1).max(10).const(15); // Error: constant is out of specified range
ログイン後にコピー

これらの機能強化により、スキーマ定義中の論理エラーを防止し、より一貫したデータ検証を保証することができました。

その他の変更点

  • GitHub を使用した変更セット管理
  • pnpm バージョンを 9.10.0 に更新します
  • メタ メソッドのメタ オブジェクトの更新

結論

リリース 0.9 および リリース 0.8 アップデートは、より良いサンプル、より厳密な検証、強化されたエラーを提供することで、開発者のエクスペリエンスを大幅に向上させます。特に TypeScript ユーザー向けです。これらの機能により、スキーマ定義がより直感的で信頼性が高く、複雑なプロジェクトでの保守が容易になります。検証ワークフローをより効率的にするための新しい機能をぜひ試してください!

スキーマ定義は成功しました!

プロジェクトへのリンク: https://github.com/vitalics/ajv-ts

以上がAjv-ts を取得しました。新着情報?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!