mirror of
https://github.com/lunaisnotaboy/mastodon.git
synced 2024-11-22 06:43:19 +00:00
Compress emoji_data_light.js (#5201)
This commit is contained in:
parent
875d943c18
commit
82d9ade7a6
22
app/javascript/mastodon/emoji_data_compressed.js
Normal file
22
app/javascript/mastodon/emoji_data_compressed.js
Normal 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,
|
||||||
|
}));
|
|
@ -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,
|
|
||||||
}));
|
|
||||||
|
|
Loading…
Reference in a new issue