Typescript Never Type

Example: throwing exceptions results in never return type

// Function returning never must not have a reachable end point
function error(message: string): never {
  throw new Error(message);
}
 
// Inferred return type is never
function fail() {
 return error("Something failed");
}

Example: infinite loop returns never

function infiniteLoop(): never {
  while (true) {}
}

tags:typescript