Lección 06 / 07 · Resiliencia · 15 min
Schema
Los tipos de TypeScript no validan el JSON que llega por la red. Schema describe una frontera que puede comprobar valores desconocidos en tiempo de ejecución. Decode y encode tienen direcciones distintas y pueden fallar según el contrato.
Qué vas a aprender
- Distinguir una anotación de tipo de una validación en runtime.
- Comparar un objeto válido con una entrada rechazada por Schema.Struct.
Probalo en el laboratorio
Elegí un caso. Describe muestra su plan didáctico sin ejecutarlo. Run ejecuta el programa con Effect y devuelve su resultado.
Elegí Describe para leer el plan o Run para ejecutarlo.
El resultado va a aparecer acá.
Tu turno
- Describí los campos del schema y predecí qué entrada será rechazada.
- Ejecutá los casos de decode válido e inválido. Inspeccioná el dato o error que devuelve el motor.
- Compará con encode. Explicá en qué frontera de tu aplicación ubicarías cada operación.
Comprobá tu razonamiento
¿Una conversión con as valida una entrada desconocida?
Ver explicación
No. as cambia la interpretación del compilador y desaparece al ejecutar. La decodificación del schema realiza comprobaciones reales. Este ejemplo usa un Struct pequeño; no representa por sí solo una política completa de validación de una API.