@intlify/message-compiler 9.13.1 → 10.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * message-compiler v9.13.1
2
+ * message-compiler v10.0.0-alpha.2
3
3
  * (c) 2024 kazuya kawaguchi
4
4
  * Released under the MIT License.
5
5
  */
@@ -46,23 +46,6 @@ var IntlifyMessageCompiler = (function (exports) {
46
46
  return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');
47
47
  }
48
48
 
49
- const CompileWarnCodes = {
50
- USE_MODULO_SYNTAX: 1,
51
- __EXTEND_POINT__: 2
52
- };
53
- /** @internal */
54
- const warnMessages = {
55
- [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`
56
- };
57
- function createCompileWarn(code, loc, ...args) {
58
- const msg = format(warnMessages[code] || '', ...(args || [])) ;
59
- const message = { message: String(msg), code };
60
- if (loc) {
61
- message.location = loc;
62
- }
63
- return message;
64
- }
65
-
66
49
  const CompileErrorCodes = {
67
50
  // tokenizer error codes
68
51
  EXPECTED_TOKEN: 1,
@@ -187,7 +170,6 @@ var IntlifyMessageCompiler = (function (exports) {
187
170
  }
188
171
  function skipToPeek() {
189
172
  const target = _index + _peekOffset;
190
- // eslint-disable-next-line no-unmodified-loop-condition
191
173
  while (target !== _index) {
192
174
  next();
193
175
  }
@@ -221,11 +203,11 @@ var IntlifyMessageCompiler = (function (exports) {
221
203
  const _initLoc = currentPosition();
222
204
  const _initOffset = currentOffset();
223
205
  const _context = {
224
- currentType: 14 /* TokenTypes.EOF */,
206
+ currentType: 13 /* TokenTypes.EOF */,
225
207
  offset: _initOffset,
226
208
  startLoc: _initLoc,
227
209
  endLoc: _initLoc,
228
- lastType: 14 /* TokenTypes.EOF */,
210
+ lastType: 13 /* TokenTypes.EOF */,
229
211
  lastOffset: _initOffset,
230
212
  lastStartLoc: _initLoc,
231
213
  lastEndLoc: _initLoc,
@@ -260,7 +242,7 @@ var IntlifyMessageCompiler = (function (exports) {
260
242
  }
261
243
  return token;
262
244
  }
263
- const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);
245
+ const getEndToken = (context) => getToken(context, 13 /* TokenTypes.EOF */);
264
246
  function eat(scnr, ch) {
265
247
  if (scnr.currentChar() === ch) {
266
248
  scnr.next();
@@ -334,7 +316,7 @@ var IntlifyMessageCompiler = (function (exports) {
334
316
  }
335
317
  function isLinkedDotStart(scnr, context) {
336
318
  const { currentType } = context;
337
- if (currentType !== 8 /* TokenTypes.LinkedAlias */) {
319
+ if (currentType !== 7 /* TokenTypes.LinkedAlias */) {
338
320
  return false;
339
321
  }
340
322
  peekSpaces(scnr);
@@ -344,7 +326,7 @@ var IntlifyMessageCompiler = (function (exports) {
344
326
  }
345
327
  function isLinkedModifierStart(scnr, context) {
346
328
  const { currentType } = context;
347
- if (currentType !== 9 /* TokenTypes.LinkedDot */) {
329
+ if (currentType !== 8 /* TokenTypes.LinkedDot */) {
348
330
  return false;
349
331
  }
350
332
  peekSpaces(scnr);
@@ -354,8 +336,8 @@ var IntlifyMessageCompiler = (function (exports) {
354
336
  }
355
337
  function isLinkedDelimiterStart(scnr, context) {
356
338
  const { currentType } = context;
357
- if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||
358
- currentType === 12 /* TokenTypes.LinkedModifier */)) {
339
+ if (!(currentType === 7 /* TokenTypes.LinkedAlias */ ||
340
+ currentType === 11 /* TokenTypes.LinkedModifier */)) {
359
341
  return false;
360
342
  }
361
343
  peekSpaces(scnr);
@@ -365,7 +347,7 @@ var IntlifyMessageCompiler = (function (exports) {
365
347
  }
366
348
  function isLinkedReferStart(scnr, context) {
367
349
  const { currentType } = context;
368
- if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {
350
+ if (currentType !== 9 /* TokenTypes.LinkedDelimiter */) {
369
351
  return false;
370
352
  }
371
353
  const fn = () => {
@@ -374,7 +356,6 @@ var IntlifyMessageCompiler = (function (exports) {
374
356
  return isIdentifierStart(scnr.peek());
375
357
  }
376
358
  else if (ch === "@" /* TokenChars.LinkedAlias */ ||
377
- ch === "%" /* TokenChars.Modulo */ ||
378
359
  ch === "|" /* TokenChars.Pipe */ ||
379
360
  ch === ":" /* TokenChars.LinkedDelimiter */ ||
380
361
  ch === "." /* TokenChars.LinkedDot */ ||
@@ -401,41 +382,25 @@ var IntlifyMessageCompiler = (function (exports) {
401
382
  scnr.resetPeek();
402
383
  return ret;
403
384
  }
404
- function detectModuloStart(scnr) {
405
- const spaces = peekSpaces(scnr);
406
- const ret = scnr.currentPeek() === "%" /* TokenChars.Modulo */ &&
407
- scnr.peek() === "{" /* TokenChars.BraceLeft */;
408
- scnr.resetPeek();
409
- return {
410
- isModulo: ret,
411
- hasSpace: spaces.length > 0
412
- };
413
- }
414
385
  function isTextStart(scnr, reset = true) {
415
- const fn = (hasSpace = false, prev = '', detectModulo = false) => {
386
+ const fn = (hasSpace = false, prev = '') => {
416
387
  const ch = scnr.currentPeek();
417
388
  if (ch === "{" /* TokenChars.BraceLeft */) {
418
- return prev === "%" /* TokenChars.Modulo */ ? false : hasSpace;
389
+ return hasSpace;
419
390
  }
420
391
  else if (ch === "@" /* TokenChars.LinkedAlias */ || !ch) {
421
- return prev === "%" /* TokenChars.Modulo */ ? true : hasSpace;
422
- }
423
- else if (ch === "%" /* TokenChars.Modulo */) {
424
- scnr.peek();
425
- return fn(hasSpace, "%" /* TokenChars.Modulo */, true);
392
+ return hasSpace;
426
393
  }
427
394
  else if (ch === "|" /* TokenChars.Pipe */) {
428
- return prev === "%" /* TokenChars.Modulo */ || detectModulo
429
- ? true
430
- : !(prev === CHAR_SP || prev === CHAR_LF);
395
+ return !(prev === CHAR_SP || prev === CHAR_LF);
431
396
  }
432
397
  else if (ch === CHAR_SP) {
433
398
  scnr.peek();
434
- return fn(true, CHAR_SP, detectModulo);
399
+ return fn(true, CHAR_SP);
435
400
  }
436
401
  else if (ch === CHAR_LF) {
437
402
  scnr.peek();
438
- return fn(true, CHAR_LF, detectModulo);
403
+ return fn(true, CHAR_LF);
439
404
  }
440
405
  else {
441
406
  return true;
@@ -505,18 +470,8 @@ var IntlifyMessageCompiler = (function (exports) {
505
470
  }
506
471
  return num;
507
472
  }
508
- function readModulo(scnr) {
509
- skipSpaces(scnr);
510
- const ch = scnr.currentChar();
511
- if (ch !== "%" /* TokenChars.Modulo */) {
512
- emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
513
- }
514
- scnr.next();
515
- return "%" /* TokenChars.Modulo */;
516
- }
517
473
  function readText(scnr) {
518
474
  let buf = '';
519
- // eslint-disable-next-line no-constant-condition
520
475
  while (true) {
521
476
  const ch = scnr.currentChar();
522
477
  if (ch === "{" /* TokenChars.BraceLeft */ ||
@@ -526,15 +481,6 @@ var IntlifyMessageCompiler = (function (exports) {
526
481
  !ch) {
527
482
  break;
528
483
  }
529
- else if (ch === "%" /* TokenChars.Modulo */) {
530
- if (isTextStart(scnr)) {
531
- buf += ch;
532
- scnr.next();
533
- }
534
- else {
535
- break;
536
- }
537
- }
538
484
  else if (ch === CHAR_SP || ch === CHAR_LF) {
539
485
  if (isTextStart(scnr)) {
540
486
  buf += ch;
@@ -670,7 +616,6 @@ var IntlifyMessageCompiler = (function (exports) {
670
616
  const fn = (buf) => {
671
617
  const ch = scnr.currentChar();
672
618
  if (ch === "{" /* TokenChars.BraceLeft */ ||
673
- ch === "%" /* TokenChars.Modulo */ ||
674
619
  ch === "@" /* TokenChars.LinkedAlias */ ||
675
620
  ch === "|" /* TokenChars.Pipe */ ||
676
621
  ch === "(" /* TokenChars.ParenLeft */ ||
@@ -749,31 +694,31 @@ var IntlifyMessageCompiler = (function (exports) {
749
694
  return token;
750
695
  }
751
696
  if (context.braceNest > 0 &&
752
- (context.currentType === 5 /* TokenTypes.Named */ ||
753
- context.currentType === 6 /* TokenTypes.List */ ||
754
- context.currentType === 7 /* TokenTypes.Literal */)) {
697
+ (context.currentType === 4 /* TokenTypes.Named */ ||
698
+ context.currentType === 5 /* TokenTypes.List */ ||
699
+ context.currentType === 6 /* TokenTypes.Literal */)) {
755
700
  emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
756
701
  context.braceNest = 0;
757
702
  return readToken(scnr, context);
758
703
  }
759
704
  if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {
760
- token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));
705
+ token = getToken(context, 4 /* TokenTypes.Named */, readNamedIdentifier(scnr));
761
706
  skipSpaces(scnr);
762
707
  return token;
763
708
  }
764
709
  if ((validListIdentifier = isListIdentifierStart(scnr, context))) {
765
- token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));
710
+ token = getToken(context, 5 /* TokenTypes.List */, readListIdentifier(scnr));
766
711
  skipSpaces(scnr);
767
712
  return token;
768
713
  }
769
714
  if ((validLiteral = isLiteralStart(scnr, context))) {
770
- token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));
715
+ token = getToken(context, 6 /* TokenTypes.Literal */, readLiteral(scnr));
771
716
  skipSpaces(scnr);
772
717
  return token;
773
718
  }
774
719
  if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {
775
720
  // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...
776
- token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));
721
+ token = getToken(context, 12 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));
777
722
  emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);
778
723
  skipSpaces(scnr);
779
724
  return token;
@@ -788,27 +733,27 @@ var IntlifyMessageCompiler = (function (exports) {
788
733
  const { currentType } = context;
789
734
  let token = null;
790
735
  const ch = scnr.currentChar();
791
- if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||
792
- currentType === 9 /* TokenTypes.LinkedDot */ ||
793
- currentType === 12 /* TokenTypes.LinkedModifier */ ||
794
- currentType === 10 /* TokenTypes.LinkedDelimiter */) &&
736
+ if ((currentType === 7 /* TokenTypes.LinkedAlias */ ||
737
+ currentType === 8 /* TokenTypes.LinkedDot */ ||
738
+ currentType === 11 /* TokenTypes.LinkedModifier */ ||
739
+ currentType === 9 /* TokenTypes.LinkedDelimiter */) &&
795
740
  (ch === CHAR_LF || ch === CHAR_SP)) {
796
741
  emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);
797
742
  }
798
743
  switch (ch) {
799
744
  case "@" /* TokenChars.LinkedAlias */:
800
745
  scnr.next();
801
- token = getToken(context, 8 /* TokenTypes.LinkedAlias */, "@" /* TokenChars.LinkedAlias */);
746
+ token = getToken(context, 7 /* TokenTypes.LinkedAlias */, "@" /* TokenChars.LinkedAlias */);
802
747
  context.inLinked = true;
803
748
  return token;
804
749
  case "." /* TokenChars.LinkedDot */:
805
750
  skipSpaces(scnr);
806
751
  scnr.next();
807
- return getToken(context, 9 /* TokenTypes.LinkedDot */, "." /* TokenChars.LinkedDot */);
752
+ return getToken(context, 8 /* TokenTypes.LinkedDot */, "." /* TokenChars.LinkedDot */);
808
753
  case ":" /* TokenChars.LinkedDelimiter */:
809
754
  skipSpaces(scnr);
810
755
  scnr.next();
811
- return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, ":" /* TokenChars.LinkedDelimiter */);
756
+ return getToken(context, 9 /* TokenTypes.LinkedDelimiter */, ":" /* TokenChars.LinkedDelimiter */);
812
757
  default:
813
758
  if (isPluralStart(scnr)) {
814
759
  token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));
@@ -824,7 +769,7 @@ var IntlifyMessageCompiler = (function (exports) {
824
769
  }
825
770
  if (isLinkedModifierStart(scnr, context)) {
826
771
  skipSpaces(scnr);
827
- return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));
772
+ return getToken(context, 11 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));
828
773
  }
829
774
  if (isLinkedReferStart(scnr, context)) {
830
775
  skipSpaces(scnr);
@@ -833,10 +778,10 @@ var IntlifyMessageCompiler = (function (exports) {
833
778
  return readTokenInPlaceholder(scnr, context) || token;
834
779
  }
835
780
  else {
836
- return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));
781
+ return getToken(context, 10 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));
837
782
  }
838
783
  }
839
- if (currentType === 8 /* TokenTypes.LinkedAlias */) {
784
+ if (currentType === 7 /* TokenTypes.LinkedAlias */) {
840
785
  emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);
841
786
  }
842
787
  context.braceNest = 0;
@@ -846,7 +791,7 @@ var IntlifyMessageCompiler = (function (exports) {
846
791
  }
847
792
  // TODO: We need refactoring of token parsing ...
848
793
  function readToken(scnr, context) {
849
- let token = { type: 14 /* TokenTypes.EOF */ };
794
+ let token = { type: 13 /* TokenTypes.EOF */ };
850
795
  if (context.braceNest > 0) {
851
796
  return readTokenInPlaceholder(scnr, context) || getEndToken(context);
852
797
  }
@@ -871,12 +816,6 @@ var IntlifyMessageCompiler = (function (exports) {
871
816
  context.inLinked = false;
872
817
  return token;
873
818
  }
874
- const { isModulo, hasSpace } = detectModuloStart(scnr);
875
- if (isModulo) {
876
- return hasSpace
877
- ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))
878
- : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));
879
- }
880
819
  if (isTextStart(scnr)) {
881
820
  return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));
882
821
  }
@@ -894,7 +833,7 @@ var IntlifyMessageCompiler = (function (exports) {
894
833
  _context.offset = currentOffset();
895
834
  _context.startLoc = currentPosition();
896
835
  if (_scnr.currentChar() === EOF) {
897
- return getToken(_context, 14 /* TokenTypes.EOF */);
836
+ return getToken(_context, 13 /* TokenTypes.EOF */);
898
837
  }
899
838
  return readToken(_scnr, _context);
900
839
  }
@@ -930,7 +869,7 @@ var IntlifyMessageCompiler = (function (exports) {
930
869
  }
931
870
  function createParser(options = {}) {
932
871
  const location = options.location !== false;
933
- const { onError, onWarn } = options;
872
+ const { onError } = options;
934
873
  function emitError(tokenzer, code, start, offset, ...args) {
935
874
  const end = tokenzer.currentPosition();
936
875
  end.offset += offset;
@@ -944,15 +883,6 @@ var IntlifyMessageCompiler = (function (exports) {
944
883
  onError(err);
945
884
  }
946
885
  }
947
- function emitWarn(tokenzer, code, start, offset, ...args) {
948
- const end = tokenzer.currentPosition();
949
- end.offset += offset;
950
- end.column += offset;
951
- if (onWarn) {
952
- const loc = location ? createLocation(start, end) : null;
953
- onWarn(createCompileWarn(code, loc, args));
954
- }
955
- }
956
886
  function startNode(type, offset, loc) {
957
887
  const node = { type };
958
888
  if (location) {
@@ -989,14 +919,11 @@ var IntlifyMessageCompiler = (function (exports) {
989
919
  endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
990
920
  return node;
991
921
  }
992
- function parseNamed(tokenizer, key, modulo) {
922
+ function parseNamed(tokenizer, key) {
993
923
  const context = tokenizer.context();
994
924
  const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc
995
925
  const node = startNode(4 /* NodeTypes.Named */, offset, loc);
996
926
  node.key = key;
997
- if (modulo === true) {
998
- node.modulo = true;
999
- }
1000
927
  tokenizer.nextToken(); // skip brach right
1001
928
  endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
1002
929
  return node;
@@ -1015,7 +942,7 @@ var IntlifyMessageCompiler = (function (exports) {
1015
942
  const context = tokenizer.context();
1016
943
  const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc
1017
944
  const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);
1018
- if (token.type !== 12 /* TokenTypes.LinkedModifier */) {
945
+ if (token.type !== 11 /* TokenTypes.LinkedModifier */) {
1019
946
  // empty modifier
1020
947
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);
1021
948
  node.value = '';
@@ -1046,13 +973,13 @@ var IntlifyMessageCompiler = (function (exports) {
1046
973
  const context = tokenizer.context();
1047
974
  const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);
1048
975
  let token = tokenizer.nextToken();
1049
- if (token.type === 9 /* TokenTypes.LinkedDot */) {
976
+ if (token.type === 8 /* TokenTypes.LinkedDot */) {
1050
977
  const parsed = parseLinkedModifier(tokenizer);
1051
978
  linkedNode.modifier = parsed.node;
1052
979
  token = parsed.nextConsumeToken || tokenizer.nextToken();
1053
980
  }
1054
981
  // asset check token
1055
- if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {
982
+ if (token.type !== 9 /* TokenTypes.LinkedDelimiter */) {
1056
983
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1057
984
  }
1058
985
  token = tokenizer.nextToken();
@@ -1061,25 +988,25 @@ var IntlifyMessageCompiler = (function (exports) {
1061
988
  token = tokenizer.nextToken();
1062
989
  }
1063
990
  switch (token.type) {
1064
- case 11 /* TokenTypes.LinkedKey */:
991
+ case 10 /* TokenTypes.LinkedKey */:
1065
992
  if (token.value == null) {
1066
993
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1067
994
  }
1068
995
  linkedNode.key = parseLinkedKey(tokenizer, token.value || '');
1069
996
  break;
1070
- case 5 /* TokenTypes.Named */:
997
+ case 4 /* TokenTypes.Named */:
1071
998
  if (token.value == null) {
1072
999
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1073
1000
  }
1074
1001
  linkedNode.key = parseNamed(tokenizer, token.value || '');
1075
1002
  break;
1076
- case 6 /* TokenTypes.List */:
1003
+ case 5 /* TokenTypes.List */:
1077
1004
  if (token.value == null) {
1078
1005
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1079
1006
  }
1080
1007
  linkedNode.key = parseList(tokenizer, token.value || '');
1081
1008
  break;
1082
- case 7 /* TokenTypes.Literal */:
1009
+ case 6 /* TokenTypes.Literal */:
1083
1010
  if (token.value == null) {
1084
1011
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1085
1012
  }
@@ -1116,7 +1043,6 @@ var IntlifyMessageCompiler = (function (exports) {
1116
1043
  const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);
1117
1044
  node.items = [];
1118
1045
  let nextToken = null;
1119
- let modulo = null;
1120
1046
  do {
1121
1047
  const token = nextToken || tokenizer.nextToken();
1122
1048
  nextToken = null;
@@ -1127,39 +1053,32 @@ var IntlifyMessageCompiler = (function (exports) {
1127
1053
  }
1128
1054
  node.items.push(parseText(tokenizer, token.value || ''));
1129
1055
  break;
1130
- case 6 /* TokenTypes.List */:
1056
+ case 5 /* TokenTypes.List */:
1131
1057
  if (token.value == null) {
1132
1058
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1133
1059
  }
1134
1060
  node.items.push(parseList(tokenizer, token.value || ''));
1135
1061
  break;
1136
- case 4 /* TokenTypes.Modulo */:
1137
- modulo = true;
1138
- break;
1139
- case 5 /* TokenTypes.Named */:
1062
+ case 4 /* TokenTypes.Named */:
1140
1063
  if (token.value == null) {
1141
1064
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1142
1065
  }
1143
- node.items.push(parseNamed(tokenizer, token.value || '', !!modulo));
1144
- if (modulo) {
1145
- emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));
1146
- modulo = null;
1147
- }
1066
+ node.items.push(parseNamed(tokenizer, token.value || ''));
1148
1067
  break;
1149
- case 7 /* TokenTypes.Literal */:
1068
+ case 6 /* TokenTypes.Literal */:
1150
1069
  if (token.value == null) {
1151
1070
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1152
1071
  }
1153
1072
  node.items.push(parseLiteral(tokenizer, token.value || ''));
1154
1073
  break;
1155
- case 8 /* TokenTypes.LinkedAlias */: {
1074
+ case 7 /* TokenTypes.LinkedAlias */: {
1156
1075
  const parsed = parseLinked(tokenizer);
1157
1076
  node.items.push(parsed.node);
1158
1077
  nextToken = parsed.nextConsumeToken || null;
1159
1078
  break;
1160
1079
  }
1161
1080
  }
1162
- } while (context.currentType !== 14 /* TokenTypes.EOF */ &&
1081
+ } while (context.currentType !== 13 /* TokenTypes.EOF */ &&
1163
1082
  context.currentType !== 1 /* TokenTypes.Pipe */);
1164
1083
  // adjust message node loc
1165
1084
  const endOffset = context.currentType === 1 /* TokenTypes.Pipe */
@@ -1183,7 +1102,7 @@ var IntlifyMessageCompiler = (function (exports) {
1183
1102
  hasEmptyMessage = msg.items.length === 0;
1184
1103
  }
1185
1104
  node.cases.push(msg);
1186
- } while (context.currentType !== 14 /* TokenTypes.EOF */);
1105
+ } while (context.currentType !== 13 /* TokenTypes.EOF */);
1187
1106
  if (hasEmptyMessage) {
1188
1107
  emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);
1189
1108
  }
@@ -1194,7 +1113,7 @@ var IntlifyMessageCompiler = (function (exports) {
1194
1113
  const context = tokenizer.context();
1195
1114
  const { offset, startLoc } = context;
1196
1115
  const msgNode = parseMessage(tokenizer);
1197
- if (context.currentType === 14 /* TokenTypes.EOF */) {
1116
+ if (context.currentType === 13 /* TokenTypes.EOF */) {
1198
1117
  return msgNode;
1199
1118
  }
1200
1119
  else {
@@ -1213,7 +1132,7 @@ var IntlifyMessageCompiler = (function (exports) {
1213
1132
  node.cacheKey = options.onCacheKey(source);
1214
1133
  }
1215
1134
  // assert whether achieved to EOF
1216
- if (context.currentType !== 14 /* TokenTypes.EOF */) {
1135
+ if (context.currentType !== 13 /* TokenTypes.EOF */) {
1217
1136
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');
1218
1137
  }
1219
1138
  endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
@@ -1222,7 +1141,7 @@ var IntlifyMessageCompiler = (function (exports) {
1222
1141
  return { parse };
1223
1142
  }
1224
1143
  function getTokenCaption(token) {
1225
- if (token.type === 14 /* TokenTypes.EOF */) {
1144
+ if (token.type === 13 /* TokenTypes.EOF */) {
1226
1145
  return 'EOF';
1227
1146
  }
1228
1147
  const name = (token.value || '').replace(/\r?\n/gu, '\\n');
@@ -1560,8 +1479,7 @@ var IntlifyMessageCompiler = (function (exports) {
1560
1479
  }
1561
1480
  }
1562
1481
  // generate code from AST
1563
- const generate = (ast, options = {} // eslint-disable-line
1564
- ) => {
1482
+ const generate = (ast, options = {}) => {
1565
1483
  const mode = isString(options.mode) ? options.mode : 'normal';
1566
1484
  const filename = isString(options.filename)
1567
1485
  ? options.filename
@@ -1626,19 +1544,16 @@ var IntlifyMessageCompiler = (function (exports) {
1626
1544
  }
1627
1545
 
1628
1546
  exports.CompileErrorCodes = CompileErrorCodes;
1629
- exports.CompileWarnCodes = CompileWarnCodes;
1630
1547
  exports.ERROR_DOMAIN = ERROR_DOMAIN$2;
1631
1548
  exports.LOCATION_STUB = LOCATION_STUB;
1632
1549
  exports.baseCompile = baseCompile;
1633
1550
  exports.createCompileError = createCompileError;
1634
- exports.createCompileWarn = createCompileWarn;
1635
1551
  exports.createLocation = createLocation;
1636
1552
  exports.createParser = createParser;
1637
1553
  exports.createPosition = createPosition;
1638
1554
  exports.defaultOnError = defaultOnError;
1639
1555
  exports.detectHtmlTag = detectHtmlTag;
1640
1556
  exports.errorMessages = errorMessages;
1641
- exports.warnMessages = warnMessages;
1642
1557
 
1643
1558
  return exports;
1644
1559
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * message-compiler v9.13.1
2
+ * message-compiler v10.0.0-alpha.2
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="'";function A(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 A(e,t){return e.currentChar()===t?(e.next(),t):(i.EXPECTED_TOKEN,u(),"")}function I(e){let t="";for(;e.currentPeek()===d||e.currentPeek()===N;)t+=e.currentPeek(),e.peek();return t}function h(e){const t=I(e);return e.skipToPeek(),t}function S(e){if(e===T)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function P(e,t){const{currentType:n}=t;if(2!==n)return!1;I(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 O(e){I(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function D(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 y(e,t){const n=e.currentChar();return n===T?T: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 U(e){return y(e,m)}function b(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 y(e,b)}function v(e){const t=e.charCodeAt(0);return t>=48&&t<=57}function R(e){return y(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 y(e,M)}function X(e){let t="",n="";for(;t=R(e);)n+=t;return n}function Y(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!D(e))break;t+=n,e.next()}else if(n===d||n===N)if(D(e))t+=n,e.next();else{if(O(e))break;t+=n,e.next()}else t+=n,e.next()}return t}function K(e){return e!==k&&e!==N}function w(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return H(e,t,4);case"U":return H(e,t,6);default:return i.UNKNOWN_ESCAPE_SEQUENCE,u(),""}}function H(e,t,n){A(e,t);let r="";for(let c=0;c<n;c++){const t=g(e);if(!t){i.INVALID_UNICODE_ESCAPE_SEQUENCE,u(),e.currentChar();break}r+=t}return`\\${t}${r}`}function G(e){return"{"!==e&&"}"!==e&&e!==d&&e!==N}function $(e){h(e);const t=A(e,"|");return h(e),t}function B(e,t){let n=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&(i.NOT_ALLOW_NEST_PLACEHOLDER,u()),e.next(),n=_(t,2,"{"),h(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&&h(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&(i.UNTERMINATED_CLOSING_BRACE,u()),n=V(e,t)||p(t),t.braceNest=0,n;default:{let r=!0,c=!0,o=!0;if(O(e))return t.braceNest>0&&(i.UNTERMINATED_CLOSING_BRACE,u()),n=_(t,1,$(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,F(e,t);if(r=function(e,t){const{currentType:n}=t;if(2!==n)return!1;I(e);const r=S(e.currentPeek());return e.resetPeek(),r}(e,t))return n=_(t,5,function(e){h(e);let t="",n="";for(;t=x(e);)n+=t;return e.currentChar()===T&&(i.UNTERMINATED_CLOSING_BRACE,u()),n}(e)),h(e),n;if(c=P(e,t))return n=_(t,6,function(e){h(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${X(e)}`):t+=X(e),e.currentChar()===T&&(i.UNTERMINATED_CLOSING_BRACE,u()),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()===k;return e.resetPeek(),r}(e,t))return n=_(t,7,function(e){h(e),A(e,"'");let t="",n="";for(;t=y(e,K);)n+="\\"===t?w(e):t;const r=e.currentChar();return r===N||r===T?(i.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,u(),r===N&&(e.next(),A(e,"'")),n):(A(e,"'"),n)}(e)),h(e),n;if(!r&&!c&&!o)return n=_(t,13,function(e){h(e);let t="",n="";for(;t=y(e,G);)n+=t;return n}(e)),i.INVALID_TOKEN_IN_PLACEHOLDER,u(),n.value,h(e),n;break}}return n}function V(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 h(e),e.next(),_(t,9,".");case":":return h(e),e.next(),_(t,10,":");default:return O(e)?(r=_(t,1,$(e)),t.braceNest=0,t.inLinked=!1,r):function(e,t){const{currentType:n}=t;if(8!==n)return!1;I(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;I(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,t)?(h(e),V(e,t)):function(e,t){const{currentType:n}=t;if(9!==n)return!1;I(e);const r=S(e.currentPeek());return e.resetPeek(),r}(e,t)?(h(e),_(t,12,function(e){let t="",n="";for(;t=U(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?S(e.peek()):!("@"===t||"%"===t||"|"===t||":"===t||"."===t||t===d||!t)&&(t===N?(e.peek(),r()):D(e,!1))},c=r();return e.resetPeek(),c}(e,t)?(h(e),"{"===c?B(e,t)||r:_(t,11,function(e){const t=n=>{const r=e.currentChar();return"{"!==r&&"%"!==r&&"@"!==r&&"|"!==r&&"("!==r&&")"!==r&&r?r===d?n:(n+=r,e.next(),t(n)):n};return t("")}(e))):(8===n&&(i.INVALID_LINKED_FORMAT,u()),t.braceNest=0,t.inLinked=!1,F(e,t))}}function F(e,t){let n={type:14};if(t.braceNest>0)return B(e,t)||p(t);if(t.inLinked)return V(e,t)||p(t);switch(e.currentChar()){case"{":return B(e,t)||p(t);case"}":return i.UNBALANCED_CLOSING_BRACE,u(),e.next(),_(t,3,"}");case"@":return V(e,t)||p(t);default:{if(O(e))return n=_(t,1,$(e)),t.braceNest=0,t.inLinked=!1,n;const{isModulo:r,hasSpace:c}=function(e){const t=I(e),n="%"===e.currentPeek()&&"{"===e.peek();return e.resetPeek(),{isModulo:n,hasSpace:t.length>0}}(e);if(r)return c?_(t,0,Y(e)):_(t,4,function(e){h(e);const t=e.currentChar();return"%"!==t&&(i.EXPECTED_TOKEN,u()),e.next(),"%"}(e));if(D(e))return _(t,0,Y(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):F(o,E)},currentOffset:s,currentPosition:u,context:f}}const I="parser",h=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function S(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 P(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(h,S),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,O(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,O(r)),r=e.nextToken(),2===r.type&&(r=e.nextToken()),r.type){case 11:null==r.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(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,O(r)),n.key=E(e,r.value||"");break;case 6:null==r.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(r)),n.key=l(e,r.value||"");break;case 7:null==r.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(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,O(o)),n.items.push(a(e,o.value||""));break;case 6:null==o.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(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,O(o)),n.items.push(E(e,o.value||"",!!c)),c&&(s.USE_MODULO_SYNTAX,t.lastStartLoc,O(o),c=null);break;case 7:null==o.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(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=A(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 O(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 D(e,t){for(let n=0;n<e.length;n++)y(e[n],t)}function y(e,t){switch(e.type){case 1:D(e.cases,t),t.helper("plural");break;case 2:D(e.items,t);break;case 6:y(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 m(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&&y(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function U(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 b(e){switch(e.t=e.type,e.type){case 0:{const t=e;b(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++)b(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++)b(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;b(t.key),t.k=t.key,delete t.key,t.modifier&&(b(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 x(e,t){const{helper:n}=e;switch(t.type){case 0:!function(e,t){t.body?x(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&&(x(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&&(x(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")}(`),x(e,t.key),t.modifier?(e.push(", "),x(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=I,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=P(n).parse(e);return s?(a&&function(e){const t=e.body;2===t.type?U(t):t.cases.forEach((e=>U(e)))}(i),u&&b(i),{ast:i,code:""}):(m(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 "),x(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=P,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}({});