stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
49 lines (47 loc) • 1.68 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var fs = require('fs');
var getEmojis = function () {
var _ref = (0, _asyncToGenerator2.default)(function* () {
try {
var response = yield fetch('https://raw.githubusercontent.com/iamcal/emoji-data/master/emoji.json');
var emojis = yield response.json();
var emojiLib = emojis.map(emoji => ({
id: emoji.short_name,
name: emoji.short_name,
names: emoji.short_names,
...(emoji.skin_variations ? {
skins: Object.values(emoji.skin_variations).map(skin => String.fromCodePoint.apply(null, skin.unified.split('-').map(unicode => `0x${unicode}`)))
} : {}),
unicode: String.fromCodePoint.apply(null, emoji.unified.split('-').map(unicode => `0x${unicode}`))
})).sort((a, b) => a.name < b.name ? -1 : 1);
return {
emojiLib
};
} catch (error) {
console.log(error);
}
});
return function getEmojis() {
return _ref.apply(this, arguments);
};
}();
getEmojis().then(({
emojiLib
}) => {
var stingified = JSON.stringify(emojiLib).replace(/(["'])require(?:(?=(\\?))\2.)*?\1/g, value => value.replace(/"/g, ''));
fs.writeFile('src/emoji-data/index.ts', `export type Emoji = {
id: string;
name: string;
names: string[];
unicode: string;
skins?: string[];
};
export type Emojis = Emoji[];
export const compiledEmojis: Emojis = ${stingified}`, err => {
if (err) {
throw err;
}
});
});
//# sourceMappingURL=compile.js.map