tag
Version:
Library for creating DOM elements
2 lines (1 loc) • 1.31 kB
JavaScript
var tag=function(){"use strict";function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(t){return"string"==typeof t}var c=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],e=function(t){return!(!t||!t.nodeType)};function f(t,n){if(e(n))t.appendChild(n);else{var r=document.createElement("div");for(r.innerHTML=n||"";r.firstChild;)t.appendChild(r.firstChild)}}function o(i){return function(){var t,n,r=document.createElement(i),e=null===(t=arguments.length<=0?void 0:arguments[0])||"object"!==u(t)||Array.isArray(t)?{}:arguments.length<=0?void 0:arguments[0],o=2===arguments.length?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0];return Object.keys(e).forEach(function(t){return r.setAttribute(t,e[t])}),Array.isArray(o)&&o.forEach(function(t){return f(r,t)}),!a(o)||(n=i.toLowerCase(),0<=c.indexOf(n))||f(r,o),r}}return function(t){if(!a(t))throw new Error("[tag] First argument must be String and can not be empty");for(var n=arguments.length,r=new Array(1<n?n-1:0),e=1;e<n;e++)r[e-1]=arguments[e];return o(t).apply(null,r)}}();