googleapis / googleapis/google-api-nodejs-client

Enhance types generation

Aperta
#3,542 1 commento 1 reazione 0 assegnatari Vedi su GitHub
priority: p3 size: l type: feature request
Lingua principale
TypeScript
Stelle
12.2k
Fork
2k
Merge medio
1g 9h
PR unite (30g)
24

Descrizione

**Is your feature request related to a problem? Please describe.**

Currently, all types are optional, or at least a lot of them. See: https://github.com/search?q=repo:googleapis/google-api-nodejs-client+%22%7C+null%22&type=code So, this leads to an awful development experience.

For example, see Google Calendar API:

https://github.com/googleapis/google-api-nodejs-client/blob/6e8c998cee93dbc79a6f306c2150414b933c22c9/src/apis/calendar/v3.ts#L720

But on the other hand, we can see in docs that some fields are optional and some are not.

https://developers.google.com/calendar/api/v3/reference/events#resource

![image](https://github.com/user-attachments/assets/ecadca4f-bc61-4750-a9b7-02b5b4054f04)

**Describe the solution you'd like**
I would like to see real types with the minimum amount of optional fields.

**Describe alternatives you've considered**
Of course, we can check everything manually or disable TypeScript checking at all. But I believe it's not a good solution, as why do we need typings which do not work.
https://github.com/googleapis/google-api-nodejs-client/issues/3151

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con il tipo generato in src/apis/calendar/v3.ts nella sezione relativa all'esempio collegato di Calendar API, quindi confronta i suoi campi facoltativi con la documentazione delle risorse di Google Calendar e con l'issue #3151. Il lavoro sarà completato quando il generatore di tipi produrrà campi obbligatori laddove la documentazione dell'API li identifica come obbligatori, senza rendere facoltativi tutti i campi indiscriminatamente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
nodejs, typescript
Ambito
api, developer-experience, tooling
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.