emoji-picker-element/src/trimEmojiData.js

36 lines
1.2 KiB
JavaScript
Raw Normal View History

import { assertEmojiData } from './database/utils/assertEmojiData'
2020-06-20 23:06:19 +02:00
import { requiredKeys } from './database/utils/requiredKeys'
const optionalKeys = ['skins', 'emoticon', 'shortcodes']
2020-06-20 23:06:19 +02:00
const allKeys = [...requiredKeys, ...optionalKeys]
2020-06-21 00:07:59 +02:00
const allSkinsKeys = ['tone', 'emoji', 'version']
export default function trimEmojiData (emojiData) {
console.warn('trimEmojiData() is deprecated and may be removed eventually. ' +
'If you use emoji-picker-element-data instead of emojibase-data, there is no need for trimEmojiData(). ' +
'For details, see: ' +
'https://github.com/nolanlawson/emoji-picker-element/blob/master/README.md#trimming-the-emoji-data-deprecated'
)
assertEmojiData(emojiData)
return emojiData.map(emoji => {
2020-06-20 23:06:19 +02:00
const res = {}
for (const key of allKeys) {
if (key in emoji) {
2020-06-21 00:07:59 +02:00
if (key === 'skins') { // trim skins even further
res[key] = emoji[key].map(skin => {
const skinRes = {}
for (const skinKey of allSkinsKeys) {
skinRes[skinKey] = skin[skinKey]
}
return skinRes
})
} else {
res[key] = emoji[key]
}
2020-06-20 23:06:19 +02:00
}
}
return res
})
};