@intlify/message-compiler 9.2.0-beta.9 → 9.2.0

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.2.0-beta.9
3
- * (c) 2021 kazuya kawaguchi
2
+ * message-compiler v9.2.0
3
+ * (c) 2022 kazuya kawaguchi
4
4
  * Released under the MIT License.
5
5
  */
6
6
  'use strict';
@@ -350,6 +350,16 @@ function createTokenizer(source, options = {}) {
350
350
  scnr.resetPeek();
351
351
  return ret;
352
352
  }
353
+ function detectModuloStart(scnr) {
354
+ const spaces = peekSpaces(scnr);
355
+ const ret = scnr.currentPeek() === "%" /* Modulo */ &&
356
+ scnr.peek() === "{" /* BraceLeft */;
357
+ scnr.resetPeek();
358
+ return {
359
+ isModulo: ret,
360
+ hasSpace: spaces.length > 0
361
+ };
362
+ }
353
363
  function isTextStart(scnr, reset = true) {
354
364
  const fn = (hasSpace = false, prev = '', detectModulo = false) => {
355
365
  const ch = scnr.currentPeek();
@@ -431,50 +441,54 @@ function createTokenizer(source, options = {}) {
431
441
  }
432
442
  return num;
433
443
  }
444
+ function readModulo(scnr) {
445
+ skipSpaces(scnr);
446
+ const ch = scnr.currentChar();
447
+ if (ch !== "%" /* Modulo */) {
448
+ emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
449
+ }
450
+ scnr.next();
451
+ return "%" /* Modulo */;
452
+ }
434
453
  function readText(scnr) {
435
- const fn = (buf) => {
454
+ let buf = '';
455
+ while (true) {
436
456
  const ch = scnr.currentChar();
437
457
  if (ch === "{" /* BraceLeft */ ||
438
458
  ch === "}" /* BraceRight */ ||
439
459
  ch === "@" /* LinkedAlias */ ||
460
+ ch === "|" /* Pipe */ ||
440
461
  !ch) {
441
- return buf;
462
+ break;
442
463
  }
443
464
  else if (ch === "%" /* Modulo */) {
444
465
  if (isTextStart(scnr)) {
445
466
  buf += ch;
446
467
  scnr.next();
447
- return fn(buf);
448
468
  }
449
469
  else {
450
- return buf;
470
+ break;
451
471
  }
452
472
  }
453
- else if (ch === "|" /* Pipe */) {
454
- return buf;
455
- }
456
473
  else if (ch === CHAR_SP || ch === CHAR_LF) {
457
474
  if (isTextStart(scnr)) {
458
475
  buf += ch;
459
476
  scnr.next();
460
- return fn(buf);
461
477
  }
462
478
  else if (isPluralStart(scnr)) {
463
- return buf;
479
+ break;
464
480
  }
465
481
  else {
466
482
  buf += ch;
467
483
  scnr.next();
468
- return fn(buf);
469
484
  }
470
485
  }
471
486
  else {
472
487
  buf += ch;
473
488
  scnr.next();
474
- return fn(buf);
475
489
  }
476
- };
477
- return fn('');
490
+ }
491
+ return buf;
478
492
  }
479
493
  function readNamedIdentifier(scnr) {
480
494
  skipSpaces(scnr);
@@ -782,13 +796,15 @@ function createTokenizer(source, options = {}) {
782
796
  context.inLinked = false;
783
797
  return token;
784
798
  }
799
+ const { isModulo, hasSpace } = detectModuloStart(scnr);
800
+ if (isModulo) {
801
+ return hasSpace
802
+ ? getToken(context, 0 /* Text */, readText(scnr))
803
+ : getToken(context, 4 /* Modulo */, readModulo(scnr));
804
+ }
785
805
  if (isTextStart(scnr)) {
786
806
  return getToken(context, 0 /* Text */, readText(scnr));
787
807
  }
788
- if (ch === "%" /* Modulo */) {
789
- scnr.next();
790
- return getToken(context, 4 /* Modulo */, "%" /* Modulo */);
791
- }
792
808
  break;
793
809
  }
794
810
  return token;
@@ -1142,6 +1158,7 @@ function traverseNode(node, transformer) {
1142
1158
  const linked = node;
1143
1159
  traverseNode(linked.key, transformer);
1144
1160
  transformer.helper("linked" /* LINKED */);
1161
+ transformer.helper("type" /* TYPE */);
1145
1162
  break;
1146
1163
  case 5 /* List */:
1147
1164
  transformer.helper("interpolate" /* INTERPOLATE */);
@@ -1242,6 +1259,10 @@ function generateLinkedNode(generator, node) {
1242
1259
  if (node.modifier) {
1243
1260
  generator.push(`, `);
1244
1261
  generateNode(generator, node.modifier);
1262
+ generator.push(`, _type`);
1263
+ }
1264
+ else {
1265
+ generator.push(`, undefined, _type`);
1245
1266
  }
1246
1267
  generator.push(`)`);
1247
1268
  }
@@ -1367,17 +1388,14 @@ const generate = (ast, options = {} // eslint-disable-line
1367
1388
  function getMappingName(node) {
1368
1389
  switch (node.type) {
1369
1390
  case 3 /* Text */:
1391
+ case 9 /* Literal */:
1392
+ case 8 /* LinkedModifier */:
1393
+ case 7 /* LinkedKey */:
1370
1394
  return node.value;
1371
1395
  case 5 /* List */:
1372
1396
  return node.index.toString();
1373
1397
  case 4 /* Named */:
1374
1398
  return node.key;
1375
- case 9 /* Literal */:
1376
- return node.value;
1377
- case 8 /* LinkedModifier */:
1378
- return node.value;
1379
- case 7 /* LinkedKey */:
1380
- return node.value;
1381
1399
  default:
1382
1400
  return undefined;
1383
1401
  }
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * message-compiler v9.2.0-beta.9
3
- * (c) 2021 kazuya kawaguchi
2
+ * message-compiler v9.2.0
3
+ * (c) 2022 kazuya kawaguchi
4
4
  * Released under the MIT License.
5
5
  */
6
6
  'use strict';
@@ -349,6 +349,16 @@ function createTokenizer(source, options = {}) {
349
349
  scnr.resetPeek();
350
350
  return ret;
351
351
  }
352
+ function detectModuloStart(scnr) {
353
+ const spaces = peekSpaces(scnr);
354
+ const ret = scnr.currentPeek() === "%" /* Modulo */ &&
355
+ scnr.peek() === "{" /* BraceLeft */;
356
+ scnr.resetPeek();
357
+ return {
358
+ isModulo: ret,
359
+ hasSpace: spaces.length > 0
360
+ };
361
+ }
352
362
  function isTextStart(scnr, reset = true) {
353
363
  const fn = (hasSpace = false, prev = '', detectModulo = false) => {
354
364
  const ch = scnr.currentPeek();
@@ -430,50 +440,54 @@ function createTokenizer(source, options = {}) {
430
440
  }
431
441
  return num;
432
442
  }
443
+ function readModulo(scnr) {
444
+ skipSpaces(scnr);
445
+ const ch = scnr.currentChar();
446
+ if (ch !== "%" /* Modulo */) {
447
+ emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
448
+ }
449
+ scnr.next();
450
+ return "%" /* Modulo */;
451
+ }
433
452
  function readText(scnr) {
434
- const fn = (buf) => {
453
+ let buf = '';
454
+ while (true) {
435
455
  const ch = scnr.currentChar();
436
456
  if (ch === "{" /* BraceLeft */ ||
437
457
  ch === "}" /* BraceRight */ ||
438
458
  ch === "@" /* LinkedAlias */ ||
459
+ ch === "|" /* Pipe */ ||
439
460
  !ch) {
440
- return buf;
461
+ break;
441
462
  }
442
463
  else if (ch === "%" /* Modulo */) {
443
464
  if (isTextStart(scnr)) {
444
465
  buf += ch;
445
466
  scnr.next();
446
- return fn(buf);
447
467
  }
448
468
  else {
449
- return buf;
469
+ break;
450
470
  }
451
471
  }
452
- else if (ch === "|" /* Pipe */) {
453
- return buf;
454
- }
455
472
  else if (ch === CHAR_SP || ch === CHAR_LF) {
456
473
  if (isTextStart(scnr)) {
457
474
  buf += ch;
458
475
  scnr.next();
459
- return fn(buf);
460
476
  }
461
477
  else if (isPluralStart(scnr)) {
462
- return buf;
478
+ break;
463
479
  }
464
480
  else {
465
481
  buf += ch;
466
482
  scnr.next();
467
- return fn(buf);
468
483
  }
469
484
  }
470
485
  else {
471
486
  buf += ch;
472
487
  scnr.next();
473
- return fn(buf);
474
488
  }
475
- };
476
- return fn('');
489
+ }
490
+ return buf;
477
491
  }
478
492
  function readNamedIdentifier(scnr) {
479
493
  skipSpaces(scnr);
@@ -781,13 +795,15 @@ function createTokenizer(source, options = {}) {
781
795
  context.inLinked = false;
782
796
  return token;
783
797
  }
798
+ const { isModulo, hasSpace } = detectModuloStart(scnr);
799
+ if (isModulo) {
800
+ return hasSpace
801
+ ? getToken(context, 0 /* Text */, readText(scnr))
802
+ : getToken(context, 4 /* Modulo */, readModulo(scnr));
803
+ }
784
804
  if (isTextStart(scnr)) {
785
805
  return getToken(context, 0 /* Text */, readText(scnr));
786
806
  }
787
- if (ch === "%" /* Modulo */) {
788
- scnr.next();
789
- return getToken(context, 4 /* Modulo */, "%" /* Modulo */);
790
- }
791
807
  break;
792
808
  }
793
809
  return token;
@@ -1141,6 +1157,7 @@ function traverseNode(node, transformer) {
1141
1157
  const linked = node;
1142
1158
  traverseNode(linked.key, transformer);
1143
1159
  transformer.helper("linked" /* LINKED */);
1160
+ transformer.helper("type" /* TYPE */);
1144
1161
  break;
1145
1162
  case 5 /* List */:
1146
1163
  transformer.helper("interpolate" /* INTERPOLATE */);
@@ -1241,6 +1258,10 @@ function generateLinkedNode(generator, node) {
1241
1258
  if (node.modifier) {
1242
1259
  generator.push(`, `);
1243
1260
  generateNode(generator, node.modifier);
1261
+ generator.push(`, _type`);
1262
+ }
1263
+ else {
1264
+ generator.push(`, undefined, _type`);
1244
1265
  }
1245
1266
  generator.push(`)`);
1246
1267
  }
@@ -1362,17 +1383,14 @@ const generate = (ast, options = {} // eslint-disable-line
1362
1383
  function getMappingName(node) {
1363
1384
  switch (node.type) {
1364
1385
  case 3 /* Text */:
1386
+ case 9 /* Literal */:
1387
+ case 8 /* LinkedModifier */:
1388
+ case 7 /* LinkedKey */:
1365
1389
  return node.value;
1366
1390
  case 5 /* List */:
1367
1391
  return node.index.toString();
1368
1392
  case 4 /* Named */:
1369
1393
  return node.key;
1370
- case 9 /* Literal */:
1371
- return node.value;
1372
- case 8 /* LinkedModifier */:
1373
- return node.value;
1374
- case 7 /* LinkedKey */:
1375
- return node.value;
1376
1394
  default:
1377
1395
  return undefined;
1378
1396
  }
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * message-compiler v9.2.0-beta.9
3
- * (c) 2021 kazuya kawaguchi
2
+ * message-compiler v9.2.0
3
+ * (c) 2022 kazuya kawaguchi
4
4
  * Released under the MIT License.
5
5
  */
6
6
  /**
@@ -365,6 +365,16 @@ function createTokenizer(source, options = {}) {
365
365
  scnr.resetPeek();
366
366
  return ret;
367
367
  }
368
+ function detectModuloStart(scnr) {
369
+ const spaces = peekSpaces(scnr);
370
+ const ret = scnr.currentPeek() === "%" /* Modulo */ &&
371
+ scnr.peek() === "{" /* BraceLeft */;
372
+ scnr.resetPeek();
373
+ return {
374
+ isModulo: ret,
375
+ hasSpace: spaces.length > 0
376
+ };
377
+ }
368
378
  function isTextStart(scnr, reset = true) {
369
379
  const fn = (hasSpace = false, prev = '', detectModulo = false) => {
370
380
  const ch = scnr.currentPeek();
@@ -446,50 +456,54 @@ function createTokenizer(source, options = {}) {
446
456
  }
447
457
  return num;
448
458
  }
459
+ function readModulo(scnr) {
460
+ skipSpaces(scnr);
461
+ const ch = scnr.currentChar();
462
+ if (ch !== "%" /* Modulo */) {
463
+ emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
464
+ }
465
+ scnr.next();
466
+ return "%" /* Modulo */;
467
+ }
449
468
  function readText(scnr) {
450
- const fn = (buf) => {
469
+ let buf = '';
470
+ while (true) {
451
471
  const ch = scnr.currentChar();
452
472
  if (ch === "{" /* BraceLeft */ ||
453
473
  ch === "}" /* BraceRight */ ||
454
474
  ch === "@" /* LinkedAlias */ ||
475
+ ch === "|" /* Pipe */ ||
455
476
  !ch) {
456
- return buf;
477
+ break;
457
478
  }
458
479
  else if (ch === "%" /* Modulo */) {
459
480
  if (isTextStart(scnr)) {
460
481
  buf += ch;
461
482
  scnr.next();
462
- return fn(buf);
463
483
  }
464
484
  else {
465
- return buf;
485
+ break;
466
486
  }
467
487
  }
468
- else if (ch === "|" /* Pipe */) {
469
- return buf;
470
- }
471
488
  else if (ch === CHAR_SP || ch === CHAR_LF) {
472
489
  if (isTextStart(scnr)) {
473
490
  buf += ch;
474
491
  scnr.next();
475
- return fn(buf);
476
492
  }
477
493
  else if (isPluralStart(scnr)) {
478
- return buf;
494
+ break;
479
495
  }
480
496
  else {
481
497
  buf += ch;
482
498
  scnr.next();
483
- return fn(buf);
484
499
  }
485
500
  }
486
501
  else {
487
502
  buf += ch;
488
503
  scnr.next();
489
- return fn(buf);
490
504
  }
491
- };
492
- return fn('');
505
+ }
506
+ return buf;
493
507
  }
494
508
  function readNamedIdentifier(scnr) {
495
509
  skipSpaces(scnr);
@@ -797,13 +811,15 @@ function createTokenizer(source, options = {}) {
797
811
  context.inLinked = false;
798
812
  return token;
799
813
  }
814
+ const { isModulo, hasSpace } = detectModuloStart(scnr);
815
+ if (isModulo) {
816
+ return hasSpace
817
+ ? getToken(context, 0 /* Text */, readText(scnr))
818
+ : getToken(context, 4 /* Modulo */, readModulo(scnr));
819
+ }
800
820
  if (isTextStart(scnr)) {
801
821
  return getToken(context, 0 /* Text */, readText(scnr));
802
822
  }
803
- if (ch === "%" /* Modulo */) {
804
- scnr.next();
805
- return getToken(context, 4 /* Modulo */, "%" /* Modulo */);
806
- }
807
823
  break;
808
824
  }
809
825
  return token;
@@ -1157,6 +1173,7 @@ function traverseNode(node, transformer) {
1157
1173
  const linked = node;
1158
1174
  traverseNode(linked.key, transformer);
1159
1175
  transformer.helper("linked" /* LINKED */);
1176
+ transformer.helper("type" /* TYPE */);
1160
1177
  break;
1161
1178
  case 5 /* List */:
1162
1179
  transformer.helper("interpolate" /* INTERPOLATE */);
@@ -1233,6 +1250,10 @@ function generateLinkedNode(generator, node) {
1233
1250
  if (node.modifier) {
1234
1251
  generator.push(`, `);
1235
1252
  generateNode(generator, node.modifier);
1253
+ generator.push(`, _type`);
1254
+ }
1255
+ else {
1256
+ generator.push(`, undefined, _type`);
1236
1257
  }
1237
1258
  generator.push(`)`);
1238
1259
  }
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * message-compiler v9.2.0-beta.9
3
- * (c) 2021 kazuya kawaguchi
2
+ * message-compiler v9.2.0
3
+ * (c) 2022 kazuya kawaguchi
4
4
  * Released under the MIT License.
5
5
  */
6
- const e=Object.assign,n=e=>"string"==typeof e,t={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,__EXTEND_POINT__:15},r={[t.EXPECTED_TOKEN]:"Expected token: '{0}'",[t.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[t.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[t.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[t.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[t.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[t.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[t.EMPTY_PLACEHOLDER]:"Empty placeholder",[t.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[t.INVALID_LINKED_FORMAT]:"Invalid linked format",[t.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[t.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[t.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[t.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'"};function c(e,n,t={}){const{domain:r}=t,c=new SyntaxError(String(e));return c.code=e,n&&(c.location=n),c.domain=r,c}function o(e){throw e}const u={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}};function s(e,n,t){return{line:e,column:n,offset:t}}function i(e,n,t){const r={start:e,end:n};return null!=t&&(r.source=t),r}const a=String.fromCharCode(8232),l=String.fromCharCode(8233);function f(e){const n=e;let t=0,r=1,c=1,o=0;const u=e=>"\r"===n[e]&&"\n"===n[e+1],s=e=>n[e]===l,i=e=>n[e]===a,f=e=>u(e)||(e=>"\n"===n[e])(e)||s(e)||i(e),d=e=>u(e)||s(e)||i(e)?"\n":n[e];function p(){return o=0,f(t)&&(r++,c=0),u(t)&&t++,t++,c++,n[t]}return{index:()=>t,line:()=>r,column:()=>c,peekOffset:()=>o,charAt:d,currentChar:()=>d(t),currentPeek:()=>d(t+o),next:p,peek:function(){return u(t+o)&&o++,o++,n[t+o]},reset:function(){t=0,r=1,c=1,o=0},resetPeek:function(e=0){o=e},skipToPeek:function(){const e=t+o;for(;e!==t;)p();o=0}}}const d=void 0;function p(e,n={}){const t=!1!==n.location,r=f(e),c=()=>r.index(),o=()=>s(r.line(),r.column(),r.index()),u=o(),a=c(),l={currentType:14,offset:a,startLoc:u,endLoc:u,lastType:14,lastOffset:a,lastStartLoc:u,lastEndLoc:u,braceNest:0,inLinked:!1,text:""},p=()=>l,{onError:E}=n;function k(e,n,r){e.endLoc=o(),e.currentType=n;const c={type:n};return t&&(c.loc=i(e.startLoc,e.endLoc)),null!=r&&(c.value=r),c}const L=e=>k(e,14);function h(e,n){return e.currentChar()===n?(e.next(),n):(o(),"")}function N(e){let n="";for(;" "===e.currentPeek()||"\n"===e.currentPeek();)n+=e.currentPeek(),e.peek();return n}function _(e){const n=N(e);return e.skipToPeek(),n}function T(e){if(e===d)return!1;const n=e.charCodeAt(0);return n>=97&&n<=122||n>=65&&n<=90||95===n}function C(e,n){const{currentType:t}=n;if(2!==t)return!1;N(e);const r=function(e){if(e===d)return!1;const n=e.charCodeAt(0);return n>=48&&n<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function P(e){N(e);const n="|"===e.currentPeek();return e.resetPeek(),n}function x(e,n=!0){const t=(n=!1,r="",c=!1)=>{const o=e.currentPeek();return"{"===o?"%"!==r&&n:"@"!==o&&o?"%"===o?(e.peek(),t(n,"%",!0)):"|"===o?!("%"!==r&&!c)||!(" "===r||"\n"===r):" "===o?(e.peek(),t(!0," ",c)):"\n"!==o||(e.peek(),t(!0,"\n",c)):"%"===r||n},r=t();return n&&e.resetPeek(),r}function y(e,n){const t=e.currentChar();return t===d?d:n(t)?(e.next(),t):null}function m(e){return y(e,(e=>{const n=e.charCodeAt(0);return n>=97&&n<=122||n>=65&&n<=90||n>=48&&n<=57||95===n||36===n}))}function I(e){return y(e,(e=>{const n=e.charCodeAt(0);return n>=48&&n<=57}))}function O(e){return y(e,(e=>{const n=e.charCodeAt(0);return n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102}))}function A(e){let n="",t="";for(;n=I(e);)t+=n;return t}function b(e){const n=e.currentChar();switch(n){case"\\":case"'":return e.next(),`\\${n}`;case"u":return S(e,n,4);case"U":return S(e,n,6);default:return o(),""}}function S(e,n,t){h(e,n);let r="";for(let n=0;n<t;n++){const n=O(e);if(!n){o(),e.currentChar();break}r+=n}return`\\${n}${r}`}function v(e){_(e);const n=h(e,"|");return _(e),n}function D(e,n){let t=null;switch(e.currentChar()){case"{":return n.braceNest>=1&&o(),e.next(),t=k(n,2,"{"),_(e),n.braceNest++,t;case"}":return n.braceNest>0&&2===n.currentType&&o(),e.next(),t=k(n,3,"}"),n.braceNest--,n.braceNest>0&&_(e),n.inLinked&&0===n.braceNest&&(n.inLinked=!1),t;case"@":return n.braceNest>0&&o(),t=U(e,n)||L(n),n.braceNest=0,t;default:let r=!0,c=!0,u=!0;if(P(e))return n.braceNest>0&&o(),t=k(n,1,v(e)),n.braceNest=0,n.inLinked=!1,t;if(n.braceNest>0&&(5===n.currentType||6===n.currentType||7===n.currentType))return o(),n.braceNest=0,g(e,n);if(r=function(e,n){const{currentType:t}=n;if(2!==t)return!1;N(e);const r=T(e.currentPeek());return e.resetPeek(),r}(e,n))return t=k(n,5,function(e){_(e);let n="",t="";for(;n=m(e);)t+=n;return e.currentChar()===d&&o(),t}(e)),_(e),t;if(c=C(e,n))return t=k(n,6,function(e){_(e);let n="";return"-"===e.currentChar()?(e.next(),n+=`-${A(e)}`):n+=A(e),e.currentChar()===d&&o(),n}(e)),_(e),t;if(u=function(e,n){const{currentType:t}=n;if(2!==t)return!1;N(e);const r="'"===e.currentPeek();return e.resetPeek(),r}(e,n))return t=k(n,7,function(e){_(e),h(e,"'");let n="",t="";const r=e=>"'"!==e&&"\n"!==e;for(;n=y(e,r);)t+="\\"===n?b(e):n;const c=e.currentChar();return"\n"===c||c===d?(o(),"\n"===c&&(e.next(),h(e,"'")),t):(h(e,"'"),t)}(e)),_(e),t;if(!r&&!c&&!u)return t=k(n,13,function(e){_(e);let n="",t="";const r=e=>"{"!==e&&"}"!==e&&" "!==e&&"\n"!==e;for(;n=y(e,r);)t+=n;return t}(e)),o(),_(e),t}return t}function U(e,n){const{currentType:t}=n;let r=null;const c=e.currentChar();switch(8!==t&&9!==t&&12!==t&&10!==t||"\n"!==c&&" "!==c||o(),c){case"@":return e.next(),r=k(n,8,"@"),n.inLinked=!0,r;case".":return _(e),e.next(),k(n,9,".");case":":return _(e),e.next(),k(n,10,":");default:return P(e)?(r=k(n,1,v(e)),n.braceNest=0,n.inLinked=!1,r):function(e,n){const{currentType:t}=n;if(8!==t)return!1;N(e);const r="."===e.currentPeek();return e.resetPeek(),r}(e,n)||function(e,n){const{currentType:t}=n;if(8!==t&&12!==t)return!1;N(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,n)?(_(e),U(e,n)):function(e,n){const{currentType:t}=n;if(9!==t)return!1;N(e);const r=T(e.currentPeek());return e.resetPeek(),r}(e,n)?(_(e),k(n,12,function(e){let n="",t="";for(;n=m(e);)t+=n;return t}(e))):function(e,n){const{currentType:t}=n;if(10!==t)return!1;const r=()=>{const n=e.currentPeek();return"{"===n?T(e.peek()):!("@"===n||"%"===n||"|"===n||":"===n||"."===n||" "===n||!n)&&("\n"===n?(e.peek(),r()):T(n))},c=r();return e.resetPeek(),c}(e,n)?(_(e),"{"===c?D(e,n)||r:k(n,11,function(e){const n=(t=!1,r)=>{const c=e.currentChar();return"{"!==c&&"%"!==c&&"@"!==c&&"|"!==c&&c?" "===c?r:"\n"===c?(r+=c,e.next(),n(t,r)):(r+=c,e.next(),n(!0,r)):r};return n(!1,"")}(e))):(8===t&&o(),n.braceNest=0,n.inLinked=!1,g(e,n))}}function g(e,n){let t={type:14};if(n.braceNest>0)return D(e,n)||L(n);if(n.inLinked)return U(e,n)||L(n);const r=e.currentChar();switch(r){case"{":return D(e,n)||L(n);case"}":return o(),e.next(),k(n,3,"}");case"@":return U(e,n)||L(n);default:if(P(e))return t=k(n,1,v(e)),n.braceNest=0,n.inLinked=!1,t;if(x(e))return k(n,0,function(e){const n=t=>{const r=e.currentChar();return"{"!==r&&"}"!==r&&"@"!==r&&r?"%"===r?x(e)?(t+=r,e.next(),n(t)):t:"|"===r?t:" "===r||"\n"===r?x(e)?(t+=r,e.next(),n(t)):P(e)?t:(t+=r,e.next(),n(t)):(t+=r,e.next(),n(t)):t};return n("")}(e));if("%"===r)return e.next(),k(n,4,"%")}return t}return{nextToken:function(){const{currentType:e,offset:n,startLoc:t,endLoc:u}=l;return l.lastType=e,l.lastOffset=n,l.lastStartLoc=t,l.lastEndLoc=u,l.offset=c(),l.startLoc=o(),r.currentChar()===d?k(l,14):g(r,l)},currentOffset:c,currentPosition:o,context:p}}const E="parser",k=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function L(e,n,t){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(n||t,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function h(n={}){const t=!1!==n.location,{onError:r}=n;function c(e,n,r){const c={type:e,start:n,end:n};return t&&(c.loc={start:r,end:r}),c}function o(e,n,r,c){e.end=n,c&&(e.type=c),t&&e.loc&&(e.loc.end=r)}function u(e,n){const t=e.context(),r=c(3,t.offset,t.startLoc);return r.value=n,o(r,e.currentOffset(),e.currentPosition()),r}function s(e,n){const t=e.context(),{lastOffset:r,lastStartLoc:u}=t,s=c(5,r,u);return s.index=parseInt(n,10),e.nextToken(),o(s,e.currentOffset(),e.currentPosition()),s}function i(e,n){const t=e.context(),{lastOffset:r,lastStartLoc:u}=t,s=c(4,r,u);return s.key=n,e.nextToken(),o(s,e.currentOffset(),e.currentPosition()),s}function a(e,n){const t=e.context(),{lastOffset:r,lastStartLoc:u}=t,s=c(9,r,u);return s.value=n.replace(k,L),e.nextToken(),o(s,e.currentOffset(),e.currentPosition()),s}function l(e){const n=e.context(),t=c(6,n.offset,n.startLoc);let r=e.nextToken();if(9===r.type){const n=function(e){const n=e.nextToken(),t=e.context(),{lastOffset:r,lastStartLoc:u}=t,s=c(8,r,u);return 12!==n.type?(s.value="",o(s,r,u),{nextConsumeToken:n,node:s}):(null==n.value&&N(n),s.value=n.value||"",o(s,e.currentOffset(),e.currentPosition()),{node:s})}(e);t.modifier=n.node,r=n.nextConsumeToken||e.nextToken()}switch(10!==r.type&&N(r),r=e.nextToken(),2===r.type&&(r=e.nextToken()),r.type){case 11:null==r.value&&N(r),t.key=function(e,n){const t=e.context(),r=c(7,t.offset,t.startLoc);return r.value=n,o(r,e.currentOffset(),e.currentPosition()),r}(e,r.value||"");break;case 5:null==r.value&&N(r),t.key=i(e,r.value||"");break;case 6:null==r.value&&N(r),t.key=s(e,r.value||"");break;case 7:null==r.value&&N(r),t.key=a(e,r.value||"");break;default:const n=e.context(),u=c(7,n.offset,n.startLoc);return u.value="",o(u,n.offset,n.startLoc),t.key=u,o(t,n.offset,n.startLoc),{nextConsumeToken:r,node:t}}return o(t,e.currentOffset(),e.currentPosition()),{node:t}}function f(e){const n=e.context(),t=c(2,1===n.currentType?e.currentOffset():n.offset,1===n.currentType?n.endLoc:n.startLoc);t.items=[];let r=null;do{const n=r||e.nextToken();switch(r=null,n.type){case 0:null==n.value&&N(n),t.items.push(u(e,n.value||""));break;case 6:null==n.value&&N(n),t.items.push(s(e,n.value||""));break;case 5:null==n.value&&N(n),t.items.push(i(e,n.value||""));break;case 7:null==n.value&&N(n),t.items.push(a(e,n.value||""));break;case 8:const c=l(e);t.items.push(c.node),r=c.nextConsumeToken||null}}while(14!==n.currentType&&1!==n.currentType);return o(t,1===n.currentType?n.lastOffset:e.currentOffset(),1===n.currentType?n.lastEndLoc:e.currentPosition()),t}function d(e){const n=e.context(),{offset:t,startLoc:r}=n,u=f(e);return 14===n.currentType?u:function(e,n,t,r){const u=e.context();let s=0===r.items.length;const i=c(1,n,t);i.cases=[],i.cases.push(r);do{const n=f(e);s||(s=0===n.items.length),i.cases.push(n)}while(14!==u.currentType);return o(i,e.currentOffset(),e.currentPosition()),i}(e,t,r,u)}return{parse:function(r){const u=p(r,e({},n)),s=u.context(),i=c(0,s.offset,s.startLoc);return t&&i.loc&&(i.loc.source=r),i.body=d(u),o(i,u.currentOffset(),u.currentPosition()),i}}}function N(e){if(14===e.type)return"EOF";const n=(e.value||"").replace(/\r?\n/gu,"\\n");return n.length>10?n.slice(0,9)+"…":n}function _(e,n){for(let t=0;t<e.length;t++)T(e[t],n)}function T(e,n){switch(e.type){case 1:_(e.cases,n),n.helper("plural");break;case 2:_(e.items,n);break;case 6:T(e.key,n),n.helper("linked");break;case 5:n.helper("interpolate"),n.helper("list");break;case 4:n.helper("interpolate"),n.helper("named")}}function C(e,n={}){const t=function(e,n={}){const t={ast:e,helpers:new Set};return{context:()=>t,helper:e=>(t.helpers.add(e),e)}}(e);t.helper("normalize"),e.body&&T(e.body,t);const r=t.context();e.helpers=Array.from(r.helpers)}function P(e,n){const{helper:t}=e;switch(n.type){case 0:!function(e,n){n.body?P(e,n.body):e.push("null")}(e,n);break;case 1:!function(e,n){const{helper:t,needIndent:r}=e;if(n.cases.length>1){e.push(`${t("plural")}([`),e.indent(r());const c=n.cases.length;for(let t=0;t<c&&(P(e,n.cases[t]),t!==c-1);t++)e.push(", ");e.deindent(r()),e.push("])")}}(e,n);break;case 2:!function(e,n){const{helper:t,needIndent:r}=e;e.push(`${t("normalize")}([`),e.indent(r());const c=n.items.length;for(let t=0;t<c&&(P(e,n.items[t]),t!==c-1);t++)e.push(", ");e.deindent(r()),e.push("])")}(e,n);break;case 6:!function(e,n){const{helper:t}=e;e.push(`${t("linked")}(`),P(e,n.key),n.modifier&&(e.push(", "),P(e,n.modifier)),e.push(")")}(e,n);break;case 8:case 7:e.push(JSON.stringify(n.value),n);break;case 5:e.push(`${t("interpolate")}(${t("list")}(${n.index}))`,n);break;case 4:e.push(`${t("interpolate")}(${t("named")}(${JSON.stringify(n.key)}))`,n);break;case 9:case 3:e.push(JSON.stringify(n.value),n)}}function x(t,r={}){const c=e({},r),o=h(c).parse(t);return C(o,c),((e,t={})=>{const r=n(t.mode)?t.mode:"normal",c=n(t.filename)?t.filename:"message.intl",o=t.needIndent?t.needIndent:"arrow"!==r,u=e.helpers||[],s=function(e,n){const{filename:t,breakLineCode:r,needIndent:c}=n,o={source:e.loc.source,filename:t,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:r,needIndent:c,indentLevel:0};function u(e,n){o.code+=e}function s(e,n=!0){const t=n?r:"";u(c?t+" ".repeat(e):t)}return{context:()=>o,push:u,indent:function(e=!0){const n=++o.indentLevel;e&&s(n)},deindent:function(e=!0){const n=--o.indentLevel;e&&s(n)},newline:function(){s(o.indentLevel)},helper:e=>`_${e}`,needIndent:()=>o.needIndent}}(e,{mode:r,filename:c,sourceMap:!!t.sourceMap,breakLineCode:null!=t.breakLineCode?t.breakLineCode:"arrow"===r?";":"\n",needIndent:o});s.push("normal"===r?"function __msg__ (ctx) {":"(ctx) => {"),s.indent(o),u.length>0&&(s.push(`const { ${u.map((e=>`${e}: _${e}`)).join(", ")} } = ctx`),s.newline()),s.push("return "),P(s,e),s.deindent(o),s.push("}");const{code:i,map:a}=s.context();return{ast:e,code:i,map:a?a.toJSON():void 0}})(o,c)}export{t as CompileErrorCodes,E as ERROR_DOMAIN,u as LocationStub,x as baseCompile,c as createCompileError,i as createLocation,h as createParser,s as createPosition,o as defaultOnError,r as errorMessages};
6
+ const e=Object.assign,t=e=>"string"==typeof e,n={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,__EXTEND_POINT__:15},r={[n.EXPECTED_TOKEN]:"Expected token: '{0}'",[n.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[n.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[n.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[n.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[n.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[n.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[n.EMPTY_PLACEHOLDER]:"Empty placeholder",[n.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[n.INVALID_LINKED_FORMAT]:"Invalid linked format",[n.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[n.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[n.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[n.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'"};function c(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}function o(e){throw e}const s={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}};function u(e,t,n){return{line:e,column:t,offset:n}}function a(e,t,n){const r={start:e,end:t};return null!=n&&(r.source=n),r}const i=String.fromCharCode(8232),l=String.fromCharCode(8233);function f(e){const t=e;let n=0,r=1,c=1,o=0;const s=e=>"\r"===t[e]&&"\n"===t[e+1],u=e=>t[e]===l,a=e=>t[e]===i,f=e=>s(e)||(e=>"\n"===t[e])(e)||u(e)||a(e),d=e=>s(e)||u(e)||a(e)?"\n":t[e];function p(){return o=0,f(n)&&(r++,c=0),s(n)&&n++,n++,c++,t[n]}return{index:()=>n,line:()=>r,column:()=>c,peekOffset:()=>o,charAt:d,currentChar:()=>d(n),currentPeek:()=>d(n+o),next:p,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;)p();o=0}}}const d=void 0;function p(e,t={}){const n=!1!==t.location,r=f(e),c=()=>r.index(),o=()=>u(r.line(),r.column(),r.index()),s=o(),i=c(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},p=()=>l,{onError:E}=t;function k(e,t,r){e.endLoc=o(),e.currentType=t;const c={type:t};return n&&(c.loc=a(e.startLoc,e.endLoc)),null!=r&&(c.value=r),c}const L=e=>k(e,14);function h(e,t){return e.currentChar()===t?(e.next(),t):(o(),"")}function N(e){let t="";for(;" "===e.currentPeek()||"\n"===e.currentPeek();)t+=e.currentPeek(),e.peek();return t}function _(e){const t=N(e);return e.skipToPeek(),t}function T(e){if(e===d)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function C(e,t){const{currentType:n}=t;if(2!==n)return!1;N(e);const r=function(e){if(e===d)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function P(e){N(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function x(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||"\n"===r):" "===o?(e.peek(),n(!0," ",c)):"\n"!==o||(e.peek(),n(!0,"\n",c)):"%"===r||t},r=n();return t&&e.resetPeek(),r}function y(e,t){const n=e.currentChar();return n===d?d:t(n)?(e.next(),n):null}function m(e){return y(e,(e=>{const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}))}function I(e){return y(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57}))}function S(e){return y(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}))}function O(e){let t="",n="";for(;t=I(e);)n+=t;return n}function A(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!x(e))break;t+=n,e.next()}else if(" "===n||"\n"===n)if(x(e))t+=n,e.next();else{if(P(e))break;t+=n,e.next()}else t+=n,e.next()}return t}function b(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return v(e,t,4);case"U":return v(e,t,6);default:return o(),""}}function v(e,t,n){h(e,t);let r="";for(let t=0;t<n;t++){const t=S(e);if(!t){o(),e.currentChar();break}r+=t}return`\\${t}${r}`}function D(e){_(e);const t=h(e,"|");return _(e),t}function U(e,t){let n=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&o(),e.next(),n=k(t,2,"{"),_(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&o(),e.next(),n=k(t,3,"}"),t.braceNest--,t.braceNest>0&&_(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&o(),n=g(e,t)||L(t),t.braceNest=0,n;default:let r=!0,c=!0,s=!0;if(P(e))return t.braceNest>0&&o(),n=k(t,1,D(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(5===t.currentType||6===t.currentType||7===t.currentType))return o(),t.braceNest=0,M(e,t);if(r=function(e,t){const{currentType:n}=t;if(2!==n)return!1;N(e);const r=T(e.currentPeek());return e.resetPeek(),r}(e,t))return n=k(t,5,function(e){_(e);let t="",n="";for(;t=m(e);)n+=t;return e.currentChar()===d&&o(),n}(e)),_(e),n;if(c=C(e,t))return n=k(t,6,function(e){_(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${O(e)}`):t+=O(e),e.currentChar()===d&&o(),t}(e)),_(e),n;if(s=function(e,t){const{currentType:n}=t;if(2!==n)return!1;N(e);const r="'"===e.currentPeek();return e.resetPeek(),r}(e,t))return n=k(t,7,function(e){_(e),h(e,"'");let t="",n="";const r=e=>"'"!==e&&"\n"!==e;for(;t=y(e,r);)n+="\\"===t?b(e):t;const c=e.currentChar();return"\n"===c||c===d?(o(),"\n"===c&&(e.next(),h(e,"'")),n):(h(e,"'"),n)}(e)),_(e),n;if(!r&&!c&&!s)return n=k(t,13,function(e){_(e);let t="",n="";const r=e=>"{"!==e&&"}"!==e&&" "!==e&&"\n"!==e;for(;t=y(e,r);)n+=t;return n}(e)),o(),n.value,_(e),n}return n}function g(e,t){const{currentType:n}=t;let r=null;const c=e.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||"\n"!==c&&" "!==c||o(),c){case"@":return e.next(),r=k(t,8,"@"),t.inLinked=!0,r;case".":return _(e),e.next(),k(t,9,".");case":":return _(e),e.next(),k(t,10,":");default:return P(e)?(r=k(t,1,D(e)),t.braceNest=0,t.inLinked=!1,r):function(e,t){const{currentType:n}=t;if(8!==n)return!1;N(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;N(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,t)?(_(e),g(e,t)):function(e,t){const{currentType:n}=t;if(9!==n)return!1;N(e);const r=T(e.currentPeek());return e.resetPeek(),r}(e,t)?(_(e),k(t,12,function(e){let t="",n="";for(;t=m(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?T(e.peek()):!("@"===t||"%"===t||"|"===t||":"===t||"."===t||" "===t||!t)&&("\n"===t?(e.peek(),r()):T(t))},c=r();return e.resetPeek(),c}(e,t)?(_(e),"{"===c?U(e,t)||r:k(t,11,function(e){const t=(n=!1,r)=>{const c=e.currentChar();return"{"!==c&&"%"!==c&&"@"!==c&&"|"!==c&&c?" "===c?r:"\n"===c?(r+=c,e.next(),t(n,r)):(r+=c,e.next(),t(!0,r)):r};return t(!1,"")}(e))):(8===n&&o(),t.braceNest=0,t.inLinked=!1,M(e,t))}}function M(e,t){let n={type:14};if(t.braceNest>0)return U(e,t)||L(t);if(t.inLinked)return g(e,t)||L(t);switch(e.currentChar()){case"{":return U(e,t)||L(t);case"}":return o(),e.next(),k(t,3,"}");case"@":return g(e,t)||L(t);default:if(P(e))return n=k(t,1,D(e)),t.braceNest=0,t.inLinked=!1,n;const{isModulo:r,hasSpace:c}=function(e){const t=N(e),n="%"===e.currentPeek()&&"{"===e.peek();return e.resetPeek(),{isModulo:n,hasSpace:t.length>0}}(e);if(r)return c?k(t,0,A(e)):k(t,4,function(e){_(e);return"%"!==e.currentChar()&&o(),e.next(),"%"}(e));if(x(e))return k(t,0,A(e))}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:s}=l;return l.lastType=e,l.lastOffset=t,l.lastStartLoc=n,l.lastEndLoc=s,l.offset=c(),l.startLoc=o(),r.currentChar()===d?k(l,14):M(r,l)},currentOffset:c,currentPosition:o,context:p}}const E="parser",k=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function L(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 h(t={}){const n=!1!==t.location,{onError:r}=t;function c(e,t,r){const c={type:e,start:t,end:t};return n&&(c.loc={start:r,end:r}),c}function o(e,t,r,c){e.end=t,c&&(e.type=c),n&&e.loc&&(e.loc.end=r)}function s(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 u(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 a(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 i(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:s}=n,u=c(9,r,s);return u.value=t.replace(k,L),e.nextToken(),o(u,e.currentOffset(),e.currentPosition()),u}function l(e){const t=e.context(),n=c(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:s}=n,u=c(8,r,s);return 12!==t.type?(n.lastStartLoc,u.value="",o(u,r,s),{nextConsumeToken:t,node:u}):(null==t.value&&(n.lastStartLoc,N(t)),u.value=t.value||"",o(u,e.currentOffset(),e.currentPosition()),{node:u})}(e);n.modifier=t.node,r=t.nextConsumeToken||e.nextToken()}switch(10!==r.type&&(t.lastStartLoc,N(r)),r=e.nextToken(),2===r.type&&(r=e.nextToken()),r.type){case 11:null==r.value&&(t.lastStartLoc,N(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 5:null==r.value&&(t.lastStartLoc,N(r)),n.key=a(e,r.value||"");break;case 6:null==r.value&&(t.lastStartLoc,N(r)),n.key=u(e,r.value||"");break;case 7:null==r.value&&(t.lastStartLoc,N(r)),n.key=i(e,r.value||"");break;default:t.lastStartLoc;const s=e.context(),l=c(7,s.offset,s.startLoc);return l.value="",o(l,s.offset,s.startLoc),n.key=l,o(n,s.offset,s.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&&(t.lastStartLoc,N(c)),n.items.push(s(e,c.value||""));break;case 6:null==c.value&&(t.lastStartLoc,N(c)),n.items.push(u(e,c.value||""));break;case 5:null==c.value&&(t.lastStartLoc,N(c)),n.items.push(a(e,c.value||""));break;case 7:null==c.value&&(t.lastStartLoc,N(c)),n.items.push(i(e,c.value||""));break;case 8:const o=l(e);n.items.push(o.node),r=o.nextConsumeToken||null}}while(14!==t.currentType&&1!==t.currentType);return o(n,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),n}function d(e){const t=e.context(),{offset:n,startLoc:r}=t,s=f(e);return 14===t.currentType?s:function(e,t,n,r){const s=e.context();let u=0===r.items.length;const a=c(1,t,n);a.cases=[],a.cases.push(r);do{const t=f(e);u||(u=0===t.items.length),a.cases.push(t)}while(14!==s.currentType);return o(a,e.currentOffset(),e.currentPosition()),a}(e,n,r,s)}return{parse:function(r){const s=p(r,e({},t)),u=s.context(),a=c(0,u.offset,u.startLoc);return n&&a.loc&&(a.loc.source=r),a.body=d(s),14!==u.currentType&&(u.lastStartLoc,r[u.offset]),o(a,s.currentOffset(),s.currentPosition()),a}}}function N(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 _(e,t){for(let n=0;n<e.length;n++)T(e[n],t)}function T(e,t){switch(e.type){case 1:_(e.cases,t),t.helper("plural");break;case 2:_(e.items,t);break;case 6:T(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 C(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&&T(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function P(e,t){const{helper:n}=e;switch(t.type){case 0:!function(e,t){t.body?P(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&&(P(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 n=0;n<c&&(P(e,t.items[n]),n!==c-1);n++)e.push(", ");e.deindent(r()),e.push("])")}(e,t);break;case 6:!function(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),P(e,t.key),t.modifier?(e.push(", "),P(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)}}function x(n,r={}){const c=e({},r),o=h(c).parse(n);return C(o,c),((e,n={})=>{const r=t(n.mode)?n.mode:"normal",c=t(n.filename)?n.filename:"message.intl",o=!!n.sourceMap,s=null!=n.breakLineCode?n.breakLineCode:"arrow"===r?";":"\n",u=n.needIndent?n.needIndent:"arrow"!==r,a=e.helpers||[],i=function(e,t){const{sourceMap:n,filename:r,breakLineCode:c,needIndent:o}=t,s={source:e.loc.source,filename:r,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:c,needIndent:o,indentLevel:0};function u(e,t){s.code+=e}function a(e,t=!0){const n=t?c:"";u(o?n+" ".repeat(e):n)}return{context:()=>s,push:u,indent:function(e=!0){const t=++s.indentLevel;e&&a(t)},deindent:function(e=!0){const t=--s.indentLevel;e&&a(t)},newline:function(){a(s.indentLevel)},helper:e=>`_${e}`,needIndent:()=>s.needIndent}}(e,{mode:r,filename:c,sourceMap:o,breakLineCode:s,needIndent:u});i.push("normal"===r?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(u),a.length>0&&(i.push(`const { ${a.map((e=>`${e}: _${e}`)).join(", ")} } = ctx`),i.newline()),i.push("return "),P(i,e),i.deindent(u),i.push("}");const{code:l,map:f}=i.context();return{ast:e,code:l,map:f?f.toJSON():void 0}})(o,c)}export{n as CompileErrorCodes,E as ERROR_DOMAIN,s as LocationStub,x as baseCompile,c as createCompileError,a as createLocation,h as createParser,u as createPosition,o as defaultOnError,r as errorMessages};
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * message-compiler v9.2.0-beta.9
3
- * (c) 2021 kazuya kawaguchi
2
+ * message-compiler v9.2.0
3
+ * (c) 2022 kazuya kawaguchi
4
4
  * Released under the MIT License.
5
5
  */
6
6
  import { format, assign, isString } from '@intlify/shared';
@@ -346,6 +346,16 @@ function createTokenizer(source, options = {}) {
346
346
  scnr.resetPeek();
347
347
  return ret;
348
348
  }
349
+ function detectModuloStart(scnr) {
350
+ const spaces = peekSpaces(scnr);
351
+ const ret = scnr.currentPeek() === "%" /* Modulo */ &&
352
+ scnr.peek() === "{" /* BraceLeft */;
353
+ scnr.resetPeek();
354
+ return {
355
+ isModulo: ret,
356
+ hasSpace: spaces.length > 0
357
+ };
358
+ }
349
359
  function isTextStart(scnr, reset = true) {
350
360
  const fn = (hasSpace = false, prev = '', detectModulo = false) => {
351
361
  const ch = scnr.currentPeek();
@@ -427,50 +437,54 @@ function createTokenizer(source, options = {}) {
427
437
  }
428
438
  return num;
429
439
  }
440
+ function readModulo(scnr) {
441
+ skipSpaces(scnr);
442
+ const ch = scnr.currentChar();
443
+ if (ch !== "%" /* Modulo */) {
444
+ emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
445
+ }
446
+ scnr.next();
447
+ return "%" /* Modulo */;
448
+ }
430
449
  function readText(scnr) {
431
- const fn = (buf) => {
450
+ let buf = '';
451
+ while (true) {
432
452
  const ch = scnr.currentChar();
433
453
  if (ch === "{" /* BraceLeft */ ||
434
454
  ch === "}" /* BraceRight */ ||
435
455
  ch === "@" /* LinkedAlias */ ||
456
+ ch === "|" /* Pipe */ ||
436
457
  !ch) {
437
- return buf;
458
+ break;
438
459
  }
439
460
  else if (ch === "%" /* Modulo */) {
440
461
  if (isTextStart(scnr)) {
441
462
  buf += ch;
442
463
  scnr.next();
443
- return fn(buf);
444
464
  }
445
465
  else {
446
- return buf;
466
+ break;
447
467
  }
448
468
  }
449
- else if (ch === "|" /* Pipe */) {
450
- return buf;
451
- }
452
469
  else if (ch === CHAR_SP || ch === CHAR_LF) {
453
470
  if (isTextStart(scnr)) {
454
471
  buf += ch;
455
472
  scnr.next();
456
- return fn(buf);
457
473
  }
458
474
  else if (isPluralStart(scnr)) {
459
- return buf;
475
+ break;
460
476
  }
461
477
  else {
462
478
  buf += ch;
463
479
  scnr.next();
464
- return fn(buf);
465
480
  }
466
481
  }
467
482
  else {
468
483
  buf += ch;
469
484
  scnr.next();
470
- return fn(buf);
471
485
  }
472
- };
473
- return fn('');
486
+ }
487
+ return buf;
474
488
  }
475
489
  function readNamedIdentifier(scnr) {
476
490
  skipSpaces(scnr);
@@ -778,13 +792,15 @@ function createTokenizer(source, options = {}) {
778
792
  context.inLinked = false;
779
793
  return token;
780
794
  }
795
+ const { isModulo, hasSpace } = detectModuloStart(scnr);
796
+ if (isModulo) {
797
+ return hasSpace
798
+ ? getToken(context, 0 /* Text */, readText(scnr))
799
+ : getToken(context, 4 /* Modulo */, readModulo(scnr));
800
+ }
781
801
  if (isTextStart(scnr)) {
782
802
  return getToken(context, 0 /* Text */, readText(scnr));
783
803
  }
784
- if (ch === "%" /* Modulo */) {
785
- scnr.next();
786
- return getToken(context, 4 /* Modulo */, "%" /* Modulo */);
787
- }
788
804
  break;
789
805
  }
790
806
  return token;
@@ -1138,6 +1154,7 @@ function traverseNode(node, transformer) {
1138
1154
  const linked = node;
1139
1155
  traverseNode(linked.key, transformer);
1140
1156
  transformer.helper("linked" /* LINKED */);
1157
+ transformer.helper("type" /* TYPE */);
1141
1158
  break;
1142
1159
  case 5 /* List */:
1143
1160
  transformer.helper("interpolate" /* INTERPOLATE */);
@@ -1214,6 +1231,10 @@ function generateLinkedNode(generator, node) {
1214
1231
  if (node.modifier) {
1215
1232
  generator.push(`, `);
1216
1233
  generateNode(generator, node.modifier);
1234
+ generator.push(`, _type`);
1235
+ }
1236
+ else {
1237
+ generator.push(`, undefined, _type`);
1217
1238
  }
1218
1239
  generator.push(`)`);
1219
1240
  }
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * message-compiler v9.2.0-beta.9
3
- * (c) 2021 kazuya kawaguchi
2
+ * message-compiler v9.2.0
3
+ * (c) 2022 kazuya kawaguchi
4
4
  * Released under the MIT License.
5
5
  */
6
6
  var IntlifyMessageCompiler = (function (exports) {
@@ -368,6 +368,16 @@ var IntlifyMessageCompiler = (function (exports) {
368
368
  scnr.resetPeek();
369
369
  return ret;
370
370
  }
371
+ function detectModuloStart(scnr) {
372
+ const spaces = peekSpaces(scnr);
373
+ const ret = scnr.currentPeek() === "%" /* Modulo */ &&
374
+ scnr.peek() === "{" /* BraceLeft */;
375
+ scnr.resetPeek();
376
+ return {
377
+ isModulo: ret,
378
+ hasSpace: spaces.length > 0
379
+ };
380
+ }
371
381
  function isTextStart(scnr, reset = true) {
372
382
  const fn = (hasSpace = false, prev = '', detectModulo = false) => {
373
383
  const ch = scnr.currentPeek();
@@ -449,50 +459,54 @@ var IntlifyMessageCompiler = (function (exports) {
449
459
  }
450
460
  return num;
451
461
  }
462
+ function readModulo(scnr) {
463
+ skipSpaces(scnr);
464
+ const ch = scnr.currentChar();
465
+ if (ch !== "%" /* Modulo */) {
466
+ emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
467
+ }
468
+ scnr.next();
469
+ return "%" /* Modulo */;
470
+ }
452
471
  function readText(scnr) {
453
- const fn = (buf) => {
472
+ let buf = '';
473
+ while (true) {
454
474
  const ch = scnr.currentChar();
455
475
  if (ch === "{" /* BraceLeft */ ||
456
476
  ch === "}" /* BraceRight */ ||
457
477
  ch === "@" /* LinkedAlias */ ||
478
+ ch === "|" /* Pipe */ ||
458
479
  !ch) {
459
- return buf;
480
+ break;
460
481
  }
461
482
  else if (ch === "%" /* Modulo */) {
462
483
  if (isTextStart(scnr)) {
463
484
  buf += ch;
464
485
  scnr.next();
465
- return fn(buf);
466
486
  }
467
487
  else {
468
- return buf;
488
+ break;
469
489
  }
470
490
  }
471
- else if (ch === "|" /* Pipe */) {
472
- return buf;
473
- }
474
491
  else if (ch === CHAR_SP || ch === CHAR_LF) {
475
492
  if (isTextStart(scnr)) {
476
493
  buf += ch;
477
494
  scnr.next();
478
- return fn(buf);
479
495
  }
480
496
  else if (isPluralStart(scnr)) {
481
- return buf;
497
+ break;
482
498
  }
483
499
  else {
484
500
  buf += ch;
485
501
  scnr.next();
486
- return fn(buf);
487
502
  }
488
503
  }
489
504
  else {
490
505
  buf += ch;
491
506
  scnr.next();
492
- return fn(buf);
493
507
  }
494
- };
495
- return fn('');
508
+ }
509
+ return buf;
496
510
  }
497
511
  function readNamedIdentifier(scnr) {
498
512
  skipSpaces(scnr);
@@ -800,13 +814,15 @@ var IntlifyMessageCompiler = (function (exports) {
800
814
  context.inLinked = false;
801
815
  return token;
802
816
  }
817
+ const { isModulo, hasSpace } = detectModuloStart(scnr);
818
+ if (isModulo) {
819
+ return hasSpace
820
+ ? getToken(context, 0 /* Text */, readText(scnr))
821
+ : getToken(context, 4 /* Modulo */, readModulo(scnr));
822
+ }
803
823
  if (isTextStart(scnr)) {
804
824
  return getToken(context, 0 /* Text */, readText(scnr));
805
825
  }
806
- if (ch === "%" /* Modulo */) {
807
- scnr.next();
808
- return getToken(context, 4 /* Modulo */, "%" /* Modulo */);
809
- }
810
826
  break;
811
827
  }
812
828
  return token;
@@ -1160,6 +1176,7 @@ var IntlifyMessageCompiler = (function (exports) {
1160
1176
  const linked = node;
1161
1177
  traverseNode(linked.key, transformer);
1162
1178
  transformer.helper("linked" /* LINKED */);
1179
+ transformer.helper("type" /* TYPE */);
1163
1180
  break;
1164
1181
  case 5 /* List */:
1165
1182
  transformer.helper("interpolate" /* INTERPOLATE */);
@@ -1236,6 +1253,10 @@ var IntlifyMessageCompiler = (function (exports) {
1236
1253
  if (node.modifier) {
1237
1254
  generator.push(`, `);
1238
1255
  generateNode(generator, node.modifier);
1256
+ generator.push(`, _type`);
1257
+ }
1258
+ else {
1259
+ generator.push(`, undefined, _type`);
1239
1260
  }
1240
1261
  generator.push(`)`);
1241
1262
  }
@@ -1385,4 +1406,4 @@ var IntlifyMessageCompiler = (function (exports) {
1385
1406
 
1386
1407
  return exports;
1387
1408
 
1388
- }({}));
1409
+ })({});
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * message-compiler v9.2.0-beta.9
3
- * (c) 2021 kazuya kawaguchi
2
+ * message-compiler v9.2.0
3
+ * (c) 2022 kazuya kawaguchi
4
4
  * Released under the MIT License.
5
5
  */
6
- var IntlifyMessageCompiler=function(e){"use strict";const n=Object.assign,t=e=>"string"==typeof e,r={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,__EXTEND_POINT__:15},c={[r.EXPECTED_TOKEN]:"Expected token: '{0}'",[r.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[r.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[r.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[r.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[r.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[r.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[r.EMPTY_PLACEHOLDER]:"Empty placeholder",[r.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[r.INVALID_LINKED_FORMAT]:"Invalid linked format",[r.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[r.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[r.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[r.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'"};function o(e,n,t={}){const{domain:r}=t,c=new SyntaxError(String(e));return c.code=e,n&&(c.location=n),c.domain=r,c}function u(e,n,t){return{line:e,column:n,offset:t}}function s(e,n,t){const r={start:e,end:n};return null!=t&&(r.source=t),r}const i=" ",a="\n",l=String.fromCharCode(8232),f=String.fromCharCode(8233);function d(e){const n=e;let t=0,r=1,c=1,o=0;const u=e=>"\r"===n[e]&&n[e+1]===a,s=e=>n[e]===f,i=e=>n[e]===l,d=e=>u(e)||(e=>n[e]===a)(e)||s(e)||i(e),p=e=>u(e)||s(e)||i(e)?a:n[e];function E(){return o=0,d(t)&&(r++,c=0),u(t)&&t++,t++,c++,n[t]}return{index:()=>t,line:()=>r,column:()=>c,peekOffset:()=>o,charAt:p,currentChar:()=>p(t),currentPeek:()=>p(t+o),next:E,peek:function(){return u(t+o)&&o++,o++,n[t+o]},reset:function(){t=0,r=1,c=1,o=0},resetPeek:function(e=0){o=e},skipToPeek:function(){const e=t+o;for(;e!==t;)E();o=0}}}const p=void 0;function E(e,n={}){const t=!1!==n.location,r=d(e),c=()=>r.index(),o=()=>u(r.line(),r.column(),r.index()),l=o(),f=c(),E={currentType:14,offset:f,startLoc:l,endLoc:l,lastType:14,lastOffset:f,lastStartLoc:l,lastEndLoc:l,braceNest:0,inLinked:!1,text:""},k=()=>E,{onError:L}=n;function h(e,n,r){e.endLoc=o(),e.currentType=n;const c={type:n};return t&&(c.loc=s(e.startLoc,e.endLoc)),null!=r&&(c.value=r),c}const N=e=>h(e,14);function _(e,n){return e.currentChar()===n?(e.next(),n):(o(),"")}function T(e){let n="";for(;e.currentPeek()===i||e.currentPeek()===a;)n+=e.currentPeek(),e.peek();return n}function C(e){const n=T(e);return e.skipToPeek(),n}function P(e){if(e===p)return!1;const n=e.charCodeAt(0);return n>=97&&n<=122||n>=65&&n<=90||95===n}function x(e,n){const{currentType:t}=n;if(2!==t)return!1;T(e);const r=function(e){if(e===p)return!1;const n=e.charCodeAt(0);return n>=48&&n<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function y(e){T(e);const n="|"===e.currentPeek();return e.resetPeek(),n}function m(e,n=!0){const t=(n=!1,r="",c=!1)=>{const o=e.currentPeek();return"{"===o?"%"!==r&&n:"@"!==o&&o?"%"===o?(e.peek(),t(n,"%",!0)):"|"===o?!("%"!==r&&!c)||!(r===i||r===a):o===i?(e.peek(),t(!0,i,c)):o!==a||(e.peek(),t(!0,a,c)):"%"===r||n},r=t();return n&&e.resetPeek(),r}function I(e,n){const t=e.currentChar();return t===p?p:n(t)?(e.next(),t):null}function O(e){return I(e,(e=>{const n=e.charCodeAt(0);return n>=97&&n<=122||n>=65&&n<=90||n>=48&&n<=57||95===n||36===n}))}function A(e){return I(e,(e=>{const n=e.charCodeAt(0);return n>=48&&n<=57}))}function b(e){return I(e,(e=>{const n=e.charCodeAt(0);return n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102}))}function S(e){let n="",t="";for(;n=A(e);)t+=n;return t}function v(e){const n=e.currentChar();switch(n){case"\\":case"'":return e.next(),`\\${n}`;case"u":return D(e,n,4);case"U":return D(e,n,6);default:return o(),""}}function D(e,n,t){_(e,n);let r="";for(let n=0;n<t;n++){const n=b(e);if(!n){o(),e.currentChar();break}r+=n}return`\\${n}${r}`}function U(e){C(e);const n=_(e,"|");return C(e),n}function g(e,n){let t=null;switch(e.currentChar()){case"{":return n.braceNest>=1&&o(),e.next(),t=h(n,2,"{"),C(e),n.braceNest++,t;case"}":return n.braceNest>0&&2===n.currentType&&o(),e.next(),t=h(n,3,"}"),n.braceNest--,n.braceNest>0&&C(e),n.inLinked&&0===n.braceNest&&(n.inLinked=!1),t;case"@":return n.braceNest>0&&o(),t=R(e,n)||N(n),n.braceNest=0,t;default:let r=!0,c=!0,u=!0;if(y(e))return n.braceNest>0&&o(),t=h(n,1,U(e)),n.braceNest=0,n.inLinked=!1,t;if(n.braceNest>0&&(5===n.currentType||6===n.currentType||7===n.currentType))return o(),n.braceNest=0,M(e,n);if(r=function(e,n){const{currentType:t}=n;if(2!==t)return!1;T(e);const r=P(e.currentPeek());return e.resetPeek(),r}(e,n))return t=h(n,5,function(e){C(e);let n="",t="";for(;n=O(e);)t+=n;return e.currentChar()===p&&o(),t}(e)),C(e),t;if(c=x(e,n))return t=h(n,6,function(e){C(e);let n="";return"-"===e.currentChar()?(e.next(),n+=`-${S(e)}`):n+=S(e),e.currentChar()===p&&o(),n}(e)),C(e),t;if(u=function(e,n){const{currentType:t}=n;if(2!==t)return!1;T(e);const r="'"===e.currentPeek();return e.resetPeek(),r}(e,n))return t=h(n,7,function(e){C(e),_(e,"'");let n="",t="";const r=e=>"'"!==e&&e!==a;for(;n=I(e,r);)t+="\\"===n?v(e):n;const c=e.currentChar();return c===a||c===p?(o(),c===a&&(e.next(),_(e,"'")),t):(_(e,"'"),t)}(e)),C(e),t;if(!r&&!c&&!u)return t=h(n,13,function(e){C(e);let n="",t="";const r=e=>"{"!==e&&"}"!==e&&e!==i&&e!==a;for(;n=I(e,r);)t+=n;return t}(e)),o(),C(e),t}return t}function R(e,n){const{currentType:t}=n;let r=null;const c=e.currentChar();switch(8!==t&&9!==t&&12!==t&&10!==t||c!==a&&c!==i||o(),c){case"@":return e.next(),r=h(n,8,"@"),n.inLinked=!0,r;case".":return C(e),e.next(),h(n,9,".");case":":return C(e),e.next(),h(n,10,":");default:return y(e)?(r=h(n,1,U(e)),n.braceNest=0,n.inLinked=!1,r):function(e,n){const{currentType:t}=n;if(8!==t)return!1;T(e);const r="."===e.currentPeek();return e.resetPeek(),r}(e,n)||function(e,n){const{currentType:t}=n;if(8!==t&&12!==t)return!1;T(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,n)?(C(e),R(e,n)):function(e,n){const{currentType:t}=n;if(9!==t)return!1;T(e);const r=P(e.currentPeek());return e.resetPeek(),r}(e,n)?(C(e),h(n,12,function(e){let n="",t="";for(;n=O(e);)t+=n;return t}(e))):function(e,n){const{currentType:t}=n;if(10!==t)return!1;const r=()=>{const n=e.currentPeek();return"{"===n?P(e.peek()):!("@"===n||"%"===n||"|"===n||":"===n||"."===n||n===i||!n)&&(n===a?(e.peek(),r()):P(n))},c=r();return e.resetPeek(),c}(e,n)?(C(e),"{"===c?g(e,n)||r:h(n,11,function(e){const n=(t=!1,r)=>{const c=e.currentChar();return"{"!==c&&"%"!==c&&"@"!==c&&"|"!==c&&c?c===i?r:c===a?(r+=c,e.next(),n(t,r)):(r+=c,e.next(),n(!0,r)):r};return n(!1,"")}(e))):(8===t&&o(),n.braceNest=0,n.inLinked=!1,M(e,n))}}function M(e,n){let t={type:14};if(n.braceNest>0)return g(e,n)||N(n);if(n.inLinked)return R(e,n)||N(n);const r=e.currentChar();switch(r){case"{":return g(e,n)||N(n);case"}":return o(),e.next(),h(n,3,"}");case"@":return R(e,n)||N(n);default:if(y(e))return t=h(n,1,U(e)),n.braceNest=0,n.inLinked=!1,t;if(m(e))return h(n,0,function(e){const n=t=>{const r=e.currentChar();return"{"!==r&&"}"!==r&&"@"!==r&&r?"%"===r?m(e)?(t+=r,e.next(),n(t)):t:"|"===r?t:r===i||r===a?m(e)?(t+=r,e.next(),n(t)):y(e)?t:(t+=r,e.next(),n(t)):(t+=r,e.next(),n(t)):t};return n("")}(e));if("%"===r)return e.next(),h(n,4,"%")}return t}return{nextToken:function(){const{currentType:e,offset:n,startLoc:t,endLoc:u}=E;return E.lastType=e,E.lastOffset=n,E.lastStartLoc=t,E.lastEndLoc=u,E.offset=c(),E.startLoc=o(),r.currentChar()===p?h(E,14):M(r,E)},currentOffset:c,currentPosition:o,context:k}}const k="parser",L=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function h(e,n,t){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(n||t,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function N(e={}){const t=!1!==e.location,{onError:r}=e;function c(e,n,r){const c={type:e,start:n,end:n};return t&&(c.loc={start:r,end:r}),c}function o(e,n,r,c){e.end=n,c&&(e.type=c),t&&e.loc&&(e.loc.end=r)}function u(e,n){const t=e.context(),r=c(3,t.offset,t.startLoc);return r.value=n,o(r,e.currentOffset(),e.currentPosition()),r}function s(e,n){const t=e.context(),{lastOffset:r,lastStartLoc:u}=t,s=c(5,r,u);return s.index=parseInt(n,10),e.nextToken(),o(s,e.currentOffset(),e.currentPosition()),s}function i(e,n){const t=e.context(),{lastOffset:r,lastStartLoc:u}=t,s=c(4,r,u);return s.key=n,e.nextToken(),o(s,e.currentOffset(),e.currentPosition()),s}function a(e,n){const t=e.context(),{lastOffset:r,lastStartLoc:u}=t,s=c(9,r,u);return s.value=n.replace(L,h),e.nextToken(),o(s,e.currentOffset(),e.currentPosition()),s}function l(e){const n=e.context(),t=c(6,n.offset,n.startLoc);let r=e.nextToken();if(9===r.type){const n=function(e){const n=e.nextToken(),t=e.context(),{lastOffset:r,lastStartLoc:u}=t,s=c(8,r,u);return 12!==n.type?(s.value="",o(s,r,u),{nextConsumeToken:n,node:s}):(null==n.value&&_(n),s.value=n.value||"",o(s,e.currentOffset(),e.currentPosition()),{node:s})}(e);t.modifier=n.node,r=n.nextConsumeToken||e.nextToken()}switch(10!==r.type&&_(r),r=e.nextToken(),2===r.type&&(r=e.nextToken()),r.type){case 11:null==r.value&&_(r),t.key=function(e,n){const t=e.context(),r=c(7,t.offset,t.startLoc);return r.value=n,o(r,e.currentOffset(),e.currentPosition()),r}(e,r.value||"");break;case 5:null==r.value&&_(r),t.key=i(e,r.value||"");break;case 6:null==r.value&&_(r),t.key=s(e,r.value||"");break;case 7:null==r.value&&_(r),t.key=a(e,r.value||"");break;default:const n=e.context(),u=c(7,n.offset,n.startLoc);return u.value="",o(u,n.offset,n.startLoc),t.key=u,o(t,n.offset,n.startLoc),{nextConsumeToken:r,node:t}}return o(t,e.currentOffset(),e.currentPosition()),{node:t}}function f(e){const n=e.context(),t=c(2,1===n.currentType?e.currentOffset():n.offset,1===n.currentType?n.endLoc:n.startLoc);t.items=[];let r=null;do{const n=r||e.nextToken();switch(r=null,n.type){case 0:null==n.value&&_(n),t.items.push(u(e,n.value||""));break;case 6:null==n.value&&_(n),t.items.push(s(e,n.value||""));break;case 5:null==n.value&&_(n),t.items.push(i(e,n.value||""));break;case 7:null==n.value&&_(n),t.items.push(a(e,n.value||""));break;case 8:const c=l(e);t.items.push(c.node),r=c.nextConsumeToken||null}}while(14!==n.currentType&&1!==n.currentType);return o(t,1===n.currentType?n.lastOffset:e.currentOffset(),1===n.currentType?n.lastEndLoc:e.currentPosition()),t}function d(e){const n=e.context(),{offset:t,startLoc:r}=n,u=f(e);return 14===n.currentType?u:function(e,n,t,r){const u=e.context();let s=0===r.items.length;const i=c(1,n,t);i.cases=[],i.cases.push(r);do{const n=f(e);s||(s=0===n.items.length),i.cases.push(n)}while(14!==u.currentType);return o(i,e.currentOffset(),e.currentPosition()),i}(e,t,r,u)}return{parse:function(r){const u=E(r,n({},e)),s=u.context(),i=c(0,s.offset,s.startLoc);return t&&i.loc&&(i.loc.source=r),i.body=d(u),o(i,u.currentOffset(),u.currentPosition()),i}}}function _(e){if(14===e.type)return"EOF";const n=(e.value||"").replace(/\r?\n/gu,"\\n");return n.length>10?n.slice(0,9)+"…":n}function T(e,n){for(let t=0;t<e.length;t++)C(e[t],n)}function C(e,n){switch(e.type){case 1:T(e.cases,n),n.helper("plural");break;case 2:T(e.items,n);break;case 6:C(e.key,n),n.helper("linked");break;case 5:n.helper("interpolate"),n.helper("list");break;case 4:n.helper("interpolate"),n.helper("named")}}function P(e,n={}){const t=function(e,n={}){const t={ast:e,helpers:new Set};return{context:()=>t,helper:e=>(t.helpers.add(e),e)}}(e);t.helper("normalize"),e.body&&C(e.body,t);const r=t.context();e.helpers=Array.from(r.helpers)}function x(e,n){const{helper:t}=e;switch(n.type){case 0:!function(e,n){n.body?x(e,n.body):e.push("null")}(e,n);break;case 1:!function(e,n){const{helper:t,needIndent:r}=e;if(n.cases.length>1){e.push(`${t("plural")}([`),e.indent(r());const c=n.cases.length;for(let t=0;t<c&&(x(e,n.cases[t]),t!==c-1);t++)e.push(", ");e.deindent(r()),e.push("])")}}(e,n);break;case 2:!function(e,n){const{helper:t,needIndent:r}=e;e.push(`${t("normalize")}([`),e.indent(r());const c=n.items.length;for(let t=0;t<c&&(x(e,n.items[t]),t!==c-1);t++)e.push(", ");e.deindent(r()),e.push("])")}(e,n);break;case 6:!function(e,n){const{helper:t}=e;e.push(`${t("linked")}(`),x(e,n.key),n.modifier&&(e.push(", "),x(e,n.modifier)),e.push(")")}(e,n);break;case 8:case 7:e.push(JSON.stringify(n.value),n);break;case 5:e.push(`${t("interpolate")}(${t("list")}(${n.index}))`,n);break;case 4:e.push(`${t("interpolate")}(${t("named")}(${JSON.stringify(n.key)}))`,n);break;case 9:case 3:e.push(JSON.stringify(n.value),n)}}return e.CompileErrorCodes=r,e.ERROR_DOMAIN=k,e.LocationStub={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}},e.baseCompile=function(e,r={}){const c=n({},r),o=N(c).parse(e);return P(o,c),((e,n={})=>{const r=t(n.mode)?n.mode:"normal",c=t(n.filename)?n.filename:"message.intl",o=n.needIndent?n.needIndent:"arrow"!==r,u=e.helpers||[],s=function(e,n){const{filename:t,breakLineCode:r,needIndent:c}=n,o={source:e.loc.source,filename:t,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:r,needIndent:c,indentLevel:0};function u(e,n){o.code+=e}function s(e,n=!0){const t=n?r:"";u(c?t+" ".repeat(e):t)}return{context:()=>o,push:u,indent:function(e=!0){const n=++o.indentLevel;e&&s(n)},deindent:function(e=!0){const n=--o.indentLevel;e&&s(n)},newline:function(){s(o.indentLevel)},helper:e=>`_${e}`,needIndent:()=>o.needIndent}}(e,{mode:r,filename:c,sourceMap:!!n.sourceMap,breakLineCode:null!=n.breakLineCode?n.breakLineCode:"arrow"===r?";":"\n",needIndent:o});s.push("normal"===r?"function __msg__ (ctx) {":"(ctx) => {"),s.indent(o),u.length>0&&(s.push(`const { ${u.map((e=>`${e}: _${e}`)).join(", ")} } = ctx`),s.newline()),s.push("return "),x(s,e),s.deindent(o),s.push("}");const{code:i,map:a}=s.context();return{ast:e,code:i,map:a?a.toJSON():void 0}})(o,c)},e.createCompileError=o,e.createLocation=s,e.createParser=N,e.createPosition=u,e.defaultOnError=function(e){throw e},e.errorMessages=c,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
6
+ var IntlifyMessageCompiler=function(e){"use strict";const t=Object.assign,n=e=>"string"==typeof e,r={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,__EXTEND_POINT__:15},c={[r.EXPECTED_TOKEN]:"Expected token: '{0}'",[r.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[r.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[r.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[r.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[r.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[r.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[r.EMPTY_PLACEHOLDER]:"Empty placeholder",[r.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[r.INVALID_LINKED_FORMAT]:"Invalid linked format",[r.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[r.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[r.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[r.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'"};function o(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}function s(e,t,n){return{line:e,column:t,offset:n}}function u(e,t,n){const r={start:e,end:t};return null!=n&&(r.source=n),r}const a=" ",i="\n",l=String.fromCharCode(8232),f=String.fromCharCode(8233);function d(e){const t=e;let n=0,r=1,c=1,o=0;const s=e=>"\r"===t[e]&&t[e+1]===i,u=e=>t[e]===f,a=e=>t[e]===l,d=e=>s(e)||(e=>t[e]===i)(e)||u(e)||a(e),p=e=>s(e)||u(e)||a(e)?i:t[e];function E(){return o=0,d(n)&&(r++,c=0),s(n)&&n++,n++,c++,t[n]}return{index:()=>n,line:()=>r,column:()=>c,peekOffset:()=>o,charAt:p,currentChar:()=>p(n),currentPeek:()=>p(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 p=void 0;function E(e,t={}){const n=!1!==t.location,r=d(e),c=()=>r.index(),o=()=>s(r.line(),r.column(),r.index()),l=o(),f=c(),E={currentType:14,offset:f,startLoc:l,endLoc:l,lastType:14,lastOffset:f,lastStartLoc:l,lastEndLoc:l,braceNest:0,inLinked:!1,text:""},L=()=>E,{onError:k}=t;function h(e,t,r){e.endLoc=o(),e.currentType=t;const c={type:t};return n&&(c.loc=u(e.startLoc,e.endLoc)),null!=r&&(c.value=r),c}const N=e=>h(e,14);function _(e,t){return e.currentChar()===t?(e.next(),t):(o(),"")}function T(e){let t="";for(;e.currentPeek()===a||e.currentPeek()===i;)t+=e.currentPeek(),e.peek();return t}function C(e){const t=T(e);return e.skipToPeek(),t}function P(e){if(e===p)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function y(e,t){const{currentType:n}=t;if(2!==n)return!1;T(e);const r=function(e){if(e===p)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function x(e){T(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function m(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===a||r===i):o===a?(e.peek(),n(!0,a,c)):o!==i||(e.peek(),n(!0,i,c)):"%"===r||t},r=n();return t&&e.resetPeek(),r}function I(e,t){const n=e.currentChar();return n===p?p:t(n)?(e.next(),n):null}function O(e){return I(e,(e=>{const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}))}function S(e){return I(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57}))}function b(e){return I(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}))}function A(e){let t="",n="";for(;t=S(e);)n+=t;return n}function v(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!m(e))break;t+=n,e.next()}else if(n===a||n===i)if(m(e))t+=n,e.next();else{if(x(e))break;t+=n,e.next()}else t+=n,e.next()}return t}function D(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return U(e,t,4);case"U":return U(e,t,6);default:return o(),""}}function U(e,t,n){_(e,t);let r="";for(let t=0;t<n;t++){const t=b(e);if(!t){o(),e.currentChar();break}r+=t}return`\\${t}${r}`}function g(e){C(e);const t=_(e,"|");return C(e),t}function M(e,t){let n=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&o(),e.next(),n=h(t,2,"{"),C(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&o(),e.next(),n=h(t,3,"}"),t.braceNest--,t.braceNest>0&&C(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&o(),n=R(e,t)||N(t),t.braceNest=0,n;default:let r=!0,c=!0,s=!0;if(x(e))return t.braceNest>0&&o(),n=h(t,1,g(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(5===t.currentType||6===t.currentType||7===t.currentType))return o(),t.braceNest=0,w(e,t);if(r=function(e,t){const{currentType:n}=t;if(2!==n)return!1;T(e);const r=P(e.currentPeek());return e.resetPeek(),r}(e,t))return n=h(t,5,function(e){C(e);let t="",n="";for(;t=O(e);)n+=t;return e.currentChar()===p&&o(),n}(e)),C(e),n;if(c=y(e,t))return n=h(t,6,function(e){C(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${A(e)}`):t+=A(e),e.currentChar()===p&&o(),t}(e)),C(e),n;if(s=function(e,t){const{currentType:n}=t;if(2!==n)return!1;T(e);const r="'"===e.currentPeek();return e.resetPeek(),r}(e,t))return n=h(t,7,function(e){C(e),_(e,"'");let t="",n="";const r=e=>"'"!==e&&e!==i;for(;t=I(e,r);)n+="\\"===t?D(e):t;const c=e.currentChar();return c===i||c===p?(o(),c===i&&(e.next(),_(e,"'")),n):(_(e,"'"),n)}(e)),C(e),n;if(!r&&!c&&!s)return n=h(t,13,function(e){C(e);let t="",n="";const r=e=>"{"!==e&&"}"!==e&&e!==a&&e!==i;for(;t=I(e,r);)n+=t;return n}(e)),o(),n.value,C(e),n}return n}function R(e,t){const{currentType:n}=t;let r=null;const c=e.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||c!==i&&c!==a||o(),c){case"@":return e.next(),r=h(t,8,"@"),t.inLinked=!0,r;case".":return C(e),e.next(),h(t,9,".");case":":return C(e),e.next(),h(t,10,":");default:return x(e)?(r=h(t,1,g(e)),t.braceNest=0,t.inLinked=!1,r):function(e,t){const{currentType:n}=t;if(8!==n)return!1;T(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;T(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,t)?(C(e),R(e,t)):function(e,t){const{currentType:n}=t;if(9!==n)return!1;T(e);const r=P(e.currentPeek());return e.resetPeek(),r}(e,t)?(C(e),h(t,12,function(e){let t="",n="";for(;t=O(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===a||!t)&&(t===i?(e.peek(),r()):P(t))},c=r();return e.resetPeek(),c}(e,t)?(C(e),"{"===c?M(e,t)||r:h(t,11,function(e){const t=(n=!1,r)=>{const c=e.currentChar();return"{"!==c&&"%"!==c&&"@"!==c&&"|"!==c&&c?c===a?r:c===i?(r+=c,e.next(),t(n,r)):(r+=c,e.next(),t(!0,r)):r};return t(!1,"")}(e))):(8===n&&o(),t.braceNest=0,t.inLinked=!1,w(e,t))}}function w(e,t){let n={type:14};if(t.braceNest>0)return M(e,t)||N(t);if(t.inLinked)return R(e,t)||N(t);switch(e.currentChar()){case"{":return M(e,t)||N(t);case"}":return o(),e.next(),h(t,3,"}");case"@":return R(e,t)||N(t);default:if(x(e))return n=h(t,1,g(e)),t.braceNest=0,t.inLinked=!1,n;const{isModulo:r,hasSpace:c}=function(e){const t=T(e),n="%"===e.currentPeek()&&"{"===e.peek();return e.resetPeek(),{isModulo:n,hasSpace:t.length>0}}(e);if(r)return c?h(t,0,v(e)):h(t,4,function(e){C(e);return"%"!==e.currentChar()&&o(),e.next(),"%"}(e));if(m(e))return h(t,0,v(e))}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:s}=E;return E.lastType=e,E.lastOffset=t,E.lastStartLoc=n,E.lastEndLoc=s,E.offset=c(),E.startLoc=o(),r.currentChar()===p?h(E,14):w(r,E)},currentOffset:c,currentPosition:o,context:L}}const L="parser",k=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function h(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 N(e={}){const n=!1!==e.location,{onError:r}=e;function c(e,t,r){const c={type:e,start:t,end:t};return n&&(c.loc={start:r,end:r}),c}function o(e,t,r,c){e.end=t,c&&(e.type=c),n&&e.loc&&(e.loc.end=r)}function s(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 u(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 a(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 i(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:s}=n,u=c(9,r,s);return u.value=t.replace(k,h),e.nextToken(),o(u,e.currentOffset(),e.currentPosition()),u}function l(e){const t=e.context(),n=c(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:s}=n,u=c(8,r,s);return 12!==t.type?(n.lastStartLoc,u.value="",o(u,r,s),{nextConsumeToken:t,node:u}):(null==t.value&&(n.lastStartLoc,_(t)),u.value=t.value||"",o(u,e.currentOffset(),e.currentPosition()),{node:u})}(e);n.modifier=t.node,r=t.nextConsumeToken||e.nextToken()}switch(10!==r.type&&(t.lastStartLoc,_(r)),r=e.nextToken(),2===r.type&&(r=e.nextToken()),r.type){case 11:null==r.value&&(t.lastStartLoc,_(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 5:null==r.value&&(t.lastStartLoc,_(r)),n.key=a(e,r.value||"");break;case 6:null==r.value&&(t.lastStartLoc,_(r)),n.key=u(e,r.value||"");break;case 7:null==r.value&&(t.lastStartLoc,_(r)),n.key=i(e,r.value||"");break;default:t.lastStartLoc;const s=e.context(),l=c(7,s.offset,s.startLoc);return l.value="",o(l,s.offset,s.startLoc),n.key=l,o(n,s.offset,s.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&&(t.lastStartLoc,_(c)),n.items.push(s(e,c.value||""));break;case 6:null==c.value&&(t.lastStartLoc,_(c)),n.items.push(u(e,c.value||""));break;case 5:null==c.value&&(t.lastStartLoc,_(c)),n.items.push(a(e,c.value||""));break;case 7:null==c.value&&(t.lastStartLoc,_(c)),n.items.push(i(e,c.value||""));break;case 8:const o=l(e);n.items.push(o.node),r=o.nextConsumeToken||null}}while(14!==t.currentType&&1!==t.currentType);return o(n,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),n}function d(e){const t=e.context(),{offset:n,startLoc:r}=t,s=f(e);return 14===t.currentType?s:function(e,t,n,r){const s=e.context();let u=0===r.items.length;const a=c(1,t,n);a.cases=[],a.cases.push(r);do{const t=f(e);u||(u=0===t.items.length),a.cases.push(t)}while(14!==s.currentType);return o(a,e.currentOffset(),e.currentPosition()),a}(e,n,r,s)}return{parse:function(r){const s=E(r,t({},e)),u=s.context(),a=c(0,u.offset,u.startLoc);return n&&a.loc&&(a.loc.source=r),a.body=d(s),14!==u.currentType&&(u.lastStartLoc,r[u.offset]),o(a,s.currentOffset(),s.currentPosition()),a}}}function _(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 T(e,t){for(let n=0;n<e.length;n++)C(e[n],t)}function C(e,t){switch(e.type){case 1:T(e.cases,t),t.helper("plural");break;case 2:T(e.items,t);break;case 6:C(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 P(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&&C(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function y(e,t){const{helper:n}=e;switch(t.type){case 0:!function(e,t){t.body?y(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&&(y(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 n=0;n<c&&(y(e,t.items[n]),n!==c-1);n++)e.push(", ");e.deindent(r()),e.push("])")}(e,t);break;case 6:!function(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),y(e,t.key),t.modifier?(e.push(", "),y(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=r,e.ERROR_DOMAIN=L,e.LocationStub={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}},e.baseCompile=function(e,r={}){const c=t({},r),o=N(c).parse(e);return P(o,c),((e,t={})=>{const r=n(t.mode)?t.mode:"normal",c=n(t.filename)?t.filename:"message.intl",o=!!t.sourceMap,s=null!=t.breakLineCode?t.breakLineCode:"arrow"===r?";":"\n",u=t.needIndent?t.needIndent:"arrow"!==r,a=e.helpers||[],i=function(e,t){const{sourceMap:n,filename:r,breakLineCode:c,needIndent:o}=t,s={source:e.loc.source,filename:r,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:c,needIndent:o,indentLevel:0};function u(e,t){s.code+=e}function a(e,t=!0){const n=t?c:"";u(o?n+" ".repeat(e):n)}return{context:()=>s,push:u,indent:function(e=!0){const t=++s.indentLevel;e&&a(t)},deindent:function(e=!0){const t=--s.indentLevel;e&&a(t)},newline:function(){a(s.indentLevel)},helper:e=>`_${e}`,needIndent:()=>s.needIndent}}(e,{mode:r,filename:c,sourceMap:o,breakLineCode:s,needIndent:u});i.push("normal"===r?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(u),a.length>0&&(i.push(`const { ${a.map((e=>`${e}: _${e}`)).join(", ")} } = ctx`),i.newline()),i.push("return "),y(i,e),i.deindent(u),i.push("}");const{code:l,map:f}=i.context();return{ast:e,code:l,map:f?f.toJSON():void 0}})(o,c)},e.createCompileError=o,e.createLocation=u,e.createParser=N,e.createPosition=s,e.defaultOnError=function(e){throw e},e.errorMessages=c,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
package/index.mjs ADDED
@@ -0,0 +1 @@
1
+ export * from './index.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlify/message-compiler",
3
- "version": "9.2.0-beta.9",
3
+ "version": "9.2.0",
4
4
  "description": "@intlify/message-compiler",
5
5
  "keywords": [
6
6
  "compiler",
@@ -25,6 +25,7 @@
25
25
  },
26
26
  "files": [
27
27
  "index.js",
28
+ "index.mjs",
28
29
  "dist"
29
30
  ],
30
31
  "main": "index.js",
@@ -33,11 +34,11 @@
33
34
  "jsdelivr": "dist/message-compiler.global.js",
34
35
  "types": "dist/message-compiler.d.ts",
35
36
  "dependencies": {
36
- "@intlify/shared": "9.2.0-beta.9",
37
+ "@intlify/shared": "9.2.0",
37
38
  "source-map": "0.6.1"
38
39
  },
39
40
  "engines": {
40
- "node": ">= 12"
41
+ "node": ">= 14"
41
42
  },
42
43
  "buildOptions": {
43
44
  "name": "IntlifyMessageCompiler",
@@ -49,6 +50,18 @@
49
50
  ],
50
51
  "enableFullBundleForEsmBrowser": true
51
52
  },
53
+ "exports": {
54
+ ".": {
55
+ "import": {
56
+ "node": "./index.mjs",
57
+ "default": "./dist/message-compiler.esm-bundler.js"
58
+ },
59
+ "require": "./index.js"
60
+ },
61
+ "./dist/*": "./dist/*",
62
+ "./index.mjs": "./index.mjs",
63
+ "./package.json": "./package.json"
64
+ },
52
65
  "publishConfig": {
53
66
  "access": "public"
54
67
  },