random-emoji-picker
Version:
Emoji utility package that allows you to fetch random emojis, get emojis by category, list available categories, and search for emojis by keyword. Perfect for adding emoji fun to your JavaScript projects!
140 lines (128 loc) โข 11.4 kB
JavaScript
const emojiMap = require("emoji-unicode-map");
const emojiDatabase = {
happy: [
"๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐คฉ", "๐ฅณ",
"๐น", "๐ธ", "๐บ", "๐ป", "๐", "๐", "๐", "๐", "๐ค", "๐ฌ",
"๐ค ", "๐ซ ", "๐", "๐", "๐", "๐", "๐บ", "๐", "๐", "๐"
],
sad: [
"๐ข", "๐", "๐", "๐", "๐ญ", "๐ฅ", "๐ฉ", "๐ฟ", "๐", "๐",
"๐", "๐ฅบ", "๐ซ", "๐", "๐ฃ", "๐จ", "๐ฐ", "๐ฆ", "๐ง", "๐ฅ",
"๐", "๐", "๐", "๐", "๐คฆ", "๐", "๐ถ", "๐ฏ", "๐ณ", "๐"
],
angry: [
"๐ก", "๐คฌ", "๐ ", "๐ค", "๐ฟ", "๐ข", "๐พ", "๐ฃ", "๐ฏ๏ธ", "๐",
"๐", "๐พ", "๐ฃ๏ธ", "๐
", "๐โโ๏ธ", "๐คฏ", "๐คจ", "๐", "๐ฌ", "๐ฃ",
"๐ฉ", "๐", "๐ซ", "โ", "๐", "๐คฌ", "๐ฅ", "๐ค", "๐", "๐คก"
],
love: [
"โค๏ธ", "๐", "๐ฅฐ", "๐", "๐", "๐", "๐", "๐", "๐", "๐",
"๐ซถ", "๐", "๐ฉโโค๏ธโ๐จ", "๐", "๐", "๐", "๐", "๐งก", "๐", "โฃ๏ธ",
"๐", "๐ฅ", "๐๏ธ", "๐ฉโโค๏ธโ๐โ๐ฉ", "๐", "๐", "๐ฅ", "๐ถ", "๐", "๐"
],
animals: [
"๐ถ", "๐ฑ", "๐ญ", "๐น", "๐ฐ", "๐ฆ", "๐ป", "๐ผ", "๐ธ", "๐ต",
"๐ฆ", "๐ฏ", "๐ท", "๐ฎ", "๐จ", "๐ฆ", "๐บ", "๐ข", "๐", "๐",
"๐ฆ", "๐ฆฆ", "๐ฆ", "๐", "๐ฆ", "๐", "๐ ", "๐ฌ", "๐ฆ", "๐ฆฅ"
],
food: [
"๐", "๐", "๐", "๐", "๐ฉ", "๐ฎ", "๐ฅ", "๐ฃ", "๐ช", "๐ฅ",
"๐", "๐ฅ", "๐", "๐ฅ", "๐ง", "๐", "๐ฅฉ", "๐ญ", "๐ง", "๐",
"๐", "๐ฅ", "๐ฅ", "๐ฐ", "๐ฅฅ", "๐ซ", "๐น", "๐ป", "๐ท", "๐ฅ"
],
nature: [
"๐ฒ", "๐ฟ", "๐ธ", "๐", "๐ฅ", "๐๏ธ", "๐", "โ๏ธ", "๐ง๏ธ", "๐",
"๐", "๐", "๐ฑ", "๐ป", "๐ต", "๐ณ", "๐ผ", "๐ชต", "๐ช๏ธ", "๐",
"๐", "โ๏ธ", "โฐ๏ธ", "๐๏ธ", "๐", "๐", "๐ชฒ", "๐ฆ ", "๐ชฐ", "๐"
],
sports: [
"โฝ", "๐", "๐", "๐พ", "๐", "๐ฅ", "๐", "๐ธ", "โท๏ธ", "๐ด",
"๐ฅ
", "๐", "๐", "๐ฅ", "โณ", "๐น", "๐คฝ", "๐๏ธ", "๐", "๐",
"๐คบ", "โธ๏ธ", "๐ฏ", "๐น", "๐ต", "๐ฅ", "๐ท", "๐ช", "๐ง", "๐"
],
travel: [
"๐", "โ๏ธ", "๐", "๐ณ๏ธ", "๐", "๐๏ธ", "๐๏ธ", "๐ฝ", "๐ผ", "๐ก",
"๐", "๐", "๐ซ", "๐", "๐", "๐ ", "๐ค๏ธ", "๐", "๐", "๐ฉ๏ธ",
"โด๏ธ", "๐", "๐", "๐๏ธ", "๐", "๐", "๐", "๐ฒ", "๐ฃ๏ธ", "๐ถ"
],
tech: [
"๐พ", "๐ฟ", "๐", "๐ก", "๐ฅ๏ธ", "๐จ๏ธ", "๐ฑ๏ธ", "๐ป", "๐", "๐ถ",
"๐", "๐ง", "๐จ", "โ๏ธ", "๐ ๏ธ", "๐ฑ", "๐ท", "๐ฅ", "๐บ", "๐๏ธ",
"๐ก", "๐ญ", "๐๏ธ", "๐ก", "โณ", "๐งฌ", "๐ฐ๏ธ", "๐น๏ธ", "๐ก", "๐๏ธ"
],
holidays: [
"๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐",
"๐๏ธ", "๐", "๐", "๐ฏ๏ธ", "๐", "๐ฅณ", "๐ช
", "๐๏ธ", "๐ถ", "๐ช",
"โ", "๐ ", "๐ช", "๐ฅ", "๐", "๐ฎ", "๐พ", "๐๏ธ", "๐", "๐๏ธ"
],
fantasy: [
"๐ง", "๐ง", "๐ง", "๐ง", "๐ฆ", "๐ฒ", "๐ฝ", "๐ป", "๐", "๐",
"๐", "๐", "๐ฆน", "๐ฆธ", "๐ต๏ธ", "โก", "๐ญ", "๐ฎ", "๐ฆ", "๐",
"๐ช", "๐๏ธ", "โฉ๏ธ", "๐", "๐ฐ๏ธ", "๐", "โ๏ธ", "๐บ", "๐", "๐"
],
money: ["๐ฐ", "๐ต", "๐ธ", "๐ณ", "๐", "๐ช", "๐ฆ", "๐ค", "๐ฐ", "๐ฒ", "๐ช", "๐ง", "๐", "๐ถ", "๐ท", "๐ด", "๐ฑ", "๐", "๐
", "๐๏ธ", "๐", "๐", "๐น", "โ๏ธ", "๐งพ", "๐", "๐ผ", "๐๏ธ", "๐๏ธ", "๐ฏ"],
science: ["๐ฌ", "๐งช", "โ๏ธ", "๐งฌ", "๐ญ", "๐ก", "๐ก๏ธ", "๐ฐ๏ธ", "๐", "๐ธ", "โ๏ธ", "๐", "๐", "๐", "๐ก", "๐ง ", "๐ค", "๐ ๏ธ", "๐ฉ", "๐จ", "๐", "๐", "๐", "๐๏ธ", "๐", "๐", "๐ง", "๐", "๐", "๐๏ธ"],
crime: ["๐", "๐จ", "๐ซ", "๐ช", "โ๏ธ", "๐ต๏ธ", "๐๏ธ", "๐ฎ", "๐จโโ๏ธ", "๐ดโโ ๏ธ", "๐ฃ", "๐", "๐ฆน", "๐ฆธ", "๐คต", "๐ผ", "๐ข", "๐", "โ", "โ ๏ธ", "โ", "๐ง", "๐", "๐", "๐๏ธ", "๐", "๐", "๐๏ธ", "๐ก๏ธ", "๐ญ"],
health: ["โ๏ธ", "๐ฅ", "๐", "๐", "๐ฉบ", "๐ฉป", "๐ฉน", "๐", "๐จโโ๏ธ", "๐ฉโโ๏ธ", "๐ค", "๐ค", "๐ท", "๐ฆฝ", "๐ฆผ", "๐ฉผ", "๐ฆฏ", "๐จโ๐ฆฝ", "๐ฉโ๐ฆฝ", "๐๏ธ", "๐งผ", "๐", "๐ฐ", "๐ฉธ", "๐งซ", "๐งฌ", "๐ซ", "๐ซ", "๐ง ", "๐ฅ"],
weather: ["โ๏ธ", "๐ค๏ธ", "โ
", "๐ฅ๏ธ", "๐ฆ๏ธ", "๐ง๏ธ", "๐จ๏ธ", "๐ฉ๏ธ", "โก", "๐ช๏ธ", "๐", "๐", "๐ซ๏ธ", "๐ฌ๏ธ", "๐จ", "โ", "โ๏ธ", "๐", "๐ฅ", "๐ง", "๐ง", "โ๏ธ", "๐ช๏ธ", "๐ช", "๐๏ธ", "๐๏ธ", "๐๏ธ", "๐๏ธ", "๐๏ธ"],
space: ["๐", "๐ ", "๐", "๐", "โญ", "โ๏ธ", "๐ช", "๐", "๐ฐ๏ธ", "๐", "๐", "๐", "๐ช", "๐ธ", "๐ญ", "๐ก", "๐ซ", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "โ๏ธ", "โ๏ธ", "โจ", "๐ซ"],
music: ["๐ถ", "๐ต", "๐ค", "๐ง", "๐ท", "๐ธ", "๐ป", "๐ฅ", "๐บ", "๐ผ", "๐น", "๐", "๐ป", "๐บ", "๐๏ธ", "๐๏ธ", "๐", "๐", "๐", "๐", "๐ก", "๐ป", "๐ช", "๐ช", "๐ช", "๐ช"],
office: ["๐๏ธ", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐๏ธ", "โ๏ธ", "๐๏ธ", "๐
", "๐", "๐จ๏ธ", "๐๏ธ", "๐ผ", "๐ฌ", "๐ฎ", "๐", "๐๏ธ", "๐", "๐", "๐", "๐", "๐", "๐"],
religion: ["โช", "๐", "๐", "๐", "โฉ๏ธ", "๐", "๐", "โช๏ธ", "โ๏ธ", "โฆ๏ธ", "โธ๏ธ", "๐๏ธ", "๐ฏ", "๐", "โฏ๏ธ", "โก๏ธ", "๐", "๐ฟ", "๐ช", "๐", "๐", "๐", "๐๏ธ", "๐งฟ", "โ๏ธ", "๐", "๐ฎ", "๐ชฆ", "๐๏ธ", "๐ต๏ธ"],
education: ["๐", "๐", "๐", "โ๏ธ", "๐", "๐", "๐", "๐", "๐", "๐", "๐ซ", "๐๏ธ", "๐๏ธ", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐๏ธ", "๐ก", "๐๏ธ", "๐", "๐", "๐๏ธ", "๐ฌ", "๐ฎ", "๐"],
entertainment: ["๐ฌ", "๐ค", "๐ง", "๐ญ", "๐ป", "๐น", "๐ท", "๐บ", "๐ธ", "๐ฅ", "๐บ", "๐ป", "๐ฎ", "๐น๏ธ", "๐ฑ", "๐ฟ", "๐๏ธ", "๐ฅ๏ธ", "๐จ๏ธ", "๐๏ธ", "๐ค", "๐ผ", "๐ถ", "๐", "๐ ", "๐ก", "๐ข", "๐ญ", "๐ช", "๐ค"],
fashion: ["๐", "๐", "๐", "๐", "๐", "๐", "๐ ", "๐ก", "๐", "๐", "๐งข", "๐ฉ", "๐งฅ", "๐งฃ", "๐งค", "๐งฆ", "๐", "๐", "๐", "๐", "๐
", "๐โโ๏ธ", "๐โโ๏ธ", "๐โโ๏ธ", "๐โโ๏ธ", "๐"],
art: ["๐จ", "๐๏ธ", "๐๏ธ", "๐๏ธ", "๐๏ธ", "๐ผ๏ธ", "๐ฅ๏ธ", "๐ญ", "๐จ", "๐ฌ", "๐ค", "๐น", "๐ป", "๐ท", "๐บ", "๐ฅ", "๐ธ", "๐ท", "๐ฝ๏ธ", "๐บ", "๐ป"],
gaming: ["๐ฎ", "๐น๏ธ", "๐ฒ", "โ๏ธ", "๐งฉ", "๐ฏ", "๐ณ", "๐ฐ", "๐", "๐", "๐ด", "๐งฉ", "โ ๏ธ", "โฅ๏ธ", "โฆ๏ธ", "โฃ๏ธ", "๐", "๐ฒ"],
hobbies: ["๐จ", "๐ญ", "๐ค", "๐ธ", "๐น", "๐ป", "๐ท", "๐ฅ", "๐ช", "๐ช", "๐ช", "๐ธ", "๐ท", "๐ฝ๏ธ", "๐บ", "๐ป"],
gardening: ["๐ฑ", "๐ฟ", "๐ณ", "๐ฒ", "๐ต", "๐ป", "๐ผ", "๐", "๐", "๐", "๐", "๐", "๐ชด", "๐ชต", "๐ชด"],
cooking: ["๐ณ", "๐", "๐", "๐", "๐", "๐ฃ", "๐ฑ", "๐ฐ", "๐ฉ", "๐ช", "๐ฅ", "๐ฅ", "๐ฅ", "๐ฎ", "๐ฏ"],
baking: ["๐ฐ", "๐ช", "๐", "๐ง", "๐ฅง", "๐ฉ", "๐", "๐ฅ", "๐ฅฏ", "๐ช", "๐ฐ", "๐ซ", "๐ฌ", "๐ญ"],
photography: ["๐ธ", "๐ท", "๐ฝ๏ธ", "๐บ", "๐ป", "๐ฅ", "๐๏ธ", "๐ผ๏ธ", "๐๏ธ", "๐๏ธ", "๐๏ธ", "๐๏ธ", "๐ฅ๏ธ"],
fitness: ["๐๏ธ", "๐", "๐", "๐ด", "๐ต", "๐๏ธ", "๐", "๐คธ", "๐คผ", "๐คพ", "๐คน", "๐ง", "๐ง"],
yoga: ["๐ง", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ"],
meditation: ["๐ง", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ"],
relaxation: ["๐", "๐", "๐ง", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐", "๐โโ๏ธ", "๐โโ๏ธ", "๐ง", "๐งโโ๏ธ"],
selfCare: ["๐ง", "๐", "๐", "๐", "๐โโ๏ธ", "๐โโ๏ธ", "๐ง", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ"],
selfLove: ["โค๏ธ", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐"],
selfImprovement: ["๐", "๐", "๐", "๐๏ธ", "๐๏ธ", "๐๏ธ", "๐", "๐", "๐", "๐"],
selfDiscovery: ["๐", "๐งญ", "๐บ๏ธ", "๐งณ", "๐งญ", "๐บ๏ธ", "๐งณ", "๐", "๐ฆ", "๐"],
selfExpression: ["๐จ", "๐ญ", "๐ค", "๐ธ", "๐น", "๐ป", "๐ท", "๐ฅ", "๐ช", "๐ช"],
selfAwareness: ["๐ง ", "๐ง", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ", "๐งโโ๏ธ"],
selfConfidence: ["๐ช", "๐ฆธ", "๐ฆน", "๐ฆธโโ๏ธ", "๐ฆธโโ๏ธ", "๐ฆนโโ๏ธ", "๐ฆนโโ๏ธ", "๐ช", "๐๏ธ", "๐คผ"],
student: ["๐", "๐", "๐", "๐", "โ๏ธ", "๐", "๐", "๐", "๐", "๐"],
car: ["๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐๏ธ"],
bike: ["๐ด", "๐ต", "๐ด", "๐น", "๐ถ", "๐ฒ", "๐ต", "๐บ", "๐ค", "โต"],
warrior: ["โ๏ธ", "๐ก๏ธ", "๐น", "๐ก๏ธ", "๐ฐ", "๐", "โ๏ธ", "๐ฑ", "โ๏ธ", "๐"],
engineering: ["๐ฉ", "๐ ๏ธ", "๐งฑ", "โ๏ธ", "๐๏ธ", "๐ข", "๐ญ", "๐ง", "๐ง", "๐จ", "๐ "],
communication: ["๐", "๐ป", "๐ก", "๐บ", "๐๏ธ", "๐ข", "๐จ", "โ๏ธ", "๐ฌ", "๐๏ธ"],
medical: ["๐", "โ๏ธ", "๐ฅ", "๐", "๐", "๐ฉบ", "๐ฉน", "๐ฉผ", "๐", "๐"],
casino: ["๐ฐ", "๐ฒ", "๐", "๐ด", "๐ญ", "๐ฎ", "๐ฐ", "๐ค", "๐ฎ", "๐ก"],
circus: ["๐ช", "๐ญ", "๐คนโโ๏ธ", "๐ ", "๐ก", "๐ข", "๐", "๐", "๐"],
};
// module.exports = emojiDatabase;
// Function to generate keywords dynamically
function generateKeywords(emoji) {
const name = emojiMap.get(emoji); // Gets emoji name (e.g., "grinning face")
if (!name) return [];
return name.toLowerCase().split(" "); // Convert to lowercase and split into words
}
// Convert database to include keywords
const formattedDatabase = {};
for (const category in emojiDatabase) {
formattedDatabase[category] = emojiDatabase[category].map((emoji) => ({
symbol: emoji,
keywords: generateKeywords(emoji),
}));
}
module.exports = { emojiDatabase, formattedDatabase };
// console.log("Formatted Database:", JSON.stringify(formattedDatabase, null, 2));
// Function to count all emojis in the database
function countAllEmojis(database) {
let totalCount = 0;
for (const category in database) {
totalCount += database[category].length;
}
return totalCount;
}
console.log("Total Emojis:", countAllEmojis(emojiDatabase));