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; } } export function escapeAttrValue(attrValue) { if (ATTR_VALUE_REGEX_TEST.test(attrValue)) { return attrValue.replace(ATTR_VALUE_REGEX_REPLACE, attrValueReplacer); } return attrValue; } export function escapeText(text) { if (TEXT_REGEX_TEST.test(text)) { return text.replace(TEXT_REGEX_REPLACE, textReplacer); } return text; } export 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvZ2VuZXJhdGlvbi91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE1BQU0scUJBQXFCLEdBQUcsVUFBOUI7QUFDQSxNQUFNLHdCQUF3QixHQUFHLElBQUksTUFBSixDQUFXLHFCQUFxQixDQUFDLE1BQWpDLEVBQXlDLEdBQXpDLENBQWpDO0FBRUEsTUFBTSxlQUFlLEdBQUcsV0FBeEI7QUFDQSxNQUFNLGtCQUFrQixHQUFHLElBQUksTUFBSixDQUFXLGVBQWUsQ0FBQyxNQUEzQixFQUFtQyxHQUFuQyxDQUEzQjs7QUFFQSxTQUFTLGlCQUFULENBQTJCLElBQTNCLEVBQXVDO0FBQ3JDLFVBQVEsSUFBSSxDQUFDLFVBQUwsQ0FBZ0IsQ0FBaEIsQ0FBUjtBQUNFLFNBQUE7QUFBQTtBQUFBO0FBQ0UsYUFBTyxRQUFQOztBQUNGLFNBQUE7QUFBQTtBQUFBO0FBQ0UsYUFBTyxRQUFQOztBQUNGLFNBQUE7QUFBQTtBQUFBO0FBQ0UsYUFBTyxPQUFQOztBQUNGO0FBQ0UsYUFBTyxJQUFQO0FBUko7QUFVRDs7QUFFRCxTQUFTLFlBQVQsQ0FBc0IsSUFBdEIsRUFBa0M7QUFDaEMsVUFBUSxJQUFJLENBQUMsVUFBTCxDQUFnQixDQUFoQixDQUFSO0FBQ0UsU0FBQTtBQUFBO0FBQUE7QUFDRSxhQUFPLFFBQVA7O0FBQ0YsU0FBQTtBQUFBO0FBQUE7QUFDRSxhQUFPLE9BQVA7O0FBQ0YsU0FBQTtBQUFBO0FBQUE7QUFDRSxhQUFPLE1BQVA7O0FBQ0YsU0FBQTtBQUFBO0FBQUE7QUFDRSxhQUFPLE1BQVA7O0FBQ0Y7QUFDRSxhQUFPLElBQVA7QUFWSjtBQVlEOztBQUVELE9BQU0sU0FBVSxlQUFWLENBQTBCLFNBQTFCLEVBQTJDO0FBQy9DLE1BQUkscUJBQXFCLENBQUMsSUFBdEIsQ0FBMkIsU0FBM0IsQ0FBSixFQUEyQztBQUN6QyxXQUFPLFNBQVMsQ0FBQyxPQUFWLENBQWtCLHdCQUFsQixFQUE0QyxpQkFBNUMsQ0FBUDtBQUNEOztBQUNELFNBQU8sU0FBUDtBQUNEO0FBRUQsT0FBTSxTQUFVLFVBQVYsQ0FBcUIsSUFBckIsRUFBaUM7QUFDckMsTUFBSSxlQUFlLENBQUMsSUFBaEIsQ0FBcUIsSUFBckIsQ0FBSixFQUFnQztBQUM5QixXQUFPLElBQUksQ0FBQyxPQUFMLENBQWEsa0JBQWIsRUFBaUMsWUFBakMsQ0FBUDtBQUNEOztBQUNELFNBQU8sSUFBUDtBQUNEO0FBRUQsT0FBTSxTQUFVLFNBQVYsQ0FBb0IsQ0FBcEIsRUFBbUMsQ0FBbkMsRUFBZ0Q7QUFDcEQ7QUFDQSxNQUFJLENBQUMsQ0FBQyxHQUFGLENBQU0sV0FBTixJQUFxQixDQUFDLENBQUMsR0FBRixDQUFNLFdBQS9CLEVBQTRDO0FBQzFDLFdBQU8sQ0FBUDtBQUNEOztBQUVELE1BQUksQ0FBQyxDQUFDLEdBQUYsQ0FBTSxhQUFOLENBQW9CLElBQXBCLEdBQTJCLENBQUMsQ0FBQyxHQUFGLENBQU0sYUFBTixDQUFvQixJQUFuRCxFQUF5RDtBQUN2RCxXQUFPLENBQUMsQ0FBUjtBQUNEOztBQUVELE1BQ0UsQ0FBQyxDQUFDLEdBQUYsQ0FBTSxhQUFOLENBQW9CLElBQXBCLEtBQTZCLENBQUMsQ0FBQyxHQUFGLENBQU0sYUFBTixDQUFvQixJQUFqRCxJQUNBLENBQUMsQ0FBQyxHQUFGLENBQU0sYUFBTixDQUFvQixNQUFwQixHQUE2QixDQUFDLENBQUMsR0FBRixDQUFNLGFBQU4sQ0FBb0IsTUFGbkQsRUFHRTtBQUNBLFdBQU8sQ0FBQyxDQUFSO0FBQ0Q7O0FBRUQsTUFDRSxDQUFDLENBQUMsR0FBRixDQUFNLGFBQU4sQ0FBb0IsSUFBcEIsS0FBNkIsQ0FBQyxDQUFDLEdBQUYsQ0FBTSxhQUFOLENBQW9CLElBQWpELElBQ0EsQ0FBQyxDQUFDLEdBQUYsQ0FBTSxhQUFOLENBQW9CLE1BQXBCLEtBQStCLENBQUMsQ0FBQyxHQUFGLENBQU0sYUFBTixDQUFvQixNQUZyRCxFQUdFO0FBQ0EsV0FBTyxDQUFQO0FBQ0Q7O0FBRUQsU0FBTyxDQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBBU1R2MSBmcm9tICcuLi92MS9hcGknO1xuXG5jb25zdCBlbnVtIENoYXIge1xuICBOQlNQID0gMHhhMCxcbiAgUVVPVCA9IDB4MjIsXG4gIExUID0gMHgzYyxcbiAgR1QgPSAweDNlLFxuICBBTVAgPSAweDI2LFxufVxuXG5jb25zdCBBVFRSX1ZBTFVFX1JFR0VYX1RFU1QgPSAvW1xceEEwXCImXS87XG5jb25zdCBBVFRSX1ZBTFVFX1JFR0VYX1JFUExBQ0UgPSBuZXcgUmVnRXhwKEFUVFJfVkFMVUVfUkVHRVhfVEVTVC5zb3VyY2UsICdnJyk7XG5cbmNvbnN0IFRFWFRfUkVHRVhfVEVTVCA9IC9bXFx4QTAmPD5dLztcbmNvbnN0IFRFWFRfUkVHRVhfUkVQTEFDRSA9IG5ldyBSZWdFeHAoVEVYVF9SRUdFWF9URVNULnNvdXJjZSwgJ2cnKTtcblxuZnVuY3Rpb24gYXR0clZhbHVlUmVwbGFjZXIoY2hhcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgc3dpdGNoIChjaGFyLmNoYXJDb2RlQXQoMCkpIHtcbiAgICBjYXNlIENoYXIuTkJTUDpcbiAgICAgIHJldHVybiAnJm5ic3A7JztcbiAgICBjYXNlIENoYXIuUVVPVDpcbiAgICAgIHJldHVybiAnJnF1b3Q7JztcbiAgICBjYXNlIENoYXIuQU1QOlxuICAgICAgcmV0dXJuICcmYW1wOyc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjaGFyO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRleHRSZXBsYWNlcihjaGFyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBzd2l0Y2ggKGNoYXIuY2hhckNvZGVBdCgwKSkge1xuICAgIGNhc2UgQ2hhci5OQlNQOlxuICAgICAgcmV0dXJuICcmbmJzcDsnO1xuICAgIGNhc2UgQ2hhci5BTVA6XG4gICAgICByZXR1cm4gJyZhbXA7JztcbiAgICBjYXNlIENoYXIuTFQ6XG4gICAgICByZXR1cm4gJyZsdDsnO1xuICAgIGNhc2UgQ2hhci5HVDpcbiAgICAgIHJldHVybiAnJmd0Oyc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjaGFyO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVBdHRyVmFsdWUoYXR0clZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoQVRUUl9WQUxVRV9SRUdFWF9URVNULnRlc3QoYXR0clZhbHVlKSkge1xuICAgIHJldHVybiBhdHRyVmFsdWUucmVwbGFjZShBVFRSX1ZBTFVFX1JFR0VYX1JFUExBQ0UsIGF0dHJWYWx1ZVJlcGxhY2VyKTtcbiAgfVxuICByZXR1cm4gYXR0clZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlVGV4dCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoVEVYVF9SRUdFWF9URVNULnRlc3QodGV4dCkpIHtcbiAgICByZXR1cm4gdGV4dC5yZXBsYWNlKFRFWFRfUkVHRVhfUkVQTEFDRSwgdGV4dFJlcGxhY2VyKTtcbiAgfVxuICByZXR1cm4gdGV4dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRCeUxvYyhhOiBBU1R2MS5Ob2RlLCBiOiBBU1R2MS5Ob2RlKTogLTEgfCAwIHwgMSB7XG4gIC8vIElmIGVpdGhlciBpcyBpbnZpc2libGUsIGRvbid0IHRyeSB0byBvcmRlciB0aGVtXG4gIGlmIChhLmxvYy5pc0ludmlzaWJsZSB8fCBiLmxvYy5pc0ludmlzaWJsZSkge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgaWYgKGEubG9jLnN0YXJ0UG9zaXRpb24ubGluZSA8IGIubG9jLnN0YXJ0UG9zaXRpb24ubGluZSkge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIGlmIChcbiAgICBhLmxvYy5zdGFydFBvc2l0aW9uLmxpbmUgPT09IGIubG9jLnN0YXJ0UG9zaXRpb24ubGluZSAmJlxuICAgIGEubG9jLnN0YXJ0UG9zaXRpb24uY29sdW1uIDwgYi5sb2Muc3RhcnRQb3NpdGlvbi5jb2x1bW5cbiAgKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgaWYgKFxuICAgIGEubG9jLnN0YXJ0UG9zaXRpb24ubGluZSA9PT0gYi5sb2Muc3RhcnRQb3NpdGlvbi5saW5lICYmXG4gICAgYS5sb2Muc3RhcnRQb3NpdGlvbi5jb2x1bW4gPT09IGIubG9jLnN0YXJ0UG9zaXRpb24uY29sdW1uXG4gICkge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcmV0dXJuIDE7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9