La dernière version 0.9 de Schema Validation Toolkit - ajv-ts apporte une suite d'améliorations pour améliorer la productivité des développeurs et garantir une meilleure précision de validation. Que vous créiez des modèles de données complexes ou que vous gériez simplement des entrées de base, ces mises à jour aident à rationaliser les définitions de schéma avec des fonctionnalités et des exemples plus robustes. Voici un aperçu des principales mises à jour introduites dans cette version, ainsi qu'un récapitulatif des changements importants par rapport à la version 0.7.
L'une des mises à jour majeures de la version 0.9 est l'introduction d'exemples de schéma pour chaque type de données. Cette fonctionnalité permet aux développeurs d'inclure des exemples spécifiques directement dans leurs définitions de schéma, offrant plus de transparence et de facilité d'utilisation. Vous pouvez également l'utiliser avec n'importe quelle longueur d'argument.
// 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"] }
Ce changement permet de valider les types de données corrects et d'améliorer la documentation dans votre code, permettant ainsi aux équipes de comprendre plus facilement quelles valeurs sont attendues.
Il convient également de souligner certains des changements importants introduits dans la version précédente 0.8, qui ont apporté une validation des nombres plus rigoureuse :
s.number().format("float").int(); // Error: incompatible format and type s.number().int().format("double"); // Error: 'double' format not allowed for integers
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
Ces améliorations ont permis d'éviter les erreurs logiques lors de la définition du schéma et ont assuré une validation des données plus cohérente.
Les mises à jour de la version 0.9 et de la version 0.8 améliorent considérablement l'expérience des développeurs en offrant de meilleurs exemples, une validation plus stricte et des erreurs améliorées. gestion, en particulier pour les utilisateurs de TypeScript. Ces fonctionnalités rendent la définition de schéma plus intuitive, fiable et plus facile à maintenir dans des projets complexes. Assurez-vous d'explorer la nouvelle fonctionnalité pour rendre vos flux de validation plus efficaces !
Lien vers le projet : https://github.com/vitalics/ajv-ts
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!