refactor: remove old watch signature support
This commit is contained in:
parent
52cc7e8231
commit
711d16cc65
@ -82,20 +82,14 @@ export function watchEffect(
|
||||
// initial value for watchers to trigger on undefined initial values
|
||||
const INITIAL_WATCHER_VALUE = {}
|
||||
|
||||
// overload #1: simple effect
|
||||
export function watch(
|
||||
effect: WatchEffect,
|
||||
options?: BaseWatchOptions
|
||||
): StopHandle
|
||||
|
||||
// overload #2: single source + cb
|
||||
// overload #1: single source + cb
|
||||
export function watch<T, Immediate extends Readonly<boolean> = false>(
|
||||
source: WatchSource<T>,
|
||||
cb: WatchCallback<T, Immediate extends true ? (T | undefined) : T>,
|
||||
options?: WatchOptions<Immediate>
|
||||
): StopHandle
|
||||
|
||||
// overload #3: array of multiple sources + cb
|
||||
// overload #2: array of multiple sources + cb
|
||||
// Readonly constraint helps the callback to correctly infer value types based
|
||||
// on position in the source array. Otherwise the values will get a union type
|
||||
// of all possible value types.
|
||||
@ -110,24 +104,18 @@ export function watch<
|
||||
|
||||
// implementation
|
||||
export function watch<T = any>(
|
||||
effectOrSource: WatchSource<T> | WatchSource<T>[] | WatchEffect,
|
||||
cbOrOptions?: WatchCallback<T> | WatchOptions,
|
||||
source: WatchSource<T> | WatchSource<T>[],
|
||||
cb: WatchCallback<T>,
|
||||
options?: WatchOptions
|
||||
): StopHandle {
|
||||
if (isFunction(cbOrOptions)) {
|
||||
// watch(source, cb)
|
||||
return doWatch(effectOrSource, cbOrOptions, options)
|
||||
} else {
|
||||
// TODO remove this in the next release
|
||||
__DEV__ &&
|
||||
warn(
|
||||
`\`watch(fn, options?)\` signature has been moved to a separate API. ` +
|
||||
`Use \`watchEffect(fn, options?)\` instead. \`watch\` will only ` +
|
||||
`support \`watch(source, cb, options?) signature in the next release.`
|
||||
)
|
||||
// watch(effect)
|
||||
return doWatch(effectOrSource, null, cbOrOptions)
|
||||
if (__DEV__ && !isFunction(cb)) {
|
||||
warn(
|
||||
`\`watch(fn, options?)\` signature has been moved to a separate API. ` +
|
||||
`Use \`watchEffect(fn, options?)\` instead. \`watch\` now only ` +
|
||||
`supports \`watch(source, cb, options?) signature.`
|
||||
)
|
||||
}
|
||||
return doWatch(source, cb, options)
|
||||
}
|
||||
|
||||
function doWatch(
|
||||
|
Loading…
Reference in New Issue
Block a user