From caa9297da6ce828e62a17b07303cd761632a5074 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=A9=E6=95=A3=E6=80=A7=E7=99=BE=E4=B8=87=E7=94=9C?= =?UTF-8?q?=E9=9D=A2=E5=8C=85?= Date: Sun, 6 Oct 2019 03:48:05 +0800 Subject: [PATCH] refactor: move writable check out of computed setter (#112) --- packages/reactivity/src/computed.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/reactivity/src/computed.ts b/packages/reactivity/src/computed.ts index 9ed42716..3bb3c3e2 100644 --- a/packages/reactivity/src/computed.ts +++ b/packages/reactivity/src/computed.ts @@ -28,7 +28,9 @@ export function computed( ? (getterOrOptions as (() => T)) : (getterOrOptions as WritableComputedOptions).get const setter = isReadonly - ? null + ? () => { + // TODO warn attempting to mutate readonly computed value + } : (getterOrOptions as WritableComputedOptions).set let dirty: boolean = true @@ -57,12 +59,8 @@ export function computed( trackChildRun(runner) return value }, - set value(newValue) { - if (setter) { - setter(newValue) - } else { - // TODO warn attempting to mutate readonly computed value - } + set value(newValue: T) { + setter(newValue) } } }