馃敟 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