TypeScript
Pick and Omit
Pick keeps selected keys, Omit excludes selected keys.
Pick<T, K>
interface User {
id: number;
name: string;
email: string;
isAdmin: boolean;
}
type PublicUser = Pick<User, "id" | "name">;Omit<T, K>
type UserWithoutEmail = Omit<User, "email">;Manual alternative
type CustomUser = { id: User["id"]; name: User["name"] };