astro-ghostcms/.pnpm-store/v3/files/71/0792f07d46edf093ee7f7c6cdc2...

37 lines
967 B
Plaintext

'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;