- Transpilador baseado em AST desenvolvido com o objetivo de compartilhar lógica de negócio entre Go e TS
- Converte algoritmos, estruturas de dados e lógica de concorrência da linguagem Go para TypeScript, dando suporte ao reuso de código entre backend e frontend
- Mapeia os principais recursos do Go, como Struct, Interface, Channel, Goroutine, Pointer, Slice e Map, para a sintaxe do TypeScript
Goroutine é convertido em processamento assíncrono baseado em async/await, permitindo execução também em ambientes de navegador
- Implementa referências de ponteiro e passagem de valor por meio do sistema VarRef
- Suporte a recursos avançados da linguagem, como Generics, Reflection, Closure e funções anônimas
- Compatível com grande parte da biblioteca padrão, como encoding/json, enquanto Reflection e algumas extensões da biblioteca padrão ainda estão em desenvolvimento
- Fornece CLI e API
- CLI: compila pacotes Go em TypeScript no formato
goscript compile --package . --output ./dist
- Via API em Go e API em Node.js, é possível chamar a conversão diretamente dentro de programas
- Abordagem experimental para levar o modelo conciso de concorrência e a segurança de tipos do Go ao ecossistema TypeScript
- Licença MIT
Ainda não há comentários.