| "use strict"; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| exports.convertChangesToXML = convertChangesToXML; |
| /** |
| * converts a list of change objects to a serialized XML format |
| */ |
| function convertChangesToXML(changes) { |
| const ret = []; |
| for (let i = 0; i < changes.length; i++) { |
| const change = changes[i]; |
| if (change.added) { |
| ret.push('<ins>'); |
| } |
| else if (change.removed) { |
| ret.push('<del>'); |
| } |
| ret.push(escapeHTML(change.value)); |
| if (change.added) { |
| ret.push('</ins>'); |
| } |
| else if (change.removed) { |
| ret.push('</del>'); |
| } |
| } |
| return ret.join(''); |
| } |
| function escapeHTML(s) { |
| let n = s; |
| n = n.replace(/&/g, '&'); |
| n = n.replace(/</g, '<'); |
| n = n.replace(/>/g, '>'); |
| n = n.replace(/"/g, '"'); |
| return n; |
| } |