HNHacker News
TopNewBestAskShowJobs

gvergnaud

7 karma · joined March 15, 2021

submissionscomments
gvergnaud··on Learn how to unleash the full potential of the type system of TypeScript
Actually, this won't work with union types! The definition of `Equal` I use is this one:

type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends < T >() => T extends Y ? 1 : 2 ? true : false;

Understanding this requires a bit more context, but I'll explain why we need something so complicated in the Advanced Union Types chapter :)

I picked it from https://github.com/type-challenges/type-challenges which is an awesome resource too

gvergnaud··on Learn how to unleash the full potential of the type system of TypeScript
It's actually not in the standard library, but you can write it yourself:

type Expect<T extends true> = T;

`T extends true` puts a type constraint on the parameter, which then needs to be assignable to the literal type `true` to type-check.

gvergnaud··on Bringing Pattern Matching to TypeScript Introducing TS-Pattern v3.0
Thanks! Hope you'll enjoy using it