Update the inline template data variable name

@inner
@param {Object} element the element to update
@param {Object} data the data variable name map, key is the old variable name,
value is the new variable name
@return {Array} return the updated element nodes
function updateTemplateDataVariableName(element, data) {
    let {children} = element;
    let result = [];
    children && children.forEach(item => {
        let {type} = item.type;
        let newItem = Object.assign({}, item);

        if (type === 'tag') {
            let {attribs: attrs, children} = item;
            newItem.attribs = replaceElementAttributeVariable(attrs, data);

            if (children) {
                let newChildren = updateTemplateDataVariableName(item, data);
                newChildren && (newItem.children = newChildren);
            }
        }
        else if (type === 'text') {
            let {data: textValue} = item;
            textValue = replaceTemplateVariable(textValue, data);
            newItem.data = textValue;
        }

        result.push(newItem);
    });
    return result;
}