String.replaceAll Polyfill

This commit is contained in:
OleSTEEP 2024-01-02 11:56:46 +03:00
parent 76d7ccae53
commit 84ba78d067
2 changed files with 21 additions and 1 deletions

View file

@ -18,7 +18,7 @@ Android port of OMORI RPG game
- [ ] Options menu fix
- [x] Physical gamepad support
- [ ] replaceAll polyfill
- [x] replaceAll polyfill
- [ ] External saves (Android/data)
- [ ] Cordova localhost bug
- [x] WakeLock

View file

@ -2,6 +2,26 @@
window._MEMO_PATHS = {}
/**
* String.prototype.replaceAll() polyfill
* https://gomakethings.com/how-to-replace-a-section-of-a-string-with-another-one-with-vanilla-js/
* @author Chris Ferdinandi
* @license MIT
*/
if (!String.prototype.replaceAll) {
String.prototype.replaceAll = function(str, newStr){
// If a regex pattern
if (Object.prototype.toString.call(str).toLowerCase() === '[object regexp]') {
return this.replace(str, newStr);
}
// If a string
return this.replace(new RegExp(str, 'g'), newStr);
};
}
function replaceSpecialSymbols(s) {
const memoized = _MEMO_PATHS[s];
if (memoized != undefined) {