babelute-html-dom-pragmatics
Version:
Pure DOM engine for babelue-html-lexicon
1 lines • 1.45 kB
JavaScript
;function _interopDefault(t){return t&&typeof t==="object"&&"default"in t?t["default"]:t}var babelute=_interopDefault(require("babelute"));var nomocasWebutils_lib_domUtils=require("nomocas-webutils/lib/dom-utils");var htmlLexicon=_interopDefault(require("babelute-html-lexicon"));var $baseOutput=babelute.FacadePragmatics.prototype.$output;var domPragmas=babelute.createFacadePragmatics({html:true},{tag:function t(e,n){var a=document.createElement(n[0]),i=n[1];var o=void 0;e.appendChild(a);for(var u=0,l=i.length;u<l;++u){o=i[u];if(typeof o==="undefined")continue;if(o&&o.__babelute__)this.$output(a,o);else a.appendChild(document.createTextNode(o))}},text:function t(e,n){e.appendChild(document.createTextNode(n[0]))},class:function t(e,n){if(n[0]&&(n.length===1||n[1]))e.classList.add(n[0])},classes:function t(e,n){var a=n[0].split(/\s+/);a.forEach(function(t){e.classList.add(t)})},style:function t(e,n){e.style[n[0]]=n[1]},attr:function t(e,n){e.setAttribute(n[0],n[1])},prop:function t(e,n){e[n[0]]=n[1]},data:function t(e,n){e.dataset[n[0]]=n[1]},id:function t(e,n){e.id=n[0]},on:function t(e,n){e.addEventListener(n[0],n[1])},onDom:function t(e,n){var a=n[0];if(a)a(e,null)},$output:function t(e,n){return $baseOutput.call(this,e,n).children},html:function t(e,n){if(n[0])nomocasWebutils_lib_domUtils.insertHTML(n[0],e)}});htmlLexicon.addAliases({$toDOM:function t(e){return domPragmas.$output(e,this)}});module.exports=domPragmas;