|
|
@@ -129,7 +129,8 @@ export function h<P>(
|
|
|
|
|
|
// Actual implementation
|
|
|
export function h(type: any, propsOrChildren?: any, children?: any): VNode {
|
|
|
- if (arguments.length === 2) {
|
|
|
+ const l = arguments.length
|
|
|
+ if (l === 2) {
|
|
|
if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
|
|
|
// single vnode without props
|
|
|
if (isVNode(propsOrChildren)) {
|
|
|
@@ -142,7 +143,9 @@ export function h(type: any, propsOrChildren?: any, children?: any): VNode {
|
|
|
return createVNode(type, null, propsOrChildren)
|
|
|
}
|
|
|
} else {
|
|
|
- if (isVNode(children)) {
|
|
|
+ if (l > 3) {
|
|
|
+ children = Array.prototype.slice.call(arguments, 2)
|
|
|
+ } else if (l === 3 && isVNode(children)) {
|
|
|
children = [children]
|
|
|
}
|
|
|
return createVNode(type, propsOrChildren, children)
|