angular-xml-editor
Version:
XML editor component for Angular
59 lines (58 loc) • 4.74 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
var XmlToolbox = /** @class */ (function () {
function XmlToolbox() {
}
/**
* @param {?} node
* @return {?}
*/
XmlToolbox.IsTextOrCommentNode = /**
* @param {?} node
* @return {?}
*/
function (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 {?}
*/
XmlToolbox.GetNodeDebugContext = /**
* @param {?} node
* @return {?}
*/
function (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 {?} */
var asElem = /** @type {?} */ (node);
if (asElem === undefined) {
return "localName: " + node.nodeName + ", nodeType:" + node.nodeType;
}
else {
return asElem.outerHTML;
}
};
return XmlToolbox;
}());
export { XmlToolbox };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sVG9vbGJveC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXIteG1sLWVkaXRvci8iLCJzb3VyY2VzIjpbImxpYi9jb2RlL3htbFRvb2xib3guY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUE7Ozs7Ozs7SUFNZ0IsOEJBQW1COzs7O2NBQUMsSUFBVTtRQUMxQyxRQUFRLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDckIsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3BCLEtBQUssSUFBSSxDQUFDLFlBQVk7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDO1lBQ2Q7Z0JBQ0UsT0FBTyxLQUFLLENBQUM7U0FDaEI7Ozs7Ozs7SUFLVyw4QkFBbUI7Ozs7Y0FBQyxJQUFVO1FBQzFDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ3ZDLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNwQyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDN0UsT0FBTyx3QkFBc0IsVUFBVSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUcsQ0FBQzthQUNoRjtpQkFBTTtnQkFDTCxPQUFPLGtCQUFnQixJQUFJLENBQUMsV0FBVyxNQUFHLENBQUM7YUFDNUM7U0FDRjs7UUFFRCxJQUFNLE1BQU0scUJBQUcsSUFBZSxFQUFDO1FBQy9CLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUN4QixPQUFPLGdCQUFjLElBQUksQ0FBQyxRQUFRLG1CQUFjLElBQUksQ0FBQyxRQUFVLENBQUM7U0FDakU7YUFBTTtZQUNMLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUN6Qjs7cUJBcENMO0lBc0NDLENBQUE7QUF0Q0Qsc0JBc0NDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFhtbFRvb2xib3gge1xyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gSXN0IGRpZXNlciBOb2RlIGVpbiBhbHMgVGV4dCBiZWFyYmVpdGJhcmVyIE5vZGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm5vZGVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHVibGljIHN0YXRpYyBJc1RleHRPckNvbW1lbnROb2RlKG5vZGU6IE5vZGUpOiBib29sZWFuIHtcclxuICAgIHN3aXRjaCAobm9kZS5ub2RlVHlwZSkge1xyXG4gICAgICBjYXNlIE5vZGUuVEVYVF9OT0RFOiAvLyB0ZXh0IG5vZGVcclxuICAgICAgY2FzZSBOb2RlLkNPTU1FTlRfTk9ERTpcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICAvLyByZXR1cm4gKChub2RlLm5vZGVUeXBlID09PSBTeXN0ZW0uWG1sLlhtbFRleHQpIHx8IChub2RlLm5vZGVUeXBlID09PSBTeXN0ZW0uWG1sLlhtbENvbW1lbnQpKTtcclxuICB9XHJcblxyXG4gIC8vIEdldHMgdGhlIGluZm8gdG8gaWRlbnRpZnkgYSBub2RlIGZvciBleGNlcHRpb24gb3IgZGVidWcgcHVycG9zZXNcclxuICBwdWJsaWMgc3RhdGljIEdldE5vZGVEZWJ1Z0NvbnRleHQobm9kZTogTm9kZSk6IHN0cmluZyB7XHJcbiAgICBpZiAobm9kZSA9PT0gbnVsbCB8fCBub2RlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuICdOVUxMJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcclxuICAgICAgaWYgKG5vZGUudGV4dENvbnRlbnQgPT09ICcgJyB8fCBub2RlLnRleHRDb250ZW50ID09PSBTdHJpbmcuZnJvbUNoYXJDb2RlKDE2MCkpIHtcclxuICAgICAgICByZXR1cm4gYFRleHRDb250ZW50IVBhcmVudD0ke1htbFRvb2xib3guR2V0Tm9kZURlYnVnQ29udGV4dChub2RlLnBhcmVudE5vZGUpfWA7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGBUZXh0Q29udGVudD0nJHtub2RlLnRleHRDb250ZW50fSdgO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYXNFbGVtID0gbm9kZSBhcyBFbGVtZW50O1xyXG4gICAgaWYgKGFzRWxlbSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBgbG9jYWxOYW1lOiAke25vZGUubm9kZU5hbWV9LCBub2RlVHlwZToke25vZGUubm9kZVR5cGV9YDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBhc0VsZW0ub3V0ZXJIVE1MO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=