RequiredPick
by default, the required makes everything required, but you can use this type to make a required pick of a type.
by default, the required makes everything required, but you can use this type to make a required pick of a type.
import { RequiredPick } from "@/types/RequiredPick";
type Order = {
orderId?: number;
customerName?: string;
amount?: number;
status: string;
createdAt: string;
};
type RequiredOrder = RequiredPick<Order, "orderId" | "amount">;
// Equivalent to:
type RequiredOrder = {
orderId: number;
amount: number;
customerName?: string;
status: string;
createdAt: string;
};
export type RequiredPick<T, Key extends keyof T> = Required<Pick<T, Key>> & T;