unescape.js 434 B

123456789101112131415
  1. var escape = require('./escape');
  2. var keys = require('./keys');
  3. var invert = require('./invert');
  4. exports = function(str) {
  5. return regTest.test(str) ? str.replace(regReplace, replaceFn) : str;
  6. };
  7. var map = invert(escape.map);
  8. var regSrc = '(?:' + keys(map).join('|') + ')';
  9. var regTest = new RegExp(regSrc);
  10. var regReplace = new RegExp(regSrc, 'g');
  11. function replaceFn(match) {
  12. return map[match];
  13. }
  14. module.exports = exports;