export { Text, Comment, Fragment, Portal, Suspense } from './vnode'
// Internal Components
export { KeepAlive } from './keepAlive'
-// VNode patchFlags
+// VNode flags
+export { PublicShapeFlags as ShapeFlags } from './shapeFlags'
import { PublicPatchFlags } from '@vue/shared'
export const PatchFlags = PublicPatchFlags as {
- // export flags as plain numbers to avoid d.ts relying on @vue/shared
+ // export patch flags as plain numbers to avoid d.ts relying on @vue/shared
// the enum type is internal anyway.
TEXT: number
CLASS: number
STATEFUL_COMPONENT_KEPT_ALIVE = 1 << 8,
COMPONENT = ShapeFlags.STATEFUL_COMPONENT | ShapeFlags.FUNCTIONAL_COMPONENT
}
+
+// For runtime consumption
+export const PublicShapeFlags = {
+ ELEMENT: ShapeFlags.ELEMENT,
+ FUNCTIONAL_COMPONENT: ShapeFlags.FUNCTIONAL_COMPONENT,
+ STATEFUL_COMPONENT: ShapeFlags.STATEFUL_COMPONENT,
+ TEXT_CHILDREN: ShapeFlags.TEXT_CHILDREN,
+ ARRAY_CHILDREN: ShapeFlags.ARRAY_CHILDREN,
+ SLOTS_CHILDREN: ShapeFlags.SLOTS_CHILDREN,
+ SUSPENSE: ShapeFlags.SUSPENSE,
+ COMPONENT: ShapeFlags.COMPONENT
+}