microsoft / microsoft/TypeScript
"design:paramnames" metadata key
Nessuno ha ancora preso questa issue.
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.3k
- Merge medio
- 2g 4h
- PR unite (30g)
- 132
Descrizione
From https://github.com/Microsoft/TypeScript/pull/2589
A few notes on metadata:
- Type metadata uses the metadata key "design:type".
- Parameter type metadata uses the metadata key "design:paramtypes".
- Return type metadata uses the metadata key "design:returntype".
Can you please add support for a "design:paramnames" metadata key? It would return the design-time names of the arguments of a function
I can convert a function to string at runtime using Function.prototype.toString() and then use a couple of Regex to get the parameter names:
STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
ARGUMENT_NAMES = /([^\s,]+)/g;
But when a minifier/compressor is used the param names become "a", "b" ...
I would like to have a way to access the design-time names of the arguments of a function at run-time even after compression.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
L'issue non indica alcun file o test. Inizia individuando l'emissione dei metadati dei decorator da parte del compilatore e la gestione esistente di design:type, design:paramtypes e design:returntype; quindi determina l'ambito dell'aggiunta di design:paramnames e definisci test per i nomi degli argomenti emessi, incluso il problema di minificazione descritto nella richiesta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, typescript
- Ambito
- compilers
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 25/100