Hacker News new | ask | show | jobs
by DangitBobby 1092 days ago
This was driving me nuts in a project with lots of backend churn. Runtime type validation libraries like typebox and zod (I like typebox) can really save your bacon.

The downside is the underlying types tend to be more complex when viewed in your IDE, but I think it's worth it.

1 comments

Here’s a neat trick for those complex types:

  type Identity<T> = T

  // This can be made recursive to an extent, alas I’m on mobile
  type Merge<T> = {
    [K in keyof T]: Identity<T[K]>
  }

  type ReadableFoo = Merge<UnreadableFoo>