UNPKG

brain-games-from-ak

Version:

[![Maintainability](https://api.codeclimate.com/v1/badges/533a02e49b11f0d4b4c3/maintainability)](https://codeclimate.com/github/AndreyKashaev/project-lvl1-s308/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/533a02e49b11f0d4b4c3/t

53 lines (41 loc) 4.35 kB
'use strict'; 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==