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
|
@@ -2432,23 +2432,23 @@ let TokenType = /* @__PURE__ */ function(TokenType) {
|
|
|
2432
2432
|
TokenType[TokenType["SignedShiftRight"] = 55] = "SignedShiftRight";
|
|
2433
2433
|
TokenType[TokenType["Dot"] = 56] = "Dot";
|
|
2434
2434
|
TokenType[TokenType["Spread"] = 57] = "Spread";
|
|
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["
|
|
2444
|
-
TokenType[TokenType["
|
|
2445
|
-
TokenType[TokenType["
|
|
2446
|
-
TokenType[TokenType["
|
|
2447
|
-
TokenType[TokenType["
|
|
2448
|
-
TokenType[TokenType["
|
|
2449
|
-
TokenType[TokenType["
|
|
2450
|
-
TokenType[TokenType["
|
|
2451
|
-
TokenType[TokenType["
|
|
2435
|
+
TokenType[TokenType["Backtick"] = 58] = "Backtick";
|
|
2436
|
+
TokenType[TokenType["DollarLBrace"] = 59] = "DollarLBrace";
|
|
2437
|
+
TokenType[TokenType["Arrow"] = 60] = "Arrow";
|
|
2438
|
+
TokenType[TokenType["DecimalLiteral"] = 61] = "DecimalLiteral";
|
|
2439
|
+
TokenType[TokenType["HexadecimalLiteral"] = 62] = "HexadecimalLiteral";
|
|
2440
|
+
TokenType[TokenType["BinaryLiteral"] = 63] = "BinaryLiteral";
|
|
2441
|
+
TokenType[TokenType["RealLiteral"] = 64] = "RealLiteral";
|
|
2442
|
+
TokenType[TokenType["StringLiteral"] = 65] = "StringLiteral";
|
|
2443
|
+
TokenType[TokenType["Infinity"] = 66] = "Infinity";
|
|
2444
|
+
TokenType[TokenType["NaN"] = 67] = "NaN";
|
|
2445
|
+
TokenType[TokenType["True"] = 68] = "True";
|
|
2446
|
+
TokenType[TokenType["False"] = 69] = "False";
|
|
2447
|
+
TokenType[TokenType["Typeof"] = 70] = "Typeof";
|
|
2448
|
+
TokenType[TokenType["Null"] = 71] = "Null";
|
|
2449
|
+
TokenType[TokenType["Undefined"] = 72] = "Undefined";
|
|
2450
|
+
TokenType[TokenType["In"] = 73] = "In";
|
|
2451
|
+
TokenType[TokenType["Instanceof"] = 74] = "Instanceof";
|
|
2452
2452
|
TokenType[TokenType["Let"] = 75] = "Let";
|
|
2453
2453
|
TokenType[TokenType["Const"] = 76] = "Const";
|
|
2454
2454
|
TokenType[TokenType["Var"] = 77] = "Var";
|
|
@@ -2502,48 +2502,47 @@ var LexerPhase = /* @__PURE__ */ function(LexerPhase) {
|
|
|
2502
2502
|
LexerPhase[LexerPhase["IdTail"] = 17] = "IdTail";
|
|
2503
2503
|
LexerPhase[LexerPhase["Dot"] = 18] = "Dot";
|
|
2504
2504
|
LexerPhase[LexerPhase["DotDot"] = 19] = "DotDot";
|
|
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["
|
|
2539
|
-
LexerPhase[LexerPhase["
|
|
2540
|
-
LexerPhase[LexerPhase["
|
|
2541
|
-
LexerPhase[LexerPhase["
|
|
2542
|
-
LexerPhase[LexerPhase["
|
|
2543
|
-
LexerPhase[LexerPhase["
|
|
2544
|
-
LexerPhase[LexerPhase["
|
|
2545
|
-
LexerPhase[LexerPhase["
|
|
2546
|
-
LexerPhase[LexerPhase["RegEx"] = 61] = "RegEx";
|
|
2505
|
+
LexerPhase[LexerPhase["Zero"] = 20] = "Zero";
|
|
2506
|
+
LexerPhase[LexerPhase["QuestionMark"] = 21] = "QuestionMark";
|
|
2507
|
+
LexerPhase[LexerPhase["HexaFirst"] = 22] = "HexaFirst";
|
|
2508
|
+
LexerPhase[LexerPhase["HexaTail"] = 23] = "HexaTail";
|
|
2509
|
+
LexerPhase[LexerPhase["BinaryFirst"] = 24] = "BinaryFirst";
|
|
2510
|
+
LexerPhase[LexerPhase["BinaryTail"] = 25] = "BinaryTail";
|
|
2511
|
+
LexerPhase[LexerPhase["DecimalOrReal"] = 26] = "DecimalOrReal";
|
|
2512
|
+
LexerPhase[LexerPhase["RealFractionalFirst"] = 27] = "RealFractionalFirst";
|
|
2513
|
+
LexerPhase[LexerPhase["RealFractionalTail"] = 28] = "RealFractionalTail";
|
|
2514
|
+
LexerPhase[LexerPhase["RealExponent"] = 29] = "RealExponent";
|
|
2515
|
+
LexerPhase[LexerPhase["RealExponentSign"] = 30] = "RealExponentSign";
|
|
2516
|
+
LexerPhase[LexerPhase["RealExponentTail"] = 31] = "RealExponentTail";
|
|
2517
|
+
LexerPhase[LexerPhase["StringTemplateLiteralBackSlash"] = 32] = "StringTemplateLiteralBackSlash";
|
|
2518
|
+
LexerPhase[LexerPhase["StringTemplateLiteral"] = 33] = "StringTemplateLiteral";
|
|
2519
|
+
LexerPhase[LexerPhase["String"] = 34] = "String";
|
|
2520
|
+
LexerPhase[LexerPhase["StringBackSlash"] = 35] = "StringBackSlash";
|
|
2521
|
+
LexerPhase[LexerPhase["StringHexa1"] = 36] = "StringHexa1";
|
|
2522
|
+
LexerPhase[LexerPhase["StringHexa2"] = 37] = "StringHexa2";
|
|
2523
|
+
LexerPhase[LexerPhase["StringUHexa1"] = 38] = "StringUHexa1";
|
|
2524
|
+
LexerPhase[LexerPhase["StringUHexa2"] = 39] = "StringUHexa2";
|
|
2525
|
+
LexerPhase[LexerPhase["StringUHexa3"] = 40] = "StringUHexa3";
|
|
2526
|
+
LexerPhase[LexerPhase["StringUHexa4"] = 41] = "StringUHexa4";
|
|
2527
|
+
LexerPhase[LexerPhase["StringUcp1"] = 42] = "StringUcp1";
|
|
2528
|
+
LexerPhase[LexerPhase["StringUcp2"] = 43] = "StringUcp2";
|
|
2529
|
+
LexerPhase[LexerPhase["StringUcp3"] = 44] = "StringUcp3";
|
|
2530
|
+
LexerPhase[LexerPhase["StringUcp4"] = 45] = "StringUcp4";
|
|
2531
|
+
LexerPhase[LexerPhase["StringUcp5"] = 46] = "StringUcp5";
|
|
2532
|
+
LexerPhase[LexerPhase["StringUcp6"] = 47] = "StringUcp6";
|
|
2533
|
+
LexerPhase[LexerPhase["StringUcpTail"] = 48] = "StringUcpTail";
|
|
2534
|
+
LexerPhase[LexerPhase["Exponent"] = 49] = "Exponent";
|
|
2535
|
+
LexerPhase[LexerPhase["Plus"] = 50] = "Plus";
|
|
2536
|
+
LexerPhase[LexerPhase["Minus"] = 51] = "Minus";
|
|
2537
|
+
LexerPhase[LexerPhase["Divide"] = 52] = "Divide";
|
|
2538
|
+
LexerPhase[LexerPhase["Remainder"] = 53] = "Remainder";
|
|
2539
|
+
LexerPhase[LexerPhase["ShiftLeft"] = 54] = "ShiftLeft";
|
|
2540
|
+
LexerPhase[LexerPhase["ShiftRight"] = 55] = "ShiftRight";
|
|
2541
|
+
LexerPhase[LexerPhase["LogicalAnd"] = 56] = "LogicalAnd";
|
|
2542
|
+
LexerPhase[LexerPhase["BitwiseXor"] = 57] = "BitwiseXor";
|
|
2543
|
+
LexerPhase[LexerPhase["LogicalOr"] = 58] = "LogicalOr";
|
|
2544
|
+
LexerPhase[LexerPhase["NullCoalesce"] = 59] = "NullCoalesce";
|
|
2545
|
+
LexerPhase[LexerPhase["RegEx"] = 60] = "RegEx";
|
|
2547
2546
|
return LexerPhase;
|
|
2548
2547
|
}(LexerPhase || {});
|
|
2549
2548
|
/**
|
|
@@ -2715,10 +2714,7 @@ var Lexer = class {
|
|
|
2715
2714
|
case ",": return completeToken(TokenType.Comma);
|
|
2716
2715
|
case "(": return completeToken(TokenType.LParent);
|
|
2717
2716
|
case ")": return completeToken(TokenType.RParent);
|
|
2718
|
-
case ":":
|
|
2719
|
-
phase = LexerPhase.Colon;
|
|
2720
|
-
tokenType = TokenType.Colon;
|
|
2721
|
-
break;
|
|
2717
|
+
case ":": return completeToken(TokenType.Colon);
|
|
2722
2718
|
case "`": return completeToken(TokenType.Backtick);
|
|
2723
2719
|
case "[": return completeToken(TokenType.LSquare);
|
|
2724
2720
|
case "]": return completeToken(TokenType.RSquare);
|
|
@@ -2781,7 +2777,6 @@ var Lexer = class {
|
|
|
2781
2777
|
case LexerPhase.IdTail:
|
|
2782
2778
|
if (!isIdContinuation(ch)) return makeToken();
|
|
2783
2779
|
break;
|
|
2784
|
-
case LexerPhase.Colon: return ch === ":" ? completeToken(TokenType.Global) : makeToken();
|
|
2785
2780
|
case LexerPhase.Slash:
|
|
2786
2781
|
if (ch === "*") phase = LexerPhase.BlockCommentTrail1;
|
|
2787
2782
|
else if (ch === "/") {
|
|
@@ -3192,6 +3187,7 @@ resolverHash.set("false", TokenType.False);
|
|
|
3192
3187
|
resolverHash.set("undefined", TokenType.Undefined);
|
|
3193
3188
|
resolverHash.set("null", TokenType.Null);
|
|
3194
3189
|
resolverHash.set("in", TokenType.In);
|
|
3190
|
+
resolverHash.set("instanceof", TokenType.Instanceof);
|
|
3195
3191
|
resolverHash.set("let", TokenType.Let);
|
|
3196
3192
|
resolverHash.set("const", TokenType.Const);
|
|
3197
3193
|
resolverHash.set("var", TokenType.Var);
|
|
@@ -3357,7 +3353,6 @@ const tokenTraits = {
|
|
|
3357
3353
|
expressionStart: true,
|
|
3358
3354
|
isPropLiteral: true
|
|
3359
3355
|
},
|
|
3360
|
-
[TokenType.Global]: { expressionStart: true },
|
|
3361
3356
|
[TokenType.DecimalLiteral]: {
|
|
3362
3357
|
expressionStart: true,
|
|
3363
3358
|
isPropLiteral: true
|
|
@@ -3412,6 +3407,7 @@ const tokenTraits = {
|
|
|
3412
3407
|
keywordLike: true
|
|
3413
3408
|
},
|
|
3414
3409
|
[TokenType.In]: { keywordLike: true },
|
|
3410
|
+
[TokenType.Instanceof]: { keywordLike: true },
|
|
3415
3411
|
[TokenType.Let]: { keywordLike: true },
|
|
3416
3412
|
[TokenType.Const]: { keywordLike: true },
|
|
3417
3413
|
[TokenType.Var]: { keywordLike: true },
|
|
@@ -4972,7 +4968,7 @@ var Parser = class {
|
|
|
4972
4968
|
}
|
|
4973
4969
|
/**
|
|
4974
4970
|
* relOrInExpr
|
|
4975
|
-
* : shiftExpr ( ( "<" | "<=" | ">" | ">=", "in" ) shiftExpr )?
|
|
4971
|
+
* : shiftExpr ( ( "<" | "<=" | ">" | ">=", "in", "instanceof" ) shiftExpr )?
|
|
4976
4972
|
* ;
|
|
4977
4973
|
*/
|
|
4978
4974
|
parseRelOrInExpr() {
|
|
@@ -4980,7 +4976,7 @@ var Parser = class {
|
|
|
4980
4976
|
let leftExpr = this.parseShiftExpr();
|
|
4981
4977
|
if (!leftExpr) return null;
|
|
4982
4978
|
let opType;
|
|
4983
|
-
while (opType = this.skipTokens(TokenType.LessThan, TokenType.LessThanOrEqual, TokenType.GreaterThan, TokenType.GreaterThanOrEqual, TokenType.In)) {
|
|
4979
|
+
while (opType = this.skipTokens(TokenType.LessThan, TokenType.LessThanOrEqual, TokenType.GreaterThan, TokenType.GreaterThanOrEqual, TokenType.In, TokenType.Instanceof)) {
|
|
4984
4980
|
const rightExpr = this.parseShiftExpr();
|
|
4985
4981
|
if (!rightExpr) {
|
|
4986
4982
|
this.reportError("W001");
|
|
@@ -5368,18 +5364,6 @@ var Parser = class {
|
|
|
5368
5364
|
const idToken = this._lexer.get();
|
|
5369
5365
|
return this.createExpressionNode(T_IDENTIFIER, { name: idToken.text }, idToken, idToken);
|
|
5370
5366
|
}
|
|
5371
|
-
case TokenType.Global: {
|
|
5372
|
-
this._lexer.get();
|
|
5373
|
-
const idToken = this._lexer.get();
|
|
5374
|
-
if (idToken.type !== TokenType.Identifier) {
|
|
5375
|
-
this.reportError("W003");
|
|
5376
|
-
return null;
|
|
5377
|
-
}
|
|
5378
|
-
return this.createExpressionNode(T_IDENTIFIER, {
|
|
5379
|
-
name: idToken.text,
|
|
5380
|
-
isGlobal: true
|
|
5381
|
-
}, idToken, idToken);
|
|
5382
|
-
}
|
|
5383
5367
|
case TokenType.Backtick: return this.parseTemplateLiteral();
|
|
5384
5368
|
case TokenType.False:
|
|
5385
5369
|
case TokenType.True:
|
package/dist/nodejs/index.cjs
CHANGED
|
@@ -1223,23 +1223,23 @@ let TokenType = /* @__PURE__ */ function(TokenType) {
|
|
|
1223
1223
|
TokenType[TokenType["SignedShiftRight"] = 55] = "SignedShiftRight";
|
|
1224
1224
|
TokenType[TokenType["Dot"] = 56] = "Dot";
|
|
1225
1225
|
TokenType[TokenType["Spread"] = 57] = "Spread";
|
|
1226
|
-
TokenType[TokenType["
|
|
1227
|
-
TokenType[TokenType["
|
|
1228
|
-
TokenType[TokenType["
|
|
1229
|
-
TokenType[TokenType["
|
|
1230
|
-
TokenType[TokenType["
|
|
1231
|
-
TokenType[TokenType["
|
|
1232
|
-
TokenType[TokenType["
|
|
1233
|
-
TokenType[TokenType["
|
|
1234
|
-
TokenType[TokenType["
|
|
1235
|
-
TokenType[TokenType["
|
|
1236
|
-
TokenType[TokenType["
|
|
1237
|
-
TokenType[TokenType["
|
|
1238
|
-
TokenType[TokenType["
|
|
1239
|
-
TokenType[TokenType["
|
|
1240
|
-
TokenType[TokenType["
|
|
1241
|
-
TokenType[TokenType["
|
|
1242
|
-
TokenType[TokenType["
|
|
1226
|
+
TokenType[TokenType["Backtick"] = 58] = "Backtick";
|
|
1227
|
+
TokenType[TokenType["DollarLBrace"] = 59] = "DollarLBrace";
|
|
1228
|
+
TokenType[TokenType["Arrow"] = 60] = "Arrow";
|
|
1229
|
+
TokenType[TokenType["DecimalLiteral"] = 61] = "DecimalLiteral";
|
|
1230
|
+
TokenType[TokenType["HexadecimalLiteral"] = 62] = "HexadecimalLiteral";
|
|
1231
|
+
TokenType[TokenType["BinaryLiteral"] = 63] = "BinaryLiteral";
|
|
1232
|
+
TokenType[TokenType["RealLiteral"] = 64] = "RealLiteral";
|
|
1233
|
+
TokenType[TokenType["StringLiteral"] = 65] = "StringLiteral";
|
|
1234
|
+
TokenType[TokenType["Infinity"] = 66] = "Infinity";
|
|
1235
|
+
TokenType[TokenType["NaN"] = 67] = "NaN";
|
|
1236
|
+
TokenType[TokenType["True"] = 68] = "True";
|
|
1237
|
+
TokenType[TokenType["False"] = 69] = "False";
|
|
1238
|
+
TokenType[TokenType["Typeof"] = 70] = "Typeof";
|
|
1239
|
+
TokenType[TokenType["Null"] = 71] = "Null";
|
|
1240
|
+
TokenType[TokenType["Undefined"] = 72] = "Undefined";
|
|
1241
|
+
TokenType[TokenType["In"] = 73] = "In";
|
|
1242
|
+
TokenType[TokenType["Instanceof"] = 74] = "Instanceof";
|
|
1243
1243
|
TokenType[TokenType["Let"] = 75] = "Let";
|
|
1244
1244
|
TokenType[TokenType["Const"] = 76] = "Const";
|
|
1245
1245
|
TokenType[TokenType["Var"] = 77] = "Var";
|
|
@@ -1293,48 +1293,47 @@ var LexerPhase = /* @__PURE__ */ function(LexerPhase) {
|
|
|
1293
1293
|
LexerPhase[LexerPhase["IdTail"] = 17] = "IdTail";
|
|
1294
1294
|
LexerPhase[LexerPhase["Dot"] = 18] = "Dot";
|
|
1295
1295
|
LexerPhase[LexerPhase["DotDot"] = 19] = "DotDot";
|
|
1296
|
-
LexerPhase[LexerPhase["
|
|
1297
|
-
LexerPhase[LexerPhase["
|
|
1298
|
-
LexerPhase[LexerPhase["
|
|
1299
|
-
LexerPhase[LexerPhase["
|
|
1300
|
-
LexerPhase[LexerPhase["
|
|
1301
|
-
LexerPhase[LexerPhase["
|
|
1302
|
-
LexerPhase[LexerPhase["
|
|
1303
|
-
LexerPhase[LexerPhase["
|
|
1304
|
-
LexerPhase[LexerPhase["
|
|
1305
|
-
LexerPhase[LexerPhase["
|
|
1306
|
-
LexerPhase[LexerPhase["
|
|
1307
|
-
LexerPhase[LexerPhase["
|
|
1308
|
-
LexerPhase[LexerPhase["
|
|
1309
|
-
LexerPhase[LexerPhase["
|
|
1310
|
-
LexerPhase[LexerPhase["
|
|
1311
|
-
LexerPhase[LexerPhase["
|
|
1312
|
-
LexerPhase[LexerPhase["
|
|
1313
|
-
LexerPhase[LexerPhase["
|
|
1314
|
-
LexerPhase[LexerPhase["
|
|
1315
|
-
LexerPhase[LexerPhase["
|
|
1316
|
-
LexerPhase[LexerPhase["
|
|
1317
|
-
LexerPhase[LexerPhase["
|
|
1318
|
-
LexerPhase[LexerPhase["
|
|
1319
|
-
LexerPhase[LexerPhase["
|
|
1320
|
-
LexerPhase[LexerPhase["
|
|
1321
|
-
LexerPhase[LexerPhase["
|
|
1322
|
-
LexerPhase[LexerPhase["
|
|
1323
|
-
LexerPhase[LexerPhase["
|
|
1324
|
-
LexerPhase[LexerPhase["
|
|
1325
|
-
LexerPhase[LexerPhase["
|
|
1326
|
-
LexerPhase[LexerPhase["
|
|
1327
|
-
LexerPhase[LexerPhase["
|
|
1328
|
-
LexerPhase[LexerPhase["
|
|
1329
|
-
LexerPhase[LexerPhase["
|
|
1330
|
-
LexerPhase[LexerPhase["
|
|
1331
|
-
LexerPhase[LexerPhase["
|
|
1332
|
-
LexerPhase[LexerPhase["
|
|
1333
|
-
LexerPhase[LexerPhase["
|
|
1334
|
-
LexerPhase[LexerPhase["
|
|
1335
|
-
LexerPhase[LexerPhase["
|
|
1336
|
-
LexerPhase[LexerPhase["
|
|
1337
|
-
LexerPhase[LexerPhase["RegEx"] = 61] = "RegEx";
|
|
1296
|
+
LexerPhase[LexerPhase["Zero"] = 20] = "Zero";
|
|
1297
|
+
LexerPhase[LexerPhase["QuestionMark"] = 21] = "QuestionMark";
|
|
1298
|
+
LexerPhase[LexerPhase["HexaFirst"] = 22] = "HexaFirst";
|
|
1299
|
+
LexerPhase[LexerPhase["HexaTail"] = 23] = "HexaTail";
|
|
1300
|
+
LexerPhase[LexerPhase["BinaryFirst"] = 24] = "BinaryFirst";
|
|
1301
|
+
LexerPhase[LexerPhase["BinaryTail"] = 25] = "BinaryTail";
|
|
1302
|
+
LexerPhase[LexerPhase["DecimalOrReal"] = 26] = "DecimalOrReal";
|
|
1303
|
+
LexerPhase[LexerPhase["RealFractionalFirst"] = 27] = "RealFractionalFirst";
|
|
1304
|
+
LexerPhase[LexerPhase["RealFractionalTail"] = 28] = "RealFractionalTail";
|
|
1305
|
+
LexerPhase[LexerPhase["RealExponent"] = 29] = "RealExponent";
|
|
1306
|
+
LexerPhase[LexerPhase["RealExponentSign"] = 30] = "RealExponentSign";
|
|
1307
|
+
LexerPhase[LexerPhase["RealExponentTail"] = 31] = "RealExponentTail";
|
|
1308
|
+
LexerPhase[LexerPhase["StringTemplateLiteralBackSlash"] = 32] = "StringTemplateLiteralBackSlash";
|
|
1309
|
+
LexerPhase[LexerPhase["StringTemplateLiteral"] = 33] = "StringTemplateLiteral";
|
|
1310
|
+
LexerPhase[LexerPhase["String"] = 34] = "String";
|
|
1311
|
+
LexerPhase[LexerPhase["StringBackSlash"] = 35] = "StringBackSlash";
|
|
1312
|
+
LexerPhase[LexerPhase["StringHexa1"] = 36] = "StringHexa1";
|
|
1313
|
+
LexerPhase[LexerPhase["StringHexa2"] = 37] = "StringHexa2";
|
|
1314
|
+
LexerPhase[LexerPhase["StringUHexa1"] = 38] = "StringUHexa1";
|
|
1315
|
+
LexerPhase[LexerPhase["StringUHexa2"] = 39] = "StringUHexa2";
|
|
1316
|
+
LexerPhase[LexerPhase["StringUHexa3"] = 40] = "StringUHexa3";
|
|
1317
|
+
LexerPhase[LexerPhase["StringUHexa4"] = 41] = "StringUHexa4";
|
|
1318
|
+
LexerPhase[LexerPhase["StringUcp1"] = 42] = "StringUcp1";
|
|
1319
|
+
LexerPhase[LexerPhase["StringUcp2"] = 43] = "StringUcp2";
|
|
1320
|
+
LexerPhase[LexerPhase["StringUcp3"] = 44] = "StringUcp3";
|
|
1321
|
+
LexerPhase[LexerPhase["StringUcp4"] = 45] = "StringUcp4";
|
|
1322
|
+
LexerPhase[LexerPhase["StringUcp5"] = 46] = "StringUcp5";
|
|
1323
|
+
LexerPhase[LexerPhase["StringUcp6"] = 47] = "StringUcp6";
|
|
1324
|
+
LexerPhase[LexerPhase["StringUcpTail"] = 48] = "StringUcpTail";
|
|
1325
|
+
LexerPhase[LexerPhase["Exponent"] = 49] = "Exponent";
|
|
1326
|
+
LexerPhase[LexerPhase["Plus"] = 50] = "Plus";
|
|
1327
|
+
LexerPhase[LexerPhase["Minus"] = 51] = "Minus";
|
|
1328
|
+
LexerPhase[LexerPhase["Divide"] = 52] = "Divide";
|
|
1329
|
+
LexerPhase[LexerPhase["Remainder"] = 53] = "Remainder";
|
|
1330
|
+
LexerPhase[LexerPhase["ShiftLeft"] = 54] = "ShiftLeft";
|
|
1331
|
+
LexerPhase[LexerPhase["ShiftRight"] = 55] = "ShiftRight";
|
|
1332
|
+
LexerPhase[LexerPhase["LogicalAnd"] = 56] = "LogicalAnd";
|
|
1333
|
+
LexerPhase[LexerPhase["BitwiseXor"] = 57] = "BitwiseXor";
|
|
1334
|
+
LexerPhase[LexerPhase["LogicalOr"] = 58] = "LogicalOr";
|
|
1335
|
+
LexerPhase[LexerPhase["NullCoalesce"] = 59] = "NullCoalesce";
|
|
1336
|
+
LexerPhase[LexerPhase["RegEx"] = 60] = "RegEx";
|
|
1338
1337
|
return LexerPhase;
|
|
1339
1338
|
}(LexerPhase || {});
|
|
1340
1339
|
/**
|
|
@@ -1506,10 +1505,7 @@ var Lexer = class {
|
|
|
1506
1505
|
case ",": return completeToken(TokenType.Comma);
|
|
1507
1506
|
case "(": return completeToken(TokenType.LParent);
|
|
1508
1507
|
case ")": return completeToken(TokenType.RParent);
|
|
1509
|
-
case ":":
|
|
1510
|
-
phase = LexerPhase.Colon;
|
|
1511
|
-
tokenType = TokenType.Colon;
|
|
1512
|
-
break;
|
|
1508
|
+
case ":": return completeToken(TokenType.Colon);
|
|
1513
1509
|
case "`": return completeToken(TokenType.Backtick);
|
|
1514
1510
|
case "[": return completeToken(TokenType.LSquare);
|
|
1515
1511
|
case "]": return completeToken(TokenType.RSquare);
|
|
@@ -1572,7 +1568,6 @@ var Lexer = class {
|
|
|
1572
1568
|
case LexerPhase.IdTail:
|
|
1573
1569
|
if (!isIdContinuation(ch)) return makeToken();
|
|
1574
1570
|
break;
|
|
1575
|
-
case LexerPhase.Colon: return ch === ":" ? completeToken(TokenType.Global) : makeToken();
|
|
1576
1571
|
case LexerPhase.Slash:
|
|
1577
1572
|
if (ch === "*") phase = LexerPhase.BlockCommentTrail1;
|
|
1578
1573
|
else if (ch === "/") {
|
|
@@ -1983,6 +1978,7 @@ resolverHash.set("false", TokenType.False);
|
|
|
1983
1978
|
resolverHash.set("undefined", TokenType.Undefined);
|
|
1984
1979
|
resolverHash.set("null", TokenType.Null);
|
|
1985
1980
|
resolverHash.set("in", TokenType.In);
|
|
1981
|
+
resolverHash.set("instanceof", TokenType.Instanceof);
|
|
1986
1982
|
resolverHash.set("let", TokenType.Let);
|
|
1987
1983
|
resolverHash.set("const", TokenType.Const);
|
|
1988
1984
|
resolverHash.set("var", TokenType.Var);
|
|
@@ -2148,7 +2144,6 @@ const tokenTraits = {
|
|
|
2148
2144
|
expressionStart: true,
|
|
2149
2145
|
isPropLiteral: true
|
|
2150
2146
|
},
|
|
2151
|
-
[TokenType.Global]: { expressionStart: true },
|
|
2152
2147
|
[TokenType.DecimalLiteral]: {
|
|
2153
2148
|
expressionStart: true,
|
|
2154
2149
|
isPropLiteral: true
|
|
@@ -2203,6 +2198,7 @@ const tokenTraits = {
|
|
|
2203
2198
|
keywordLike: true
|
|
2204
2199
|
},
|
|
2205
2200
|
[TokenType.In]: { keywordLike: true },
|
|
2201
|
+
[TokenType.Instanceof]: { keywordLike: true },
|
|
2206
2202
|
[TokenType.Let]: { keywordLike: true },
|
|
2207
2203
|
[TokenType.Const]: { keywordLike: true },
|
|
2208
2204
|
[TokenType.Var]: { keywordLike: true },
|
|
@@ -3763,7 +3759,7 @@ var Parser = class {
|
|
|
3763
3759
|
}
|
|
3764
3760
|
/**
|
|
3765
3761
|
* relOrInExpr
|
|
3766
|
-
* : shiftExpr ( ( "<" | "<=" | ">" | ">=", "in" ) shiftExpr )?
|
|
3762
|
+
* : shiftExpr ( ( "<" | "<=" | ">" | ">=", "in", "instanceof" ) shiftExpr )?
|
|
3767
3763
|
* ;
|
|
3768
3764
|
*/
|
|
3769
3765
|
parseRelOrInExpr() {
|
|
@@ -3771,7 +3767,7 @@ var Parser = class {
|
|
|
3771
3767
|
let leftExpr = this.parseShiftExpr();
|
|
3772
3768
|
if (!leftExpr) return null;
|
|
3773
3769
|
let opType;
|
|
3774
|
-
while (opType = this.skipTokens(TokenType.LessThan, TokenType.LessThanOrEqual, TokenType.GreaterThan, TokenType.GreaterThanOrEqual, TokenType.In)) {
|
|
3770
|
+
while (opType = this.skipTokens(TokenType.LessThan, TokenType.LessThanOrEqual, TokenType.GreaterThan, TokenType.GreaterThanOrEqual, TokenType.In, TokenType.Instanceof)) {
|
|
3775
3771
|
const rightExpr = this.parseShiftExpr();
|
|
3776
3772
|
if (!rightExpr) {
|
|
3777
3773
|
this.reportError("W001");
|
|
@@ -4159,18 +4155,6 @@ var Parser = class {
|
|
|
4159
4155
|
const idToken = this._lexer.get();
|
|
4160
4156
|
return this.createExpressionNode(T_IDENTIFIER, { name: idToken.text }, idToken, idToken);
|
|
4161
4157
|
}
|
|
4162
|
-
case TokenType.Global: {
|
|
4163
|
-
this._lexer.get();
|
|
4164
|
-
const idToken = this._lexer.get();
|
|
4165
|
-
if (idToken.type !== TokenType.Identifier) {
|
|
4166
|
-
this.reportError("W003");
|
|
4167
|
-
return null;
|
|
4168
|
-
}
|
|
4169
|
-
return this.createExpressionNode(T_IDENTIFIER, {
|
|
4170
|
-
name: idToken.text,
|
|
4171
|
-
isGlobal: true
|
|
4172
|
-
}, idToken, idToken);
|
|
4173
|
-
}
|
|
4174
4158
|
case TokenType.Backtick: return this.parseTemplateLiteral();
|
|
4175
4159
|
case TokenType.False:
|
|
4176
4160
|
case TokenType.True:
|