angular-xml-editor
Version:
XML editor component for Angular
47 lines (46 loc) • 4.46 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
export class XmlToolbox {
/**
* @param {?} node
* @return {?}
*/
static IsTextOrCommentNode(node) {
switch (node.nodeType) {
case Node.TEXT_NODE: // text node
case Node.COMMENT_NODE:
return true;
default:
return false;
}
// return ((node.nodeType === System.Xml.XmlText) || (node.nodeType === System.Xml.XmlComment));
}
/**
* @param {?} node
* @return {?}
*/
static GetNodeDebugContext(node) {
if (node === null || node === undefined) {
return 'NULL';
}
if (node.nodeType === Node.TEXT_NODE) {
if (node.textContent === ' ' || node.textContent === String.fromCharCode(160)) {
return `TextContent!Parent=${XmlToolbox.GetNodeDebugContext(node.parentNode)}`;
}
else {
return `TextContent='${node.textContent}'`;
}
}
/** @type {?} */
const asElem = /** @type {?} */ (node);
if (asElem === undefined) {
return `localName: ${node.nodeName}, nodeType:${node.nodeType}`;
}
else {
return asElem.outerHTML;
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sVG9vbGJveC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXIteG1sLWVkaXRvci8iLCJzb3VyY2VzIjpbImxpYi9jb2RlL3htbFRvb2xib3guY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU07Ozs7O0lBTUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQVU7UUFDMUMsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JCLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNwQixLQUFLLElBQUksQ0FBQyxZQUFZO2dCQUNwQixPQUFPLElBQUksQ0FBQztZQUNkO2dCQUNFLE9BQU8sS0FBSyxDQUFDO1NBQ2hCOzs7Ozs7O0lBS0ksTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQVU7UUFDMUMsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdkMsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3BDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM3RSxPQUFPLHNCQUFzQixVQUFVLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7YUFDaEY7aUJBQU07Z0JBQ0wsT0FBTyxnQkFBZ0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO2FBQzVDO1NBQ0Y7O1FBRUQsTUFBTSxNQUFNLHFCQUFHLElBQWUsRUFBQztRQUMvQixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDeEIsT0FBTyxjQUFjLElBQUksQ0FBQyxRQUFRLGNBQWMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pFO2FBQU07WUFDTCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FDekI7O0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgWG1sVG9vbGJveCB7XHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBJc3QgZGllc2VyIE5vZGUgZWluIGFscyBUZXh0IGJlYXJiZWl0YmFyZXIgTm9kZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibm9kZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBwdWJsaWMgc3RhdGljIElzVGV4dE9yQ29tbWVudE5vZGUobm9kZTogTm9kZSk6IGJvb2xlYW4ge1xyXG4gICAgc3dpdGNoIChub2RlLm5vZGVUeXBlKSB7XHJcbiAgICAgIGNhc2UgTm9kZS5URVhUX05PREU6IC8vIHRleHQgbm9kZVxyXG4gICAgICBjYXNlIE5vZGUuQ09NTUVOVF9OT0RFOlxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIC8vIHJldHVybiAoKG5vZGUubm9kZVR5cGUgPT09IFN5c3RlbS5YbWwuWG1sVGV4dCkgfHwgKG5vZGUubm9kZVR5cGUgPT09IFN5c3RlbS5YbWwuWG1sQ29tbWVudCkpO1xyXG4gIH1cclxuXHJcbiAgLy8gR2V0cyB0aGUgaW5mbyB0byBpZGVudGlmeSBhIG5vZGUgZm9yIGV4Y2VwdGlvbiBvciBkZWJ1ZyBwdXJwb3Nlc1xyXG4gIHB1YmxpYyBzdGF0aWMgR2V0Tm9kZURlYnVnQ29udGV4dChub2RlOiBOb2RlKTogc3RyaW5nIHtcclxuICAgIGlmIChub2RlID09PSBudWxsIHx8IG5vZGUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gJ05VTEwnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkge1xyXG4gICAgICBpZiAobm9kZS50ZXh0Q29udGVudCA9PT0gJyAnIHx8IG5vZGUudGV4dENvbnRlbnQgPT09IFN0cmluZy5mcm9tQ2hhckNvZGUoMTYwKSkge1xyXG4gICAgICAgIHJldHVybiBgVGV4dENvbnRlbnQhUGFyZW50PSR7WG1sVG9vbGJveC5HZXROb2RlRGVidWdDb250ZXh0KG5vZGUucGFyZW50Tm9kZSl9YDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gYFRleHRDb250ZW50PScke25vZGUudGV4dENvbnRlbnR9J2A7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhc0VsZW0gPSBub2RlIGFzIEVsZW1lbnQ7XHJcbiAgICBpZiAoYXNFbGVtID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIGBsb2NhbE5hbWU6ICR7bm9kZS5ub2RlTmFtZX0sIG5vZGVUeXBlOiR7bm9kZS5ub2RlVHlwZX1gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGFzRWxlbS5vdXRlckhUTUw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==