¿Qué es?

En TypeScript, los utility types son tipos internos que proporcionan funcionalidades útiles para trabajar con otros tipos. Permiten crear nuevos tipos a partir de tipos existentes de manera conveniente y reutilizable. Algunos ejemplos comunes de utility types incluyen Partial, Omit y Pick.

Por ejemplo, Partial permite crear un nuevo tipo haciendo que todas las propiedades de un tipo existente sean opcionales. Omit permite omitir un subconjunto de propiedades de un tipo existente. Pick permite seleccionar un subconjunto de propiedades de un tipo existente.

¿Cómo usarlo?

type User = {
  id: number;
  username: string;
  password: string;
  createdAt: Date;
  updatedAt: Date;
};

const user: User = {
  id: 1,
  username: 'agustinhopneto',
  password: 'typescript123',
  createdAt: new Date(),
  updatedAt: new Date(),
};

type PartialUser = Partial<User>;

type NewUser = Omit<User, 'id' | 'username'>;

type SearchUser = Pick<User, 'username'>;

const searchUser: SearchUser = {
  username: 'agustinhopneto',
};