| 123456789101112131415161718192021222324252627282930313233343536 |
- 'use strict';
- const emoji_replace_find = require('./find.cjs');
- require('../convert.cjs');
- require('../data.cjs');
- require('../format.cjs');
- function findAndReplaceEmojisInText(regexp, content, callback) {
- const matches = emoji_replace_find.getEmojiMatchesInText(regexp, content);
- if (!matches.length) {
- return null;
- }
- const sortedMatches = emoji_replace_find.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;
- }
- exports.findAndReplaceEmojisInText = findAndReplaceEmojisInText;
|