vue3-yuanma/packages/core/src/flags.ts
2018-09-19 11:35:38 -04:00

32 lines
727 B
TypeScript

// vnode flags
export const enum VNodeFlags {
ELEMENT_HTML = 1,
ELEMENT_SVG = 1 << 1,
ELEMENT = ELEMENT_HTML | ELEMENT_SVG,
COMPONENT_UNKNOWN = 1 << 2,
COMPONENT_STATEFUL = 1 << 3,
COMPONENT_FUNCTIONAL = 1 << 4,
COMPONENT_ASYNC = 1 << 5,
COMPONENT = COMPONENT_UNKNOWN |
COMPONENT_STATEFUL |
COMPONENT_FUNCTIONAL |
COMPONENT_ASYNC,
TEXT = 1 << 6,
FRAGMENT = 1 << 7,
PORTAL = 1 << 8
}
export const enum ChildrenFlags {
UNKNOWN_CHILDREN = 0,
NO_CHILDREN = 1,
SINGLE_VNODE = 1 << 1,
KEYED_VNODES = 1 << 2,
NONE_KEYED_VNODES = 1 << 3,
STABLE_SLOTS = 1 << 4,
DYNAMIC_SLOTS = 1 << 5,
HAS_SLOTS = STABLE_SLOTS | DYNAMIC_SLOTS,
MULTIPLE_VNODES = KEYED_VNODES | NONE_KEYED_VNODES
}