gearheads
/
mastodon
Archived
2
0
Fork 0

Compress emoji_data_light.js (#5201)

gh/stable
Nolan Lawson 2017-10-03 11:43:57 -07:00 committed by Eugen Rochko
parent 875d943c18
commit 82d9ade7a6
2 changed files with 35 additions and 14 deletions

View File

@ -0,0 +1,22 @@
// @preval
const data = require('emoji-mart/dist/data').default;
const pick = require('lodash/pick');
const values = require('lodash/values');
const condensedEmojis = Object.keys(data.emojis).map(key => {
if (!data.emojis[key].short_names[0] === key) {
throw new Error('The condenser expects the first short_code to be the ' +
'key. It may need to be rewritten if the emoji change such that this ' +
'is no longer the case.');
}
return values(pick(data.emojis[key], ['short_names', 'unified', 'search']));
});
// JSON.parse/stringify is to emulate what @preval is doing and avoid any
// inconsistent behavior in dev mode
module.exports = JSON.parse(JSON.stringify({
emojis: condensedEmojis,
skins: data.skins,
categories: data.categories,
short_names: data.short_names,
}));

View File

@ -1,17 +1,16 @@
// @preval const data = require('./emoji_data_compressed');
const data = require('emoji-mart/dist/data').default;
const pick = require('lodash/pick');
const condensedEmojis = {}; // decompress
Object.keys(data.emojis).forEach(key => { const emojis = {};
condensedEmojis[key] = pick(data.emojis[key], ['short_names', 'unified', 'search']); data.emojis.forEach(compressedEmoji => {
const [ short_names, unified, search ] = compressedEmoji;
emojis[short_names[0]] = {
short_names,
unified,
search,
};
}); });
// JSON.parse/stringify is to emulate what @preval is doing and avoid any data.emojis = emojis;
// inconsistent behavior in dev mode
module.exports = JSON.parse(JSON.stringify({ module.exports = data;
emojis: condensedEmojis,
skins: data.skins,
categories: data.categories,
short_names: data.short_names,
}));