marazmatique
Version:
this is packadge for install and run Brain Games on your $shel
53 lines (39 loc) • 4.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _pairs = require("@hexlet/pairs");
var _getRandomInt = _interopRequireDefault(require("../getRandomInt"));
var _ = _interopRequireDefault(require(".."));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const description = 'What is the result of the expression?';
const operations = '+-*';
const getRandomOperator = () => {
const minOption = 0;
const maxOption = operations.length - 1;
return operations[(0, _getRandomInt.default)(minOption, maxOption)];
};
const getAnswer = (num1, num2, operator) => {
switch (operator) {
case '+':
return num1 + num2;
case '-':
return num1 - num2;
case '*':
return num1 * num2;
default:
return false;
}
};
const getRoundData = () => {
const num1 = (0, _getRandomInt.default)(1, 25);
const num2 = (0, _getRandomInt.default)(1, 25);
const operator = getRandomOperator();
const question = `${num1} ${operator} ${num2}`;
const answer = `${getAnswer(num1, num2, operator)}`;
return (0, _pairs.cons)(question, answer);
};
var _default = () => (0, _.default)(description, getRoundData);
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYW1lcy9jYWxjLmpzIl0sIm5hbWVzIjpbImRlc2NyaXB0aW9uIiwib3BlcmF0aW9ucyIsImdldFJhbmRvbU9wZXJhdG9yIiwibWluT3B0aW9uIiwibWF4T3B0aW9uIiwibGVuZ3RoIiwiZ2V0QW5zd2VyIiwibnVtMSIsIm51bTIiLCJvcGVyYXRvciIsImdldFJvdW5kRGF0YSIsInF1ZXN0aW9uIiwiYW5zd2VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxNQUFNQSxXQUFXLEdBQUcsdUNBQXBCO0FBRUEsTUFBTUMsVUFBVSxHQUFHLEtBQW5COztBQUVBLE1BQU1DLGlCQUFpQixHQUFHLE1BQU07QUFDOUIsUUFBTUMsU0FBUyxHQUFHLENBQWxCO0FBQ0EsUUFBTUMsU0FBUyxHQUFHSCxVQUFVLENBQUNJLE1BQVgsR0FBb0IsQ0FBdEM7QUFDQSxTQUFPSixVQUFVLENBQUMsMkJBQWFFLFNBQWIsRUFBd0JDLFNBQXhCLENBQUQsQ0FBakI7QUFDRCxDQUpEOztBQU1BLE1BQU1FLFNBQVMsR0FBRyxDQUFDQyxJQUFELEVBQU9DLElBQVAsRUFBYUMsUUFBYixLQUEwQjtBQUMxQyxVQUFRQSxRQUFSO0FBQ0UsU0FBSyxHQUFMO0FBQ0UsYUFBT0YsSUFBSSxHQUFHQyxJQUFkOztBQUNGLFNBQUssR0FBTDtBQUNFLGFBQU9ELElBQUksR0FBR0MsSUFBZDs7QUFDRixTQUFLLEdBQUw7QUFDRSxhQUFPRCxJQUFJLEdBQUdDLElBQWQ7O0FBQ0Y7QUFDRSxhQUFPLEtBQVA7QUFSSjtBQVVELENBWEQ7O0FBYUEsTUFBTUUsWUFBWSxHQUFHLE1BQU07QUFDekIsUUFBTUgsSUFBSSxHQUFHLDJCQUFhLENBQWIsRUFBZ0IsRUFBaEIsQ0FBYjtBQUNBLFFBQU1DLElBQUksR0FBRywyQkFBYSxDQUFiLEVBQWdCLEVBQWhCLENBQWI7QUFDQSxRQUFNQyxRQUFRLEdBQUdQLGlCQUFpQixFQUFsQztBQUVBLFFBQU1TLFFBQVEsR0FBSSxHQUFFSixJQUFLLElBQUdFLFFBQVMsSUFBR0QsSUFBSyxFQUE3QztBQUNBLFFBQU1JLE1BQU0sR0FBSSxHQUFFTixTQUFTLENBQUNDLElBQUQsRUFBT0MsSUFBUCxFQUFhQyxRQUFiLENBQXVCLEVBQWxEO0FBRUEsU0FBTyxpQkFBS0UsUUFBTCxFQUFlQyxNQUFmLENBQVA7QUFDRCxDQVREOztlQVdlLE1BQU0sZUFBU1osV0FBVCxFQUFzQlUsWUFBdEIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnMgYXMgbWFrZSB9IGZyb20gJ0BoZXhsZXQvcGFpcnMnO1xuaW1wb3J0IGdldFJhbmRvbUludCBmcm9tICcuLi9nZXRSYW5kb21JbnQnO1xuaW1wb3J0IHBsYXlHYW1lIGZyb20gJy4uJztcblxuY29uc3QgZGVzY3JpcHRpb24gPSAnV2hhdCBpcyB0aGUgcmVzdWx0IG9mIHRoZSBleHByZXNzaW9uPyc7XG5cbmNvbnN0IG9wZXJhdGlvbnMgPSAnKy0qJztcblxuY29uc3QgZ2V0UmFuZG9tT3BlcmF0b3IgPSAoKSA9PiB7XG4gIGNvbnN0IG1pbk9wdGlvbiA9IDA7XG4gIGNvbnN0IG1heE9wdGlvbiA9IG9wZXJhdGlvbnMubGVuZ3RoIC0gMTtcbiAgcmV0dXJuIG9wZXJhdGlvbnNbZ2V0UmFuZG9tSW50KG1pbk9wdGlvbiwgbWF4T3B0aW9uKV07XG59O1xuXG5jb25zdCBnZXRBbnN3ZXIgPSAobnVtMSwgbnVtMiwgb3BlcmF0b3IpID0+IHtcbiAgc3dpdGNoIChvcGVyYXRvcikge1xuICAgIGNhc2UgJysnOlxuICAgICAgcmV0dXJuIG51bTEgKyBudW0yO1xuICAgIGNhc2UgJy0nOlxuICAgICAgcmV0dXJuIG51bTEgLSBudW0yO1xuICAgIGNhc2UgJyonOlxuICAgICAgcmV0dXJuIG51bTEgKiBudW0yO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbmNvbnN0IGdldFJvdW5kRGF0YSA9ICgpID0+IHtcbiAgY29uc3QgbnVtMSA9IGdldFJhbmRvbUludCgxLCAyNSk7XG4gIGNvbnN0IG51bTIgPSBnZXRSYW5kb21JbnQoMSwgMjUpO1xuICBjb25zdCBvcGVyYXRvciA9IGdldFJhbmRvbU9wZXJhdG9yKCk7XG5cbiAgY29uc3QgcXVlc3Rpb24gPSBgJHtudW0xfSAke29wZXJhdG9yfSAke251bTJ9YDtcbiAgY29uc3QgYW5zd2VyID0gYCR7Z2V0QW5zd2VyKG51bTEsIG51bTIsIG9wZXJhdG9yKX1gO1xuXG4gIHJldHVybiBtYWtlKHF1ZXN0aW9uLCBhbnN3ZXIpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gcGxheUdhbWUoZGVzY3JpcHRpb24sIGdldFJvdW5kRGF0YSk7XG4iXX0=