local ____lualib = require("lualib_bundle")
local __TS__ObjectAssign = ____lualib.__TS__ObjectAssign
local ____exports = {}
local ____arrays = require("utils.arrays")
local getLength = ____arrays.getLength
local function processChildren(children)
    local ____temp_2
    if getLength(children) > 1 then
        ____temp_2 = children
    else
        local ____temp_1
        if getLength(children) == 1 then
            ____temp_1 = children[1]
        else
            local ____temp_0
            if getLength(children) == 0 then
                ____temp_0 = nil
            else
                ____temp_0 = children
            end
            ____temp_1 = ____temp_0
        end
        ____temp_2 = ____temp_1
    end
    return ____temp_2
end
____exports.createElement = function(____type, props, ...)
    local children = {...}
    local normalizedProps = __TS__ObjectAssign(
        {},
        props or ({}),
        {children = processChildren(children)}
    )
    local vnode = {type = ____type, props = normalizedProps}
    return vnode
end
____exports.Fragment = function(____bindingPattern0)
    local children
    children = ____bindingPattern0.children
    local ____children_3 = children
    if ____children_3 == nil then
        ____children_3 = nil
    end
    return ____children_3
end
return ____exports
