UNPKG

vite-envs

Version:

Env var in Vite at container startup

31 lines (24 loc) 1.24 kB
export function replaceAll(string: string, searchValue: string | RegExp, replaceValue: string): string { if ((string as any).replaceAll !== undefined) { return (string as any).replaceAll(searchValue, replaceValue); } // If the searchValue is a string if (typeof searchValue === "string") { // Escape special characters in the string to be used in a regex var escapedSearchValue = searchValue.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); var regex = new RegExp(escapedSearchValue, "g"); return string.replace(regex, replaceValue); } // If the searchValue is a global RegExp, use it directly if (searchValue instanceof RegExp && searchValue.global) { return string.replace(searchValue, replaceValue); } // If the searchValue is a non-global RegExp, throw an error if (searchValue instanceof RegExp) { throw new TypeError("replaceAll must be called with a global RegExp"); } // Convert searchValue to string if it's not a string or RegExp var searchString = String(searchValue); var regexFromString = new RegExp(searchString.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "g"); return string.replace(regexFromString, replaceValue); }