diff --git a/packages/dts-test/setupHelpers.test-d.ts b/packages/dts-test/setupHelpers.test-d.ts index 883ebe6b254..729f9b97d05 100644 --- a/packages/dts-test/setupHelpers.test-d.ts +++ b/packages/dts-test/setupHelpers.test-d.ts @@ -137,6 +137,31 @@ describe('defineProps w/ object union + withDefaults', () => { >(props) }) +describe('defineProps w/ generic discriminate union + withDefaults', () => { + interface B { + b?: string + } + interface S extends B { + mode: 'single' + v: T + } + interface M extends B { + mode: 'multiple' + v: T[] + } + type Props = S | M + const props = withDefaults(defineProps(), { + b: 'b', + }) + + if (props.mode === 'single') { + expectType(props.v) + } + if (props.mode === 'multiple') { + expectType(props.v) + } +}) + describe('defineProps w/ generic type declaration + withDefaults',