Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

131
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda