@kosatyi/ejs 0.0.6 → 0.0.7

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/ejs.cjs CHANGED
@@ -47,6 +47,9 @@ var isFunction = function isFunction(v) {
47
47
  var isString = function isString(v) {
48
48
  return typeof v === 'string';
49
49
  };
50
+ var isBoolean = function isBoolean(v) {
51
+ return typeof v === 'boolean';
52
+ };
50
53
 
51
54
  var isNode = new Function('try {return this===global;}catch(e){return false;}');
52
55
  var symbolEntities = {
@@ -913,11 +916,13 @@ function init(options) {
913
916
  }
914
917
 
915
918
  options = options || {};
916
- var settings = options.settings || {};
917
- var viewPath = settings['views'];
918
- var viewOptions = settings['view options'] || {};
919
+ var settings = extend({}, options.settings);
920
+ var viewPath = typeProp(isString, settings['views'], defaults.path);
921
+ var viewCache = typeProp(isBoolean, settings['view cache'], defaults.cache);
922
+ var viewOptions = extend({}, settings['view options']);
919
923
  var filename = path__default["default"].relative(viewPath, name);
920
924
  viewOptions.path = viewPath;
925
+ viewOptions.cache = viewCache;
921
926
  view.configure(viewOptions);
922
927
  return view.render(filename, options).then(function (content) {
923
928
  callback(null, content);
package/dist/ejs.js CHANGED
@@ -43,6 +43,9 @@
43
43
  var isString = function isString(v) {
44
44
  return typeof v === 'string';
45
45
  };
46
+ var isBoolean = function isBoolean(v) {
47
+ return typeof v === 'boolean';
48
+ };
46
49
 
47
50
  var isNode = new Function('try {return this===global;}catch(e){return false;}');
48
51
  var symbolEntities = {
@@ -909,11 +912,13 @@
909
912
  }
910
913
 
911
914
  options = options || {};
912
- var settings = options.settings || {};
913
- var viewPath = settings['views'];
914
- var viewOptions = settings['view options'] || {};
915
+ var settings = extend({}, options.settings);
916
+ var viewPath = typeProp(isString, settings['views'], defaults.path);
917
+ var viewCache = typeProp(isBoolean, settings['view cache'], defaults.cache);
918
+ var viewOptions = extend({}, settings['view options']);
915
919
  var filename = path.relative(viewPath, name);
916
920
  viewOptions.path = viewPath;
921
+ viewOptions.cache = viewCache;
917
922
  view.configure(viewOptions);
918
923
  return view.render(filename, options).then(function (content) {
919
924
  callback(null, content);
package/dist/ejs.min.js CHANGED
@@ -1 +1 @@
1
- !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).ejs=t()}(this,(function(){"use strict";var n={},t={export:"ejs.precompiled",path:"views",resolver:null,extension:{template:"ejs",module:"mjs"},vars:{EXTEND:"$$$",BUFFER:"$$a",OUTPUT:"$$i",LAYOUT:"$$l",MACROS:"$$m",PRINT:"$$j",BLOCKS:"$$b",ERROR:"$$e",SCOPE:"$$s",SAFE:"$$v"},token:{start:"<%",end:"%>",regex:"([\\s\\S]+?)"}},e=function(){var n=[].slice.call(arguments),t=n.shift();return n.filter(t).pop()},r=function(n){return"function"==typeof n},o=function(n){return"string"==typeof n},i=new Function("try {return this===global;}catch(e){return false;}"),u={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},c={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},a=function(n){return new RegExp(["[",Object.keys(n).join(""),"]"].join(""),"g")},f=a(c),s=a(u),l=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(""+n).replace(f,(function(n){return c[n]}))},h=function(n,t,e){return null==(e=n)?"":t?l(e):e},p=function(n,t){var e=n,r=t.split("."),o=r.pop();return r.forEach((function(n){e=e[n]=e[n]||{}})),[e,o]},v=function(){for(var n=arguments.length,t=new Array(n),e=0;e<n;e++)t[e]=arguments[e];var r=t.shift();return t.filter((function(n){return n})).reduce((function(n,t){return Object.assign(n,t)}),r)},d=function(){},g=function(n,t){var e;for(e in n)b(n,e)&&t(n[e],e,n)},m=function(n,t){return function(n,t,e){var r=n instanceof Array,o=r?[]:{};return g(n,(function(n,e,i){var u=t(n,e,i);void 0!==u&&(r?o.push(u):o[e]=u)})),o}(n,(function(n,e){if(-1===t.indexOf(e))return n}))},b=function(n,t){return n&&n.hasOwnProperty(t)},w=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],x=" ",E='"',y="/",j="<",$=">";function O(n,t,e){var r=[],o=-1===w.indexOf(n),i=function(n,t,e){var r=[];return g(n,(function(n,e,o){var i=t(n,e,o);void 0!==i&&r.push(i)})),r}(t,(function(n,t){if(null!=n)return[l(t),[E,l(n),E].join("")].join("=")})).join(x);return r.push([j,n,x,i,$].join("")),e&&r.push(e instanceof Array?e.join(""):e),o&&r.push([j,y,n,$].join("")),r.join("")}var k=[{symbol:"-",format:function(n){return"'+\n".concat(this.SAFE,"(").concat(n,",1)+\n'")}},{symbol:"=",format:function(n){return"'+\n".concat(this.SAFE,"(").concat(n,")+\n'")}},{symbol:"#",format:function(n){return"'+\n/**".concat(n,"**/+\n'")}},{symbol:"",format:function(n){return"')\n".concat(n,"\n").concat(this.BUFFER,"('")}}],F=function(n){var t=n.token,e=n.vars,r=n.extension.module,o=[],i=[],c={match:"[ \\t]*",start:[t.start,"_"],end:["_",t.end]};k.forEach((function(n){o.push(t.start.concat(n.symbol).concat(t.regex).concat(t.end)),i.push(n.format.bind(e))}));var a=new RegExp(o.join("|").concat("|$"),"g"),f=new RegExp([c.match,c.start].join(""),"gm"),l=new RegExp([c.end,c.match].join(""),"gm");return function(n,o){var h=e.SCOPE,p=e.SAFE,v=e.BUFFER,d=o.split(".").pop();n=(n=n.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")).replace(f,c.start).replace(l,c.end),d===r&&(n=[t.start,n,t.end].join("\n"));var g="".concat(v,"('");!function(n,t,e){var r=0;t.replace(n,(function(){var n=[].slice.call(arguments,0,-1),t=n.pop(),o=n.shift();return e(n,r,t),r=t+o.length,o}))}(a,n,(function(t,e,r){g+=(""+n.slice(e,r)).replace(s,(function(n){return"\\"+u[n]})),t.forEach((function(n,t){n&&(g+=i[t](n))}))})),g+="');",g="with(".concat(h,"){").concat(g,"}"),g="".concat(v,".start();").concat(g,"return ").concat(v,".end();"),g+="\n//# sourceURL=".concat(o);var m=null;try{(m=new Function(h,v,p,g)).source="(function(".concat(h,",").concat(v,",").concat(p,"){\n").concat(g,"\n})")}catch(n){throw n.filename=o,n.source=g,n}return m}},R=function(n){return window.fetch(n).then((function(n){return n.text()}))},B=function(t){return new Promise((function(e,r){n.readFile(t,(function(n,t){n?r(n):e(t.toString())}))}))},S=function(t,e){return n.watch(".",{cwd:t}).on("change",(function(n){e.remove(n)})).on("error",(function(n){console.log("watcher error: "+n)}))},A=function(n,t,e){var o=n.path;n.token;var u=r(n.resolver)?n.resolver:i()?B:R,c=function(n){return u(function(n){return(n=[o,n].join("/")).replace(/\/\//g,"/")}(n))},a=function(n,e){return t.set(e,n),n};return n.watch&&i()&&S(o,t),function(n){if(t.exist(n))return t.resolve(n);var r=c(n).then((function(t){return a(e(t,n),n)}));return a(r,n)}};function P(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}var L=function(n){return Promise.all(n).then((function(n){return n.join("")}))},T=function(){var n=[],t=[];function e(n){t.push(n)}return e.start=function(){t=[]},e.backup=function(){n.push(t.concat()),t=[]},e.restore=function(){var e=t.concat();return t=n.pop(),L(e)},e.end=function(){return L(t)},e},U=function(n,t){var e,i=n.vars,u=i.EXTEND,c=i.MACROS,a=i.LAYOUT,f=i.BLOCKS,s=i.BUFFER;function l(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};v(this,n)}return Object.defineProperties(l.prototype,(P(e={},s,{value:T(),writable:!1,configurable:!1,enumerable:!1}),P(e,f,{value:{},writable:!1,configurable:!1,enumerable:!1}),P(e,u,{value:!1,writable:!0,configurable:!1,enumerable:!1}),P(e,a,{value:!1,writable:!0,configurable:!1,enumerable:!1}),P(e,"setBuffer",{value:function(n){this[s]=n},writable:!1,configurable:!1}),P(e,"getBuffer",{value:function(){return this[s]},writable:!1,configurable:!1}),P(e,"setBlocks",{value:function(n){this[f]=n},writable:!1,configurable:!1}),P(e,"getBlocks",{value:function(){return this[f]},writable:!1,configurable:!1}),P(e,"setExtend",{value:function(n){this[u]=n},writable:!1,configurable:!1}),P(e,"getExtend",{value:function(){return this[u]},writable:!1,configurable:!1}),P(e,"setLayout",{value:function(n){this[a]=n},writable:!1,configurable:!1}),P(e,"getLayout",{value:function(){return this[a]},writable:!1,configurable:!1}),e)),l.helpers=function(n){v(l.prototype,n)},l.helpers(t),l.helpers({clone:function(n){var t=[a,u,c,s];return!0===n&&t.push(f),m(this,t)},echo:function(){var n=this.getBuffer(),t=[].slice.call(arguments);t.forEach((function(t){n(t)}))},macro:function(n,t){var e=this.getBuffer(),o=function(){e.backup(),r(n)&&n.apply(this,arguments);var o=e.restore();return!0===t?this.echo(o):o}.bind(this);return o.ctx=this,o},resolve:function(n,t){return Promise.resolve(n).then(t.bind(this))},async:function(n,t){var e=this;this.echo(this.resolve(n,(function(n){return e.macro(t)(n)})))},node:O,element:function(n,t,e){r(e)&&(e=this.macro(e)()),this.echo(this.resolve(e,(function(e){return O(n,t,e)})))},component:function(n,t){t=function(n){var t=v({},n.props);return{element:O,create:n.create,render:function(n){return this.create(v({},t,n))}}}(t),this.set(n,function(n){this.echo(t.render(n))}.bind(this))},get:function(n,t){var e=p(this,n),r=e.shift(),o=e.pop();return b(r,o)?r[o]:t},set:function(n,t){var e=p(this,n),r=e.shift(),o=e.pop();if(this.getExtend()&&b(r,o))return r[o];r[o]=t},call:function(n){var t=[].slice.call(arguments,1),e=p(this,n),o=e.shift(),i=e.pop();if(r(o[i]))return o[i].apply(o,t)},each:function(n,t){o(n)&&(n=this.get(n,[])),g(n,t)},extend:function(n){this.setExtend(!0),this.setLayout(n)},block:function(n,t){var e=this.getBlocks(),r=this.macro(t);if(this.getExtend())e[n]=r;else{var o=e[n];if(o){var i=function(){this.echo(r())}.bind(o.ctx);this.echo(o(i))}else this.echo(r(d))}},include:function(n,t,e){var r=!1===e?{}:this.clone(!0),o=v(r,t||{}),i=this.render(n,o);this.echo(i)},use:function(n){var t=this,e=this.require(n);return this.echo(e),{as:function(n){return e.then((function(e){t.set(n,e)})),this}}},from:function(n){var t=this,e=this.require(n);return this.echo(e),{use:function(){var n=[].slice.call(arguments);return e.then((function(e){n.forEach((function(n){t.set(n,e[n])}))})),this}}}}),l};var q,C,N,_,D,K=(C={},N={},_=function(n,t){var e=n.split(".").pop();return e!==t&&(n=[n,t].join(".")),n},D={element:O,output:function(n,t){return D.template(n).then((function(n){return n.call(t,t,t.getBuffer(),h)}))},render:function(n,t){var e=_(n,C.extension.template),r=new D.scope(t);return D.output(e,r).then((function(n){if(r.getExtend()){r.setExtend(!1);var t=r.getLayout(),e=r.clone();return D.render(t,e)}return n}))},require:function(n){var t=_(n,C.extension.module),e=new D.scope({});return D.output(t,e).then((function(){return e.clone(!0)}))},helpers:function(n){v(N,n=n||{}),D.scope.helpers(n)},configure:function(n){return C.export=e(o,t.export,n.export),C.path=e(o,t.path,n.path),C.resolver=e(r,t.resolver,n.resolver),C.extension=v({},t.extension,n.extension),C.token=v({},t.token,n.token),C.vars=v({},t.vars,n.vars),D.scope=U(C,N),D.compile=F(C),D.wrapper=function(n){var t=n.export;return function(n){var e="(function(o){\n";return n.forEach((function(n){e+="o["+JSON.stringify(n.name)+"]="+String(n.content)+"\n"})),e+='})(window["'+t+'"] = window["'+t+'"] || {});\n'}}(C),D.cache=function(n){var t=n.export,e={};return{preload:function(){return!1===i()&&this.load(window[t]),this},exist:function(n){return b(e,n)},get:function(n){return e[n]},remove:function(n){delete e[n]},resolve:function(n){return Promise.resolve(this.get(n))},set:function(n,t){return e[n]=t,this},load:function(n){return v(e,n),this}}.preload()}(C),D.template=A(C,D.cache,D.compile),D},__express:function(t,e,o){r(e)&&(o=e,e={});var i=(e=e||{}).settings||{},u=i.views,c=i["view options"]||{},a=n.relative(u,t);return c.path=u,D.configure(c),D.render(a,e).then((function(n){o(null,n)})).catch((function(n){o(n)}))}},D.configure(q||{}),D.helpers({require:function(n){return D.require(n,this)},render:function(n,t){return D.render(n,t)}}),D);return K}));
1
+ !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).ejs=t()}(this,(function(){"use strict";var n={},t={export:"ejs.precompiled",path:"views",resolver:null,extension:{template:"ejs",module:"mjs"},vars:{EXTEND:"$$$",BUFFER:"$$a",OUTPUT:"$$i",LAYOUT:"$$l",MACROS:"$$m",PRINT:"$$j",BLOCKS:"$$b",ERROR:"$$e",SCOPE:"$$s",SAFE:"$$v"},token:{start:"<%",end:"%>",regex:"([\\s\\S]+?)"}},e=function(){var n=[].slice.call(arguments),t=n.shift();return n.filter(t).pop()},r=function(n){return"function"==typeof n},o=function(n){return"string"==typeof n},i=function(n){return"boolean"==typeof n},u=new Function("try {return this===global;}catch(e){return false;}"),c={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},a={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},f=function(n){return new RegExp(["[",Object.keys(n).join(""),"]"].join(""),"g")},s=f(a),l=f(c),h=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(""+n).replace(s,(function(n){return a[n]}))},p=function(n,t,e){return null==(e=n)?"":t?h(e):e},v=function(n,t){var e=n,r=t.split("."),o=r.pop();return r.forEach((function(n){e=e[n]=e[n]||{}})),[e,o]},d=function(){for(var n=arguments.length,t=new Array(n),e=0;e<n;e++)t[e]=arguments[e];var r=t.shift();return t.filter((function(n){return n})).reduce((function(n,t){return Object.assign(n,t)}),r)},g=function(){},b=function(n,t){var e;for(e in n)w(n,e)&&t(n[e],e,n)},m=function(n,t){return function(n,t,e){var r=n instanceof Array,o=r?[]:{};return b(n,(function(n,e,i){var u=t(n,e,i);void 0!==u&&(r?o.push(u):o[e]=u)})),o}(n,(function(n,e){if(-1===t.indexOf(e))return n}))},w=function(n,t){return n&&n.hasOwnProperty(t)},x=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],E=" ",y='"',j="/",$="<",O=">";function k(n,t,e){var r=[],o=-1===x.indexOf(n),i=function(n,t,e){var r=[];return b(n,(function(n,e,o){var i=t(n,e,o);void 0!==i&&r.push(i)})),r}(t,(function(n,t){if(null!=n)return[h(t),[y,h(n),y].join("")].join("=")})).join(E);return r.push([$,n,E,i,O].join("")),e&&r.push(e instanceof Array?e.join(""):e),o&&r.push([$,j,n,O].join("")),r.join("")}var F=[{symbol:"-",format:function(n){return"'+\n".concat(this.SAFE,"(").concat(n,",1)+\n'")}},{symbol:"=",format:function(n){return"'+\n".concat(this.SAFE,"(").concat(n,")+\n'")}},{symbol:"#",format:function(n){return"'+\n/**".concat(n,"**/+\n'")}},{symbol:"",format:function(n){return"')\n".concat(n,"\n").concat(this.BUFFER,"('")}}],R=function(n){var t=n.token,e=n.vars,r=n.extension.module,o=[],i=[],u={match:"[ \\t]*",start:[t.start,"_"],end:["_",t.end]};F.forEach((function(n){o.push(t.start.concat(n.symbol).concat(t.regex).concat(t.end)),i.push(n.format.bind(e))}));var a=new RegExp(o.join("|").concat("|$"),"g"),f=new RegExp([u.match,u.start].join(""),"gm"),s=new RegExp([u.end,u.match].join(""),"gm");return function(n,o){var h=e.SCOPE,p=e.SAFE,v=e.BUFFER,d=o.split(".").pop();n=(n=n.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")).replace(f,u.start).replace(s,u.end),d===r&&(n=[t.start,n,t.end].join("\n"));var g="".concat(v,"('");!function(n,t,e){var r=0;t.replace(n,(function(){var n=[].slice.call(arguments,0,-1),t=n.pop(),o=n.shift();return e(n,r,t),r=t+o.length,o}))}(a,n,(function(t,e,r){g+=(""+n.slice(e,r)).replace(l,(function(n){return"\\"+c[n]})),t.forEach((function(n,t){n&&(g+=i[t](n))}))})),g+="');",g="with(".concat(h,"){").concat(g,"}"),g="".concat(v,".start();").concat(g,"return ").concat(v,".end();"),g+="\n//# sourceURL=".concat(o);var b=null;try{(b=new Function(h,v,p,g)).source="(function(".concat(h,",").concat(v,",").concat(p,"){\n").concat(g,"\n})")}catch(n){throw n.filename=o,n.source=g,n}return b}},B=function(n){return window.fetch(n).then((function(n){return n.text()}))},S=function(t){return new Promise((function(e,r){n.readFile(t,(function(n,t){n?r(n):e(t.toString())}))}))},A=function(t,e){return n.watch(".",{cwd:t}).on("change",(function(n){e.remove(n)})).on("error",(function(n){console.log("watcher error: "+n)}))},P=function(n,t,e){var o=n.path;n.token;var i=r(n.resolver)?n.resolver:u()?S:B,c=function(n){return i(function(n){return(n=[o,n].join("/")).replace(/\/\//g,"/")}(n))},a=function(n,e){return t.set(e,n),n};return n.watch&&u()&&A(o,t),function(n){if(t.exist(n))return t.resolve(n);var r=c(n).then((function(t){return a(e(t,n),n)}));return a(r,n)}};function L(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}var T=function(n){return Promise.all(n).then((function(n){return n.join("")}))},U=function(){var n=[],t=[];function e(n){t.push(n)}return e.start=function(){t=[]},e.backup=function(){n.push(t.concat()),t=[]},e.restore=function(){var e=t.concat();return t=n.pop(),T(e)},e.end=function(){return T(t)},e},q=function(n,t){var e,i=n.vars,u=i.EXTEND,c=i.MACROS,a=i.LAYOUT,f=i.BLOCKS,s=i.BUFFER;function l(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};d(this,n)}return Object.defineProperties(l.prototype,(L(e={},s,{value:U(),writable:!1,configurable:!1,enumerable:!1}),L(e,f,{value:{},writable:!1,configurable:!1,enumerable:!1}),L(e,u,{value:!1,writable:!0,configurable:!1,enumerable:!1}),L(e,a,{value:!1,writable:!0,configurable:!1,enumerable:!1}),L(e,"setBuffer",{value:function(n){this[s]=n},writable:!1,configurable:!1}),L(e,"getBuffer",{value:function(){return this[s]},writable:!1,configurable:!1}),L(e,"setBlocks",{value:function(n){this[f]=n},writable:!1,configurable:!1}),L(e,"getBlocks",{value:function(){return this[f]},writable:!1,configurable:!1}),L(e,"setExtend",{value:function(n){this[u]=n},writable:!1,configurable:!1}),L(e,"getExtend",{value:function(){return this[u]},writable:!1,configurable:!1}),L(e,"setLayout",{value:function(n){this[a]=n},writable:!1,configurable:!1}),L(e,"getLayout",{value:function(){return this[a]},writable:!1,configurable:!1}),e)),l.helpers=function(n){d(l.prototype,n)},l.helpers(t),l.helpers({clone:function(n){var t=[a,u,c,s];return!0===n&&t.push(f),m(this,t)},echo:function(){var n=this.getBuffer(),t=[].slice.call(arguments);t.forEach((function(t){n(t)}))},macro:function(n,t){var e=this.getBuffer(),o=function(){e.backup(),r(n)&&n.apply(this,arguments);var o=e.restore();return!0===t?this.echo(o):o}.bind(this);return o.ctx=this,o},resolve:function(n,t){return Promise.resolve(n).then(t.bind(this))},async:function(n,t){var e=this;this.echo(this.resolve(n,(function(n){return e.macro(t)(n)})))},node:k,element:function(n,t,e){r(e)&&(e=this.macro(e)()),this.echo(this.resolve(e,(function(e){return k(n,t,e)})))},component:function(n,t){t=function(n){var t=d({},n.props);return{element:k,create:n.create,render:function(n){return this.create(d({},t,n))}}}(t),this.set(n,function(n){this.echo(t.render(n))}.bind(this))},get:function(n,t){var e=v(this,n),r=e.shift(),o=e.pop();return w(r,o)?r[o]:t},set:function(n,t){var e=v(this,n),r=e.shift(),o=e.pop();if(this.getExtend()&&w(r,o))return r[o];r[o]=t},call:function(n){var t=[].slice.call(arguments,1),e=v(this,n),o=e.shift(),i=e.pop();if(r(o[i]))return o[i].apply(o,t)},each:function(n,t){o(n)&&(n=this.get(n,[])),b(n,t)},extend:function(n){this.setExtend(!0),this.setLayout(n)},block:function(n,t){var e=this.getBlocks(),r=this.macro(t);if(this.getExtend())e[n]=r;else{var o=e[n];if(o){var i=function(){this.echo(r())}.bind(o.ctx);this.echo(o(i))}else this.echo(r(g))}},include:function(n,t,e){var r=!1===e?{}:this.clone(!0),o=d(r,t||{}),i=this.render(n,o);this.echo(i)},use:function(n){var t=this,e=this.require(n);return this.echo(e),{as:function(n){return e.then((function(e){t.set(n,e)})),this}}},from:function(n){var t=this,e=this.require(n);return this.echo(e),{use:function(){var n=[].slice.call(arguments);return e.then((function(e){n.forEach((function(n){t.set(n,e[n])}))})),this}}}}),l};var C,N,_,D,K,M=(N={},_={},D=function(n,t){var e=n.split(".").pop();return e!==t&&(n=[n,t].join(".")),n},K={element:k,output:function(n,t){return K.template(n).then((function(n){return n.call(t,t,t.getBuffer(),p)}))},render:function(n,t){var e=D(n,N.extension.template),r=new K.scope(t);return K.output(e,r).then((function(n){if(r.getExtend()){r.setExtend(!1);var t=r.getLayout(),e=r.clone();return K.render(t,e)}return n}))},require:function(n){var t=D(n,N.extension.module),e=new K.scope({});return K.output(t,e).then((function(){return e.clone(!0)}))},helpers:function(n){d(_,n=n||{}),K.scope.helpers(n)},configure:function(n){return N.export=e(o,t.export,n.export),N.path=e(o,t.path,n.path),N.resolver=e(r,t.resolver,n.resolver),N.extension=d({},t.extension,n.extension),N.token=d({},t.token,n.token),N.vars=d({},t.vars,n.vars),K.scope=q(N,_),K.compile=R(N),K.wrapper=function(n){var t=n.export;return function(n){var e="(function(o){\n";return n.forEach((function(n){e+="o["+JSON.stringify(n.name)+"]="+String(n.content)+"\n"})),e+='})(window["'+t+'"] = window["'+t+'"] || {});\n'}}(N),K.cache=function(n){var t=n.export,e={};return{preload:function(){return!1===u()&&this.load(window[t]),this},exist:function(n){return w(e,n)},get:function(n){return e[n]},remove:function(n){delete e[n]},resolve:function(n){return Promise.resolve(this.get(n))},set:function(n,t){return e[n]=t,this},load:function(n){return d(e,n),this}}.preload()}(N),K.template=P(N,K.cache,K.compile),K},__express:function(u,c,a){r(c)&&(a=c,c={});var f=d({},(c=c||{}).settings),s=e(o,f.views,t.path),l=e(i,f["view cache"],t.cache),h=d({},f["view options"]),p=n.relative(s,u);return h.path=s,h.cache=l,K.configure(h),K.render(p,c).then((function(n){a(null,n)})).catch((function(n){a(n)}))}},K.configure(C||{}),K.helpers({require:function(n){return K.require(n,this)},render:function(n,t){return K.render(n,t)}}),K);return M}));
package/dist/ejs.mjs CHANGED
@@ -42,6 +42,7 @@ const typeProp = function () {
42
42
 
43
43
  const isFunction = (v) => typeof v === 'function';
44
44
  const isString = (v) => typeof v === 'string';
45
+ const isBoolean = (v) => typeof v === 'boolean';
45
46
 
46
47
  const isNode = new Function(
47
48
  'try {return this===global;}catch(e){return false;}'
@@ -877,11 +878,21 @@ function init(options) {
877
878
  options = {};
878
879
  }
879
880
  options = options || {};
880
- const settings = options.settings || {};
881
- const viewPath = settings['views'];
882
- const viewOptions = settings['view options'] || {};
881
+ const settings = extend({}, options.settings);
882
+ const viewPath = typeProp(
883
+ isString,
884
+ settings['views'],
885
+ defaults.path
886
+ );
887
+ const viewCache = typeProp(
888
+ isBoolean,
889
+ settings['view cache'],
890
+ defaults.cache
891
+ );
892
+ const viewOptions = extend({}, settings['view options']);
883
893
  const filename = path.relative(viewPath, name);
884
894
  viewOptions.path = viewPath;
895
+ viewOptions.cache = viewCache;
885
896
  view.configure(viewOptions);
886
897
  return view
887
898
  .render(filename, options)
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@kosatyi/ejs",
3
3
  "description": "EJS Templates",
4
4
  "homepage": "https://github.com/kosatyi/ejs",
5
- "version": "0.0.6",
5
+ "version": "0.0.7",
6
6
  "main": "dist/ejs.cjs",
7
7
  "module": "dist/ejs.mjs",
8
8
  "browser": "dist/ejs.js",