Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
DomHandler.prototype.oncdatastart = function(){
var properties = {
children: [{
data: "",
type: ElementType.Text
}],
type: ElementType.CDATA
};
var element = this._createDomElement(properties);
this._addDomElement(element);
this._tagStack.push(element);
};
function getOuterHTML(elem){
switch(elem.type){
case ElementType.Text:
return elem.data;
case ElementType.Comment:
return "";
case ElementType.Directive:
return "<" + elem.data + ">";
case ElementType.CDATA:
return "";
}
var ret = "<" + elem.name;
if("attribs" in elem){
for(var attr in elem.attribs){
if(elem.attribs.hasOwnProperty(attr)){
ret += " " + attr;
var value = elem.attribs[attr];
if(value == null){
if( !(attr in booleanAttribs) ){
ret += "=\"\"";
}
} else {
ret += "=\"" + value + "\"";
}
function getText(elem){
if(Array.isArray(elem)) return elem.map(getText).join("");
if(isTag(elem) || elem.type === ElementType.CDATA) return getText(elem.children);
if(elem.type === ElementType.Text) return elem.data;
return "";
}
DomHandler.prototype.oncdatastart = function(){
var element = {
children: [{
data: "",
type: ElementType.Text
}],
type: ElementType.CDATA
};
this._addDomElement(element);
this._tagStack.push(element);
};
DomHandler.prototype.oncdata = function(data){
var lastTag = this._tagStack[this._tagStack.length - 1];
if(lastTag && lastTag.type === ElementType.CDATA){
lastTag.data += data;
return;
}
var element = {
data: data,
type: ElementType.CDATA
};
this._addDomElement(element);
this._tagStack.push(element);
};
DomUtils.getOuterHTML = function(elem){
var type = elem.type;
if(type === ElementType.Text) return elem.data;
if(type === ElementType.Comment) return "";
if(type === ElementType.Directive) return "<" + elem.data + ">";
if(type === ElementType.CDATA) return "";
var ret = "<" + elem.name;
if("attribs" in elem){
for(var attr in elem.attribs){
if(elem.attribs.hasOwnProperty(attr)){
ret += " " + attr;
var value = elem.attribs[attr];
if(!value){
if( !(attr in booleanAttribs) ){
ret += '=""';
}
} else {
ret += '="' + value + '"';
}
}
}
function getText(elem){
if(Array.isArray(elem)) return elem.map(getText).join("");
if(isTag(elem) || elem.type === ElementType.CDATA) return getText(elem.children);
if(elem.type === ElementType.Text) return elem.data;
return "";
}
DomHandler.prototype.oncdatastart = function(){
var element = {
children: [{
data: "",
type: ElementType.Text
}],
type: ElementType.CDATA
};
this._addDomElement(element);
this._tagStack.push(element);
};
function getText(elem){
if(Array.isArray(elem)) return elem.map(getText).join("");
if(isTag(elem) || elem.type === ElementType.CDATA) return getText(elem.childNodes);
if(elem.type === ElementType.Text) return elem.data;
return "";
}