UNPKG

cucumber

Version:

The official JavaScript implementation of Cucumber.

22 lines (18 loc) 1.37 kB
'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _feature = require('../models/feature');var _feature2 = _interopRequireDefault(_feature); var _gherkin = require('gherkin');var _gherkin2 = _interopRequireDefault(_gherkin);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} var gherkinCompiler = new _gherkin2.default.Compiler(); var gherkinParser = new _gherkin2.default.Parser();var Parser = function () {function Parser() {(0, _classCallCheck3.default)(this, Parser);}(0, _createClass3.default)(Parser, null, [{ key: 'parse', value: function parse(_ref) {var source = _ref.source;var uri = _ref.uri; var gherkinDocument = void 0; try { gherkinDocument = gherkinParser.parse(source); } catch (error) { error.message += '\npath: ' + uri; throw error; } return new _feature2.default({ gherkinData: gherkinDocument.feature, gherkinPickles: gherkinCompiler.compile(gherkinDocument, uri), uri: uri }); } }]);return Parser;}();exports.default = Parser;