Hacker News new | ask | show | jobs
by Chabsff 1393 days ago
In strongly-typed programming languages, which includes Typescript, figuring out the types *of the interface* is not something that's done after the fact. `@types/*` is an exceptional project meant to back-port JS libraries to TypeScript, but that's the exception, not the rule.

If you write a library in TypeScript, determining what types are present as part of the interface is one of the very first thing that should be done.

1 comments

> In strongly-typed programming languages, which includes Typescript, figuring out the types is not something that's done after the fact.

Too broad a statement. There's loads of value in having a compiler figure out types for you after/when you write the code.

Hard disagree as far as the portions of it that are part of the user-facing public interface are concerned.

But granted, as a general rule you are correct. I was referring specifically to API interfaces.

If you're talking about type-inference, sure, I guess it's fine.

If you're talking about figuring out what types you're going to accept, you should absolutely be defining that on your own up-front. If you don't even know what your types are how is an end user going to figure it out?