UNPKG

darksouls-names

Version:

Get random Dark Souls I, II and III characters names

87 lines (74 loc) 2.97 kB
'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _darksoulsNames = require('./darksouls-names.json'); var _darksoulsNames2 = _interopRequireDefault(_darksoulsNames); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var DsNames = function () { function DsNames() { _classCallCheck(this, DsNames); } _createClass(DsNames, [{ key: 'all', /** * Get All data * * @returns Object * @memberof DsNames */ value: function all() { return _darksoulsNames2.default; } /** * Get a random data * * @param {String} version DS version I, II or III * @param {String} category DS category NPCs, Enemies or Bosses * @param {Number} number DS category NPCs, Enemies or Bosses * @memberof DsNames */ }, { key: 'random', value: function random(version, category, number) { if (number === undefined) { return this.__uniqueRandom(_darksoulsNames2.default[version][category]); } else { var randomItems = []; for (var i = 0; i < number; i++) { randomItems.push(this.__uniqueRandom(_darksoulsNames2.default[version][category])); } return randomItems; } } /** * Return a unique random value * * @param {any} arr Value to return * @returns String * @memberof DsNames */ }, { key: '__uniqueRandom', value: function __uniqueRandom(arr) { var rand = this.__rand(0, arr.length - 1); return arr[rand]; } /** * Make a random value * * @param {any} min * @param {any} max * @returns * @memberof DsNames */ }, { key: '__rand', value: function __rand(min, max) { var prev; var num = Math.floor(Math.random() * (max - min + 1) + min); return prev = num === prev && min !== max ? this.__rand() : num; } }]); return DsNames; }(); module.exports = new DsNames();