UNPKG

hexlet-braingames-by-mput

Version:

Learning Hexlet.io node.js project implementation.

47 lines (34 loc) 4.37 kB
'use strict'; 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