Skip to content

Instantly share code, notes, and snippets.

@devgioele
Created January 8, 2023 09:35
Show Gist options
  • Save devgioele/f5f00b415f44a12be362ba20f0419bdc to your computer and use it in GitHub Desktop.
Save devgioele/f5f00b415f44a12be362ba20f0419bdc to your computer and use it in GitHub Desktop.
A TypeScript type that makes all keys of an object optional, except for the keys given. Useful for making less strict variants of an existing type.
/** Make all keys of T optional except for K. */
type PartialExcept<T, K extends keyof T> = Pick<T, K> & Partial<Omit<T, K>>;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment