transformVNodeArgs,
isBlockTreeEnabled
} from '../src/vnode'
-import { Data } from '../src/component'
-import { ShapeFlags, PatchFlags } from '@vue/shared'
+import { ShapeFlags, PatchFlags, Data } from '@vue/shared'
import { h, reactive, isReactive, setBlockTracking, ref, withCtx } from '../src'
import { createApp, nodeOps, serializeInner } from '@vue/runtime-test'
import { setCurrentRenderingInstance } from '../src/componentRenderContext'
import {
ConcreteComponent,
- Data,
validateComponentName,
Component,
ComponentInternalInstance,
import { createVNode, cloneVNode, VNode } from './vnode'
import { RootHydrateFunction } from './hydration'
import { devtoolsInitApp, devtoolsUnmountApp } from './devtools'
-import { isFunction, NO, isObject, extend } from '@vue/shared'
+import { isFunction, NO, isObject, extend, Data } from '@vue/shared'
import { version } from '.'
import { installAppCompatProperties } from './compat/global'
import { NormalizedPropsOptions } from './componentProps'
-import { isArray } from '@vue/shared'
+import { isArray, Data } from '@vue/shared'
import { inject } from '../apiInject'
-import { ComponentInternalInstance, Data } from '../component'
+import { ComponentInternalInstance } from '../component'
import { ComponentOptions, resolveMergedOptions } from '../componentOptions'
import { DeprecationTypes, warnDeprecation } from './compatConfig'
normalizeClass,
normalizeStyle,
ShapeFlags,
- toHandlerKey
+ toHandlerKey,
+ Data
} from '@vue/shared'
import {
Component,
ComponentInternalInstance,
ComponentOptions,
- Data,
InternalRenderFunction
} from '../component'
import { currentRenderingInstance } from '../componentRenderContext'
ShapeFlags,
extend,
getGlobalThis,
- IfAny
+ IfAny,
+ Data
} from '@vue/shared'
import { SuspenseBoundary } from './components/Suspense'
import { CompilerOptions } from '@vue/compiler-core'
import { SchedulerJob } from './scheduler'
import { LifecycleHooks } from './enums'
-export type Data = Record<string, unknown>
-
/**
* For extending allowed non-declared props on components in TSX
*/
import {
ComponentInternalInstance,
- Data,
SetupContext,
ComponentInternalOptions,
Component,
NOOP,
isPromise,
LooseRequired,
- Prettify
+ Prettify,
+ Data
} from '@vue/shared'
import { isRef, Ref } from '@vue/reactivity'
import { computed } from './apiComputed'
def,
extend,
isOn,
- IfAny
+ IfAny,
+ Data
} from '@vue/shared'
import { warn } from './warning'
import {
- Data,
ComponentInternalInstance,
ComponentOptions,
ConcreteComponent,
import {
ComponentInternalInstance,
- Data,
getExposeProxy,
isStatefulComponent
} from './component'
isFunction,
UnionToIntersection,
Prettify,
- IfAny
+ IfAny,
+ Data
} from '@vue/shared'
import {
toRaw,
import {
ComponentInternalInstance,
FunctionalComponent,
- Data,
getComponentName
} from './component'
import {
blockStack
} from './vnode'
import { handleError, ErrorCodes } from './errorHandling'
-import { PatchFlags, ShapeFlags, isOn, isModelListener } from '@vue/shared'
+import {
+ PatchFlags,
+ ShapeFlags,
+ isOn,
+ isModelListener,
+ Data
+} from '@vue/shared'
import { warn } from './warning'
import { isHmrUpdating } from './hmr'
import { NormalizedProps } from './componentProps'
*/
import { VNode } from './vnode'
-import { isFunction, EMPTY_OBJ, isBuiltInDirective } from '@vue/shared'
+import { isFunction, EMPTY_OBJ, isBuiltInDirective, Data } from '@vue/shared'
import { warn } from './warning'
-import { ComponentInternalInstance, Data, getExposeProxy } from './component'
+import { ComponentInternalInstance, getExposeProxy } from './component'
import { currentRenderingInstance } from './componentRenderContext'
import { callWithAsyncErrorHandling, ErrorCodes } from './errorHandling'
import { ComponentPublicInstance } from './componentPublicInstance'
-import { Data } from '../component'
import { Slots, RawSlots } from '../componentSlots'
import {
ContextualRenderFn,
Fragment,
VNode
} from '../vnode'
-import { PatchFlags, SlotFlags } from '@vue/shared'
+import { PatchFlags, SlotFlags, Data } from '@vue/shared'
import { warn } from '../warning'
import { createVNode } from '@vue/runtime-core'
import { isAsyncWrapper } from '../apiAsyncComponent'
ComponentInternalInstance,
ComponentOptions,
createComponentInstance,
- Data,
setupComponent
} from './component'
import {
NOOP,
invokeArrayFns,
isArray,
- getGlobalThis
+ getGlobalThis,
+ Data
} from '@vue/shared'
import {
queueJob,
PatchFlags,
ShapeFlags,
SlotFlags,
- isOn
+ isOn,
+ Data
} from '@vue/shared'
import {
ComponentInternalInstance,
- Data,
ConcreteComponent,
ClassComponent,
Component,
import { VNode } from './vnode'
import {
- Data,
ComponentInternalInstance,
ConcreteComponent,
formatComponentName
} from './component'
-import { isString, isFunction } from '@vue/shared'
+import { isString, isFunction, Data } from '@vue/shared'
import { toRaw, isRef, pauseTracking, resetTracking } from '@vue/reactivity'
import { callWithErrorHandling, ErrorCodes } from './errorHandling'
import { EffectScope } from '@vue/reactivity'
import { Block } from './render'
import { DirectiveBinding } from './directives'
+import type { Data } from '@vue/shared'
export type SetupFn = (props: any, ctx: any) => Block | Data
export type FunctionalComponent = SetupFn & {
}
return instance
}
-
-// FIXME: duplicated with runtime-core
-export type Data = Record<string, unknown>
import { isFunction } from '@vue/shared'
import { currentInstance, type ComponentInternalInstance } from './component'
import type { DirectiveModifiers } from '@vue/runtime-dom'
+
export interface DirectiveBinding<V = any> {
instance: ComponentInternalInstance | null
value: V
? Awaited<V> // recursively unwrap the value
: never // the argument to `then` was not callable
: T // non-object or non-thenable
+
+export type Data = Record<string, unknown>