как TS может знать тип возвращаемых функций с множественным типом возврата, например:
type VariantA = Variant & {
a: number,
b: string,
c: string[]
}
type VariantB = Variant & {
e: number,
f: string,
g: string[]
}
const CreateObject = (type: 'variantA' | 'variantB') => {
if (type === 'variantA') {
return { a: 5, b: 'hello', c: ['a', 'b'] } as VariantA
} else {
return { e: 5, f: 'hello', g: ['a', 'b'] } as VariantB
}
}
Здесь было бы здорово, если бы редактор мог сказать, передал ли я 'optionA' в качестве типа, тогда тип возвращаемого значения - VariantA, иначе VariantB. Возможно ли это?