export function computed<T>(
getterOrOptions: ComputedGetter<T> | WritableComputedOptions<T>
) {
- const isReadonly = isFunction(getterOrOptions)
- const getter = isReadonly
- ? (getterOrOptions as ComputedGetter<T>)
- : (getterOrOptions as WritableComputedOptions<T>).get
- const setter = isReadonly
- ? __DEV__
+ let getter: ComputedGetter<T>
+ let setter: ComputedSetter<T>
+
+ if (isFunction(getterOrOptions)) {
+ getter = getterOrOptions
+ setter = __DEV__
? () => {
console.warn('Write operation failed: computed value is readonly')
}
: NOOP
- : (getterOrOptions as WritableComputedOptions<T>).set
+ } else {
+ getter = getterOrOptions.get
+ setter = getterOrOptions.set
+ }
let dirty = true
let value: T