From d6c615f2680e79bbb76cc85a056aadfe3524513f Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sat, 24 Jan 2015 11:07:01 -0800 Subject: Removed JS implementation, which is moving to its own repo: --- js/lib/common.js | 75 -------------------------------------------------------- 1 file changed, 75 deletions(-) delete mode 100644 js/lib/common.js (limited to 'js/lib/common.js') diff --git a/js/lib/common.js b/js/lib/common.js deleted file mode 100644 index c365e53..0000000 --- a/js/lib/common.js +++ /dev/null @@ -1,75 +0,0 @@ -"use strict"; - -var entityToChar = require('./html5-entities.js').entityToChar; - -var ENTITY = "&(?:#x[a-f0-9]{1,8}|#[0-9]{1,8}|[a-z][a-z0-9]{1,31});"; - -var reBackslashOrAmp = /[\\&]/; - -var ESCAPABLE = '[!"#$%&\'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]'; - -var reEntityOrEscapedChar = new RegExp('\\\\' + ESCAPABLE + '|' + ENTITY, 'gi'); - -var XMLSPECIAL = '[&<>"]'; - -var reXmlSpecial = new RegExp(XMLSPECIAL, 'g'); - -var reXmlSpecialOrEntity = new RegExp(ENTITY + '|' + XMLSPECIAL, 'gi'); - -var unescapeChar = function(s) { - if (s[0] === '\\') { - return s[1]; - } else { - return entityToChar(s); - } -}; - -// Replace entities and backslash escapes with literal characters. -var unescapeString = function(s) { - if (reBackslashOrAmp.test(s)) { - return s.replace(reEntityOrEscapedChar, unescapeChar); - } else { - return s; - } -}; - -var normalizeURI = function(uri) { - try { - return encodeURI(decodeURI(uri)); - } - catch(err) { - return uri; - } -}; - -var replaceUnsafeChar = function(s) { - switch (s) { - case '&': - return '&'; - case '<': - return '<'; - case '>': - return '>'; - case '"': - return '"'; - default: - return s; - } -}; - -var escapeXml = function(s, preserve_entities) { - if (reXmlSpecial.test(s)) { - if (preserve_entities) { - return s.replace(reXmlSpecialOrEntity, replaceUnsafeChar); - } else { - return s.replace(reXmlSpecial, replaceUnsafeChar); - } - } else { - return s; - } -}; - -module.exports = { unescapeString: unescapeString, - normalizeURI: normalizeURI, - escapeXml: escapeXml - }; -- cgit v1.2.3