Estoy buscando una forma de detectar si un objeto literal es, de hecho, un objeto "no instanciado" de una determinada clase. Espero que quede más claro con un ejemplo:
class Range{ from: number; to: number; constructor(from: number | Range, to?: number){ if (from instanceof Range) Object.assign(this, from) else{ this.from = from; this.to = to; } } average(){return (this.to -this.from) / 2;} } let one = new Range(1, 20) let copyOfOne = structuredClone(one); // This generates an object literal (or kind of ?), the method "average" is not in the prototype let two = new Range(copyOfOne) // Constructor won't detect the parmeter as instanceof Range¿Hay alguna manera de saber si un objeto literal es de hecho una "instancia no instanciada" de una determinada clase? (por supuesto, podría verificar si el objeto tiene las propiedades de clase, aquí es simple pero con objetos más complejos sería poco práctico)