Type Manipulation, Mapped Types, Modifiers (modificadores en mapas basados en tipos) Type Manipulation, Mapped Types, Modifiers (modificadores en mapas basados en tipos)

🥇 Type Manipulation, Mapped Types, Modifiers (modificadores en mapas basados en tipos)

Existen dos modificadores adicionales que pueden ser aplicados durante el proceso de mapeo: readonly y ? que afectan la mutabilidad y opcionalidad de las propiedades.

Se pueden agregar o eliminar estos modificadores utilizando el prefijo - o +. Si no se agrega el prefijo, entonces se asume +.

type TipoMutable<T> = {
  -readonly [P in keyof T]: T[P];
};

type CuentaBloqueada = {
  readonly id: string;
  readonly nombre: string;
};

type CuentaDesbloqueada = TipoMutable<CuentaBloqueada>;

const usuario1: CuentaBloqueada = {
  id: "0x00001",
  nombre: "Nora",
};

usuario1.nombre = "Daniela"; // <- esta linea generará un error ya que es solo lectura

const usuario2: CuentaDesbloqueada = {
  id: "0x00001",
  nombre: "Abel",
};

usuario2.nombre = "Tomas"; // <- si podemos reasignar valores
Type Manipulation, Mapped Types (tipos basados en mapas) Type Manipulation, Mapped Types, Key Remapping (re-mapeado de propiedades)
comments powered by Disqus