TypeScript Version: 3.2.2 (ts playground)
Search Terms: recursive, mapped types, tuple, array
Code
typeDeepMap<Textendsunknown[],R>={[KinkeyofT]: T[K]extendsunknown[] ? DeepMap<T[K],R> : R;};typetup=[string,[string,[string]]];typearr=string[][];typet1=DeepMap<tup,number>;typet2=DeepMap<arr,number>;Expected behavior:
typet1=[number,[number,[number]]];typet2=number[][];
Actual behavior:
typet1=[number,any];typet2=any[];
Playground Link:
Related Issues:
TypeScript Version: 3.2.2 (ts playground)
Search Terms: recursive, mapped types, tuple, array
Code
Expected behavior:
Actual behavior:
Playground Link:
Related Issues: