typestar

Tipos mapeados en TypeScript

Construir un tipo nuevo recorriendo las claves de otro.

interface Settings {
  theme: string;
  volume: number;
}

type Nullable<T> = { [K in keyof T]: T[K] | null };
type Getters<T> = {
  [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K];
};

type MaybeSettings = Nullable<Settings>;
type SettingGetters = Getters<Settings>;

const blank: MaybeSettings = { theme: null, volume: null };

Cómo funciona

  1. [K in keyof T] itera cada propiedad.
  2. El tipo del valor puede transformarse mientras se mapea.
  3. as con un literal de plantilla renombra las claves.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
335
Tokens
101
Ritmo de tres estrellas
110 tpm

Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 55 segundos.

Escribe este fragmento

Paso 1 de 3 en Tipos mapeados; paso 4 de 12 en Programación a nivel de tipos.

← Anterior Siguiente →