|
@@ -19,18 +19,18 @@ import { currentRenderingInstance } from './componentRenderUtils'
|
|
|
import { callWithAsyncErrorHandling, ErrorCodes } from './errorHandling'
|
|
import { callWithAsyncErrorHandling, ErrorCodes } from './errorHandling'
|
|
|
import { ComponentPublicInstance } from './componentProxy'
|
|
import { ComponentPublicInstance } from './componentProxy'
|
|
|
|
|
|
|
|
-export interface DirectiveBinding {
|
|
|
|
|
|
|
+export interface DirectiveBinding<V = any> {
|
|
|
instance: ComponentPublicInstance | null
|
|
instance: ComponentPublicInstance | null
|
|
|
- value: any
|
|
|
|
|
- oldValue: any
|
|
|
|
|
|
|
+ value: V
|
|
|
|
|
+ oldValue: V | null
|
|
|
arg?: string
|
|
arg?: string
|
|
|
modifiers: DirectiveModifiers
|
|
modifiers: DirectiveModifiers
|
|
|
- dir: ObjectDirective
|
|
|
|
|
|
|
+ dir: ObjectDirective<any, V>
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-export type DirectiveHook<T = any, Prev = VNode<any, T> | null> = (
|
|
|
|
|
|
|
+export type DirectiveHook<T = any, Prev = VNode<any, T> | null, V = any> = (
|
|
|
el: T,
|
|
el: T,
|
|
|
- binding: DirectiveBinding,
|
|
|
|
|
|
|
+ binding: DirectiveBinding<V>,
|
|
|
vnode: VNode<any, T>,
|
|
vnode: VNode<any, T>,
|
|
|
prevVNode: Prev
|
|
prevVNode: Prev
|
|
|
) => void
|
|
) => void
|
|
@@ -40,19 +40,21 @@ export type SSRDirectiveHook = (
|
|
|
vnode: VNode
|
|
vnode: VNode
|
|
|
) => Data | undefined
|
|
) => Data | undefined
|
|
|
|
|
|
|
|
-export interface ObjectDirective<T = any> {
|
|
|
|
|
- beforeMount?: DirectiveHook<T, null>
|
|
|
|
|
- mounted?: DirectiveHook<T, null>
|
|
|
|
|
- beforeUpdate?: DirectiveHook<T, VNode<any, T>>
|
|
|
|
|
- updated?: DirectiveHook<T, VNode<any, T>>
|
|
|
|
|
- beforeUnmount?: DirectiveHook<T, null>
|
|
|
|
|
- unmounted?: DirectiveHook<T, null>
|
|
|
|
|
|
|
+export interface ObjectDirective<T = any, V = any> {
|
|
|
|
|
+ beforeMount?: DirectiveHook<T, null, V>
|
|
|
|
|
+ mounted?: DirectiveHook<T, null, V>
|
|
|
|
|
+ beforeUpdate?: DirectiveHook<T, VNode<any, T>, V>
|
|
|
|
|
+ updated?: DirectiveHook<T, VNode<any, T>, V>
|
|
|
|
|
+ beforeUnmount?: DirectiveHook<T, null, V>
|
|
|
|
|
+ unmounted?: DirectiveHook<T, null, V>
|
|
|
getSSRProps?: SSRDirectiveHook
|
|
getSSRProps?: SSRDirectiveHook
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-export type FunctionDirective<T = any> = DirectiveHook<T>
|
|
|
|
|
|
|
+export type FunctionDirective<T = any, V = any> = DirectiveHook<T, any, V>
|
|
|
|
|
|
|
|
-export type Directive<T = any> = ObjectDirective<T> | FunctionDirective<T>
|
|
|
|
|
|
|
+export type Directive<T = any, V = any> =
|
|
|
|
|
+ | ObjectDirective<T, V>
|
|
|
|
|
+ | FunctionDirective<T, V>
|
|
|
|
|
|
|
|
export type DirectiveModifiers = Record<string, boolean>
|
|
export type DirectiveModifiers = Record<string, boolean>
|
|
|
|
|
|