42 lines
		
	
	
		
			976 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			976 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // The output of this module is designed to mimic emoji-mart's
 | |
| // "data" object, such that we can use it for a light version of emoji-mart's
 | |
| // emojiIndex.search functionality.
 | |
| const { unicodeToUnifiedName } = require('./unicode_to_unified_name');
 | |
| const [ shortCodesToEmojiData, skins, categories, short_names ] = require('./emoji_compressed');
 | |
| 
 | |
| const emojis = {};
 | |
| 
 | |
| // decompress
 | |
| Object.keys(shortCodesToEmojiData).forEach((shortCode) => {
 | |
|   let [
 | |
|     filenameData, // eslint-disable-line no-unused-vars
 | |
|     searchData,
 | |
|   ] = shortCodesToEmojiData[shortCode];
 | |
|   let [
 | |
|     native,
 | |
|     short_names,
 | |
|     search,
 | |
|     unified,
 | |
|   ] = searchData;
 | |
| 
 | |
|   if (!unified) {
 | |
|     // unified name can be derived from unicodeToUnifiedName
 | |
|     unified = unicodeToUnifiedName(native);
 | |
|   }
 | |
| 
 | |
|   short_names = [shortCode].concat(short_names);
 | |
|   emojis[shortCode] = {
 | |
|     native,
 | |
|     search,
 | |
|     short_names,
 | |
|     unified,
 | |
|   };
 | |
| });
 | |
| 
 | |
| module.exports = {
 | |
|   emojis,
 | |
|   skins,
 | |
|   categories,
 | |
|   short_names,
 | |
| };
 |