typescript - Poate TaggedTemplate să aibă semnături supraîncărcate cu un anumit argument literal de tip șir?
declare function taggedFn(x: ['strange']): 123;
declare function taggedFn(x: TemplateStringsArray): string;
// OK
var v1: string = taggedFn`ordinary`;
// NG: How can I hit the ['strange'] signature?
var v2: 123 = taggedFn`strange`;
- Am o funcție TaggedTemplate
- Pot să-i controlez semnăturile
- Vreau să returneze
stringla un apel normal - Vreau să returneze
123atunci când un argument estestrange(NG)
Practic, este posibil pentru o funcție normală prin supraîncărcare, dar cum putem face asta cu o funcție TaggedTemplate? Este posibil să o supraîncărcăm cu un anumit argument?
Iată un exemplu funcțional.
Mulțumesc.
Răspuns #1
Acest lucru nu este posibil în prezent și există o problemă deschisă în tracker-ul de probleme TS pentru a adăuga suport pentru acest lucru.