| 12345678910111213141516171819202122232425262728293031323334 |
- import { getEmojiMatchesInText, sortEmojiMatchesInText } from './find.mjs';
- import '../convert.mjs';
- import '../data.mjs';
- import '../format.mjs';
- function findAndReplaceEmojisInText(regexp, content, callback) {
- const matches = getEmojiMatchesInText(regexp, content);
- if (!matches.length) {
- return null;
- }
- const sortedMatches = sortEmojiMatchesInText(content, matches);
- let result = "";
- let replaced = false;
- for (let i = 0; i < sortedMatches.length; i++) {
- const item = sortedMatches[i];
- result += item.prev;
- const replacement = callback(
- {
- ...item.match
- },
- result
- );
- if (replacement === void 0) {
- result += item.match.match;
- } else {
- result += replacement;
- replaced = true;
- }
- }
- result += sortedMatches[sortedMatches.length - 1].next;
- return replaced ? result : null;
- }
- export { findAndReplaceEmojisInText };
|