hexlet-project-lvl1-german
Version:
Project1 from hexlet. Brain Games.
55 lines (44 loc) • 5.18 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _util = require('../util');
var _util2 = _interopRequireDefault(_util);
var _ = require('..');
var _2 = _interopRequireDefault(_);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var progressionLenght = 10;
var progressionStartsMin = 50;
var progressionStartsMax = 150;
var progressionStepMin = -10;
var progressionStepMax = 10;
var description = 'What number is missing in this progression?';
var getProgression = function getProgression() {
var start = (0, _util2.default)(progressionStartsMin, progressionStartsMax);
var step = (0, _util2.default)(progressionStepMin, progressionStepMax);
var current = start;
var progression = [];
for (var i = 0; i < progressionLenght; i += 1) {
progression.push(current);
current += step;
}
return progression;
};
var getQuestionString = function getQuestionString(arr, num) {
var newArr = arr.slice();
newArr[num] = '..';
return newArr.reduce(function (el, acc) {
return el + ' ' + acc;
}, '');
};
var generateAnswerAndQuestion = function generateAnswerAndQuestion() {
var arr = getProgression();
var missingNumber = (0, _util2.default)(0, progressionLenght);
var question = getQuestionString(arr, missingNumber);
var answer = '' + arr[missingNumber];
return { question: question, answer: answer };
};
exports.default = function () {
return (0, _2.default)(description, generateAnswerAndQuestion);
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9wcm9ncmVzc2lvbi1nYW1lLmpzIl0sIm5hbWVzIjpbInByb2dyZXNzaW9uTGVuZ2h0IiwicHJvZ3Jlc3Npb25TdGFydHNNaW4iLCJwcm9ncmVzc2lvblN0YXJ0c01heCIsInByb2dyZXNzaW9uU3RlcE1pbiIsInByb2dyZXNzaW9uU3RlcE1heCIsImRlc2NyaXB0aW9uIiwiZ2V0UHJvZ3Jlc3Npb24iLCJzdGFydCIsInN0ZXAiLCJjdXJyZW50IiwicHJvZ3Jlc3Npb24iLCJpIiwicHVzaCIsImdldFF1ZXN0aW9uU3RyaW5nIiwiYXJyIiwibnVtIiwibmV3QXJyIiwic2xpY2UiLCJyZWR1Y2UiLCJlbCIsImFjYyIsImdlbmVyYXRlQW5zd2VyQW5kUXVlc3Rpb24iLCJtaXNzaW5nTnVtYmVyIiwicXVlc3Rpb24iLCJhbnN3ZXIiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLG9CQUFvQixFQUExQjtBQUNBLElBQU1DLHVCQUF1QixFQUE3QjtBQUNBLElBQU1DLHVCQUF1QixHQUE3QjtBQUNBLElBQU1DLHFCQUFxQixDQUFDLEVBQTVCO0FBQ0EsSUFBTUMscUJBQXFCLEVBQTNCO0FBQ0EsSUFBTUMsY0FBYyw2Q0FBcEI7O0FBRUEsSUFBTUMsaUJBQWlCLFNBQWpCQSxjQUFpQixHQUFNO0FBQzNCLE1BQU1DLFFBQVEsb0JBQWFOLG9CQUFiLEVBQW1DQyxvQkFBbkMsQ0FBZDtBQUNBLE1BQU1NLE9BQU8sb0JBQWFMLGtCQUFiLEVBQWlDQyxrQkFBakMsQ0FBYjtBQUNBLE1BQUlLLFVBQVVGLEtBQWQ7QUFDQSxNQUFNRyxjQUFjLEVBQXBCO0FBQ0EsT0FBSyxJQUFJQyxJQUFJLENBQWIsRUFBZ0JBLElBQUlYLGlCQUFwQixFQUF1Q1csS0FBSyxDQUE1QyxFQUErQztBQUM3Q0QsZ0JBQVlFLElBQVosQ0FBaUJILE9BQWpCO0FBQ0FBLGVBQVdELElBQVg7QUFDRDtBQUNELFNBQU9FLFdBQVA7QUFDRCxDQVZEOztBQVlBLElBQU1HLG9CQUFvQixTQUFwQkEsaUJBQW9CLENBQUNDLEdBQUQsRUFBTUMsR0FBTixFQUFjO0FBQ3RDLE1BQU1DLFNBQVNGLElBQUlHLEtBQUosRUFBZjtBQUNBRCxTQUFPRCxHQUFQLElBQWMsSUFBZDtBQUNBLFNBQU9DLE9BQU9FLE1BQVAsQ0FBYyxVQUFDQyxFQUFELEVBQUtDLEdBQUw7QUFBQSxXQUFnQkQsRUFBaEIsU0FBc0JDLEdBQXRCO0FBQUEsR0FBZCxFQUEyQyxFQUEzQyxDQUFQO0FBQ0QsQ0FKRDs7QUFNQSxJQUFNQyw0QkFBNEIsU0FBNUJBLHlCQUE0QixHQUFNO0FBQ3RDLE1BQU1QLE1BQU1SLGdCQUFaO0FBQ0EsTUFBTWdCLGdCQUFnQixvQkFBYSxDQUFiLEVBQWdCdEIsaUJBQWhCLENBQXRCO0FBQ0EsTUFBTXVCLFdBQVdWLGtCQUFrQkMsR0FBbEIsRUFBdUJRLGFBQXZCLENBQWpCO0FBQ0EsTUFBTUUsY0FBWVYsSUFBSVEsYUFBSixDQUFsQjtBQUNBLFNBQU8sRUFBRUMsa0JBQUYsRUFBWUMsY0FBWixFQUFQO0FBQ0QsQ0FORDs7a0JBUWU7QUFBQSxTQUFNLGdCQUFZbkIsV0FBWixFQUF5QmdCLHlCQUF6QixDQUFOO0FBQUEsQyIsImZpbGUiOiJwcm9ncmVzc2lvbi1nYW1lLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldFJhbmRvbWludCBmcm9tICcuLi91dGlsJztcbmltcG9ydCBnYW1lUHJvY2VzcyBmcm9tICcuLic7XG5cbmNvbnN0IHByb2dyZXNzaW9uTGVuZ2h0ID0gMTA7XG5jb25zdCBwcm9ncmVzc2lvblN0YXJ0c01pbiA9IDUwO1xuY29uc3QgcHJvZ3Jlc3Npb25TdGFydHNNYXggPSAxNTA7XG5jb25zdCBwcm9ncmVzc2lvblN0ZXBNaW4gPSAtMTA7XG5jb25zdCBwcm9ncmVzc2lvblN0ZXBNYXggPSAxMDtcbmNvbnN0IGRlc2NyaXB0aW9uID0gJ1doYXQgbnVtYmVyIGlzIG1pc3NpbmcgaW4gdGhpcyBwcm9ncmVzc2lvbj8nO1xuXG5jb25zdCBnZXRQcm9ncmVzc2lvbiA9ICgpID0+IHtcbiAgY29uc3Qgc3RhcnQgPSBnZXRSYW5kb21pbnQocHJvZ3Jlc3Npb25TdGFydHNNaW4sIHByb2dyZXNzaW9uU3RhcnRzTWF4KTtcbiAgY29uc3Qgc3RlcCA9IGdldFJhbmRvbWludChwcm9ncmVzc2lvblN0ZXBNaW4sIHByb2dyZXNzaW9uU3RlcE1heCk7XG4gIGxldCBjdXJyZW50ID0gc3RhcnQ7XG4gIGNvbnN0IHByb2dyZXNzaW9uID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcHJvZ3Jlc3Npb25MZW5naHQ7IGkgKz0gMSkge1xuICAgIHByb2dyZXNzaW9uLnB1c2goY3VycmVudCk7XG4gICAgY3VycmVudCArPSBzdGVwO1xuICB9XG4gIHJldHVybiBwcm9ncmVzc2lvbjtcbn07XG5cbmNvbnN0IGdldFF1ZXN0aW9uU3RyaW5nID0gKGFyciwgbnVtKSA9PiB7XG4gIGNvbnN0IG5ld0FyciA9IGFyci5zbGljZSgpO1xuICBuZXdBcnJbbnVtXSA9ICcuLic7XG4gIHJldHVybiBuZXdBcnIucmVkdWNlKChlbCwgYWNjKSA9PiBgJHtlbH0gJHthY2N9YCwgJycpO1xufTtcblxuY29uc3QgZ2VuZXJhdGVBbnN3ZXJBbmRRdWVzdGlvbiA9ICgpID0+IHtcbiAgY29uc3QgYXJyID0gZ2V0UHJvZ3Jlc3Npb24oKTtcbiAgY29uc3QgbWlzc2luZ051bWJlciA9IGdldFJhbmRvbWludCgwLCBwcm9ncmVzc2lvbkxlbmdodCk7XG4gIGNvbnN0IHF1ZXN0aW9uID0gZ2V0UXVlc3Rpb25TdHJpbmcoYXJyLCBtaXNzaW5nTnVtYmVyKTtcbiAgY29uc3QgYW5zd2VyID0gYCR7YXJyW21pc3NpbmdOdW1iZXJdfWA7XG4gIHJldHVybiB7IHF1ZXN0aW9uLCBhbnN3ZXIgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IGdhbWVQcm9jZXNzKGRlc2NyaXB0aW9uLCBnZW5lcmF0ZUFuc3dlckFuZFF1ZXN0aW9uKTtcbiJdfQ==