VNode,
createElementVNode,
createComponentVNode,
- createTextVNode,
createFragment,
createPortal,
VNodeData,
| typeof Fragment
| typeof Portal
-interface VNodeFactories {
- c: typeof createComponentVNode
- e: typeof createElementVNode
- t: typeof createTextVNode
- f: typeof createFragment
- p: typeof createPortal
-}
-
// This is used to differentiate the data object from
// vnodes and arrays
type Differ = { _isVNode?: never; [Symbol.iterator]?: never }
| (ComponentOptions<P> & { render: Function })
// TODO improve return type with props information
-interface createElement extends VNodeFactories {
+interface createElement {
// element
(tag: string, children?: RawChildrenType): VNode
(
)
}
}) as createElement
-
-h.c = createComponentVNode
-h.e = createElementVNode
-h.t = createTextVNode
-h.f = createFragment
-h.p = createPortal
// Core API
export { h, Fragment, Portal } from './h'
export { Component } from './component'
-export { cloneVNode, createPortal, createFragment } from './vdom'
+export {
+ cloneVNode,
+ createElementVNode,
+ createComponentVNode,
+ createTextVNode,
+ createFragment,
+ createPortal
+} from './vdom'
export {
createRenderer,
NodeOps,