Extract Typescript Utility type

  • Typescript

Når man har en stor union type, men gjerne skulle hatt ut en spesifikk variant i en egen type. Da kan man bruke Extract for hente de typene som matcher det andre argumentet

type HeadingBlocks = Extract<
  Block,
  { type: "heading_1" | "heading_2" | "heading_3" }
>;
const headingBlockTypes: HeadingBlocks["type"][] = [
  "heading_1",
  "heading_2",
  "heading_3",
];