Skip to content

Commit 21daae9

Browse files
tlambertzYukaii
authored andcommitted
Use Set instead of .reduce for namedEmoji, >100x performance increase.
1 parent 58e69f2 commit 21daae9

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

src/index.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,7 @@ interface Window {
77

88
const namedEmojiString = /*##EMOJILIST*/'';
99
const namedEmoji = namedEmojiString.split(/,/);
10-
const namedMatchHash: { [key: string]: boolean } = namedEmoji.reduce(
11-
(memo, v) => ({
12-
...memo,
13-
[v]: true,
14-
}),
15-
{},
16-
);
10+
const namedMatchHash = new Set(namedEmoji);
1711

1812
const emoticons = {
1913
/* :..: */ named: /:([a-z0-9A-Z_-]+):/,
@@ -185,7 +179,7 @@ class Emojify {
185179
/* Special case for named emoji */
186180
if (match[1] && match[2]) {
187181
var named = match[2];
188-
if (namedMatchHash[named]) {
182+
if (namedMatchHash.has(named)) {
189183
return named;
190184
}
191185
return;

0 commit comments

Comments
 (0)