UNPKG

@documentica/webdav

Version:
73 lines (72 loc) 2.21 kB
"use strict"; 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;