xmlui 0.12.19 → 0.12.21
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/lib/{index-WVT6bIgM.js → index-CznbWBUF.js} +3224 -4066
- package/dist/lib/index.css +1 -1
- package/dist/lib/{initMock-r2IRBsLf.js → initMock-Dj__hABf.js} +2 -2
- package/dist/lib/{parser-DpwXEUNb.js → parser-zOoMLvLx.js} +120 -139
- package/dist/lib/testing.d.ts +18 -19
- package/dist/lib/testing.js +2 -2
- package/dist/lib/{xmlui-parser-Cs8kB0VK.js → xmlui-parser-CtU8O3Av.js} +43 -19
- package/dist/lib/xmlui-parser.d.ts +23 -19
- package/dist/lib/xmlui-parser.js +2 -2
- package/dist/lib/{xmlui-serializer-3MPLSsOp.js → xmlui-serializer-C-Iuczzr.js} +9 -8
- package/dist/lib/xmlui.d.ts +130 -125
- package/dist/lib/xmlui.js +38 -36
- package/dist/metadata/TextBox-B-GWiq0J.cjs +1 -0
- package/dist/metadata/{TextBox-CwicjBJI.js → TextBox-DHSTy0g0.js} +3407 -4256
- package/dist/metadata/behaviors.cjs +1 -1
- package/dist/metadata/behaviors.js +1 -1
- package/dist/metadata/{initMock-BMq6JN4I.js → initMock-SQIcDMzP.js} +1 -1
- package/dist/metadata/{initMock-BKBkbEgr.cjs → initMock-wSFvfKcr.cjs} +1 -1
- package/dist/metadata/metadata-utils.cjs +1 -1
- package/dist/metadata/metadata-utils.js +1 -1
- package/dist/metadata/transform-BOf-UbgP.cjs +1 -0
- package/dist/metadata/{transform-D0SWbm8g.js → transform-fGDqiHwH.js} +120 -139
- package/dist/metadata/xmlui-metadata.cjs +1 -1
- package/dist/metadata/xmlui-metadata.js +12 -8
- package/dist/metadata/xmlui.css +2 -2
- package/dist/nodejs/bin/index.mjs +63 -79
- package/dist/nodejs/index.cjs +63 -79
- package/dist/nodejs/index.mjs +63 -79
- package/dist/nodejs/server.cjs +1886 -1053
- package/dist/nodejs/server.mjs +1886 -1053
- package/dist/nodejs/vite-xmlui-plugin.cjs +63 -79
- package/dist/nodejs/vite-xmlui-plugin.mjs +63 -79
- package/dist/standalone/xmlui-standalone.es.d.ts +192 -179
- package/dist/standalone/xmlui-standalone.umd.js +11 -11
- package/package.json +1 -1
- package/dist/metadata/TextBox-C-4gnBpw.cjs +0 -1
- package/dist/metadata/transform-CkTQ-Bfe.cjs +0 -1
|
@@ -2424,23 +2424,23 @@ let TokenType = /* @__PURE__ */ function(TokenType) {
|
|
|
2424
2424
|
TokenType[TokenType["SignedShiftRight"] = 55] = "SignedShiftRight";
|
|
2425
2425
|
TokenType[TokenType["Dot"] = 56] = "Dot";
|
|
2426
2426
|
TokenType[TokenType["Spread"] = 57] = "Spread";
|
|
2427
|
-
TokenType[TokenType["
|
|
2428
|
-
TokenType[TokenType["
|
|
2429
|
-
TokenType[TokenType["
|
|
2430
|
-
TokenType[TokenType["
|
|
2431
|
-
TokenType[TokenType["
|
|
2432
|
-
TokenType[TokenType["
|
|
2433
|
-
TokenType[TokenType["
|
|
2434
|
-
TokenType[TokenType["
|
|
2435
|
-
TokenType[TokenType["
|
|
2436
|
-
TokenType[TokenType["
|
|
2437
|
-
TokenType[TokenType["
|
|
2438
|
-
TokenType[TokenType["
|
|
2439
|
-
TokenType[TokenType["
|
|
2440
|
-
TokenType[TokenType["
|
|
2441
|
-
TokenType[TokenType["
|
|
2442
|
-
TokenType[TokenType["
|
|
2443
|
-
TokenType[TokenType["
|
|
2427
|
+
TokenType[TokenType["Backtick"] = 58] = "Backtick";
|
|
2428
|
+
TokenType[TokenType["DollarLBrace"] = 59] = "DollarLBrace";
|
|
2429
|
+
TokenType[TokenType["Arrow"] = 60] = "Arrow";
|
|
2430
|
+
TokenType[TokenType["DecimalLiteral"] = 61] = "DecimalLiteral";
|
|
2431
|
+
TokenType[TokenType["HexadecimalLiteral"] = 62] = "HexadecimalLiteral";
|
|
2432
|
+
TokenType[TokenType["BinaryLiteral"] = 63] = "BinaryLiteral";
|
|
2433
|
+
TokenType[TokenType["RealLiteral"] = 64] = "RealLiteral";
|
|
2434
|
+
TokenType[TokenType["StringLiteral"] = 65] = "StringLiteral";
|
|
2435
|
+
TokenType[TokenType["Infinity"] = 66] = "Infinity";
|
|
2436
|
+
TokenType[TokenType["NaN"] = 67] = "NaN";
|
|
2437
|
+
TokenType[TokenType["True"] = 68] = "True";
|
|
2438
|
+
TokenType[TokenType["False"] = 69] = "False";
|
|
2439
|
+
TokenType[TokenType["Typeof"] = 70] = "Typeof";
|
|
2440
|
+
TokenType[TokenType["Null"] = 71] = "Null";
|
|
2441
|
+
TokenType[TokenType["Undefined"] = 72] = "Undefined";
|
|
2442
|
+
TokenType[TokenType["In"] = 73] = "In";
|
|
2443
|
+
TokenType[TokenType["Instanceof"] = 74] = "Instanceof";
|
|
2444
2444
|
TokenType[TokenType["Let"] = 75] = "Let";
|
|
2445
2445
|
TokenType[TokenType["Const"] = 76] = "Const";
|
|
2446
2446
|
TokenType[TokenType["Var"] = 77] = "Var";
|
|
@@ -2494,48 +2494,47 @@ var LexerPhase = /* @__PURE__ */ function(LexerPhase) {
|
|
|
2494
2494
|
LexerPhase[LexerPhase["IdTail"] = 17] = "IdTail";
|
|
2495
2495
|
LexerPhase[LexerPhase["Dot"] = 18] = "Dot";
|
|
2496
2496
|
LexerPhase[LexerPhase["DotDot"] = 19] = "DotDot";
|
|
2497
|
-
LexerPhase[LexerPhase["
|
|
2498
|
-
LexerPhase[LexerPhase["
|
|
2499
|
-
LexerPhase[LexerPhase["
|
|
2500
|
-
LexerPhase[LexerPhase["
|
|
2501
|
-
LexerPhase[LexerPhase["
|
|
2502
|
-
LexerPhase[LexerPhase["
|
|
2503
|
-
LexerPhase[LexerPhase["
|
|
2504
|
-
LexerPhase[LexerPhase["
|
|
2505
|
-
LexerPhase[LexerPhase["
|
|
2506
|
-
LexerPhase[LexerPhase["
|
|
2507
|
-
LexerPhase[LexerPhase["
|
|
2508
|
-
LexerPhase[LexerPhase["
|
|
2509
|
-
LexerPhase[LexerPhase["
|
|
2510
|
-
LexerPhase[LexerPhase["
|
|
2511
|
-
LexerPhase[LexerPhase["
|
|
2512
|
-
LexerPhase[LexerPhase["
|
|
2513
|
-
LexerPhase[LexerPhase["
|
|
2514
|
-
LexerPhase[LexerPhase["
|
|
2515
|
-
LexerPhase[LexerPhase["
|
|
2516
|
-
LexerPhase[LexerPhase["
|
|
2517
|
-
LexerPhase[LexerPhase["
|
|
2518
|
-
LexerPhase[LexerPhase["
|
|
2519
|
-
LexerPhase[LexerPhase["
|
|
2520
|
-
LexerPhase[LexerPhase["
|
|
2521
|
-
LexerPhase[LexerPhase["
|
|
2522
|
-
LexerPhase[LexerPhase["
|
|
2523
|
-
LexerPhase[LexerPhase["
|
|
2524
|
-
LexerPhase[LexerPhase["
|
|
2525
|
-
LexerPhase[LexerPhase["
|
|
2526
|
-
LexerPhase[LexerPhase["
|
|
2527
|
-
LexerPhase[LexerPhase["
|
|
2528
|
-
LexerPhase[LexerPhase["
|
|
2529
|
-
LexerPhase[LexerPhase["
|
|
2530
|
-
LexerPhase[LexerPhase["
|
|
2531
|
-
LexerPhase[LexerPhase["
|
|
2532
|
-
LexerPhase[LexerPhase["
|
|
2533
|
-
LexerPhase[LexerPhase["
|
|
2534
|
-
LexerPhase[LexerPhase["
|
|
2535
|
-
LexerPhase[LexerPhase["
|
|
2536
|
-
LexerPhase[LexerPhase["
|
|
2537
|
-
LexerPhase[LexerPhase["
|
|
2538
|
-
LexerPhase[LexerPhase["RegEx"] = 61] = "RegEx";
|
|
2497
|
+
LexerPhase[LexerPhase["Zero"] = 20] = "Zero";
|
|
2498
|
+
LexerPhase[LexerPhase["QuestionMark"] = 21] = "QuestionMark";
|
|
2499
|
+
LexerPhase[LexerPhase["HexaFirst"] = 22] = "HexaFirst";
|
|
2500
|
+
LexerPhase[LexerPhase["HexaTail"] = 23] = "HexaTail";
|
|
2501
|
+
LexerPhase[LexerPhase["BinaryFirst"] = 24] = "BinaryFirst";
|
|
2502
|
+
LexerPhase[LexerPhase["BinaryTail"] = 25] = "BinaryTail";
|
|
2503
|
+
LexerPhase[LexerPhase["DecimalOrReal"] = 26] = "DecimalOrReal";
|
|
2504
|
+
LexerPhase[LexerPhase["RealFractionalFirst"] = 27] = "RealFractionalFirst";
|
|
2505
|
+
LexerPhase[LexerPhase["RealFractionalTail"] = 28] = "RealFractionalTail";
|
|
2506
|
+
LexerPhase[LexerPhase["RealExponent"] = 29] = "RealExponent";
|
|
2507
|
+
LexerPhase[LexerPhase["RealExponentSign"] = 30] = "RealExponentSign";
|
|
2508
|
+
LexerPhase[LexerPhase["RealExponentTail"] = 31] = "RealExponentTail";
|
|
2509
|
+
LexerPhase[LexerPhase["StringTemplateLiteralBackSlash"] = 32] = "StringTemplateLiteralBackSlash";
|
|
2510
|
+
LexerPhase[LexerPhase["StringTemplateLiteral"] = 33] = "StringTemplateLiteral";
|
|
2511
|
+
LexerPhase[LexerPhase["String"] = 34] = "String";
|
|
2512
|
+
LexerPhase[LexerPhase["StringBackSlash"] = 35] = "StringBackSlash";
|
|
2513
|
+
LexerPhase[LexerPhase["StringHexa1"] = 36] = "StringHexa1";
|
|
2514
|
+
LexerPhase[LexerPhase["StringHexa2"] = 37] = "StringHexa2";
|
|
2515
|
+
LexerPhase[LexerPhase["StringUHexa1"] = 38] = "StringUHexa1";
|
|
2516
|
+
LexerPhase[LexerPhase["StringUHexa2"] = 39] = "StringUHexa2";
|
|
2517
|
+
LexerPhase[LexerPhase["StringUHexa3"] = 40] = "StringUHexa3";
|
|
2518
|
+
LexerPhase[LexerPhase["StringUHexa4"] = 41] = "StringUHexa4";
|
|
2519
|
+
LexerPhase[LexerPhase["StringUcp1"] = 42] = "StringUcp1";
|
|
2520
|
+
LexerPhase[LexerPhase["StringUcp2"] = 43] = "StringUcp2";
|
|
2521
|
+
LexerPhase[LexerPhase["StringUcp3"] = 44] = "StringUcp3";
|
|
2522
|
+
LexerPhase[LexerPhase["StringUcp4"] = 45] = "StringUcp4";
|
|
2523
|
+
LexerPhase[LexerPhase["StringUcp5"] = 46] = "StringUcp5";
|
|
2524
|
+
LexerPhase[LexerPhase["StringUcp6"] = 47] = "StringUcp6";
|
|
2525
|
+
LexerPhase[LexerPhase["StringUcpTail"] = 48] = "StringUcpTail";
|
|
2526
|
+
LexerPhase[LexerPhase["Exponent"] = 49] = "Exponent";
|
|
2527
|
+
LexerPhase[LexerPhase["Plus"] = 50] = "Plus";
|
|
2528
|
+
LexerPhase[LexerPhase["Minus"] = 51] = "Minus";
|
|
2529
|
+
LexerPhase[LexerPhase["Divide"] = 52] = "Divide";
|
|
2530
|
+
LexerPhase[LexerPhase["Remainder"] = 53] = "Remainder";
|
|
2531
|
+
LexerPhase[LexerPhase["ShiftLeft"] = 54] = "ShiftLeft";
|
|
2532
|
+
LexerPhase[LexerPhase["ShiftRight"] = 55] = "ShiftRight";
|
|
2533
|
+
LexerPhase[LexerPhase["LogicalAnd"] = 56] = "LogicalAnd";
|
|
2534
|
+
LexerPhase[LexerPhase["BitwiseXor"] = 57] = "BitwiseXor";
|
|
2535
|
+
LexerPhase[LexerPhase["LogicalOr"] = 58] = "LogicalOr";
|
|
2536
|
+
LexerPhase[LexerPhase["NullCoalesce"] = 59] = "NullCoalesce";
|
|
2537
|
+
LexerPhase[LexerPhase["RegEx"] = 60] = "RegEx";
|
|
2539
2538
|
return LexerPhase;
|
|
2540
2539
|
}(LexerPhase || {});
|
|
2541
2540
|
/**
|
|
@@ -2707,10 +2706,7 @@ var Lexer = class {
|
|
|
2707
2706
|
case ",": return completeToken(TokenType.Comma);
|
|
2708
2707
|
case "(": return completeToken(TokenType.LParent);
|
|
2709
2708
|
case ")": return completeToken(TokenType.RParent);
|
|
2710
|
-
case ":":
|
|
2711
|
-
phase = LexerPhase.Colon;
|
|
2712
|
-
tokenType = TokenType.Colon;
|
|
2713
|
-
break;
|
|
2709
|
+
case ":": return completeToken(TokenType.Colon);
|
|
2714
2710
|
case "`": return completeToken(TokenType.Backtick);
|
|
2715
2711
|
case "[": return completeToken(TokenType.LSquare);
|
|
2716
2712
|
case "]": return completeToken(TokenType.RSquare);
|
|
@@ -2773,7 +2769,6 @@ var Lexer = class {
|
|
|
2773
2769
|
case LexerPhase.IdTail:
|
|
2774
2770
|
if (!isIdContinuation(ch)) return makeToken();
|
|
2775
2771
|
break;
|
|
2776
|
-
case LexerPhase.Colon: return ch === ":" ? completeToken(TokenType.Global) : makeToken();
|
|
2777
2772
|
case LexerPhase.Slash:
|
|
2778
2773
|
if (ch === "*") phase = LexerPhase.BlockCommentTrail1;
|
|
2779
2774
|
else if (ch === "/") {
|
|
@@ -3184,6 +3179,7 @@ resolverHash.set("false", TokenType.False);
|
|
|
3184
3179
|
resolverHash.set("undefined", TokenType.Undefined);
|
|
3185
3180
|
resolverHash.set("null", TokenType.Null);
|
|
3186
3181
|
resolverHash.set("in", TokenType.In);
|
|
3182
|
+
resolverHash.set("instanceof", TokenType.Instanceof);
|
|
3187
3183
|
resolverHash.set("let", TokenType.Let);
|
|
3188
3184
|
resolverHash.set("const", TokenType.Const);
|
|
3189
3185
|
resolverHash.set("var", TokenType.Var);
|
|
@@ -3349,7 +3345,6 @@ const tokenTraits = {
|
|
|
3349
3345
|
expressionStart: true,
|
|
3350
3346
|
isPropLiteral: true
|
|
3351
3347
|
},
|
|
3352
|
-
[TokenType.Global]: { expressionStart: true },
|
|
3353
3348
|
[TokenType.DecimalLiteral]: {
|
|
3354
3349
|
expressionStart: true,
|
|
3355
3350
|
isPropLiteral: true
|
|
@@ -3404,6 +3399,7 @@ const tokenTraits = {
|
|
|
3404
3399
|
keywordLike: true
|
|
3405
3400
|
},
|
|
3406
3401
|
[TokenType.In]: { keywordLike: true },
|
|
3402
|
+
[TokenType.Instanceof]: { keywordLike: true },
|
|
3407
3403
|
[TokenType.Let]: { keywordLike: true },
|
|
3408
3404
|
[TokenType.Const]: { keywordLike: true },
|
|
3409
3405
|
[TokenType.Var]: { keywordLike: true },
|
|
@@ -4964,7 +4960,7 @@ var Parser = class {
|
|
|
4964
4960
|
}
|
|
4965
4961
|
/**
|
|
4966
4962
|
* relOrInExpr
|
|
4967
|
-
* : shiftExpr ( ( "<" | "<=" | ">" | ">=", "in" ) shiftExpr )?
|
|
4963
|
+
* : shiftExpr ( ( "<" | "<=" | ">" | ">=", "in", "instanceof" ) shiftExpr )?
|
|
4968
4964
|
* ;
|
|
4969
4965
|
*/
|
|
4970
4966
|
parseRelOrInExpr() {
|
|
@@ -4972,7 +4968,7 @@ var Parser = class {
|
|
|
4972
4968
|
let leftExpr = this.parseShiftExpr();
|
|
4973
4969
|
if (!leftExpr) return null;
|
|
4974
4970
|
let opType;
|
|
4975
|
-
while (opType = this.skipTokens(TokenType.LessThan, TokenType.LessThanOrEqual, TokenType.GreaterThan, TokenType.GreaterThanOrEqual, TokenType.In)) {
|
|
4971
|
+
while (opType = this.skipTokens(TokenType.LessThan, TokenType.LessThanOrEqual, TokenType.GreaterThan, TokenType.GreaterThanOrEqual, TokenType.In, TokenType.Instanceof)) {
|
|
4976
4972
|
const rightExpr = this.parseShiftExpr();
|
|
4977
4973
|
if (!rightExpr) {
|
|
4978
4974
|
this.reportError("W001");
|
|
@@ -5360,18 +5356,6 @@ var Parser = class {
|
|
|
5360
5356
|
const idToken = this._lexer.get();
|
|
5361
5357
|
return this.createExpressionNode(T_IDENTIFIER, { name: idToken.text }, idToken, idToken);
|
|
5362
5358
|
}
|
|
5363
|
-
case TokenType.Global: {
|
|
5364
|
-
this._lexer.get();
|
|
5365
|
-
const idToken = this._lexer.get();
|
|
5366
|
-
if (idToken.type !== TokenType.Identifier) {
|
|
5367
|
-
this.reportError("W003");
|
|
5368
|
-
return null;
|
|
5369
|
-
}
|
|
5370
|
-
return this.createExpressionNode(T_IDENTIFIER, {
|
|
5371
|
-
name: idToken.text,
|
|
5372
|
-
isGlobal: true
|
|
5373
|
-
}, idToken, idToken);
|
|
5374
|
-
}
|
|
5375
5359
|
case TokenType.Backtick: return this.parseTemplateLiteral();
|
|
5376
5360
|
case TokenType.False:
|
|
5377
5361
|
case TokenType.True:
|
|
@@ -2410,23 +2410,23 @@ let TokenType = /* @__PURE__ */ function(TokenType) {
|
|
|
2410
2410
|
TokenType[TokenType["SignedShiftRight"] = 55] = "SignedShiftRight";
|
|
2411
2411
|
TokenType[TokenType["Dot"] = 56] = "Dot";
|
|
2412
2412
|
TokenType[TokenType["Spread"] = 57] = "Spread";
|
|
2413
|
-
TokenType[TokenType["
|
|
2414
|
-
TokenType[TokenType["
|
|
2415
|
-
TokenType[TokenType["
|
|
2416
|
-
TokenType[TokenType["
|
|
2417
|
-
TokenType[TokenType["
|
|
2418
|
-
TokenType[TokenType["
|
|
2419
|
-
TokenType[TokenType["
|
|
2420
|
-
TokenType[TokenType["
|
|
2421
|
-
TokenType[TokenType["
|
|
2422
|
-
TokenType[TokenType["
|
|
2423
|
-
TokenType[TokenType["
|
|
2424
|
-
TokenType[TokenType["
|
|
2425
|
-
TokenType[TokenType["
|
|
2426
|
-
TokenType[TokenType["
|
|
2427
|
-
TokenType[TokenType["
|
|
2428
|
-
TokenType[TokenType["
|
|
2429
|
-
TokenType[TokenType["
|
|
2413
|
+
TokenType[TokenType["Backtick"] = 58] = "Backtick";
|
|
2414
|
+
TokenType[TokenType["DollarLBrace"] = 59] = "DollarLBrace";
|
|
2415
|
+
TokenType[TokenType["Arrow"] = 60] = "Arrow";
|
|
2416
|
+
TokenType[TokenType["DecimalLiteral"] = 61] = "DecimalLiteral";
|
|
2417
|
+
TokenType[TokenType["HexadecimalLiteral"] = 62] = "HexadecimalLiteral";
|
|
2418
|
+
TokenType[TokenType["BinaryLiteral"] = 63] = "BinaryLiteral";
|
|
2419
|
+
TokenType[TokenType["RealLiteral"] = 64] = "RealLiteral";
|
|
2420
|
+
TokenType[TokenType["StringLiteral"] = 65] = "StringLiteral";
|
|
2421
|
+
TokenType[TokenType["Infinity"] = 66] = "Infinity";
|
|
2422
|
+
TokenType[TokenType["NaN"] = 67] = "NaN";
|
|
2423
|
+
TokenType[TokenType["True"] = 68] = "True";
|
|
2424
|
+
TokenType[TokenType["False"] = 69] = "False";
|
|
2425
|
+
TokenType[TokenType["Typeof"] = 70] = "Typeof";
|
|
2426
|
+
TokenType[TokenType["Null"] = 71] = "Null";
|
|
2427
|
+
TokenType[TokenType["Undefined"] = 72] = "Undefined";
|
|
2428
|
+
TokenType[TokenType["In"] = 73] = "In";
|
|
2429
|
+
TokenType[TokenType["Instanceof"] = 74] = "Instanceof";
|
|
2430
2430
|
TokenType[TokenType["Let"] = 75] = "Let";
|
|
2431
2431
|
TokenType[TokenType["Const"] = 76] = "Const";
|
|
2432
2432
|
TokenType[TokenType["Var"] = 77] = "Var";
|
|
@@ -2480,48 +2480,47 @@ var LexerPhase = /* @__PURE__ */ function(LexerPhase) {
|
|
|
2480
2480
|
LexerPhase[LexerPhase["IdTail"] = 17] = "IdTail";
|
|
2481
2481
|
LexerPhase[LexerPhase["Dot"] = 18] = "Dot";
|
|
2482
2482
|
LexerPhase[LexerPhase["DotDot"] = 19] = "DotDot";
|
|
2483
|
-
LexerPhase[LexerPhase["
|
|
2484
|
-
LexerPhase[LexerPhase["
|
|
2485
|
-
LexerPhase[LexerPhase["
|
|
2486
|
-
LexerPhase[LexerPhase["
|
|
2487
|
-
LexerPhase[LexerPhase["
|
|
2488
|
-
LexerPhase[LexerPhase["
|
|
2489
|
-
LexerPhase[LexerPhase["
|
|
2490
|
-
LexerPhase[LexerPhase["
|
|
2491
|
-
LexerPhase[LexerPhase["
|
|
2492
|
-
LexerPhase[LexerPhase["
|
|
2493
|
-
LexerPhase[LexerPhase["
|
|
2494
|
-
LexerPhase[LexerPhase["
|
|
2495
|
-
LexerPhase[LexerPhase["
|
|
2496
|
-
LexerPhase[LexerPhase["
|
|
2497
|
-
LexerPhase[LexerPhase["
|
|
2498
|
-
LexerPhase[LexerPhase["
|
|
2499
|
-
LexerPhase[LexerPhase["
|
|
2500
|
-
LexerPhase[LexerPhase["
|
|
2501
|
-
LexerPhase[LexerPhase["
|
|
2502
|
-
LexerPhase[LexerPhase["
|
|
2503
|
-
LexerPhase[LexerPhase["
|
|
2504
|
-
LexerPhase[LexerPhase["
|
|
2505
|
-
LexerPhase[LexerPhase["
|
|
2506
|
-
LexerPhase[LexerPhase["
|
|
2507
|
-
LexerPhase[LexerPhase["
|
|
2508
|
-
LexerPhase[LexerPhase["
|
|
2509
|
-
LexerPhase[LexerPhase["
|
|
2510
|
-
LexerPhase[LexerPhase["
|
|
2511
|
-
LexerPhase[LexerPhase["
|
|
2512
|
-
LexerPhase[LexerPhase["
|
|
2513
|
-
LexerPhase[LexerPhase["
|
|
2514
|
-
LexerPhase[LexerPhase["
|
|
2515
|
-
LexerPhase[LexerPhase["
|
|
2516
|
-
LexerPhase[LexerPhase["
|
|
2517
|
-
LexerPhase[LexerPhase["
|
|
2518
|
-
LexerPhase[LexerPhase["
|
|
2519
|
-
LexerPhase[LexerPhase["
|
|
2520
|
-
LexerPhase[LexerPhase["
|
|
2521
|
-
LexerPhase[LexerPhase["
|
|
2522
|
-
LexerPhase[LexerPhase["
|
|
2523
|
-
LexerPhase[LexerPhase["
|
|
2524
|
-
LexerPhase[LexerPhase["RegEx"] = 61] = "RegEx";
|
|
2483
|
+
LexerPhase[LexerPhase["Zero"] = 20] = "Zero";
|
|
2484
|
+
LexerPhase[LexerPhase["QuestionMark"] = 21] = "QuestionMark";
|
|
2485
|
+
LexerPhase[LexerPhase["HexaFirst"] = 22] = "HexaFirst";
|
|
2486
|
+
LexerPhase[LexerPhase["HexaTail"] = 23] = "HexaTail";
|
|
2487
|
+
LexerPhase[LexerPhase["BinaryFirst"] = 24] = "BinaryFirst";
|
|
2488
|
+
LexerPhase[LexerPhase["BinaryTail"] = 25] = "BinaryTail";
|
|
2489
|
+
LexerPhase[LexerPhase["DecimalOrReal"] = 26] = "DecimalOrReal";
|
|
2490
|
+
LexerPhase[LexerPhase["RealFractionalFirst"] = 27] = "RealFractionalFirst";
|
|
2491
|
+
LexerPhase[LexerPhase["RealFractionalTail"] = 28] = "RealFractionalTail";
|
|
2492
|
+
LexerPhase[LexerPhase["RealExponent"] = 29] = "RealExponent";
|
|
2493
|
+
LexerPhase[LexerPhase["RealExponentSign"] = 30] = "RealExponentSign";
|
|
2494
|
+
LexerPhase[LexerPhase["RealExponentTail"] = 31] = "RealExponentTail";
|
|
2495
|
+
LexerPhase[LexerPhase["StringTemplateLiteralBackSlash"] = 32] = "StringTemplateLiteralBackSlash";
|
|
2496
|
+
LexerPhase[LexerPhase["StringTemplateLiteral"] = 33] = "StringTemplateLiteral";
|
|
2497
|
+
LexerPhase[LexerPhase["String"] = 34] = "String";
|
|
2498
|
+
LexerPhase[LexerPhase["StringBackSlash"] = 35] = "StringBackSlash";
|
|
2499
|
+
LexerPhase[LexerPhase["StringHexa1"] = 36] = "StringHexa1";
|
|
2500
|
+
LexerPhase[LexerPhase["StringHexa2"] = 37] = "StringHexa2";
|
|
2501
|
+
LexerPhase[LexerPhase["StringUHexa1"] = 38] = "StringUHexa1";
|
|
2502
|
+
LexerPhase[LexerPhase["StringUHexa2"] = 39] = "StringUHexa2";
|
|
2503
|
+
LexerPhase[LexerPhase["StringUHexa3"] = 40] = "StringUHexa3";
|
|
2504
|
+
LexerPhase[LexerPhase["StringUHexa4"] = 41] = "StringUHexa4";
|
|
2505
|
+
LexerPhase[LexerPhase["StringUcp1"] = 42] = "StringUcp1";
|
|
2506
|
+
LexerPhase[LexerPhase["StringUcp2"] = 43] = "StringUcp2";
|
|
2507
|
+
LexerPhase[LexerPhase["StringUcp3"] = 44] = "StringUcp3";
|
|
2508
|
+
LexerPhase[LexerPhase["StringUcp4"] = 45] = "StringUcp4";
|
|
2509
|
+
LexerPhase[LexerPhase["StringUcp5"] = 46] = "StringUcp5";
|
|
2510
|
+
LexerPhase[LexerPhase["StringUcp6"] = 47] = "StringUcp6";
|
|
2511
|
+
LexerPhase[LexerPhase["StringUcpTail"] = 48] = "StringUcpTail";
|
|
2512
|
+
LexerPhase[LexerPhase["Exponent"] = 49] = "Exponent";
|
|
2513
|
+
LexerPhase[LexerPhase["Plus"] = 50] = "Plus";
|
|
2514
|
+
LexerPhase[LexerPhase["Minus"] = 51] = "Minus";
|
|
2515
|
+
LexerPhase[LexerPhase["Divide"] = 52] = "Divide";
|
|
2516
|
+
LexerPhase[LexerPhase["Remainder"] = 53] = "Remainder";
|
|
2517
|
+
LexerPhase[LexerPhase["ShiftLeft"] = 54] = "ShiftLeft";
|
|
2518
|
+
LexerPhase[LexerPhase["ShiftRight"] = 55] = "ShiftRight";
|
|
2519
|
+
LexerPhase[LexerPhase["LogicalAnd"] = 56] = "LogicalAnd";
|
|
2520
|
+
LexerPhase[LexerPhase["BitwiseXor"] = 57] = "BitwiseXor";
|
|
2521
|
+
LexerPhase[LexerPhase["LogicalOr"] = 58] = "LogicalOr";
|
|
2522
|
+
LexerPhase[LexerPhase["NullCoalesce"] = 59] = "NullCoalesce";
|
|
2523
|
+
LexerPhase[LexerPhase["RegEx"] = 60] = "RegEx";
|
|
2525
2524
|
return LexerPhase;
|
|
2526
2525
|
}(LexerPhase || {});
|
|
2527
2526
|
/**
|
|
@@ -2693,10 +2692,7 @@ var Lexer = class {
|
|
|
2693
2692
|
case ",": return completeToken(TokenType.Comma);
|
|
2694
2693
|
case "(": return completeToken(TokenType.LParent);
|
|
2695
2694
|
case ")": return completeToken(TokenType.RParent);
|
|
2696
|
-
case ":":
|
|
2697
|
-
phase = LexerPhase.Colon;
|
|
2698
|
-
tokenType = TokenType.Colon;
|
|
2699
|
-
break;
|
|
2695
|
+
case ":": return completeToken(TokenType.Colon);
|
|
2700
2696
|
case "`": return completeToken(TokenType.Backtick);
|
|
2701
2697
|
case "[": return completeToken(TokenType.LSquare);
|
|
2702
2698
|
case "]": return completeToken(TokenType.RSquare);
|
|
@@ -2759,7 +2755,6 @@ var Lexer = class {
|
|
|
2759
2755
|
case LexerPhase.IdTail:
|
|
2760
2756
|
if (!isIdContinuation(ch)) return makeToken();
|
|
2761
2757
|
break;
|
|
2762
|
-
case LexerPhase.Colon: return ch === ":" ? completeToken(TokenType.Global) : makeToken();
|
|
2763
2758
|
case LexerPhase.Slash:
|
|
2764
2759
|
if (ch === "*") phase = LexerPhase.BlockCommentTrail1;
|
|
2765
2760
|
else if (ch === "/") {
|
|
@@ -3170,6 +3165,7 @@ resolverHash.set("false", TokenType.False);
|
|
|
3170
3165
|
resolverHash.set("undefined", TokenType.Undefined);
|
|
3171
3166
|
resolverHash.set("null", TokenType.Null);
|
|
3172
3167
|
resolverHash.set("in", TokenType.In);
|
|
3168
|
+
resolverHash.set("instanceof", TokenType.Instanceof);
|
|
3173
3169
|
resolverHash.set("let", TokenType.Let);
|
|
3174
3170
|
resolverHash.set("const", TokenType.Const);
|
|
3175
3171
|
resolverHash.set("var", TokenType.Var);
|
|
@@ -3335,7 +3331,6 @@ const tokenTraits = {
|
|
|
3335
3331
|
expressionStart: true,
|
|
3336
3332
|
isPropLiteral: true
|
|
3337
3333
|
},
|
|
3338
|
-
[TokenType.Global]: { expressionStart: true },
|
|
3339
3334
|
[TokenType.DecimalLiteral]: {
|
|
3340
3335
|
expressionStart: true,
|
|
3341
3336
|
isPropLiteral: true
|
|
@@ -3390,6 +3385,7 @@ const tokenTraits = {
|
|
|
3390
3385
|
keywordLike: true
|
|
3391
3386
|
},
|
|
3392
3387
|
[TokenType.In]: { keywordLike: true },
|
|
3388
|
+
[TokenType.Instanceof]: { keywordLike: true },
|
|
3393
3389
|
[TokenType.Let]: { keywordLike: true },
|
|
3394
3390
|
[TokenType.Const]: { keywordLike: true },
|
|
3395
3391
|
[TokenType.Var]: { keywordLike: true },
|
|
@@ -4950,7 +4946,7 @@ var Parser = class {
|
|
|
4950
4946
|
}
|
|
4951
4947
|
/**
|
|
4952
4948
|
* relOrInExpr
|
|
4953
|
-
* : shiftExpr ( ( "<" | "<=" | ">" | ">=", "in" ) shiftExpr )?
|
|
4949
|
+
* : shiftExpr ( ( "<" | "<=" | ">" | ">=", "in", "instanceof" ) shiftExpr )?
|
|
4954
4950
|
* ;
|
|
4955
4951
|
*/
|
|
4956
4952
|
parseRelOrInExpr() {
|
|
@@ -4958,7 +4954,7 @@ var Parser = class {
|
|
|
4958
4954
|
let leftExpr = this.parseShiftExpr();
|
|
4959
4955
|
if (!leftExpr) return null;
|
|
4960
4956
|
let opType;
|
|
4961
|
-
while (opType = this.skipTokens(TokenType.LessThan, TokenType.LessThanOrEqual, TokenType.GreaterThan, TokenType.GreaterThanOrEqual, TokenType.In)) {
|
|
4957
|
+
while (opType = this.skipTokens(TokenType.LessThan, TokenType.LessThanOrEqual, TokenType.GreaterThan, TokenType.GreaterThanOrEqual, TokenType.In, TokenType.Instanceof)) {
|
|
4962
4958
|
const rightExpr = this.parseShiftExpr();
|
|
4963
4959
|
if (!rightExpr) {
|
|
4964
4960
|
this.reportError("W001");
|
|
@@ -5346,18 +5342,6 @@ var Parser = class {
|
|
|
5346
5342
|
const idToken = this._lexer.get();
|
|
5347
5343
|
return this.createExpressionNode(T_IDENTIFIER, { name: idToken.text }, idToken, idToken);
|
|
5348
5344
|
}
|
|
5349
|
-
case TokenType.Global: {
|
|
5350
|
-
this._lexer.get();
|
|
5351
|
-
const idToken = this._lexer.get();
|
|
5352
|
-
if (idToken.type !== TokenType.Identifier) {
|
|
5353
|
-
this.reportError("W003");
|
|
5354
|
-
return null;
|
|
5355
|
-
}
|
|
5356
|
-
return this.createExpressionNode(T_IDENTIFIER, {
|
|
5357
|
-
name: idToken.text,
|
|
5358
|
-
isGlobal: true
|
|
5359
|
-
}, idToken, idToken);
|
|
5360
|
-
}
|
|
5361
5345
|
case TokenType.Backtick: return this.parseTemplateLiteral();
|
|
5362
5346
|
case TokenType.False:
|
|
5363
5347
|
case TokenType.True:
|