@intlify/message-compiler 9.3.0-beta.1 → 9.3.0-beta.11

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.3.0-beta.1
2
+ * message-compiler v9.3.0-beta.11
3
3
  * (c) 2022 kazuya kawaguchi
4
4
  * Released under the MIT License.
5
5
  */
@@ -25,8 +25,8 @@ var IntlifyMessageCompiler = (function (exports) {
25
25
  }
26
26
  const assign = Object.assign;
27
27
  const isString = (val) => typeof val === 'string';
28
- const isObject = (val) => // eslint-disable-line
29
- val !== null && typeof val === 'object';
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ const isObject = (val) => val !== null && typeof val === 'object';
30
30
 
31
31
  const CompileErrorCodes = {
32
32
  // tokenizer error codes
@@ -188,11 +188,11 @@ var IntlifyMessageCompiler = (function (exports) {
188
188
  const _initLoc = currentPosition();
189
189
  const _initOffset = currentOffset();
190
190
  const _context = {
191
- currentType: 14 /* EOF */,
191
+ currentType: 14 /* TokenTypes.EOF */,
192
192
  offset: _initOffset,
193
193
  startLoc: _initLoc,
194
194
  endLoc: _initLoc,
195
- lastType: 14 /* EOF */,
195
+ lastType: 14 /* TokenTypes.EOF */,
196
196
  lastOffset: _initOffset,
197
197
  lastStartLoc: _initLoc,
198
198
  lastEndLoc: _initLoc,
@@ -227,7 +227,7 @@ var IntlifyMessageCompiler = (function (exports) {
227
227
  }
228
228
  return token;
229
229
  }
230
- const getEndToken = (context) => getToken(context, 14 /* EOF */);
230
+ const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);
231
231
  function eat(scnr, ch) {
232
232
  if (scnr.currentChar() === ch) {
233
233
  scnr.next();
@@ -270,7 +270,7 @@ var IntlifyMessageCompiler = (function (exports) {
270
270
  }
271
271
  function isNamedIdentifierStart(scnr, context) {
272
272
  const { currentType } = context;
273
- if (currentType !== 2 /* BraceLeft */) {
273
+ if (currentType !== 2 /* TokenTypes.BraceLeft */) {
274
274
  return false;
275
275
  }
276
276
  peekSpaces(scnr);
@@ -280,7 +280,7 @@ var IntlifyMessageCompiler = (function (exports) {
280
280
  }
281
281
  function isListIdentifierStart(scnr, context) {
282
282
  const { currentType } = context;
283
- if (currentType !== 2 /* BraceLeft */) {
283
+ if (currentType !== 2 /* TokenTypes.BraceLeft */) {
284
284
  return false;
285
285
  }
286
286
  peekSpaces(scnr);
@@ -291,7 +291,7 @@ var IntlifyMessageCompiler = (function (exports) {
291
291
  }
292
292
  function isLiteralStart(scnr, context) {
293
293
  const { currentType } = context;
294
- if (currentType !== 2 /* BraceLeft */) {
294
+ if (currentType !== 2 /* TokenTypes.BraceLeft */) {
295
295
  return false;
296
296
  }
297
297
  peekSpaces(scnr);
@@ -301,17 +301,17 @@ var IntlifyMessageCompiler = (function (exports) {
301
301
  }
302
302
  function isLinkedDotStart(scnr, context) {
303
303
  const { currentType } = context;
304
- if (currentType !== 8 /* LinkedAlias */) {
304
+ if (currentType !== 8 /* TokenTypes.LinkedAlias */) {
305
305
  return false;
306
306
  }
307
307
  peekSpaces(scnr);
308
- const ret = scnr.currentPeek() === "." /* LinkedDot */;
308
+ const ret = scnr.currentPeek() === "." /* TokenChars.LinkedDot */;
309
309
  scnr.resetPeek();
310
310
  return ret;
311
311
  }
312
312
  function isLinkedModifierStart(scnr, context) {
313
313
  const { currentType } = context;
314
- if (currentType !== 9 /* LinkedDot */) {
314
+ if (currentType !== 9 /* TokenTypes.LinkedDot */) {
315
315
  return false;
316
316
  }
317
317
  peekSpaces(scnr);
@@ -321,30 +321,30 @@ var IntlifyMessageCompiler = (function (exports) {
321
321
  }
322
322
  function isLinkedDelimiterStart(scnr, context) {
323
323
  const { currentType } = context;
324
- if (!(currentType === 8 /* LinkedAlias */ ||
325
- currentType === 12 /* LinkedModifier */)) {
324
+ if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||
325
+ currentType === 12 /* TokenTypes.LinkedModifier */)) {
326
326
  return false;
327
327
  }
328
328
  peekSpaces(scnr);
329
- const ret = scnr.currentPeek() === ":" /* LinkedDelimiter */;
329
+ const ret = scnr.currentPeek() === ":" /* TokenChars.LinkedDelimiter */;
330
330
  scnr.resetPeek();
331
331
  return ret;
332
332
  }
333
333
  function isLinkedReferStart(scnr, context) {
334
334
  const { currentType } = context;
335
- if (currentType !== 10 /* LinkedDelimiter */) {
335
+ if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {
336
336
  return false;
337
337
  }
338
338
  const fn = () => {
339
339
  const ch = scnr.currentPeek();
340
- if (ch === "{" /* BraceLeft */) {
340
+ if (ch === "{" /* TokenChars.BraceLeft */) {
341
341
  return isIdentifierStart(scnr.peek());
342
342
  }
343
- else if (ch === "@" /* LinkedAlias */ ||
344
- ch === "%" /* Modulo */ ||
345
- ch === "|" /* Pipe */ ||
346
- ch === ":" /* LinkedDelimiter */ ||
347
- ch === "." /* LinkedDot */ ||
343
+ else if (ch === "@" /* TokenChars.LinkedAlias */ ||
344
+ ch === "%" /* TokenChars.Modulo */ ||
345
+ ch === "|" /* TokenChars.Pipe */ ||
346
+ ch === ":" /* TokenChars.LinkedDelimiter */ ||
347
+ ch === "." /* TokenChars.LinkedDot */ ||
348
348
  ch === CHAR_SP ||
349
349
  !ch) {
350
350
  return false;
@@ -364,14 +364,14 @@ var IntlifyMessageCompiler = (function (exports) {
364
364
  }
365
365
  function isPluralStart(scnr) {
366
366
  peekSpaces(scnr);
367
- const ret = scnr.currentPeek() === "|" /* Pipe */;
367
+ const ret = scnr.currentPeek() === "|" /* TokenChars.Pipe */;
368
368
  scnr.resetPeek();
369
369
  return ret;
370
370
  }
371
371
  function detectModuloStart(scnr) {
372
372
  const spaces = peekSpaces(scnr);
373
- const ret = scnr.currentPeek() === "%" /* Modulo */ &&
374
- scnr.peek() === "{" /* BraceLeft */;
373
+ const ret = scnr.currentPeek() === "%" /* TokenChars.Modulo */ &&
374
+ scnr.peek() === "{" /* TokenChars.BraceLeft */;
375
375
  scnr.resetPeek();
376
376
  return {
377
377
  isModulo: ret,
@@ -381,18 +381,18 @@ var IntlifyMessageCompiler = (function (exports) {
381
381
  function isTextStart(scnr, reset = true) {
382
382
  const fn = (hasSpace = false, prev = '', detectModulo = false) => {
383
383
  const ch = scnr.currentPeek();
384
- if (ch === "{" /* BraceLeft */) {
385
- return prev === "%" /* Modulo */ ? false : hasSpace;
384
+ if (ch === "{" /* TokenChars.BraceLeft */) {
385
+ return prev === "%" /* TokenChars.Modulo */ ? false : hasSpace;
386
386
  }
387
- else if (ch === "@" /* LinkedAlias */ || !ch) {
388
- return prev === "%" /* Modulo */ ? true : hasSpace;
387
+ else if (ch === "@" /* TokenChars.LinkedAlias */ || !ch) {
388
+ return prev === "%" /* TokenChars.Modulo */ ? true : hasSpace;
389
389
  }
390
- else if (ch === "%" /* Modulo */) {
390
+ else if (ch === "%" /* TokenChars.Modulo */) {
391
391
  scnr.peek();
392
- return fn(hasSpace, "%" /* Modulo */, true);
392
+ return fn(hasSpace, "%" /* TokenChars.Modulo */, true);
393
393
  }
394
- else if (ch === "|" /* Pipe */) {
395
- return prev === "%" /* Modulo */ || detectModulo
394
+ else if (ch === "|" /* TokenChars.Pipe */) {
395
+ return prev === "%" /* TokenChars.Modulo */ || detectModulo
396
396
  ? true
397
397
  : !(prev === CHAR_SP || prev === CHAR_LF);
398
398
  }
@@ -462,24 +462,24 @@ var IntlifyMessageCompiler = (function (exports) {
462
462
  function readModulo(scnr) {
463
463
  skipSpaces(scnr);
464
464
  const ch = scnr.currentChar();
465
- if (ch !== "%" /* Modulo */) {
465
+ if (ch !== "%" /* TokenChars.Modulo */) {
466
466
  emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
467
467
  }
468
468
  scnr.next();
469
- return "%" /* Modulo */;
469
+ return "%" /* TokenChars.Modulo */;
470
470
  }
471
471
  function readText(scnr) {
472
472
  let buf = '';
473
473
  while (true) {
474
474
  const ch = scnr.currentChar();
475
- if (ch === "{" /* BraceLeft */ ||
476
- ch === "}" /* BraceRight */ ||
477
- ch === "@" /* LinkedAlias */ ||
478
- ch === "|" /* Pipe */ ||
475
+ if (ch === "{" /* TokenChars.BraceLeft */ ||
476
+ ch === "}" /* TokenChars.BraceRight */ ||
477
+ ch === "@" /* TokenChars.LinkedAlias */ ||
478
+ ch === "|" /* TokenChars.Pipe */ ||
479
479
  !ch) {
480
480
  break;
481
481
  }
482
- else if (ch === "%" /* Modulo */) {
482
+ else if (ch === "%" /* TokenChars.Modulo */) {
483
483
  if (isTextStart(scnr)) {
484
484
  buf += ch;
485
485
  scnr.next();
@@ -595,8 +595,8 @@ var IntlifyMessageCompiler = (function (exports) {
595
595
  skipSpaces(scnr);
596
596
  let ch = '';
597
597
  let identifiers = '';
598
- const closure = (ch) => ch !== "{" /* BraceLeft */ &&
599
- ch !== "}" /* BraceRight */ &&
598
+ const closure = (ch) => ch !== "{" /* TokenChars.BraceLeft */ &&
599
+ ch !== "}" /* TokenChars.BraceRight */ &&
600
600
  ch !== CHAR_SP &&
601
601
  ch !== CHAR_LF;
602
602
  while ((ch = takeChar(scnr, closure))) {
@@ -615,10 +615,10 @@ var IntlifyMessageCompiler = (function (exports) {
615
615
  function readLinkedRefer(scnr) {
616
616
  const fn = (detect = false, buf) => {
617
617
  const ch = scnr.currentChar();
618
- if (ch === "{" /* BraceLeft */ ||
619
- ch === "%" /* Modulo */ ||
620
- ch === "@" /* LinkedAlias */ ||
621
- ch === "|" /* Pipe */ ||
618
+ if (ch === "{" /* TokenChars.BraceLeft */ ||
619
+ ch === "%" /* TokenChars.Modulo */ ||
620
+ ch === "@" /* TokenChars.LinkedAlias */ ||
621
+ ch === "|" /* TokenChars.Pipe */ ||
622
622
  !ch) {
623
623
  return buf;
624
624
  }
@@ -640,7 +640,7 @@ var IntlifyMessageCompiler = (function (exports) {
640
640
  }
641
641
  function readPlural(scnr) {
642
642
  skipSpaces(scnr);
643
- const plural = eat(scnr, "|" /* Pipe */);
643
+ const plural = eat(scnr, "|" /* TokenChars.Pipe */);
644
644
  skipSpaces(scnr);
645
645
  return plural;
646
646
  }
@@ -649,29 +649,29 @@ var IntlifyMessageCompiler = (function (exports) {
649
649
  let token = null;
650
650
  const ch = scnr.currentChar();
651
651
  switch (ch) {
652
- case "{" /* BraceLeft */:
652
+ case "{" /* TokenChars.BraceLeft */:
653
653
  if (context.braceNest >= 1) {
654
654
  emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);
655
655
  }
656
656
  scnr.next();
657
- token = getToken(context, 2 /* BraceLeft */, "{" /* BraceLeft */);
657
+ token = getToken(context, 2 /* TokenTypes.BraceLeft */, "{" /* TokenChars.BraceLeft */);
658
658
  skipSpaces(scnr);
659
659
  context.braceNest++;
660
660
  return token;
661
- case "}" /* BraceRight */:
661
+ case "}" /* TokenChars.BraceRight */:
662
662
  if (context.braceNest > 0 &&
663
- context.currentType === 2 /* BraceLeft */) {
663
+ context.currentType === 2 /* TokenTypes.BraceLeft */) {
664
664
  emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);
665
665
  }
666
666
  scnr.next();
667
- token = getToken(context, 3 /* BraceRight */, "}" /* BraceRight */);
667
+ token = getToken(context, 3 /* TokenTypes.BraceRight */, "}" /* TokenChars.BraceRight */);
668
668
  context.braceNest--;
669
669
  context.braceNest > 0 && skipSpaces(scnr);
670
670
  if (context.inLinked && context.braceNest === 0) {
671
671
  context.inLinked = false;
672
672
  }
673
673
  return token;
674
- case "@" /* LinkedAlias */:
674
+ case "@" /* TokenChars.LinkedAlias */:
675
675
  if (context.braceNest > 0) {
676
676
  emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
677
677
  }
@@ -686,38 +686,38 @@ var IntlifyMessageCompiler = (function (exports) {
686
686
  if (context.braceNest > 0) {
687
687
  emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
688
688
  }
689
- token = getToken(context, 1 /* Pipe */, readPlural(scnr));
689
+ token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));
690
690
  // reset
691
691
  context.braceNest = 0;
692
692
  context.inLinked = false;
693
693
  return token;
694
694
  }
695
695
  if (context.braceNest > 0 &&
696
- (context.currentType === 5 /* Named */ ||
697
- context.currentType === 6 /* List */ ||
698
- context.currentType === 7 /* Literal */)) {
696
+ (context.currentType === 5 /* TokenTypes.Named */ ||
697
+ context.currentType === 6 /* TokenTypes.List */ ||
698
+ context.currentType === 7 /* TokenTypes.Literal */)) {
699
699
  emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
700
700
  context.braceNest = 0;
701
701
  return readToken(scnr, context);
702
702
  }
703
703
  if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {
704
- token = getToken(context, 5 /* Named */, readNamedIdentifier(scnr));
704
+ token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));
705
705
  skipSpaces(scnr);
706
706
  return token;
707
707
  }
708
708
  if ((validListIdentifier = isListIdentifierStart(scnr, context))) {
709
- token = getToken(context, 6 /* List */, readListIdentifier(scnr));
709
+ token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));
710
710
  skipSpaces(scnr);
711
711
  return token;
712
712
  }
713
713
  if ((validLiteral = isLiteralStart(scnr, context))) {
714
- token = getToken(context, 7 /* Literal */, readLiteral(scnr));
714
+ token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));
715
715
  skipSpaces(scnr);
716
716
  return token;
717
717
  }
718
718
  if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {
719
719
  // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...
720
- token = getToken(context, 13 /* InvalidPlace */, readInvalidIdentifier(scnr));
720
+ token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));
721
721
  emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);
722
722
  skipSpaces(scnr);
723
723
  return token;
@@ -731,30 +731,30 @@ var IntlifyMessageCompiler = (function (exports) {
731
731
  const { currentType } = context;
732
732
  let token = null;
733
733
  const ch = scnr.currentChar();
734
- if ((currentType === 8 /* LinkedAlias */ ||
735
- currentType === 9 /* LinkedDot */ ||
736
- currentType === 12 /* LinkedModifier */ ||
737
- currentType === 10 /* LinkedDelimiter */) &&
734
+ if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||
735
+ currentType === 9 /* TokenTypes.LinkedDot */ ||
736
+ currentType === 12 /* TokenTypes.LinkedModifier */ ||
737
+ currentType === 10 /* TokenTypes.LinkedDelimiter */) &&
738
738
  (ch === CHAR_LF || ch === CHAR_SP)) {
739
739
  emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);
740
740
  }
741
741
  switch (ch) {
742
- case "@" /* LinkedAlias */:
742
+ case "@" /* TokenChars.LinkedAlias */:
743
743
  scnr.next();
744
- token = getToken(context, 8 /* LinkedAlias */, "@" /* LinkedAlias */);
744
+ token = getToken(context, 8 /* TokenTypes.LinkedAlias */, "@" /* TokenChars.LinkedAlias */);
745
745
  context.inLinked = true;
746
746
  return token;
747
- case "." /* LinkedDot */:
747
+ case "." /* TokenChars.LinkedDot */:
748
748
  skipSpaces(scnr);
749
749
  scnr.next();
750
- return getToken(context, 9 /* LinkedDot */, "." /* LinkedDot */);
751
- case ":" /* LinkedDelimiter */:
750
+ return getToken(context, 9 /* TokenTypes.LinkedDot */, "." /* TokenChars.LinkedDot */);
751
+ case ":" /* TokenChars.LinkedDelimiter */:
752
752
  skipSpaces(scnr);
753
753
  scnr.next();
754
- return getToken(context, 10 /* LinkedDelimiter */, ":" /* LinkedDelimiter */);
754
+ return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, ":" /* TokenChars.LinkedDelimiter */);
755
755
  default:
756
756
  if (isPluralStart(scnr)) {
757
- token = getToken(context, 1 /* Pipe */, readPlural(scnr));
757
+ token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));
758
758
  // reset
759
759
  context.braceNest = 0;
760
760
  context.inLinked = false;
@@ -767,19 +767,19 @@ var IntlifyMessageCompiler = (function (exports) {
767
767
  }
768
768
  if (isLinkedModifierStart(scnr, context)) {
769
769
  skipSpaces(scnr);
770
- return getToken(context, 12 /* LinkedModifier */, readLinkedModifier(scnr));
770
+ return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));
771
771
  }
772
772
  if (isLinkedReferStart(scnr, context)) {
773
773
  skipSpaces(scnr);
774
- if (ch === "{" /* BraceLeft */) {
774
+ if (ch === "{" /* TokenChars.BraceLeft */) {
775
775
  // scan the placeholder
776
776
  return readTokenInPlaceholder(scnr, context) || token;
777
777
  }
778
778
  else {
779
- return getToken(context, 11 /* LinkedKey */, readLinkedRefer(scnr));
779
+ return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));
780
780
  }
781
781
  }
782
- if (currentType === 8 /* LinkedAlias */) {
782
+ if (currentType === 8 /* TokenTypes.LinkedAlias */) {
783
783
  emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);
784
784
  }
785
785
  context.braceNest = 0;
@@ -789,7 +789,7 @@ var IntlifyMessageCompiler = (function (exports) {
789
789
  }
790
790
  // TODO: We need refactoring of token parsing ...
791
791
  function readToken(scnr, context) {
792
- let token = { type: 14 /* EOF */ };
792
+ let token = { type: 14 /* TokenTypes.EOF */ };
793
793
  if (context.braceNest > 0) {
794
794
  return readTokenInPlaceholder(scnr, context) || getEndToken(context);
795
795
  }
@@ -798,17 +798,17 @@ var IntlifyMessageCompiler = (function (exports) {
798
798
  }
799
799
  const ch = scnr.currentChar();
800
800
  switch (ch) {
801
- case "{" /* BraceLeft */:
801
+ case "{" /* TokenChars.BraceLeft */:
802
802
  return readTokenInPlaceholder(scnr, context) || getEndToken(context);
803
- case "}" /* BraceRight */:
803
+ case "}" /* TokenChars.BraceRight */:
804
804
  emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);
805
805
  scnr.next();
806
- return getToken(context, 3 /* BraceRight */, "}" /* BraceRight */);
807
- case "@" /* LinkedAlias */:
806
+ return getToken(context, 3 /* TokenTypes.BraceRight */, "}" /* TokenChars.BraceRight */);
807
+ case "@" /* TokenChars.LinkedAlias */:
808
808
  return readTokenInLinked(scnr, context) || getEndToken(context);
809
809
  default:
810
810
  if (isPluralStart(scnr)) {
811
- token = getToken(context, 1 /* Pipe */, readPlural(scnr));
811
+ token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));
812
812
  // reset
813
813
  context.braceNest = 0;
814
814
  context.inLinked = false;
@@ -817,11 +817,11 @@ var IntlifyMessageCompiler = (function (exports) {
817
817
  const { isModulo, hasSpace } = detectModuloStart(scnr);
818
818
  if (isModulo) {
819
819
  return hasSpace
820
- ? getToken(context, 0 /* Text */, readText(scnr))
821
- : getToken(context, 4 /* Modulo */, readModulo(scnr));
820
+ ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))
821
+ : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));
822
822
  }
823
823
  if (isTextStart(scnr)) {
824
- return getToken(context, 0 /* Text */, readText(scnr));
824
+ return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));
825
825
  }
826
826
  break;
827
827
  }
@@ -836,7 +836,7 @@ var IntlifyMessageCompiler = (function (exports) {
836
836
  _context.offset = currentOffset();
837
837
  _context.startLoc = currentPosition();
838
838
  if (_scnr.currentChar() === EOF) {
839
- return getToken(_context, 14 /* EOF */);
839
+ return getToken(_context, 14 /* TokenTypes.EOF */);
840
840
  }
841
841
  return readToken(_scnr, _context);
842
842
  }
@@ -906,7 +906,7 @@ var IntlifyMessageCompiler = (function (exports) {
906
906
  }
907
907
  function parseText(tokenizer, value) {
908
908
  const context = tokenizer.context();
909
- const node = startNode(3 /* Text */, context.offset, context.startLoc);
909
+ const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);
910
910
  node.value = value;
911
911
  endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
912
912
  return node;
@@ -914,7 +914,7 @@ var IntlifyMessageCompiler = (function (exports) {
914
914
  function parseList(tokenizer, index) {
915
915
  const context = tokenizer.context();
916
916
  const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc
917
- const node = startNode(5 /* List */, offset, loc);
917
+ const node = startNode(5 /* NodeTypes.List */, offset, loc);
918
918
  node.index = parseInt(index, 10);
919
919
  tokenizer.nextToken(); // skip brach right
920
920
  endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
@@ -923,7 +923,7 @@ var IntlifyMessageCompiler = (function (exports) {
923
923
  function parseNamed(tokenizer, key) {
924
924
  const context = tokenizer.context();
925
925
  const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc
926
- const node = startNode(4 /* Named */, offset, loc);
926
+ const node = startNode(4 /* NodeTypes.Named */, offset, loc);
927
927
  node.key = key;
928
928
  tokenizer.nextToken(); // skip brach right
929
929
  endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
@@ -932,7 +932,7 @@ var IntlifyMessageCompiler = (function (exports) {
932
932
  function parseLiteral(tokenizer, value) {
933
933
  const context = tokenizer.context();
934
934
  const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc
935
- const node = startNode(9 /* Literal */, offset, loc);
935
+ const node = startNode(9 /* NodeTypes.Literal */, offset, loc);
936
936
  node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);
937
937
  tokenizer.nextToken(); // skip brach right
938
938
  endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
@@ -942,8 +942,8 @@ var IntlifyMessageCompiler = (function (exports) {
942
942
  const token = tokenizer.nextToken();
943
943
  const context = tokenizer.context();
944
944
  const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc
945
- const node = startNode(8 /* LinkedModifier */, offset, loc);
946
- if (token.type !== 12 /* LinkedModifier */) {
945
+ const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);
946
+ if (token.type !== 12 /* TokenTypes.LinkedModifier */) {
947
947
  // empty modifier
948
948
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);
949
949
  node.value = '';
@@ -965,49 +965,49 @@ var IntlifyMessageCompiler = (function (exports) {
965
965
  }
966
966
  function parseLinkedKey(tokenizer, value) {
967
967
  const context = tokenizer.context();
968
- const node = startNode(7 /* LinkedKey */, context.offset, context.startLoc);
968
+ const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);
969
969
  node.value = value;
970
970
  endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
971
971
  return node;
972
972
  }
973
973
  function parseLinked(tokenizer) {
974
974
  const context = tokenizer.context();
975
- const linkedNode = startNode(6 /* Linked */, context.offset, context.startLoc);
975
+ const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);
976
976
  let token = tokenizer.nextToken();
977
- if (token.type === 9 /* LinkedDot */) {
977
+ if (token.type === 9 /* TokenTypes.LinkedDot */) {
978
978
  const parsed = parseLinkedModifier(tokenizer);
979
979
  linkedNode.modifier = parsed.node;
980
980
  token = parsed.nextConsumeToken || tokenizer.nextToken();
981
981
  }
982
982
  // asset check token
983
- if (token.type !== 10 /* LinkedDelimiter */) {
983
+ if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {
984
984
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
985
985
  }
986
986
  token = tokenizer.nextToken();
987
987
  // skip brace left
988
- if (token.type === 2 /* BraceLeft */) {
988
+ if (token.type === 2 /* TokenTypes.BraceLeft */) {
989
989
  token = tokenizer.nextToken();
990
990
  }
991
991
  switch (token.type) {
992
- case 11 /* LinkedKey */:
992
+ case 11 /* TokenTypes.LinkedKey */:
993
993
  if (token.value == null) {
994
994
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
995
995
  }
996
996
  linkedNode.key = parseLinkedKey(tokenizer, token.value || '');
997
997
  break;
998
- case 5 /* Named */:
998
+ case 5 /* TokenTypes.Named */:
999
999
  if (token.value == null) {
1000
1000
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1001
1001
  }
1002
1002
  linkedNode.key = parseNamed(tokenizer, token.value || '');
1003
1003
  break;
1004
- case 6 /* List */:
1004
+ case 6 /* TokenTypes.List */:
1005
1005
  if (token.value == null) {
1006
1006
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1007
1007
  }
1008
1008
  linkedNode.key = parseList(tokenizer, token.value || '');
1009
1009
  break;
1010
- case 7 /* Literal */:
1010
+ case 7 /* TokenTypes.Literal */:
1011
1011
  if (token.value == null) {
1012
1012
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1013
1013
  }
@@ -1017,7 +1017,7 @@ var IntlifyMessageCompiler = (function (exports) {
1017
1017
  // empty key
1018
1018
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);
1019
1019
  const nextContext = tokenizer.context();
1020
- const emptyLinkedKeyNode = startNode(7 /* LinkedKey */, nextContext.offset, nextContext.startLoc);
1020
+ const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);
1021
1021
  emptyLinkedKeyNode.value = '';
1022
1022
  endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);
1023
1023
  linkedNode.key = emptyLinkedKeyNode;
@@ -1034,56 +1034,56 @@ var IntlifyMessageCompiler = (function (exports) {
1034
1034
  }
1035
1035
  function parseMessage(tokenizer) {
1036
1036
  const context = tokenizer.context();
1037
- const startOffset = context.currentType === 1 /* Pipe */
1037
+ const startOffset = context.currentType === 1 /* TokenTypes.Pipe */
1038
1038
  ? tokenizer.currentOffset()
1039
1039
  : context.offset;
1040
- const startLoc = context.currentType === 1 /* Pipe */
1040
+ const startLoc = context.currentType === 1 /* TokenTypes.Pipe */
1041
1041
  ? context.endLoc
1042
1042
  : context.startLoc;
1043
- const node = startNode(2 /* Message */, startOffset, startLoc);
1043
+ const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);
1044
1044
  node.items = [];
1045
1045
  let nextToken = null;
1046
1046
  do {
1047
1047
  const token = nextToken || tokenizer.nextToken();
1048
1048
  nextToken = null;
1049
1049
  switch (token.type) {
1050
- case 0 /* Text */:
1050
+ case 0 /* TokenTypes.Text */:
1051
1051
  if (token.value == null) {
1052
1052
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1053
1053
  }
1054
1054
  node.items.push(parseText(tokenizer, token.value || ''));
1055
1055
  break;
1056
- case 6 /* List */:
1056
+ case 6 /* TokenTypes.List */:
1057
1057
  if (token.value == null) {
1058
1058
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1059
1059
  }
1060
1060
  node.items.push(parseList(tokenizer, token.value || ''));
1061
1061
  break;
1062
- case 5 /* Named */:
1062
+ case 5 /* TokenTypes.Named */:
1063
1063
  if (token.value == null) {
1064
1064
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1065
1065
  }
1066
1066
  node.items.push(parseNamed(tokenizer, token.value || ''));
1067
1067
  break;
1068
- case 7 /* Literal */:
1068
+ case 7 /* TokenTypes.Literal */:
1069
1069
  if (token.value == null) {
1070
1070
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
1071
1071
  }
1072
1072
  node.items.push(parseLiteral(tokenizer, token.value || ''));
1073
1073
  break;
1074
- case 8 /* LinkedAlias */:
1074
+ case 8 /* TokenTypes.LinkedAlias */:
1075
1075
  const parsed = parseLinked(tokenizer);
1076
1076
  node.items.push(parsed.node);
1077
1077
  nextToken = parsed.nextConsumeToken || null;
1078
1078
  break;
1079
1079
  }
1080
- } while (context.currentType !== 14 /* EOF */ &&
1081
- context.currentType !== 1 /* Pipe */);
1080
+ } while (context.currentType !== 14 /* TokenTypes.EOF */ &&
1081
+ context.currentType !== 1 /* TokenTypes.Pipe */);
1082
1082
  // adjust message node loc
1083
- const endOffset = context.currentType === 1 /* Pipe */
1083
+ const endOffset = context.currentType === 1 /* TokenTypes.Pipe */
1084
1084
  ? context.lastOffset
1085
1085
  : tokenizer.currentOffset();
1086
- const endLoc = context.currentType === 1 /* Pipe */
1086
+ const endLoc = context.currentType === 1 /* TokenTypes.Pipe */
1087
1087
  ? context.lastEndLoc
1088
1088
  : tokenizer.currentPosition();
1089
1089
  endNode(node, endOffset, endLoc);
@@ -1092,7 +1092,7 @@ var IntlifyMessageCompiler = (function (exports) {
1092
1092
  function parsePlural(tokenizer, offset, loc, msgNode) {
1093
1093
  const context = tokenizer.context();
1094
1094
  let hasEmptyMessage = msgNode.items.length === 0;
1095
- const node = startNode(1 /* Plural */, offset, loc);
1095
+ const node = startNode(1 /* NodeTypes.Plural */, offset, loc);
1096
1096
  node.cases = [];
1097
1097
  node.cases.push(msgNode);
1098
1098
  do {
@@ -1101,7 +1101,7 @@ var IntlifyMessageCompiler = (function (exports) {
1101
1101
  hasEmptyMessage = msg.items.length === 0;
1102
1102
  }
1103
1103
  node.cases.push(msg);
1104
- } while (context.currentType !== 14 /* EOF */);
1104
+ } while (context.currentType !== 14 /* TokenTypes.EOF */);
1105
1105
  if (hasEmptyMessage) {
1106
1106
  emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);
1107
1107
  }
@@ -1112,7 +1112,7 @@ var IntlifyMessageCompiler = (function (exports) {
1112
1112
  const context = tokenizer.context();
1113
1113
  const { offset, startLoc } = context;
1114
1114
  const msgNode = parseMessage(tokenizer);
1115
- if (context.currentType === 14 /* EOF */) {
1115
+ if (context.currentType === 14 /* TokenTypes.EOF */) {
1116
1116
  return msgNode;
1117
1117
  }
1118
1118
  else {
@@ -1122,13 +1122,13 @@ var IntlifyMessageCompiler = (function (exports) {
1122
1122
  function parse(source) {
1123
1123
  const tokenizer = createTokenizer(source, assign({}, options));
1124
1124
  const context = tokenizer.context();
1125
- const node = startNode(0 /* Resource */, context.offset, context.startLoc);
1125
+ const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);
1126
1126
  if (location && node.loc) {
1127
1127
  node.loc.source = source;
1128
1128
  }
1129
1129
  node.body = parseResource(tokenizer);
1130
1130
  // assert whether achieved to EOF
1131
- if (context.currentType !== 14 /* EOF */) {
1131
+ if (context.currentType !== 14 /* TokenTypes.EOF */) {
1132
1132
  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');
1133
1133
  }
1134
1134
  endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
@@ -1137,7 +1137,7 @@ var IntlifyMessageCompiler = (function (exports) {
1137
1137
  return { parse };
1138
1138
  }
1139
1139
  function getTokenCaption(token) {
1140
- if (token.type === 14 /* EOF */) {
1140
+ if (token.type === 14 /* TokenTypes.EOF */) {
1141
1141
  return 'EOF';
1142
1142
  }
1143
1143
  const name = (token.value || '').replace(/\r?\n/gu, '\\n');
@@ -1165,26 +1165,26 @@ var IntlifyMessageCompiler = (function (exports) {
1165
1165
  function traverseNode(node, transformer) {
1166
1166
  // TODO: if we need pre-hook of transform, should be implemented to here
1167
1167
  switch (node.type) {
1168
- case 1 /* Plural */:
1168
+ case 1 /* NodeTypes.Plural */:
1169
1169
  traverseNodes(node.cases, transformer);
1170
- transformer.helper("plural" /* PLURAL */);
1170
+ transformer.helper("plural" /* HelperNameMap.PLURAL */);
1171
1171
  break;
1172
- case 2 /* Message */:
1172
+ case 2 /* NodeTypes.Message */:
1173
1173
  traverseNodes(node.items, transformer);
1174
1174
  break;
1175
- case 6 /* Linked */:
1175
+ case 6 /* NodeTypes.Linked */:
1176
1176
  const linked = node;
1177
1177
  traverseNode(linked.key, transformer);
1178
- transformer.helper("linked" /* LINKED */);
1179
- transformer.helper("type" /* TYPE */);
1178
+ transformer.helper("linked" /* HelperNameMap.LINKED */);
1179
+ transformer.helper("type" /* HelperNameMap.TYPE */);
1180
1180
  break;
1181
- case 5 /* List */:
1182
- transformer.helper("interpolate" /* INTERPOLATE */);
1183
- transformer.helper("list" /* LIST */);
1181
+ case 5 /* NodeTypes.List */:
1182
+ transformer.helper("interpolate" /* HelperNameMap.INTERPOLATE */);
1183
+ transformer.helper("list" /* HelperNameMap.LIST */);
1184
1184
  break;
1185
- case 4 /* Named */:
1186
- transformer.helper("interpolate" /* INTERPOLATE */);
1187
- transformer.helper("named" /* NAMED */);
1185
+ case 4 /* NodeTypes.Named */:
1186
+ transformer.helper("interpolate" /* HelperNameMap.INTERPOLATE */);
1187
+ transformer.helper("named" /* HelperNameMap.NAMED */);
1188
1188
  break;
1189
1189
  }
1190
1190
  // TODO: if we need post-hook of transform, should be implemented to here
@@ -1193,7 +1193,7 @@ var IntlifyMessageCompiler = (function (exports) {
1193
1193
  function transform(ast, options = {} // eslint-disable-line
1194
1194
  ) {
1195
1195
  const transformer = createTransformer(ast);
1196
- transformer.helper("normalize" /* NORMALIZE */);
1196
+ transformer.helper("normalize" /* HelperNameMap.NORMALIZE */);
1197
1197
  // traverse
1198
1198
  ast.body && traverseNode(ast.body, transformer);
1199
1199
  // set meta information
@@ -1248,7 +1248,7 @@ var IntlifyMessageCompiler = (function (exports) {
1248
1248
  }
1249
1249
  function generateLinkedNode(generator, node) {
1250
1250
  const { helper } = generator;
1251
- generator.push(`${helper("linked" /* LINKED */)}(`);
1251
+ generator.push(`${helper("linked" /* HelperNameMap.LINKED */)}(`);
1252
1252
  generateNode(generator, node.key);
1253
1253
  if (node.modifier) {
1254
1254
  generator.push(`, `);
@@ -1262,7 +1262,7 @@ var IntlifyMessageCompiler = (function (exports) {
1262
1262
  }
1263
1263
  function generateMessageNode(generator, node) {
1264
1264
  const { helper, needIndent } = generator;
1265
- generator.push(`${helper("normalize" /* NORMALIZE */)}([`);
1265
+ generator.push(`${helper("normalize" /* HelperNameMap.NORMALIZE */)}([`);
1266
1266
  generator.indent(needIndent());
1267
1267
  const length = node.items.length;
1268
1268
  for (let i = 0; i < length; i++) {
@@ -1278,7 +1278,7 @@ var IntlifyMessageCompiler = (function (exports) {
1278
1278
  function generatePluralNode(generator, node) {
1279
1279
  const { helper, needIndent } = generator;
1280
1280
  if (node.cases.length > 1) {
1281
- generator.push(`${helper("plural" /* PLURAL */)}([`);
1281
+ generator.push(`${helper("plural" /* HelperNameMap.PLURAL */)}([`);
1282
1282
  generator.indent(needIndent());
1283
1283
  const length = node.cases.length;
1284
1284
  for (let i = 0; i < length; i++) {
@@ -1303,34 +1303,34 @@ var IntlifyMessageCompiler = (function (exports) {
1303
1303
  function generateNode(generator, node) {
1304
1304
  const { helper } = generator;
1305
1305
  switch (node.type) {
1306
- case 0 /* Resource */:
1306
+ case 0 /* NodeTypes.Resource */:
1307
1307
  generateResource(generator, node);
1308
1308
  break;
1309
- case 1 /* Plural */:
1309
+ case 1 /* NodeTypes.Plural */:
1310
1310
  generatePluralNode(generator, node);
1311
1311
  break;
1312
- case 2 /* Message */:
1312
+ case 2 /* NodeTypes.Message */:
1313
1313
  generateMessageNode(generator, node);
1314
1314
  break;
1315
- case 6 /* Linked */:
1315
+ case 6 /* NodeTypes.Linked */:
1316
1316
  generateLinkedNode(generator, node);
1317
1317
  break;
1318
- case 8 /* LinkedModifier */:
1318
+ case 8 /* NodeTypes.LinkedModifier */:
1319
1319
  generator.push(JSON.stringify(node.value), node);
1320
1320
  break;
1321
- case 7 /* LinkedKey */:
1321
+ case 7 /* NodeTypes.LinkedKey */:
1322
1322
  generator.push(JSON.stringify(node.value), node);
1323
1323
  break;
1324
- case 5 /* List */:
1325
- generator.push(`${helper("interpolate" /* INTERPOLATE */)}(${helper("list" /* LIST */)}(${node.index}))`, node);
1324
+ case 5 /* NodeTypes.List */:
1325
+ generator.push(`${helper("interpolate" /* HelperNameMap.INTERPOLATE */)}(${helper("list" /* HelperNameMap.LIST */)}(${node.index}))`, node);
1326
1326
  break;
1327
- case 4 /* Named */:
1328
- generator.push(`${helper("interpolate" /* INTERPOLATE */)}(${helper("named" /* NAMED */)}(${JSON.stringify(node.key)}))`, node);
1327
+ case 4 /* NodeTypes.Named */:
1328
+ generator.push(`${helper("interpolate" /* HelperNameMap.INTERPOLATE */)}(${helper("named" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);
1329
1329
  break;
1330
- case 9 /* Literal */:
1330
+ case 9 /* NodeTypes.Literal */:
1331
1331
  generator.push(JSON.stringify(node.value), node);
1332
1332
  break;
1333
- case 3 /* Text */:
1333
+ case 3 /* NodeTypes.Text */:
1334
1334
  generator.push(JSON.stringify(node.value), node);
1335
1335
  break;
1336
1336
  default: