35 lines
898 B
JavaScript
35 lines
898 B
JavaScript
"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) {
|
|
var ret = [];
|
|
for (var i = 0; i < changes.length; i++) {
|
|
var 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) {
|
|
var n = s;
|
|
n = n.replace(/&/g, '&');
|
|
n = n.replace(/</g, '<');
|
|
n = n.replace(/>/g, '>');
|
|
n = n.replace(/"/g, '"');
|
|
return n;
|
|
}
|