123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.escapeAttrValue = escapeAttrValue;
- exports.escapeText = escapeText;
- exports.sortByLoc = sortByLoc;
- const ATTR_VALUE_REGEX_TEST = /[\xA0"&]/;
- const ATTR_VALUE_REGEX_REPLACE = new RegExp(ATTR_VALUE_REGEX_TEST.source, 'g');
- const TEXT_REGEX_TEST = /[\xA0&<>]/;
- const TEXT_REGEX_REPLACE = new RegExp(TEXT_REGEX_TEST.source, 'g');
- function attrValueReplacer(char) {
- switch (char.charCodeAt(0)) {
- case 160
- /* NBSP */
- :
- return ' ';
- case 34
- /* QUOT */
- :
- return '"';
- case 38
- /* AMP */
- :
- return '&';
- default:
- return char;
- }
- }
- function textReplacer(char) {
- switch (char.charCodeAt(0)) {
- case 160
- /* NBSP */
- :
- return ' ';
- case 38
- /* AMP */
- :
- return '&';
- case 60
- /* LT */
- :
- return '<';
- case 62
- /* GT */
- :
- return '>';
- default:
- return char;
- }
- }
- function escapeAttrValue(attrValue) {
- if (ATTR_VALUE_REGEX_TEST.test(attrValue)) {
- return attrValue.replace(ATTR_VALUE_REGEX_REPLACE, attrValueReplacer);
- }
- return attrValue;
- }
- function escapeText(text) {
- if (TEXT_REGEX_TEST.test(text)) {
- return text.replace(TEXT_REGEX_REPLACE, textReplacer);
- }
- return text;
- }
- function sortByLoc(a, b) {
- // If either is invisible, don't try to order them
- if (a.loc.isInvisible || b.loc.isInvisible) {
- return 0;
- }
- if (a.loc.startPosition.line < b.loc.startPosition.line) {
- return -1;
- }
- if (a.loc.startPosition.line === b.loc.startPosition.line && a.loc.startPosition.column < b.loc.startPosition.column) {
- return -1;
- }
- if (a.loc.startPosition.line === b.loc.startPosition.line && a.loc.startPosition.column === b.loc.startPosition.column) {
- return 0;
- }
- return 1;
- }
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvZ2VuZXJhdGlvbi91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBVUEsTUFBTSxxQkFBcUIsR0FBM0IsVUFBQTtBQUNBLE1BQU0sd0JBQXdCLEdBQUcsSUFBQSxNQUFBLENBQVcscUJBQXFCLENBQWhDLE1BQUEsRUFBakMsR0FBaUMsQ0FBakM7QUFFQSxNQUFNLGVBQWUsR0FBckIsV0FBQTtBQUNBLE1BQU0sa0JBQWtCLEdBQUcsSUFBQSxNQUFBLENBQVcsZUFBZSxDQUExQixNQUFBLEVBQTNCLEdBQTJCLENBQTNCOztBQUVBLFNBQUEsaUJBQUEsQ0FBQSxJQUFBLEVBQXVDO0FBQ3JDLFVBQVEsSUFBSSxDQUFKLFVBQUEsQ0FBUixDQUFRLENBQVI7QUFDRSxTQUFBO0FBQUE7QUFBQTtBQUNFLGFBQUEsUUFBQTs7QUFDRixTQUFBO0FBQUE7QUFBQTtBQUNFLGFBQUEsUUFBQTs7QUFDRixTQUFBO0FBQUE7QUFBQTtBQUNFLGFBQUEsT0FBQTs7QUFDRjtBQUNFLGFBQUEsSUFBQTtBQVJKO0FBVUQ7O0FBRUQsU0FBQSxZQUFBLENBQUEsSUFBQSxFQUFrQztBQUNoQyxVQUFRLElBQUksQ0FBSixVQUFBLENBQVIsQ0FBUSxDQUFSO0FBQ0UsU0FBQTtBQUFBO0FBQUE7QUFDRSxhQUFBLFFBQUE7O0FBQ0YsU0FBQTtBQUFBO0FBQUE7QUFDRSxhQUFBLE9BQUE7O0FBQ0YsU0FBQTtBQUFBO0FBQUE7QUFDRSxhQUFBLE1BQUE7O0FBQ0YsU0FBQTtBQUFBO0FBQUE7QUFDRSxhQUFBLE1BQUE7O0FBQ0Y7QUFDRSxhQUFBLElBQUE7QUFWSjtBQVlEOztBQUVLLFNBQUEsZUFBQSxDQUFBLFNBQUEsRUFBMkM7QUFDL0MsTUFBSSxxQkFBcUIsQ0FBckIsSUFBQSxDQUFKLFNBQUksQ0FBSixFQUEyQztBQUN6QyxXQUFPLFNBQVMsQ0FBVCxPQUFBLENBQUEsd0JBQUEsRUFBUCxpQkFBTyxDQUFQO0FBQ0Q7O0FBQ0QsU0FBQSxTQUFBO0FBQ0Q7O0FBRUssU0FBQSxVQUFBLENBQUEsSUFBQSxFQUFpQztBQUNyQyxNQUFJLGVBQWUsQ0FBZixJQUFBLENBQUosSUFBSSxDQUFKLEVBQWdDO0FBQzlCLFdBQU8sSUFBSSxDQUFKLE9BQUEsQ0FBQSxrQkFBQSxFQUFQLFlBQU8sQ0FBUDtBQUNEOztBQUNELFNBQUEsSUFBQTtBQUNEOztBQUVLLFNBQUEsU0FBQSxDQUFBLENBQUEsRUFBQSxDQUFBLEVBQWdEO0FBQ3BEO0FBQ0EsTUFBSSxDQUFDLENBQUQsR0FBQSxDQUFBLFdBQUEsSUFBcUIsQ0FBQyxDQUFELEdBQUEsQ0FBekIsV0FBQSxFQUE0QztBQUMxQyxXQUFBLENBQUE7QUFDRDs7QUFFRCxNQUFJLENBQUMsQ0FBRCxHQUFBLENBQUEsYUFBQSxDQUFBLElBQUEsR0FBMkIsQ0FBQyxDQUFELEdBQUEsQ0FBQSxhQUFBLENBQS9CLElBQUEsRUFBeUQ7QUFDdkQsV0FBTyxDQUFQLENBQUE7QUFDRDs7QUFFRCxNQUNFLENBQUMsQ0FBRCxHQUFBLENBQUEsYUFBQSxDQUFBLElBQUEsS0FBNkIsQ0FBQyxDQUFELEdBQUEsQ0FBQSxhQUFBLENBQTdCLElBQUEsSUFDQSxDQUFDLENBQUQsR0FBQSxDQUFBLGFBQUEsQ0FBQSxNQUFBLEdBQTZCLENBQUMsQ0FBRCxHQUFBLENBQUEsYUFBQSxDQUYvQixNQUFBLEVBR0U7QUFDQSxXQUFPLENBQVAsQ0FBQTtBQUNEOztBQUVELE1BQ0UsQ0FBQyxDQUFELEdBQUEsQ0FBQSxhQUFBLENBQUEsSUFBQSxLQUE2QixDQUFDLENBQUQsR0FBQSxDQUFBLGFBQUEsQ0FBN0IsSUFBQSxJQUNBLENBQUMsQ0FBRCxHQUFBLENBQUEsYUFBQSxDQUFBLE1BQUEsS0FBK0IsQ0FBQyxDQUFELEdBQUEsQ0FBQSxhQUFBLENBRmpDLE1BQUEsRUFHRTtBQUNBLFdBQUEsQ0FBQTtBQUNEOztBQUVELFNBQUEsQ0FBQTtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQVNUdjEgZnJvbSAnLi4vdjEvYXBpJztcblxuY29uc3QgZW51bSBDaGFyIHtcbiAgTkJTUCA9IDB4YTAsXG4gIFFVT1QgPSAweDIyLFxuICBMVCA9IDB4M2MsXG4gIEdUID0gMHgzZSxcbiAgQU1QID0gMHgyNixcbn1cblxuY29uc3QgQVRUUl9WQUxVRV9SRUdFWF9URVNUID0gL1tcXHhBMFwiJl0vO1xuY29uc3QgQVRUUl9WQUxVRV9SRUdFWF9SRVBMQUNFID0gbmV3IFJlZ0V4cChBVFRSX1ZBTFVFX1JFR0VYX1RFU1Quc291cmNlLCAnZycpO1xuXG5jb25zdCBURVhUX1JFR0VYX1RFU1QgPSAvW1xceEEwJjw+XS87XG5jb25zdCBURVhUX1JFR0VYX1JFUExBQ0UgPSBuZXcgUmVnRXhwKFRFWFRfUkVHRVhfVEVTVC5zb3VyY2UsICdnJyk7XG5cbmZ1bmN0aW9uIGF0dHJWYWx1ZVJlcGxhY2VyKGNoYXI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHN3aXRjaCAoY2hhci5jaGFyQ29kZUF0KDApKSB7XG4gICAgY2FzZSBDaGFyLk5CU1A6XG4gICAgICByZXR1cm4gJyZuYnNwOyc7XG4gICAgY2FzZSBDaGFyLlFVT1Q6XG4gICAgICByZXR1cm4gJyZxdW90Oyc7XG4gICAgY2FzZSBDaGFyLkFNUDpcbiAgICAgIHJldHVybiAnJmFtcDsnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gY2hhcjtcbiAgfVxufVxuXG5mdW5jdGlvbiB0ZXh0UmVwbGFjZXIoY2hhcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgc3dpdGNoIChjaGFyLmNoYXJDb2RlQXQoMCkpIHtcbiAgICBjYXNlIENoYXIuTkJTUDpcbiAgICAgIHJldHVybiAnJm5ic3A7JztcbiAgICBjYXNlIENoYXIuQU1QOlxuICAgICAgcmV0dXJuICcmYW1wOyc7XG4gICAgY2FzZSBDaGFyLkxUOlxuICAgICAgcmV0dXJuICcmbHQ7JztcbiAgICBjYXNlIENoYXIuR1Q6XG4gICAgICByZXR1cm4gJyZndDsnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gY2hhcjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlQXR0clZhbHVlKGF0dHJWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKEFUVFJfVkFMVUVfUkVHRVhfVEVTVC50ZXN0KGF0dHJWYWx1ZSkpIHtcbiAgICByZXR1cm4gYXR0clZhbHVlLnJlcGxhY2UoQVRUUl9WQUxVRV9SRUdFWF9SRVBMQUNFLCBhdHRyVmFsdWVSZXBsYWNlcik7XG4gIH1cbiAgcmV0dXJuIGF0dHJWYWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZVRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKFRFWFRfUkVHRVhfVEVTVC50ZXN0KHRleHQpKSB7XG4gICAgcmV0dXJuIHRleHQucmVwbGFjZShURVhUX1JFR0VYX1JFUExBQ0UsIHRleHRSZXBsYWNlcik7XG4gIH1cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0QnlMb2MoYTogQVNUdjEuTm9kZSwgYjogQVNUdjEuTm9kZSk6IC0xIHwgMCB8IDEge1xuICAvLyBJZiBlaXRoZXIgaXMgaW52aXNpYmxlLCBkb24ndCB0cnkgdG8gb3JkZXIgdGhlbVxuICBpZiAoYS5sb2MuaXNJbnZpc2libGUgfHwgYi5sb2MuaXNJbnZpc2libGUpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIGlmIChhLmxvYy5zdGFydFBvc2l0aW9uLmxpbmUgPCBiLmxvYy5zdGFydFBvc2l0aW9uLmxpbmUpIHtcbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICBpZiAoXG4gICAgYS5sb2Muc3RhcnRQb3NpdGlvbi5saW5lID09PSBiLmxvYy5zdGFydFBvc2l0aW9uLmxpbmUgJiZcbiAgICBhLmxvYy5zdGFydFBvc2l0aW9uLmNvbHVtbiA8IGIubG9jLnN0YXJ0UG9zaXRpb24uY29sdW1uXG4gICkge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIGlmIChcbiAgICBhLmxvYy5zdGFydFBvc2l0aW9uLmxpbmUgPT09IGIubG9jLnN0YXJ0UG9zaXRpb24ubGluZSAmJlxuICAgIGEubG9jLnN0YXJ0UG9zaXRpb24uY29sdW1uID09PSBiLmxvYy5zdGFydFBvc2l0aW9uLmNvbHVtblxuICApIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHJldHVybiAxO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
|