vue3-core/packages/server-renderer/src/helpers/ssrGetDirectiveProps.ts

31 lines
629 B
TypeScript

import {
type ComponentPublicInstance,
type Directive,
ssrUtils,
} from '@vue/runtime-core'
export function ssrGetDirectiveProps(
instance: ComponentPublicInstance,
dir: Directive,
value?: any,
arg?: string,
modifiers: Record<string, boolean> = {},
): Record<string, any> {
if (typeof dir !== 'function' && dir.getSSRProps) {
return (
dir.getSSRProps(
{
dir,
instance: ssrUtils.getComponentPublicInstance(instance.$),
value,
oldValue: undefined,
arg,
modifiers,
},
null as any,
) || {}
)
}
return {}
}