nominal
🔒 The new way to do types in typescript. (by scalarhq)
ts-toolbelt
👷 TypeScript's largest type utility library (by millsp)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
nominal | ts-toolbelt | |
---|---|---|
3 | 10 | |
259 | 6,406 | |
0.0% | - | |
0.9 | 0.0 | |
about 1 year ago | over 1 year ago | |
TypeScript | TypeScript | |
- | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nominal
Posts with mentions or reviews of nominal.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-07-22.
- Unlocking type-safety superpowers in TypeScript with nominal and refinement typ
-
Unlocking type-safety superpowers in Typescript with nominal and refinement types
Hey OP here, Wanted to share something we recently discovered in typescript. This is a way to to create haskell style Newtype using the lesser known \`symbols\` ```ts type Minutes = number type Seconds = number const minutesToSeconds = (minutes: Minutes) => minutes * 60 const seconds: Seconds = 420 // uh-oh, we can use Minutes and Seconds interchangeably minutesToSeconds(seconds) ``` Nominal types solve this problem ```ts import { Nominal, nominal } from 'nominal-types'; type Minutes = Nominal<'Minutes', number>; type Seconds = Nominal<'Seconds', number>; const minutesToSeconds = (minutes: Minutes) => minutes * 60 // You can directly type cast or use nominal.make const seconds = nominal.make(420) const minutes = 1337 as Minutes // doesn't work, yay type safety minutesToSeconds(seconds) // does work! minutesToSeconds(minutes) ``` We have some lot cooler examples https://github.com/modfy/nominal#examples You can also read more about it here: https://zackoverflow.dev/writing/nominal-and-refinement-types-typescript
ts-toolbelt
Posts with mentions or reviews of ts-toolbelt.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-03-10.
-
5 Resources Each TypeScript Developer Should Know About
There are a bunch of awesome type utility libraries that may boost your works on types, like ts-toolbelt, utility-types, SimplyTyped, etc., which you can already use.
- Day 9 advent of typescript
- Flappy Bird Implemented in TypeScript Types
-
Common Typescript type utilities
We have only scratched the surface of type manipulation in Typescript, if you want to get your mind blown, checkout community projects like ts-toolbelt and type-challenges.
-
Try out ts-belt
Do you mean https://github.com/millsp/ts-toolbelt? You didn’t provide a link so I’m not sure which repo you’re referring to.
-
Function requires ommited type but accepts full type
I am guessing that since it does not exists as an built in type, in utility-types, or in ts-toolbelt that it currently isn't possible.
-
I wrote a type for enforcing some type safety on 'path strings'. StackBlitz link in comments.
Since posting this, some comments have made me aware that ts-toolbelt has this feature and a couple other really useful ones built in. So their source code could be worth skimming through to see how they did things.
-
Now we can force const contexts
I was curios enough to dug the definition along with a related types Narrowable and Cast
-
Has anyone made type safe localization library with TS 4.1 Template Literal Types?
ts-toolbelt has a "Path" Type https://github.com/millsp/ts-toolbelt