27. • SERVER AND CLIENT FROM SAME OPENAPI SPEC
• ENCODER AND DECODER FROM SINGLE IO-TS TYPE
• TYPE CHECKED RESPONSES IN SERVER
• TYPE CHECKED REQUEST PARAMETERS IN CLIENT
• RICH RESPONSE TYPE WITH ALL STATUS AND PAYLOADS
• TYPE REFINEMENT BY FILTERING ON RESPONSE STATUS
BENEFITS
31. • ENCAPSULATES STATES OF REMOTE DATA
• SENSIBLE STATE TRANSITIONS
• USEFUL FOR HANDLING STATES IN UI (isLoading, isUpdating, …)
• HELPERS: MAP, FOLD, TOOPTION, TOUNDEFINED
• STORES PREVIOUS VALUE IN CASE OF ERROR (ROLLBACK)
BENEFITS
41. • DEVELOPERS WILL FALL BACK TO “ANY”
• DEVELOPERS WILL DISABLE TSLINT (SEE CUSTOM RULE)
• @TYPES VERSION MISMATCH (WILL HAVE CORRECT TYPES?)
• LONG BUILD TIMES (TSLINT + TSC + JEST)
• INTEROP WITH PURESCRIPT?
TYPESCRIPT
42. • AWESOME FOUNDATION
• QUICK WINS (OPTION, EITHER)
• HARD TO MASTER FUNCTIONAL PARADIGMS (BETTER INTRO?)
• DO NOT MIX VERSIONS!!! (USE yarn-deduplicate)
IO-TS / FP-TS
43. THANK YOU
• FOLLOW US @TEAMDIGITALEIT @PAGOPA #PROGETTOIO
• EXPLORE GITHUB.COM/TEAMDIGITALE
• PRs WELCOME! (DOCUMENTATION, TESTS, FP IDIOMS)
• WE ARE HIRING: PAGOPA.GOV.IT