🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

幾週前,我發布了一個名為@traversable/valibot的 TypeScript 函式庫。

這篇文章介紹了圖書館的功能,並重點介紹了它的一些獨特功能。

封面照片來源:

《鐵臂阿童木原理圖》(鐵臂阿童木) ,手塚治虫製作公司

筆記:

目前@traversable/valibot僅適用於最新版本的 Valibot(v1.1)。


@traversable/valibot有何不同?

@traversable/valibot可以透過兩種方式使用:

  1. 從 15 多種現成的變壓器中挑選一款

  2. 手工捲製您自己的客製化變壓器


現成的

ᯓ🚀 vx.check

  • 將 Valibot 模式轉變為超高性能的類型保護

  • 📖性能概況

ᯓ🚀 vx.deepClone

ᯓ🚀 vx.deepEqual

ᯓ🚀 vx.toString

  • 將 Valibot 模式轉換為字串

  • 適用於測試、程式碼產生、健全性檢查

ᯓ🚀 vx.toType

  • 將 Valibot 模式轉換為 TypeScript 類型

  • 🏷️ 將架構元資料保留為 JSDoc 註釋

ᯓ🚀 vx.defaultValue新增!

  • 從架構中取得可配置的預設值

  • 專為前端模式驅動的表單設計

ᯓ🚀 vx.makeLens即將推出!

  • 🔍 使用鏡頭(getters/setters)聚焦巢值

  • 🌈 使用棱鏡(模式匹配器)具體化控制流

  • ⛰️ 使用遍歷(for 循環)對容器進行映射

  • 🧱 使用函陣列合將它們堆疊在一起


自己動手

ᯓ🚀 vx.fold

@traversable/valibot運送的所有現成變壓器均由vx.fold供電。

在底層,該程式庫使用一種稱為遞歸方案的抽象,使實作遞歸變得簡單有趣

為了演示,我用它來實作一個模擬資料產生器

該實現非常小(25 行!),因此我將其完整地嵌入到這裡:

{% stackblitz https://stackblitz.com/edit/traversable-valibot-demo?embed=1&file=src%2FvalibotToFaker.ts&hideExplorer=1&terminalHeight=0&theme=light&initialpath= vitest /&view=editor %}

筆記:

>

為了簡單起見,這只是部分實作。

>

要獲得更強大的版本,請參閱此 StackBlitz


獎勵: @traversable/valibot-test

-

@traversable/valibot-test是專為在 Valibot 上建置的庫作者所建置的測試庫。

在底層,它使用名為fast-check的 TypeScript 函式庫來產生隨機 Valibot 模式

事實證明,能夠產生隨機模式對於模糊測試來說非常有用。

例如,這裡我們用它來測試我們的valibotToFaker函數是否總是產生有效資料:

{% stackblitz https://stackblitz.com/edit/traversable-valibot-demo?embed=1&file=test%2FvalibotToFaker.test.ts&hideExplorer=1&theme=light&initialpath= vitest /&view=editor %}

💡提示:

>

在終端面板中向上滾動以查看生成的模式+模擬資料!

@traversable/valibot-test 演示


更新

更新:截至昨天, @traversable/valibot已成為 Valibot 生態系統的一部分!

{% 嵌入 https://github.com/fabian-hiller/valibot/pull/1298 %}

{% 嵌入 https://github.com/fabian-hiller/valibot/pull/1298#issuecomment-3287355435 %}

Valibot 生態系統是迄今為止最受歡迎和最具協作精神的TypeScript 模式社區,因此我非常自豪能夠回饋它☺️。


總結

感謝閱讀!

如果您有任何回饋、功能請求或疑問,請隨時提出問題開始討論


連結

  1. GitHub 上的@traversable/valibot

  2. StackBlitz 上的valibotToFaker演示

  3. StackBlitz 上功能齊全的valibotToFaker演示


原文出處:https://dev.to/ahrjarrett/introducing-traversablevalibot-j3d


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝10   💬10   ❤️3
427
🥈
我愛JS
📝4   💬9   ❤️10
214
🥉
AppleLily
📝1   💬4   ❤️1
62
#4
💬1  
5
#5
xxuan
💬1  
3
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付