true-myth VS nominal

Compare true-myth vs nominal and see what are their differences.

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
true-myth nominal
1 3
854 259
4.2% 0.0%
9.1 0.9
10 days ago about 1 year ago
TypeScript TypeScript
MIT License -
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.

true-myth

Posts with mentions or reviews of true-myth. 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 types
    7 projects | /r/typescript | 22 Jul 2022
    TS doesn't do anything at runtime no, but there are some type checking libraries that could help you. I don't know what packages you're talking about in particular, but if they are IO related you can try io-ts. More generally you could also look into true-myth for Maybe types and wrap any values that come out of your packages before allowing them to be passed into your code.

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
    1 project | news.ycombinator.com | 3 Aug 2022
  • Unlocking type-safety superpowers in Typescript with nominal and refinement types
    7 projects | /r/typescript | 22 Jul 2022
    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

What are some alternatives?

When comparing true-myth and nominal you can also consider the following projects:

rxjs-ninja - RxJS Operators for handling Observable strings, numbers, booleans and more

type-fest - A collection of essential TypeScript types

persisted-requests - [Beta] Ensure client REST requests are not lost in event of catastrophic failure / early program termination. Demo is in the link.

Elm - Compiler for Elm, a functional language for reliable webapps.

complish - Generate auto-completion for any CLI via ChatGPT.

typescript-runtime-type-benchmarks - 📊 Benchmark Comparison of Packages with Runtime Validation and TypeScript Support

zod - TypeScript-first schema validation with static type inference

DreamCompose - A simple and easy-to-use framework for developing web application interfaces and websites. Create attractive user interfaces easily and intuitively.

io-ts - Runtime type system for IO decoding/encoding