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

206
Vistas
Cómo obtener mensajes de error de "propiedad faltante" con objetos vacíos (y por lo tanto sin sellar)

Entonces, tengo una API que toma un objeto de opciones, algo como esto:

 type Options = { pos: number }; function doTheThing(options: Options) { }

Ahora, si llamo a esto con cualquiera de los siguientes, aparece un bonito mensaje de error:

 doTheThing(); // requires another argument. doTheThing({ something: 20 }); // missing property "pos"

Excelente. Pero si paso un objeto vacío, Flow lo considerará "sin sellar" y, por lo tanto, no tendrá ningún problema con él:

 doTheThing({ }); // No error, would like it to say "pos" missing instead.

Entonces, traté de hacerlo exacto:

 type Options = {| pos: number |};

Ahora, me sale un error, pero no es muy agradable:

 doTheThing({ }); // Cannot call `doTheThing` with object literal bound to `options` because inexact object literal [1] is incompatible with exact `Options` [2].

Pero solo quiero que diga que falta "pos". Lo anterior es más complicado y solo te obliga a tener que leer la definición de Options para saber lo que se necesita. Quiero que le ofrezca la propiedad real que falta. Lo cual hará, tan pronto como ponga algo al azar allí:

 doTheThing({ x: 10 }); // Cannot call `doTheThing` with object literal bound to `options` because property `pos` is missing in object literal [1] but exists in `Options`

¿Hay alguna forma de que me dé ese mensaje de error en {} , en lugar del mensaje menos útil? Idealmente, a través de algún tipo de anotación adicional en el tipo y no alguna configuración de flujo global que apague los objetos no sellados o algo así.

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