Skip to main content

PartialKeys<Original, Keys>

PartialKeys<Original, Keys> = Omit<Original, Keys> & Partial<Pick<Original, Keys>>

Creates a type where specified keys become optional while others remain required.


Type Parametersโ€‹

Original: Originalโ€‹

The original object type.

Keys: Keys extends keyof Originalโ€‹

The keys that should become optional.


Sinceโ€‹

1.0.0


Exampleโ€‹

type User = {
id: string;
name: string;
email: string;
avatar: string;
};

// PartialKeys<User, "email" | "avatar">
// Results in: { id: string; name: string; email?: string; avatar?: string; }
type UserForm = PartialKeys<User, "email" | "avatar">;

const form: UserForm = {
id: "123", // Required (unchanged)
name: "John", // Required (unchanged)
// email and avatar are optional (became optional)
};