aboutsummaryrefslogtreecommitdiff
path: root/node_modules/entities/lib/decode.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/entities/lib/decode.js')
-rw-r--r--node_modules/entities/lib/decode.js72
1 files changed, 0 insertions, 72 deletions
diff --git a/node_modules/entities/lib/decode.js b/node_modules/entities/lib/decode.js
deleted file mode 100644
index 5e48bdb68..000000000
--- a/node_modules/entities/lib/decode.js
+++ /dev/null
@@ -1,72 +0,0 @@
-var entityMap = require("../maps/entities.json"),
- legacyMap = require("../maps/legacy.json"),
- xmlMap = require("../maps/xml.json"),
- decodeCodePoint = require("./decode_codepoint.js");
-
-var decodeXMLStrict = getStrictDecoder(xmlMap),
- decodeHTMLStrict = getStrictDecoder(entityMap);
-
-function getStrictDecoder(map){
- var keys = Object.keys(map).join("|"),
- replace = getReplacer(map);
-
- keys += "|#[xX][\\da-fA-F]+|#\\d+";
-
- var re = new RegExp("&(?:" + keys + ");", "g");
-
- return function(str){
- return String(str).replace(re, replace);
- };
-}
-
-var decodeHTML = (function(){
- var legacy = Object.keys(legacyMap)
- .sort(sorter);
-
- var keys = Object.keys(entityMap)
- .sort(sorter);
-
- for(var i = 0, j = 0; i < keys.length; i++){
- if(legacy[j] === keys[i]){
- keys[i] += ";?";
- j++;
- } else {
- keys[i] += ";";
- }
- }
-
- var re = new RegExp("&(?:" + keys.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g"),
- replace = getReplacer(entityMap);
-
- function replacer(str){
- if(str.substr(-1) !== ";") str += ";";
- return replace(str);
- }
-
- //TODO consider creating a merged map
- return function(str){
- return String(str).replace(re, replacer);
- };
-}());
-
-function sorter(a, b){
- return a < b ? 1 : -1;
-}
-
-function getReplacer(map){
- return function replace(str){
- if(str.charAt(1) === "#"){
- if(str.charAt(2) === "X" || str.charAt(2) === "x"){
- return decodeCodePoint(parseInt(str.substr(3), 16));
- }
- return decodeCodePoint(parseInt(str.substr(2), 10));
- }
- return map[str.slice(1, -1)];
- };
-}
-
-module.exports = {
- XML: decodeXMLStrict,
- HTML: decodeHTML,
- HTMLStrict: decodeHTMLStrict
-}; \ No newline at end of file