UNPKG

ckn.server

Version:

28 lines (25 loc) 998 B
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 }