No sé si el título de la pregunta fue sugerente, pero mi problema es que en un constructor obtuve un parámetro de descanso que debe ser las claves de un objeto y quiero que, cuando llamo al constructor, solo permita las claves que son 'todavía no se utiliza.
No sé si es posible, pero si lo es, me encantaría si alguien me puede ayudar con él.
Algunos códigos para ilustrar mi problema a continuación:
class MyClass<GenType> { // With the Utility Type Partial<?> I achieved the behavior of allowing only the keys // that the object type GenType has, but it still allows that the same key can be passed // as argument more than once constructor(...rest: Array<Partial<keyof GenType>>) { // constructor stuff } } type MyGenericType = { key1: string, key2: number, key3: Array<number> } // Here, in the initialization, it allows to insert the same key multiple times, but // i want it to allow that a key can be passed just once const myClassObject = new MyClass<MyGenericType>("key1", "key2", "key1");Debajo de una imagen del problema en mi código real:
Tenga en cuenta que permite pasar la misma clave más de una vez y la sugerencia de código muestra todas las claves de objeto, quiero que no permita la misma clave más de una vez y la sugerencia de código solo muestra las claves restantes
¿El efecto que quiero es posible? Si es así, ¿cómo podría lograrlo?
¡Gracias! 😊
Para todos los que buscan algo similar, con los comentarios publicados asumo que sí, es posible lograrlo, pero no, no hay una manera fácil o eficiente de hacerlo, algunas de las posibilidades están en los enlaces a continuación:
¡Gracias por todos los comentarios que intentan ayudar y espero que ayude a otros! 😃