UNPKG

@goa/goa

Version:

The Goa Source Code For Compilation Into @Goa/Koa That Includes Modules, Tests, Types And Dependencies.

63 lines (53 loc) 1.16 kB
/*! * escape-html * Copyright(c) 2012-2013 TJ Holowaychuk * Copyright(c) 2015 Andreas Lubbe * Copyright(c) 2015 Tiancheng "Timothy" Gu * MIT Licensed */ var matchHtmlRegExp = /["'&<>]/ /** * Escape special characters in the given string of html. * * @param {string} string The string to escape for inserting into HTML */ export default 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 = '&quot;' break case 38: // & escape = '&amp;' break case 39: // ' escape = '&#39;' break case 60: // < escape = '&lt;' break case 62: // > escape = '&gt;' 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 }