function parseGherkinVariables(example, text) { return example.reduce((acc, variable) => { return acc.replace(new RegExp(`<${variable.key}>`), variable.value); }, text + ''); } export default function generateExampleTableSteps(examples, scenario) { return examples.reduce((acc, example) => ([ ...acc, { ...scenario, name: parseGherkinVariables(example, scenario.name), steps: scenario.steps.map((step) => ({ ...step, ...step.docString ? { docString: { ...step.docString, content: parseGherkinVariables(example, step.docString.content) } } : {}, text: parseGherkinVariables(example, step.text) })) } ]), []); }