| "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; | |
| } |