Better emoji regexp

This commit is contained in:
syuilo 2018-11-05 20:49:17 +09:00
parent 3fc04fcdc5
commit e4bb534f20
No known key found for this signature in database
GPG key ID: BDC4C49D06AB9D69
2 changed files with 4 additions and 5 deletions

File diff suppressed because one or more lines are too long

View file

@ -2,8 +2,6 @@
* Emoji * Emoji
*/ */
import { emojiRegex } from "./emoji.regex";
export type TextElementEmoji = { export type TextElementEmoji = {
type: 'emoji'; type: 'emoji';
content: string; content: string;
@ -11,6 +9,8 @@ export type TextElementEmoji = {
name?: string; name?: string;
}; };
const emojiRegex = /^[\u{1f300}-\u{1f5ff}\u{1f900}-\u{1f9ff}\u{1f600}-\u{1f64f}\u{1f680}-\u{1f6ff}\u{2600}-\u{26ff}\u{2700}-\u{27bf}\u{1f1e6}-\u{1f1ff}\u{1f191}-\u{1f251}\u{1f004}\u{1f0cf}\u{1f170}-\u{1f171}\u{1f17e}-\u{1f17f}\u{1f18e}\u{3030}\u{2b50}\u{2b55}\u{2934}-\u{2935}\u{2b05}-\u{2b07}\u{2b1b}-\u{2b1c}\u{3297}\u{3299}\u{303d}\u{00a9}\u{00ae}\u{2122}\u{23f3}\u{24c2}\u{23e9}-\u{23ef}\u{25b6}\u{23f8}-\u{23fa}]/ug;
export default function(text: string) { export default function(text: string) {
const name = text.match(/^:([a-zA-Z0-9+_-]+):/); const name = text.match(/^:([a-zA-Z0-9+_-]+):/);
if (name) { if (name) {
@ -22,11 +22,11 @@ export default function(text: string) {
} }
const unicode = text.match(emojiRegex); const unicode = text.match(emojiRegex);
if (unicode) { if (unicode) {
const [content, emoji] = unicode; const [content] = unicode;
return { return {
type: 'emoji', type: 'emoji',
content, content,
emoji emoji: content
} as TextElementEmoji; } as TextElementEmoji;
} }
return null; return null;