UNPKG

cucumber

Version:

The official JavaScript implementation of Cucumber.

31 lines (20 loc) 1.12 kB
'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports. getStepKeywordType = getStepKeywordType;var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash);var _gherkin = require('gherkin');var _gherkin2 = _interopRequireDefault(_gherkin);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}var types = { EVENT: 'event', OUTCOME: 'outcome', PRECONDITION: 'precondition' };exports.default = types;function getStepKeywordType(_ref) {var language = _ref.language;var previousStep = _ref.previousStep;var step = _ref.step; var dialect = _gherkin2.default.DIALECTS[language]; var type = _lodash2.default.find(['given', 'when', 'then', 'and', 'but'], function (type) { return _lodash2.default.includes(dialect[type], step.keyword); }); switch (type) { case 'when': return types.EVENT; case 'then': return types.OUTCOME; case 'and': case 'but': if (previousStep) { return previousStep.keywordType; } // fallthrough default: return types.PRECONDITION;} }