- GitHub - gvergnaud/hotscript: A library of composable functions for the type-level! Transform your TypeScript types in any way you want using functions you already know.
- A library of composable functions for the type-level! Transform your TypeScript types in any way you want using functions you already know. - gvergnaud/hotscript
ลองนำโค้ดตัวอย่างมาดูกันครับ
เป็นโค้ดที่แปลงอักษรตัวแรกของแต่ละคำเป็นอักษรตัวใหญ่
ง่ายๆ แต่ถ้าเป็นแบบนี้ return type จะกลายเป็น string และไม่สามารถอนุมานชนิดข้อมูลได้
แน่นอนว่าเราสามารถกำหนดชนิดข้อมูลทีละตัวแบบนี้ได้
แต่ชนิดข้อมูลแบบนี้ดูไม่ค่อยน่าอ่านเท่าไหร่ การซ้อน operator สามเหลี่ยมและโครงสร้างแบบ recursive ก็น่าจะเป็นปัญหาหนึ่ง
แต่ที่น่าทึ่งก็คือ TypeScript รองรับ Higher-order type
และมีไลบรารี Higher-order type ที่สร้างขึ้นจาก Higher-order type นี้อยู่หนึ่งตัว
สามารถใช้ไลบรารีนี้เพื่อจัดระเบียบคำจำกัดความของชนิดข้อมูลได้อย่างเรียบร้อย
โค้ดอยู่ที่นี่ครับ
ด้วย Higher-order type เหล่านี้ ทำให้เราสามารถจัดระเบียบชนิดข้อมูลได้อย่างน่าอ่าน
นอกจากนี้ยังมีฟังก์ชันอื่นๆ อีกมากมาย ลองเข้าไปดูในเว็บไซต์ แล้วใช้เมื่อจำเป็นนะครับ
ความคิดเห็น0