UNPKG

@mixtape/core

Version:

Supercharged fixture library for organizing and generating test data

32 lines 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var utils_1 = require("../utils"); /** * The class makes it easy to generate random numbers. * @implements {ValueGenerator} */ var NumberGenerator = /** @class */ (function () { /** * Create a new `NumberGenerator` * @param min - smallest number to generate * @param max - largest number to generate */ function NumberGenerator(min, max) { var _this = this; this._min = min; this._max = max; utils_1.ensure(function () { return _this._min >= 0; }, 'Minimum value cannot be smaller than 0', RangeError); utils_1.ensure(function () { return _this._max >= 1; }, 'Maximum value cannot be smaller than 1', RangeError); utils_1.ensure(function () { return _this._min < _this._max; }, 'Maximum value must be larger than minimum value', RangeError); } /** * Generate random number * @returns `number` */ NumberGenerator.prototype.generate = function () { return Math.floor(Math.random() * (this._max - this._min + 1) + this._min); }; return NumberGenerator; }()); exports.NumberGenerator = NumberGenerator; //# sourceMappingURL=number-generator.js.map