TypeScript, lik Required, men som konverterer alle objekt-egenskaper til ikke-nullbare


I TypeScript finnes det en Required-type som gjør at et objekts egenskaper blir definert

For eksempel:

interface Person {
  name?: string;
  age?: number;
}

Required<Person> ville gitt oss:

interface Person {
  name: string;
  age: number;
}

Spørsmålet mitt er, på samme måte som hva Required kan gjøre, finnes det en type som konverterer nullable egenskaper til ikke-nullable

For eksempel:

interface Person {
  name: string | null;
  age: number | null;
}

Jeg vil at det skal være:

interface Person {
  name: string;
  age: number;
}

Takk

Svar #1

:)

type Must<T> = {
  [P in keyof T]-?: NonNullable<T[P]>;
}

Relaterte artikler