ckn.server
Version:
28 lines (25 loc) • 998 B
JavaScript
import { JSDOM } from 'jsdom'
class CKNView {
constructor() {
this.template = null;
this.style = null;
this.script = null;
}
}
CKNView.register = (viewName, viewContent) => {
let dom = new JSDOM(viewContent);
let template = dom.window.document.querySelector("template");
template.innerHTML = template.innerHTML.trim();
let script = dom.window.document.querySelector("script");
let style = dom.window.document.querySelector("style");
let child = new JSDOM(template.innerHTML);
child.window.document.body.childNodes[0].classList.add(viewName);
child.window.document.body.childNodes[0].classList.add("ckn");
template.innerHTML = child.window.document.body.innerHTML;
let output = new CKNView();
output.template = template == null ? null : template.innerHTML;
output.script = script == null ? null : script.innerHTML;
output.style = style == null ? null : style.innerHTML;
return output;
}
export { CKNView }