Oh, I've figured out the problem. It turns out that changing a variable solved my problem.
From this:
var decoded;
for (const key of objectKeys) {
if (originalText.includes(key)) {
continue;
} else {
decoded = result.replaceAll(key, replaceObject[key])
}
}
To this:
var decoded = result;
for (const key of objectKeys) {
if (originalText.includes(key)) {
continue;
} else {
decoded = decoded.replaceAll(key, replaceObject[key])
}
}