typescript - Velg nestet type av valgfri egenskap?


Jeg har et problem med å velge type...

type GetWorkspaceListDto = {
    id: string;
    name: string;
    code: string;
    info: string;
    user: {
      id: string;
    };
    workspaceLicense?: {
      id: string;
      type: "FREE" | "STANDARD" | "PREMIUM";
      quota: number;
      beginDate: Date;
      expireDate: Date;
    };
    workspaceUsersCount: number;
  };

Jeg vil bare hente 'type'-egenskapen fra workspaceLicense, som er valgfri.

Pick<GetWorkspaceListDto["workspaceLicense"], "type">

men jeg fikk en feil.

Type 'string' does not satisfy the constraint 'never'

Hvordan kan jeg få det?

Svar #1

Her har du:

type GetWorkspaceListDto = {
  id: string;
  name: string;
  code: string;
  info: string;
  user: {
    id: string;
  };
  workspaceLicense?: {
    id: string;
    type: "FREE" | "STANDARD" | "PREMIUM";
    quota: number;
    beginDate: Date;
    expireDate: Date;
  };
  workspaceUsersCount: number;
};



type Result = Pick<NonNullable<GetWorkspaceListDto["workspaceLicense"]>, 'type'>

Du bør bruke NonNullable siden workspaceLicense kan være udefinert

Relaterte artikler