UNPKG

722 BJavaScriptView Raw
1const escapeRegExpSpecialChars = require('escape-string-regexp');
2
3const isWindows = /^win/i.test(process.platform);
4
5/**
6 * @param {string} content
7 * @param {Object<string, string>} replacements
8 * @return {string}
9 */
10function replaceSpritePlaceholder(content, replacements) {
11 let result = content;
12 Object.keys(replacements)
13 .forEach((subj) => {
14 let re = new RegExp(escapeRegExpSpecialChars(subj), 'g');
15 result = result.replace(re, replacements[subj]);
16
17 if (isWindows) {
18 re = new RegExp(escapeRegExpSpecialChars(subj), 'g');
19 result = result.replace(/\\\\/g, '\\').replace(re, replacements[subj]);
20 }
21 });
22
23 return result;
24}
25
26module.exports = replaceSpritePlaceholder;