]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
types: improve writable computed types (#192)
authorDmitry Sharshakov <d3dx12.xx@gmail.com>
Thu, 10 Oct 2019 18:08:12 +0000 (21:08 +0300)
committerEvan You <yyx990803@gmail.com>
Thu, 10 Oct 2019 18:08:12 +0000 (14:08 -0400)
packages/runtime-core/src/apiReactivity.ts

index 4749c2727ba2dc65a236a56be9cabda99d8b2cd8..76092b9f34e7810341b478d6db6a8c5e7db4231e 100644 (file)
@@ -22,11 +22,11 @@ export {
 } from '@vue/reactivity'
 
 import {
-  Ref,
   computed as _computed,
   ComputedRef,
   WritableComputedOptions,
-  ReactiveEffect
+  ReactiveEffect,
+  WritableComputedRef
 } from '@vue/reactivity'
 
 import { currentInstance } from './component'
@@ -40,9 +40,13 @@ export function recordEffect(effect: ReactiveEffect) {
 }
 
 export function computed<T>(getter: () => T): ComputedRef<T>
-export function computed<T>(options: WritableComputedOptions<T>): Ref<T>
-export function computed<T>(getterOrOptions: any) {
-  const c = _computed(getterOrOptions)
+export function computed<T>(
+  options: WritableComputedOptions<T>
+): WritableComputedRef<T>
+export function computed<T>(
+  getterOrOptions: (() => T) | WritableComputedOptions<T>
+) {
+  const c = _computed(getterOrOptions as any)
   recordEffect(c.effect)
   return c
 }