MakesĀ all optional properties required.
type RequiredType = Required<OriginalType>;
interface Config {
apiUrl?: string;
timeout?: number;
retries?: number;
}
*// For production, all values required*
type ProductionConfig = Required<Config>;
const devConfig: Config = {
apiUrl: "<http://localhost>"
*// timeout and retries optional*
};
const prodConfig: ProductionConfig = {
apiUrl: "<https://api.production.com>",
timeout: 5000,
retries: 3
*// All three required - TypeScript error if missing*
};