@kosatyi/ejs 0.0.100 → 0.0.102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/browser.js +65 -25
- package/dist/cjs/index.js +65 -25
- package/dist/cjs/worker.js +65 -25
- package/dist/esm/browser.js +110 -74
- package/dist/esm/index.js +110 -74
- package/dist/esm/worker.js +110 -74
- package/dist/umd/browser.js +65 -25
- package/dist/umd/browser.min.js +1 -1
- package/dist/umd/index.js +65 -25
- package/dist/umd/index.min.js +1 -1
- package/dist/umd/worker.js +65 -25
- package/dist/umd/worker.min.js +1 -1
- package/package.json +1 -1
- package/types/ejs.d.ts +2 -1
package/dist/umd/browser.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ejs={})}(this,(function(t){"use strict";function e(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}function n(t,e,n){return e=h(e),function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,p()?Reflect.construct(e,n||[],h(t).constructor):e.apply(t,n))}function r(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,n){return t.get(e(t,n))}function u(t,e,n){r(t,e),e.set(t,n)}function c(t,n,r){return t.set(e(t,n),r),r}function s(t,e){r(t,e),e.add(t)}function a(t,e,n){return e&&function(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,y(r.key),r)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function f(t,e,n){return(e=y(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function h(t){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},h(t)}function l(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&v(t,e)}function p(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(p=function(){return!!t})()}function v(t,e){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},v(t,e)}function y(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t,"string");return"symbol"==typeof e?e:e+""}function g(t){var e="function"==typeof Map?new Map:void 0;return g=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return function(t,e,n){if(p())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&v(i,n.prototype),i}(t,arguments,h(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,t)},g(t)}var d=function(){var t=[].slice.call(arguments),e=t.shift();return t.filter(e).pop()},b=function(t){return Array.isArray(t)},w=function(t){return"function"==typeof t},m=function(t){return"string"==typeof t},k=function(t){return"boolean"==typeof t},E=function(t){return void 0===t},j="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0),O={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},x={"&":"&","<":"<",">":">",'"':""","'":"'"},P=function(t){return new RegExp(["[",Object.keys(t).join(""),"]"].join(""),"g")},M=P(x),S=P(O),F=function(){return(""+(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"")).replace(M,(function(t){return x[t]}))},T=function(t,e){var n=t;return null==n?"":!0===Boolean(e)?F(n):n},W=function(t,e){if(!1===function(t,e){return Boolean(t instanceof e)}(t,e))throw new TypeError("".concat(t," in not instance of ").concat(e))},B=function(t,e,n){for(var r=t,i=String(e).split("."),o=i.pop(),u=0;u<i.length;u++){var c=i[u];if(w(r.toJSON)&&(r=r.toJSON()),n&&!1===r.hasOwnProperty(c)){r={};break}r=r[c]=r[c]||{}}return w(r.toJSON)&&(r=r.toJSON()),[r,o]},R=function(t,e){var n=t.split(".").pop();return n!==e&&(t=[t,e].join(".")),t},A=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return n.filter((function(t){return t})).reduce((function(t,e){return Object.assign(t,e)}),t)},N=function(){},C=function(t,e){var n;for(n in t)L(t,n)&&e(t[n],n,t)},$=function(t,e){return function(t,e){var n=t instanceof Array,r=n?[]:{};return C(t,(function(t,i,o){var u=e(t,i,o);!1===E(u)&&(n?r.push(u):r[i]=u)})),r}(t,(function(t,n){if(-1===e.indexOf(n))return t}))},L=function(t,e){return t&&t.hasOwnProperty(e)},U={export:"ejsPrecompiled",cache:!0,chokidar:null,path:"views",resolver:function(t,e){return Promise.resolve(["resolver is not defined",t,e].join(" "))},extension:"ejs",rmWhitespace:!0,withObject:!0,globalHelpers:[],vars:{SCOPE:"ejs",COMPONENT:"ui",ELEMENT:"el",EXTEND:"$$e",BUFFER:"$$a",LAYOUT:"$$l",BLOCKS:"$$b",MACRO:"$$m",SAFE:"$$v"},token:{start:"<%",end:"%>",regex:"([\\s\\S]+?)"}},_=function(t,e){A(t,{path:d(m,U.path,t.path,e.path),export:d(m,U.export,t.export,e.export),resolver:d(w,U.resolver,t.resolver,e.resolver),extension:d(m,U.extension,t.extension,e.extension),withObject:d(k,U.withObject,t.withObject,e.withObject),rmWhitespace:d(k,U.rmWhitespace,t.rmWhitespace,e.rmWhitespace),cache:d(k,U.cache,t.cache,e.cache),token:A({},U.token,t.token,e.token),vars:A({},U.vars,t.vars,e.vars),globalHelpers:d(b,U.globalHelpers,t.globalHelpers,e.globalHelpers)})},H="undefined"!=typeof globalThis?globalThis:window||self,q=new WeakMap,J=new WeakMap,D=function(){return a((function t(e){i(this,t),u(this,q,!0),u(this,J,{}),this.configure(e)}),[{key:"load",value:function(t){o(q,this)&&A(o(J,this),t||{})}},{key:"get",value:function(t){if(o(q,this))return o(J,this)[t]}},{key:"set",value:function(t,e){o(q,this)&&(o(J,this)[t]=e)}},{key:"exist",value:function(t){return L(o(J,this),t)}},{key:"clear",value:function(){c(J,this,{})}},{key:"remove",value:function(t){delete o(J,this)[t]}},{key:"resolve",value:function(t){return Promise.resolve(this.get(t))}},{key:"configure",value:function(t){c(q,this,t.cache),!1===j&&this.load(H[t.export])}}])}(),K=new WeakMap,V=new WeakMap,X=function(){return a((function t(e){i(this,t),u(this,K,{}),u(this,V,[{symbol:"-",format:function(t){return"')\n".concat(this.BUFFER,"(").concat(this.SAFE,"(").concat(t,",1))\n").concat(this.BUFFER,"('")}},{symbol:"=",format:function(t){return"')\n".concat(this.BUFFER,"(").concat(this.SAFE,"(").concat(t,"))\n").concat(this.BUFFER,"('")}},{symbol:"#",format:function(t){return"')\n/**".concat(t,"**/\n").concat(this.BUFFER,"('")}},{symbol:"",format:function(t){return"')\n".concat(t.trim(),"\n").concat(this.BUFFER,"('")}}]),this.configure(e)}),[{key:"configure",value:function(t){var e=this;o(K,this).withObject=t.withObject,o(K,this).rmWhitespace=t.rmWhitespace,o(K,this).token=t.token,o(K,this).vars=t.vars,o(K,this).globalHelpers=t.globalHelpers,o(K,this).matches=[],o(K,this).formats=[],o(K,this).slurp={match:"[s\t\n]*",start:[o(K,this).token.start,"_"],end:["_",o(K,this).token.end]},o(V,this).forEach((function(t){o(K,e).matches.push(o(K,e).token.start.concat(t.symbol).concat(o(K,e).token.regex).concat(o(K,e).token.end)),o(K,e).formats.push(t.format.bind(o(K,e).vars))})),o(K,this).regex=new RegExp(o(K,this).matches.join("|").concat("|$"),"g"),o(K,this).slurpStart=new RegExp([o(K,this).slurp.match,o(K,this).slurp.start.join("")].join(""),"gm"),o(K,this).slurpEnd=new RegExp([o(K,this).slurp.end.join(""),o(K,this).slurp.match].join(""),"gm")}},{key:"compile",value:function(t,e){var n=this,r=o(K,this).vars,i=r.SCOPE,u=r.SAFE,c=r.BUFFER,s=r.COMPONENT,a=r.ELEMENT,f=o(K,this).globalHelpers;o(K,this).rmWhitespace&&(t=String(t).replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),t=String(t).replace(o(K,this).slurpStart,o(K,this).token.start).replace(o(K,this).slurpEnd,o(K,this).token.end);var h,l,p,v="".concat(c,"('");h=o(K,this).regex,l=function(e,r,i){v+=(""+t.slice(r,i)).replace(S,(function(t){return"\\"+O[t]})),e.forEach((function(t,e){t&&(v+=o(K,n).formats[e](t))}))},p=0,t.replace(h,(function(){var t=[].slice.call(arguments,0,-1),e=t.pop(),n=t.shift();return l(t,p,e),p=e+n.length,n})),v="try{".concat(v+="');","}catch(e){return ").concat(c,".error(e)}"),o(K,this).withObject&&(v="with(".concat(i,"){").concat(v,"}")),v="".concat(c,".start();").concat(v,"return ").concat(c,".end();"),v+="\n//# sourceURL=".concat(e);var y=null,g=[i,c,u,s,a].concat(f);try{(y=Function.apply(null,g.concat(v))).source="(function(".concat(g.join(","),"){\n").concat(v,"\n});")}catch(t){throw t.filename=e,t.source=v,t}return y}}])}(),Y=new WeakMap,z=new WeakMap,G=new WeakMap,I=new WeakMap,Q=new WeakSet,Z=function(){return a((function t(e,n,r){i(this,t),s(this,Q),u(this,Y,void 0),u(this,z,void 0),u(this,G,void 0),u(this,I,void 0),W(n,D),W(r,X),c(z,this,n),c(G,this,r),this.configure(e)}),[{key:"configure",value:function(t){c(Y,this,t.path),w(t.resolver)&&c(I,this,t.resolver)}},{key:"get",value:function(t){var n=this;return o(z,this).exist(t)?o(z,this).resolve(t):e(Q,this,tt).call(this,t).then((function(r){return e(Q,n,et).call(n,t,e(Q,n,nt).call(n,r,t))}))}}])}();function tt(t){return o(I,this).call(this,o(Y,this),t)}function et(t,e){return o(z,this).set(t,e),e}function nt(t,e){return w(t)?t:o(G,this).compile(t,e)}var rt=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],it=" ",ot='"',ut="/",ct="<",st=">",at=function(t,e,n){var r=[],i=-1===rt.indexOf(t),o=function(t,e){var n=[];return C(t,(function(t,r,i){var o=e(t,r,i);!1===E(o)&&n.push(o)})),n}(e,(function(t,e){if(null!=t)return[F(e),[ot,F(t),ot].join("")].join("=")})).join(it);return r.push([ct,t,it,o,st].join("")),n&&i&&r.push(n instanceof Array?n.join(""):n),i&&r.push([ct,ut,t,st].join("")),r.join("")},ft=function(t){function e(t){var r;return i(this,e),f(r=n(this,e),"code",0),r.message=t,r}return l(e,t),a(e,[{key:"getCode",value:function(){return this.code}},{key:"getMessage",value:function(){return this.message}},{key:"toString",value:function(){return this.getMessage()}}])}(g(Error)),ht=function(t){function e(){var t;i(this,e);for(var r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];return f(t=n(this,e,[].concat(o)),"code",404),t}return l(e,t),a(e)}(ft),lt=function(t){function e(){var t;i(this,e);for(var r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];return f(t=n(this,e,[].concat(o)),"code",500),t}return l(e,t),a(e)}(ft);function pt(t){return Promise.all(t||[]).then((function(t){return t.join("")})).catch((function(t){return t}))}function vt(){var t=[],e=[],n=function(t){e.push(t)};return n.start=function(){e=[]},n.backup=function(){t.push(e.concat()),e=[]},n.restore=function(){var n=e.concat();return e=t.pop(),pt(n)},n.error=function(t){return e=t,Promise.reject(new lt(e.message));var e},n.end=function(){return pt(e)},n}var yt=new WeakMap,gt=function(){return a((function t(e,n){i(this,t),u(this,yt,void 0),this.configure(e,n)}),[{key:"create",value:function(t){return new(o(yt,this))(t)}},{key:"configure",value:function(t,e){c(yt,this,function(t,e){var n=t.vars,r=n.BLOCKS,i=n.MACRO,o=n.EXTEND,u=n.LAYOUT,c=n.BUFFER,s=n.SAFE,a=n.SCOPE,f=n.COMPONENT,h=n.ELEMENT;function l(t){this[r]={},this[i]={},Object.assign(this,$(t,[a,c,s,f,h]))}return Object.assign(l.prototype,e),Object.defineProperty(l.prototype,c,{value:vt()}),Object.defineProperty(l.prototype,r,{value:{},writable:!0}),Object.defineProperty(l.prototype,i,{value:{},writable:!0}),Object.defineProperty(l.prototype,u,{value:!1,writable:!0}),Object.defineProperty(l.prototype,o,{value:!1,writable:!0}),Object.defineProperties(l.prototype,{useSafeValue:{get:function(){return T}},useComponent:{get:function(){return w(this[f])?this[f].bind(this):function(){throw new Error("".concat(f," must be a function"))}}},useElement:{get:function(){return w(this[h])?this[h].bind(this):function(){throw new Error("".concat(h," must be a function"))}}},getMacro:{value:function(){return this[i]}},getBuffer:{value:function(){return this[c]}},getBlocks:{value:function(){return this[r]}},setExtend:{value:function(t){this[o]=t}},getExtend:{value:function(){return this[o]}},setLayout:{value:function(t){this[u]=t}},getLayout:{value:function(){return this[u]}},clone:{value:function(t){var e=[u,o,c];return!0===t&&e.push(r),$(this,e)}},extend:{value:function(t){this.setExtend(!0),this.setLayout(t)}},echo:{value:function(t){var e=this.getBuffer();[].slice.call(arguments).forEach(e)}},fn:{value:function(t){var e=this.getBuffer(),n=this;return function(){if(w(t))return e.backup(),e(t.apply(n,arguments)),e.restore()}}},macro:{value:function(t,e){var n=this.getMacro(),r=this.fn(e),i=this;n[t]=function(){return i.echo(r.apply(void 0,arguments))}}},call:{value:function(t){var e=this.getMacro()[t],n=[].slice.call(arguments,1);if(w(e))return e.apply(e,n)}},block:{value:function(t,e){var n=this,r=this.getBlocks();if(r[t]=r[t]||[],r[t].push(this.fn(e)),!this.getExtend()){var i=Object.assign([],r[t]),o=function(){return i.shift()},u=function(){var t=o();return t?function(){n.echo(t(u()))}:N};this.echo(o()(u()))}}},hasBlock:{value:function(t){return this.getBlocks().hasOwnProperty(t)}},include:{value:function(t,e,n){var r=!1===n?{}:this.clone(!0),i=A(r,e||{}),o=this.render(t,i);this.echo(o)}},use:{value:function(t,e){var n=this;this.echo(Promise.resolve(this.require(t)).then((function(t){var r=n.getMacro();C(t,(function(t,n){r[[e,n].join(".")]=t}))})))}},async:{value:function(t,e){this.echo(Promise.resolve(t).then(e))}},get:{value:function(t,e){var n=B(this,t,!0),r=n.shift(),i=n.pop();return L(r,i)?r[i]:e}},set:{value:function(t,e){var n=B(this,t,!1),r=n.shift(),i=n.pop();return this.getExtend()&&L(r,i)?r[i]:r[i]=e}},each:{value:function(t,e){m(t)&&(t=this.get(t,[])),C(t,e)},writable:!0},el:{value:function(t,e,n){n=w(n)?this.fn(n)():n,this.echo(Promise.resolve(n).then((function(n){return at(t,e,n)})))},writable:!0},ui:{value:function(t){},writable:!0}}),l}(t,e))}},{key:"helpers",value:function(t){A(o(yt,this).prototype,t||{})}}])}(),dt=new WeakMap,bt=new WeakMap,wt=new WeakMap,mt=new WeakMap,kt=new WeakMap,Et=new WeakMap,jt=new WeakSet,Ot=function(){return a((function t(e){i(this,t),s(this,jt),u(this,dt,{}),u(this,bt,{}),u(this,wt,void 0),u(this,mt,void 0),u(this,kt,void 0),u(this,Et,void 0),_(o(dt,this),e||{}),c(wt,this,new gt(o(dt,this),o(bt,this))),c(mt,this,new X(o(dt,this))),c(kt,this,new D(o(dt,this))),c(Et,this,new Z(o(dt,this),o(kt,this),o(mt,this))),function(t){(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).forEach((function(e){e in t&&(t[e]=t[e].bind(t))}))}(this,["configure","create","render","require","context","preload","compile","helpers"]),this.helpers({require:this.require,render:this.render})}),[{key:"configure",value:function(t){return _(o(dt,this),t||{}),o(wt,this).configure(o(dt,this),o(bt,this)),o(mt,this).configure(o(dt,this)),o(kt,this).configure(o(dt,this)),o(Et,this).configure(o(dt,this)),o(dt,this)}},{key:"render",value:function(t,n){var r=this,i=R(t,o(dt,this).extension),u=this.context(n);return e(jt,this,xt).call(this,i,u).then((function(t){if(u.getExtend()){u.setExtend(!1);var e=u.getLayout(),n=u.clone();return r.render(e,n)}return t}))}},{key:"helpers",value:function(t){o(wt,this).helpers(A(o(bt,this),t))}},{key:"context",value:function(t){return o(wt,this).create(t)}},{key:"compile",value:function(t,e){return o(mt,this).compile(t,e)}},{key:"preload",value:function(t){return o(kt,this).load(t||{})}},{key:"create",value:function(t){return new this.constructor(t)}},{key:"require",value:function(t){var n=R(t,o(dt,this).extension),r=this.context({});return e(jt,this,xt).call(this,n,r).then((function(){return r.getMacro()}))}}])}();function xt(t,e){var n=o(dt,this).globalHelpers,r=[e,e.getBuffer(),e.useSafeValue,e.useComponent,e.useElement].concat(n.filter((function(t){return w(e[t])})).map((function(t){return e[t].bind(e)})));return o(Et,this).get(t).then((function(t){return t.apply(e,r)}))}var Pt=new Ot({resolver:function(t,e){return fetch(function(t,e){return(e=[t,e].join("/")).replace(/\/\//g,"/")}(t,e)).then((function(t){return t.text()}),(function(t){return new ft(t)}))}}),Mt=Pt.render,St=Pt.context,Ft=Pt.compile,Tt=Pt.helpers,Wt=Pt.preload,Bt=Pt.configure,Rt=Pt.create;t.TemplateError=ft,t.TemplateNotFound=ht,t.TemplateSyntaxError=lt,t.compile=Ft,t.configure=Bt,t.context=St,t.create=Rt,t.helpers=Tt,t.preload=Wt,t.render=Mt}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ejs={})}(this,(function(t){"use strict";function e(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}function n(t,e,n){return e=h(e),function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,p()?Reflect.construct(e,n||[],h(t).constructor):e.apply(t,n))}function r(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,n){return t.get(e(t,n))}function u(t,e,n){r(t,e),e.set(t,n)}function c(t,n,r){return t.set(e(t,n),r),r}function a(t,e){r(t,e),e.add(t)}function s(t,e,n){return e&&function(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,y(r.key),r)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function f(t,e,n){return(e=y(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function h(t){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},h(t)}function l(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&v(t,e)}function p(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(p=function(){return!!t})()}function v(t,e){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},v(t,e)}function y(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t,"string");return"symbol"==typeof e?e:e+""}function g(t){var e="function"==typeof Map?new Map:void 0;return g=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return function(t,e,n){if(p())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&v(i,n.prototype),i}(t,arguments,h(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,t)},g(t)}var d=function(){var t=[].slice.call(arguments),e=t.shift();return t.filter(e).pop()},b=function(t){return Array.isArray(t)},m=function(t){return"function"==typeof t},w=function(t){return"string"==typeof t},k=function(t){return"boolean"==typeof t},j=function(t){return void 0===t},E="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0),O={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},x={"&":"&","<":"<",">":">",'"':""","'":"'"},P=function(t){return new RegExp(["[",Object.keys(t).join(""),"]"].join(""),"g")},S=P(x),M=P(O),T=function(){return(""+(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"")).replace(S,(function(t){return x[t]}))},F=function(t,e){var n=t;return null==n?"":!0===Boolean(e)?T(n):n},W=function(t,e){if(!1===function(t,e){return Boolean(t instanceof e)}(t,e))throw new TypeError("".concat(t," in not instance of ").concat(e))},B=function(t,e,n){for(var r=t,i=String(e).split("."),o=i.pop(),u=0;u<i.length;u++){var c=i[u];if(m(r.toJSON)&&(r=r.toJSON()),n&&!1===r.hasOwnProperty(c)){r={};break}r=r[c]=r[c]||{}}return m(r.toJSON)&&(r=r.toJSON()),[r,o]},R=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return n.filter((function(t){return t})).reduce((function(t,e){return Object.assign(t,e)}),t)},C=function(){},A=function(t,e){var n;for(n in t)L(t,n)&&e(t[n],n,t)},N=function(t,e){return function(t,e){var n=t instanceof Array,r=n?[]:{};return A(t,(function(t,i,o){var u=e(t,i,o);!1===j(u)&&(n?r.push(u):r[i]=u)})),r}(t,(function(t,n){if(-1===e.indexOf(n))return t}))},L=function(t,e){return t&&t.hasOwnProperty(e)},$={export:"ejsPrecompiled",cache:!0,chokidar:null,path:"views",resolver:function(t,e){return Promise.resolve(["resolver is not defined",t,e].join(" "))},extension:"ejs",rmWhitespace:!0,withObject:!0,globalHelpers:[],vars:{SCOPE:"ejs",COMPONENT:"ui",ELEMENT:"el",EXTEND:"$$e",BUFFER:"$$a",LAYOUT:"$$l",BLOCKS:"$$b",MACRO:"$$m",SAFE:"$$v"},token:{start:"<%",end:"%>",regex:"([\\s\\S]+?)"}},U=function(t,e){R(t,{path:d(w,$.path,t.path,e.path),export:d(w,$.export,t.export,e.export),resolver:d(m,$.resolver,t.resolver,e.resolver),extension:d(w,$.extension,t.extension,e.extension),withObject:d(k,$.withObject,t.withObject,e.withObject),rmWhitespace:d(k,$.rmWhitespace,t.rmWhitespace,e.rmWhitespace),cache:d(k,$.cache,t.cache,e.cache),token:R({},$.token,t.token,e.token),vars:R({},$.vars,t.vars,e.vars),globalHelpers:d(b,$.globalHelpers,t.globalHelpers,e.globalHelpers)})},_="undefined"!=typeof globalThis?globalThis:window||self,H=new WeakMap,q=new WeakMap,J=function(){return s((function t(e){i(this,t),u(this,H,!0),u(this,q,{}),this.configure(e)}),[{key:"load",value:function(t){o(H,this)&&R(o(q,this),t||{})}},{key:"get",value:function(t){if(o(H,this))return o(q,this)[t]}},{key:"set",value:function(t,e){o(H,this)&&(o(q,this)[t]=e)}},{key:"exist",value:function(t){return L(o(q,this),t)}},{key:"clear",value:function(){c(q,this,{})}},{key:"remove",value:function(t){delete o(q,this)[t]}},{key:"resolve",value:function(t){return Promise.resolve(this.get(t))}},{key:"configure",value:function(t){c(H,this,t.cache),!1===E&&this.load(_[t.export])}}])}(),D=new WeakMap,K=new WeakMap,V=function(){return s((function t(e){i(this,t),u(this,D,{}),u(this,K,[{symbol:"-",format:function(t){return"')\n".concat(this.BUFFER,"(").concat(this.SAFE,"(").concat(t,",1))\n").concat(this.BUFFER,"('")}},{symbol:"=",format:function(t){return"')\n".concat(this.BUFFER,"(").concat(this.SAFE,"(").concat(t,"))\n").concat(this.BUFFER,"('")}},{symbol:"#",format:function(t){return"')\n/**".concat(t,"**/\n").concat(this.BUFFER,"('")}},{symbol:"",format:function(t){return"')\n".concat(t.trim(),"\n").concat(this.BUFFER,"('")}}]),this.configure(e)}),[{key:"configure",value:function(t){var e=this;o(D,this).withObject=t.withObject,o(D,this).rmWhitespace=t.rmWhitespace,o(D,this).token=t.token,o(D,this).vars=t.vars,o(D,this).globalHelpers=t.globalHelpers,o(D,this).matches=[],o(D,this).formats=[],o(D,this).slurp={match:"[s\t\n]*",start:[o(D,this).token.start,"_"],end:["_",o(D,this).token.end]},o(K,this).forEach((function(t){o(D,e).matches.push(o(D,e).token.start.concat(t.symbol).concat(o(D,e).token.regex).concat(o(D,e).token.end)),o(D,e).formats.push(t.format.bind(o(D,e).vars))})),o(D,this).regex=new RegExp(o(D,this).matches.join("|").concat("|$"),"g"),o(D,this).slurpStart=new RegExp([o(D,this).slurp.match,o(D,this).slurp.start.join("")].join(""),"gm"),o(D,this).slurpEnd=new RegExp([o(D,this).slurp.end.join(""),o(D,this).slurp.match].join(""),"gm")}},{key:"compile",value:function(t,e){var n=this,r=o(D,this).vars,i=r.SCOPE,u=r.SAFE,c=r.BUFFER,a=r.COMPONENT,s=r.ELEMENT,f=o(D,this).globalHelpers;o(D,this).rmWhitespace&&(t=String(t).replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),t=String(t).replace(o(D,this).slurpStart,o(D,this).token.start).replace(o(D,this).slurpEnd,o(D,this).token.end);var h,l,p,v="".concat(c,"('");h=o(D,this).regex,l=function(e,r,i){v+=(""+t.slice(r,i)).replace(M,(function(t){return"\\"+O[t]})),e.forEach((function(t,e){t&&(v+=o(D,n).formats[e](t))}))},p=0,t.replace(h,(function(){var t=[].slice.call(arguments,0,-1),e=t.pop(),n=t.shift();return l(t,p,e),p=e+n.length,n})),v="try{".concat(v+="');","}catch(e){return ").concat(c,".error(e)}"),o(D,this).withObject&&(v="with(".concat(i,"){").concat(v,"}")),v="".concat(c,".start();").concat(v,"return ").concat(c,".end();"),v+="\n//# sourceURL=".concat(e);var y=null,g=[i,a,s,c,u].concat(f);try{(y=Function.apply(null,g.concat(v))).source="(function(".concat(g.join(","),"){\n").concat(v,"\n});")}catch(t){throw t.filename=e,t.source=v,t}return y}}])}(),X=new WeakMap,Y=new WeakMap,z=new WeakMap,G=new WeakMap,I=new WeakSet,Q=function(){return s((function t(e,n,r){i(this,t),a(this,I),u(this,X,void 0),u(this,Y,void 0),u(this,z,void 0),u(this,G,void 0),W(n,J),W(r,V),c(Y,this,n),c(z,this,r),this.configure(e)}),[{key:"configure",value:function(t){c(X,this,t.path),m(t.resolver)&&c(G,this,t.resolver)}},{key:"get",value:function(t){var n=this;return o(Y,this).exist(t)?o(Y,this).resolve(t):e(I,this,Z).call(this,t).then((function(r){return e(I,n,tt).call(n,t,e(I,n,et).call(n,r,t))}))}}])}();function Z(t){return o(G,this).call(this,o(X,this),t)}function tt(t,e){return o(Y,this).set(t,e),e}function et(t,e){return m(t)?t:o(z,this).compile(t,e)}var nt=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],rt=" ",it='"',ot="/",ut="<",ct=">",at=function(t,e,n){var r=[],i=-1===nt.indexOf(t),o=function(t,e){var n=[];return A(t,(function(t,r,i){var o=e(t,r,i);!1===j(o)&&n.push(o)})),n}(e,(function(t,e){if(null!=t)return[T(e),[it,T(t),it].join("")].join("=")})).join(rt);return r.push([ut,t,rt,o,ct].join("")),n&&i&&r.push(n instanceof Array?n.join(""):n),i&&r.push([ut,ot,t,ct].join("")),r.join("")},st=function(t){function e(t){var r;return i(this,e),f(r=n(this,e),"code",0),r.message=t,r}return l(e,t),s(e,[{key:"getCode",value:function(){return this.code}},{key:"getMessage",value:function(){return this.message}},{key:"toString",value:function(){return this.getMessage()}}])}(g(Error)),ft=function(t){function e(){var t;i(this,e);for(var r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];return f(t=n(this,e,[].concat(o)),"code",404),t}return l(e,t),s(e)}(st),ht=function(t){function e(){var t;i(this,e);for(var r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];return f(t=n(this,e,[].concat(o)),"code",500),t}return l(e,t),s(e)}(st);function lt(t){return Promise.all(t||[]).then((function(t){return t.join("")})).catch((function(t){return t}))}function pt(){var t=[],e=[],n=function(t){e.push(t)};return n.start=function(){e=[]},n.backup=function(){t.push(e.concat()),e=[]},n.restore=function(){var n=e.concat();return e=t.pop(),lt(n)},n.error=function(t){return e=t,Promise.reject(new ht(e.message));var e},n.end=function(){return lt(e)},n}var vt=Symbol("ContextScope.parentTemplate"),yt=new WeakMap,gt=function(){return s((function t(e,n){i(this,t),u(this,yt,void 0),this.configure(e,n)}),[{key:"create",value:function(t){return new(o(yt,this))(t)}},{key:"configure",value:function(t,e){c(yt,this,function(t,e){var n=t.vars,r=n.BLOCKS,i=n.MACRO,o=n.EXTEND,u=n.LAYOUT,c=n.BUFFER,a=n.SAFE,s=n.SCOPE,f=n.COMPONENT,h=n.ELEMENT;function l(t){this[vt]=null,this[r]={},this[i]={},Object.assign(this,N(t,[s,c,a,f,h]))}return Object.assign(l.prototype,e),Object.defineProperty(l.prototype,c,{value:pt()}),Object.defineProperty(l.prototype,r,{value:{},writable:!0}),Object.defineProperty(l.prototype,i,{value:{},writable:!0}),Object.defineProperty(l.prototype,u,{value:!1,writable:!0}),Object.defineProperty(l.prototype,o,{value:!1,writable:!0}),Object.defineProperty(l.prototype,vt,{value:null,writable:!0}),Object.defineProperties(l.prototype,{setParentTemplate:{value:function(t){return this[vt]=t,this}},getParentTemplate:{value:function(){return this[vt]}},useSafeValue:{get:function(){return F}},useComponent:{get:function(){return m(this[f])?this[f].bind(this):function(){throw new Error("".concat(f," must be a function"))}}},useElement:{get:function(){return m(this[h])?this[h].bind(this):function(){throw new Error("".concat(h," must be a function"))}}},getMacro:{value:function(){return this[i]}},getBuffer:{value:function(){return this[c]}},getBlocks:{value:function(){return this[r]}},setExtend:{value:function(t){return this[o]=t,this}},getExtend:{value:function(){return this[o]}},setLayout:{value:function(t){return this[u]=t,this}},getLayout:{value:function(){return this[u]}},clone:{value:function(t){var e=[u,o,c];return!0===t&&e.push(r),N(this,e)}},extend:{value:function(t){this.setExtend(!0),this.setLayout(t)}},echo:{value:function(t){var e=this.getBuffer();[].slice.call(arguments).forEach(e)}},fn:{value:function(t){var e=this.getBuffer(),n=this;return function(){if(m(t))return e.backup(),e(t.apply(n,arguments)),e.restore()}}},macro:{value:function(t,e){var n=this.getMacro(),r=this.fn(e),i=this;n[t]=function(){return i.echo(r.apply(void 0,arguments))}}},call:{value:function(t){var e=this.getMacro()[t],n=[].slice.call(arguments,1);if(m(e))return e.apply(e,n)}},block:{value:function(t,e){var n=this,r=this.getBlocks();if(r[t]=r[t]||[],r[t].push(this.fn(e)),!this.getExtend()){var i=Object.assign([],r[t]),o=function(){return i.shift()},u=function(){var t=o();return t?function(){n.echo(t(u()))}:C};this.echo(o()(u()))}}},hasBlock:{value:function(t){return this.getBlocks().hasOwnProperty(t)}},include:{value:function(t,e,n){var r=!1===n?{}:this.clone(!0),i=R(r,e||{}),o=this.render(t,i);this.echo(o)}},use:{value:function(t,e){var n=this;this.echo(Promise.resolve(this.require(t)).then((function(t){var r=n.getMacro();A(t,(function(t,n){r[[e,n].join(".")]=t}))})))}},async:{value:function(t,e){this.echo(Promise.resolve(t).then(e))}},get:{value:function(t,e){var n=B(this,t,!0),r=n.shift(),i=n.pop();return L(r,i)?r[i]:e}},set:{value:function(t,e){var n=B(this,t,!1),r=n.shift(),i=n.pop();return this.getParentTemplate()&&L(r,i)?r[i]:r[i]=e}},each:{value:function(t,e){w(t)&&(t=this.get(t,[])),A(t,e)},writable:!0},el:{value:function(t,e,n){n=m(n)?this.fn(n)():n,this.echo(Promise.resolve(n).then((function(n){return at(t,e,n)})))},writable:!0},ui:{value:function(t){},writable:!0}}),l}(t,e))}},{key:"helpers",value:function(t){R(o(yt,this).prototype,t||{})}}])}(),dt=new WeakMap,bt=new WeakMap,mt=new WeakMap,wt=new WeakMap,kt=new WeakMap,jt=new WeakMap,Et=new WeakSet,Ot=function(){return s((function t(e){i(this,t),a(this,Et),u(this,dt,{}),u(this,bt,{}),u(this,mt,void 0),u(this,wt,void 0),u(this,kt,void 0),u(this,jt,void 0),U(o(dt,this),e||{}),c(mt,this,new gt(o(dt,this),o(bt,this))),c(wt,this,new V(o(dt,this))),c(kt,this,new J(o(dt,this))),c(jt,this,new Q(o(dt,this),o(kt,this),o(wt,this))),function(t){(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).forEach((function(e){e in t&&(t[e]=t[e].bind(t))}))}(this,["configure","create","render","require","context","preload","compile","helpers"]),this.helpers({require:this.require,render:this.render})}),[{key:"configure",value:function(t){return U(o(dt,this),t||{}),o(mt,this).configure(o(dt,this),o(bt,this)),o(wt,this).configure(o(dt,this)),o(kt,this).configure(o(dt,this)),o(jt,this).configure(o(dt,this)),o(dt,this)}},{key:"filePath",value:function(t){return function(t,e){var n=t.split(".").pop();return n!==e&&(t=[t,e].join(".")),t}(t,o(dt,this).extension)}},{key:"require",value:function(t){var n=this.context({});return e(Et,this,xt).call(this,this.filePath(t),n).then((function(){return n.getMacro()}))}},{key:"render",value:function(t,n){var r=this.context(n);return e(Et,this,xt).call(this,this.filePath(t),r).then(this.outputContent(t,r))}},{key:"outputContent",value:function(t,e){var n=this;return function(r){return e.getExtend()?(e.setExtend(!1),n.renderLayout(e.getLayout(),e,t)):r}}},{key:"renderLayout",value:function(t,n,r){var i=this.context(n);return r&&i.setParentTemplate(r),e(Et,this,xt).call(this,this.filePath(t),i).then(this.outputContent(t,i))}},{key:"helpers",value:function(t){o(mt,this).helpers(R(o(bt,this),t))}},{key:"context",value:function(t){return o(mt,this).create(t)}},{key:"compile",value:function(t,e){return o(wt,this).compile(t,e)}},{key:"preload",value:function(t){return o(kt,this).load(t||{})}},{key:"create",value:function(t){return new this.constructor(t)}}])}();function xt(t,e){var n=o(dt,this).globalHelpers,r=[e,e.useComponent,e.useElement,e.getBuffer(),e.useSafeValue],i=n.filter((function(t){return m(e[t])})).map((function(t){return e[t].bind(e)}));return o(jt,this).get(t).then((function(t){return t.apply(e,r.concat(i))}))}var Pt=new Ot({resolver:function(t,e){return fetch(function(t,e){return(e=[t,e].join("/")).replace(/\/\//g,"/")}(t,e)).then((function(t){return t.text()}),(function(t){return new st(t)}))}}),St=Pt.render,Mt=Pt.context,Tt=Pt.compile,Ft=Pt.helpers,Wt=Pt.preload,Bt=Pt.configure,Rt=Pt.create;t.TemplateError=st,t.TemplateNotFound=ft,t.TemplateSyntaxError=ht,t.compile=Tt,t.configure=Bt,t.context=Mt,t.create=Rt,t.helpers=Ft,t.preload=Wt,t.render=St}));
|
package/dist/umd/index.js
CHANGED
|
@@ -513,7 +513,7 @@
|
|
|
513
513
|
source = "".concat(BUFFER, ".start();").concat(source, "return ").concat(BUFFER, ".end();");
|
|
514
514
|
source += "\n//# sourceURL=".concat(path);
|
|
515
515
|
var result = null;
|
|
516
|
-
var params = [SCOPE,
|
|
516
|
+
var params = [SCOPE, COMPONENT, ELEMENT, BUFFER, SAFE].concat(GLOBALS);
|
|
517
517
|
try {
|
|
518
518
|
result = Function.apply(null, params.concat(source));
|
|
519
519
|
result.source = "(function(".concat(params.join(','), "){\n").concat(source, "\n});");
|
|
@@ -705,6 +705,7 @@
|
|
|
705
705
|
return buffer;
|
|
706
706
|
}
|
|
707
707
|
|
|
708
|
+
var PARENT = Symbol('ContextScope.parentTemplate');
|
|
708
709
|
var createContextScope = function createContextScope(config, methods) {
|
|
709
710
|
var _config$vars = config.vars,
|
|
710
711
|
BLOCKS = _config$vars.BLOCKS,
|
|
@@ -716,12 +717,18 @@
|
|
|
716
717
|
SCOPE = _config$vars.SCOPE,
|
|
717
718
|
COMPONENT = _config$vars.COMPONENT,
|
|
718
719
|
ELEMENT = _config$vars.ELEMENT;
|
|
720
|
+
/**
|
|
721
|
+
*
|
|
722
|
+
* @type {symbol}
|
|
723
|
+
*/
|
|
724
|
+
|
|
719
725
|
/**
|
|
720
726
|
* @name ContextScope
|
|
721
727
|
* @param data
|
|
722
728
|
* @constructor
|
|
723
729
|
*/
|
|
724
730
|
function ContextScope(data) {
|
|
731
|
+
this[PARENT] = null;
|
|
725
732
|
this[BLOCKS] = {};
|
|
726
733
|
this[MACRO] = {};
|
|
727
734
|
Object.assign(this, omit(data, [SCOPE, BUFFER, SAFE, COMPONENT, ELEMENT]));
|
|
@@ -746,7 +753,24 @@
|
|
|
746
753
|
value: false,
|
|
747
754
|
writable: true
|
|
748
755
|
});
|
|
756
|
+
Object.defineProperty(ContextScope.prototype, PARENT, {
|
|
757
|
+
value: null,
|
|
758
|
+
writable: true
|
|
759
|
+
});
|
|
749
760
|
Object.defineProperties(ContextScope.prototype, {
|
|
761
|
+
/** @type {function} */
|
|
762
|
+
setParentTemplate: {
|
|
763
|
+
value: function value(_value) {
|
|
764
|
+
this[PARENT] = _value;
|
|
765
|
+
return this;
|
|
766
|
+
}
|
|
767
|
+
},
|
|
768
|
+
/** @type {function} */
|
|
769
|
+
getParentTemplate: {
|
|
770
|
+
value: function value() {
|
|
771
|
+
return this[PARENT];
|
|
772
|
+
}
|
|
773
|
+
},
|
|
750
774
|
/** @type {function} */
|
|
751
775
|
useSafeValue: {
|
|
752
776
|
get: function get() {
|
|
@@ -797,8 +821,9 @@
|
|
|
797
821
|
},
|
|
798
822
|
/** @type {function} */
|
|
799
823
|
setExtend: {
|
|
800
|
-
value: function value(
|
|
801
|
-
this[EXTEND] =
|
|
824
|
+
value: function value(_value2) {
|
|
825
|
+
this[EXTEND] = _value2;
|
|
826
|
+
return this;
|
|
802
827
|
}
|
|
803
828
|
},
|
|
804
829
|
/** @type {function} */
|
|
@@ -811,6 +836,7 @@
|
|
|
811
836
|
setLayout: {
|
|
812
837
|
value: function value(layout) {
|
|
813
838
|
this[LAYOUT] = layout;
|
|
839
|
+
return this;
|
|
814
840
|
}
|
|
815
841
|
},
|
|
816
842
|
/** @type {function} */
|
|
@@ -949,14 +975,14 @@
|
|
|
949
975
|
},
|
|
950
976
|
/** @type {function} */
|
|
951
977
|
set: {
|
|
952
|
-
value: function value(name,
|
|
978
|
+
value: function value(name, _value3) {
|
|
953
979
|
var path = getPath(this, name, false);
|
|
954
980
|
var result = path.shift();
|
|
955
981
|
var prop = path.pop();
|
|
956
|
-
if (this.
|
|
982
|
+
if (this.getParentTemplate() && hasProp(result, prop)) {
|
|
957
983
|
return result[prop];
|
|
958
984
|
}
|
|
959
|
-
return result[prop] =
|
|
985
|
+
return result[prop] = _value3;
|
|
960
986
|
}
|
|
961
987
|
},
|
|
962
988
|
/** @type {function} */
|
|
@@ -1052,21 +1078,43 @@
|
|
|
1052
1078
|
_classPrivateFieldGet2(_template, this).configure(_classPrivateFieldGet2(_config, this));
|
|
1053
1079
|
return _classPrivateFieldGet2(_config, this);
|
|
1054
1080
|
}
|
|
1081
|
+
}, {
|
|
1082
|
+
key: "filePath",
|
|
1083
|
+
value: function filePath(name) {
|
|
1084
|
+
return ext(name, _classPrivateFieldGet2(_config, this).extension);
|
|
1085
|
+
}
|
|
1086
|
+
}, {
|
|
1087
|
+
key: "require",
|
|
1088
|
+
value: function require(name) {
|
|
1089
|
+
var scope = this.context({});
|
|
1090
|
+
return _assertClassBrand(_EJS_brand, this, _output).call(this, this.filePath(name), scope).then(function () {
|
|
1091
|
+
return scope.getMacro();
|
|
1092
|
+
});
|
|
1093
|
+
}
|
|
1055
1094
|
}, {
|
|
1056
1095
|
key: "render",
|
|
1057
1096
|
value: function render(name, data) {
|
|
1058
|
-
var _this = this;
|
|
1059
|
-
var filepath = ext(name, _classPrivateFieldGet2(_config, this).extension);
|
|
1060
1097
|
var scope = this.context(data);
|
|
1061
|
-
return _assertClassBrand(_EJS_brand, this, _output).call(this,
|
|
1098
|
+
return _assertClassBrand(_EJS_brand, this, _output).call(this, this.filePath(name), scope).then(this.outputContent(name, scope));
|
|
1099
|
+
}
|
|
1100
|
+
}, {
|
|
1101
|
+
key: "outputContent",
|
|
1102
|
+
value: function outputContent(name, scope) {
|
|
1103
|
+
var _this = this;
|
|
1104
|
+
return function (content) {
|
|
1062
1105
|
if (scope.getExtend()) {
|
|
1063
1106
|
scope.setExtend(false);
|
|
1064
|
-
|
|
1065
|
-
var _data = scope.clone();
|
|
1066
|
-
return _this.render(layout, _data);
|
|
1107
|
+
return _this.renderLayout(scope.getLayout(), scope, name);
|
|
1067
1108
|
}
|
|
1068
1109
|
return content;
|
|
1069
|
-
}
|
|
1110
|
+
};
|
|
1111
|
+
}
|
|
1112
|
+
}, {
|
|
1113
|
+
key: "renderLayout",
|
|
1114
|
+
value: function renderLayout(name, data, parent) {
|
|
1115
|
+
var scope = this.context(data);
|
|
1116
|
+
if (parent) scope.setParentTemplate(parent);
|
|
1117
|
+
return _assertClassBrand(_EJS_brand, this, _output).call(this, this.filePath(name), scope).then(this.outputContent(name, scope));
|
|
1070
1118
|
}
|
|
1071
1119
|
}, {
|
|
1072
1120
|
key: "helpers",
|
|
@@ -1093,27 +1141,19 @@
|
|
|
1093
1141
|
value: function create(options) {
|
|
1094
1142
|
return new this.constructor(options);
|
|
1095
1143
|
}
|
|
1096
|
-
}, {
|
|
1097
|
-
key: "require",
|
|
1098
|
-
value: function require(name) {
|
|
1099
|
-
var filepath = ext(name, _classPrivateFieldGet2(_config, this).extension);
|
|
1100
|
-
var scope = this.context({});
|
|
1101
|
-
return _assertClassBrand(_EJS_brand, this, _output).call(this, filepath, scope).then(function () {
|
|
1102
|
-
return scope.getMacro();
|
|
1103
|
-
});
|
|
1104
|
-
}
|
|
1105
1144
|
}]);
|
|
1106
1145
|
}();
|
|
1107
1146
|
function _output(path, scope) {
|
|
1108
1147
|
var _classPrivateFieldGet2$1 = _classPrivateFieldGet2(_config, this),
|
|
1109
1148
|
globalHelpers = _classPrivateFieldGet2$1.globalHelpers;
|
|
1110
|
-
var params = [scope, scope.
|
|
1149
|
+
var params = [scope, scope.useComponent, scope.useElement, scope.getBuffer(), scope.useSafeValue];
|
|
1150
|
+
var globals = globalHelpers.filter(function (name) {
|
|
1111
1151
|
return isFunction(scope[name]);
|
|
1112
1152
|
}).map(function (name) {
|
|
1113
1153
|
return scope[name].bind(scope);
|
|
1114
|
-
})
|
|
1154
|
+
});
|
|
1115
1155
|
return _classPrivateFieldGet2(_template, this).get(path).then(function (callback) {
|
|
1116
|
-
return callback.apply(scope, params);
|
|
1156
|
+
return callback.apply(scope, params.concat(globals));
|
|
1117
1157
|
});
|
|
1118
1158
|
}
|
|
1119
1159
|
|
package/dist/umd/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ejs={})}(this,(function(t){"use strict";function e(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}function n(t,e,n){return e=h(e),function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,p()?Reflect.construct(e,n||[],h(t).constructor):e.apply(t,n))}function r(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,n){return t.get(e(t,n))}function u(t,e,n){r(t,e),e.set(t,n)}function c(t,n,r){return t.set(e(t,n),r),r}function s(t,e){r(t,e),e.add(t)}function a(t,e,n){return e&&function(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,y(r.key),r)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function f(t,e,n){return(e=y(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function h(t){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},h(t)}function l(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&v(t,e)}function p(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(p=function(){return!!t})()}function v(t,e){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},v(t,e)}function y(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t,"string");return"symbol"==typeof e?e:e+""}function g(t){var e="function"==typeof Map?new Map:void 0;return g=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return function(t,e,n){if(p())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&v(i,n.prototype),i}(t,arguments,h(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,t)},g(t)}var d=function(){var t=[].slice.call(arguments),e=t.shift();return t.filter(e).pop()},b=function(t){return Array.isArray(t)},w=function(t){return"function"==typeof t},m=function(t){return"string"==typeof t},k=function(t){return"boolean"==typeof t},E=function(t){return void 0===t},j="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0),O={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},x={"&":"&","<":"<",">":">",'"':""","'":"'"},P=function(t){return new RegExp(["[",Object.keys(t).join(""),"]"].join(""),"g")},S=P(x),M=P(O),F=function(){return(""+(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"")).replace(S,(function(t){return x[t]}))},T=function(t,e){var n=t;return null==n?"":!0===Boolean(e)?F(n):n},W=function(t,e){if(!1===function(t,e){return Boolean(t instanceof e)}(t,e))throw new TypeError("".concat(t," in not instance of ").concat(e))},B=function(t,e,n){for(var r=t,i=String(e).split("."),o=i.pop(),u=0;u<i.length;u++){var c=i[u];if(w(r.toJSON)&&(r=r.toJSON()),n&&!1===r.hasOwnProperty(c)){r={};break}r=r[c]=r[c]||{}}return w(r.toJSON)&&(r=r.toJSON()),[r,o]},R=function(t,e){var n=t.split(".").pop();return n!==e&&(t=[t,e].join(".")),t},A=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return n.filter((function(t){return t})).reduce((function(t,e){return Object.assign(t,e)}),t)},N=function(){},C=function(t,e){var n;for(n in t)L(t,n)&&e(t[n],n,t)},$=function(t,e){return function(t,e){var n=t instanceof Array,r=n?[]:{};return C(t,(function(t,i,o){var u=e(t,i,o);!1===E(u)&&(n?r.push(u):r[i]=u)})),r}(t,(function(t,n){if(-1===e.indexOf(n))return t}))},L=function(t,e){return t&&t.hasOwnProperty(e)},U={export:"ejsPrecompiled",cache:!0,chokidar:null,path:"views",resolver:function(t,e){return Promise.resolve(["resolver is not defined",t,e].join(" "))},extension:"ejs",rmWhitespace:!0,withObject:!0,globalHelpers:[],vars:{SCOPE:"ejs",COMPONENT:"ui",ELEMENT:"el",EXTEND:"$$e",BUFFER:"$$a",LAYOUT:"$$l",BLOCKS:"$$b",MACRO:"$$m",SAFE:"$$v"},token:{start:"<%",end:"%>",regex:"([\\s\\S]+?)"}},_=function(t,e){A(t,{path:d(m,U.path,t.path,e.path),export:d(m,U.export,t.export,e.export),resolver:d(w,U.resolver,t.resolver,e.resolver),extension:d(m,U.extension,t.extension,e.extension),withObject:d(k,U.withObject,t.withObject,e.withObject),rmWhitespace:d(k,U.rmWhitespace,t.rmWhitespace,e.rmWhitespace),cache:d(k,U.cache,t.cache,e.cache),token:A({},U.token,t.token,e.token),vars:A({},U.vars,t.vars,e.vars),globalHelpers:d(b,U.globalHelpers,t.globalHelpers,e.globalHelpers)})},H="undefined"!=typeof globalThis?globalThis:window||self,q=new WeakMap,J=new WeakMap,D=function(){return a((function t(e){i(this,t),u(this,q,!0),u(this,J,{}),this.configure(e)}),[{key:"load",value:function(t){o(q,this)&&A(o(J,this),t||{})}},{key:"get",value:function(t){if(o(q,this))return o(J,this)[t]}},{key:"set",value:function(t,e){o(q,this)&&(o(J,this)[t]=e)}},{key:"exist",value:function(t){return L(o(J,this),t)}},{key:"clear",value:function(){c(J,this,{})}},{key:"remove",value:function(t){delete o(J,this)[t]}},{key:"resolve",value:function(t){return Promise.resolve(this.get(t))}},{key:"configure",value:function(t){c(q,this,t.cache),!1===j&&this.load(H[t.export])}}])}(),K=new WeakMap,V=new WeakMap,X=function(){return a((function t(e){i(this,t),u(this,K,{}),u(this,V,[{symbol:"-",format:function(t){return"')\n".concat(this.BUFFER,"(").concat(this.SAFE,"(").concat(t,",1))\n").concat(this.BUFFER,"('")}},{symbol:"=",format:function(t){return"')\n".concat(this.BUFFER,"(").concat(this.SAFE,"(").concat(t,"))\n").concat(this.BUFFER,"('")}},{symbol:"#",format:function(t){return"')\n/**".concat(t,"**/\n").concat(this.BUFFER,"('")}},{symbol:"",format:function(t){return"')\n".concat(t.trim(),"\n").concat(this.BUFFER,"('")}}]),this.configure(e)}),[{key:"configure",value:function(t){var e=this;o(K,this).withObject=t.withObject,o(K,this).rmWhitespace=t.rmWhitespace,o(K,this).token=t.token,o(K,this).vars=t.vars,o(K,this).globalHelpers=t.globalHelpers,o(K,this).matches=[],o(K,this).formats=[],o(K,this).slurp={match:"[s\t\n]*",start:[o(K,this).token.start,"_"],end:["_",o(K,this).token.end]},o(V,this).forEach((function(t){o(K,e).matches.push(o(K,e).token.start.concat(t.symbol).concat(o(K,e).token.regex).concat(o(K,e).token.end)),o(K,e).formats.push(t.format.bind(o(K,e).vars))})),o(K,this).regex=new RegExp(o(K,this).matches.join("|").concat("|$"),"g"),o(K,this).slurpStart=new RegExp([o(K,this).slurp.match,o(K,this).slurp.start.join("")].join(""),"gm"),o(K,this).slurpEnd=new RegExp([o(K,this).slurp.end.join(""),o(K,this).slurp.match].join(""),"gm")}},{key:"compile",value:function(t,e){var n=this,r=o(K,this).vars,i=r.SCOPE,u=r.SAFE,c=r.BUFFER,s=r.COMPONENT,a=r.ELEMENT,f=o(K,this).globalHelpers;o(K,this).rmWhitespace&&(t=String(t).replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),t=String(t).replace(o(K,this).slurpStart,o(K,this).token.start).replace(o(K,this).slurpEnd,o(K,this).token.end);var h,l,p,v="".concat(c,"('");h=o(K,this).regex,l=function(e,r,i){v+=(""+t.slice(r,i)).replace(M,(function(t){return"\\"+O[t]})),e.forEach((function(t,e){t&&(v+=o(K,n).formats[e](t))}))},p=0,t.replace(h,(function(){var t=[].slice.call(arguments,0,-1),e=t.pop(),n=t.shift();return l(t,p,e),p=e+n.length,n})),v="try{".concat(v+="');","}catch(e){return ").concat(c,".error(e)}"),o(K,this).withObject&&(v="with(".concat(i,"){").concat(v,"}")),v="".concat(c,".start();").concat(v,"return ").concat(c,".end();"),v+="\n//# sourceURL=".concat(e);var y=null,g=[i,c,u,s,a].concat(f);try{(y=Function.apply(null,g.concat(v))).source="(function(".concat(g.join(","),"){\n").concat(v,"\n});")}catch(t){throw t.filename=e,t.source=v,t}return y}}])}(),Y=new WeakMap,z=new WeakMap,G=new WeakMap,I=new WeakMap,Q=new WeakSet,Z=function(){return a((function t(e,n,r){i(this,t),s(this,Q),u(this,Y,void 0),u(this,z,void 0),u(this,G,void 0),u(this,I,void 0),W(n,D),W(r,X),c(z,this,n),c(G,this,r),this.configure(e)}),[{key:"configure",value:function(t){c(Y,this,t.path),w(t.resolver)&&c(I,this,t.resolver)}},{key:"get",value:function(t){var n=this;return o(z,this).exist(t)?o(z,this).resolve(t):e(Q,this,tt).call(this,t).then((function(r){return e(Q,n,et).call(n,t,e(Q,n,nt).call(n,r,t))}))}}])}();function tt(t){return o(I,this).call(this,o(Y,this),t)}function et(t,e){return o(z,this).set(t,e),e}function nt(t,e){return w(t)?t:o(G,this).compile(t,e)}var rt=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],it=" ",ot='"',ut="/",ct="<",st=">",at=function(t,e,n){var r=[],i=-1===rt.indexOf(t),o=function(t,e){var n=[];return C(t,(function(t,r,i){var o=e(t,r,i);!1===E(o)&&n.push(o)})),n}(e,(function(t,e){if(null!=t)return[F(e),[ot,F(t),ot].join("")].join("=")})).join(it);return r.push([ct,t,it,o,st].join("")),n&&i&&r.push(n instanceof Array?n.join(""):n),i&&r.push([ct,ut,t,st].join("")),r.join("")},ft=function(t){function e(t){var r;return i(this,e),f(r=n(this,e),"code",0),r.message=t,r}return l(e,t),a(e,[{key:"getCode",value:function(){return this.code}},{key:"getMessage",value:function(){return this.message}},{key:"toString",value:function(){return this.getMessage()}}])}(g(Error)),ht=function(t){function e(){var t;i(this,e);for(var r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];return f(t=n(this,e,[].concat(o)),"code",404),t}return l(e,t),a(e)}(ft),lt=function(t){function e(){var t;i(this,e);for(var r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];return f(t=n(this,e,[].concat(o)),"code",500),t}return l(e,t),a(e)}(ft);function pt(t){return Promise.all(t||[]).then((function(t){return t.join("")})).catch((function(t){return t}))}function vt(){var t=[],e=[],n=function(t){e.push(t)};return n.start=function(){e=[]},n.backup=function(){t.push(e.concat()),e=[]},n.restore=function(){var n=e.concat();return e=t.pop(),pt(n)},n.error=function(t){return e=t,Promise.reject(new lt(e.message));var e},n.end=function(){return pt(e)},n}var yt=new WeakMap,gt=function(){return a((function t(e,n){i(this,t),u(this,yt,void 0),this.configure(e,n)}),[{key:"create",value:function(t){return new(o(yt,this))(t)}},{key:"configure",value:function(t,e){c(yt,this,function(t,e){var n=t.vars,r=n.BLOCKS,i=n.MACRO,o=n.EXTEND,u=n.LAYOUT,c=n.BUFFER,s=n.SAFE,a=n.SCOPE,f=n.COMPONENT,h=n.ELEMENT;function l(t){this[r]={},this[i]={},Object.assign(this,$(t,[a,c,s,f,h]))}return Object.assign(l.prototype,e),Object.defineProperty(l.prototype,c,{value:vt()}),Object.defineProperty(l.prototype,r,{value:{},writable:!0}),Object.defineProperty(l.prototype,i,{value:{},writable:!0}),Object.defineProperty(l.prototype,u,{value:!1,writable:!0}),Object.defineProperty(l.prototype,o,{value:!1,writable:!0}),Object.defineProperties(l.prototype,{useSafeValue:{get:function(){return T}},useComponent:{get:function(){return w(this[f])?this[f].bind(this):function(){throw new Error("".concat(f," must be a function"))}}},useElement:{get:function(){return w(this[h])?this[h].bind(this):function(){throw new Error("".concat(h," must be a function"))}}},getMacro:{value:function(){return this[i]}},getBuffer:{value:function(){return this[c]}},getBlocks:{value:function(){return this[r]}},setExtend:{value:function(t){this[o]=t}},getExtend:{value:function(){return this[o]}},setLayout:{value:function(t){this[u]=t}},getLayout:{value:function(){return this[u]}},clone:{value:function(t){var e=[u,o,c];return!0===t&&e.push(r),$(this,e)}},extend:{value:function(t){this.setExtend(!0),this.setLayout(t)}},echo:{value:function(t){var e=this.getBuffer();[].slice.call(arguments).forEach(e)}},fn:{value:function(t){var e=this.getBuffer(),n=this;return function(){if(w(t))return e.backup(),e(t.apply(n,arguments)),e.restore()}}},macro:{value:function(t,e){var n=this.getMacro(),r=this.fn(e),i=this;n[t]=function(){return i.echo(r.apply(void 0,arguments))}}},call:{value:function(t){var e=this.getMacro()[t],n=[].slice.call(arguments,1);if(w(e))return e.apply(e,n)}},block:{value:function(t,e){var n=this,r=this.getBlocks();if(r[t]=r[t]||[],r[t].push(this.fn(e)),!this.getExtend()){var i=Object.assign([],r[t]),o=function(){return i.shift()},u=function(){var t=o();return t?function(){n.echo(t(u()))}:N};this.echo(o()(u()))}}},hasBlock:{value:function(t){return this.getBlocks().hasOwnProperty(t)}},include:{value:function(t,e,n){var r=!1===n?{}:this.clone(!0),i=A(r,e||{}),o=this.render(t,i);this.echo(o)}},use:{value:function(t,e){var n=this;this.echo(Promise.resolve(this.require(t)).then((function(t){var r=n.getMacro();C(t,(function(t,n){r[[e,n].join(".")]=t}))})))}},async:{value:function(t,e){this.echo(Promise.resolve(t).then(e))}},get:{value:function(t,e){var n=B(this,t,!0),r=n.shift(),i=n.pop();return L(r,i)?r[i]:e}},set:{value:function(t,e){var n=B(this,t,!1),r=n.shift(),i=n.pop();return this.getExtend()&&L(r,i)?r[i]:r[i]=e}},each:{value:function(t,e){m(t)&&(t=this.get(t,[])),C(t,e)},writable:!0},el:{value:function(t,e,n){n=w(n)?this.fn(n)():n,this.echo(Promise.resolve(n).then((function(n){return at(t,e,n)})))},writable:!0},ui:{value:function(t){},writable:!0}}),l}(t,e))}},{key:"helpers",value:function(t){A(o(yt,this).prototype,t||{})}}])}(),dt=new WeakMap,bt=new WeakMap,wt=new WeakMap,mt=new WeakMap,kt=new WeakMap,Et=new WeakMap,jt=new WeakSet,Ot=function(){return a((function t(e){i(this,t),s(this,jt),u(this,dt,{}),u(this,bt,{}),u(this,wt,void 0),u(this,mt,void 0),u(this,kt,void 0),u(this,Et,void 0),_(o(dt,this),e||{}),c(wt,this,new gt(o(dt,this),o(bt,this))),c(mt,this,new X(o(dt,this))),c(kt,this,new D(o(dt,this))),c(Et,this,new Z(o(dt,this),o(kt,this),o(mt,this))),function(t){(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).forEach((function(e){e in t&&(t[e]=t[e].bind(t))}))}(this,["configure","create","render","require","context","preload","compile","helpers"]),this.helpers({require:this.require,render:this.render})}),[{key:"configure",value:function(t){return _(o(dt,this),t||{}),o(wt,this).configure(o(dt,this),o(bt,this)),o(mt,this).configure(o(dt,this)),o(kt,this).configure(o(dt,this)),o(Et,this).configure(o(dt,this)),o(dt,this)}},{key:"render",value:function(t,n){var r=this,i=R(t,o(dt,this).extension),u=this.context(n);return e(jt,this,xt).call(this,i,u).then((function(t){if(u.getExtend()){u.setExtend(!1);var e=u.getLayout(),n=u.clone();return r.render(e,n)}return t}))}},{key:"helpers",value:function(t){o(wt,this).helpers(A(o(bt,this),t))}},{key:"context",value:function(t){return o(wt,this).create(t)}},{key:"compile",value:function(t,e){return o(mt,this).compile(t,e)}},{key:"preload",value:function(t){return o(kt,this).load(t||{})}},{key:"create",value:function(t){return new this.constructor(t)}},{key:"require",value:function(t){var n=R(t,o(dt,this).extension),r=this.context({});return e(jt,this,xt).call(this,n,r).then((function(){return r.getMacro()}))}}])}();function xt(t,e){var n=o(dt,this).globalHelpers,r=[e,e.getBuffer(),e.useSafeValue,e.useComponent,e.useElement].concat(n.filter((function(t){return w(e[t])})).map((function(t){return e[t].bind(e)})));return o(Et,this).get(t).then((function(t){return t.apply(e,r)}))}var Pt={};var St=new Ot({resolver:function(t,e){return new Promise((function(n,r){Pt.readFile(function(t,e){return(e=[t,e].join("/")).replace(/\/\//g,"/")}(t,e),(function(t,e){t?r(new ft(t)):n(e.toString())}))}))}}),Mt=St.render,Ft=St.context,Tt=St.compile,Wt=St.helpers,Bt=St.preload,Rt=St.configure,At=St.create,Nt=function(t,e){return function(n,r,i){w(r)&&(i=r,r={});var o=A({},(r=r||{}).settings),u=d(m,U.path,o.views),c=d(k,U.cache,o["view cache"]),s=A({},o["view options"]),a=Pt.relative(u,n);return s.path=u,s.cache=c,t(s),e(a,r).then((function(t){i(null,t)})).catch((function(t){i(t)}))}}(Rt,Mt);t.TemplateError=ft,t.TemplateNotFound=ht,t.TemplateSyntaxError=lt,t.__express=Nt,t.compile=Tt,t.configure=Rt,t.context=Ft,t.create=At,t.helpers=Wt,t.preload=Bt,t.render=Mt}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ejs={})}(this,(function(t){"use strict";function e(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}function n(t,e,n){return e=h(e),function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,p()?Reflect.construct(e,n||[],h(t).constructor):e.apply(t,n))}function r(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,n){return t.get(e(t,n))}function u(t,e,n){r(t,e),e.set(t,n)}function c(t,n,r){return t.set(e(t,n),r),r}function a(t,e){r(t,e),e.add(t)}function s(t,e,n){return e&&function(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,y(r.key),r)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function f(t,e,n){return(e=y(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function h(t){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},h(t)}function l(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&v(t,e)}function p(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(p=function(){return!!t})()}function v(t,e){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},v(t,e)}function y(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t,"string");return"symbol"==typeof e?e:e+""}function g(t){var e="function"==typeof Map?new Map:void 0;return g=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return function(t,e,n){if(p())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&v(i,n.prototype),i}(t,arguments,h(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,t)},g(t)}var d=function(){var t=[].slice.call(arguments),e=t.shift();return t.filter(e).pop()},b=function(t){return Array.isArray(t)},m=function(t){return"function"==typeof t},w=function(t){return"string"==typeof t},k=function(t){return"boolean"==typeof t},j=function(t){return void 0===t},E="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0),O={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},x={"&":"&","<":"<",">":">",'"':""","'":"'"},P=function(t){return new RegExp(["[",Object.keys(t).join(""),"]"].join(""),"g")},S=P(x),M=P(O),T=function(){return(""+(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"")).replace(S,(function(t){return x[t]}))},F=function(t,e){var n=t;return null==n?"":!0===Boolean(e)?T(n):n},W=function(t,e){if(!1===function(t,e){return Boolean(t instanceof e)}(t,e))throw new TypeError("".concat(t," in not instance of ").concat(e))},B=function(t,e,n){for(var r=t,i=String(e).split("."),o=i.pop(),u=0;u<i.length;u++){var c=i[u];if(m(r.toJSON)&&(r=r.toJSON()),n&&!1===r.hasOwnProperty(c)){r={};break}r=r[c]=r[c]||{}}return m(r.toJSON)&&(r=r.toJSON()),[r,o]},R=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return n.filter((function(t){return t})).reduce((function(t,e){return Object.assign(t,e)}),t)},C=function(){},A=function(t,e){var n;for(n in t)L(t,n)&&e(t[n],n,t)},N=function(t,e){return function(t,e){var n=t instanceof Array,r=n?[]:{};return A(t,(function(t,i,o){var u=e(t,i,o);!1===j(u)&&(n?r.push(u):r[i]=u)})),r}(t,(function(t,n){if(-1===e.indexOf(n))return t}))},L=function(t,e){return t&&t.hasOwnProperty(e)},$={export:"ejsPrecompiled",cache:!0,chokidar:null,path:"views",resolver:function(t,e){return Promise.resolve(["resolver is not defined",t,e].join(" "))},extension:"ejs",rmWhitespace:!0,withObject:!0,globalHelpers:[],vars:{SCOPE:"ejs",COMPONENT:"ui",ELEMENT:"el",EXTEND:"$$e",BUFFER:"$$a",LAYOUT:"$$l",BLOCKS:"$$b",MACRO:"$$m",SAFE:"$$v"},token:{start:"<%",end:"%>",regex:"([\\s\\S]+?)"}},U=function(t,e){R(t,{path:d(w,$.path,t.path,e.path),export:d(w,$.export,t.export,e.export),resolver:d(m,$.resolver,t.resolver,e.resolver),extension:d(w,$.extension,t.extension,e.extension),withObject:d(k,$.withObject,t.withObject,e.withObject),rmWhitespace:d(k,$.rmWhitespace,t.rmWhitespace,e.rmWhitespace),cache:d(k,$.cache,t.cache,e.cache),token:R({},$.token,t.token,e.token),vars:R({},$.vars,t.vars,e.vars),globalHelpers:d(b,$.globalHelpers,t.globalHelpers,e.globalHelpers)})},_="undefined"!=typeof globalThis?globalThis:window||self,H=new WeakMap,q=new WeakMap,J=function(){return s((function t(e){i(this,t),u(this,H,!0),u(this,q,{}),this.configure(e)}),[{key:"load",value:function(t){o(H,this)&&R(o(q,this),t||{})}},{key:"get",value:function(t){if(o(H,this))return o(q,this)[t]}},{key:"set",value:function(t,e){o(H,this)&&(o(q,this)[t]=e)}},{key:"exist",value:function(t){return L(o(q,this),t)}},{key:"clear",value:function(){c(q,this,{})}},{key:"remove",value:function(t){delete o(q,this)[t]}},{key:"resolve",value:function(t){return Promise.resolve(this.get(t))}},{key:"configure",value:function(t){c(H,this,t.cache),!1===E&&this.load(_[t.export])}}])}(),D=new WeakMap,K=new WeakMap,V=function(){return s((function t(e){i(this,t),u(this,D,{}),u(this,K,[{symbol:"-",format:function(t){return"')\n".concat(this.BUFFER,"(").concat(this.SAFE,"(").concat(t,",1))\n").concat(this.BUFFER,"('")}},{symbol:"=",format:function(t){return"')\n".concat(this.BUFFER,"(").concat(this.SAFE,"(").concat(t,"))\n").concat(this.BUFFER,"('")}},{symbol:"#",format:function(t){return"')\n/**".concat(t,"**/\n").concat(this.BUFFER,"('")}},{symbol:"",format:function(t){return"')\n".concat(t.trim(),"\n").concat(this.BUFFER,"('")}}]),this.configure(e)}),[{key:"configure",value:function(t){var e=this;o(D,this).withObject=t.withObject,o(D,this).rmWhitespace=t.rmWhitespace,o(D,this).token=t.token,o(D,this).vars=t.vars,o(D,this).globalHelpers=t.globalHelpers,o(D,this).matches=[],o(D,this).formats=[],o(D,this).slurp={match:"[s\t\n]*",start:[o(D,this).token.start,"_"],end:["_",o(D,this).token.end]},o(K,this).forEach((function(t){o(D,e).matches.push(o(D,e).token.start.concat(t.symbol).concat(o(D,e).token.regex).concat(o(D,e).token.end)),o(D,e).formats.push(t.format.bind(o(D,e).vars))})),o(D,this).regex=new RegExp(o(D,this).matches.join("|").concat("|$"),"g"),o(D,this).slurpStart=new RegExp([o(D,this).slurp.match,o(D,this).slurp.start.join("")].join(""),"gm"),o(D,this).slurpEnd=new RegExp([o(D,this).slurp.end.join(""),o(D,this).slurp.match].join(""),"gm")}},{key:"compile",value:function(t,e){var n=this,r=o(D,this).vars,i=r.SCOPE,u=r.SAFE,c=r.BUFFER,a=r.COMPONENT,s=r.ELEMENT,f=o(D,this).globalHelpers;o(D,this).rmWhitespace&&(t=String(t).replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),t=String(t).replace(o(D,this).slurpStart,o(D,this).token.start).replace(o(D,this).slurpEnd,o(D,this).token.end);var h,l,p,v="".concat(c,"('");h=o(D,this).regex,l=function(e,r,i){v+=(""+t.slice(r,i)).replace(M,(function(t){return"\\"+O[t]})),e.forEach((function(t,e){t&&(v+=o(D,n).formats[e](t))}))},p=0,t.replace(h,(function(){var t=[].slice.call(arguments,0,-1),e=t.pop(),n=t.shift();return l(t,p,e),p=e+n.length,n})),v="try{".concat(v+="');","}catch(e){return ").concat(c,".error(e)}"),o(D,this).withObject&&(v="with(".concat(i,"){").concat(v,"}")),v="".concat(c,".start();").concat(v,"return ").concat(c,".end();"),v+="\n//# sourceURL=".concat(e);var y=null,g=[i,a,s,c,u].concat(f);try{(y=Function.apply(null,g.concat(v))).source="(function(".concat(g.join(","),"){\n").concat(v,"\n});")}catch(t){throw t.filename=e,t.source=v,t}return y}}])}(),X=new WeakMap,Y=new WeakMap,z=new WeakMap,G=new WeakMap,I=new WeakSet,Q=function(){return s((function t(e,n,r){i(this,t),a(this,I),u(this,X,void 0),u(this,Y,void 0),u(this,z,void 0),u(this,G,void 0),W(n,J),W(r,V),c(Y,this,n),c(z,this,r),this.configure(e)}),[{key:"configure",value:function(t){c(X,this,t.path),m(t.resolver)&&c(G,this,t.resolver)}},{key:"get",value:function(t){var n=this;return o(Y,this).exist(t)?o(Y,this).resolve(t):e(I,this,Z).call(this,t).then((function(r){return e(I,n,tt).call(n,t,e(I,n,et).call(n,r,t))}))}}])}();function Z(t){return o(G,this).call(this,o(X,this),t)}function tt(t,e){return o(Y,this).set(t,e),e}function et(t,e){return m(t)?t:o(z,this).compile(t,e)}var nt=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],rt=" ",it='"',ot="/",ut="<",ct=">",at=function(t,e,n){var r=[],i=-1===nt.indexOf(t),o=function(t,e){var n=[];return A(t,(function(t,r,i){var o=e(t,r,i);!1===j(o)&&n.push(o)})),n}(e,(function(t,e){if(null!=t)return[T(e),[it,T(t),it].join("")].join("=")})).join(rt);return r.push([ut,t,rt,o,ct].join("")),n&&i&&r.push(n instanceof Array?n.join(""):n),i&&r.push([ut,ot,t,ct].join("")),r.join("")},st=function(t){function e(t){var r;return i(this,e),f(r=n(this,e),"code",0),r.message=t,r}return l(e,t),s(e,[{key:"getCode",value:function(){return this.code}},{key:"getMessage",value:function(){return this.message}},{key:"toString",value:function(){return this.getMessage()}}])}(g(Error)),ft=function(t){function e(){var t;i(this,e);for(var r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];return f(t=n(this,e,[].concat(o)),"code",404),t}return l(e,t),s(e)}(st),ht=function(t){function e(){var t;i(this,e);for(var r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];return f(t=n(this,e,[].concat(o)),"code",500),t}return l(e,t),s(e)}(st);function lt(t){return Promise.all(t||[]).then((function(t){return t.join("")})).catch((function(t){return t}))}function pt(){var t=[],e=[],n=function(t){e.push(t)};return n.start=function(){e=[]},n.backup=function(){t.push(e.concat()),e=[]},n.restore=function(){var n=e.concat();return e=t.pop(),lt(n)},n.error=function(t){return e=t,Promise.reject(new ht(e.message));var e},n.end=function(){return lt(e)},n}var vt=Symbol("ContextScope.parentTemplate"),yt=new WeakMap,gt=function(){return s((function t(e,n){i(this,t),u(this,yt,void 0),this.configure(e,n)}),[{key:"create",value:function(t){return new(o(yt,this))(t)}},{key:"configure",value:function(t,e){c(yt,this,function(t,e){var n=t.vars,r=n.BLOCKS,i=n.MACRO,o=n.EXTEND,u=n.LAYOUT,c=n.BUFFER,a=n.SAFE,s=n.SCOPE,f=n.COMPONENT,h=n.ELEMENT;function l(t){this[vt]=null,this[r]={},this[i]={},Object.assign(this,N(t,[s,c,a,f,h]))}return Object.assign(l.prototype,e),Object.defineProperty(l.prototype,c,{value:pt()}),Object.defineProperty(l.prototype,r,{value:{},writable:!0}),Object.defineProperty(l.prototype,i,{value:{},writable:!0}),Object.defineProperty(l.prototype,u,{value:!1,writable:!0}),Object.defineProperty(l.prototype,o,{value:!1,writable:!0}),Object.defineProperty(l.prototype,vt,{value:null,writable:!0}),Object.defineProperties(l.prototype,{setParentTemplate:{value:function(t){return this[vt]=t,this}},getParentTemplate:{value:function(){return this[vt]}},useSafeValue:{get:function(){return F}},useComponent:{get:function(){return m(this[f])?this[f].bind(this):function(){throw new Error("".concat(f," must be a function"))}}},useElement:{get:function(){return m(this[h])?this[h].bind(this):function(){throw new Error("".concat(h," must be a function"))}}},getMacro:{value:function(){return this[i]}},getBuffer:{value:function(){return this[c]}},getBlocks:{value:function(){return this[r]}},setExtend:{value:function(t){return this[o]=t,this}},getExtend:{value:function(){return this[o]}},setLayout:{value:function(t){return this[u]=t,this}},getLayout:{value:function(){return this[u]}},clone:{value:function(t){var e=[u,o,c];return!0===t&&e.push(r),N(this,e)}},extend:{value:function(t){this.setExtend(!0),this.setLayout(t)}},echo:{value:function(t){var e=this.getBuffer();[].slice.call(arguments).forEach(e)}},fn:{value:function(t){var e=this.getBuffer(),n=this;return function(){if(m(t))return e.backup(),e(t.apply(n,arguments)),e.restore()}}},macro:{value:function(t,e){var n=this.getMacro(),r=this.fn(e),i=this;n[t]=function(){return i.echo(r.apply(void 0,arguments))}}},call:{value:function(t){var e=this.getMacro()[t],n=[].slice.call(arguments,1);if(m(e))return e.apply(e,n)}},block:{value:function(t,e){var n=this,r=this.getBlocks();if(r[t]=r[t]||[],r[t].push(this.fn(e)),!this.getExtend()){var i=Object.assign([],r[t]),o=function(){return i.shift()},u=function(){var t=o();return t?function(){n.echo(t(u()))}:C};this.echo(o()(u()))}}},hasBlock:{value:function(t){return this.getBlocks().hasOwnProperty(t)}},include:{value:function(t,e,n){var r=!1===n?{}:this.clone(!0),i=R(r,e||{}),o=this.render(t,i);this.echo(o)}},use:{value:function(t,e){var n=this;this.echo(Promise.resolve(this.require(t)).then((function(t){var r=n.getMacro();A(t,(function(t,n){r[[e,n].join(".")]=t}))})))}},async:{value:function(t,e){this.echo(Promise.resolve(t).then(e))}},get:{value:function(t,e){var n=B(this,t,!0),r=n.shift(),i=n.pop();return L(r,i)?r[i]:e}},set:{value:function(t,e){var n=B(this,t,!1),r=n.shift(),i=n.pop();return this.getParentTemplate()&&L(r,i)?r[i]:r[i]=e}},each:{value:function(t,e){w(t)&&(t=this.get(t,[])),A(t,e)},writable:!0},el:{value:function(t,e,n){n=m(n)?this.fn(n)():n,this.echo(Promise.resolve(n).then((function(n){return at(t,e,n)})))},writable:!0},ui:{value:function(t){},writable:!0}}),l}(t,e))}},{key:"helpers",value:function(t){R(o(yt,this).prototype,t||{})}}])}(),dt=new WeakMap,bt=new WeakMap,mt=new WeakMap,wt=new WeakMap,kt=new WeakMap,jt=new WeakMap,Et=new WeakSet,Ot=function(){return s((function t(e){i(this,t),a(this,Et),u(this,dt,{}),u(this,bt,{}),u(this,mt,void 0),u(this,wt,void 0),u(this,kt,void 0),u(this,jt,void 0),U(o(dt,this),e||{}),c(mt,this,new gt(o(dt,this),o(bt,this))),c(wt,this,new V(o(dt,this))),c(kt,this,new J(o(dt,this))),c(jt,this,new Q(o(dt,this),o(kt,this),o(wt,this))),function(t){(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).forEach((function(e){e in t&&(t[e]=t[e].bind(t))}))}(this,["configure","create","render","require","context","preload","compile","helpers"]),this.helpers({require:this.require,render:this.render})}),[{key:"configure",value:function(t){return U(o(dt,this),t||{}),o(mt,this).configure(o(dt,this),o(bt,this)),o(wt,this).configure(o(dt,this)),o(kt,this).configure(o(dt,this)),o(jt,this).configure(o(dt,this)),o(dt,this)}},{key:"filePath",value:function(t){return function(t,e){var n=t.split(".").pop();return n!==e&&(t=[t,e].join(".")),t}(t,o(dt,this).extension)}},{key:"require",value:function(t){var n=this.context({});return e(Et,this,xt).call(this,this.filePath(t),n).then((function(){return n.getMacro()}))}},{key:"render",value:function(t,n){var r=this.context(n);return e(Et,this,xt).call(this,this.filePath(t),r).then(this.outputContent(t,r))}},{key:"outputContent",value:function(t,e){var n=this;return function(r){return e.getExtend()?(e.setExtend(!1),n.renderLayout(e.getLayout(),e,t)):r}}},{key:"renderLayout",value:function(t,n,r){var i=this.context(n);return r&&i.setParentTemplate(r),e(Et,this,xt).call(this,this.filePath(t),i).then(this.outputContent(t,i))}},{key:"helpers",value:function(t){o(mt,this).helpers(R(o(bt,this),t))}},{key:"context",value:function(t){return o(mt,this).create(t)}},{key:"compile",value:function(t,e){return o(wt,this).compile(t,e)}},{key:"preload",value:function(t){return o(kt,this).load(t||{})}},{key:"create",value:function(t){return new this.constructor(t)}}])}();function xt(t,e){var n=o(dt,this).globalHelpers,r=[e,e.useComponent,e.useElement,e.getBuffer(),e.useSafeValue],i=n.filter((function(t){return m(e[t])})).map((function(t){return e[t].bind(e)}));return o(jt,this).get(t).then((function(t){return t.apply(e,r.concat(i))}))}var Pt={};var St=new Ot({resolver:function(t,e){return new Promise((function(n,r){Pt.readFile(function(t,e){return(e=[t,e].join("/")).replace(/\/\//g,"/")}(t,e),(function(t,e){t?r(new st(t)):n(e.toString())}))}))}}),Mt=St.render,Tt=St.context,Ft=St.compile,Wt=St.helpers,Bt=St.preload,Rt=St.configure,Ct=St.create,At=function(t,e){return function(n,r,i){m(r)&&(i=r,r={});var o=R({},(r=r||{}).settings),u=d(w,$.path,o.views),c=d(k,$.cache,o["view cache"]),a=R({},o["view options"]),s=Pt.relative(u,n);return a.path=u,a.cache=c,t(a),e(s,r).then((function(t){i(null,t)})).catch((function(t){i(t)}))}}(Rt,Mt);t.TemplateError=st,t.TemplateNotFound=ft,t.TemplateSyntaxError=ht,t.__express=At,t.compile=Ft,t.configure=Rt,t.context=Tt,t.create=Ct,t.helpers=Wt,t.preload=Bt,t.render=Mt}));
|
package/dist/umd/worker.js
CHANGED
|
@@ -834,7 +834,7 @@
|
|
|
834
834
|
source = "".concat(BUFFER, ".start();").concat(source, "return ").concat(BUFFER, ".end();");
|
|
835
835
|
source += "\n//# sourceURL=".concat(path);
|
|
836
836
|
var result = null;
|
|
837
|
-
var params = [SCOPE,
|
|
837
|
+
var params = [SCOPE, COMPONENT, ELEMENT, BUFFER, SAFE].concat(GLOBALS);
|
|
838
838
|
try {
|
|
839
839
|
result = Function.apply(null, params.concat(source));
|
|
840
840
|
result.source = "(function(".concat(params.join(','), "){\n").concat(source, "\n});");
|
|
@@ -1026,6 +1026,7 @@
|
|
|
1026
1026
|
return buffer;
|
|
1027
1027
|
}
|
|
1028
1028
|
|
|
1029
|
+
var PARENT = Symbol('ContextScope.parentTemplate');
|
|
1029
1030
|
var createContextScope = function createContextScope(config, methods) {
|
|
1030
1031
|
var _config$vars = config.vars,
|
|
1031
1032
|
BLOCKS = _config$vars.BLOCKS,
|
|
@@ -1037,12 +1038,18 @@
|
|
|
1037
1038
|
SCOPE = _config$vars.SCOPE,
|
|
1038
1039
|
COMPONENT = _config$vars.COMPONENT,
|
|
1039
1040
|
ELEMENT = _config$vars.ELEMENT;
|
|
1041
|
+
/**
|
|
1042
|
+
*
|
|
1043
|
+
* @type {symbol}
|
|
1044
|
+
*/
|
|
1045
|
+
|
|
1040
1046
|
/**
|
|
1041
1047
|
* @name ContextScope
|
|
1042
1048
|
* @param data
|
|
1043
1049
|
* @constructor
|
|
1044
1050
|
*/
|
|
1045
1051
|
function ContextScope(data) {
|
|
1052
|
+
this[PARENT] = null;
|
|
1046
1053
|
this[BLOCKS] = {};
|
|
1047
1054
|
this[MACRO] = {};
|
|
1048
1055
|
Object.assign(this, omit(data, [SCOPE, BUFFER, SAFE, COMPONENT, ELEMENT]));
|
|
@@ -1067,7 +1074,24 @@
|
|
|
1067
1074
|
value: false,
|
|
1068
1075
|
writable: true
|
|
1069
1076
|
});
|
|
1077
|
+
Object.defineProperty(ContextScope.prototype, PARENT, {
|
|
1078
|
+
value: null,
|
|
1079
|
+
writable: true
|
|
1080
|
+
});
|
|
1070
1081
|
Object.defineProperties(ContextScope.prototype, {
|
|
1082
|
+
/** @type {function} */
|
|
1083
|
+
setParentTemplate: {
|
|
1084
|
+
value: function value(_value) {
|
|
1085
|
+
this[PARENT] = _value;
|
|
1086
|
+
return this;
|
|
1087
|
+
}
|
|
1088
|
+
},
|
|
1089
|
+
/** @type {function} */
|
|
1090
|
+
getParentTemplate: {
|
|
1091
|
+
value: function value() {
|
|
1092
|
+
return this[PARENT];
|
|
1093
|
+
}
|
|
1094
|
+
},
|
|
1071
1095
|
/** @type {function} */
|
|
1072
1096
|
useSafeValue: {
|
|
1073
1097
|
get: function get() {
|
|
@@ -1118,8 +1142,9 @@
|
|
|
1118
1142
|
},
|
|
1119
1143
|
/** @type {function} */
|
|
1120
1144
|
setExtend: {
|
|
1121
|
-
value: function value(
|
|
1122
|
-
this[EXTEND] =
|
|
1145
|
+
value: function value(_value2) {
|
|
1146
|
+
this[EXTEND] = _value2;
|
|
1147
|
+
return this;
|
|
1123
1148
|
}
|
|
1124
1149
|
},
|
|
1125
1150
|
/** @type {function} */
|
|
@@ -1132,6 +1157,7 @@
|
|
|
1132
1157
|
setLayout: {
|
|
1133
1158
|
value: function value(layout) {
|
|
1134
1159
|
this[LAYOUT] = layout;
|
|
1160
|
+
return this;
|
|
1135
1161
|
}
|
|
1136
1162
|
},
|
|
1137
1163
|
/** @type {function} */
|
|
@@ -1270,14 +1296,14 @@
|
|
|
1270
1296
|
},
|
|
1271
1297
|
/** @type {function} */
|
|
1272
1298
|
set: {
|
|
1273
|
-
value: function value(name,
|
|
1299
|
+
value: function value(name, _value3) {
|
|
1274
1300
|
var path = getPath(this, name, false);
|
|
1275
1301
|
var result = path.shift();
|
|
1276
1302
|
var prop = path.pop();
|
|
1277
|
-
if (this.
|
|
1303
|
+
if (this.getParentTemplate() && hasProp(result, prop)) {
|
|
1278
1304
|
return result[prop];
|
|
1279
1305
|
}
|
|
1280
|
-
return result[prop] =
|
|
1306
|
+
return result[prop] = _value3;
|
|
1281
1307
|
}
|
|
1282
1308
|
},
|
|
1283
1309
|
/** @type {function} */
|
|
@@ -1373,21 +1399,43 @@
|
|
|
1373
1399
|
_classPrivateFieldGet2(_template, this).configure(_classPrivateFieldGet2(_config, this));
|
|
1374
1400
|
return _classPrivateFieldGet2(_config, this);
|
|
1375
1401
|
}
|
|
1402
|
+
}, {
|
|
1403
|
+
key: "filePath",
|
|
1404
|
+
value: function filePath(name) {
|
|
1405
|
+
return ext(name, _classPrivateFieldGet2(_config, this).extension);
|
|
1406
|
+
}
|
|
1407
|
+
}, {
|
|
1408
|
+
key: "require",
|
|
1409
|
+
value: function require(name) {
|
|
1410
|
+
var scope = this.context({});
|
|
1411
|
+
return _assertClassBrand(_EJS_brand, this, _output).call(this, this.filePath(name), scope).then(function () {
|
|
1412
|
+
return scope.getMacro();
|
|
1413
|
+
});
|
|
1414
|
+
}
|
|
1376
1415
|
}, {
|
|
1377
1416
|
key: "render",
|
|
1378
1417
|
value: function render(name, data) {
|
|
1379
|
-
var _this = this;
|
|
1380
|
-
var filepath = ext(name, _classPrivateFieldGet2(_config, this).extension);
|
|
1381
1418
|
var scope = this.context(data);
|
|
1382
|
-
return _assertClassBrand(_EJS_brand, this, _output).call(this,
|
|
1419
|
+
return _assertClassBrand(_EJS_brand, this, _output).call(this, this.filePath(name), scope).then(this.outputContent(name, scope));
|
|
1420
|
+
}
|
|
1421
|
+
}, {
|
|
1422
|
+
key: "outputContent",
|
|
1423
|
+
value: function outputContent(name, scope) {
|
|
1424
|
+
var _this = this;
|
|
1425
|
+
return function (content) {
|
|
1383
1426
|
if (scope.getExtend()) {
|
|
1384
1427
|
scope.setExtend(false);
|
|
1385
|
-
|
|
1386
|
-
var _data = scope.clone();
|
|
1387
|
-
return _this.render(layout, _data);
|
|
1428
|
+
return _this.renderLayout(scope.getLayout(), scope, name);
|
|
1388
1429
|
}
|
|
1389
1430
|
return content;
|
|
1390
|
-
}
|
|
1431
|
+
};
|
|
1432
|
+
}
|
|
1433
|
+
}, {
|
|
1434
|
+
key: "renderLayout",
|
|
1435
|
+
value: function renderLayout(name, data, parent) {
|
|
1436
|
+
var scope = this.context(data);
|
|
1437
|
+
if (parent) scope.setParentTemplate(parent);
|
|
1438
|
+
return _assertClassBrand(_EJS_brand, this, _output).call(this, this.filePath(name), scope).then(this.outputContent(name, scope));
|
|
1391
1439
|
}
|
|
1392
1440
|
}, {
|
|
1393
1441
|
key: "helpers",
|
|
@@ -1414,27 +1462,19 @@
|
|
|
1414
1462
|
value: function create(options) {
|
|
1415
1463
|
return new this.constructor(options);
|
|
1416
1464
|
}
|
|
1417
|
-
}, {
|
|
1418
|
-
key: "require",
|
|
1419
|
-
value: function require(name) {
|
|
1420
|
-
var filepath = ext(name, _classPrivateFieldGet2(_config, this).extension);
|
|
1421
|
-
var scope = this.context({});
|
|
1422
|
-
return _assertClassBrand(_EJS_brand, this, _output).call(this, filepath, scope).then(function () {
|
|
1423
|
-
return scope.getMacro();
|
|
1424
|
-
});
|
|
1425
|
-
}
|
|
1426
1465
|
}]);
|
|
1427
1466
|
}();
|
|
1428
1467
|
function _output(path, scope) {
|
|
1429
1468
|
var _classPrivateFieldGet2$1 = _classPrivateFieldGet2(_config, this),
|
|
1430
1469
|
globalHelpers = _classPrivateFieldGet2$1.globalHelpers;
|
|
1431
|
-
var params = [scope, scope.
|
|
1470
|
+
var params = [scope, scope.useComponent, scope.useElement, scope.getBuffer(), scope.useSafeValue];
|
|
1471
|
+
var globals = globalHelpers.filter(function (name) {
|
|
1432
1472
|
return isFunction(scope[name]);
|
|
1433
1473
|
}).map(function (name) {
|
|
1434
1474
|
return scope[name].bind(scope);
|
|
1435
|
-
})
|
|
1475
|
+
});
|
|
1436
1476
|
return _classPrivateFieldGet2(_template, this).get(path).then(function (callback) {
|
|
1437
|
-
return callback.apply(scope, params);
|
|
1477
|
+
return callback.apply(scope, params.concat(globals));
|
|
1438
1478
|
});
|
|
1439
1479
|
}
|
|
1440
1480
|
|