| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | 
							- "use strict";
 
- Object.defineProperty(exports, "__esModule", { value: true });
 
- var surrogate_pairs_1 = require("./surrogate-pairs");
 
- var ALPHA_INDEX = {
 
-     '<': '<',
 
-     '>': '>',
 
-     '"': '"',
 
-     '&apos': '\'',
 
-     '&': '&',
 
-     '<': '<',
 
-     '>': '>',
 
-     '"': '"',
 
-     ''': '\'',
 
-     '&': '&'
 
- };
 
- var CHAR_INDEX = {
 
-     60: 'lt',
 
-     62: 'gt',
 
-     34: 'quot',
 
-     39: 'apos',
 
-     38: 'amp'
 
- };
 
- var CHAR_S_INDEX = {
 
-     '<': '<',
 
-     '>': '>',
 
-     '"': '"',
 
-     '\'': ''',
 
-     '&': '&'
 
- };
 
- var XmlEntities = /** @class */ (function () {
 
-     function XmlEntities() {
 
-     }
 
-     XmlEntities.prototype.encode = function (str) {
 
-         if (!str || !str.length) {
 
-             return '';
 
-         }
 
-         return str.replace(/[<>"'&]/g, function (s) {
 
-             return CHAR_S_INDEX[s];
 
-         });
 
-     };
 
-     XmlEntities.encode = function (str) {
 
-         return new XmlEntities().encode(str);
 
-     };
 
-     XmlEntities.prototype.decode = function (str) {
 
-         if (!str || !str.length) {
 
-             return '';
 
-         }
 
-         return str.replace(/&#?[0-9a-zA-Z]+;?/g, function (s) {
 
-             if (s.charAt(1) === '#') {
 
-                 var code = s.charAt(2).toLowerCase() === 'x' ?
 
-                     parseInt(s.substr(3), 16) :
 
-                     parseInt(s.substr(2));
 
-                 if (!isNaN(code) || code >= -32768) {
 
-                     if (code <= 65535) {
 
-                         return String.fromCharCode(code);
 
-                     }
 
-                     else {
 
-                         return surrogate_pairs_1.fromCodePoint(code);
 
-                     }
 
-                 }
 
-                 return '';
 
-             }
 
-             return ALPHA_INDEX[s] || s;
 
-         });
 
-     };
 
-     XmlEntities.decode = function (str) {
 
-         return new XmlEntities().decode(str);
 
-     };
 
-     XmlEntities.prototype.encodeNonUTF = function (str) {
 
-         if (!str || !str.length) {
 
-             return '';
 
-         }
 
-         var strLength = str.length;
 
-         var result = '';
 
-         var i = 0;
 
-         while (i < strLength) {
 
-             var c = str.charCodeAt(i);
 
-             var alpha = CHAR_INDEX[c];
 
-             if (alpha) {
 
-                 result += "&" + alpha + ";";
 
-                 i++;
 
-                 continue;
 
-             }
 
-             if (c < 32 || c > 126) {
 
-                 if (c >= surrogate_pairs_1.highSurrogateFrom && c <= surrogate_pairs_1.highSurrogateTo) {
 
-                     result += '&#' + surrogate_pairs_1.getCodePoint(str, i) + ';';
 
-                     i++;
 
-                 }
 
-                 else {
 
-                     result += '&#' + c + ';';
 
-                 }
 
-             }
 
-             else {
 
-                 result += str.charAt(i);
 
-             }
 
-             i++;
 
-         }
 
-         return result;
 
-     };
 
-     XmlEntities.encodeNonUTF = function (str) {
 
-         return new XmlEntities().encodeNonUTF(str);
 
-     };
 
-     XmlEntities.prototype.encodeNonASCII = function (str) {
 
-         if (!str || !str.length) {
 
-             return '';
 
-         }
 
-         var strLength = str.length;
 
-         var result = '';
 
-         var i = 0;
 
-         while (i < strLength) {
 
-             var c = str.charCodeAt(i);
 
-             if (c <= 255) {
 
-                 result += str[i++];
 
-                 continue;
 
-             }
 
-             if (c >= surrogate_pairs_1.highSurrogateFrom && c <= surrogate_pairs_1.highSurrogateTo) {
 
-                 result += '&#' + surrogate_pairs_1.getCodePoint(str, i) + ';';
 
-                 i++;
 
-             }
 
-             else {
 
-                 result += '&#' + c + ';';
 
-             }
 
-             i++;
 
-         }
 
-         return result;
 
-     };
 
-     XmlEntities.encodeNonASCII = function (str) {
 
-         return new XmlEntities().encodeNonASCII(str);
 
-     };
 
-     return XmlEntities;
 
- }());
 
- exports.XmlEntities = XmlEntities;
 
 
  |