模式驗證工具包的最新版本 0.9 - ajv-ts 帶來了一系列增強功能,以提高開發人員的工作效率並確保更好的驗證準確性。無論您是建立複雜的資料模型還是僅處理基本輸入,這些更新都有助於透過更強大的功能和範例簡化架構定義。以下是此版本中引入的關鍵更新的概述,以及對版本 0.7.
的重大更改的回顧0.9 版的主要更新之一是為每種資料類型引入了模式範例。此功能允許開發人員直接在其模式定義中包含特定範例,從而提供更高的透明度和易用性。您也可以將其與任何參數長度一起使用。
// 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
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
這些增強功能有助於防止架構定義期間出現邏輯錯誤,並確保資料驗證更加一致。
Release 0.9 和Release 0.8 更新透過提供更好的範例、更嚴格的驗證和增強的錯誤,顯著改善了開發人員體驗處理-尤其是對於TypeScript 使用者。這些功能使架構定義更加直觀、可靠,並且在複雜專案中更易於維護。請務必探索新功能,以使您的驗證工作流程更有效率!
專案連結:https://github.com/vitalics/ajv-ts
以上是Ajv-ts 得到了。什麼是新的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!