hexlet-braingames-by-mput
Version:
Learning Hexlet.io node.js project implementation.
47 lines (34 loc) • 4.37 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _hexletPairs = require('hexlet-pairs');
var _ = require('..');
var _2 = _interopRequireDefault(_);
var _utils = require('../utils');
var _utils2 = _interopRequireDefault(_utils);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var description = 'What number is missing in this progression?';
var getQueAndAnsw = function getQueAndAnsw() {
var progElementsCount = 10;
var skippedElmPos = (0, _utils2.default)(10) - 1;
var firstElm = (0, _utils2.default)(10);
var step = (0, _utils2.default)(5);
var iterQnA = function iterQnA(currentElem, currentElmPos, progression, hiddenElm) {
if (currentElmPos === progElementsCount) {
return (0, _hexletPairs.cons)(progression, hiddenElm);
}
var nextElm = currentElem + step;
var nextElmPos = currentElmPos + 1;
var separator = currentElmPos === 0 ? '' : ' ';
if (currentElmPos === skippedElmPos) {
return iterQnA(nextElm, nextElmPos, '' + progression + separator + '..', String(currentElem));
}
return iterQnA(nextElm, nextElmPos, '' + progression + separator + currentElem, hiddenElm);
};
return iterQnA(firstElm, 0, '', '');
};
exports.default = function () {
return (0, _2.default)(description, getQueAndAnsw);
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9wcm9ncmVzc2lvbkdhbWUuanMiXSwibmFtZXMiOlsiZGVzY3JpcHRpb24iLCJnZXRRdWVBbmRBbnN3IiwicHJvZ0VsZW1lbnRzQ291bnQiLCJza2lwcGVkRWxtUG9zIiwiZmlyc3RFbG0iLCJzdGVwIiwiaXRlclFuQSIsImN1cnJlbnRFbGVtIiwiY3VycmVudEVsbVBvcyIsInByb2dyZXNzaW9uIiwiaGlkZGVuRWxtIiwibmV4dEVsbSIsIm5leHRFbG1Qb3MiLCJzZXBhcmF0b3IiLCJTdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOzs7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLGNBQWMsNkNBQXBCOztBQUVBLElBQU1DLGdCQUFnQixTQUFoQkEsYUFBZ0IsR0FBTTtBQUMxQixNQUFNQyxvQkFBb0IsRUFBMUI7QUFDQSxNQUFNQyxnQkFBZ0IscUJBQVUsRUFBVixJQUFnQixDQUF0QztBQUNBLE1BQU1DLFdBQVcscUJBQVUsRUFBVixDQUFqQjtBQUNBLE1BQU1DLE9BQU8scUJBQVUsQ0FBVixDQUFiOztBQUVBLE1BQU1DLFVBQVUsU0FBVkEsT0FBVSxDQUFDQyxXQUFELEVBQWNDLGFBQWQsRUFBNkJDLFdBQTdCLEVBQTBDQyxTQUExQyxFQUF3RDtBQUN0RSxRQUFJRixrQkFBa0JOLGlCQUF0QixFQUF5QztBQUN2QyxhQUFPLHVCQUFLTyxXQUFMLEVBQWtCQyxTQUFsQixDQUFQO0FBQ0Q7QUFDRCxRQUFNQyxVQUFVSixjQUFjRixJQUE5QjtBQUNBLFFBQU1PLGFBQWFKLGdCQUFnQixDQUFuQztBQUNBLFFBQU1LLFlBQWFMLGtCQUFrQixDQUFuQixHQUF3QixFQUF4QixHQUE2QixHQUEvQzs7QUFFQSxRQUFJQSxrQkFBa0JMLGFBQXRCLEVBQXFDO0FBQ25DLGFBQU9HLFFBQVFLLE9BQVIsRUFBaUJDLFVBQWpCLE9BQWdDSCxXQUFoQyxHQUE4Q0ksU0FBOUMsU0FBNkRDLE9BQU9QLFdBQVAsQ0FBN0QsQ0FBUDtBQUNEO0FBQ0QsV0FBT0QsUUFBUUssT0FBUixFQUFpQkMsVUFBakIsT0FBZ0NILFdBQWhDLEdBQThDSSxTQUE5QyxHQUEwRE4sV0FBMUQsRUFBeUVHLFNBQXpFLENBQVA7QUFDRCxHQVpEOztBQWNBLFNBQU9KLFFBQVFGLFFBQVIsRUFBa0IsQ0FBbEIsRUFBcUIsRUFBckIsRUFBeUIsRUFBekIsQ0FBUDtBQUNELENBckJEOztrQkF1QmU7QUFBQSxTQUFNLGdCQUFRSixXQUFSLEVBQXFCQyxhQUFyQixDQUFOO0FBQUEsQyIsImZpbGUiOiJwcm9ncmVzc2lvbkdhbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zIH0gZnJvbSAnaGV4bGV0LXBhaXJzJztcbmltcG9ydCBuZXdHYW1lIGZyb20gJy4uJztcbmltcG9ydCByYW5kb21JbnQgZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBkZXNjcmlwdGlvbiA9ICdXaGF0IG51bWJlciBpcyBtaXNzaW5nIGluIHRoaXMgcHJvZ3Jlc3Npb24/JztcblxuY29uc3QgZ2V0UXVlQW5kQW5zdyA9ICgpID0+IHtcbiAgY29uc3QgcHJvZ0VsZW1lbnRzQ291bnQgPSAxMDtcbiAgY29uc3Qgc2tpcHBlZEVsbVBvcyA9IHJhbmRvbUludCgxMCkgLSAxO1xuICBjb25zdCBmaXJzdEVsbSA9IHJhbmRvbUludCgxMCk7XG4gIGNvbnN0IHN0ZXAgPSByYW5kb21JbnQoNSk7XG5cbiAgY29uc3QgaXRlclFuQSA9IChjdXJyZW50RWxlbSwgY3VycmVudEVsbVBvcywgcHJvZ3Jlc3Npb24sIGhpZGRlbkVsbSkgPT4ge1xuICAgIGlmIChjdXJyZW50RWxtUG9zID09PSBwcm9nRWxlbWVudHNDb3VudCkge1xuICAgICAgcmV0dXJuIGNvbnMocHJvZ3Jlc3Npb24sIGhpZGRlbkVsbSk7XG4gICAgfVxuICAgIGNvbnN0IG5leHRFbG0gPSBjdXJyZW50RWxlbSArIHN0ZXA7XG4gICAgY29uc3QgbmV4dEVsbVBvcyA9IGN1cnJlbnRFbG1Qb3MgKyAxO1xuICAgIGNvbnN0IHNlcGFyYXRvciA9IChjdXJyZW50RWxtUG9zID09PSAwKSA/ICcnIDogJyAnO1xuXG4gICAgaWYgKGN1cnJlbnRFbG1Qb3MgPT09IHNraXBwZWRFbG1Qb3MpIHtcbiAgICAgIHJldHVybiBpdGVyUW5BKG5leHRFbG0sIG5leHRFbG1Qb3MsIGAke3Byb2dyZXNzaW9ufSR7c2VwYXJhdG9yfS4uYCwgU3RyaW5nKGN1cnJlbnRFbGVtKSk7XG4gICAgfVxuICAgIHJldHVybiBpdGVyUW5BKG5leHRFbG0sIG5leHRFbG1Qb3MsIGAke3Byb2dyZXNzaW9ufSR7c2VwYXJhdG9yfSR7Y3VycmVudEVsZW19YCwgaGlkZGVuRWxtKTtcbiAgfTtcblxuICByZXR1cm4gaXRlclFuQShmaXJzdEVsbSwgMCwgJycsICcnKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IG5ld0dhbWUoZGVzY3JpcHRpb24sIGdldFF1ZUFuZEFuc3cpO1xuIl19
;