Skip to content

Instantly share code, notes, and snippets.

@ikasoba
Created June 25, 2023 05:21
Show Gist options
  • Save ikasoba/684b9af69cfc58a2561e11d41bf51a46 to your computer and use it in GitHub Desktop.
Save ikasoba/684b9af69cfc58a2561e11d41bf51a46 to your computer and use it in GitHub Desktop.
型レベルの論理なんちゃら
type And<A extends boolean, B extends boolean> = (A | B) extends true ? true : false;
type Or<A extends boolean, B extends boolean> = true extends (A | B) ? true : false;
type Not<A extends boolean> = A extends false ? true : false;
type Xor<A extends boolean, B extends boolean> = boolean extends (A | B) ? true : false;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment