@intlify/message-compiler 9.3.0-beta.10 → 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.
- package/dist/message-compiler.cjs +152 -152
- package/dist/message-compiler.esm-browser.js +148 -148
- package/dist/message-compiler.esm-browser.prod.js +1 -1
- package/dist/message-compiler.global.js +148 -148
- package/dist/message-compiler.global.prod.js +1 -1
- package/dist/message-compiler.mjs +146 -146
- package/dist/message-compiler.prod.cjs +152 -152
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* message-compiler v9.3.0-beta.
|
|
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
|
-
|
|
29
|
-
|
|
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:
|