Recursieve gemapte types in Typescript
Ik weet niet of dit mogelijk is, maar ik vraag me af of je recursief in kaart gebrachte typen kunt maken. Ik weet niet of dat logisch is, dus laat me proberen uit te leggen wat ik probeer te doen.
Ik maak een Excel-parser die een werkmap ontvangt en een type T teruggeeft. Een van de dingen die ik wil doen, is een gemapt type maken dat elke sleutel toewijst aan een string, die overeenkomt met een Excel-celreferentie in de vorm van een string (bijv. 'A5').
Ik kan elke toets als volgt aan een tekenreeks toewijzen:
{[P in keyof T]: string}
maar dit zet complexe typen (objecten en arrays) ook om naar strings, maar ik zou eigenlijk ook de sleutels van die complexe waarden naar een string willen omzetten.
Ideeën?
Bewerken: Ik begin te denken dat het niet mogelijk is omdat zoiets geïmplementeerd zou moeten worden.
Antwoord #1
Dat kon je eerder niet, maar nu kan het vanaf Typescript 4.1 versie. Voorwaardelijke recursieve types worden nu ondersteund