@rr0/cms
Version:
RR0 Content Management System (CMS)
19 lines (18 loc) • 561 B
JavaScript
export class HtmlTag {
constructor(name, innerHTML, attrs = {}) {
this.name = name;
this.innerHTML = innerHTML;
this.attrs = attrs;
}
static toString(name, innerHTML, attrs = {}) {
const attr = Object.entries(attrs).reduce((prev, curr) => {
const [k, v] = curr;
prev = prev + ` ${k}="${v}"`;
return prev;
}, "");
return `<${name}${attr}>${innerHTML}</${name}>`;
}
toString() {
return HtmlTag.toString(this.name, this.innerHTML, this.attrs);
}
}