Changeset View
Changeset View
Standalone View
Standalone View
lib/shared/emojis.js
// @flow | // @flow | ||||
import emojiRegex from 'emoji-regex'; | import emojiRegex from 'emoji-regex'; | ||||
import invariant from 'invariant'; | |||||
const emojiRegexMatches = emojiRegex().toString().match('^/(.+)/g$'); | const innerEmojiRegexString = emojiRegex().source; | ||||
invariant( | |||||
emojiRegexMatches.length === 2, | |||||
'could not extract innerEmojiRegex from emoji-regex.js', | |||||
); | |||||
const innerEmojiRegexString = emojiRegexMatches[1]; | |||||
const onlyEmojiRegex: RegExp = new RegExp(`^(${innerEmojiRegexString})+$`); | const onlyEmojiRegex: RegExp = new RegExp(`^(${innerEmojiRegexString})+$`); | ||||
const onlyOneEmojiRegex: RegExp = new RegExp(`^(${innerEmojiRegexString})$`); | const onlyOneEmojiRegex: RegExp = new RegExp(`^(${innerEmojiRegexString})$`); | ||||
export { onlyEmojiRegex, onlyOneEmojiRegex }; | export { onlyEmojiRegex, onlyOneEmojiRegex }; |