type Config = Required<{ host?: string; port?: number }>
// Config = { host: string; port: number } (no more optional)Required<T> removes optional markers from all properties, making them all mandatory.
Required<T> makes every optional property mandatory.
Challenge: Implement requireAll<T extends object>(obj: T): Required<T> β since properties can be undefined in JS, this function should throw if any own value is undefined.
requireAll({ a: 1, b: 2 }) // β { a: 1, b: 2 } β
requireAll({ a: 1, b: undefined }) // throws