Skip to content

Commit

Permalink
Compress emoji_data_light.js (#5201)
Browse files Browse the repository at this point in the history
  • Loading branch information
nolanlawson authored and Gargron committed Oct 3, 2017
1 parent 875d943 commit 82d9ade
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 14 deletions.
22 changes: 22 additions & 0 deletions app/javascript/mastodon/emoji_data_compressed.js
@@ -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,
}));
27 changes: 13 additions & 14 deletions app/javascript/mastodon/emoji_data_light.js
@@ -1,17 +1,16 @@
// @preval
const data = require('emoji-mart/dist/data').default;
const pick = require('lodash/pick');
const data = require('./emoji_data_compressed');

const condensedEmojis = {};
Object.keys(data.emojis).forEach(key => {
condensedEmojis[key] = pick(data.emojis[key], ['short_names', 'unified', 'search']);
// decompress
const emojis = {};
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
// inconsistent behavior in dev mode
module.exports = JSON.parse(JSON.stringify({
emojis: condensedEmojis,
skins: data.skins,
categories: data.categories,
short_names: data.short_names,
}));
data.emojis = emojis;

module.exports = data;

0 comments on commit 82d9ade

Please sign in to comment.