types(defineComponent): fix unwrap when returning Ref<T>|undefined from setup (#4100)

This commit is contained in:
Carlos Rodrigues
2021-07-15 20:58:20 +01:00
committed by GitHub
parent e508ee08e9
commit f6a5f09a3a
2 changed files with 9 additions and 3 deletions

View File

@@ -159,6 +159,7 @@ describe('object props', () => {
setupC: {
a: ref(2)
},
setupD: undefined as Ref<number> | undefined,
setupProps: props
}
}
@@ -190,7 +191,7 @@ describe('object props', () => {
expectType<Number>(rawBindings.setupA)
expectType<Ref<Number>>(rawBindings.setupB)
expectType<Ref<Number>>(rawBindings.setupC.a)
expectType<Number>(rawBindings.setupA)
expectType<Ref<Number> | undefined>(rawBindings.setupD)
// raw bindings props
expectType<ExpectedProps['a']>(rawBindings.setupProps.a)
@@ -215,7 +216,7 @@ describe('object props', () => {
expectType<Number>(setup.setupA)
expectType<Number>(setup.setupB)
expectType<Ref<Number>>(setup.setupC.a)
expectType<Number>(setup.setupA)
expectType<number | undefined>(setup.setupD)
// raw bindings props
expectType<ExpectedProps['a']>(setup.setupProps.a)
@@ -239,6 +240,7 @@ describe('object props', () => {
// instance
const instance = new MyComponent()
expectType<number>(instance.setupA)
expectType<number | undefined>(instance.setupD)
// @ts-expect-error
instance.notExist
})