Featured image of post Tipos mapeados en TypeScript: Transformación de tiposFeatured image of post Tipos mapeados en TypeScript: Transformación de tipos

Tipos mapeados en TypeScript: Transformación de tipos

Craft dynamic types by mapping over keys of existing interfaces, utilizing key remapping and modifiers.

Los tipos mapeados transforman un tipo existente iterando sobre sus propiedades. Son la base de utilidades como Partial<T>, Readonly<T>, Pick<T, K> y Record<K, V>.

Sintaxis básica

type Nullable<T> = { [P in keyof T]: T[P] | null };

Itera sobre keyof T y aplica una transformación a cada propiedad.

Modificadores

Añadir o remover readonly y ? con prefijos + y -: { -readonly [P in keyof T]-?: T[P] }.

Reasignación de claves (TS 4.1+)

as clause para renombrar propiedades: { [P in keyof T as get${Capitalize<string & P>}]: () => T[P] }.

Casos de uso comunes

Crear tipos getter, envolver propiedades en Promesas, hacer propiedades opcionales condicionalmente, filtrar propiedades por tipo de valor.