@ebi-gene-expression-group/react-ebi-species
Version:
React component based on the EBI species icons
106 lines (105 loc) • 4.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.lookUpIcon = exports.allSpecies = void 0;
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
var mapping = {
warmBlooded: {
"a": ["alpaca", "vicugna pacos"],
"l": ["armadillo"],
"(": ["bat"],
"A": ["cat", "felis catus"],
"k": ["chicken", "gallus gallus"],
"i": ["chimpanzee", "pan paniscus", "pan troglodytes"],
"C": ["cow", "bos taurus"],
"d": ["dog", "canis lupus", "canis lupus familiaris"],
"D": ["dolphin"],
"e": ["elephant", "loxodonta africana", "loxodonta cyclotis", "elephas maximus"],
"!": ["ferret", "mustela putorius furo"],
"n": ["finch", "pyrrhula pyrrhula"],
"m": ["goat"],
"G": ["gorilla", "gorilla gorilla"],
"g": ["guinea pig", "cavia porcellus"],
"o": ["hedgehog", "erinaceus europaeus"],
"h": ["horse", "equus caballus"],
"H": ["human", "homo sapiens"],
"3": ["kangaroo rat"],
"r": ["monkey", "macaca mulatta"],
"9": ["monodelphis", "monodelphis domestica"],
"q": ["marmoset", "callithrix jacchus"],
"M": ["mouse", "mus musculus"],
"N": ["mouse lemur"],
"*": ["orangutan", "pongo abelii", "pongo pygmaeus"],
"8": ["papio anubis"],
"p": ["pig", "sus scrofa"],
"U": ["platypus", "ornithorhynchus anatinus"],
"t": ["rabbit", "oryctolagus cuniculus"],
"R": ["rat", "rattus norvegicus"],
"x": ["sheep", "ovis aries"],
"Q": ["shrew"],
"I": ["squirrel"],
"w": ["wallaby"]
},
plants: {
"5": ["barley", "hordeum vulgare", "hordeum vulgare subsp. vulgare"],
"B": ["brassica", "brassica oleracea", "brassica rapa", "arabidopsis", "arabidopsis thaliana", "arabidopsis lyrata"],
"%": ["brachypodium", "brachypodium distachyon"],
"c": ["corn", "zea mays"],
"^": ["glycinemax", "glycine max"],
"O": ["grapes", "vitis vinifera"],
"P": ["plant", "physcomitrella patens", "sorghum bicolor", "triticum aestivum"],
"6": ["rice", "oryza sativa", "oryza sativa japonica group"],
")": ["tomatoes", "solanum lycopersicum", "solanum tuberosum"]
},
other: {
"0": ["amoeba"],
"7": ["anolis", "anolis carolinensis"],
"£": ["aspergillus", "aspergillus fumigatus"],
"$": ["bee"],
"b": ["bug"],
"W": ["c elegans", "caenorhabditis elegans", "schistosoma mansoni"],
"2": ["diatom"],
"L": ["ecoli", "escherichia coli"],
"F": ["fly", "drosophila melanogaster"],
"f": ["frog", "xenopus (silurana) tropicalis", "xenopus tropicalis"],
"u": ["fungus"],
"4": ["louse"],
"1": ["mosquito", "anopheles gambiae"],
"@": ["plasmodium", "plasmodium berghei", "plasmodium falciparum"],
"E": ["pufferfish", "tetraodon nigroviridis"],
"+": ["ray"],
"s": ["scorpion"],
"'": ["snail"],
"S": ["spider"],
"&": ["tick"],
"v": ["virus"],
"Y": ["yeast", "saccharomyces cerevisiae", "schizosaccharomyces pombe"],
"Z": ["zebrafish", "danio rerio"]
}
};
var lookUpInGroup = function lookUpInGroup(group, species) {
return Object.keys(mapping[group]).find(function (iconChar) {
return mapping[group][iconChar].includes(species.toLowerCase());
});
};
var lookUpIcon = exports.lookUpIcon = function lookUpIcon(species) {
for (var group in mapping) {
var iconChar = lookUpInGroup(group, species);
if (iconChar) {
return [group, iconChar];
}
}
return ["", ""];
};
var allSpecies = exports.allSpecies = [];
for (var group in mapping) {
for (var iconChar in mapping[group]) {
allSpecies.push.apply(allSpecies, _toConsumableArray(mapping[group][iconChar]));
}
}