UNPKG

cucumber-generator

Version:

Generate step definitions for cucumber scenarios

45 lines (44 loc) 1.87 kB
"use strict"; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.TemplateGenerator = void 0; const Generator_1 = require("./Generator"); const Parser_1 = require("../files/Parser"); const TemplateFeatureProcessor_1 = require("./TemplateFeatureProcessor"); class TemplateGenerator extends Generator_1.Generator { constructor(template, options) { const { variables, templateDirectory } = options, base = __rest(options, ["variables", "templateDirectory"]); super(base); this.variables = variables; this.template = template; this.templateDirectory = templateDirectory; } async generate() { const result = {}; const featureFiles = await this.scanner.scanForFeatures(); for (let f of featureFiles.relative) { const doc = await this.parser.parse(f); const features = Parser_1.Parser.toFeatures(doc); for (let feature of features) { result[f] = await TemplateFeatureProcessor_1.TemplateFeatureProcessor.processFeature(feature, { variables: this.variables, featureFile: f, templateDirectory: this.templateDirectory, template: this.template, }); } } return result; } } exports.TemplateGenerator = TemplateGenerator;