Rumah  >  Artikel  >  hujung hadapan web  >  Ajv-ts mendapat . Apa yang baharu?

Ajv-ts mendapat . Apa yang baharu?

DDD
DDDasal
2024-09-18 21:55:03461semak imbas

Ajv-ts got . What

Keluaran terbaharu 0.9 Kit Alat Pengesahan Skema - ajv-ts membawa set peningkatan untuk meningkatkan produktiviti pembangun dan memastikan ketepatan pengesahan yang lebih baik. Sama ada anda membina model data yang kompleks atau hanya mengendalikan input asas, kemas kini ini membantu memperkemas definisi skema dengan ciri dan contoh yang lebih mantap. Berikut ialah gambaran keseluruhan kemas kini utama yang diperkenalkan dalam keluaran ini, bersama-sama dengan imbasan perubahan ketara daripada Keluaran 0.7.

Contoh Skema untuk Kejelasan yang Lebih Baik

Salah satu kemas kini utama dalam Keluaran 0.9 ialah pengenalan contoh skema untuk setiap jenis data. Ciri ini, membolehkan pembangun memasukkan contoh khusus secara langsung dalam definisi skema mereka, menawarkan lebih ketelusan dan kemudahan penggunaan. Anda juga boleh menggunakannya dengan sebarang panjang hujah.

  • Untuk Rentetan:
// 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
  • Untuk Nombor:
// 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"] }

Perubahan ini membantu mengesahkan jenis data yang betul dan menambah baik dokumentasi dalam kod anda, menjadikannya lebih mudah untuk pasukan memahami nilai yang diharapkan.

Pengesahan Nombor Lebih Ketat

Ia juga patut diserlahkan beberapa perubahan ketara yang diperkenalkan dalam Keluaran 0.8 sebelumnya, yang membawa pengesahan nombor yang lebih ketat:

  • Format dan Jenis Penguatkuasaan: Kemas kini ini memperkenalkan peraturan yang lebih ketat untuk format nombor. Sebagai contoh, hanya gabungan tertentu seperti integer dan terapung dibenarkan, manakala format yang salah mengakibatkan ralat:
s.number().format("float").int(); // Error: incompatible format and type
s.number().int().format("double"); // Error: 'double' format not allowed for integers
  • Pengesahan Julat: Satu lagi ciri Keluaran 0.8 ialah pengenalan semakan julat automatik. Pembangun boleh menentukan nilai minimum dan maksimum untuk nombor, dan sistem akan membuang ralat jika nilai berada di luar julat.
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

Peningkatan ini membantu mengelakkan ralat logik semasa definisi skema dan memastikan pengesahan data yang lebih konsisten.

Perubahan lain

  • Pengurusan Set Ubah dengan GitHub
  • Kemas kini versi pnpm kepada 9.10.0
  • Kemas Kini Objek Meta untuk kaedah meta

Kesimpulan

Kemas kini Keluaran 0.9 dan Keluaran 0.8 dengan ketara meningkatkan pengalaman pembangun dengan menawarkan contoh yang lebih baik, pengesahan yang lebih ketat dan ralat yang dipertingkatkan pengendalian—terutamanya untuk pengguna TypeScript. Ciri-ciri ini menjadikan definisi skema lebih intuitif, boleh dipercayai dan lebih mudah untuk diselenggara dalam projek yang kompleks. Pastikan anda meneroka fungsi baharu untuk menjadikan aliran kerja pengesahan anda lebih cekap!

Definisi skema gembira!

Pautan ke projek: https://github.com/vitalics/ajv-ts

Atas ialah kandungan terperinci Ajv-ts mendapat . Apa yang baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn