- ทรานสไพเลอร์แบบอิง AST ที่พัฒนาขึ้นโดยมีเป้าหมายเพื่อ แชร์บิสซิเนสลอจิกระหว่าง Go และ TS
- แปลง อัลกอริทึม, โครงสร้างข้อมูล, ลอจิกด้าน concurrency ของภาษา Go เป็น TypeScript เพื่อรองรับ การนำโค้ดกลับมาใช้ซ้ำระหว่างแบ็กเอนด์และฟรอนต์เอนด์
- Struct, Interface, Channel, Goroutine, Pointer, Slice, Map และฟีเจอร์หลักของ Go อื่น ๆ ถูก แมปเป็นไวยากรณ์ของ TypeScript
- Goroutine ถูกแปลงเป็น การประมวลผลแบบอะซิงโครนัสบนพื้นฐาน async/await จึงสามารถทำงานได้ในสภาพแวดล้อมเบราว์เซอร์
- ใช้ ระบบ VarRef เพื่อทำงานกับการอ้างอิงแบบพอยน์เตอร์และการส่งผ่านค่า
- รองรับฟีเจอร์ภาษาขั้นสูง เช่น Generics, Reflection, Closure, ฟังก์ชันนิรนาม
- รองรับไลบรารีมาตรฐานส่วนใหญ่ เช่น encoding/json ขณะที่ Reflection และส่วนขยายของไลบรารีมาตรฐานบางส่วน ยังอยู่ระหว่างพัฒนา
- มีให้ใช้งานทั้ง CLI และ API
- CLI: คอมไพล์แพ็กเกจ Go เป็น TypeScript ในรูปแบบ
goscript compile --package . --output ./dist
- สามารถเรียกการแปลงได้โดยตรงภายในโปรแกรมผ่าน Go API และ Node.js API
- แนวทางเชิงทดลองในการขยาย โมเดล concurrency ที่เรียบง่ายและความปลอดภัยของชนิดข้อมูล ของ Go ไปสู่ระบบนิเวศ TypeScript
- สัญญาอนุญาต MIT
ยังไม่มีความคิดเห็น