@documentica/webdav
Version:
Documentica Webdav Client
73 lines (72 loc) • 2.21 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const getParsedPrivilege = (nodeList) => {
if (nodeList.length > 0) {
for (var key = 0; key < nodeList.length; key++) {
var node = nodeList.item(key);
if ((node.nodeType === 1)) {
return node.localName;
}
}
}
;
return null;
};
const getParsedSupportedPrivilege = (nodeList) => {
let result = {
privilege: undefined,
description: undefined,
supportedPrivilege: [],
abstract: false
};
if (nodeList.length > 0) {
for (var key = 0; key < nodeList.length; key++) {
var node = nodeList.item(key);
if ((node.nodeType === 1)) {
const localName = node.localName;
if (localName == "supported-privilege") {
result.supportedPrivilege = [...result.supportedPrivilege, getParsedSupportedPrivilege(node.childNodes)];
}
else if (localName == "privilege") {
result.privilege = getParsedPrivilege(node.childNodes);
}
else if (localName == "description") {
result.description = node.textContent;
}
else if (localName == "abstract") {
result.abstract = true;
}
else {
console.log("unknown node type", localName);
}
}
}
}
return result;
};
function fromXML(nodelist) {
let result = [];
for (var key = 0; key < nodelist.length; key++) {
var node = nodelist.item(key);
if ((node.nodeType === 1)) {
result = [...result, getParsedSupportedPrivilege(node.childNodes)];
}
}
return result;
}
exports.fromXML = fromXML;
;
function toXML(value, xmlDoc) {
for (var key in value) {
var privilege = xmlDoc.createElementNS(value[key].namespace, value[key].tagname);
xmlDoc.documentElement.appendChild(privilege);
}
return xmlDoc;
}
exports.toXML = toXML;
;
const codec = {
fromXML,
toXML
};
exports.default = codec;
;