-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtdeb.min.js
More file actions
8 lines (8 loc) · 1.71 KB
/
Copy pathtdeb.min.js
File metadata and controls
8 lines (8 loc) · 1.71 KB
1
2
3
4
5
6
7
8
/**
* tdeb.js v3 - Tiny DOM Element Builder
* DOM elements without the pain. Zero dependencies. No Virtual DOM.
*
* @author Shinon
* @license MIT
*/
!function(e){"use strict";function t(e){var t=document.createElement("div");t.innerHTML=e;for(var r=document.createDocumentFragment();t.firstChild;)r.appendChild(t.firstChild);return r}function r(e,t){for(var r=[],n=0;n<e.length;n++)r.push(e[n]),n<e.length-1&&r.push(t);return r}function n(e,t,r){var n=document.createElement(e),o={},a=[];for(var i in null!=t&&("[object Array]"===Object.prototype.toString.call(t)||"string"==typeof t||"number"==typeof t||t&&t.nodeType)?a=t:(o=t||{},a=r||[]),o)if(o.hasOwnProperty(i)){var s=o[i];if(null!=s){if(0===i.indexOf("on")&&"function"==typeof s)n.addEventListener(i.substring(2).toLowerCase(),s,!1);else if("className"===i||"classList"===i||"class"===i){if("[object Array]"===Object.prototype.toString.call(s)){for(var l=[],f=0;f<s.length;f++)s[f]&&l.push(s[f]);n.className=l.join(" ")}else"string"==typeof s&&(n.className=s)}else if("dataset"===i&&"object"==typeof s){for(var p in s)if(s.hasOwnProperty(p)){if(n.dataset)n.dataset[p]=s[p];else{var c="data-"+p.replace(/([A-Z])/g,"-$1").toLowerCase();n.setAttribute(c,s[p])}}}else if("style"===i&&"object"==typeof s)for(var d in s)s.hasOwnProperty(d)&&(n.style[d]=s[d]);else i in n?n[i]=s:n.setAttribute(i,s)}}return!function e(t){if(null!=t&&!1!==t){if("[object Array]"===Object.prototype.toString.call(t))for(var r=0;r<t.length;r++)e(t[r]);else t&&t.nodeType?n.appendChild(t):n.appendChild(document.createTextNode(String(t)))}}(a),n}"undefined"!=typeof module&&module.exports?module.exports={el:n,htmlToNodes:t,interleave:r}:(e.el=n,e.htmlToNodes=t,e.interleave=r)}("undefined"!=typeof window?window:this);