Tengo una clase y una interfaz con el constructor de clase que recibe una instancia de un objeto como interfaz, por lo que conozco todas las claves, pero son muchas claves, por lo que intento no hacerlo manualmente y encontrar una manera de hacerlo dinámicamente.
import {APIGuild} from "discord-api-types" class Main{ constructor(data: APIGuild){ for(const key in data){ this[key as keyof this] = data[key as keyof this] } } } El problema con este enfoque es que no puedo obtener los tipos para la clase y usar la palabra clave implements necesita que se inicialicen todos los campos, lo cual es mucho trabajo ya que APIGuild es una interfaz extendida con más de 30 campos, por lo que inicializarlos manualmente es .... mal, además, muchos de los campos tienen dos tipos posibles, por lo que si asigno una cadena vacía a un campo y resulta que el campo tenía que ser nulo porque no estaba presente, puede causar problemas en el futuro