@jaredwray/fumanchu 4.7.4 → 4.7.5
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/README.md +1 -0
- package/dist/index.browser.cjs +2 -2
- package/dist/index.browser.mjs +1 -1
- package/dist/index.node.cjs +6 -1
- package/package.json +14 -14
package/README.md
CHANGED
|
@@ -11,6 +11,7 @@ Handlebars + Helpers Together
|
|
|
11
11
|
](https://github.com/jaredwray/fumanchu/blob/main/LICENSE)
|
|
12
12
|
[](https://npmjs.com/package/@jaredwray/fumanchu)
|
|
13
13
|
[](https://www.jsdelivr.com/package/npm/@jaredwray/fumanchu)
|
|
14
|
+
[](https://drydock.org/diff/@jaredwray/fumanchu)
|
|
14
15
|
|
|
15
16
|
[Handlebars](https://github.com/handlebars-lang/handlebars.js) + [Handlebars-helpers](https://github.com/helpers/handlebars-helpers) (helpers are now maintained in this project) combined into a single package. In addition this project has **drastically** reduced the number of dependencies.
|
|
16
17
|
|
package/dist/index.browser.cjs
CHANGED
|
@@ -38,7 +38,7 @@ if(e!==0)return e}else return t<i?-1:1}}
|
|
|
38
38
|
/* v8 ignore next -- @preserve */
|
|
39
39
|
return 0}),n}},{name:`unique`,category:`array`,compatibility:[`browser`,`nodejs`],fn:function(e,t){if(!Array.isArray(e))
|
|
40
40
|
/* v8 ignore next -- @preserve */
|
|
41
|
-
return t?t.inverse?t.inverse(this)??``:``:[];let n=[...new Set(e)];if(!t)return n;if(n.length===0&&t.inverse)return t.inverse(this);if(n.length>0&&t.fn){let e=``;for(let r of n)e+=t.fn(r);return e}return``}}],oe=e=>e!==void 0&&(e===`/`||e===`!`||e===`?`||/[a-zA-Z]/.test(e)),se=e=>{let t=``,n=!1,r=!1,i=null;for(let a=0;a<e.length;a++){let o=e[a];if(r)
|
|
41
|
+
return t?t.inverse?t.inverse(this)??``:``:[];let n=[...new Set(e)];if(!t)return n;if(n.length===0&&t.inverse)return t.inverse(this);if(n.length>0&&t.fn){let e=``;for(let r of n)e+=t.fn(r);return e}return``}}],oe=e=>e!==void 0&&(e===`/`||e===`!`||e===`?`||/[a-zA-Z]/.test(e)),se=e=>{let t=``,n=!1,r=!1,i=null;for(let a=0;a<e.length;a++){let o=e[a];if(r)o===`-`&&e[a+1]===`-`&&e[a+2]===`>`&&(r=!1,a+=2);else if(n)i?o===i&&(i=null):o===`"`||o===`'`?i=o:o===`>`&&(n=!1);else{if(o===`<`){if(e[a+1]===`!`&&e[a+2]===`-`&&e[a+3]===`-`){r=!0,a+=3;continue}if(oe(e[a+1])){n=!0;continue}}t+=o}}return t},ce=/* @__PURE__ */ new Set([`area`,`base`,`br`,`col`,`command`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`,`circle`,`ellipse`,`line`,`path`,`polygon`,`polyline`,`rect`,`stop`,`use`]),b=(e,t={},n=``)=>{let r=`<${e}`;for(let[e,n]of Object.entries(t))n===!0?r+=` ${e}`:(typeof n==`string`||typeof n==`number`)&&(r+=` ${e}="${le(String(n))}"`);return ce.has(e.toLowerCase())?`${r}>`:`${r}>${ue(n)}</${e}>`},le=e=>e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`).replace(/>/g,`>`),ue=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`),x=(e={})=>Object.keys(e).map(t=>`${t}="${String(e[t]).replace(/^['"]|["']$/g,``)}"`).join(` `),de=[{name:`attr`,category:`html`,compatibility:[`browser`,`nodejs`],fn:e=>{let t=x(e?.hash??{});return t.trim()?` ${t}`:``}},{name:`sanitize`,category:`html`,compatibility:[`browser`,`nodejs`],fn:e=>typeof e==`string`?se(e).trim():``},{name:`ul`,category:`html`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>{let n=x(t.hash??{}),r=e.map(e=>typeof e==`string`?e:t.fn(e));return`${n?`<ul ${n}>`:`<ul>`}${r.map(e=>`<li>${e}</li>`).join(`
|
|
42
42
|
`)}</ul>`}},{name:`ol`,category:`html`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>{let n=x(t.hash??{}),r=e.map(e=>typeof e==`string`?e:t.fn(e));return`${n?`<ol ${n}>`:`<ol>`}${r.map(e=>`<li>${e}</li>`).join(`
|
|
43
43
|
`)}</ol>`}},{name:`thumbnailImage`,category:`html`,compatibility:[`browser`,`nodejs`],fn:e=>{let t=``,n=``,r=e.full||!1,i={alt:e.alt,src:e.thumbnail,width:e.size.width,height:e.size.height},a={id:`image-${e.id}`},o={href:r,rel:`thumbnail`};return e.classes&&(e.classes.image&&(i.class=e.classes.image.join(` `)),e.classes.figure&&(a.class=e.classes.figure.join(` `)),e.classes.link&&(o.class=e.classes.link.join(` `))),t+=`<figure ${x(a)}>\n`,n+=`<img ${x(i)}>\n`,t+=r?`<a ${x(o)}>\n${n}</a>\n`:n,e.caption&&(t+=`<figcaption>${e.caption}</figcaption>\n`),t+=`</figure>`,t}}],fe=[{name:`gist`,category:`code`,compatibility:[`browser`,`nodejs`],fn:e=>b(`script`,{src:`https://gist.github.com/${e}.js`})},{name:`jsfiddle`,category:`code`,compatibility:[`browser`,`nodejs`],fn:e=>{if(!e?.id)throw Error("jsfiddle helper expects an `id`");let{id:t,width:n=`100%`,height:r=`300`,skin:i=`/presentation/`,tabs:a=`result,js,html,css`,allowfullscreen:o=`allowfullscreen`,frameborder:s=`0`}=e,c=`http://jsfiddle.net/${t}/embedded/${a}${i}`;return b(`iframe`,{width:n,height:r,src:c,allowfullscreen:o,frameborder:s})}}],pe=[{name:`isEmpty`,category:`collection`,compatibility:[`browser`,`nodejs`],fn:e=>e==null?!0:Array.isArray(e)?e.length===0:typeof e==`object`&&Object.keys(e).length===0},{name:`iterate`,category:`collection`,compatibility:[`browser`,`nodejs`],fn:(e,t,n)=>{if(Array.isArray(e)){let n=``;for(let r=0;r<e.length;r++)n+=t(e[r],r);return n}if(e&&typeof e==`object`){let n=``;for(let r of Object.keys(e))n+=t(e[r],r);return n}return n?n():``}}],me=(...e)=>e.every(Boolean),he=(e,t,n)=>{switch(t){case`==`:return e==n;case`===`:return e===n;case`!=`:return e!=n;case`!==`:return e!==n;case`<`:return e<n;case`>`:return e>n;case`<=`:return e<=n;case`>=`:return e>=n;case`typeof`:return typeof e===n;default:throw Error(`helper {{compare}}: invalid operator: '${t}'`)}},ge=(e,t,n=0)=>e==null?!1:typeof e==`string`||Array.isArray(e)?e.indexOf(t,n)>-1:typeof e==`object`&&t in e,_e=(...e)=>{for(let t of e)if(t!=null)return t;return``},ve=(e,t)=>e===t,ye=(e,t)=>e>t,be=(e,t)=>e>=t,xe=(e,t)=>e==null||t==null?!1:Array.isArray(e)||typeof e==`string`?e.indexOf(t)>-1:typeof e==`object`&&t in e,S=(e,t)=>{if(!e)return!0;let n=Array.isArray(t)?t:t==null?[`0`,`false`,`nada`,`nil`,`nay`,`nah`,`negative`,`no`,`none`,`nope`,`nul`,`null`,`nix`,`nyet`,`uh-uh`,`veto`,`zero`]:[t],r=typeof e==`string`?e.toLowerCase():null;for(let t of n)if(t===e||r!=null&&t===r)return!0;return!1},Se=[{name:`and`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:me},{name:`compare`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:he},{name:`contains`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:ge},{name:`default`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:_e},{name:`eq`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:ve},{name:`gt`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:ye},{name:`gte`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:be},{name:`has`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:xe},{name:`isFalsey`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:e=>S(e)},{name:`isTruthy`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:e=>!S(e)},{name:`ifEven`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:e=>typeof e==`number`&&e%2==0},{name:`ifNth`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>typeof e==`number`&&typeof t==`number`&&t%e===0},{name:`ifOdd`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:e=>typeof e==`number`&&Math.abs(e%2)===1},{name:`is`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e==t},{name:`isnt`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e!=t},{name:`lt`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e<t},{name:`lte`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e<=t},{name:`neither`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>!e&&!t},{name:`not`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:e=>!e},{name:`or`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(...e)=>e.some(Boolean)},{name:`unlessEq`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e!==t},{name:`unlessGt`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e<=t},{name:`unlessLt`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e>=t},{name:`unlessGteq`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e<t},{name:`unlessLteq`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e>t}];d.default.extend(p.default),d.default.extend(f.default),d.default.extend(h.default),d.default.extend(m.default);const C=e=>{if(!e)return(0,d.default)();if(typeof e==`string`){let t=(0,u.parseDate)(e);return t?(0,d.default)(t):(0,d.default)(e)}return(0,d.default)(e)},Ce=()=>(/* @__PURE__ */ new Date()).getFullYear().toString(),w=e=>e.replace(/yyyy/g,`YYYY`).replace(/yy/g,`YY`).replace(/dd/g,`DD`).replace(/mm/g,`MM`).replace(/hh/g,`HH`),T=(e,t)=>{let n=t||`YYYY-MM-DD`,r=C(e);
|
|
44
44
|
/* v8 ignore next -- @preserve */
|
|
@@ -74,4 +74,4 @@ if(!i.isValid())throw Error(`Unable to parse date: ${e}`);return i.locale(t).for
|
|
|
74
74
|
/* c8 ignore next -- @preserve */
|
|
75
75
|
typeof n!=`string`&&(n=`...`);let r=Math.trunc(t),i=e.split(` `);return r<i.length&&(i=i.slice(0,r)),i.join(` `).trim()+n}return``},Y=e=>typeof e==`object`&&e&&`fn`in e&&typeof e.fn==`function`?String(e.fn()).toUpperCase():typeof e==`string`?e.toUpperCase():``,Ht=[{name:`append`,category:`string`,compatibility:[`browser`,`nodejs`],fn:gt},{name:`camelcase`,category:`string`,compatibility:[`browser`,`nodejs`],fn:_t},{name:`capitalize`,category:`string`,compatibility:[`browser`,`nodejs`],fn:G},{name:`capitalizeAll`,category:`string`,compatibility:[`browser`,`nodejs`],fn:vt},{name:`center`,category:`string`,compatibility:[`browser`,`nodejs`],fn:yt},{name:`chop`,category:`string`,compatibility:[`browser`,`nodejs`],fn:bt},{name:`dashcase`,category:`string`,compatibility:[`browser`,`nodejs`],fn:xt},{name:`dotcase`,category:`string`,compatibility:[`browser`,`nodejs`],fn:St},{name:`ellipsis`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Ct},{name:`hyphenate`,category:`string`,compatibility:[`browser`,`nodejs`],fn:wt},{name:`isString`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Tt},{name:`lowercase`,category:`string`,compatibility:[`browser`,`nodejs`],fn:q},{name:`downcase`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Et},{name:`occurrences`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Dt},{name:`pascalcase`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Ot},{name:`pathcase`,category:`string`,compatibility:[`browser`,`nodejs`],fn:kt},{name:`plusify`,category:`string`,compatibility:[`browser`,`nodejs`],fn:At},{name:`prepend`,category:`string`,compatibility:[`browser`,`nodejs`],fn:jt},{name:`remove`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Mt},{name:`removeFirst`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Nt},{name:`replace`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Pt},{name:`replaceFirst`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Ft},{name:`reverse`,category:`string`,compatibility:[`browser`,`nodejs`],fn:It},{name:`sentence`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Lt},{name:`snakecase`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Rt},{name:`trim`,category:`string`,compatibility:[`browser`,`nodejs`],fn:J},{name:`trimLeft`,category:`string`,compatibility:[`browser`,`nodejs`],fn:zt},{name:`trimRight`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Bt},{name:`truncate`,category:`string`,compatibility:[`browser`,`nodejs`],fn:K},{name:`truncateWords`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Vt},{name:`uppercase`,category:`string`,compatibility:[`browser`,`nodejs`],fn:Y},{name:`upcase`,category:`string`,compatibility:[`browser`,`nodejs`],fn:e=>Y(e)},{name:`split`,category:`string`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>typeof e==`string`?(typeof t!=`string`&&(t=``),e.split(t)):``},{name:`startsWith`,category:`string`,compatibility:[`browser`,`nodejs`],fn:(e,t,n)=>typeof e!=`string`||typeof t!=`string`?!1:t.startsWith(e)},{name:`titleize`,category:`string`,compatibility:[`browser`,`nodejs`],fn:e=>typeof e==`string`?e.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()):``},{name:`raw`,category:`string`,compatibility:[`browser`,`nodejs`],fn:e=>e&&typeof e.fn==`function`?e.fn():``}],X=[`browser`,`nodejs`],Z=e=>{if(typeof e==`string`)return encodeURIComponent(e)},Q=e=>{if(typeof e==`string`)return decodeURIComponent(e)};function Ut(...e){return Z.apply(this,e)}function Wt(...e){return Q.apply(this,e)}const Gt=[{name:`encodeURI`,category:`url`,compatibility:X,fn:Z},{name:`decodeURI`,category:`url`,compatibility:X,fn:Q},{name:`url_encode`,category:`url`,compatibility:X,fn:Ut},{name:`url_decode`,category:`url`,compatibility:X,fn:Wt},{name:`stripQuerystring`,category:`url`,compatibility:X,fn:e=>{if(typeof e==`string`)return e.split(`?`)[0]}}];var $=class extends ee{init(){this.registerHelpers(ae),this.registerHelpers(pe),this.registerHelpers(Ee),this.registerHelpers(fe),this.registerHelpers(de),this.registerHelpers(Se),this.registerHelpers(De),this.registerHelpers(Oe),this.registerHelpers(ke),this.registerHelpers(Ue),this.registerHelpers(Ke),this.registerHelpers(it),this.registerHelpers(at),this.registerHelpers(ht),this.registerHelpers(Ht),this.registerHelpers(Gt),this.registerHelpers(mt)}};const Kt=l.default,qt=l.default.create();function Jt(e){new $().load(e.handlebars??e.hbs)}async function Yt(){let e=new $,t=l.default.create();
|
|
76
76
|
/* c8 ignore stop */
|
|
77
|
-
return Object.keys(l.default.partials).length>0&&t.registerPartial(l.default.partials),e.load(t),typeof process<`u`&&process.env?.NODE_ENV===`development`&&console.warn("createHandlebars will be deprecated in future versions, use `fumanchu` instead."),t}function Xt(e){let t=new $,n=l.default.create();if(e?.handlebars?n=e.handlebars:Object.keys(l.default.partials).length>0&&n.registerPartial(l.default.partials),t.load(n),e?.caching){let t;t=e.caching instanceof c.CacheableMemory?e.caching:typeof e.caching==`object`?new c.CacheableMemory({useClone:!1,...e.caching}):new c.CacheableMemory({useClone:!1});let r=n.compile.bind(n);n.compile=(e,n)=>{let i=n?`${e}\0${JSON.stringify(n)}`:e,a=t.get(i);if(a)return a;let o=r(e,n);return t.set(i,o),o}}return n}exports
|
|
77
|
+
return Object.keys(l.default.partials).length>0&&t.registerPartial(l.default.partials),e.load(t),typeof process<`u`&&process.env?.NODE_ENV===`development`&&console.warn("createHandlebars will be deprecated in future versions, use `fumanchu` instead."),t}function Xt(e){let t=new $,n=l.default.create();if(e?.handlebars?n=e.handlebars:Object.keys(l.default.partials).length>0&&n.registerPartial(l.default.partials),t.load(n),e?.caching){let t;t=e.caching instanceof c.CacheableMemory?e.caching:typeof e.caching==`object`?new c.CacheableMemory({useClone:!1,...e.caching}):new c.CacheableMemory({useClone:!1});let r=n.compile.bind(n);n.compile=(e,n)=>{let i=n?`${e}\0${JSON.stringify(n)}`:e,a=t.get(i);if(a)return a;let o=r(e,n);return t.set(i,o),o}}return n}Object.defineProperty(exports,"CacheableMemory",{enumerable:!0,get:function(){return c.CacheableMemory}}),exports.Handlebars=Kt,exports.HelperRegistry=$,exports.createHandlebars=Yt,exports.fumanchu=Xt,exports.handlebars=qt,exports.helpers=Jt;
|
package/dist/index.browser.mjs
CHANGED
|
@@ -38,7 +38,7 @@ if(e!==0)return e}else return t<i?-1:1}}
|
|
|
38
38
|
/* v8 ignore next -- @preserve */
|
|
39
39
|
return 0}),n}},{name:`unique`,category:`array`,compatibility:[`browser`,`nodejs`],fn:function(e,t){if(!Array.isArray(e))
|
|
40
40
|
/* v8 ignore next -- @preserve */
|
|
41
|
-
return t?t.inverse?t.inverse(this)??``:``:[];let n=[...new Set(e)];if(!t)return n;if(n.length===0&&t.inverse)return t.inverse(this);if(n.length>0&&t.fn){let e=``;for(let r of n)e+=t.fn(r);return e}return``}}],ie=e=>e!==void 0&&(e===`/`||e===`!`||e===`?`||/[a-zA-Z]/.test(e)),ae=e=>{let t=``,n=!1,r=!1,i=null;for(let a=0;a<e.length;a++){let o=e[a];if(r)
|
|
41
|
+
return t?t.inverse?t.inverse(this)??``:``:[];let n=[...new Set(e)];if(!t)return n;if(n.length===0&&t.inverse)return t.inverse(this);if(n.length>0&&t.fn){let e=``;for(let r of n)e+=t.fn(r);return e}return``}}],ie=e=>e!==void 0&&(e===`/`||e===`!`||e===`?`||/[a-zA-Z]/.test(e)),ae=e=>{let t=``,n=!1,r=!1,i=null;for(let a=0;a<e.length;a++){let o=e[a];if(r)o===`-`&&e[a+1]===`-`&&e[a+2]===`>`&&(r=!1,a+=2);else if(n)i?o===i&&(i=null):o===`"`||o===`'`?i=o:o===`>`&&(n=!1);else{if(o===`<`){if(e[a+1]===`!`&&e[a+2]===`-`&&e[a+3]===`-`){r=!0,a+=3;continue}if(ie(e[a+1])){n=!0;continue}}t+=o}}return t},oe=/* @__PURE__ */ new Set([`area`,`base`,`br`,`col`,`command`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`,`circle`,`ellipse`,`line`,`path`,`polygon`,`polyline`,`rect`,`stop`,`use`]),m=(e,t={},n=``)=>{let r=`<${e}`;for(let[e,n]of Object.entries(t))n===!0?r+=` ${e}`:(typeof n==`string`||typeof n==`number`)&&(r+=` ${e}="${h(String(n))}"`);return oe.has(e.toLowerCase())?`${r}>`:`${r}>${g(n)}</${e}>`},h=e=>e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`).replace(/>/g,`>`),g=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`),_=(e={})=>Object.keys(e).map(t=>`${t}="${String(e[t]).replace(/^['"]|["']$/g,``)}"`).join(` `),v=[{name:`attr`,category:`html`,compatibility:[`browser`,`nodejs`],fn:e=>{let t=_(e?.hash??{});return t.trim()?` ${t}`:``}},{name:`sanitize`,category:`html`,compatibility:[`browser`,`nodejs`],fn:e=>typeof e==`string`?ae(e).trim():``},{name:`ul`,category:`html`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>{let n=_(t.hash??{}),r=e.map(e=>typeof e==`string`?e:t.fn(e));return`${n?`<ul ${n}>`:`<ul>`}${r.map(e=>`<li>${e}</li>`).join(`
|
|
42
42
|
`)}</ul>`}},{name:`ol`,category:`html`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>{let n=_(t.hash??{}),r=e.map(e=>typeof e==`string`?e:t.fn(e));return`${n?`<ol ${n}>`:`<ol>`}${r.map(e=>`<li>${e}</li>`).join(`
|
|
43
43
|
`)}</ol>`}},{name:`thumbnailImage`,category:`html`,compatibility:[`browser`,`nodejs`],fn:e=>{let t=``,n=``,r=e.full||!1,i={alt:e.alt,src:e.thumbnail,width:e.size.width,height:e.size.height},a={id:`image-${e.id}`},o={href:r,rel:`thumbnail`};return e.classes&&(e.classes.image&&(i.class=e.classes.image.join(` `)),e.classes.figure&&(a.class=e.classes.figure.join(` `)),e.classes.link&&(o.class=e.classes.link.join(` `))),t+=`<figure ${_(a)}>\n`,n+=`<img ${_(i)}>\n`,t+=r?`<a ${_(o)}>\n${n}</a>\n`:n,e.caption&&(t+=`<figcaption>${e.caption}</figcaption>\n`),t+=`</figure>`,t}}],se=[{name:`gist`,category:`code`,compatibility:[`browser`,`nodejs`],fn:e=>m(`script`,{src:`https://gist.github.com/${e}.js`})},{name:`jsfiddle`,category:`code`,compatibility:[`browser`,`nodejs`],fn:e=>{if(!e?.id)throw Error("jsfiddle helper expects an `id`");let{id:t,width:n=`100%`,height:r=`300`,skin:i=`/presentation/`,tabs:a=`result,js,html,css`,allowfullscreen:o=`allowfullscreen`,frameborder:s=`0`}=e,c=`http://jsfiddle.net/${t}/embedded/${a}${i}`;return m(`iframe`,{width:n,height:r,src:c,allowfullscreen:o,frameborder:s})}}],ce=[{name:`isEmpty`,category:`collection`,compatibility:[`browser`,`nodejs`],fn:e=>e==null?!0:Array.isArray(e)?e.length===0:typeof e==`object`&&Object.keys(e).length===0},{name:`iterate`,category:`collection`,compatibility:[`browser`,`nodejs`],fn:(e,t,n)=>{if(Array.isArray(e)){let n=``;for(let r=0;r<e.length;r++)n+=t(e[r],r);return n}if(e&&typeof e==`object`){let n=``;for(let r of Object.keys(e))n+=t(e[r],r);return n}return n?n():``}}],le=(...e)=>e.every(Boolean),ue=(e,t,n)=>{switch(t){case`==`:return e==n;case`===`:return e===n;case`!=`:return e!=n;case`!==`:return e!==n;case`<`:return e<n;case`>`:return e>n;case`<=`:return e<=n;case`>=`:return e>=n;case`typeof`:return typeof e===n;default:throw Error(`helper {{compare}}: invalid operator: '${t}'`)}},de=(e,t,n=0)=>e==null?!1:typeof e==`string`||Array.isArray(e)?e.indexOf(t,n)>-1:typeof e==`object`&&t in e,fe=(...e)=>{for(let t of e)if(t!=null)return t;return``},pe=(e,t)=>e===t,me=(e,t)=>e>t,he=(e,t)=>e>=t,ge=(e,t)=>e==null||t==null?!1:Array.isArray(e)||typeof e==`string`?e.indexOf(t)>-1:typeof e==`object`&&t in e,y=(e,t)=>{if(!e)return!0;let n=Array.isArray(t)?t:t==null?[`0`,`false`,`nada`,`nil`,`nay`,`nah`,`negative`,`no`,`none`,`nope`,`nul`,`null`,`nix`,`nyet`,`uh-uh`,`veto`,`zero`]:[t],r=typeof e==`string`?e.toLowerCase():null;for(let t of n)if(t===e||r!=null&&t===r)return!0;return!1},_e=[{name:`and`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:le},{name:`compare`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:ue},{name:`contains`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:de},{name:`default`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:fe},{name:`eq`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:pe},{name:`gt`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:me},{name:`gte`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:he},{name:`has`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:ge},{name:`isFalsey`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:e=>y(e)},{name:`isTruthy`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:e=>!y(e)},{name:`ifEven`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:e=>typeof e==`number`&&e%2==0},{name:`ifNth`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>typeof e==`number`&&typeof t==`number`&&t%e===0},{name:`ifOdd`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:e=>typeof e==`number`&&Math.abs(e%2)===1},{name:`is`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e==t},{name:`isnt`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e!=t},{name:`lt`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e<t},{name:`lte`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e<=t},{name:`neither`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>!e&&!t},{name:`not`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:e=>!e},{name:`or`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(...e)=>e.some(Boolean)},{name:`unlessEq`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e!==t},{name:`unlessGt`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e<=t},{name:`unlessLt`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e>=t},{name:`unlessGteq`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e<t},{name:`unlessLteq`,category:`comparison`,compatibility:[`browser`,`nodejs`],fn:(e,t)=>e>t}];r.extend(a),r.extend(i),r.extend(s),r.extend(o);const b=e=>{if(!e)return r();if(typeof e==`string`){let t=n(e);return r(t||e)}return r(e)},ve=()=>(/* @__PURE__ */ new Date()).getFullYear().toString(),x=e=>e.replace(/yyyy/g,`YYYY`).replace(/yy/g,`YY`).replace(/dd/g,`DD`).replace(/mm/g,`MM`).replace(/hh/g,`HH`),S=(e,t)=>{let n=t||`YYYY-MM-DD`,r=b(e);
|
|
44
44
|
/* v8 ignore next -- @preserve */
|
package/dist/index.node.cjs
CHANGED
|
@@ -3058,7 +3058,12 @@ function fumanchu(options) {
|
|
|
3058
3058
|
return handlebars$3;
|
|
3059
3059
|
}
|
|
3060
3060
|
//#endregion
|
|
3061
|
-
exports
|
|
3061
|
+
Object.defineProperty(exports, "CacheableMemory", {
|
|
3062
|
+
enumerable: true,
|
|
3063
|
+
get: function() {
|
|
3064
|
+
return _cacheable_memory.CacheableMemory;
|
|
3065
|
+
}
|
|
3066
|
+
});
|
|
3062
3067
|
exports.Handlebars = Handlebars;
|
|
3063
3068
|
exports.HelperRegistry = HelperRegistry;
|
|
3064
3069
|
exports.createHandlebars = createHandlebars;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jaredwray/fumanchu",
|
|
3
3
|
"description": "Handlebars + Helpers = Fumanchu",
|
|
4
|
-
"version": "4.7.
|
|
4
|
+
"version": "4.7.5",
|
|
5
5
|
"homepage": "https://github.com/jaredwray/fumanchu",
|
|
6
6
|
"author": "Jared Wray (me@jaredwray.com)",
|
|
7
7
|
"type": "module",
|
|
@@ -80,28 +80,28 @@
|
|
|
80
80
|
],
|
|
81
81
|
"dependencies": {
|
|
82
82
|
"@cacheable/memory": "^2.2.0",
|
|
83
|
-
"chrono-node": "2.10.
|
|
83
|
+
"chrono-node": "2.10.3",
|
|
84
84
|
"dayjs": "^1.11.23",
|
|
85
|
-
"handlebars": "^4.7.
|
|
86
|
-
"markdown-it": "^15.0.
|
|
85
|
+
"handlebars": "^4.7.10",
|
|
86
|
+
"markdown-it": "^15.0.3",
|
|
87
87
|
"micromatch": "^4.0.8"
|
|
88
88
|
},
|
|
89
89
|
"devDependencies": {
|
|
90
|
-
"@biomejs/biome": "^2.5.
|
|
90
|
+
"@biomejs/biome": "^2.5.15",
|
|
91
91
|
"@faker-js/faker": "^10.6.0",
|
|
92
92
|
"@monstermann/tinybench-pretty-printer": "^0.3.0",
|
|
93
93
|
"@types/micromatch": "^4.0.10",
|
|
94
|
-
"@types/node": "^24.
|
|
95
|
-
"@vitest/coverage-v8": "^5.0.
|
|
96
|
-
"docula": "^3.0.
|
|
97
|
-
"dotenv": "^
|
|
98
|
-
"happy-dom": "^
|
|
94
|
+
"@types/node": "^24.19.2",
|
|
95
|
+
"@vitest/coverage-v8": "^5.0.5",
|
|
96
|
+
"docula": "^3.0.2",
|
|
97
|
+
"dotenv": "^18.0.8",
|
|
98
|
+
"happy-dom": "^21.0.3",
|
|
99
99
|
"rimraf": "^6.1.3",
|
|
100
|
-
"tinybench": "^6.2.
|
|
101
|
-
"tsdown": "^0.23.
|
|
102
|
-
"tsx": "^4.23.
|
|
100
|
+
"tinybench": "^6.2.2",
|
|
101
|
+
"tsdown": "^0.23.1",
|
|
102
|
+
"tsx": "^4.23.15",
|
|
103
103
|
"typescript": "^7.0.2",
|
|
104
|
-
"vitest": "^5.0.
|
|
104
|
+
"vitest": "^5.0.5"
|
|
105
105
|
},
|
|
106
106
|
"contributors": [
|
|
107
107
|
"Jared Wray (https://jaredwray.com)",
|