pokemon-names-and-types
Version:
An API for pokemon names and types
174 lines (129 loc) • 4.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Badge = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _types_arr = require("./types_arr.json");
var _types_arr2 = _interopRequireDefault(_types_arr);
var _arrayFind = require("array-find");
var _arrayFind2 = _interopRequireDefault(_arrayFind);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var stylPrimary = {
backgroundColor: "red",
flex: "1 1 50%",
width: "50px",
height: "50px"
};
var stylSecondary = _extends({}, stylPrimary, {
backgroundColor: "green"
});
var stylName = {
position: "absolute",
left: "50%",
top: "50%",
color: "white"
};
var stylContainer = {
display: "flex",
position: "relative"
};
var getBadgeContent = function getBadgeContent(name, type1, type2) {
stylPrimary.backgroundColor = (0, _arrayFind2.default)(_types_arr2.default, function (n) {
return n.name === type1.toLowerCase();
}).color;
if (type2) {
stylSecondary.backgroundColor = (0, _arrayFind2.default)(_types_arr2.default, function (n) {
return n.name === type2.toLowerCase();
}).color;
}
return _react2.default.createElement(
"div",
{ style: stylContainer },
_react2.default.createElement("div", { style: stylPrimary }),
type2 && _react2.default.createElement("div", { style: stylSecondary }),
_react2.default.createElement(
"div",
{ style: stylName },
name
)
);
};
var Badge = function Badge(props) {
return getBadgeContent(props.name, props.type1, props.type2);
};
Badge.propTypes = {
name: _react2.default.PropTypes.string.isRequired,
type1: _react2.default.PropTypes.string.isRequired,
type2: _react2.default.PropTypes.string
};
exports.Badge = Badge;
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.pkmn = undefined;
var _uniqueRandomArray = require("unique-random-array");
var _uniqueRandomArray2 = _interopRequireDefault(_uniqueRandomArray);
var _pokemon = require("./pokemon.json");
var _pokemon2 = _interopRequireDefault(_pokemon);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var getRandomItem = (0, _uniqueRandomArray2.default)(_pokemon2.default);
var random = function random(number) {
if (!number) {
return getRandomItem();
} else {
var randomItems = [];
for (var i = 0; i < number; i++) {
randomItems.push(getRandomItem());
}
return randomItems;
}
};
var all = _pokemon2.default;
var pkmn = {
all: all,
random: random
};
exports.pkmn = pkmn;
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.pkmnTypes = undefined;
var _types_arr = require("./types_arr.json");
var _types_arr2 = _interopRequireDefault(_types_arr);
var _arrayFind = require("array-find");
var _arrayFind2 = _interopRequireDefault(_arrayFind);
var _arrayIncludes = require("array-includes");
var _arrayIncludes2 = _interopRequireDefault(_arrayIncludes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var chk = function chk(def, att, type) {
var typ = (0, _arrayFind2.default)(_types_arr2.default, function (o) {
return o.name === def;
});
return typ ? type === "STRENGTH" ? (0, _arrayIncludes2.default)(typ.strengths, att) : (0, _arrayIncludes2.default)(typ.weaknesses, att) : false;
};
var isWeak = function isWeak() {
var def = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "Water";
var att = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "Ghost";
return chk(def.toLowerCase(), att.toLowerCase(), "WEAKNESS");
};
var isStrong = function isStrong() {
var def = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "Water";
var att = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "Ghost";
return chk(def.toLowerCase(), att.toLowerCase(), "STRENGTH");
};
var getSuperEffectiveType = function getSuperEffectiveType(t) {
return (0, _arrayFind2.default)(_types_arr2.default, function (o) {
return o.name === t.toLowerCase();
}).strengths[0] || "none";
};
var pkmnTypes = {
isWeak: isWeak,
isStrong: isStrong,
getSuperEffectiveType: getSuperEffectiveType
};
exports.pkmnTypes = pkmnTypes;