| arrayType = curr.find((v: any) => v.variable === (valueSelector).join('.'))?.type | arrayType = curr.find((v: any) => v.variable === (valueSelector).join('.'))?.type | ||||
| } | } | ||||
| else { | else { | ||||
| (valueSelector).slice(1).forEach((key, i) => { | |||||
| for (let i = 1; i < valueSelector.length - 1; i++) { | |||||
| const key = valueSelector[i] | |||||
| const isLast = i === valueSelector.length - 2 | const isLast = i === valueSelector.length - 2 | ||||
| curr = curr?.find((v: any) => v.variable === key) | |||||
| if (isLast) { | |||||
| arrayType = curr?.type | |||||
| } | |||||
| else { | |||||
| if (curr?.type === VarType.object || curr?.type === VarType.file) | |||||
| curr = curr.children | |||||
| } | |||||
| }) | |||||
| curr = Array.isArray(curr) ? curr.find(v => v.variable === key) : [] | |||||
| if (isLast) | |||||
| arrayType = curr?.type | |||||
| else if (curr?.type === VarType.object || curr?.type === VarType.file) | |||||
| curr = curr.children || [] | |||||
| } | |||||
| } | } | ||||
| switch (arrayType as VarType) { | switch (arrayType as VarType) { | ||||
| }: { | }: { | ||||
| valueSelector: ValueSelector | valueSelector: ValueSelector | ||||
| beforeNodesOutputVars: NodeOutPutVar[] | beforeNodesOutputVars: NodeOutPutVar[] | ||||
| // eslint-disable-next-line sonarjs/no-identical-functions | |||||
| }): VarType => { | }): VarType => { | ||||
| const outputVarNodeId = valueSelector[0] | const outputVarNodeId = valueSelector[0] | ||||
| const isSystem = isSystemVar(valueSelector) | const isSystem = isSystemVar(valueSelector) |