Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

133
Vistas
Especificación del tipo de acceso comodín a través de proxy

Estoy tratando de permitir un acceso profundo y remoto al almacenamiento utilizando la sintaxis de encadenamiento JS nativa. Establezco un proxy para construir una cadena/ruta de acceso, luego, cuando se llama al final de la cadena, recuperamos el objeto del almacenamiento, accedemos a la propiedad profunda y lo devolvemos. Un caso simplificado de este tipo de encadenamiento de comodines es el siguiente:

Si definimos una clase de la siguiente manera

 class TestClass{ private handler = { chain: [], get(target: TestClass, key: any){ chain.push(key); return new Proxy(target, this); }, apply(target, thisArg, argumentsList){ const lastArg = target[this.chain[this.chain.length - 1] if(typeof target[lastArg] === "function") return target[lastArg](...argumentsList); console.log(this.chain); this.chain = []; } } constructor(){ return new Proxy(this, this.handler) } actualFunction(){ console.log("Called actual function") } }

Podríamos hacer algo como:

 let t = new TestClass(); tabcfunc();

Para que registre [a,b,c,func] o podríamos hacer

 tabcactualFunction()

Para que registre Called actual function . El problema aquí es que queremos recibir autocompletar y escribir sugerencias usando el acceso comodín, la única forma que he encontrado para habilitar esto hasta ahora es usar la definición de índice [x: string|number|symbol]: TestClass en la parte superior de la clase. Esto permite el acceso con comodines con sugerencias de tipo y finalización de código, pero arroja un montón de errores de TypeScript dentro de la propia clase.

Óptimamente, podría usar una definición de índice a lo largo de las líneas de [x: string|number|symbol]: literalType x in keyof TestClass ? any : TestClass

Cualquier sugerencia sobre cómo hacer que esto funcione es muy apreciada. Además, las decisiones/direcciones de diseño que pueden facilitar esto también son bienvenidas.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda