diff --git a/src/workflowEngine/blocksHandler/handlerLoopData.js b/src/workflowEngine/blocksHandler/handlerLoopData.js index 073aa6e6..746c8df3 100644 --- a/src/workflowEngine/blocksHandler/handlerLoopData.js +++ b/src/workflowEngine/blocksHandler/handlerLoopData.js @@ -29,14 +29,29 @@ async function loopData({ data, id }, { refData }) { 'data-columns': () => refData.table, 'google-sheets': () => refData.googleSheets[data.referenceKey], variable: () => { - const variableVal = objectPath.get( + let variableVal = objectPath.get( refData.variables, data.variableName ); if (Array.isArray(variableVal)) return variableVal; - return parseJSON(variableVal, variableVal); + variableVal = parseJSON(variableVal, variableVal); + + switch (typeof variableVal) { + case 'string': + variableVal = variableVal.split(''); + break; + case 'number': + variableVal = Array.from( + { length: variableVal }, + (_, index) => index + 1 + ); + break; + default: + } + + return variableVal; }, elements: async () => { const findBy = isXPath(data.elementSelector)