| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | /*! * escape-html * Copyright(c) 2012-2013 TJ Holowaychuk * Copyright(c) 2015 Andreas Lubbe * Copyright(c) 2015 Tiancheng "Timothy" Gu * MIT Licensed */'use strict';/** * Module variables. * @private */var matchHtmlRegExp = /["'&<>]/;/** * Module exports. * @public */module.exports = escapeHtml;/** * Escape special characters in the given string of html. * * @param  {string} string The string to escape for inserting into HTML * @return {string} * @public */function escapeHtml(string) {  var str = '' + string;  var match = matchHtmlRegExp.exec(str);  if (!match) {    return str;  }  var escape;  var html = '';  var index = 0;  var lastIndex = 0;  for (index = match.index; index < str.length; index++) {    switch (str.charCodeAt(index)) {      case 34: // "        escape = '"';        break;      case 38: // &        escape = '&';        break;      case 39: // '        escape = ''';        break;      case 60: // <        escape = '<';        break;      case 62: // >        escape = '>';        break;      default:        continue;    }    if (lastIndex !== index) {      html += str.substring(lastIndex, index);    }    lastIndex = index + 1;    html += escape;  }  return lastIndex !== index    ? html + str.substring(lastIndex, index)    : html;}
 |