UNPKG

elliptical

Version:

Interactive natural-language interfaces

127 lines (95 loc) 2.95 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _utils = require('../utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _marked = [visit].map(_regenerator2.default.mark); var defaultProps = { skipIncomplete: false, option: false }; function visit(option, _ref, traverse) { var props = _ref.props; var children = _ref.children; var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, output; return _regenerator2.default.wrap(function visit$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: if (!props.inbound) { _context.next = 3; break; } if (props.inbound(option)) { _context.next = 3; break; } return _context.abrupt('return'); case 3: _iteratorNormalCompletion = true; _didIteratorError = false; _iteratorError = undefined; _context.prev = 6; _iterator = traverse(children[0], option)[Symbol.iterator](); case 8: if (_iteratorNormalCompletion = (_step = _iterator.next()).done) { _context.next = 21; break; } output = _step.value; if (!(props.skipIncomplete && !(0, _utils.isComplete)(output))) { _context.next = 15; break; } _context.next = 13; return output; case 13: _context.next = 18; break; case 15: if (!(!props.outbound || props.outbound(output))) { _context.next = 18; break; } _context.next = 18; return output; case 18: _iteratorNormalCompletion = true; _context.next = 8; break; case 21: _context.next = 27; break; case 23: _context.prev = 23; _context.t0 = _context['catch'](6); _didIteratorError = true; _iteratorError = _context.t0; case 27: _context.prev = 27; _context.prev = 28; if (!_iteratorNormalCompletion && _iterator.return) { _iterator.return(); } case 30: _context.prev = 30; if (!_didIteratorError) { _context.next = 33; break; } throw _iteratorError; case 33: return _context.finish(30); case 34: return _context.finish(27); case 35: case 'end': return _context.stop(); } } }, _marked[0], this, [[6, 23, 27, 35], [28,, 30, 34]]); } exports.default = { defaultProps: defaultProps, visit: visit };