@evolv-delivery/template
Version:
A minimal template engine
4 lines • 2.69 kB
JavaScript
(function () {
const fn = (function(){"use strict";function t(n){return t="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(n)}var n,o,e=(n=function(n){(function(){var o=(1e7*Math.random()).toString(36).toUpperCase(),e="data-evolv-event-handler",r=evolv.$mu;function c(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];this.strings=t,this.exps=n,this.eventHandlers=o}c.isComponent=function(n){return n&&"object"===t(n)&&n.constructor===c},c.prototype.evaluateTemplate=function(){var t=this;return this.strings.map((function(n,o){return e=n,r=t.exps[o],c.isComponent(r)?"".concat(e).concat(r.evaluateTemplate()):s.isHandler(r)?r.transformSnippet(e):Array.isArray(r)?r.map((function(t){return"".concat(e).concat(c.isComponent(t)?t.evaluateTemplate():t)})).join(""):"".concat(e).concat(r||"");var e,r})).join("").replace(/^[\n\r\s]+/,"")},c.prototype.css=function(t){return this.styles=t[0],this},c.prototype.render=function(n,o){(function(n,o){var i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"afterbegin",u=c.isComponent(n)?n.evaluateTemplate():n;function s(t){t.insertAdjacentHTML(a,u)}"string"==typeof o?r(o).customMutation((function(t,n){return s(n)})):(i=o)&&"object"===t(i)&&i.constructor===l?o.customMutation((function(t,n){return s(n)})):s(o),c.isComponent(n)&&f(n.exps),r("[".concat(e,"]")).customMutation((function(t,n){return n.removeAttribute(e)}))})(this,n,o)};var i,a=(i=1,function(){return"".concat(o,".").concat(i++)}),u=/@([a-zA-Z0-9_]+)=($| )/;function s(t,n,o){this.matches=t,this.id=n,this.fnc=o}function p(t){for(var n=null,o=arguments.length,e=new Array(o>1?o-1:0),r=1;r<o;r++)e[r-1]=arguments[r];var i=e.map((function(o,e){var r=t[e];return/>/.test(r)&&(n=null),o&&"function"==typeof o?n=(function(t,n,o){var e=t.match(u);return e&&"function"==typeof n?new s(e,o?o.id:a(),n):(console.warn("component failed to process",t,n),n)})(r,o,n):o}));return new c(t,i)}function f(t){t.forEach((function(t,n){c.isComponent(t)?f(t.exps):Array.isArray(t)?f(t):s.isHandler(t)&&t.applyHandler()}))}s.isHandler=function(n){return n&&"object"===t(n)&&n.constructor===s},s.prototype.transformSnippet=function(t){return t.replace(this.matches[0],"".concat(e,'="').concat(this.id,'"'))},s.prototype.applyHandler=function(){var t="[".concat(e,'="').concat(this.id,'"]'),n=this.matches[1];r(t).on(n,this.fnc)};var l=r("body").constructor;n.exports=function(t){window.html=p}})()},n(o={exports:{}},o.exports),o.exports);return{__proto__:null,default:e,__moduleExports:e}})().default;
fn({});
})();