Sneh Pandya
Feb 1, 2022 ⋅ 9 min read

Methods for TypeScript runtime type checking

Sneh Pandya Exploring the horizon with a knack for product management. Co-host of the NinjaTalks podcast and community organizer at Google Developers Group. Explorer, adventurer, traveler.

Recent posts:

Using Rust And Axum To Build A Jwt Authentication Api

Using Rust and Axum to build a JWT authentication API

Learn to build a basic JWT authentication system with Rust and Axum, including setting up the routes, handlers, and the middleware system.

Eze Sunday
May 29, 2024 ⋅ 9 min read
Building A Customizable Dashboard With Dashy

Building a customizable dashboard with Dashy

Dashy helps us create beautiful, customizable, modern dashboard pages with web service links and widgets.

Shalitha Suranga
May 29, 2024 ⋅ 10 min read
Winterjs Vs Bun: Comparing Javascript Runtimes

WinterJS vs. Bun: Comparing JavaScript runtimes

WinterJS is theoretically the fastest WinterCG JavaScript runtime. Let’s compare WinterJS to Bun, another runtime known for its speed.

Emmanuel Odioko
May 28, 2024 ⋅ 6 min read
Understanding Cross Platform Graphics In Rust With Wgpu

Leverage Rust and wgpu for effective cross-platform graphics

Use Rust with wgpu to work directly with the new WebGPU standard for better control, cross-platform performance, and bug handling.

Mario Zupan
May 28, 2024 ⋅ 36 min read
View all posts

3 Replies to "Methods for TypeScript runtime type checking"

  1. One big downside to io-ts and similar libraries, is all your types are inferred.

    This has some major drawbacks compared with literal types: there is nowhere for you to write documentation – or at least nothing that will be visible to IDE auto completion or a documentation generator. Also, error messages may be very difficult to understand – they aren’t going to point to a specific member, but instead to a complex stack of derived types. And lastly, no automated (remame) refactorings or “find usages” will be available, so you miss out on a lot of the productivity aspects of TS.

    I had high hopes for this approach, but I eventually ended up writing both validators and proper types anyhow, meaning a lot of duplication. Just something to consider before selecting this approach.

Leave a Reply