|
|
@@ -20,6 +20,7 @@ import {
|
|
|
} from './errorHandling'
|
|
|
import { onBeforeUnmount } from './apiLifecycle'
|
|
|
import { queuePostRenderEffect } from './createRenderer'
|
|
|
+import { WatchHandler } from './apiOptions'
|
|
|
|
|
|
export interface WatchOptions {
|
|
|
lazy?: boolean
|
|
|
@@ -49,7 +50,7 @@ export function watch(effect: SimpleEffect, options?: WatchOptions): StopHandle
|
|
|
// overload #2: single source + cb
|
|
|
export function watch<T>(
|
|
|
source: WatcherSource<T>,
|
|
|
- cb: (newValue: T, oldValue: T, onCleanup: CleanupRegistrator) => any,
|
|
|
+ cb: WatchHandler<T>,
|
|
|
options?: WatchOptions
|
|
|
): StopHandle
|
|
|
|
|
|
@@ -65,14 +66,9 @@ export function watch<T extends WatcherSource<unknown>[]>(
|
|
|
): StopHandle
|
|
|
|
|
|
// implementation
|
|
|
-export function watch(
|
|
|
- effectOrSource:
|
|
|
- | WatcherSource<unknown>
|
|
|
- | WatcherSource<unknown>[]
|
|
|
- | SimpleEffect,
|
|
|
- cbOrOptions?:
|
|
|
- | ((value: any, oldValue: any, onCleanup: CleanupRegistrator) => any)
|
|
|
- | WatchOptions,
|
|
|
+export function watch<T = any>(
|
|
|
+ effectOrSource: WatcherSource<T> | WatcherSource<T>[] | SimpleEffect,
|
|
|
+ cbOrOptions?: WatchHandler<T> | WatchOptions,
|
|
|
options?: WatchOptions
|
|
|
): StopHandle {
|
|
|
if (isFunction(cbOrOptions)) {
|