|
|
@@ -8,7 +8,8 @@ import {
|
|
|
expectType,
|
|
|
proxyRefs,
|
|
|
toRef,
|
|
|
- toRefs
|
|
|
+ toRefs,
|
|
|
+ ToRefs
|
|
|
} from './index'
|
|
|
|
|
|
function plainType(arg: number | Ref<number>) {
|
|
|
@@ -28,7 +29,6 @@ function plainType(arg: number | Ref<number>) {
|
|
|
const nestedRef = ref({
|
|
|
foo: ref(1)
|
|
|
})
|
|
|
- expectType<Ref<{ foo: number }>>(nestedRef)
|
|
|
expectType<{ foo: number }>(nestedRef.value)
|
|
|
|
|
|
// ref boolean
|
|
|
@@ -171,3 +171,26 @@ expectType<{
|
|
|
a: Ref<number>
|
|
|
b: Ref<number>
|
|
|
}>(objRefs)
|
|
|
+
|
|
|
+// #2687
|
|
|
+interface AppData {
|
|
|
+ state: 'state1' | 'state2' | 'state3'
|
|
|
+}
|
|
|
+
|
|
|
+const data: ToRefs<AppData> = toRefs(
|
|
|
+ reactive({
|
|
|
+ state: 'state1'
|
|
|
+ })
|
|
|
+)
|
|
|
+
|
|
|
+switch (data.state.value) {
|
|
|
+ case 'state1':
|
|
|
+ data.state.value = 'state2'
|
|
|
+ break
|
|
|
+ case 'state2':
|
|
|
+ data.state.value = 'state3'
|
|
|
+ break
|
|
|
+ case 'state3':
|
|
|
+ data.state.value = 'state1'
|
|
|
+ break
|
|
|
+}
|