ts-extra-types
Version:
Utility TypeScript types to enhance type safety and development productivity.
11 lines • 418 B
text/typescript
/**
* 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;
};