Soy un principiante en el fabuloso mundo de la creación de tipos en mecanografiado y tengo un pequeño problema.
Tengo una variedad de objetos.
type foo = [ {name:"aa", type:"string", usless:"cc", ...}, {name:"aaaa", type:"number", ...}, {name:"aaa", usless:"cc", ...} ]mi objetivo es transformar mi tipo foo en uno reducido
type reduceFoo = transformArray<foo> // ^? {name:"aa",type:string}|{name:"aaaa",type:number}|{name:"aaa"} Una de las cosas difíciles es que cuando el atributo de type no está definido, quiero que no esté en el tipo final.
Traté de hacer un bucle en foo con {[U in foo]:Pick<U,'name'|'type'>} pero esta no es la forma correcta de hacerlo
Y finalmente tengo una función que transforma una cadena en un tipo ( stringToType<T:string> ) pero quiero aplicarla solo en el atributo de tipo del objeto. Pero no tengo idea de cuándo llamarlo.