@curly-message/parser 1.0.0-next.1 → 1.0.0-next.2

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 CHANGED
@@ -128,8 +128,9 @@ did, so `{ eq: 'text' }` costs a caller the name it wrote and nothing further.
128
128
  The types say as much, but a JavaScript caller reaches the table regardless.
129
129
 
130
130
  `onReport` is where diagnostics go. The parser writes to no channel of its own,
131
- so unset it reports nowhere; resolution still fails soft, it just does so
132
- silently. It is called with a `Report` describing what the parser could not do
131
+ so unset, or set to `null`, it reports nowhere; resolution still fails soft, it
132
+ just does so silently. `null` is for a host that states the silence rather than
133
+ omits it. It is called with a `Report` describing what the parser could not do
133
134
  — `code`, the `origin` that code declares, an English `message` carrying
134
135
  nothing from the payload, the `limit` reached where the report is about one,
135
136
  the message's `key` where one was passed, and `text`, the source of the
package/dist/index.d.ts CHANGED
@@ -229,10 +229,11 @@ declare namespace Parser {
229
229
  */
230
230
  modifierDefaults?: Modifier.Props<Given<Props>>;
231
231
  /**
232
- * Where diagnostics go. Unset, the parser reports nowhere — resolution
233
- * still fails soft, it just does so silently.
232
+ * Where diagnostics go. Unset or `null`, the parser reports nowhere —
233
+ * resolution still fails soft, it just does so silently. `null` is for a
234
+ * host that states the silence rather than omits it.
234
235
  */
235
- onReport?: OnReport;
236
+ onReport?: OnReport | null;
236
237
  };
237
238
  type PayloadDefault = {
238
239
  [key in 'default']?: any;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  var Ae=Object.defineProperty;var Oe=(e,n)=>{for(var t in n)Ae(e,t,{get:n[t],enumerable:!0})};var U={};Oe(U,{ago:()=>Ve,currency:()=>$e,date:()=>Se,eq:()=>te,gt:()=>he,gte:()=>De,lt:()=>ge,lte:()=>Ne,ne:()=>ke,number:()=>Le});var le=[`
2
- `,"\r","\u2028","\u2029"],N=[{key:"second",multiplier:1e3},{key:"minute",multiplier:60},{key:"hour",multiplier:60},{key:"day",multiplier:24},{key:"week",multiplier:7},{key:"month",multiplier:4.333333333333333},{key:"year",multiplier:12}],Z=e=>`\\u${e.charCodeAt(0).toString(16).padStart(4,"0")}`,G=e=>!/[^\t\n\v\f\r\u0020\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]/.test(e),d=(e,n,t)=>{try{return n!==void 0&&e&&Object.prototype.propertyIsEnumerable.call(e,n)?e[n]:void 0}catch{t?.();return}},k=(e,n)=>{if(!e)return[];try{return Object.keys(e)}catch{return n?.(),[]}},M=(e,n,t)=>{let o=Object.create(null);return k(e,t).forEach(r=>{o[r]=d(e,r,t)}),k(n,t).forEach(r=>{let i=d(n,r,t);i!==void 0&&(o[r]=i)}),o},ee=(e,n)=>{let t=Object.create(null);return k(e,n).forEach(o=>{let r=d(e,o,n);typeof r=="function"&&(t[o]=r)}),t},l=class extends Error{constructor(t){super(t);this.code=t}code},pe=e=>{try{return e instanceof l?e.code:void 0}catch{return}},P=e=>{if(typeof e=="string"&&G(e))return;let n=+e;return Number.isFinite(n)?n:void 0},me=e=>{let n=P(e);if(n!==void 0)return n;let t=Date.parse(e);return Number.isNaN(t)?void 0:t};var W=(e,n)=>e?e.value:n.defaultValue,te=e=>{let{value:n,options:t=[]}=e,o=`${n}`.toLowerCase();return W(t.find(({key:r})=>`${r}`.toLowerCase()===o),e)},ke=e=>{let{value:n,options:t=[]}=e,o=`${n}`.toLowerCase();return W(t.find(({key:r})=>`${r}`.toLowerCase()!==o),e)},ye=(e,n)=>e.filter(({key:t})=>!Number.isNaN(+t)).sort((t,o)=>n(+t.key,+o.key)),ge=e=>{let{value:n,options:t=[]}=e,o=+n;return W(ye(t,(r,i)=>r-i).find(({key:r})=>o<+r),e)},he=e=>{let{value:n,options:t=[]}=e,o=+n;return W(ye(t,(r,i)=>i-r).find(({key:r})=>o>+r),e)},Ne=e=>te({value:e.value,props:e.props,options:e.options,get defaultValue(){return ge(e)}}),De=e=>te({value:e.value,props:e.props,options:e.options,get defaultValue(){return he(e)}}),D=e=>{if(e===void 0)throw new l("failed-modifier");return e},Le=e=>{let{value:n,props:t,locale:o=""}=e;if(!o)throw new l("missing-locale");let r=D(P(n)),i=Number(d(t,"minimumFractionDigits"))||0,s=K(d(t,"maximumFractionDigits"),Math.max(i,2));return new Intl.NumberFormat(o,M(t,{maximumFractionDigits:s})).format(r)},Se=e=>{let{value:n,props:t,locale:o=""}=e;if(!o)throw new l("missing-locale");let r=D(me(n));return new Intl.DateTimeFormat(o,M(t,void 0)).format(r)},K=(e,n)=>e===void 0?n:e,ne=(e="",n="")=>new RegExp(`^${e}s?$`).test(n),je=e=>e==="auto"||N.some(({key:n})=>ne(n,e)),Ce=e=>N.indexOf(N.find(({key:n})=>ne(n,e))),_e=e=>Math.sign(e)*Math.round(Math.abs(e)),Fe=(e,n)=>N.reduce(([t,o],{key:r,multiplier:i},s)=>{if(ne(o,n))return[t,o];if(!o||s===Ce(o)+1){let a=_e(t/i);if(!o||Math.abs(a)>=1||n!=="auto")return[a,r]}return[t,o]},[e,""]),Ve=e=>{let{value:n,locale:t="",props:o}=e;if(!t)throw new l("missing-locale");let r=D(P(n)),i=K(d(o,"numeric"),"auto"),s=K(d(o,"format"),"auto");if(!je(s))throw new l("failed-modifier");let a=Fe(r,s);return new Intl.RelativeTimeFormat(t,M(o,{numeric:i})).format(...a)},$e=e=>{let{value:n,locale:t="",props:o}=e;if(!t)throw new l("missing-locale");let r=D(P(n)),i=D(P(r*K(d(o,"ratio"),1)));return new Intl.NumberFormat(t,M(o,{style:"currency"})).format(i)};var Re=`[${le.map(Z).join("")}]`,be=new RegExp(Re),ve=new RegExp(Re,"g"),ze=(e,n)=>{for(let t=n+2;t<e.length;t+=1){let o=e[t];if(o==="\\"){if(be.test(e.charAt(t+1)))return;t+=1;continue}if(be.test(o)||o==="{"&&e.charAt(t+1)==="{")return;if(o==="}"&&e.charAt(t+1)==="}")return t+2}},re=(e,n)=>{for(let t=n;t<e.length;t+=1){if(e[t]==="\\"){t+=1;continue}if(e[t]!=="{"||e.charAt(t+1)!=="{")continue;let o=ze(e,t);if(o!==void 0)return[t,o]}},Ge=e=>typeof e=="string"&&!!re(e,0),Ke=/[:;{}\\]/,q=e=>typeof e=="string"?e.replace(/\\([\s\S])/g,(n,t)=>Ke.test(t)||G(t)?t:n):e,L=e=>{let n=-1,t=0;for(let o=0;o<e.length;o+=1){let r=e[o]==="\\"&&o+1<e.length;!r&&G(e[o])||(n<0&&(n=o),o+=r?1:0,t=o+1)}return n<0?"":e.slice(n,t)},oe=(e,n)=>{let t=[],o=0;for(let r=0;r<e.length;r+=1)e[r]==="\\"?r+=1:e[r]===n&&(t.push(e.slice(o,r)),o=r+1);return[...t,e.slice(o)]},Ee=e=>{if(!e||typeof e!="object")return!1;try{let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}catch{return!1}},We=e=>{let n=I;try{let t=JSON.stringify(e,(o,r)=>{if(n-=1,n<0)throw new RangeError("The value visits more nodes than a resolvable output can hold.");return r});return typeof t=="string"?t:void 0}catch{return}},Me=e=>{try{if(!Ee(e)&&!Array.isArray(e))return String(e)}catch{return}return We(e)},B=(e,n)=>e===void 0?void 0:e!==null&&(typeof e=="object"||typeof e=="function"||typeof e=="bigint")?(n.has(e)||n.set(e,Me(e)),n.get(e)):Me(e),ie=(e,n,t)=>{let o=B(e,t);return e!==void 0&&o===void 0&&n(),o},Ue=["value","default","props"],qe=(e,n,t)=>{if(!Ee(e))return!1;if(!n.has(e)){let r=!1,i=k(e,()=>{r=!0});n.set(e,r?void 0:!!i.length&&i.every(s=>Ue.includes(s)))}let o=n.get(e);return o===void 0&&t?.(),!!o},we=e=>!!e&&(typeof e=="object"||typeof e=="function"),Xe=(e,n,t)=>e.reduce((o,r)=>{let i=we(r)?d(r,n,t):void 0;return we(i)?M(o,i,t):o},Object.create(null)),Be=["eq","ne","lt","gt","lte","gte"],He=(e,n)=>Be.includes(e)&&n[e]===U[e],Je=({value:e,props:n,payload:t,parserOptions:o,modifiers:r,modifierDefaults:i,onReport:s,locale:a,key:c,conversions:w,wrappers:R})=>{let f=Object.keys(r),E=m=>{let[A,...S]=oe(m.slice(2,-2),";"),[j,...C]=oe(A,":"),de=L(j),_=de?q(de):void 0,y=()=>h("unserializable-value",m,c,s),H=d(t,_,y),F=_!=="default"&&qe(H,R,y)?H:void 0,Te=F?d(F,"value",y):H,V=[],J;S.forEach(g=>{let[b,...ce]=oe(g,":"),z=q(L(b)),fe=ce.length?L(ce.join(":")):L(b);z&&(J===void 0&&z==="default"&&(J=fe),z!=="default"&&V.push({key:z,value:fe}))});let Y=g=>ie(g,y,w),$=Y(Te),ue,Pe=_==="default"?()=>$:()=>Y(d(t,"default",y)),O=()=>(ue??=[()=>Y(d(F,"default",y)),Pe].reduce((g,b)=>g??b(),void 0)??J??"",ue),v=q(L(C.join(":"))),Q=!!v;if(Q&&!f.includes(v))return h("unknown-modifier",m,c,s),O();if(_!==void 0&&!V.length&&He(v,r)&&h("missing-options",m,c,s),$===void 0)return O();if(!Q&&!V.length)return $;let ae=Q?v:"eq",Ie=r[ae];try{let g=Xe([i,n,d(F,"props",y)],ae,y);return ie(Ie({value:$,options:V,props:g,get defaultValue(){return O()},locale:a,parserOptions:o}),y,w)??O()}catch(g){let b=pe(g)??"failed-modifier";return h(b,m,c,s),b==="missing-locale"?"":O()}},u=`${e}`,x=[],T=0,p=0;for(let m=re(u,p);m;m=re(u,p)){let[A,S]=m;if(A+T>I)return;let j=u.slice(A,S),C=E(j);if(x.push(u.slice(p,A),C),T+=C.length-j.length,p=S,p+T>I)return}return u.length+T>I?void 0:[...x,u.slice(p)].join("")},se=10,xe=ee(U),I=1e5,X=120,Ye=e=>e.slice(0,(e.codePointAt(X-1)??0)>65535?X-1:X),Qe=e=>JSON.stringify(e.length>X?`${Ye(e)}...`:e).slice(1,-1).replace(ve,Z),Ze={"unknown-modifier":"A placeholder named a modifier this parser does not know.","failed-modifier":"A modifier could not produce a result, so the placeholder took its fallback chain.","missing-options":"A comparison was given no options to select from, so the placeholder took its fallback chain.","unserializable-value":"A value could not become text, so resolution read it as missing.","missing-locale":"A formatting modifier was given no locale, so the placeholder resolved to the empty string.","pass-limit":`Interpolation stopped after ${se} passes. A payload value probably references its own placeholder.`,"output-limit":`Interpolation stopped before exceeding ${I} characters. A payload value probably multiplies its own placeholder.`},et={"unknown-modifier":void 0,"failed-modifier":void 0,"missing-options":void 0,"unserializable-value":void 0,"missing-locale":void 0,"pass-limit":se,"output-limit":I},tt={"unknown-modifier":"message","failed-modifier":"payload","missing-options":"message","unserializable-value":"payload","missing-locale":"payload","pass-limit":"limit","output-limit":"limit"},h=(e,n,t,o)=>{if(o)try{o({code:e,origin:tt[e],message:Ze[e],key:t,limit:et[e],text:Qe(n)})}catch{}},nt=({value:e,props:n,payload:t,parserOptions:o,modifiers:r,modifierDefaults:i,onReport:s,locale:a,key:c,conversions:w,wrappers:R})=>{let f=e;for(let E=0;Ge(f);E+=1){if(E===se){h("pass-limit",f,c,s);break}let u=Je({value:f,payload:t,props:n,parserOptions:o,modifiers:r,modifierDefaults:i,onReport:s,locale:a,key:c,conversions:w,wrappers:R});if(u===void 0){h("output-limit",f,c,s);break}f=u}return B(q(f),w)??""},dt=e=>({resolve:(n,t)=>{let o=d(e,"onReport"),r=typeof n=="string"?n:"",i=d(t,"key",()=>h("unserializable-value",r,void 0,o)),s=()=>h("unserializable-value",r,i,o),a=d(t,"payload",s),c=d(t,"props",s),w=d(t,"locale",s),R=d(e,"customModifiers",s),f=d(e,"modifierDefaults",s),E=R===void 0?xe:M(xe,ee(R,s)),u=()=>h("unserializable-value","",i,o),x=new Map,T=new Map,p=B(n,x)??ie(d(a,"default",u),u,x);return p===void 0?B(i,x)??"":nt({value:p,payload:a,props:c,parserOptions:e,modifiers:E,modifierDefaults:f,onReport:o,locale:w,key:i,conversions:x,wrappers:T})}});export{dt as createParser};
2
+ `,"\r","\u2028","\u2029"],N=[{key:"second",multiplier:1e3},{key:"minute",multiplier:60},{key:"hour",multiplier:60},{key:"day",multiplier:24},{key:"week",multiplier:7},{key:"month",multiplier:4.333333333333333},{key:"year",multiplier:12}],Z=e=>`\\u${e.charCodeAt(0).toString(16).padStart(4,"0")}`,G=e=>!/[^\t\n\v\f\r\u0020\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]/.test(e),d=(e,n,t)=>{try{return n!==void 0&&e&&Object.prototype.propertyIsEnumerable.call(e,n)?e[n]:void 0}catch{t?.();return}},k=(e,n)=>{if(!e)return[];try{return Object.keys(e)}catch{return n?.(),[]}},M=(e,n,t)=>{let o=Object.create(null);return k(e,t).forEach(r=>{o[r]=d(e,r,t)}),k(n,t).forEach(r=>{let i=d(n,r,t);i!==void 0&&(o[r]=i)}),o},ee=(e,n)=>{let t=Object.create(null);return k(e,n).forEach(o=>{let r=d(e,o,n);typeof r=="function"&&(t[o]=r)}),t},l=class extends Error{constructor(t){super(t);this.code=t}code},pe=e=>{try{return e instanceof l?e.code:void 0}catch{return}},P=e=>{if(typeof e=="string"&&G(e))return;let n=+e;return Number.isFinite(n)?n:void 0},me=e=>{let n=P(e);if(n!==void 0)return n;let t=Date.parse(e);return Number.isNaN(t)?void 0:t};var W=(e,n)=>e?e.value:n.defaultValue,te=e=>{let{value:n,options:t=[]}=e,o=`${n}`.toLowerCase();return W(t.find(({key:r})=>`${r}`.toLowerCase()===o),e)},ke=e=>{let{value:n,options:t=[]}=e,o=`${n}`.toLowerCase();return W(t.find(({key:r})=>`${r}`.toLowerCase()!==o),e)},ye=(e,n)=>e.filter(({key:t})=>!Number.isNaN(+t)).sort((t,o)=>n(+t.key,+o.key)),ge=e=>{let{value:n,options:t=[]}=e,o=+n;return W(ye(t,(r,i)=>r-i).find(({key:r})=>o<+r),e)},he=e=>{let{value:n,options:t=[]}=e,o=+n;return W(ye(t,(r,i)=>i-r).find(({key:r})=>o>+r),e)},Ne=e=>te({value:e.value,props:e.props,options:e.options,get defaultValue(){return ge(e)}}),De=e=>te({value:e.value,props:e.props,options:e.options,get defaultValue(){return he(e)}}),D=e=>{if(e===void 0)throw new l("failed-modifier");return e},Le=e=>{let{value:n,props:t,locale:o=""}=e;if(!o)throw new l("missing-locale");let r=D(P(n)),i=Number(d(t,"minimumFractionDigits"))||0,s=K(d(t,"maximumFractionDigits"),Math.max(i,2));return new Intl.NumberFormat(o,M(t,{maximumFractionDigits:s})).format(r)},Se=e=>{let{value:n,props:t,locale:o=""}=e;if(!o)throw new l("missing-locale");let r=D(me(n));return new Intl.DateTimeFormat(o,M(t,void 0)).format(r)},K=(e,n)=>e===void 0?n:e,ne=(e="",n="")=>new RegExp(`^${e}s?$`).test(n),je=e=>e==="auto"||N.some(({key:n})=>ne(n,e)),Ce=e=>N.indexOf(N.find(({key:n})=>ne(n,e))),_e=e=>Math.sign(e)*Math.round(Math.abs(e)),Fe=(e,n)=>N.reduce(([t,o],{key:r,multiplier:i},s)=>{if(ne(o,n))return[t,o];if(!o||s===Ce(o)+1){let a=_e(t/i);if(!o||Math.abs(a)>=1||n!=="auto")return[a,r]}return[t,o]},[e,""]),Ve=e=>{let{value:n,locale:t="",props:o}=e;if(!t)throw new l("missing-locale");let r=D(P(n)),i=K(d(o,"numeric"),"auto"),s=K(d(o,"format"),"auto");if(!je(s))throw new l("failed-modifier");let a=Fe(r,s);return new Intl.RelativeTimeFormat(t,M(o,{numeric:i})).format(...a)},$e=e=>{let{value:n,locale:t="",props:o}=e;if(!t)throw new l("missing-locale");let r=D(P(n)),i=D(P(r*K(d(o,"ratio"),1)));return new Intl.NumberFormat(t,M(o,{style:"currency"})).format(i)};var Re=`[${le.map(Z).join("")}]`,be=new RegExp(Re),ve=new RegExp(Re,"g"),ze=(e,n)=>{for(let t=n+2;t<e.length;t+=1){let o=e[t];if(o==="\\"){if(be.test(e.charAt(t+1)))return;t+=1;continue}if(be.test(o)||o==="{"&&e.charAt(t+1)==="{")return;if(o==="}"&&e.charAt(t+1)==="}")return t+2}},re=(e,n)=>{for(let t=n;t<e.length;t+=1){if(e[t]==="\\"){t+=1;continue}if(e[t]!=="{"||e.charAt(t+1)!=="{")continue;let o=ze(e,t);if(o!==void 0)return[t,o]}},Ge=e=>typeof e=="string"&&!!re(e,0),Ke=/[:;{}\\]/,q=e=>typeof e=="string"?e.replace(/\\([\s\S])/g,(n,t)=>Ke.test(t)||G(t)?t:n):e,L=e=>{let n=-1,t=0;for(let o=0;o<e.length;o+=1){let r=e[o]==="\\"&&o+1<e.length;!r&&G(e[o])||(n<0&&(n=o),o+=r?1:0,t=o+1)}return n<0?"":e.slice(n,t)},oe=(e,n)=>{let t=[],o=0;for(let r=0;r<e.length;r+=1)e[r]==="\\"?r+=1:e[r]===n&&(t.push(e.slice(o,r)),o=r+1);return[...t,e.slice(o)]},Ee=e=>{if(!e||typeof e!="object")return!1;try{let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}catch{return!1}},We=e=>{let n=I;try{let t=JSON.stringify(e,(o,r)=>{if(n-=1,n<0)throw new RangeError("The value visits more nodes than a resolvable output can hold.");return r});return typeof t=="string"?t:void 0}catch{return}},Me=e=>{try{if(!Ee(e)&&!Array.isArray(e))return String(e)}catch{return}return We(e)},B=(e,n)=>e===void 0?void 0:e!==null&&(typeof e=="object"||typeof e=="function"||typeof e=="bigint")?(n.has(e)||n.set(e,Me(e)),n.get(e)):Me(e),ie=(e,n,t)=>{let o=B(e,t);return e!==void 0&&o===void 0&&n(),o},Ue=["value","default","props"],qe=(e,n,t)=>{if(!Ee(e))return!1;if(!n.has(e)){let r=!1,i=k(e,()=>{r=!0});n.set(e,r?void 0:!!i.length&&i.every(s=>Ue.includes(s)))}let o=n.get(e);return o===void 0&&t?.(),!!o},we=e=>!!e&&(typeof e=="object"||typeof e=="function"),Xe=(e,n,t)=>e.reduce((o,r)=>{let i=we(r)?d(r,n,t):void 0;return we(i)?M(o,i,t):o},Object.create(null)),Be=["eq","ne","lt","gt","lte","gte"],He=(e,n)=>Be.includes(e)&&n[e]===U[e],Je=({value:e,props:n,payload:t,parserOptions:o,modifiers:r,modifierDefaults:i,onReport:s,locale:a,key:c,conversions:w,wrappers:R})=>{let f=Object.keys(r),E=m=>{let[A,...S]=oe(m.slice(2,-2),";"),[j,...C]=oe(A,":"),de=L(j),_=de?q(de):void 0,y=()=>h("unserializable-value",m,c,s),H=d(t,_,y),F=_!=="default"&&qe(H,R,y)?H:void 0,Te=F?d(F,"value",y):H,V=[],J;S.forEach(g=>{let[b,...ce]=oe(g,":"),z=q(L(b)),fe=ce.length?L(ce.join(":")):L(b);z&&(J===void 0&&z==="default"&&(J=fe),z!=="default"&&V.push({key:z,value:fe}))});let Y=g=>ie(g,y,w),$=Y(Te),ue,Pe=_==="default"?()=>$:()=>Y(d(t,"default",y)),O=()=>(ue??=[()=>Y(d(F,"default",y)),Pe].reduce((g,b)=>g??b(),void 0)??J??"",ue),v=q(L(C.join(":"))),Q=!!v;if(Q&&!f.includes(v))return h("unknown-modifier",m,c,s),O();if(_!==void 0&&!V.length&&He(v,r)&&h("missing-options",m,c,s),$===void 0)return O();if(!Q&&!V.length)return $;let ae=Q?v:"eq",Ie=r[ae];try{let g=Xe([i,n,d(F,"props",y)],ae,y);return ie(Ie({value:$,options:V,props:g,get defaultValue(){return O()},locale:a,parserOptions:o}),y,w)??O()}catch(g){let b=pe(g)??"failed-modifier";return h(b,m,c,s),b==="missing-locale"?"":O()}},u=`${e}`,x=[],T=0,p=0;for(let m=re(u,p);m;m=re(u,p)){let[A,S]=m;if(A+T>I)return;let j=u.slice(A,S),C=E(j);if(x.push(u.slice(p,A),C),T+=C.length-j.length,p=S,p+T>I)return}return u.length+T>I?void 0:[...x,u.slice(p)].join("")},se=10,xe=ee(U),I=1e5,X=120,Ye=e=>e.slice(0,(e.codePointAt(X-1)??0)>65535?X-1:X),Qe=e=>JSON.stringify(e.length>X?`${Ye(e)}...`:e).slice(1,-1).replace(ve,Z),Ze={"unknown-modifier":"A placeholder named a modifier this parser does not know.","failed-modifier":"A modifier could not produce a result, so the placeholder took its fallback chain.","missing-options":"A comparison was given no options to select from, so the placeholder took its fallback chain.","unserializable-value":"A value could not become text, so resolution read it as missing.","missing-locale":"A formatting modifier was given no locale, so the placeholder resolved to the empty string.","pass-limit":`Interpolation stopped after ${se} passes. A payload value probably references its own placeholder.`,"output-limit":`Interpolation stopped before exceeding ${I} characters. A payload value probably multiplies its own placeholder.`},et={"unknown-modifier":void 0,"failed-modifier":void 0,"missing-options":void 0,"unserializable-value":void 0,"missing-locale":void 0,"pass-limit":se,"output-limit":I},tt={"unknown-modifier":"message","failed-modifier":"payload","missing-options":"message","unserializable-value":"payload","missing-locale":"payload","pass-limit":"limit","output-limit":"limit"},h=(e,n,t,o)=>{if(o)try{o({code:e,origin:tt[e],message:Ze[e],key:t,limit:et[e],text:Qe(n)})}catch{}},nt=({value:e,props:n,payload:t,parserOptions:o,modifiers:r,modifierDefaults:i,onReport:s,locale:a,key:c,conversions:w,wrappers:R})=>{let f=e;for(let E=0;Ge(f);E+=1){if(E===se){h("pass-limit",f,c,s);break}let u=Je({value:f,payload:t,props:n,parserOptions:o,modifiers:r,modifierDefaults:i,onReport:s,locale:a,key:c,conversions:w,wrappers:R});if(u===void 0){h("output-limit",f,c,s);break}f=u}return B(q(f),w)??""},dt=e=>({resolve:(n,t)=>{let o=d(e,"onReport")??void 0,r=typeof n=="string"?n:"",i=d(t,"key",()=>h("unserializable-value",r,void 0,o)),s=()=>h("unserializable-value",r,i,o),a=d(t,"payload",s),c=d(t,"props",s),w=d(t,"locale",s),R=d(e,"customModifiers",s),f=d(e,"modifierDefaults",s),E=R===void 0?xe:M(xe,ee(R,s)),u=()=>h("unserializable-value","",i,o),x=new Map,T=new Map,p=B(n,x)??ie(d(a,"default",u),u,x);return p===void 0?B(i,x)??"":nt({value:p,payload:a,props:c,parserOptions:e,modifiers:E,modifierDefaults:f,onReport:o,locale:w,key:i,conversions:x,wrappers:T})}});export{dt as createParser};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curly-message/parser",
3
- "version": "1.0.0-next.1",
3
+ "version": "1.0.0-next.2",
4
4
  "description": "JavaScript implementation of the Curly Message Format.",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",