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