| string // TEXT
| null
+export type RawVNodeChildren = VNodeChildren | unknown[]
+
export type Key = string | number
export type Ref = (t: RenderNode | MountedComponent | null) => void
flags: VNodeFlags,
tag: string | FunctionalComponent | ComponentClass | RenderNode | null,
data: VNodeData | null,
- children: VNodeChildren | null,
+ children: RawVNodeChildren | null,
childFlags: ChildrenFlags,
key: Key | null | undefined,
ref: Ref | null | undefined,
flags,
tag,
data,
- children,
+ children: children as VNodeChildren,
childFlags,
key: key === void 0 ? null : key,
ref: ref === void 0 ? null : ref,
export function createElementVNode(
tag: string,
data: VNodeData | null,
- children: VNodeChildren,
+ children: RawVNodeChildren | null,
childFlags: ChildrenFlags,
key?: Key | null,
ref?: Ref | null
export function createComponentVNode(
comp: any,
data: VNodeData | null,
- children: VNodeChildren | Slots,
+ children: RawVNodeChildren | Slots,
childFlags: ChildrenFlags,
key?: Key | null,
ref?: Ref | null
if (childrenType === 'function') {
// function as children
slots = { default: children }
- } else if (Array.isArray(children) || (children as VNode)._isVNode) {
+ } else if (Array.isArray(children) || (children as any)._isVNode) {
// direct vnode children
slots = { default: () => children }
} else if (typeof children === 'object') {
}
export function createFragment(
- children: VNodeChildren,
+ children: RawVNodeChildren,
childFlags?: ChildrenFlags,
key?: Key | null
) {
export function createPortal(
target: RenderNode | string,
- children: VNodeChildren,
+ children: RawVNodeChildren,
childFlags?: ChildrenFlags,
key?: Key | null,
ref?: Ref | null