brain-games-from-ak
Version:
[](https://codeclimate.com/github/AndreyKashaev/project-lvl1-s308/maintainability) [ • 4.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _hexletPairs = require('hexlet-pairs');
var _ = require('..');
var _utils = require('../utils');
var _utils2 = _interopRequireDefault(_utils);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var description = function description() {
return 'Balance the given number.';
};
var getSumOfDigit = function getSumOfDigit(number) {
var stringFromNumber = String(number);
var sumOfDigit = 0;
for (var i = 0; i < stringFromNumber.length; i += 1) {
sumOfDigit += Number(stringFromNumber[i]);
}
return sumOfDigit;
};
var getBalance = function getBalance(number) {
var digitsCounter = String(number).length;
var sumOfDigit = getSumOfDigit(number);
var result = '';
while (digitsCounter > 0) {
var arithmeticMean = Math.floor(sumOfDigit / digitsCounter);
result += String(arithmeticMean);
sumOfDigit -= arithmeticMean;
digitsCounter -= 1;
}
return result;
};
var getGameData = function getGameData() {
var question = (0, _utils2.default)(10, 9999);
return (0, _hexletPairs.cons)('' + question, '' + getBalance(question));
};
var balance = function balance() {
return (0, _.flow)(description(), getGameData);
};
exports.default = balance;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9iYWxhbmNlLmpzIl0sIm5hbWVzIjpbImRlc2NyaXB0aW9uIiwiZ2V0U3VtT2ZEaWdpdCIsIm51bWJlciIsInN0cmluZ0Zyb21OdW1iZXIiLCJTdHJpbmciLCJzdW1PZkRpZ2l0IiwiaSIsImxlbmd0aCIsIk51bWJlciIsImdldEJhbGFuY2UiLCJkaWdpdHNDb3VudGVyIiwicmVzdWx0IiwiYXJpdGhtZXRpY01lYW4iLCJNYXRoIiwiZmxvb3IiLCJnZXRHYW1lRGF0YSIsInF1ZXN0aW9uIiwiYmFsYW5jZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLGNBQWMsU0FBZEEsV0FBYztBQUFBLFNBQU0sMkJBQU47QUFBQSxDQUFwQjs7QUFFQSxJQUFNQyxnQkFBZ0IsU0FBaEJBLGFBQWdCLENBQUNDLE1BQUQsRUFBWTtBQUNoQyxNQUFNQyxtQkFBbUJDLE9BQU9GLE1BQVAsQ0FBekI7QUFDQSxNQUFJRyxhQUFhLENBQWpCO0FBQ0EsT0FBSyxJQUFJQyxJQUFJLENBQWIsRUFBZ0JBLElBQUlILGlCQUFpQkksTUFBckMsRUFBNkNELEtBQUssQ0FBbEQsRUFBcUQ7QUFDbkRELGtCQUFjRyxPQUFPTCxpQkFBaUJHLENBQWpCLENBQVAsQ0FBZDtBQUNEO0FBQ0QsU0FBT0QsVUFBUDtBQUNELENBUEQ7O0FBU0EsSUFBTUksYUFBYSxTQUFiQSxVQUFhLENBQUNQLE1BQUQsRUFBWTtBQUM3QixNQUFJUSxnQkFBZ0JOLE9BQU9GLE1BQVAsRUFBZUssTUFBbkM7QUFDQSxNQUFJRixhQUFhSixjQUFjQyxNQUFkLENBQWpCO0FBQ0EsTUFBSVMsU0FBUyxFQUFiO0FBQ0EsU0FBT0QsZ0JBQWdCLENBQXZCLEVBQTBCO0FBQ3hCLFFBQU1FLGlCQUFpQkMsS0FBS0MsS0FBTCxDQUFXVCxhQUFhSyxhQUF4QixDQUF2QjtBQUNBQyxjQUFVUCxPQUFPUSxjQUFQLENBQVY7QUFDQVAsa0JBQWNPLGNBQWQ7QUFDQUYscUJBQWlCLENBQWpCO0FBQ0Q7QUFDRCxTQUFPQyxNQUFQO0FBQ0QsQ0FYRDs7QUFhQSxJQUFNSSxjQUFjLFNBQWRBLFdBQWMsR0FBTTtBQUN4QixNQUFNQyxXQUFXLHFCQUFlLEVBQWYsRUFBbUIsSUFBbkIsQ0FBakI7QUFDQSxTQUFPLDRCQUFRQSxRQUFSLE9BQXVCUCxXQUFXTyxRQUFYLENBQXZCLENBQVA7QUFDRCxDQUhEOztBQUtBLElBQU1DLFVBQVUsU0FBVkEsT0FBVTtBQUFBLFNBQU0sWUFBS2pCLGFBQUwsRUFBb0JlLFdBQXBCLENBQU47QUFBQSxDQUFoQjs7a0JBRWVFLE8iLCJmaWxlIjoiYmFsYW5jZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnMgfSBmcm9tICdoZXhsZXQtcGFpcnMnO1xuaW1wb3J0IHsgZmxvdyB9IGZyb20gJy4uJztcbmltcG9ydCBnZW5lcmF0ZU51bWJlciBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGRlc2NyaXB0aW9uID0gKCkgPT4gJ0JhbGFuY2UgdGhlIGdpdmVuIG51bWJlci4nO1xuXG5jb25zdCBnZXRTdW1PZkRpZ2l0ID0gKG51bWJlcikgPT4ge1xuICBjb25zdCBzdHJpbmdGcm9tTnVtYmVyID0gU3RyaW5nKG51bWJlcik7XG4gIGxldCBzdW1PZkRpZ2l0ID0gMDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHJpbmdGcm9tTnVtYmVyLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgc3VtT2ZEaWdpdCArPSBOdW1iZXIoc3RyaW5nRnJvbU51bWJlcltpXSk7XG4gIH1cbiAgcmV0dXJuIHN1bU9mRGlnaXQ7XG59O1xuXG5jb25zdCBnZXRCYWxhbmNlID0gKG51bWJlcikgPT4ge1xuICBsZXQgZGlnaXRzQ291bnRlciA9IFN0cmluZyhudW1iZXIpLmxlbmd0aDtcbiAgbGV0IHN1bU9mRGlnaXQgPSBnZXRTdW1PZkRpZ2l0KG51bWJlcik7XG4gIGxldCByZXN1bHQgPSAnJztcbiAgd2hpbGUgKGRpZ2l0c0NvdW50ZXIgPiAwKSB7XG4gICAgY29uc3QgYXJpdGhtZXRpY01lYW4gPSBNYXRoLmZsb29yKHN1bU9mRGlnaXQgLyBkaWdpdHNDb3VudGVyKTtcbiAgICByZXN1bHQgKz0gU3RyaW5nKGFyaXRobWV0aWNNZWFuKTtcbiAgICBzdW1PZkRpZ2l0IC09IGFyaXRobWV0aWNNZWFuO1xuICAgIGRpZ2l0c0NvdW50ZXIgLT0gMTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuY29uc3QgZ2V0R2FtZURhdGEgPSAoKSA9PiB7XG4gIGNvbnN0IHF1ZXN0aW9uID0gZ2VuZXJhdGVOdW1iZXIoMTAsIDk5OTkpO1xuICByZXR1cm4gY29ucyhgJHtxdWVzdGlvbn1gLCBgJHtnZXRCYWxhbmNlKHF1ZXN0aW9uKX1gKTtcbn07XG5cbmNvbnN0IGJhbGFuY2UgPSAoKSA9PiBmbG93KGRlc2NyaXB0aW9uKCksIGdldEdhbWVEYXRhKTtcblxuZXhwb3J0IGRlZmF1bHQgYmFsYW5jZTtcbiJdfQ==