declare global { // https://github.com/microsoft/TypeScript/blob/main/lib/lib.es2021.string.d.ts interface String { /** * Replace all instances of a substring in a string, using a regular expression or search string. * @param searchValue A string to search for. * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. */ replaceAll(searchValue: string | RegExp, replaceValue: string): string; /** * Replace all instances of a substring in a string, using a regular expression or search string. * @param searchValue A string to search for. * @param replacer A function that returns the replacement text. */ replaceAll( searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string, ): string; } } /** * 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: any, newStr: any) { // 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); }; } export {};