@intlify/message-compiler 9.13.0 → 10.0.0-alpha.1

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * message-compiler v9.13.0
2
+ * message-compiler v10.0.0-alpha.1
3
3
  * (c) 2024 kazuya kawaguchi
4
4
  * Released under the MIT License.
5
5
  */
6
- var IntlifyMessageCompiler=function(e){"use strict";function t(e,t,n){return{line:e,column:t,offset:n}}function n(e,t,n){const r={start:e,end:t};return null!=n&&(r.source=n),r}const r=Object.assign,c=e=>"string"==typeof e;function o(e,t=""){return e.reduce(((e,n,r)=>0===r?e+n:e+t+n),"")}const s={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},u={[s.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function a(e,t,...n){const r={message:String(e),code:e};return t&&(r.location=t),r}const i={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},l={[i.EXPECTED_TOKEN]:"Expected token: '{0}'",[i.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[i.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[i.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[i.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[i.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[i.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[i.EMPTY_PLACEHOLDER]:"Empty placeholder",[i.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[i.INVALID_LINKED_FORMAT]:"Invalid linked format",[i.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[i.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[i.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[i.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[i.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[i.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function E(e,t,n={}){const{domain:r,messages:c,args:o}=n,s=new SyntaxError(String(e));return s.code=e,t&&(s.location=t),s.domain=r,s}const f=/<\/?[\w\s="/.':;#-\/]+>/,d=" ",L="\r",N="\n",_=String.fromCharCode(8232),p=String.fromCharCode(8233);function C(e){const t=e;let n=0,r=1,c=1,o=0;const s=e=>t[e]===L&&t[e+1]===N,u=e=>t[e]===p,a=e=>t[e]===_,i=e=>s(e)||(e=>t[e]===N)(e)||u(e)||a(e),l=e=>s(e)||u(e)||a(e)?N:t[e];function E(){return o=0,i(n)&&(r++,c=0),s(n)&&n++,n++,c++,t[n]}return{index:()=>n,line:()=>r,column:()=>c,peekOffset:()=>o,charAt:l,currentChar:()=>l(n),currentPeek:()=>l(n+o),next:E,peek:function(){return s(n+o)&&o++,o++,t[n+o]},reset:function(){n=0,r=1,c=1,o=0},resetPeek:function(e=0){o=e},skipToPeek:function(){const e=n+o;for(;e!==n;)E();o=0}}}const T=void 0,k=".",A="'";function I(e,r={}){const c=!1!==r.location,o=C(e),s=()=>o.index(),u=()=>t(o.line(),o.column(),o.index()),a=u(),l=s(),E={currentType:14,offset:l,startLoc:a,endLoc:a,lastType:14,lastOffset:l,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},f=()=>E,{onError:L}=r;function _(e,t,r){e.endLoc=u(),e.currentType=t;const o={type:t};return c&&(o.loc=n(e.startLoc,e.endLoc)),null!=r&&(o.value=r),o}const p=e=>_(e,14);function I(e,t){return e.currentChar()===t?(e.next(),t):(i.EXPECTED_TOKEN,u(),"")}function h(e){let t="";for(;e.currentPeek()===d||e.currentPeek()===N;)t+=e.currentPeek(),e.peek();return t}function S(e){const t=h(e);return e.skipToPeek(),t}function P(e){if(e===T)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function O(e,t){const{currentType:n}=t;if(2!==n)return!1;h(e);const r=function(e){if(e===T)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function D(e){h(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function y(e,t=!0){const n=(t=!1,r="",c=!1)=>{const o=e.currentPeek();return"{"===o?"%"!==r&&t:"@"!==o&&o?"%"===o?(e.peek(),n(t,"%",!0)):"|"===o?!("%"!==r&&!c)||!(r===d||r===N):o===d?(e.peek(),n(!0,d,c)):o!==N||(e.peek(),n(!0,N,c)):"%"===r||t},r=n();return t&&e.resetPeek(),r}function m(e,t){const n=e.currentChar();return n===T?T:t(n)?(e.next(),n):null}function U(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}function b(e){return m(e,U)}function x(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t||45===t}function v(e){return m(e,x)}function R(e){const t=e.charCodeAt(0);return t>=48&&t<=57}function M(e){return m(e,R)}function g(e){const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function X(e){return m(e,g)}function Y(e){let t="",n="";for(;t=M(e);)n+=t;return n}function K(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!y(e))break;t+=n,e.next()}else if(n===d||n===N)if(y(e))t+=n,e.next();else{if(D(e))break;t+=n,e.next()}else t+=n,e.next()}return t}function w(e){return e!==A&&e!==N}function H(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return G(e,t,4);case"U":return G(e,t,6);default:return i.UNKNOWN_ESCAPE_SEQUENCE,u(),""}}function G(e,t,n){I(e,t);let r="";for(let c=0;c<n;c++){const t=X(e);if(!t){i.INVALID_UNICODE_ESCAPE_SEQUENCE,u(),e.currentChar();break}r+=t}return`\\${t}${r}`}function $(e){return"{"!==e&&"}"!==e&&e!==d&&e!==N}function B(e){S(e);const t=I(e,"|");return S(e),t}function V(e,t){let n=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&(i.NOT_ALLOW_NEST_PLACEHOLDER,u()),e.next(),n=_(t,2,"{"),S(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&(i.EMPTY_PLACEHOLDER,u()),e.next(),n=_(t,3,"}"),t.braceNest--,t.braceNest>0&&S(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&(i.UNTERMINATED_CLOSING_BRACE,u()),n=F(e,t)||p(t),t.braceNest=0,n;default:{let r=!0,c=!0,o=!0;if(D(e))return t.braceNest>0&&(i.UNTERMINATED_CLOSING_BRACE,u()),n=_(t,1,B(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(5===t.currentType||6===t.currentType||7===t.currentType))return i.UNTERMINATED_CLOSING_BRACE,u(),t.braceNest=0,Q(e,t);if(r=function(e,t){const{currentType:n}=t;if(2!==n)return!1;h(e);const r=P(e.currentPeek());return e.resetPeek(),r}(e,t))return n=_(t,5,function(e){S(e);let t="",n="";for(;t=v(e);)n+=t;return e.currentChar()===T&&(i.UNTERMINATED_CLOSING_BRACE,u()),n}(e)),S(e),n;if(c=O(e,t))return n=_(t,6,function(e){S(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${Y(e)}`):t+=Y(e),e.currentChar()===T&&(i.UNTERMINATED_CLOSING_BRACE,u()),t}(e)),S(e),n;if(o=function(e,t){const{currentType:n}=t;if(2!==n)return!1;h(e);const r=e.currentPeek()===A;return e.resetPeek(),r}(e,t))return n=_(t,7,function(e){S(e),I(e,"'");let t="",n="";for(;t=m(e,w);)n+="\\"===t?H(e):t;const r=e.currentChar();return r===N||r===T?(i.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,u(),r===N&&(e.next(),I(e,"'")),n):(I(e,"'"),n)}(e)),S(e),n;if(!r&&!c&&!o)return n=_(t,13,function(e){S(e);let t="",n="";for(;t=m(e,$);)n+=t;return n}(e)),i.INVALID_TOKEN_IN_PLACEHOLDER,u(),n.value,S(e),n;break}}return n}function F(e,t){const{currentType:n}=t;let r=null;const c=e.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||c!==N&&c!==d||(i.INVALID_LINKED_FORMAT,u()),c){case"@":return e.next(),r=_(t,8,"@"),t.inLinked=!0,r;case".":return S(e),e.next(),_(t,9,".");case":":return S(e),e.next(),_(t,10,":");default:return D(e)?(r=_(t,1,B(e)),t.braceNest=0,t.inLinked=!1,r):function(e,t){const{currentType:n}=t;if(8!==n)return!1;h(e);const r="."===e.currentPeek();return e.resetPeek(),r}(e,t)||function(e,t){const{currentType:n}=t;if(8!==n&&12!==n)return!1;h(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,t)?(S(e),F(e,t)):function(e,t){const{currentType:n}=t;if(9!==n)return!1;h(e);const r=P(e.currentPeek());return e.resetPeek(),r}(e,t)?(S(e),_(t,12,function(e){let t="",n="";for(;t=b(e);)n+=t;return n}(e))):function(e,t){const{currentType:n}=t;if(10!==n)return!1;const r=()=>{const t=e.currentPeek();return"{"===t?P(e.peek()):!("@"===t||"%"===t||"|"===t||":"===t||"."===t||t===d||!t)&&(t===N?(e.peek(),r()):P(t))},c=r();return e.resetPeek(),c}(e,t)?(S(e),"{"===c?V(e,t)||r:_(t,11,function(e){const t=(n=!1,r)=>{const c=e.currentChar();return"{"!==c&&"%"!==c&&"@"!==c&&"|"!==c&&"("!==c&&")"!==c&&c?c===d?r:c===N||c===k?(r+=c,e.next(),t(n,r)):(r+=c,e.next(),t(!0,r)):r};return t(!1,"")}(e))):(8===n&&(i.INVALID_LINKED_FORMAT,u()),t.braceNest=0,t.inLinked=!1,Q(e,t))}}function Q(e,t){let n={type:14};if(t.braceNest>0)return V(e,t)||p(t);if(t.inLinked)return F(e,t)||p(t);switch(e.currentChar()){case"{":return V(e,t)||p(t);case"}":return i.UNBALANCED_CLOSING_BRACE,u(),e.next(),_(t,3,"}");case"@":return F(e,t)||p(t);default:{if(D(e))return n=_(t,1,B(e)),t.braceNest=0,t.inLinked=!1,n;const{isModulo:r,hasSpace:c}=function(e){const t=h(e),n="%"===e.currentPeek()&&"{"===e.peek();return e.resetPeek(),{isModulo:n,hasSpace:t.length>0}}(e);if(r)return c?_(t,0,K(e)):_(t,4,function(e){S(e);const t=e.currentChar();return"%"!==t&&(i.EXPECTED_TOKEN,u()),e.next(),"%"}(e));if(y(e))return _(t,0,K(e));break}}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:r}=E;return E.lastType=e,E.lastOffset=t,E.lastStartLoc=n,E.lastEndLoc=r,E.offset=s(),E.startLoc=u(),o.currentChar()===T?_(E,14):Q(o,E)},currentOffset:s,currentPosition:u,context:f}}const h="parser",S=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function P(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(t||n,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function O(e={}){const t=!1!==e.location,{onError:n,onWarn:c}=e;function o(e,n,r){const c={type:e};return t&&(c.start=n,c.end=n,c.loc={start:r,end:r}),c}function u(e,n,r,c){c&&(e.type=c),t&&(e.end=n,e.loc&&(e.loc.end=r))}function a(e,t){const n=e.context(),r=o(3,n.offset,n.startLoc);return r.value=t,u(r,e.currentOffset(),e.currentPosition()),r}function l(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:c}=n,s=o(5,r,c);return s.index=parseInt(t,10),e.nextToken(),u(s,e.currentOffset(),e.currentPosition()),s}function E(e,t,n){const r=e.context(),{lastOffset:c,lastStartLoc:s}=r,a=o(4,c,s);return a.key=t,!0===n&&(a.modulo=!0),e.nextToken(),u(a,e.currentOffset(),e.currentPosition()),a}function f(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:c}=n,s=o(9,r,c);return s.value=t.replace(S,P),e.nextToken(),u(s,e.currentOffset(),e.currentPosition()),s}function d(e){const t=e.context(),n=o(6,t.offset,t.startLoc);let r=e.nextToken();if(9===r.type){const t=function(e){const t=e.nextToken(),n=e.context(),{lastOffset:r,lastStartLoc:c}=n,s=o(8,r,c);return 12!==t.type?(i.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,s.value="",u(s,r,c),{nextConsumeToken:t,node:s}):(null==t.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,D(t)),s.value=t.value||"",u(s,e.currentOffset(),e.currentPosition()),{node:s})}(e);n.modifier=t.node,r=t.nextConsumeToken||e.nextToken()}switch(10!==r.type&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,D(r)),r=e.nextToken(),2===r.type&&(r=e.nextToken()),r.type){case 11:null==r.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,D(r)),n.key=function(e,t){const n=e.context(),r=o(7,n.offset,n.startLoc);return r.value=t,u(r,e.currentOffset(),e.currentPosition()),r}(e,r.value||"");break;case 5:null==r.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,D(r)),n.key=E(e,r.value||"");break;case 6:null==r.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,D(r)),n.key=l(e,r.value||"");break;case 7:null==r.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,D(r)),n.key=f(e,r.value||"");break;default:{i.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const c=e.context(),s=o(7,c.offset,c.startLoc);return s.value="",u(s,c.offset,c.startLoc),n.key=s,u(n,c.offset,c.startLoc),{nextConsumeToken:r,node:n}}}return u(n,e.currentOffset(),e.currentPosition()),{node:n}}function L(e){const t=e.context(),n=o(2,1===t.currentType?e.currentOffset():t.offset,1===t.currentType?t.endLoc:t.startLoc);n.items=[];let r=null,c=null;do{const o=r||e.nextToken();switch(r=null,o.type){case 0:null==o.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,D(o)),n.items.push(a(e,o.value||""));break;case 6:null==o.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,D(o)),n.items.push(l(e,o.value||""));break;case 4:c=!0;break;case 5:null==o.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,D(o)),n.items.push(E(e,o.value||"",!!c)),c&&(s.USE_MODULO_SYNTAX,t.lastStartLoc,D(o),c=null);break;case 7:null==o.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,D(o)),n.items.push(f(e,o.value||""));break;case 8:{const t=d(e);n.items.push(t.node),r=t.nextConsumeToken||null;break}}}while(14!==t.currentType&&1!==t.currentType);return u(n,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),n}function N(e){const t=e.context(),{offset:n,startLoc:r}=t,c=L(e);return 14===t.currentType?c:function(e,t,n,r){const c=e.context();let s=0===r.items.length;const a=o(1,t,n);a.cases=[],a.cases.push(r);do{const t=L(e);s||(s=0===t.items.length),a.cases.push(t)}while(14!==c.currentType);return s&&i.MUST_HAVE_MESSAGES_IN_PLURAL,u(a,e.currentOffset(),e.currentPosition()),a}(e,n,r,c)}return{parse:function(n){const c=I(n,r({},e)),s=c.context(),a=o(0,s.offset,s.startLoc);return t&&a.loc&&(a.loc.source=n),a.body=N(c),e.onCacheKey&&(a.cacheKey=e.onCacheKey(n)),14!==s.currentType&&(i.UNEXPECTED_LEXICAL_ANALYSIS,s.lastStartLoc,n[s.offset]),u(a,c.currentOffset(),c.currentPosition()),a}}}function D(e){if(14===e.type)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function y(e,t){for(let n=0;n<e.length;n++)m(e[n],t)}function m(e,t){switch(e.type){case 1:y(e.cases,t),t.helper("plural");break;case 2:y(e.items,t);break;case 6:m(e.key,t),t.helper("linked"),t.helper("type");break;case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named")}}function U(e,t={}){const n=function(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:e=>(n.helpers.add(e),e)}}(e);n.helper("normalize"),e.body&&m(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function b(e){if(1===e.items.length){const t=e.items[0];3!==t.type&&9!==t.type||(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;n<e.items.length;n++){const r=e.items[n];if(3!==r.type&&9!==r.type)break;if(null==r.value)break;t.push(r.value)}if(t.length===e.items.length){e.static=o(t);for(let t=0;t<e.items.length;t++){const n=e.items[t];3!==n.type&&9!==n.type||delete n.value}}}}function x(e){switch(e.t=e.type,e.type){case 0:{const t=e;x(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,n=t.cases;for(let e=0;e<n.length;e++)x(n[e]);t.c=n,delete t.cases;break}case 2:{const t=e,n=t.items;for(let e=0;e<n.length;e++)x(n[e]);t.i=n,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;x(t.key),t.k=t.key,delete t.key,t.modifier&&(x(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}}delete e.type}function v(e,t){const{helper:n}=e;switch(t.type){case 0:!function(e,t){t.body?v(e,t.body):e.push("null")}(e,t);break;case 1:!function(e,t){const{helper:n,needIndent:r}=e;if(t.cases.length>1){e.push(`${n("plural")}([`),e.indent(r());const c=t.cases.length;for(let n=0;n<c&&(v(e,t.cases[n]),n!==c-1);n++)e.push(", ");e.deindent(r()),e.push("])")}}(e,t);break;case 2:!function(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const c=t.items.length;for(let o=0;o<c&&(v(e,t.items[o]),o!==c-1);o++)e.push(", ");e.deindent(r()),e.push("])")}(e,t);break;case 6:!function(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),v(e,t.key),t.modifier?(e.push(", "),v(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}(e,t);break;case 8:case 7:case 9:case 3:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${n("interpolate")}(${n("list")}(${t.index}))`,t);break;case 4:e.push(`${n("interpolate")}(${n("named")}(${JSON.stringify(t.key)}))`,t)}}return e.CompileErrorCodes=i,e.CompileWarnCodes=s,e.ERROR_DOMAIN=h,e.LOCATION_STUB={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}},e.baseCompile=function(e,t={}){const n=r({},t),s=!!n.jit,u=!!n.minify,a=null==n.optimize||n.optimize,i=O(n).parse(e);return s?(a&&function(e){const t=e.body;2===t.type?b(t):t.cases.forEach((e=>b(e)))}(i),u&&x(i),{ast:i,code:""}):(U(i,n),((e,t={})=>{const n=c(t.mode)?t.mode:"normal",r=c(t.filename)?t.filename:"message.intl",s=!!t.sourceMap,u=null!=t.breakLineCode?t.breakLineCode:"arrow"===n?";":"\n",a=t.needIndent?t.needIndent:"arrow"!==n,i=e.helpers||[],l=function(e,t){const{sourceMap:n,filename:r,breakLineCode:c,needIndent:o}=t,s=!1!==t.location,u={filename:r,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:c,needIndent:o,indentLevel:0};function a(e,t){u.code+=e}function i(e,t=!0){const n=t?c:"";a(o?n+" ".repeat(e):n)}return s&&e.loc&&(u.source=e.loc.source),{context:()=>u,push:a,indent:function(e=!0){const t=++u.indentLevel;e&&i(t)},deindent:function(e=!0){const t=--u.indentLevel;e&&i(t)},newline:function(){i(u.indentLevel)},helper:e=>`_${e}`,needIndent:()=>u.needIndent}}(e,{mode:n,filename:r,sourceMap:s,breakLineCode:u,needIndent:a});l.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(a),i.length>0&&(l.push(`const { ${o(i.map((e=>`${e}: _${e}`)),", ")} } = ctx`),l.newline()),l.push("return "),v(l,e),l.deindent(a),l.push("}"),delete e.helpers;const{code:E,map:f}=l.context();return{ast:e,code:E,map:f?f.toJSON():void 0}})(i,n))},e.createCompileError=E,e.createCompileWarn=a,e.createLocation=n,e.createParser=O,e.createPosition=t,e.defaultOnError=function(e){throw e},e.detectHtmlTag=e=>f.test(e),e.errorMessages=l,e.warnMessages=u,e}({});
6
+ var IntlifyMessageCompiler=function(e){"use strict";function t(e,t,n){return{line:e,column:t,offset:n}}function n(e,t,n){const r={start:e,end:t};return null!=n&&(r.source=n),r}const r=Object.assign,c=e=>"string"==typeof e;function o(e,t=""){return e.reduce(((e,n,r)=>0===r?e+n:e+t+n),"")}const s={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},u={[s.EXPECTED_TOKEN]:"Expected token: '{0}'",[s.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[s.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[s.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[s.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[s.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[s.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[s.EMPTY_PLACEHOLDER]:"Empty placeholder",[s.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[s.INVALID_LINKED_FORMAT]:"Invalid linked format",[s.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[s.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[s.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[s.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[s.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[s.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function a(e,t,n={}){const{domain:r,messages:c,args:o}=n,s=new SyntaxError(String(e));return s.code=e,t&&(s.location=t),s.domain=r,s}const i=/<\/?[\w\s="/.':;#-\/]+>/,l=" ",E="\r",f="\n",L=String.fromCharCode(8232),d=String.fromCharCode(8233);function N(e){const t=e;let n=0,r=1,c=1,o=0;const s=e=>t[e]===E&&t[e+1]===f,u=e=>t[e]===d,a=e=>t[e]===L,i=e=>s(e)||(e=>t[e]===f)(e)||u(e)||a(e),l=e=>s(e)||u(e)||a(e)?f:t[e];function N(){return o=0,i(n)&&(r++,c=0),s(n)&&n++,n++,c++,t[n]}return{index:()=>n,line:()=>r,column:()=>c,peekOffset:()=>o,charAt:l,currentChar:()=>l(n),currentPeek:()=>l(n+o),next:N,peek:function(){return s(n+o)&&o++,o++,t[n+o]},reset:function(){n=0,r=1,c=1,o=0},resetPeek:function(e=0){o=e},skipToPeek:function(){const e=n+o;for(;e!==n;)N();o=0}}}const _=void 0,p="'";function C(e,r={}){const c=!1!==r.location,o=N(e),u=()=>o.index(),a=()=>t(o.line(),o.column(),o.index()),i=a(),E=u(),L={currentType:13,offset:E,startLoc:i,endLoc:i,lastType:13,lastOffset:E,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},d=()=>L,{onError:C}=r;function A(e,t,r){e.endLoc=a(),e.currentType=t;const o={type:t};return c&&(o.loc=n(e.startLoc,e.endLoc)),null!=r&&(o.value=r),o}const T=e=>A(e,13);function k(e,t){return e.currentChar()===t?(e.next(),t):(s.EXPECTED_TOKEN,a(),"")}function I(e){let t="";for(;e.currentPeek()===l||e.currentPeek()===f;)t+=e.currentPeek(),e.peek();return t}function h(e){const t=I(e);return e.skipToPeek(),t}function P(e){if(e===_)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function S(e,t){const{currentType:n}=t;if(2!==n)return!1;I(e);const r=function(e){if(e===_)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function y(e){I(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function D(e,t=!0){const n=(t=!1,r="")=>{const c=e.currentPeek();return"{"===c?t:"@"!==c&&c?"|"===c?!(r===l||r===f):c===l?(e.peek(),n(!0,l)):c!==f||(e.peek(),n(!0,f)):t},r=n();return t&&e.resetPeek(),r}function O(e,t){const n=e.currentChar();return n===_?_:t(n)?(e.next(),n):null}function m(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}function b(e){return O(e,m)}function U(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t||45===t}function x(e){return O(e,U)}function v(e){const t=e.charCodeAt(0);return t>=48&&t<=57}function R(e){return O(e,v)}function M(e){const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function g(e){return O(e,M)}function X(e){let t="",n="";for(;t=R(e);)n+=t;return n}function Y(e){return e!==p&&e!==f}function K(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return w(e,t,4);case"U":return w(e,t,6);default:return s.UNKNOWN_ESCAPE_SEQUENCE,a(),""}}function w(e,t,n){k(e,t);let r="";for(let c=0;c<n;c++){const t=g(e);if(!t){s.INVALID_UNICODE_ESCAPE_SEQUENCE,a(),e.currentChar();break}r+=t}return`\\${t}${r}`}function H(e){return"{"!==e&&"}"!==e&&e!==l&&e!==f}function G(e){h(e);const t=k(e,"|");return h(e),t}function $(e,t){let n=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&(s.NOT_ALLOW_NEST_PLACEHOLDER,a()),e.next(),n=A(t,2,"{"),h(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&(s.EMPTY_PLACEHOLDER,a()),e.next(),n=A(t,3,"}"),t.braceNest--,t.braceNest>0&&h(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&(s.UNTERMINATED_CLOSING_BRACE,a()),n=B(e,t)||T(t),t.braceNest=0,n;default:{let r=!0,c=!0,o=!0;if(y(e))return t.braceNest>0&&(s.UNTERMINATED_CLOSING_BRACE,a()),n=A(t,1,G(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(4===t.currentType||5===t.currentType||6===t.currentType))return s.UNTERMINATED_CLOSING_BRACE,a(),t.braceNest=0,V(e,t);if(r=function(e,t){const{currentType:n}=t;if(2!==n)return!1;I(e);const r=P(e.currentPeek());return e.resetPeek(),r}(e,t))return n=A(t,4,function(e){h(e);let t="",n="";for(;t=x(e);)n+=t;return e.currentChar()===_&&(s.UNTERMINATED_CLOSING_BRACE,a()),n}(e)),h(e),n;if(c=S(e,t))return n=A(t,5,function(e){h(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${X(e)}`):t+=X(e),e.currentChar()===_&&(s.UNTERMINATED_CLOSING_BRACE,a()),t}(e)),h(e),n;if(o=function(e,t){const{currentType:n}=t;if(2!==n)return!1;I(e);const r=e.currentPeek()===p;return e.resetPeek(),r}(e,t))return n=A(t,6,function(e){h(e),k(e,"'");let t="",n="";for(;t=O(e,Y);)n+="\\"===t?K(e):t;const r=e.currentChar();return r===f||r===_?(s.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),r===f&&(e.next(),k(e,"'")),n):(k(e,"'"),n)}(e)),h(e),n;if(!r&&!c&&!o)return n=A(t,12,function(e){h(e);let t="",n="";for(;t=O(e,H);)n+=t;return n}(e)),s.INVALID_TOKEN_IN_PLACEHOLDER,a(),n.value,h(e),n;break}}return n}function B(e,t){const{currentType:n}=t;let r=null;const c=e.currentChar();switch(7!==n&&8!==n&&11!==n&&9!==n||c!==f&&c!==l||(s.INVALID_LINKED_FORMAT,a()),c){case"@":return e.next(),r=A(t,7,"@"),t.inLinked=!0,r;case".":return h(e),e.next(),A(t,8,".");case":":return h(e),e.next(),A(t,9,":");default:return y(e)?(r=A(t,1,G(e)),t.braceNest=0,t.inLinked=!1,r):function(e,t){const{currentType:n}=t;if(7!==n)return!1;I(e);const r="."===e.currentPeek();return e.resetPeek(),r}(e,t)||function(e,t){const{currentType:n}=t;if(7!==n&&11!==n)return!1;I(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,t)?(h(e),B(e,t)):function(e,t){const{currentType:n}=t;if(8!==n)return!1;I(e);const r=P(e.currentPeek());return e.resetPeek(),r}(e,t)?(h(e),A(t,11,function(e){let t="",n="";for(;t=b(e);)n+=t;return n}(e))):function(e,t){const{currentType:n}=t;if(9!==n)return!1;const r=()=>{const t=e.currentPeek();return"{"===t?P(e.peek()):!("@"===t||"|"===t||":"===t||"."===t||t===l||!t)&&(t===f?(e.peek(),r()):D(e,!1))},c=r();return e.resetPeek(),c}(e,t)?(h(e),"{"===c?$(e,t)||r:A(t,10,function(e){const t=n=>{const r=e.currentChar();return"{"!==r&&"@"!==r&&"|"!==r&&"("!==r&&")"!==r&&r?r===l?n:(n+=r,e.next(),t(n)):n};return t("")}(e))):(7===n&&(s.INVALID_LINKED_FORMAT,a()),t.braceNest=0,t.inLinked=!1,V(e,t))}}function V(e,t){let n={type:13};if(t.braceNest>0)return $(e,t)||T(t);if(t.inLinked)return B(e,t)||T(t);switch(e.currentChar()){case"{":return $(e,t)||T(t);case"}":return s.UNBALANCED_CLOSING_BRACE,a(),e.next(),A(t,3,"}");case"@":return B(e,t)||T(t);default:if(y(e))return n=A(t,1,G(e)),t.braceNest=0,t.inLinked=!1,n;if(D(e))return A(t,0,function(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if(n===l||n===f)if(D(e))t+=n,e.next();else{if(y(e))break;t+=n,e.next()}else t+=n,e.next()}return t}(e))}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:r}=L;return L.lastType=e,L.lastOffset=t,L.lastStartLoc=n,L.lastEndLoc=r,L.offset=u(),L.startLoc=a(),o.currentChar()===_?A(L,13):V(o,L)},currentOffset:u,currentPosition:a,context:d}}const A="parser",T=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function k(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(t||n,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function I(e={}){const t=!1!==e.location,{onError:n}=e;function c(e,n,r){const c={type:e};return t&&(c.start=n,c.end=n,c.loc={start:r,end:r}),c}function o(e,n,r,c){c&&(e.type=c),t&&(e.end=n,e.loc&&(e.loc.end=r))}function u(e,t){const n=e.context(),r=c(3,n.offset,n.startLoc);return r.value=t,o(r,e.currentOffset(),e.currentPosition()),r}function a(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:s}=n,u=c(5,r,s);return u.index=parseInt(t,10),e.nextToken(),o(u,e.currentOffset(),e.currentPosition()),u}function i(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:s}=n,u=c(4,r,s);return u.key=t,e.nextToken(),o(u,e.currentOffset(),e.currentPosition()),u}function l(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:s}=n,u=c(9,r,s);return u.value=t.replace(T,k),e.nextToken(),o(u,e.currentOffset(),e.currentPosition()),u}function E(e){const t=e.context(),n=c(6,t.offset,t.startLoc);let r=e.nextToken();if(8===r.type){const t=function(e){const t=e.nextToken(),n=e.context(),{lastOffset:r,lastStartLoc:u}=n,a=c(8,r,u);return 11!==t.type?(s.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,a.value="",o(a,r,u),{nextConsumeToken:t,node:a}):(null==t.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,h(t)),a.value=t.value||"",o(a,e.currentOffset(),e.currentPosition()),{node:a})}(e);n.modifier=t.node,r=t.nextConsumeToken||e.nextToken()}switch(9!==r.type&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(r)),r=e.nextToken(),2===r.type&&(r=e.nextToken()),r.type){case 10:null==r.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(r)),n.key=function(e,t){const n=e.context(),r=c(7,n.offset,n.startLoc);return r.value=t,o(r,e.currentOffset(),e.currentPosition()),r}(e,r.value||"");break;case 4:null==r.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(r)),n.key=i(e,r.value||"");break;case 5:null==r.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(r)),n.key=a(e,r.value||"");break;case 6:null==r.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(r)),n.key=l(e,r.value||"");break;default:{s.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const u=e.context(),a=c(7,u.offset,u.startLoc);return a.value="",o(a,u.offset,u.startLoc),n.key=a,o(n,u.offset,u.startLoc),{nextConsumeToken:r,node:n}}}return o(n,e.currentOffset(),e.currentPosition()),{node:n}}function f(e){const t=e.context(),n=c(2,1===t.currentType?e.currentOffset():t.offset,1===t.currentType?t.endLoc:t.startLoc);n.items=[];let r=null;do{const c=r||e.nextToken();switch(r=null,c.type){case 0:null==c.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(c)),n.items.push(u(e,c.value||""));break;case 5:null==c.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(c)),n.items.push(a(e,c.value||""));break;case 4:null==c.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(c)),n.items.push(i(e,c.value||""));break;case 6:null==c.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(c)),n.items.push(l(e,c.value||""));break;case 7:{const t=E(e);n.items.push(t.node),r=t.nextConsumeToken||null;break}}}while(13!==t.currentType&&1!==t.currentType);return o(n,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),n}function L(e){const t=e.context(),{offset:n,startLoc:r}=t,u=f(e);return 13===t.currentType?u:function(e,t,n,r){const u=e.context();let a=0===r.items.length;const i=c(1,t,n);i.cases=[],i.cases.push(r);do{const t=f(e);a||(a=0===t.items.length),i.cases.push(t)}while(13!==u.currentType);return a&&s.MUST_HAVE_MESSAGES_IN_PLURAL,o(i,e.currentOffset(),e.currentPosition()),i}(e,n,r,u)}return{parse:function(n){const u=C(n,r({},e)),a=u.context(),i=c(0,a.offset,a.startLoc);return t&&i.loc&&(i.loc.source=n),i.body=L(u),e.onCacheKey&&(i.cacheKey=e.onCacheKey(n)),13!==a.currentType&&(s.UNEXPECTED_LEXICAL_ANALYSIS,a.lastStartLoc,n[a.offset]),o(i,u.currentOffset(),u.currentPosition()),i}}}function h(e){if(13===e.type)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function P(e,t){for(let n=0;n<e.length;n++)S(e[n],t)}function S(e,t){switch(e.type){case 1:P(e.cases,t),t.helper("plural");break;case 2:P(e.items,t);break;case 6:S(e.key,t),t.helper("linked"),t.helper("type");break;case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named")}}function y(e,t={}){const n=function(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:e=>(n.helpers.add(e),e)}}(e);n.helper("normalize"),e.body&&S(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function D(e){if(1===e.items.length){const t=e.items[0];3!==t.type&&9!==t.type||(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;n<e.items.length;n++){const r=e.items[n];if(3!==r.type&&9!==r.type)break;if(null==r.value)break;t.push(r.value)}if(t.length===e.items.length){e.static=o(t);for(let t=0;t<e.items.length;t++){const n=e.items[t];3!==n.type&&9!==n.type||delete n.value}}}}function O(e){switch(e.t=e.type,e.type){case 0:{const t=e;O(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,n=t.cases;for(let e=0;e<n.length;e++)O(n[e]);t.c=n,delete t.cases;break}case 2:{const t=e,n=t.items;for(let e=0;e<n.length;e++)O(n[e]);t.i=n,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;O(t.key),t.k=t.key,delete t.key,t.modifier&&(O(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}}delete e.type}function m(e,t){const{helper:n}=e;switch(t.type){case 0:!function(e,t){t.body?m(e,t.body):e.push("null")}(e,t);break;case 1:!function(e,t){const{helper:n,needIndent:r}=e;if(t.cases.length>1){e.push(`${n("plural")}([`),e.indent(r());const c=t.cases.length;for(let n=0;n<c&&(m(e,t.cases[n]),n!==c-1);n++)e.push(", ");e.deindent(r()),e.push("])")}}(e,t);break;case 2:!function(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const c=t.items.length;for(let o=0;o<c&&(m(e,t.items[o]),o!==c-1);o++)e.push(", ");e.deindent(r()),e.push("])")}(e,t);break;case 6:!function(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),m(e,t.key),t.modifier?(e.push(", "),m(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}(e,t);break;case 8:case 7:case 9:case 3:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${n("interpolate")}(${n("list")}(${t.index}))`,t);break;case 4:e.push(`${n("interpolate")}(${n("named")}(${JSON.stringify(t.key)}))`,t)}}return e.CompileErrorCodes=s,e.ERROR_DOMAIN=A,e.LOCATION_STUB={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}},e.baseCompile=function(e,t={}){const n=r({},t),s=!!n.jit,u=!!n.minify,a=null==n.optimize||n.optimize,i=I(n).parse(e);return s?(a&&function(e){const t=e.body;2===t.type?D(t):t.cases.forEach((e=>D(e)))}(i),u&&O(i),{ast:i,code:""}):(y(i,n),((e,t={})=>{const n=c(t.mode)?t.mode:"normal",r=c(t.filename)?t.filename:"message.intl",s=!!t.sourceMap,u=null!=t.breakLineCode?t.breakLineCode:"arrow"===n?";":"\n",a=t.needIndent?t.needIndent:"arrow"!==n,i=e.helpers||[],l=function(e,t){const{sourceMap:n,filename:r,breakLineCode:c,needIndent:o}=t,s=!1!==t.location,u={filename:r,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:c,needIndent:o,indentLevel:0};function a(e,t){u.code+=e}function i(e,t=!0){const n=t?c:"";a(o?n+" ".repeat(e):n)}return s&&e.loc&&(u.source=e.loc.source),{context:()=>u,push:a,indent:function(e=!0){const t=++u.indentLevel;e&&i(t)},deindent:function(e=!0){const t=--u.indentLevel;e&&i(t)},newline:function(){i(u.indentLevel)},helper:e=>`_${e}`,needIndent:()=>u.needIndent}}(e,{mode:n,filename:r,sourceMap:s,breakLineCode:u,needIndent:a});l.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(a),i.length>0&&(l.push(`const { ${o(i.map((e=>`${e}: _${e}`)),", ")} } = ctx`),l.newline()),l.push("return "),m(l,e),l.deindent(a),l.push("}"),delete e.helpers;const{code:E,map:f}=l.context();return{ast:e,code:E,map:f?f.toJSON():void 0}})(i,n))},e.createCompileError=a,e.createLocation=n,e.createParser=I,e.createPosition=t,e.defaultOnError=function(e){throw e},e.detectHtmlTag=e=>i.test(e),e.errorMessages=u,e}({});
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * message-compiler v9.13.0
2
+ * message-compiler v10.0.0-alpha.1
3
3
  * (c) 2024 kazuya kawaguchi
4
4
  * Released under the MIT License.
5
5
  */
@@ -20,23 +20,6 @@ function createLocation(start, end, source) {
20
20
  return loc;
21
21
  }
22
22
 
23
- const CompileWarnCodes = {
24
- USE_MODULO_SYNTAX: 1,
25
- __EXTEND_POINT__: 2
26
- };
27
- /** @internal */
28
- const warnMessages = {
29
- [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`
30
- };
31
- function createCompileWarn(code, loc, ...args) {
32
- const msg = (process.env.NODE_ENV !== 'production') ? format(warnMessages[code] || '', ...(args || [])) : code;
33
- const message = { message: String(msg), code };
34
- if (loc) {
35
- message.location = loc;
36
- }
37
- return message;
38
- }
39
-
40
23
  const CompileErrorCodes = {
41
24
  // tokenizer error codes
42
25
  EXPECTED_TOKEN: 1,
@@ -162,7 +145,6 @@ function createScanner(str) {
162
145
  }
163
146
  function skipToPeek() {
164
147
  const target = _index + _peekOffset;
165
- // eslint-disable-next-line no-unmodified-loop-condition
166
148
  while (target !== _index) {
167
149
  next();
168
150
  }
@@ -196,11 +178,11 @@ function createTokenizer(source, options = {}) {
196
178
  const _initLoc = currentPosition();
197
179
  const _initOffset = currentOffset();
198
180
  const _context = {
199
- currentType: 14 /* TokenTypes.EOF */,
181
+ currentType: 13 /* TokenTypes.EOF */,
200
182
  offset: _initOffset,
201
183
  startLoc: _initLoc,
202
184
  endLoc: _initLoc,
203
- lastType: 14 /* TokenTypes.EOF */,
185
+ lastType: 13 /* TokenTypes.EOF */,
204
186
  lastOffset: _initOffset,
205
187
  lastStartLoc: _initLoc,
206
188
  lastEndLoc: _initLoc,
@@ -235,7 +217,7 @@ function createTokenizer(source, options = {}) {
235
217
  }
236
218
  return token;
237
219
  }
238
- const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);
220
+ const getEndToken = (context) => getToken(context, 13 /* TokenTypes.EOF */);
239
221
  function eat(scnr, ch) {
240
222
  if (scnr.currentChar() === ch) {
241
223
  scnr.next();
@@ -309,7 +291,7 @@ function createTokenizer(source, options = {}) {
309
291
  }
310
292
  function isLinkedDotStart(scnr, context) {
311
293
  const { currentType } = context;
312
- if (currentType !== 8 /* TokenTypes.LinkedAlias */) {
294
+ if (currentType !== 7 /* TokenTypes.LinkedAlias */) {
313
295
  return false;
314
296
  }
315
297
  peekSpaces(scnr);
@@ -319,7 +301,7 @@ function createTokenizer(source, options = {}) {
319
301
  }
320
302
  function isLinkedModifierStart(scnr, context) {
321
303
  const { currentType } = context;
322
- if (currentType !== 9 /* TokenTypes.LinkedDot */) {
304
+ if (currentType !== 8 /* TokenTypes.LinkedDot */) {
323
305
  return false;
324
306
  }
325
307
  peekSpaces(scnr);
@@ -329,8 +311,8 @@ function createTokenizer(source, options = {}) {
329
311
  }
330
312
  function isLinkedDelimiterStart(scnr, context) {
331
313
  const { currentType } = context;
332
- if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||
333
- currentType === 12 /* TokenTypes.LinkedModifier */)) {
314
+ if (!(currentType === 7 /* TokenTypes.LinkedAlias */ ||
315
+ currentType === 11 /* TokenTypes.LinkedModifier */)) {
334
316
  return false;
335
317
  }
336
318
  peekSpaces(scnr);
@@ -340,7 +322,7 @@ function createTokenizer(source, options = {}) {
340
322
  }
341
323
  function isLinkedReferStart(scnr, context) {
342
324
  const { currentType } = context;
343
- if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {
325
+ if (currentType !== 9 /* TokenTypes.LinkedDelimiter */) {
344
326
  return false;
345
327
  }
346
328
  const fn = () => {
@@ -349,7 +331,6 @@ function createTokenizer(source, options = {}) {
349
331
  return isIdentifierStart(scnr.peek());
350
332
  }
351
333
  else if (ch === "@" /* TokenChars.LinkedAlias */ ||
352
- ch === "%" /* TokenChars.Modulo */ ||
353
334
  ch === "|" /* TokenChars.Pipe */ ||
354
335
  ch === ":" /* TokenChars.LinkedDelimiter */ ||
355
336
  ch === "." /* TokenChars.LinkedDot */ ||
@@ -363,7 +344,7 @@ function createTokenizer(source, options = {}) {
363
344
  }
364
345
  else {
365
346
  // other characters
366
- return isIdentifierStart(ch);
347
+ return isTextStart(scnr, false);
367
348
  }
368
349
  };
369
350
  const ret = fn();
@@ -376,41 +357,25 @@ function createTokenizer(source, options = {}) {
376
357
  scnr.resetPeek();
377
358
  return ret;
378
359
  }
379
- function detectModuloStart(scnr) {
380
- const spaces = peekSpaces(scnr);
381
- const ret = scnr.currentPeek() === "%" /* TokenChars.Modulo */ &&
382
- scnr.peek() === "{" /* TokenChars.BraceLeft */;
383
- scnr.resetPeek();
384
- return {
385
- isModulo: ret,
386
- hasSpace: spaces.length > 0
387
- };
388
- }
389
360
  function isTextStart(scnr, reset = true) {
390
- const fn = (hasSpace = false, prev = '', detectModulo = false) => {
361
+ const fn = (hasSpace = false, prev = '') => {
391
362
  const ch = scnr.currentPeek();
392
363
  if (ch === "{" /* TokenChars.BraceLeft */) {
393
- return prev === "%" /* TokenChars.Modulo */ ? false : hasSpace;
364
+ return hasSpace;
394
365
  }
395
366
  else if (ch === "@" /* TokenChars.LinkedAlias */ || !ch) {
396
- return prev === "%" /* TokenChars.Modulo */ ? true : hasSpace;
397
- }
398
- else if (ch === "%" /* TokenChars.Modulo */) {
399
- scnr.peek();
400
- return fn(hasSpace, "%" /* TokenChars.Modulo */, true);
367
+ return hasSpace;
401
368
  }
402
369
  else if (ch === "|" /* TokenChars.Pipe */) {
403
- return prev === "%" /* TokenChars.Modulo */ || detectModulo
404
- ? true
405
- : !(prev === CHAR_SP || prev === CHAR_LF);
370
+ return !(prev === CHAR_SP || prev === CHAR_LF);
406
371
  }
407
372
  else if (ch === CHAR_SP) {
408
373
  scnr.peek();
409
- return fn(true, CHAR_SP, detectModulo);
374
+ return fn(true, CHAR_SP);
410
375
  }
411
376
  else if (ch === CHAR_LF) {
412
377
  scnr.peek();
413
- return fn(true, CHAR_LF, detectModulo);
378
+ return fn(true, CHAR_LF);
414
379
  }
415
380
  else {
416
381
  return true;
@@ -480,18 +445,8 @@ function createTokenizer(source, options = {}) {
480
445
  }
481
446
  return num;
482
447
  }
483
- function readModulo(scnr) {
484
- skipSpaces(scnr);
485
- const ch = scnr.currentChar();
486
- if (ch !== "%" /* TokenChars.Modulo */) {
487
- emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
488
- }
489
- scnr.next();
490
- return "%" /* TokenChars.Modulo */;
491
- }
492
448
  function readText(scnr) {
493
449
  let buf = '';
494
- // eslint-disable-next-line no-constant-condition
495
450
  while (true) {
496
451
  const ch = scnr.currentChar();
497
452
  if (ch === "{" /* TokenChars.BraceLeft */ ||
@@ -501,15 +456,6 @@ function createTokenizer(source, options = {}) {
501
456
  !ch) {
502
457
  break;
503
458
  }
504
- else if (ch === "%" /* TokenChars.Modulo */) {
505
- if (isTextStart(scnr)) {
506
- buf += ch;
507
- scnr.next();
508
- }
509
- else {
510
- break;
511
- }
512
- }
513
459
  else if (ch === CHAR_SP || ch === CHAR_LF) {
514
460
  if (isTextStart(scnr)) {
515
461
  buf += ch;
@@ -642,10 +588,9 @@ function createTokenizer(source, options = {}) {
642
588
  return name;
643
589
  }
644
590
  function readLinkedRefer(scnr) {
645
- const fn = (detect = false, buf) => {
591
+ const fn = (buf) => {
646
592
  const ch = scnr.currentChar();
647
593
  if (ch === "{" /* TokenChars.BraceLeft */ ||
648
- ch === "%" /* TokenChars.Modulo */ ||
649
594
  ch === "@" /* TokenChars.LinkedAlias */ ||
650
595
  ch === "|" /* TokenChars.Pipe */ ||
651
596
  ch === "(" /* TokenChars.ParenLeft */ ||
@@ -659,15 +604,15 @@ function createTokenizer(source, options = {}) {
659
604
  else if (ch === CHAR_LF || ch === DOT) {
660
605
  buf += ch;
661
606
  scnr.next();
662
- return fn(detect, buf);
607
+ return fn(buf);
663
608
  }
664
609
  else {
665
610
  buf += ch;
666
611
  scnr.next();
667
- return fn(true, buf);
612
+ return fn(buf);
668
613
  }
669
614
  };
670
- return fn(false, '');
615
+ return fn('');
671
616
  }
672
617
  function readPlural(scnr) {
673
618
  skipSpaces(scnr);
@@ -724,31 +669,31 @@ function createTokenizer(source, options = {}) {
724
669
  return token;
725
670
  }
726
671
  if (context.braceNest > 0 &&
727
- (context.currentType === 5 /* TokenTypes.Named */ ||
728
- context.currentType === 6 /* TokenTypes.List */ ||
729
- context.currentType === 7 /* TokenTypes.Literal */)) {
672
+ (context.currentType === 4 /* TokenTypes.Named */ ||
673
+ context.currentType === 5 /* TokenTypes.List */ ||
674
+ context.currentType === 6 /* TokenTypes.Literal */)) {
730
675
  emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
731
676
  context.braceNest = 0;
732
677
  return readToken(scnr, context);
733
678
  }
734
679
  if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {
735
- token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));
680
+ token = getToken(context, 4 /* TokenTypes.Named */, readNamedIdentifier(scnr));
736
681
  skipSpaces(scnr);
737
682
  return token;
738
683
  }
739
684
  if ((validListIdentifier = isListIdentifierStart(scnr, context))) {
740
- token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));
685
+ token = getToken(context, 5 /* TokenTypes.List */, readListIdentifier(scnr));
741
686
  skipSpaces(scnr);
742
687
  return token;
743
688
  }
744
689
  if ((validLiteral = isLiteralStart(scnr, context))) {
745
- token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));
690
+ token = getToken(context, 6 /* TokenTypes.Literal */, readLiteral(scnr));
746
691
  skipSpaces(scnr);
747
692
  return token;
748
693
  }
749
694
  if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {
750
695
  // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...
751
- token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));
696
+ token = getToken(context, 12 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));
752
697
  emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);
753
698
  skipSpaces(scnr);
754
699
  return token;
@@ -763,27 +708,27 @@ function createTokenizer(source, options = {}) {
763
708
  const { currentType } = context;
764
709
  let token = null;
765
710
  const ch = scnr.currentChar();
766
- if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||
767
- currentType === 9 /* TokenTypes.LinkedDot */ ||
768
- currentType === 12 /* TokenTypes.LinkedModifier */ ||
769
- currentType === 10 /* TokenTypes.LinkedDelimiter */) &&
711
+ if ((currentType === 7 /* TokenTypes.LinkedAlias */ ||
712
+ currentType === 8 /* TokenTypes.LinkedDot */ ||
713
+ currentType === 11 /* TokenTypes.LinkedModifier */ ||
714
+ currentType === 9 /* TokenTypes.LinkedDelimiter */) &&
770
715
  (ch === CHAR_LF || ch === CHAR_SP)) {
771
716
  emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);
772
717
  }
773
718
  switch (ch) {
774
719
  case "@" /* TokenChars.LinkedAlias */:
775
720
  scnr.next();
776
- token = getToken(context, 8 /* TokenTypes.LinkedAlias */, "@" /* TokenChars.LinkedAlias */);
721
+ token = getToken(context, 7 /* TokenTypes.LinkedAlias */, "@" /* TokenChars.LinkedAlias */);
777
722
  context.inLinked = true;
778
723
  return token;
779
724
  case "." /* TokenChars.LinkedDot */:
780
725
  skipSpaces(scnr);
781
726
  scnr.next();
782
- return getToken(context, 9 /* TokenTypes.LinkedDot */, "." /* TokenChars.LinkedDot */);
727
+ return getToken(context, 8 /* TokenTypes.LinkedDot */, "." /* TokenChars.LinkedDot */);
783
728
  case ":" /* TokenChars.LinkedDelimiter */:
784
729
  skipSpaces(scnr);
785
730
  scnr.next();
786
- return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, ":" /* TokenChars.LinkedDelimiter */);
731
+ return getToken(context, 9 /* TokenTypes.LinkedDelimiter */, ":" /* TokenChars.LinkedDelimiter */);
787
732
  default:
788
733
  if (isPluralStart(scnr)) {
789
734
  token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));
@@ -799,7 +744,7 @@ function createTokenizer(source, options = {}) {
799
744
  }
800
745
  if (isLinkedModifierStart(scnr, context)) {
801
746
  skipSpaces(scnr);
802
- return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));
747
+ return getToken(context, 11 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));
803
748
  }
804
749
  if (isLinkedReferStart(scnr, context)) {
805
750
  skipSpaces(scnr);
@@ -808,10 +753,10 @@ function createTokenizer(source, options = {}) {
808
753
  return readTokenInPlaceholder(scnr, context) || token;
809
754
  }
810
755
  else {
811
- return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));
756
+ return getToken(context, 10 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));
812
757
  }
813
758
  }
814
- if (currentType === 8 /* TokenTypes.LinkedAlias */) {
759
+ if (currentType === 7 /* TokenTypes.LinkedAlias */) {
815
760
  emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);
816
761
  }
817
762
  context.braceNest = 0;
@@ -821,7 +766,7 @@ function createTokenizer(source, options = {}) {
821
766
  }
822
767
  // TODO: We need refactoring of token parsing ...
823
768
  function readToken(scnr, context) {
824
- let token = { type: 14 /* TokenTypes.EOF */ };
769
+ let token = { type: 13 /* TokenTypes.EOF */ };
825
770
  if (context.braceNest > 0) {
826
771
  return readTokenInPlaceholder(scnr, context) || getEndToken(context);
827
772
  }
@@ -846,12 +791,6 @@ function createTokenizer(source, options = {}) {
846
791
  context.inLinked = false;
847
792
  return token;
848
793
  }
849
- const { isModulo, hasSpace } = detectModuloStart(scnr);
850
- if (isModulo) {
851
- return hasSpace
852
- ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))
853
- : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));
854
- }
855
794
  if (isTextStart(scnr)) {
856
795
  return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));
857
796
  }
@@ -869,7 +808,7 @@ function createTokenizer(source, options = {}) {
869
808
  _context.offset = currentOffset();
870
809
  _context.startLoc = currentPosition();
871
810
  if (_scnr.currentChar() === EOF) {
872
- return getToken(_context, 14 /* TokenTypes.EOF */);
811
+ return getToken(_context, 13 /* TokenTypes.EOF */);
873
812
  }
874
813
  return readToken(_scnr, _context);
875
814
  }
@@ -905,7 +844,7 @@ function fromEscapeSequence(match, codePoint4, codePoint6) {
905
844
  }
906
845
  function createParser(options = {}) {
907
846
  const location = options.location !== false;
908
- const { onError, onWarn } = options;
847
+ const { onError } = options;
909
848
  function emitError(tokenzer, code, start, offset, ...args) {
910
849
  const end = tokenzer.currentPosition();
911
850
  end.offset += offset;
@@ -919,15 +858,6 @@ function createParser(options = {}) {
919
858
  onError(err);
920
859
  }
921
860
  }
922
- function emitWarn(tokenzer, code, start, offset, ...args) {
923
- const end = tokenzer.currentPosition();
924
- end.offset += offset;
925
- end.column += offset;
926
- if (onWarn) {
927
- const loc = location ? createLocation(start, end) : null;
928
- onWarn(createCompileWarn(code, loc, args));
929
- }
930
- }
931
861
  function startNode(type, offset, loc) {
932
862
  const node = { type };
933
863
  if (location) {
@@ -964,14 +894,11 @@ function createParser(options = {}) {
964
894
  endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
965
895
  return node;
966
896
  }
967
- function parseNamed(tokenizer, key, modulo) {
897
+ function parseNamed(tokenizer, key) {
968
898
  const context = tokenizer.context();
969
899
  const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc
970
900
  const node = startNode(4 /* NodeTypes.Named */, offset, loc);
971
901
  node.key = key;
972
- if (modulo === true) {
973
- node.modulo = true;
974
- }
975
902
  tokenizer.nextToken(); // skip brach right
976
903
  endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
977
904
  return node;
@@ -990,7 +917,7 @@ function createParser(options = {}) {
990
917
  const context = tokenizer.context();
991
918
  const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc
992
919
  const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);
993
- if (token.type !== 12 /* TokenTypes.LinkedModifier */) {
920
+ if (token.type !== 11 /* TokenTypes.LinkedModifier */) {
994
921
  // empty modifier
995
922
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);
996
923
  node.value = '';
@@ -1021,13 +948,13 @@ function createParser(options = {}) {
1021
948
  const context = tokenizer.context();
1022
949
  const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);
1023
950
  let token = tokenizer.nextToken();
1024
- if (token.type === 9 /* TokenTypes.LinkedDot */) {
951
+ if (token.type === 8 /* TokenTypes.LinkedDot */) {
1025
952
  const parsed = parseLinkedModifier(tokenizer);
1026
953
  linkedNode.modifier = parsed.node;
1027
954
  token = parsed.nextConsumeToken || tokenizer.nextToken();
1028
955
  }
1029
956
  // asset check token
1030
- if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {
957
+ if (token.type !== 9 /* TokenTypes.LinkedDelimiter */) {
1031
958
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1032
959
  }
1033
960
  token = tokenizer.nextToken();
@@ -1036,25 +963,25 @@ function createParser(options = {}) {
1036
963
  token = tokenizer.nextToken();
1037
964
  }
1038
965
  switch (token.type) {
1039
- case 11 /* TokenTypes.LinkedKey */:
966
+ case 10 /* TokenTypes.LinkedKey */:
1040
967
  if (token.value == null) {
1041
968
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1042
969
  }
1043
970
  linkedNode.key = parseLinkedKey(tokenizer, token.value || '');
1044
971
  break;
1045
- case 5 /* TokenTypes.Named */:
972
+ case 4 /* TokenTypes.Named */:
1046
973
  if (token.value == null) {
1047
974
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1048
975
  }
1049
976
  linkedNode.key = parseNamed(tokenizer, token.value || '');
1050
977
  break;
1051
- case 6 /* TokenTypes.List */:
978
+ case 5 /* TokenTypes.List */:
1052
979
  if (token.value == null) {
1053
980
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1054
981
  }
1055
982
  linkedNode.key = parseList(tokenizer, token.value || '');
1056
983
  break;
1057
- case 7 /* TokenTypes.Literal */:
984
+ case 6 /* TokenTypes.Literal */:
1058
985
  if (token.value == null) {
1059
986
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1060
987
  }
@@ -1091,7 +1018,6 @@ function createParser(options = {}) {
1091
1018
  const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);
1092
1019
  node.items = [];
1093
1020
  let nextToken = null;
1094
- let modulo = null;
1095
1021
  do {
1096
1022
  const token = nextToken || tokenizer.nextToken();
1097
1023
  nextToken = null;
@@ -1102,39 +1028,32 @@ function createParser(options = {}) {
1102
1028
  }
1103
1029
  node.items.push(parseText(tokenizer, token.value || ''));
1104
1030
  break;
1105
- case 6 /* TokenTypes.List */:
1031
+ case 5 /* TokenTypes.List */:
1106
1032
  if (token.value == null) {
1107
1033
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1108
1034
  }
1109
1035
  node.items.push(parseList(tokenizer, token.value || ''));
1110
1036
  break;
1111
- case 4 /* TokenTypes.Modulo */:
1112
- modulo = true;
1113
- break;
1114
- case 5 /* TokenTypes.Named */:
1037
+ case 4 /* TokenTypes.Named */:
1115
1038
  if (token.value == null) {
1116
1039
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1117
1040
  }
1118
- node.items.push(parseNamed(tokenizer, token.value || '', !!modulo));
1119
- if (modulo) {
1120
- emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));
1121
- modulo = null;
1122
- }
1041
+ node.items.push(parseNamed(tokenizer, token.value || ''));
1123
1042
  break;
1124
- case 7 /* TokenTypes.Literal */:
1043
+ case 6 /* TokenTypes.Literal */:
1125
1044
  if (token.value == null) {
1126
1045
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1127
1046
  }
1128
1047
  node.items.push(parseLiteral(tokenizer, token.value || ''));
1129
1048
  break;
1130
- case 8 /* TokenTypes.LinkedAlias */: {
1049
+ case 7 /* TokenTypes.LinkedAlias */: {
1131
1050
  const parsed = parseLinked(tokenizer);
1132
1051
  node.items.push(parsed.node);
1133
1052
  nextToken = parsed.nextConsumeToken || null;
1134
1053
  break;
1135
1054
  }
1136
1055
  }
1137
- } while (context.currentType !== 14 /* TokenTypes.EOF */ &&
1056
+ } while (context.currentType !== 13 /* TokenTypes.EOF */ &&
1138
1057
  context.currentType !== 1 /* TokenTypes.Pipe */);
1139
1058
  // adjust message node loc
1140
1059
  const endOffset = context.currentType === 1 /* TokenTypes.Pipe */
@@ -1158,7 +1077,7 @@ function createParser(options = {}) {
1158
1077
  hasEmptyMessage = msg.items.length === 0;
1159
1078
  }
1160
1079
  node.cases.push(msg);
1161
- } while (context.currentType !== 14 /* TokenTypes.EOF */);
1080
+ } while (context.currentType !== 13 /* TokenTypes.EOF */);
1162
1081
  if (hasEmptyMessage) {
1163
1082
  emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);
1164
1083
  }
@@ -1169,7 +1088,7 @@ function createParser(options = {}) {
1169
1088
  const context = tokenizer.context();
1170
1089
  const { offset, startLoc } = context;
1171
1090
  const msgNode = parseMessage(tokenizer);
1172
- if (context.currentType === 14 /* TokenTypes.EOF */) {
1091
+ if (context.currentType === 13 /* TokenTypes.EOF */) {
1173
1092
  return msgNode;
1174
1093
  }
1175
1094
  else {
@@ -1188,7 +1107,7 @@ function createParser(options = {}) {
1188
1107
  node.cacheKey = options.onCacheKey(source);
1189
1108
  }
1190
1109
  // assert whether achieved to EOF
1191
- if (context.currentType !== 14 /* TokenTypes.EOF */) {
1110
+ if (context.currentType !== 13 /* TokenTypes.EOF */) {
1192
1111
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');
1193
1112
  }
1194
1113
  endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
@@ -1197,7 +1116,7 @@ function createParser(options = {}) {
1197
1116
  return { parse };
1198
1117
  }
1199
1118
  function getTokenCaption(token) {
1200
- if (token.type === 14 /* TokenTypes.EOF */) {
1119
+ if (token.type === 13 /* TokenTypes.EOF */) {
1201
1120
  return 'EOF';
1202
1121
  }
1203
1122
  const name = (token.value || '').replace(/\r?\n/gu, '\\n');
@@ -1535,8 +1454,7 @@ function generateNode(generator, node) {
1535
1454
  }
1536
1455
  }
1537
1456
  // generate code from AST
1538
- const generate = (ast, options = {} // eslint-disable-line
1539
- ) => {
1457
+ const generate = (ast, options = {}) => {
1540
1458
  const mode = isString(options.mode) ? options.mode : 'normal';
1541
1459
  const filename = isString(options.filename)
1542
1460
  ? options.filename
@@ -1600,4 +1518,4 @@ function baseCompile(source, options = {}) {
1600
1518
  }
1601
1519
  }
1602
1520
 
1603
- export { CompileErrorCodes, CompileWarnCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createCompileWarn, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages, warnMessages };
1521
+ export { CompileErrorCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages };