Obtengo nombres de íconos de una biblioteca importada y los mapeo de esta manera:
import * as Icons from "@icons"; // an array of icon names ["ArrowLeft", "ArrowRight" ect] const IconNames = [...Object.keys(Icons).map((icon) => icon)] as const; // for sizes prop const IconSizes = ["sm", "md", "lg"] as const;Pero cuando trato de obtener tipos de la matriz, aparece como una cadena:
icon: typeof IconNames[number]; //this is type string size: typeof IconSizes[number]; //this is type "sm" | "md" | "lg" }; ¿Estoy haciendo algo mal o no es posible obtener el tipo de icon de una matriz desconocida "ArrowLeft" | "ArrowRight" ?
Cualquier ayuda sería genial.
Gracias
Sí, esta es una brecha en TypeScript: https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208 .
Tu única opción es lanzarlo a keyof Icons .