UNPKG

ts-extra-types

Version:

Utility TypeScript types to enhance type safety and development productivity.

11 lines 418 B
/** * Makes specified properties required with a default type. * * Example usage: * type User = { id: number; name: string; role?: string }; * type UserWithDefaultRole = DefaultRequired<User, 'role', 'user'>; * const user: UserWithDefaultRole = { id: 1, name: "John" }; // OK, role will be 'user' if not provided */ export type DefaultRequired<T, K extends keyof T, D> = Omit<T, K> & { [P in K]: T[P] | D; };