diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-03-27 21:01:33 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-03-27 21:01:33 +0100 |
commit | cc97a4dd2a967e1c2273bd5f4c5f49a5bf2e2585 (patch) | |
tree | 92c5d88706a6ffc654d1b133618d357890e7096b /node_modules/entities/lib/encode.js | |
parent | 3771b4d6b67b34c130f3a9a1a15f42deefdb2eda (diff) |
remove node_modules
Diffstat (limited to 'node_modules/entities/lib/encode.js')
-rw-r--r-- | node_modules/entities/lib/encode.js | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/node_modules/entities/lib/encode.js b/node_modules/entities/lib/encode.js deleted file mode 100644 index 10c0c36e2..000000000 --- a/node_modules/entities/lib/encode.js +++ /dev/null @@ -1,73 +0,0 @@ -var inverseXML = getInverseObj(require("../maps/xml.json")), - xmlReplacer = getInverseReplacer(inverseXML); - -exports.XML = getInverse(inverseXML, xmlReplacer); - -var inverseHTML = getInverseObj(require("../maps/entities.json")), - htmlReplacer = getInverseReplacer(inverseHTML); - -exports.HTML = getInverse(inverseHTML, htmlReplacer); - -function getInverseObj(obj){ - return Object.keys(obj).sort().reduce(function(inverse, name){ - inverse[obj[name]] = "&" + name + ";"; - return inverse; - }, {}); -} - -function getInverseReplacer(inverse){ - var single = [], - multiple = []; - - Object.keys(inverse).forEach(function(k){ - if(k.length === 1){ - single.push("\\" + k); - } else { - multiple.push(k); - } - }); - - //TODO add ranges - multiple.unshift("[" + single.join("") + "]"); - - return new RegExp(multiple.join("|"), "g"); -} - -var re_nonASCII = /[^\0-\x7F]/g, - re_astralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; - -function singleCharReplacer(c){ - return "&#x" + c.charCodeAt(0).toString(16).toUpperCase() + ";"; -} - -function astralReplacer(c){ - // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - var high = c.charCodeAt(0); - var low = c.charCodeAt(1); - var codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000; - return "&#x" + codePoint.toString(16).toUpperCase() + ";"; -} - -function getInverse(inverse, re){ - function func(name){ - return inverse[name]; - } - - return function(data){ - return data - .replace(re, func) - .replace(re_astralSymbols, astralReplacer) - .replace(re_nonASCII, singleCharReplacer); - }; -} - -var re_xmlChars = getInverseReplacer(inverseXML); - -function escapeXML(data){ - return data - .replace(re_xmlChars, singleCharReplacer) - .replace(re_astralSymbols, astralReplacer) - .replace(re_nonASCII, singleCharReplacer); -} - -exports.escape = escapeXML; |