%

% Copyright 2017-2020 The MathWorks, Inc.
function data = getParsedVarData(parsedVar, fcn)
    data = fcn(parsedVar);
    name = parsedVar.VariableName;
    while isempty(data) && parsedVar.isHierarchical
        parsedVar = parsedVar.getChildren;
        errorCheck(parsedVar, name);

        parsedVar = parsedVar{1};
        data = fcn(parsedVar);
    end
end

function errorCheck(parsedVar, name)
    if isempty(parsedVar)
        error(message('sl_xls:WriteTable:UnsupportedFormat', name));
    elseif isa(parsedVar{1}, 'Simulink.sdi.import.TimetableParser')
        error(message('sl_xls:WriteTable:TimetableError'));
    end
end
