I am getting below error
Type ‘{ error: false; }’ is not assignable to type ‘x’.
Type ‘{ error: false; }’ is missing the following properties from type ‘ErrorWithMessage2’: name, message
I am trying to add conditional tying error: true then errorMessage is required
else error: false errorMessage is non mandatory
interface Error {
error: boolean;
}
interface ErrorWithMessage extends Error {
error: true;
errorMessage: string;
}
interface ErrorWithMessage2 extends Error {
error: false;
errorMessage?: string;
}
type x = ErrorWithMessage | ErrorWithMessage2;
const abc: x = {
error: false,
};
if you see abc is type “x” still giving error why ?