hexlet-project-lvl1-german
Version:
Project1 from hexlet. Brain Games.
55 lines (44 loc) • 5.16 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9wcm9ncmVzc2lvbi5qcyJdLCJuYW1lcyI6WyJwcm9ncmVzc2lvbkxlbmdodCIsInByb2dyZXNzaW9uU3RhcnRzTWluIiwicHJvZ3Jlc3Npb25TdGFydHNNYXgiLCJwcm9ncmVzc2lvblN0ZXBNaW4iLCJwcm9ncmVzc2lvblN0ZXBNYXgiLCJkZXNjcmlwdGlvbiIsImdldFByb2dyZXNzaW9uIiwic3RhcnQiLCJzdGVwIiwiY3VycmVudCIsInByb2dyZXNzaW9uIiwiaSIsInB1c2giLCJnZXRRdWVzdGlvblN0cmluZyIsImFyciIsIm51bSIsIm5ld0FyciIsInNsaWNlIiwicmVkdWNlIiwiZWwiLCJhY2MiLCJnZW5lcmF0ZUFuc3dlckFuZFF1ZXN0aW9uIiwibWlzc2luZ051bWJlciIsInF1ZXN0aW9uIiwiYW5zd2VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7OztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxvQkFBb0IsRUFBMUI7QUFDQSxJQUFNQyx1QkFBdUIsRUFBN0I7QUFDQSxJQUFNQyx1QkFBdUIsR0FBN0I7QUFDQSxJQUFNQyxxQkFBcUIsQ0FBQyxFQUE1QjtBQUNBLElBQU1DLHFCQUFxQixFQUEzQjtBQUNBLElBQU1DLGNBQWMsNkNBQXBCOztBQUVBLElBQU1DLGlCQUFpQixTQUFqQkEsY0FBaUIsR0FBTTtBQUMzQixNQUFNQyxRQUFRLG9CQUFhTixvQkFBYixFQUFtQ0Msb0JBQW5DLENBQWQ7QUFDQSxNQUFNTSxPQUFPLG9CQUFhTCxrQkFBYixFQUFpQ0Msa0JBQWpDLENBQWI7QUFDQSxNQUFJSyxVQUFVRixLQUFkO0FBQ0EsTUFBTUcsY0FBYyxFQUFwQjtBQUNBLE9BQUssSUFBSUMsSUFBSSxDQUFiLEVBQWdCQSxJQUFJWCxpQkFBcEIsRUFBdUNXLEtBQUssQ0FBNUMsRUFBK0M7QUFDN0NELGdCQUFZRSxJQUFaLENBQWlCSCxPQUFqQjtBQUNBQSxlQUFXRCxJQUFYO0FBQ0Q7QUFDRCxTQUFPRSxXQUFQO0FBQ0QsQ0FWRDs7QUFZQSxJQUFNRyxvQkFBb0IsU0FBcEJBLGlCQUFvQixDQUFDQyxHQUFELEVBQU1DLEdBQU4sRUFBYztBQUN0QyxNQUFNQyxTQUFTRixJQUFJRyxLQUFKLEVBQWY7QUFDQUQsU0FBT0QsR0FBUCxJQUFjLElBQWQ7QUFDQSxTQUFPQyxPQUFPRSxNQUFQLENBQWMsVUFBQ0MsRUFBRCxFQUFLQyxHQUFMO0FBQUEsV0FBZ0JELEVBQWhCLFNBQXNCQyxHQUF0QjtBQUFBLEdBQWQsRUFBMkMsRUFBM0MsQ0FBUDtBQUNELENBSkQ7O0FBTUEsSUFBTUMsNEJBQTRCLFNBQTVCQSx5QkFBNEIsR0FBTTtBQUN0QyxNQUFNUCxNQUFNUixnQkFBWjtBQUNBLE1BQU1nQixnQkFBZ0Isb0JBQWEsQ0FBYixFQUFnQnRCLGlCQUFoQixDQUF0QjtBQUNBLE1BQU11QixXQUFXVixrQkFBa0JDLEdBQWxCLEVBQXVCUSxhQUF2QixDQUFqQjtBQUNBLE1BQU1FLGNBQVlWLElBQUlRLGFBQUosQ0FBbEI7QUFDQSxTQUFPLEVBQUVDLGtCQUFGLEVBQVlDLGNBQVosRUFBUDtBQUNELENBTkQ7O2tCQVFlO0FBQUEsU0FBTSxnQkFBWW5CLFdBQVosRUFBeUJnQix5QkFBekIsQ0FBTjtBQUFBLEMiLCJmaWxlIjoicHJvZ3Jlc3Npb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0UmFuZG9taW50IGZyb20gJy4uL3V0aWwnO1xuaW1wb3J0IGdhbWVQcm9jZXNzIGZyb20gJy4uJztcblxuY29uc3QgcHJvZ3Jlc3Npb25MZW5naHQgPSAxMDtcbmNvbnN0IHByb2dyZXNzaW9uU3RhcnRzTWluID0gNTA7XG5jb25zdCBwcm9ncmVzc2lvblN0YXJ0c01heCA9IDE1MDtcbmNvbnN0IHByb2dyZXNzaW9uU3RlcE1pbiA9IC0xMDtcbmNvbnN0IHByb2dyZXNzaW9uU3RlcE1heCA9IDEwO1xuY29uc3QgZGVzY3JpcHRpb24gPSAnV2hhdCBudW1iZXIgaXMgbWlzc2luZyBpbiB0aGlzIHByb2dyZXNzaW9uPyc7XG5cbmNvbnN0IGdldFByb2dyZXNzaW9uID0gKCkgPT4ge1xuICBjb25zdCBzdGFydCA9IGdldFJhbmRvbWludChwcm9ncmVzc2lvblN0YXJ0c01pbiwgcHJvZ3Jlc3Npb25TdGFydHNNYXgpO1xuICBjb25zdCBzdGVwID0gZ2V0UmFuZG9taW50KHByb2dyZXNzaW9uU3RlcE1pbiwgcHJvZ3Jlc3Npb25TdGVwTWF4KTtcbiAgbGV0IGN1cnJlbnQgPSBzdGFydDtcbiAgY29uc3QgcHJvZ3Jlc3Npb24gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcm9ncmVzc2lvbkxlbmdodDsgaSArPSAxKSB7XG4gICAgcHJvZ3Jlc3Npb24ucHVzaChjdXJyZW50KTtcbiAgICBjdXJyZW50ICs9IHN0ZXA7XG4gIH1cbiAgcmV0dXJuIHByb2dyZXNzaW9uO1xufTtcblxuY29uc3QgZ2V0UXVlc3Rpb25TdHJpbmcgPSAoYXJyLCBudW0pID0+IHtcbiAgY29uc3QgbmV3QXJyID0gYXJyLnNsaWNlKCk7XG4gIG5ld0FycltudW1dID0gJy4uJztcbiAgcmV0dXJuIG5ld0Fyci5yZWR1Y2UoKGVsLCBhY2MpID0+IGAke2VsfSAke2FjY31gLCAnJyk7XG59O1xuXG5jb25zdCBnZW5lcmF0ZUFuc3dlckFuZFF1ZXN0aW9uID0gKCkgPT4ge1xuICBjb25zdCBhcnIgPSBnZXRQcm9ncmVzc2lvbigpO1xuICBjb25zdCBtaXNzaW5nTnVtYmVyID0gZ2V0UmFuZG9taW50KDAsIHByb2dyZXNzaW9uTGVuZ2h0KTtcbiAgY29uc3QgcXVlc3Rpb24gPSBnZXRRdWVzdGlvblN0cmluZyhhcnIsIG1pc3NpbmdOdW1iZXIpO1xuICBjb25zdCBhbnN3ZXIgPSBgJHthcnJbbWlzc2luZ051bWJlcl19YDtcbiAgcmV0dXJuIHsgcXVlc3Rpb24sIGFuc3dlciB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gZ2FtZVByb2Nlc3MoZGVzY3JpcHRpb24sIGdlbmVyYXRlQW5zd2VyQW5kUXVlc3Rpb24pO1xuIl19