TypeScript
A utilização de uma linguagem tipificada é fortemente recomendada.
Para utilizadores de Typescript, fornecemos vários pacotes no npm com a tipificação de todos os conceitos utilizados nos módulos do GO (ex: APEX, GTFS, APIs públicos, etc.)
Estes pacotes são atualizados frequentemente e utilizam Calendar Versioning. Temos consciência que é mais complexo garantir a estabilidade de versões, e distinguir entre patch, minor e major updates, mas é um trade-off que consideramos aceitável, fundamental para manter a rapidez no desenvolvimento do GO.
Recomendamos instalar apenas os pacotes necessários para consumir os dados do API público:
| Nome do pacote | Descrição |
|---|---|
@tmlmobilidade/go-types-shared | Tipos comuns a todos os módulos do GO, com conceitos fundamentais como datas, números, estados, entre outros. Quase todos os outros pacotes, senão todos, têm este como dependência. |
@tmlmobilidade/go-types-hub | Tipos específicos para o módulo Hub de dados abertos. Contém as estruturas do ficheiro GTFS unificado assim como as respostas do API. |
@tmlmobilidade/go-types-gtfs | Implementação em Typescript dos tipos do standard GTFS como especificado na documentação oficial em gtfs.org |
@tmlmobilidade/go-types-gtfs-rt | Implementação em Typescript dos tipos do standard GTFS-RT como especificado na documentação oficial em gtfs.org |
@tmlmobilidade/go-utils-dates | Conjunto de funções para trabalhar com datas. Facilita a geração de conceitos como datas operacionais (24h+), conversão de fusos horários, entre outros. É recomendado utilizar em conjunto com os dados do API pois facilita a transformação minimizando erros de compilação. |
Temos mais pacotes, incluindo utilitários para importar GTFS, descodificar Protbuf, entre outros, mas consideramos que são mais específicos à utilização do GO em si, pelo que não recomendamos a sua utilização sob o risco de alterações inesperadas ao seu funcionamento entre versões.