¿Cómo puedo duplicar un objeto en uno nuevo en typescript?
Puedes duplicar un objeto en uno nuevo en TypeScript de varias maneras, aquí te describo algunas de ellas:

1- Clonación superficial: Puedes usar el operador `Object.assign` para combinar varios objetos en uno nuevo. Esto solo copia las propiedades del objeto original en uno nuevo, pero si cualquiera de las propiedades es un objeto, ambos objetos compartirán la misma referencia.

```
let original = { a: 1, b: 2 };
let duplicate = Object.assign({}, original);
```

2- Clonación profunda: Puedes usar la función `JSON.parse(JSON.stringify(obj))` para hacer una clonación profunda de un objeto. Esto funciona porque `JSON.stringify` convierte el objeto en una cadena `JSON` y `JSON.parse` lo convierte de nuevo en un objeto. Sin embargo, tenga en cuenta que esta solución no es adecuada para objetos con funciones o valores `Symbol`

```
let original = { a: 1, b: { c: 2 } };
let duplicate = JSON.parse(JSON.stringify(original));
```

3 - Clonación manual: Finalmente, puedes escribir una función para clonar manualmente un objeto. Esta solución te permite tener un mayor control sobre el proceso de clonación y es adecuada para objetos complejos con funciones o valores `Symbol`.

```
let original = { a: 1, b: { c: 2 } };

function clone(obj: any) {
  if (obj === null || typeof obj !== object) {
    return obj;
  }

  let duplicate = Array.isArray(obj) ? [] : {};
  for (let key in obj) {
    duplicate[key] = clone(obj[key]);
  }

  return duplicate;
}

let duplicate = clone(original);
```