Comparing version 4.0.0 to 4.1.0-dev.20210208
@@ -0,1 +1,17 @@ | ||
# [4.1.0](https://github.com/meriyah/meriyah/compare/v4.0.0...v4.1.0) (2021-02-07) | ||
### Bug Fixes | ||
* **jsx:** decode html entities for JSXText value ([f8121f0](https://github.com/meriyah/meriyah/commit/f8121f04dbb000fc74b664496f7cf22d72477e1c)), closes [#133](https://github.com/meriyah/meriyah/issues/133) | ||
* **parser:** fix wrong loc for BinaryExpression ([ab1ab37](https://github.com/meriyah/meriyah/commit/ab1ab37f36c449d7a1247debdd4457f94c62bf1f)), closes [#169](https://github.com/meriyah/meriyah/issues/169) | ||
* **parser:** fix wrong loc for TemplateLiteral ([a893c16](https://github.com/meriyah/meriyah/commit/a893c1664fdc0b403aa8cb482f9443d9d97c7e1d)), closes [#167](https://github.com/meriyah/meriyah/issues/167) | ||
### Features | ||
* add support of logical assignment ||=, &&=, and ??= ([2a5f12e](https://github.com/meriyah/meriyah/commit/2a5f12e2566f23ad280077c15dee16ca79e0d9ad)), closes [#168](https://github.com/meriyah/meriyah/issues/168) | ||
# [4.0.0](https://github.com/meriyah/meriyah/compare/v3.1.6...v4.0.0) (2021-01-14) | ||
@@ -2,0 +18,0 @@ |
@@ -1,2 +0,2 @@ | ||
import { LexerState } from './'; | ||
import { LexerState } from './common'; | ||
import { Context, ParserState } from '../common'; | ||
@@ -3,0 +3,0 @@ export declare const enum CommentType { |
import { ParserState, Context } from '../common'; | ||
import { Token } from '../token'; | ||
import { NumberKind } from './'; | ||
import { NumberKind } from './common'; | ||
export declare function scanNumber(parser: ParserState, context: Context, kind: NumberKind): Token; | ||
export declare function scanDecimalDigitsOrSeparator(parser: ParserState, char: number): string; | ||
//# sourceMappingURL=numeric.d.ts.map |
import { Token } from '../token'; | ||
import { ParserState, Context } from '../common'; | ||
import { LexerState } from './'; | ||
import { LexerState } from './common'; | ||
export declare const TokenLookup: Token[]; | ||
@@ -5,0 +5,0 @@ export declare function nextToken(parser: ParserState, context: Context): void; |
@@ -81,3 +81,3 @@ import { Token } from './token'; | ||
export declare function parseTemplateLiteral(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.TemplateLiteral; | ||
export declare function parseTemplate(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.TemplateLiteral; | ||
export declare function parseTemplate(parser: ParserState, context: Context): ESTree.TemplateLiteral; | ||
export declare function parseTemplateElement(parser: ParserState, context: Context, cooked: string | null, raw: string, start: number, line: number, col: number, tail: boolean): ESTree.TemplateElement; | ||
@@ -84,0 +84,0 @@ export declare function parseArguments(parser: ParserState, context: Context, inGroup: 0 | 1): (ESTree.SpreadElement | ESTree.Expression)[]; |
@@ -66,96 +66,99 @@ export declare const enum Token { | ||
BitwiseAndAssign = 4194345, | ||
TypeofKeyword = 16863274, | ||
DeleteKeyword = 16863275, | ||
VoidKeyword = 16863276, | ||
Negate = 16842797, | ||
Complement = 16842798, | ||
Add = 25233967, | ||
Subtract = 25233968, | ||
InKeyword = 8738865, | ||
InstanceofKeyword = 8476722, | ||
Multiply = 8457011, | ||
Modulo = 8457012, | ||
Divide = 8457013, | ||
Exponentiate = 8457270, | ||
LogicalAnd = 8979255, | ||
LogicalOr = 8979000, | ||
StrictEqual = 8455993, | ||
StrictNotEqual = 8455994, | ||
LooseEqual = 8455995, | ||
LooseNotEqual = 8455996, | ||
LessThanOrEqual = 8455997, | ||
GreaterThanOrEqual = 8455998, | ||
LessThan = 8456255, | ||
GreaterThan = 8456256, | ||
ShiftLeft = 8456513, | ||
ShiftRight = 8456514, | ||
LogicalShiftRight = 8456515, | ||
BitwiseAnd = 8455748, | ||
BitwiseOr = 8455237, | ||
BitwiseXor = 8455494, | ||
VarKeyword = 86087, | ||
LetKeyword = 241736, | ||
ConstKeyword = 86089, | ||
BreakKeyword = 20554, | ||
CaseKeyword = 20555, | ||
CatchKeyword = 20556, | ||
ClassKeyword = 86093, | ||
ContinueKeyword = 20558, | ||
DebuggerKeyword = 20559, | ||
DefaultKeyword = 20560, | ||
DoKeyword = 20561, | ||
ElseKeyword = 20562, | ||
ExportKeyword = 20563, | ||
ExtendsKeyword = 20564, | ||
FinallyKeyword = 20565, | ||
ForKeyword = 20566, | ||
FunctionKeyword = 86103, | ||
IfKeyword = 20568, | ||
ImportKeyword = 86105, | ||
NewKeyword = 86106, | ||
ReturnKeyword = 20571, | ||
SuperKeyword = 86108, | ||
SwitchKeyword = 86109, | ||
ThisKeyword = 86110, | ||
ThrowKeyword = 86111, | ||
TryKeyword = 20576, | ||
WhileKeyword = 20577, | ||
WithKeyword = 20578, | ||
ImplementsKeyword = 36963, | ||
InterfaceKeyword = 36964, | ||
PackageKeyword = 36965, | ||
PrivateKeyword = 36966, | ||
ProtectedKeyword = 36967, | ||
PublicKeyword = 36968, | ||
StaticKeyword = 36969, | ||
YieldKeyword = 241770, | ||
AsKeyword = 77931, | ||
AsyncKeyword = 209004, | ||
AwaitKeyword = 209005, | ||
ConstructorKeyword = 12398, | ||
GetKeyword = 12399, | ||
SetKeyword = 12400, | ||
FromKeyword = 12401, | ||
OfKeyword = 274546, | ||
EnumKeyword = 86131, | ||
Eval = 537079924, | ||
Arguments = 537079925, | ||
EscapedReserved = 118, | ||
EscapedFutureReserved = 119, | ||
AnyIdentifier = 143480, | ||
PrivateIdentifier = 121, | ||
BigIntLiteral = 134283386, | ||
Coalesce = 276889979, | ||
QuestionMarkPeriod = 67108988, | ||
WhiteSpace = 125, | ||
Illegal = 126, | ||
CarriageReturn = 127, | ||
PrivateField = 128, | ||
Template = 129, | ||
Decorator = 130, | ||
Target = 143491, | ||
Meta = 143492, | ||
LineFeed = 133, | ||
EscapedIdentifier = 134, | ||
JSXText = 135 | ||
LogicalOrAssign = 4194346, | ||
LogicalAndAssign = 4194347, | ||
CoalesceAssign = 4194348, | ||
TypeofKeyword = 16863277, | ||
DeleteKeyword = 16863278, | ||
VoidKeyword = 16863279, | ||
Negate = 16842800, | ||
Complement = 16842801, | ||
Add = 25233970, | ||
Subtract = 25233971, | ||
InKeyword = 8738868, | ||
InstanceofKeyword = 8476725, | ||
Multiply = 8457014, | ||
Modulo = 8457015, | ||
Divide = 8457016, | ||
Exponentiate = 8457273, | ||
LogicalAnd = 8979258, | ||
LogicalOr = 8979003, | ||
StrictEqual = 8455996, | ||
StrictNotEqual = 8455997, | ||
LooseEqual = 8455998, | ||
LooseNotEqual = 8455999, | ||
LessThanOrEqual = 8456000, | ||
GreaterThanOrEqual = 8456001, | ||
LessThan = 8456258, | ||
GreaterThan = 8456259, | ||
ShiftLeft = 8456516, | ||
ShiftRight = 8456517, | ||
LogicalShiftRight = 8456518, | ||
BitwiseAnd = 8455751, | ||
BitwiseOr = 8455240, | ||
BitwiseXor = 8455497, | ||
VarKeyword = 86090, | ||
LetKeyword = 241739, | ||
ConstKeyword = 86092, | ||
BreakKeyword = 20557, | ||
CaseKeyword = 20558, | ||
CatchKeyword = 20559, | ||
ClassKeyword = 86096, | ||
ContinueKeyword = 20561, | ||
DebuggerKeyword = 20562, | ||
DefaultKeyword = 20563, | ||
DoKeyword = 20564, | ||
ElseKeyword = 20565, | ||
ExportKeyword = 20566, | ||
ExtendsKeyword = 20567, | ||
FinallyKeyword = 20568, | ||
ForKeyword = 20569, | ||
FunctionKeyword = 86106, | ||
IfKeyword = 20571, | ||
ImportKeyword = 86108, | ||
NewKeyword = 86109, | ||
ReturnKeyword = 20574, | ||
SuperKeyword = 86111, | ||
SwitchKeyword = 86112, | ||
ThisKeyword = 86113, | ||
ThrowKeyword = 86114, | ||
TryKeyword = 20579, | ||
WhileKeyword = 20580, | ||
WithKeyword = 20581, | ||
ImplementsKeyword = 36966, | ||
InterfaceKeyword = 36967, | ||
PackageKeyword = 36968, | ||
PrivateKeyword = 36969, | ||
ProtectedKeyword = 36970, | ||
PublicKeyword = 36971, | ||
StaticKeyword = 36972, | ||
YieldKeyword = 241773, | ||
AsKeyword = 77934, | ||
AsyncKeyword = 209007, | ||
AwaitKeyword = 209008, | ||
ConstructorKeyword = 12401, | ||
GetKeyword = 12402, | ||
SetKeyword = 12403, | ||
FromKeyword = 12404, | ||
OfKeyword = 274549, | ||
EnumKeyword = 86134, | ||
Eval = 537079927, | ||
Arguments = 537079928, | ||
EscapedReserved = 121, | ||
EscapedFutureReserved = 122, | ||
AnyIdentifier = 143483, | ||
PrivateIdentifier = 124, | ||
BigIntLiteral = 134283389, | ||
Coalesce = 276889982, | ||
QuestionMarkPeriod = 67108991, | ||
WhiteSpace = 128, | ||
Illegal = 129, | ||
CarriageReturn = 130, | ||
PrivateField = 131, | ||
Template = 132, | ||
Decorator = 133, | ||
Target = 143494, | ||
Meta = 143495, | ||
LineFeed = 136, | ||
EscapedIdentifier = 137, | ||
JSXText = 138 | ||
} | ||
@@ -162,0 +165,0 @@ export declare const KeywordDescTable: string[]; |
{ | ||
"name": "meriyah", | ||
"version": "4.0.0", | ||
"version": "4.1.0-dev.20210208", | ||
"description": "A 100% compliant, self-hosted javascript parser with high focus on both performance and stability", | ||
@@ -9,5 +9,9 @@ "main": "dist/meriyah.umd.js", | ||
"browser": "dist/meriyah.umd.js", | ||
"type": "module", | ||
"exports": { | ||
"import": "./dist/meriyah.esm.js", | ||
"require": "./dist/meriyah.umd.cjs" | ||
}, | ||
"types": "dist/src/meriyah.d.ts", | ||
"typings": "dist/src/meriyah.d.ts", | ||
"author": "KFlash", | ||
"license": "ISC", | ||
@@ -22,6 +26,9 @@ "homepage": "https://github.com/meriyah/meriyah", | ||
}, | ||
"authors": [ | ||
"author": { | ||
"name": "Kenny F.", | ||
"url": "https://github.com/KFlash" | ||
}, | ||
"contributors": [ | ||
{ | ||
"name": "Chunpeng Huo", | ||
"social": "@3cp", | ||
"url": "https://github.com/3cp" | ||
@@ -59,3 +66,3 @@ } | ||
"build:watch": "tsc -w", | ||
"lint": "eslint \"{src,test,scripts}/**/*.{ts,js}\"", | ||
"lint": "eslint \"{src,test}/**/*.{ts,js}\"", | ||
"prettier": "node ./scripts/prettier.js write-changed", | ||
@@ -97,3 +104,3 @@ "prettier-all": "node ./scripts/prettier.js write", | ||
"rimraf": "^3.0.2", | ||
"rollup": "^2.36.1", | ||
"rollup": "^2.38.1", | ||
"rollup-plugin-terser": "^7.0.2", | ||
@@ -118,2 +125,2 @@ "rollup-plugin-typescript2": "^0.29.0", | ||
} | ||
} | ||
} |
@@ -20,3 +20,3 @@ <h1 align="center">Meriyah</h1> | ||
* Conforms to the standard ECMAScript® 2020 (ECMA-262 10th Edition) language specification | ||
* Conforms to the standard ECMAScript® 2021 (ECMA-262 11th Edition) language specification | ||
* Support TC39 proposals via option | ||
@@ -37,6 +37,2 @@ * Support for additional ECMAScript features for Web Browsers | ||
* [Hashbang grammar](https://github.com/tc39/proposal-hashbang) | ||
* [import.meta](https://github.com/tc39/proposal-import-meta) | ||
* [Nullish coalescing Operator](https://github.com/tc39/proposal-nullish-coalescing) | ||
* [Numeric separators](https://github.com/tc39/proposal-numeric-separator) | ||
* [Optional Chaining](https://github.com/tc39/proposal-optional-chaining) | ||
* [Private methods](https://github.com/tc39/proposal-private-methods) | ||
@@ -43,0 +39,0 @@ * [Static class fields and private static methods](https://github.com/tc39/proposal-static-class-features/) |
@@ -1,2 +0,3 @@ | ||
import { advanceChar, CharTypes, CharFlags, LexerState, scanNewLine, consumeLineFeed } from './'; | ||
import { advanceChar, LexerState, scanNewLine, consumeLineFeed } from './common'; | ||
import { CharTypes, CharFlags } from './charClassifier'; | ||
import { Chars } from '../chars'; | ||
@@ -3,0 +4,0 @@ import { Context, ParserState } from '../common'; |
import { ParserState, Context } from '../common'; | ||
import { Token, descKeywordTable } from '../token'; | ||
import { Chars } from '../chars'; | ||
import { advanceChar, consumeMultiUnitCodePoint, fromCodePoint, toHex } from './'; | ||
import { advanceChar, consumeMultiUnitCodePoint, fromCodePoint, toHex } from './common'; | ||
import { CharTypes, CharFlags, isIdentifierPart, isIdentifierStart, isIdPart } from './charClassifier'; | ||
@@ -6,0 +6,0 @@ import { report, reportScannerError, Errors } from '../errors'; |
@@ -7,2 +7,3 @@ import { CharFlags, CharTypes } from './charClassifier'; | ||
import { advanceChar, LexerState, TokenLookup, scanSingleToken, scanNewLine, consumeLineFeed } from './'; | ||
import { decodeHTMLStrict } from './decodeHTML'; | ||
@@ -100,4 +101,5 @@ /** | ||
parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index); | ||
if (context & Context.OptionsRaw) parser.tokenRaw = parser.tokenValue; | ||
const raw = parser.source.slice(parser.tokenPos, parser.index); | ||
if (context & Context.OptionsRaw) parser.tokenRaw = raw; | ||
parser.tokenValue = decodeHTMLStrict(raw); | ||
parser.token = Token.JSXText; | ||
@@ -104,0 +106,0 @@ } |
import { ParserState, Context, Flags } from '../common'; | ||
import { Token } from '../token'; | ||
import { advanceChar, toHex, CharTypes, CharFlags, isIdentifierStart, NumberKind } from './'; | ||
import { advanceChar, toHex, NumberKind } from './common'; | ||
import { CharTypes, CharFlags, isIdentifierStart } from './charClassifier'; | ||
import { Chars } from '../chars'; | ||
@@ -5,0 +6,0 @@ import { report, Errors, reportScannerError } from '../errors'; |
import { Chars } from '../chars'; | ||
import { Context, ParserState } from '../common'; | ||
import { Token } from '../token'; | ||
import { advanceChar, isIdentifierPart } from './'; | ||
import { advanceChar } from './common'; | ||
import { isIdentifierPart } from './charClassifier'; | ||
import { report, Errors } from '../errors'; | ||
@@ -6,0 +7,0 @@ |
@@ -8,17 +8,5 @@ import { Chars } from '../chars'; | ||
advanceChar, | ||
skipSingleLineComment, | ||
skipMultiLineComment, | ||
skipSingleHTMLComment, | ||
CommentType, | ||
LexerState, | ||
isExoticECMAScriptWhitespace, | ||
scanRegularExpression, | ||
scanTemplate, | ||
scanNumber, | ||
NumberKind, | ||
scanString, | ||
scanIdentifier, | ||
scanUnicodeIdentifier, | ||
scanIdentifierSlowCase, | ||
scanPrivateIdentifier, | ||
fromCodePoint, | ||
@@ -28,3 +16,9 @@ consumeLineFeed, | ||
convertTokenType | ||
} from './'; | ||
} from './common'; | ||
import { skipSingleLineComment, skipMultiLineComment, skipSingleHTMLComment, CommentType } from './comments'; | ||
import { scanRegularExpression } from './regexp'; | ||
import { scanTemplate } from './template'; | ||
import { scanNumber } from './numeric'; | ||
import { scanString } from './string'; | ||
import { scanIdentifier, scanUnicodeIdentifier, scanIdentifierSlowCase, scanPrivateIdentifier } from './identifier'; | ||
@@ -516,3 +510,3 @@ /* | ||
// `|`, `||`, `|=` | ||
// `|`, `||`, `|=`, `||=` | ||
case Token.BitwiseOr: { | ||
@@ -525,2 +519,8 @@ advanceChar(parser); | ||
advanceChar(parser); | ||
if (parser.currentChar === Chars.EqualSign) { | ||
advanceChar(parser); | ||
return Token.LogicalOrAssign; | ||
} | ||
return Token.LogicalOr; | ||
@@ -570,3 +570,3 @@ } | ||
// `&`, `&&`, `&=` | ||
// `&`, `&&`, `&=`, `&&=` | ||
case Token.BitwiseAnd: { | ||
@@ -579,2 +579,8 @@ advanceChar(parser); | ||
advanceChar(parser); | ||
if (parser.currentChar === Chars.EqualSign) { | ||
advanceChar(parser); | ||
return Token.LogicalAndAssign; | ||
} | ||
return Token.LogicalAnd; | ||
@@ -591,3 +597,3 @@ } | ||
// `?`, `??`, `?.` | ||
// `?`, `??`, `?.`, `??=` | ||
case Token.QuestionMark: { | ||
@@ -597,2 +603,8 @@ let ch = advanceChar(parser); | ||
advanceChar(parser); | ||
if (parser.currentChar === Chars.EqualSign) { | ||
advanceChar(parser); | ||
return Token.CoalesceAssign; | ||
} | ||
return Token.Coalesce; | ||
@@ -599,0 +611,0 @@ } |
@@ -5,4 +5,4 @@ import { ParserState, Context, Flags } from '../common'; | ||
import { report, Errors } from '../errors'; | ||
import { toHex, advanceChar, fromCodePoint, CharTypes, CharFlags } from './'; | ||
import { toHex, advanceChar, fromCodePoint } from './common'; | ||
import { CharTypes, CharFlags } from './charClassifier'; | ||
// Intentionally negative | ||
@@ -9,0 +9,0 @@ export const enum Escape { |
193
src/token.ts
@@ -85,114 +85,117 @@ export const enum Token { | ||
BitwiseAndAssign = 41 | IsAssignOp, // &= | ||
LogicalOrAssign = 42 | IsAssignOp, // ||= | ||
LogicalAndAssign = 43 | IsAssignOp, // &&= | ||
CoalesceAssign = 44 | IsAssignOp, // ??= | ||
/* Unary/binary operators */ | ||
TypeofKeyword = 42 | IsUnaryOp | Reserved, | ||
DeleteKeyword = 43 | IsUnaryOp | Reserved, | ||
VoidKeyword = 44 | IsUnaryOp | Reserved, | ||
Negate = 45 | IsUnaryOp, // ! | ||
Complement = 46 | IsUnaryOp, // ~ | ||
Add = 47 | IsUnaryOp | IsBinaryOp | 10 << PrecStart, // + | ||
Subtract = 48 | IsUnaryOp | IsBinaryOp | 10 << PrecStart, // - | ||
InKeyword = 49 | IsBinaryOp | 8 << PrecStart | Reserved | IsInOrOf, | ||
InstanceofKeyword = 50 | IsBinaryOp | 8 << PrecStart | Reserved, | ||
Multiply = 51 | IsBinaryOp | 11 << PrecStart, // * | ||
Modulo = 52 | IsBinaryOp | 11 << PrecStart, // % | ||
Divide = 53 | IsBinaryOp | IsExpressionStart | 11 << PrecStart, // / | ||
Exponentiate = 54 | IsBinaryOp | 12 << PrecStart, // ** | ||
LogicalAnd = 55 | IsBinaryOp | IsLogical | 3 << PrecStart, // && | ||
LogicalOr = 56 | IsBinaryOp | IsLogical | 2 << PrecStart, // || | ||
StrictEqual = 57 | IsBinaryOp | 7 << PrecStart, // === | ||
StrictNotEqual = 58 | IsBinaryOp | 7 << PrecStart, // !== | ||
LooseEqual = 59 | IsBinaryOp | 7 << PrecStart, // == | ||
LooseNotEqual = 60 | IsBinaryOp | 7 << PrecStart, // != | ||
LessThanOrEqual = 61 | IsBinaryOp | 7 << PrecStart, // <= | ||
GreaterThanOrEqual = 62 | IsBinaryOp | 7 << PrecStart, // >= | ||
LessThan = 63 | IsBinaryOp | IsExpressionStart | 8 << PrecStart, // < | ||
GreaterThan = 64 | IsBinaryOp | 8 << PrecStart, // > | ||
ShiftLeft = 65 | IsBinaryOp | 9 << PrecStart, // << | ||
ShiftRight = 66 | IsBinaryOp | 9 << PrecStart, // >> | ||
LogicalShiftRight = 67 | IsBinaryOp | 9 << PrecStart, // >>> | ||
BitwiseAnd = 68 | IsBinaryOp | 6 << PrecStart, // & | ||
BitwiseOr = 69 | IsBinaryOp | 4 << PrecStart, // | | ||
BitwiseXor = 70 | IsBinaryOp | 5 << PrecStart, // ^ | ||
TypeofKeyword = 45 | IsUnaryOp | Reserved, | ||
DeleteKeyword = 46 | IsUnaryOp | Reserved, | ||
VoidKeyword = 47 | IsUnaryOp | Reserved, | ||
Negate = 48 | IsUnaryOp, // ! | ||
Complement = 49 | IsUnaryOp, // ~ | ||
Add = 50 | IsUnaryOp | IsBinaryOp | 10 << PrecStart, // + | ||
Subtract = 51 | IsUnaryOp | IsBinaryOp | 10 << PrecStart, // - | ||
InKeyword = 52 | IsBinaryOp | 8 << PrecStart | Reserved | IsInOrOf, | ||
InstanceofKeyword = 53 | IsBinaryOp | 8 << PrecStart | Reserved, | ||
Multiply = 54 | IsBinaryOp | 11 << PrecStart, // * | ||
Modulo = 55 | IsBinaryOp | 11 << PrecStart, // % | ||
Divide = 56 | IsBinaryOp | IsExpressionStart | 11 << PrecStart, // / | ||
Exponentiate = 57 | IsBinaryOp | 12 << PrecStart, // ** | ||
LogicalAnd = 58 | IsBinaryOp | IsLogical | 3 << PrecStart, // && | ||
LogicalOr = 59 | IsBinaryOp | IsLogical | 2 << PrecStart, // || | ||
StrictEqual = 60 | IsBinaryOp | 7 << PrecStart, // === | ||
StrictNotEqual = 61 | IsBinaryOp | 7 << PrecStart, // !== | ||
LooseEqual = 62 | IsBinaryOp | 7 << PrecStart, // == | ||
LooseNotEqual = 63 | IsBinaryOp | 7 << PrecStart, // != | ||
LessThanOrEqual = 64 | IsBinaryOp | 7 << PrecStart, // <= | ||
GreaterThanOrEqual = 65 | IsBinaryOp | 7 << PrecStart, // >= | ||
LessThan = 66 | IsBinaryOp | IsExpressionStart | 8 << PrecStart, // < | ||
GreaterThan = 67 | IsBinaryOp | 8 << PrecStart, // > | ||
ShiftLeft = 68 | IsBinaryOp | 9 << PrecStart, // << | ||
ShiftRight = 69 | IsBinaryOp | 9 << PrecStart, // >> | ||
LogicalShiftRight = 70 | IsBinaryOp | 9 << PrecStart, // >>> | ||
BitwiseAnd = 71 | IsBinaryOp | 6 << PrecStart, // & | ||
BitwiseOr = 72 | IsBinaryOp | 4 << PrecStart, // | | ||
BitwiseXor = 73 | IsBinaryOp | 5 << PrecStart, // ^ | ||
/* Variable declaration kinds */ | ||
VarKeyword = 71 | IsExpressionStart | Reserved, | ||
LetKeyword = 72 | IsExpressionStart | FutureReserved | IsIdentifier, | ||
ConstKeyword = 73 | IsExpressionStart | Reserved, | ||
VarKeyword = 74 | IsExpressionStart | Reserved, | ||
LetKeyword = 75 | IsExpressionStart | FutureReserved | IsIdentifier, | ||
ConstKeyword = 76 | IsExpressionStart | Reserved, | ||
/* Other reserved words */ | ||
BreakKeyword = 74 | Reserved, | ||
CaseKeyword = 75 | Reserved, | ||
CatchKeyword = 76 | Reserved, | ||
ClassKeyword = 77 | IsExpressionStart | Reserved, | ||
ContinueKeyword = 78 | Reserved, | ||
DebuggerKeyword = 79 | Reserved, | ||
DefaultKeyword = 80 | Reserved, | ||
DoKeyword = 81 | Reserved, | ||
ElseKeyword = 82 | Reserved, | ||
ExportKeyword = 83 | Reserved, | ||
ExtendsKeyword = 84 | Reserved, | ||
FinallyKeyword = 85 | Reserved, | ||
ForKeyword = 86 | Reserved, | ||
FunctionKeyword = 87 | IsExpressionStart | Reserved, | ||
IfKeyword = 88 | Reserved, | ||
ImportKeyword = 89 | IsExpressionStart | Reserved, | ||
NewKeyword = 90 | IsExpressionStart | Reserved, | ||
ReturnKeyword = 91 | Reserved, | ||
SuperKeyword = 92 | IsExpressionStart | Reserved, | ||
SwitchKeyword = 93 | IsExpressionStart | Reserved, | ||
ThisKeyword = 94 | IsExpressionStart | Reserved, | ||
ThrowKeyword = 95 | IsExpressionStart | Reserved, | ||
TryKeyword = 96 | Reserved, | ||
WhileKeyword = 97 | Reserved, | ||
WithKeyword = 98 | Reserved, | ||
BreakKeyword = 77 | Reserved, | ||
CaseKeyword = 78 | Reserved, | ||
CatchKeyword = 79 | Reserved, | ||
ClassKeyword = 80 | IsExpressionStart | Reserved, | ||
ContinueKeyword = 81 | Reserved, | ||
DebuggerKeyword = 82 | Reserved, | ||
DefaultKeyword = 83 | Reserved, | ||
DoKeyword = 84 | Reserved, | ||
ElseKeyword = 85 | Reserved, | ||
ExportKeyword = 86 | Reserved, | ||
ExtendsKeyword = 87 | Reserved, | ||
FinallyKeyword = 88 | Reserved, | ||
ForKeyword = 89 | Reserved, | ||
FunctionKeyword = 90 | IsExpressionStart | Reserved, | ||
IfKeyword = 91 | Reserved, | ||
ImportKeyword = 92 | IsExpressionStart | Reserved, | ||
NewKeyword = 93 | IsExpressionStart | Reserved, | ||
ReturnKeyword = 94 | Reserved, | ||
SuperKeyword = 95 | IsExpressionStart | Reserved, | ||
SwitchKeyword = 96 | IsExpressionStart | Reserved, | ||
ThisKeyword = 97 | IsExpressionStart | Reserved, | ||
ThrowKeyword = 98 | IsExpressionStart | Reserved, | ||
TryKeyword = 99 | Reserved, | ||
WhileKeyword = 100 | Reserved, | ||
WithKeyword = 101 | Reserved, | ||
/* Strict mode reserved words */ | ||
ImplementsKeyword = 99 | FutureReserved, | ||
InterfaceKeyword = 100 | FutureReserved, | ||
PackageKeyword = 101 | FutureReserved, | ||
PrivateKeyword = 102 | FutureReserved, | ||
ProtectedKeyword = 103 | FutureReserved, | ||
PublicKeyword = 104 | FutureReserved, | ||
StaticKeyword = 105 | FutureReserved, | ||
YieldKeyword = 106 | FutureReserved | IsExpressionStart | IsIdentifier, | ||
ImplementsKeyword = 102 | FutureReserved, | ||
InterfaceKeyword = 103 | FutureReserved, | ||
PackageKeyword = 104 | FutureReserved, | ||
PrivateKeyword = 105 | FutureReserved, | ||
ProtectedKeyword = 106 | FutureReserved, | ||
PublicKeyword = 107 | FutureReserved, | ||
StaticKeyword = 108 | FutureReserved, | ||
YieldKeyword = 109 | FutureReserved | IsExpressionStart | IsIdentifier, | ||
/* Contextual keywords */ | ||
AsKeyword = 107 | Contextual | IsExpressionStart, | ||
AsyncKeyword = 108 | Contextual | IsIdentifier | IsExpressionStart, | ||
AwaitKeyword = 109 | Contextual | IsExpressionStart | IsIdentifier, | ||
ConstructorKeyword = 110 | Contextual, | ||
GetKeyword = 111 | Contextual, | ||
SetKeyword = 112 | Contextual, | ||
FromKeyword = 113 | Contextual, | ||
OfKeyword = 114 | Contextual | IsInOrOf, | ||
EnumKeyword = 115 | Reserved | IsExpressionStart, | ||
AsKeyword = 110 | Contextual | IsExpressionStart, | ||
AsyncKeyword = 111 | Contextual | IsIdentifier | IsExpressionStart, | ||
AwaitKeyword = 112 | Contextual | IsExpressionStart | IsIdentifier, | ||
ConstructorKeyword = 113 | Contextual, | ||
GetKeyword = 114 | Contextual, | ||
SetKeyword = 115 | Contextual, | ||
FromKeyword = 116 | Contextual, | ||
OfKeyword = 117 | Contextual | IsInOrOf, | ||
EnumKeyword = 118 | Reserved | IsExpressionStart, | ||
Eval = 116 | IsEvalOrArguments, | ||
Arguments = 117 | IsEvalOrArguments, | ||
Eval = 119 | IsEvalOrArguments, | ||
Arguments = 120 | IsEvalOrArguments, | ||
EscapedReserved = 118, | ||
EscapedFutureReserved = 119, | ||
AnyIdentifier = 120 | IsIdentifier, | ||
EscapedReserved = 121, | ||
EscapedFutureReserved = 122, | ||
AnyIdentifier = 123 | IsIdentifier, | ||
// Stage #3 proposals | ||
PrivateIdentifier = 121, | ||
BigIntLiteral = 122 | IsExpressionStart | IsStringOrNumber, | ||
Coalesce = 123 | IsBinaryOp | IsCoalesc | 1 << PrecStart, // ?? | ||
QuestionMarkPeriod = 124 | IsMemberOrCallExpression, // ?. | ||
PrivateIdentifier = 124, | ||
BigIntLiteral = 125 | IsExpressionStart | IsStringOrNumber, | ||
Coalesce = 126 | IsBinaryOp | IsCoalesc | 1 << PrecStart, // ?? | ||
QuestionMarkPeriod = 127 | IsMemberOrCallExpression, // ?. | ||
// Others | ||
WhiteSpace = 125, | ||
Illegal = 126, | ||
CarriageReturn = 127, | ||
PrivateField = 128, | ||
Template = 129, | ||
Decorator = 130, | ||
Target = 131 | IsIdentifier, | ||
Meta = 132 | IsIdentifier, | ||
LineFeed = 133, | ||
EscapedIdentifier = 134, | ||
WhiteSpace = 128, | ||
Illegal = 129, | ||
CarriageReturn = 130, | ||
PrivateField = 131, | ||
Template = 132, | ||
Decorator = 133, | ||
Target = 134 | IsIdentifier, | ||
Meta = 135 | IsIdentifier, | ||
LineFeed = 136, | ||
EscapedIdentifier = 137, | ||
// JSX | ||
JSXText = 135, | ||
JSXText = 138, | ||
} | ||
@@ -218,3 +221,3 @@ | ||
'=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=', | ||
'&=', | ||
'&=', '||=', '&&=', '??=', | ||
@@ -221,0 +224,0 @@ /* Unary/binary operators */ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
4496087
80
91043
Yes
1
187