yapp 5.1.261 → 5.1.263

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.
@@ -97,7 +97,7 @@ function _is_native_reflect_construct() {
97
97
  })();
98
98
  }
99
99
  var rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, parserFromRules = _occamparsers.parserUtilities.parserFromRules;
100
- var bnf = '\n\n javaScript ::= preamble? ( statement | function | class | error )* ;\n\n\n preamble ::= "\\"use strict\\";" ;\n\n\n statement ::= statementBody... ";"\n \n | "{" ( statement | function )* "}"\n \n | "if" "(" expression... ")" statement ( "else" statement )?\n\n | "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )\n\n | ( "(" variable "in" expression... ")" statement )\n\n | ( "await"? "(" variable "of" expression... ")" statement ) )\n\n | "do" statement "while" "(" expression... ")"\n\n | "while" "(" expression... ")" statement\n \n | "switch" "(" expression... ")" "{" case* defaultCase? "}"\n\n | try ( ( catch* finally ) | catch+ )\n\n ;\n\n\n class ::= ( "export" "default"? )? "class" name classBody\n \n | "export" "default" "class" classBody\n \n ;\n\n\n function ::= ( "export" "default"? )? "async"? "function" name functionBody \n \n | "export" "default" "async"? "function" functionBody\n\n ;\n\n\n statementBody ::= "import" ( [string-literal]\n\n | ( name "from" [string-literal] )\n\n | ( "{" names "}" "from" [string-literal] )\n\n | ( "*" "as" name "from" [string-literal] ) )\n\n | "export" ( ( "{" names "}" ( "from" [string-literal] )? )\n\n | ( "const" "{" fields "}" "=" expression )\n\n | ( "{" "default" "}" "from" [string-literal] )\n\n | ( "*" ( "as" name )? "from" [string-literal] ) )\n\n | "export"? ( ( "var" var ( "," var )* )\n\n | ( "let" let ( "," let )* )\n\n | ( "const" const ( "," const )* ) )\n \n | ( "export" "default" )? expression\n\n | "return" ( ( "(" expression ")" ) | expression? )\n\n | "throw" expression\n\n | "delete" expression\n\n | "break"\n\n | "continue"\n\n | "debugger"\n \n ;\n\n\n functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;\n\n\n classBody ::= ( "extends" name )? "{" ( constructor | method | field )* "}" ;\n\n\n constructor ::= "constructor" functionBody ;\n\n\n method ::= "static"? name functionBody ;\n\n\n field ::= "static"? name "=" expression... ";" ;\n\n\n var ::= variable ( "=" expression )? | destructure "=" expression ;\n\n\n let ::= variable ( "=" expression )? | destructure "=" expression ;\n\n\n const ::= ( variable | destructure ) "=" expression ;\n\n\n try ::= "try" "{" statement+ "}" ;\n\n\n catch ::= "catch" "(" [identifier] ")" "{" statement+ "}" ;\n\n\n finally ::= "finally" "{" statement+ "}" ;\n\n\n case ::= "case" expression ":" statement ( "break" ";" )? ;\n\n\n defaultCase ::= "default" ":" statement ( "break" ";" )? ;\n\n\n initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;\n\n\n destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"\n\n | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"\n\n ;\n\n\n expression ::= jsx\n\n | json\n\n | arrowFunction\n\n | templateLiteral\n\n | anonymousFunction\n\n | "(" expression ")"\n\n | "{" ( property ( "," property )* )? "}"\n\n | "[" ( expression ( "," expression )* ","? )? "]"\n\n | "typeof" ( expression | ( "(" expression ")") )\n\n | "void" ( expression | ( "(" expression ")") )\n\n | "new" name<NO_WHITESPACE>"(" expressions? ")"\n\n | [operator]<NO_WHITESPACE>expression\n\n | expression<NO_WHITESPACE>( ( "."<NO_WHITESPACE>name )\n\n | ( "[" expressions "]" )\n\n | ( "(" expressions? ")" )\n\n | templateLiteral\n\n | [operator] )\n\n | expression ( ( [operator] expression )\n\n | ( "?" expression ":" expression )\n\n | ( "instanceof" expression )\n\n | ( "in" expression ) )\n\n | [number]\n\n | variable\n\n | primitive\n\n | importMeta\n\n | [string-literal]\n\n | "super" | "this" | "true" | "false" | "null" | "undefined"\n\n ;\n\n\n jsx ::= jsxCompleteTag | jsxStartTag ( jsx | ( "{" expression? "}" ) | string )* jsxEndTag ;\n\n\n jsxCompleteTag ::= "<"<NO_WHITESPACE>name jsxAttribute* "/>" ;\n\n\n jsxStartTag ::= "<"<NO_WHITESPACE>name jsxAttribute* ">" ;\n\n\n jsxEndTag ::= "</"<NO_WHITESPACE>name ">" ;\n\n\n jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;\n\n\n json ::= jsonArray | jsonObject ;\n\n\n jsonArray ::= "[" ( jsonElement ( "," jsonElement )* )? "]" ;\n\n\n jsonObject ::= "{" ( [string-literal] ":" jsonElement ( "," [string-literal] ":" jsonElement )* )? "}" ;\n\n\n jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;\n\n\n arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;\n \n\n templateLiteral ::= "`" ( ( "${" expression? "}" ) | string )* "`" ;\n\n\n string ::= ( [number] | [special] | [operator]| [keyword] | [identifier] | [string-literal]| [broken-string-literal] | [unassigned] )+ ;\n\n\n property ::= ( ( ( name | [string-literal] ) ":" expression ) | variable ) ;\n\n\n importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;\n\n\n expressions ::= expression ( "," expression )* ;\n\n\n arguments ::= spreadArgument | ( argument ( "," argument )* ( "," spreadArgument )? ) ;\n\n\n fields ::= name ( ":" name )? ( "," name ( ":" name )? )* ;\n\n\n names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;\n\n\n spreadArgument ::= "..."<NO_WHITESPACE>variable ;\n\n \n argument ::= variable ( "=" expression )? ;\n\n\n variable ::= [identifier] ;\n\n\n label ::= [identifier] ;\n\n\n name ::= [identifier] ;\n\n\n error. ::= . ;\n \n';
100
+ var bnf = '\n\n javaScript ::= preamble? ( statement | function | class | error )* ;\n\n\n preamble ::= "\\"use strict\\";" ;\n\n\n statement ::= statementBody... ";"\n \n | "{" ( statement | function )* "}"\n \n | "if" "(" expression... ")" statement ( "else" statement )?\n \n | "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )\n \n | ( "(" variable "in" expression... ")" statement )\n \n | ( "await"? "(" variable "of" expression... ")" statement ) )\n \n | "do" statement "while" "(" expression... ")"\n \n | "while" "(" expression... ")" statement\n \n | "switch" "(" expression... ")" "{" case* defaultCase? "}"\n \n | try ( ( catch* finally ) | catch+ )\n \n ;\n\n\n class ::= ( "export" "default"? )? "class" name classBody\n \n | "export" "default" "class" classBody\n \n ;\n\n\n function ::= ( "export" "default"? )? "async"? "function" name functionBody \n \n | "export" "default" "async"? "function" functionBody\n \n ;\n\n\n statementBody ::= "import" ( [string-literal]\n\n | ( name "from" [string-literal] )\n \n | ( "{" names "}" "from" [string-literal] )\n \n | ( "*" "as" name "from" [string-literal] ) )\n \n | "export" ( ( "{" names "}" ( "from" [string-literal] )? )\n \n | ( "const" "{" fields "}" "=" expression )\n \n | ( "{" "default" "}" "from" [string-literal] )\n \n | ( "*" ( "as" name )? "from" [string-literal] ) )\n \n | "export"? ( ( "var" var ( "," var )* )\n \n | ( "let" let ( "," let )* )\n \n | ( "const" const ( "," const )* ) )\n \n | ( "export" "default" )? expression\n \n | "return" ( ( "(" expression ")" ) | expression? )\n \n | "throw" expression\n \n | "delete" expression\n \n | "break"\n \n | "continue"\n \n | "debugger"\n \n ;\n\n\n functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;\n\n\n classBody ::= ( "extends" name )? "{" ( classConstructor | classMethod | classField )* "}" ;\n\n\n classConstructor ::= "constructor" functionBody ;\n\n\n classMethod ::= "static"? name functionBody ;\n\n\n classField ::= "static"? name "=" expression... ";" ;\n\n\n var ::= variable ( "=" expression )? | destructure "=" expression ;\n\n\n let ::= variable ( "=" expression )? | destructure "=" expression ;\n\n\n const ::= ( variable | destructure ) "=" expression ;\n\n\n try ::= "try" "{" statement+ "}" ;\n\n\n catch ::= "catch" "(" [identifier] ")" "{" statement+ "}" ;\n\n\n finally ::= "finally" "{" statement+ "}" ;\n\n\n case ::= "case" expression ":" statement ( "break" ";" )? ;\n\n\n defaultCase ::= "default" ":" statement ( "break" ";" )? ;\n\n\n initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;\n\n\n destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"\n\n | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"\n \n ;\n\n\n expression ::= jsx\n\n | json\n \n | arrowFunction\n \n | templateLiteral\n \n | anonymousFunction\n \n | "(" expression ")"\n \n | "{" ( property ( "," property )* )? "}"\n \n | "[" ( expression ( "," expression )* ","? )? "]"\n \n | "typeof" ( expression | ( "(" expression ")") )\n \n | "void" ( expression | ( "(" expression ")") )\n \n | "new" name<NO_WHITESPACE>"(" expressions? ")"\n \n | [operator]<NO_WHITESPACE>expression\n \n | expression<NO_WHITESPACE>( ( "."<NO_WHITESPACE>name )\n \n | ( "[" expressions "]" )\n \n | ( "(" expressions? ")" )\n \n | templateLiteral\n \n | [operator] )\n \n | expression ( ( [operator] expression )\n \n | ( "?" expression ":" expression )\n \n | ( "instanceof" expression )\n \n | ( "in" expression ) )\n \n | [number]\n \n | variable\n \n | primitive\n \n | importMeta\n \n | [string-literal]\n \n | "super" | "this" | "true" | "false" | "null" | "undefined"\n \n ;\n\n\n jsx ::= jsxCompleteTag | jsxStartTag ( jsx | ( "{" expression? "}" ) | string )* jsxEndTag ;\n\n\n jsxCompleteTag ::= "<"<NO_WHITESPACE>name jsxAttribute* "/>" ;\n\n\n jsxStartTag ::= "<"<NO_WHITESPACE>name jsxAttribute* ">" ;\n\n\n jsxEndTag ::= "</"<NO_WHITESPACE>name ">" ;\n\n\n jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;\n\n\n json ::= jsonArray | jsonObject ;\n\n\n jsonArray ::= "[" ( jsonElement ( "," jsonElement )* )? "]" ;\n\n\n jsonObject ::= "{" ( [string-literal] ":" jsonElement ( "," [string-literal] ":" jsonElement )* )? "}" ;\n\n\n jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;\n\n\n arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;\n \n\n templateLiteral ::= "`" ( ( "${" expression? "}" ) | string )* "`" ;\n\n\n string ::= ( [number] | [special] | [operator]| [keyword] | [identifier] | [string-literal]| [broken-string-literal] | [unassigned] )+ ;\n\n\n property ::= ( ( ( name | [string-literal] ) ":" expression ) | variable ) ;\n\n\n importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;\n\n\n expressions ::= expression ( "," expression )* ;\n\n\n arguments ::= spreadArgument | ( argument ( "," argument )* ( "," spreadArgument )? ) ;\n\n\n fields ::= name ( ":" name )? ( "," name ( ":" name )? )* ;\n\n\n names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;\n\n\n spreadArgument ::= "..."<NO_WHITESPACE>variable ;\n\n \n argument ::= variable ( "=" expression )? ;\n\n\n variable ::= [identifier] ;\n\n\n label ::= [identifier] ;\n\n\n name ::= [identifier] ;\n\n\n error. ::= . ;\n \n';
101
101
  var rules = rulesFromBNF(bnf);
102
102
  rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
103
103
  var JavaScriptParser = /*#__PURE__*/ function(CommonParser) {
@@ -125,4 +125,4 @@ var JavaScriptParser = /*#__PURE__*/ function(CommonParser) {
125
125
  }(_occamparsers.CommonParser);
126
126
  _define_property(JavaScriptParser, "bnf", bnf);
127
127
 
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXIvamF2YXNjcmlwdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uUGFyc2VyIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmNvbnN0IHsgcnVsZXNGcm9tQk5GLCBwYXJzZXJGcm9tUnVsZXMgfSA9IHBhcnNlclV0aWxpdGllcztcblxuY29uc3QgYm5mID0gYFxuXG4gIGphdmFTY3JpcHQgICAgICA6Oj0gIHByZWFtYmxlPyAoIHN0YXRlbWVudCB8IGZ1bmN0aW9uIHwgY2xhc3MgfCBlcnJvciApKiA7XG5cblxuICBwcmVhbWJsZSAgICAgICAgOjo9ICBcIlxcXFxcInVzZSBzdHJpY3RcXFxcXCI7XCIgO1xuXG5cbiAgc3RhdGVtZW50ICAgICAgIDo6PSAgc3RhdGVtZW50Qm9keS4uLiBcIjtcIlxuICBcbiAgICAgICAgICAgICAgICAgICAgfCAgXCJ7XCIgKCBzdGF0ZW1lbnQgfCBmdW5jdGlvbiApKiBcIn1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB8ICBcImlmXCIgXCIoXCIgZXhwcmVzc2lvbi4uLiBcIilcIiBzdGF0ZW1lbnQgKCBcImVsc2VcIiBzdGF0ZW1lbnQgKT9cblxuICAgICAgICAgICAgICAgICAgICB8ICBcImZvclwiICggKCBcIihcIiBpbml0aWFsaXNlciAoIFwiO1wiIGV4cHJlc3Npb24gKT8gKCBcIjtcIiBleHByZXNzaW9uICk/IFwiKVwiIHN0YXRlbWVudCApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiKFwiIHZhcmlhYmxlIFwiaW5cIiBleHByZXNzaW9uLi4uIFwiKVwiIHN0YXRlbWVudCApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiYXdhaXRcIj8gXCIoXCIgdmFyaWFibGUgXCJvZlwiIGV4cHJlc3Npb24uLi4gXCIpXCIgc3RhdGVtZW50ICkgKVxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiZG9cIiBzdGF0ZW1lbnQgXCJ3aGlsZVwiIFwiKFwiIGV4cHJlc3Npb24uLi4gXCIpXCJcblxuICAgICAgICAgICAgICAgICAgICB8ICBcIndoaWxlXCIgXCIoXCIgZXhwcmVzc2lvbi4uLiBcIilcIiBzdGF0ZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfCAgXCJzd2l0Y2hcIiBcIihcIiBleHByZXNzaW9uLi4uIFwiKVwiIFwie1wiIGNhc2UqIGRlZmF1bHRDYXNlPyBcIn1cIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIHRyeSAoICggY2F0Y2gqIGZpbmFsbHkgKSB8IGNhdGNoKyApXG5cbiAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgY2xhc3MgICAgICAgICAgIDo6PSAgKCBcImV4cG9ydFwiIFwiZGVmYXVsdFwiPyApPyBcImNsYXNzXCIgbmFtZSBjbGFzc0JvZHlcbiAgXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiZXhwb3J0XCIgXCJkZWZhdWx0XCIgXCJjbGFzc1wiIGNsYXNzQm9keVxuICBcbiAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgZnVuY3Rpb24gICAgICAgIDo6PSAgKCBcImV4cG9ydFwiIFwiZGVmYXVsdFwiPyApPyBcImFzeW5jXCI/IFwiZnVuY3Rpb25cIiBuYW1lIGZ1bmN0aW9uQm9keSBcbiAgXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiZXhwb3J0XCIgXCJkZWZhdWx0XCIgXCJhc3luY1wiPyBcImZ1bmN0aW9uXCIgZnVuY3Rpb25Cb2R5XG5cbiAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgc3RhdGVtZW50Qm9keSAgIDo6PSAgXCJpbXBvcnRcIiAoIFtzdHJpbmctbGl0ZXJhbF1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggbmFtZSBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJ7XCIgbmFtZXMgXCJ9XCIgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiKlwiIFwiYXNcIiBuYW1lIFwiZnJvbVwiIFtzdHJpbmctbGl0ZXJhbF0gKSApXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJleHBvcnRcIiAoICggXCJ7XCIgbmFtZXMgXCJ9XCIgKCBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdICk/IClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJjb25zdFwiIFwie1wiIGZpZWxkcyBcIn1cIiBcIj1cIiBleHByZXNzaW9uIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJ7XCIgXCJkZWZhdWx0XCIgXCJ9XCIgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiKlwiICggXCJhc1wiIG5hbWUgKT8gXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApIClcblxuICAgICAgICAgICAgICAgICAgICB8ICBcImV4cG9ydFwiPyAoICggXCJ2YXJcIiB2YXIgKCBcIixcIiB2YXIgKSogKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJsZXRcIiBsZXQgKCBcIixcIiBsZXQgKSogKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJjb25zdFwiIGNvbnN0ICggXCIsXCIgY29uc3QgKSogKSApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB8ICAoIFwiZXhwb3J0XCIgXCJkZWZhdWx0XCIgKT8gZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwicmV0dXJuXCIgKCAoIFwiKFwiIGV4cHJlc3Npb24gXCIpXCIgKSB8IGV4cHJlc3Npb24/IClcblxuICAgICAgICAgICAgICAgICAgICB8ICBcInRocm93XCIgZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiZGVsZXRlXCIgZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiYnJlYWtcIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiY29udGludWVcIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiZGVidWdnZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA7XG5cblxuICBmdW5jdGlvbkJvZHkgICAgOjo9ICBcIihcIiBhcmd1bWVudHM/IFwiKVwiIFwie1wiICggc3RhdGVtZW50IHwgZnVuY3Rpb24gKSogXCJ9XCIgO1xuXG5cbiAgY2xhc3NCb2R5ICAgICAgIDo6PSAgKCBcImV4dGVuZHNcIiBuYW1lICk/IFwie1wiICggY29uc3RydWN0b3IgfCBtZXRob2QgfCBmaWVsZCApKiBcIn1cIiA7XG5cblxuICBjb25zdHJ1Y3RvciAgICAgOjo9ICBcImNvbnN0cnVjdG9yXCIgZnVuY3Rpb25Cb2R5IDtcblxuXG4gIG1ldGhvZCAgICAgICAgICA6Oj0gIFwic3RhdGljXCI/IG5hbWUgZnVuY3Rpb25Cb2R5IDtcblxuXG4gIGZpZWxkICAgICAgICAgICA6Oj0gIFwic3RhdGljXCI/IG5hbWUgXCI9XCIgZXhwcmVzc2lvbi4uLiBcIjtcIiA7XG5cblxuICB2YXIgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZSAoIFwiPVwiIGV4cHJlc3Npb24gKT8gfCBkZXN0cnVjdHVyZSBcIj1cIiBleHByZXNzaW9uIDtcblxuXG4gIGxldCAgICAgICAgICAgICA6Oj0gIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyB8IGRlc3RydWN0dXJlIFwiPVwiIGV4cHJlc3Npb24gO1xuXG5cbiAgY29uc3QgICAgICAgICAgIDo6PSAgKCB2YXJpYWJsZSB8IGRlc3RydWN0dXJlICkgXCI9XCIgZXhwcmVzc2lvbiA7XG5cblxuICB0cnkgICAgICAgICAgICAgOjo9ICBcInRyeVwiIFwie1wiIHN0YXRlbWVudCsgXCJ9XCIgO1xuXG5cbiAgY2F0Y2ggICAgICAgICAgIDo6PSAgXCJjYXRjaFwiIFwiKFwiIFtpZGVudGlmaWVyXSBcIilcIiBcIntcIiBzdGF0ZW1lbnQrIFwifVwiIDtcblxuXG4gIGZpbmFsbHkgICAgICAgICA6Oj0gIFwiZmluYWxseVwiIFwie1wiIHN0YXRlbWVudCsgXCJ9XCIgO1xuXG5cbiAgY2FzZSAgICAgICAgICAgIDo6PSAgXCJjYXNlXCIgZXhwcmVzc2lvbiBcIjpcIiBzdGF0ZW1lbnQgKCBcImJyZWFrXCIgXCI7XCIgKT8gO1xuXG5cbiAgZGVmYXVsdENhc2UgICAgIDo6PSAgXCJkZWZhdWx0XCIgXCI6XCIgc3RhdGVtZW50ICggXCJicmVha1wiIFwiO1wiICk/IDtcblxuXG4gIGluaXRpYWxpc2VyICAgICA6Oj0gIGV4cHJlc3Npb24gfCBcInZhclwiIHZhciAoIFwiLFwiIHZhciApKiB8IFwibGV0XCIgbGV0ICggXCIsXCIgbGV0ICkqIDtcblxuXG4gIGRlc3RydWN0dXJlICAgICA6Oj0gIFwiW1wiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyAoIFwiLFwiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyApKiBcIl1cIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwie1wiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyAoIFwiLFwiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyApKiBcIn1cIlxuXG4gICAgICAgICAgICAgICAgICAgIDtcblxuXG4gIGV4cHJlc3Npb24gICAgICA6Oj0gIGpzeFxuXG4gICAgICAgICAgICAgICAgICAgIHwgIGpzb25cblxuICAgICAgICAgICAgICAgICAgICB8ICBhcnJvd0Z1bmN0aW9uXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgdGVtcGxhdGVMaXRlcmFsXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgYW5vbnltb3VzRnVuY3Rpb25cblxuICAgICAgICAgICAgICAgICAgICB8ICBcIihcIiBleHByZXNzaW9uIFwiKVwiXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJ7XCIgKCBwcm9wZXJ0eSAoIFwiLFwiIHByb3BlcnR5ICkqICk/IFwifVwiXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJbXCIgKCBleHByZXNzaW9uICggXCIsXCIgZXhwcmVzc2lvbiApKiBcIixcIj8gKT8gXCJdXCJcblxuICAgICAgICAgICAgICAgICAgICB8ICBcInR5cGVvZlwiICggZXhwcmVzc2lvbiB8ICggXCIoXCIgZXhwcmVzc2lvbiBcIilcIikgKVxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwidm9pZFwiICggZXhwcmVzc2lvbiB8ICggXCIoXCIgZXhwcmVzc2lvbiBcIilcIikgKVxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwibmV3XCIgbmFtZTxOT19XSElURVNQQUNFPlwiKFwiIGV4cHJlc3Npb25zPyBcIilcIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFtvcGVyYXRvcl08Tk9fV0hJVEVTUEFDRT5leHByZXNzaW9uXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgZXhwcmVzc2lvbjxOT19XSElURVNQQUNFPiggKCBcIi5cIjxOT19XSElURVNQQUNFPm5hbWUgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJbXCIgZXhwcmVzc2lvbnMgXCJdXCIgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCIoXCIgZXhwcmVzc2lvbnM/IFwiKVwiIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0ZW1wbGF0ZUxpdGVyYWxcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbb3BlcmF0b3JdIClcblxuICAgICAgICAgICAgICAgICAgICB8ICBleHByZXNzaW9uICggKCBbb3BlcmF0b3JdIGV4cHJlc3Npb24gKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiP1wiIGV4cHJlc3Npb24gXCI6XCIgZXhwcmVzc2lvbiApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJpbnN0YW5jZW9mXCIgZXhwcmVzc2lvbiApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJpblwiIGV4cHJlc3Npb24gKSApXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgW251bWJlcl1cblxuICAgICAgICAgICAgICAgICAgICB8ICB2YXJpYWJsZVxuXG4gICAgICAgICAgICAgICAgICAgIHwgIHByaW1pdGl2ZVxuXG4gICAgICAgICAgICAgICAgICAgIHwgIGltcG9ydE1ldGFcblxuICAgICAgICAgICAgICAgICAgICB8ICBbc3RyaW5nLWxpdGVyYWxdXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJzdXBlclwiIHwgXCJ0aGlzXCIgfCBcInRydWVcIiB8IFwiZmFsc2VcIiB8IFwibnVsbFwiIHwgXCJ1bmRlZmluZWRcIlxuXG4gICAgICAgICAgICAgICAgICAgIDtcblxuXG4gIGpzeCAgICAgICAgICAgICA6Oj0gIGpzeENvbXBsZXRlVGFnIHwganN4U3RhcnRUYWcgKCBqc3ggfCAoIFwie1wiIGV4cHJlc3Npb24/IFwifVwiICkgfCBzdHJpbmcgKSoganN4RW5kVGFnIDtcblxuXG4gIGpzeENvbXBsZXRlVGFnICA6Oj0gIFwiPFwiPE5PX1dISVRFU1BBQ0U+bmFtZSBqc3hBdHRyaWJ1dGUqIFwiLz5cIiA7XG5cblxuICBqc3hTdGFydFRhZyAgICAgOjo9ICBcIjxcIjxOT19XSElURVNQQUNFPm5hbWUganN4QXR0cmlidXRlKiBcIj5cIiA7XG5cblxuICBqc3hFbmRUYWcgICAgICAgOjo9ICBcIjwvXCI8Tk9fV0hJVEVTUEFDRT5uYW1lIFwiPlwiIDtcblxuXG4gIGpzeEF0dHJpYnV0ZSAgICA6Oj0gIG5hbWUgKCA8Tk9fV0hJVEVTUEFDRT5cIj1cIiAoICggPE5PX1dISVRFU1BBQ0U+W3N0cmluZy1saXRlcmFsXSApIHwgKCA8Tk9fV0hJVEVTUEFDRT5cIntcIiBleHByZXNzaW9uIFwifVwiICkgKSApPyA7XG5cblxuICBqc29uICAgICAgICAgICAgOjo9ICBqc29uQXJyYXkgfCBqc29uT2JqZWN0IDtcblxuXG4gIGpzb25BcnJheSAgICAgICA6Oj0gIFwiW1wiICgganNvbkVsZW1lbnQgKCBcIixcIiBqc29uRWxlbWVudCApKiApPyBcIl1cIiA7XG5cblxuICBqc29uT2JqZWN0ICAgICAgOjo9ICBcIntcIiAoIFtzdHJpbmctbGl0ZXJhbF0gXCI6XCIganNvbkVsZW1lbnQgKCBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiOlwiIGpzb25FbGVtZW50ICkqICk/IFwifVwiIDtcblxuXG4gIGpzb25FbGVtZW50ICAgICA6Oj0gIGpzb24gfCBbc3RyaW5nLWxpdGVyYWxdIHwgW251bWJlcl0gfCBcInRydWVcIiB8IFwiZmFsc2VcIiB8IFwibnVsbFwiIDtcblxuXG4gIGFycm93RnVuY3Rpb24gICA6Oj0gIFwiKFwiIGFyZ3VtZW50cz8gXCIpXCIgXCI9PlwiICggZXhwcmVzc2lvbiB8ICggXCJ7XCIgc3RhdGVtZW50KiBcIn1cIiApICkgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG4gIHRlbXBsYXRlTGl0ZXJhbCA6Oj0gIFwiXFxgXCIgKCAoIFwiXFwke1wiIGV4cHJlc3Npb24/IFwifVwiICkgfCBzdHJpbmcgKSogXCJcXGBcIiA7XG5cblxuICBzdHJpbmcgICAgICAgICAgOjo9ICAoIFtudW1iZXJdIHwgW3NwZWNpYWxdIHwgW29wZXJhdG9yXXwgW2tleXdvcmRdIHwgW2lkZW50aWZpZXJdIHwgW3N0cmluZy1saXRlcmFsXXwgW2Jyb2tlbi1zdHJpbmctbGl0ZXJhbF0gfCBbdW5hc3NpZ25lZF0gKSsgO1xuXG5cbiAgcHJvcGVydHkgICAgICAgIDo6PSAgKCAoICggbmFtZSB8IFtzdHJpbmctbGl0ZXJhbF0gKSBcIjpcIiBleHByZXNzaW9uICkgfCB2YXJpYWJsZSApIDtcblxuXG4gIGltcG9ydE1ldGEgICAgICA6Oj0gIFwiaW1wb3J0XCI8Tk9fV0hJVEVTUEFDRT5cIi5cIjxOT19XSElURVNQQUNFPlwibWV0YVwiIDtcblxuXG4gIGV4cHJlc3Npb25zICAgICA6Oj0gIGV4cHJlc3Npb24gKCBcIixcIiBleHByZXNzaW9uICkqIDtcblxuXG4gIGFyZ3VtZW50cyAgICAgICA6Oj0gIHNwcmVhZEFyZ3VtZW50IHwgKCBhcmd1bWVudCAoIFwiLFwiIGFyZ3VtZW50ICkqICggXCIsXCIgc3ByZWFkQXJndW1lbnQgKT8gKSA7XG5cblxuICBmaWVsZHMgICAgICAgICAgOjo9ICBuYW1lICggXCI6XCIgbmFtZSApPyAoIFwiLFwiIG5hbWUgKCBcIjpcIiBuYW1lICk/ICkqIDtcblxuXG4gIG5hbWVzICAgICAgICAgICA6Oj0gIG5hbWUgKCBcImFzXCIgbmFtZSApPyAoIFwiLFwiIG5hbWUgKCBcImFzXCIgbmFtZSApPyApKiA7XG5cblxuICBzcHJlYWRBcmd1bWVudCAgOjo9ICBcIi4uLlwiPE5PX1dISVRFU1BBQ0U+dmFyaWFibGUgO1xuXG4gIFxuICBhcmd1bWVudCAgICAgICAgOjo9ICB2YXJpYWJsZSAoIFwiPVwiIGV4cHJlc3Npb24gKT8gO1xuXG5cbiAgdmFyaWFibGUgICAgICAgIDo6PSAgW2lkZW50aWZpZXJdIDtcblxuXG4gIGxhYmVsICAgICAgICAgICA6Oj0gIFtpZGVudGlmaWVyXSA7XG5cblxuICBuYW1lICAgICAgICAgICAgOjo9ICBbaWRlbnRpZmllcl0gO1xuXG5cbiAgZXJyb3IuICAgICAgICAgIDo6PSAgLiA7XG4gICAgXG5gO1xuXG5sZXQgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxucnVsZXMgPSBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uKHJ1bGVzKTsgIC8vL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBKYXZhU2NyaXB0UGFyc2VyIGV4dGVuZHMgQ29tbW9uUGFyc2VyIHtcbiAgc3RhdGljIGJuZiA9IGJuZjtcblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBwYXJzZXJGcm9tUnVsZXMoSmF2YVNjcmlwdFBhcnNlciwgcnVsZXMpOyB9XG5cbiAgc3RhdGljIGZyb21SdWxlcyhydWxlcykge1xuICAgIHJ1bGVzID0gZWxpbWluYXRlTGVmdFJlY3Vyc2lvbihydWxlcyk7ICAvLy9cblxuICAgIHJldHVybiBDb21tb25QYXJzZXIuZnJvbVJ1bGVzKEphdmFTY3JpcHRQYXJzZXIsIHJ1bGVzKTsgfVxufVxuIl0sIm5hbWVzIjpbIkphdmFTY3JpcHRQYXJzZXIiLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJwYXJzZXJGcm9tUnVsZXMiLCJibmYiLCJydWxlcyIsImVsaW1pbmF0ZUxlZnRSZWN1cnNpb24iLCJmcm9tTm90aGluZyIsImZyb21SdWxlcyIsIkNvbW1vblBhcnNlciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFtUnFCQTs7OzRCQWpSUTtxQ0FFVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXZDLElBQVFDLGVBQWtDQyw2QkFBZSxDQUFqREQsY0FBY0Usa0JBQW9CRCw2QkFBZSxDQUFuQ0M7QUFFdEIsSUFBTUMsTUFBTztBQXVRYixJQUFJQyxRQUFRSixhQUFhRztBQUV6QkMsUUFBUUMsSUFBQUEsNkNBQXNCLEVBQUNELFFBQVMsR0FBRztBQUU1QixJQUFBLEFBQU1MLGlDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBR1pPLEtBQUFBO21CQUFQLFNBQU9BO2dCQUFnQixPQUFPSixnQkFIWEgsa0JBRzZDSztZQUFROzs7WUFFakVHLEtBQUFBO21CQUFQLFNBQU9BLFVBQVVILEtBQUs7Z0JBQ3BCQSxRQUFRQyxJQUFBQSw2Q0FBc0IsRUFBQ0QsUUFBUyxHQUFHO2dCQUUzQyxPQUFPSSwwQkFBWSxDQUFDRCxTQUFTLENBUlpSLGtCQVErQks7WUFBUTs7O1dBUnZDTDtFQUF5QlMsMEJBQVk7QUFDeEQsaUJBRG1CVCxrQkFDWkksT0FBTUEifQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXIvamF2YXNjcmlwdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uUGFyc2VyIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmNvbnN0IHsgcnVsZXNGcm9tQk5GLCBwYXJzZXJGcm9tUnVsZXMgfSA9IHBhcnNlclV0aWxpdGllcztcblxuY29uc3QgYm5mID0gYFxuXG4gIGphdmFTY3JpcHQgICAgICAgIDo6PSAgcHJlYW1ibGU/ICggc3RhdGVtZW50IHwgZnVuY3Rpb24gfCBjbGFzcyB8IGVycm9yICkqIDtcblxuXG4gIHByZWFtYmxlICAgICAgICAgIDo6PSAgXCJcXFxcXCJ1c2Ugc3RyaWN0XFxcXFwiO1wiIDtcblxuXG4gIHN0YXRlbWVudCAgICAgICAgIDo6PSAgc3RhdGVtZW50Qm9keS4uLiBcIjtcIlxuICBcbiAgICAgICAgICAgICAgICAgICAgICB8ICBcIntcIiAoIHN0YXRlbWVudCB8IGZ1bmN0aW9uICkqIFwifVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICB8ICBcImlmXCIgXCIoXCIgZXhwcmVzc2lvbi4uLiBcIilcIiBzdGF0ZW1lbnQgKCBcImVsc2VcIiBzdGF0ZW1lbnQgKT9cbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJmb3JcIiAoICggXCIoXCIgaW5pdGlhbGlzZXIgKCBcIjtcIiBleHByZXNzaW9uICk/ICggXCI7XCIgZXhwcmVzc2lvbiApPyBcIilcIiBzdGF0ZW1lbnQgKVxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCIoXCIgdmFyaWFibGUgXCJpblwiIGV4cHJlc3Npb24uLi4gXCIpXCIgc3RhdGVtZW50IClcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiYXdhaXRcIj8gXCIoXCIgdmFyaWFibGUgXCJvZlwiIGV4cHJlc3Npb24uLi4gXCIpXCIgc3RhdGVtZW50ICkgKVxuICBcbiAgICAgICAgICAgICAgICAgICAgICB8ICBcImRvXCIgc3RhdGVtZW50IFwid2hpbGVcIiBcIihcIiBleHByZXNzaW9uLi4uIFwiKVwiXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwid2hpbGVcIiBcIihcIiBleHByZXNzaW9uLi4uIFwiKVwiIHN0YXRlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJzd2l0Y2hcIiBcIihcIiBleHByZXNzaW9uLi4uIFwiKVwiIFwie1wiIGNhc2UqIGRlZmF1bHRDYXNlPyBcIn1cIlxuICBcbiAgICAgICAgICAgICAgICAgICAgICB8ICB0cnkgKCAoIGNhdGNoKiBmaW5hbGx5ICkgfCBjYXRjaCsgKVxuICBcbiAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuICBjbGFzcyAgICAgICAgICAgICA6Oj0gICggXCJleHBvcnRcIiBcImRlZmF1bHRcIj8gKT8gXCJjbGFzc1wiIG5hbWUgY2xhc3NCb2R5XG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwiZXhwb3J0XCIgXCJkZWZhdWx0XCIgXCJjbGFzc1wiIGNsYXNzQm9keVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG4gIGZ1bmN0aW9uICAgICAgICAgIDo6PSAgKCBcImV4cG9ydFwiIFwiZGVmYXVsdFwiPyApPyBcImFzeW5jXCI/IFwiZnVuY3Rpb25cIiBuYW1lIGZ1bmN0aW9uQm9keSBcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJleHBvcnRcIiBcImRlZmF1bHRcIiBcImFzeW5jXCI/IFwiZnVuY3Rpb25cIiBmdW5jdGlvbkJvZHlcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgc3RhdGVtZW50Qm9keSAgICAgOjo9ICBcImltcG9ydFwiICggW3N0cmluZy1saXRlcmFsXVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIG5hbWUgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcIntcIiBuYW1lcyBcIn1cIiBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdIClcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiKlwiIFwiYXNcIiBuYW1lIFwiZnJvbVwiIFtzdHJpbmctbGl0ZXJhbF0gKSApXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwiZXhwb3J0XCIgKCAoIFwie1wiIG5hbWVzIFwifVwiICggXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApPyApXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcImNvbnN0XCIgXCJ7XCIgZmllbGRzIFwifVwiIFwiPVwiIGV4cHJlc3Npb24gKVxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJ7XCIgXCJkZWZhdWx0XCIgXCJ9XCIgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcIipcIiAoIFwiYXNcIiBuYW1lICk/IFwiZnJvbVwiIFtzdHJpbmctbGl0ZXJhbF0gKSApXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwiZXhwb3J0XCI/ICggKCBcInZhclwiIHZhciAoIFwiLFwiIHZhciApKiApXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJsZXRcIiBsZXQgKCBcIixcIiBsZXQgKSogKVxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiY29uc3RcIiBjb25zdCAoIFwiLFwiIGNvbnN0ICkqICkgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgIHwgICggXCJleHBvcnRcIiBcImRlZmF1bHRcIiApPyBleHByZXNzaW9uXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwicmV0dXJuXCIgKCAoIFwiKFwiIGV4cHJlc3Npb24gXCIpXCIgKSB8IGV4cHJlc3Npb24/IClcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJ0aHJvd1wiIGV4cHJlc3Npb25cbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJkZWxldGVcIiBleHByZXNzaW9uXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwiYnJlYWtcIlxuICBcbiAgICAgICAgICAgICAgICAgICAgICB8ICBcImNvbnRpbnVlXCJcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJkZWJ1Z2dlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuICBmdW5jdGlvbkJvZHkgICAgICA6Oj0gIFwiKFwiIGFyZ3VtZW50cz8gXCIpXCIgXCJ7XCIgKCBzdGF0ZW1lbnQgfCBmdW5jdGlvbiApKiBcIn1cIiA7XG5cblxuICBjbGFzc0JvZHkgICAgICAgICA6Oj0gICggXCJleHRlbmRzXCIgbmFtZSApPyBcIntcIiAoIGNsYXNzQ29uc3RydWN0b3IgfCBjbGFzc01ldGhvZCB8IGNsYXNzRmllbGQgKSogXCJ9XCIgO1xuXG5cbiAgY2xhc3NDb25zdHJ1Y3RvciAgOjo9ICBcImNvbnN0cnVjdG9yXCIgZnVuY3Rpb25Cb2R5IDtcblxuXG4gIGNsYXNzTWV0aG9kICAgICAgIDo6PSAgXCJzdGF0aWNcIj8gbmFtZSBmdW5jdGlvbkJvZHkgO1xuXG5cbiAgY2xhc3NGaWVsZCAgICAgICAgOjo9ICBcInN0YXRpY1wiPyBuYW1lIFwiPVwiIGV4cHJlc3Npb24uLi4gXCI7XCIgO1xuXG5cbiAgdmFyICAgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZSAoIFwiPVwiIGV4cHJlc3Npb24gKT8gfCBkZXN0cnVjdHVyZSBcIj1cIiBleHByZXNzaW9uIDtcblxuXG4gIGxldCAgICAgICAgICAgICAgIDo6PSAgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/IHwgZGVzdHJ1Y3R1cmUgXCI9XCIgZXhwcmVzc2lvbiA7XG5cblxuICBjb25zdCAgICAgICAgICAgICA6Oj0gICggdmFyaWFibGUgfCBkZXN0cnVjdHVyZSApIFwiPVwiIGV4cHJlc3Npb24gO1xuXG5cbiAgdHJ5ICAgICAgICAgICAgICAgOjo9ICBcInRyeVwiIFwie1wiIHN0YXRlbWVudCsgXCJ9XCIgO1xuXG5cbiAgY2F0Y2ggICAgICAgICAgICAgOjo9ICBcImNhdGNoXCIgXCIoXCIgW2lkZW50aWZpZXJdIFwiKVwiIFwie1wiIHN0YXRlbWVudCsgXCJ9XCIgO1xuXG5cbiAgZmluYWxseSAgICAgICAgICAgOjo9ICBcImZpbmFsbHlcIiBcIntcIiBzdGF0ZW1lbnQrIFwifVwiIDtcblxuXG4gIGNhc2UgICAgICAgICAgICAgIDo6PSAgXCJjYXNlXCIgZXhwcmVzc2lvbiBcIjpcIiBzdGF0ZW1lbnQgKCBcImJyZWFrXCIgXCI7XCIgKT8gO1xuXG5cbiAgZGVmYXVsdENhc2UgICAgICAgOjo9ICBcImRlZmF1bHRcIiBcIjpcIiBzdGF0ZW1lbnQgKCBcImJyZWFrXCIgXCI7XCIgKT8gO1xuXG5cbiAgaW5pdGlhbGlzZXIgICAgICAgOjo9ICBleHByZXNzaW9uIHwgXCJ2YXJcIiB2YXIgKCBcIixcIiB2YXIgKSogfCBcImxldFwiIGxldCAoIFwiLFwiIGxldCApKiA7XG5cblxuICBkZXN0cnVjdHVyZSAgICAgICA6Oj0gIFwiW1wiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyAoIFwiLFwiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyApKiBcIl1cIlxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJ7XCIgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/ICggXCIsXCIgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/ICkqIFwifVwiXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG4gIGV4cHJlc3Npb24gICAgICAgIDo6PSAganN4XG5cbiAgICAgICAgICAgICAgICAgICAgICB8ICBqc29uXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIGFycm93RnVuY3Rpb25cbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgdGVtcGxhdGVMaXRlcmFsXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIGFub255bW91c0Z1bmN0aW9uXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwiKFwiIGV4cHJlc3Npb24gXCIpXCJcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJ7XCIgKCBwcm9wZXJ0eSAoIFwiLFwiIHByb3BlcnR5ICkqICk/IFwifVwiXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwiW1wiICggZXhwcmVzc2lvbiAoIFwiLFwiIGV4cHJlc3Npb24gKSogXCIsXCI/ICk/IFwiXVwiXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwidHlwZW9mXCIgKCBleHByZXNzaW9uIHwgKCBcIihcIiBleHByZXNzaW9uIFwiKVwiKSApXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwidm9pZFwiICggZXhwcmVzc2lvbiB8ICggXCIoXCIgZXhwcmVzc2lvbiBcIilcIikgKVxuICBcbiAgICAgICAgICAgICAgICAgICAgICB8ICBcIm5ld1wiIG5hbWU8Tk9fV0hJVEVTUEFDRT5cIihcIiBleHByZXNzaW9ucz8gXCIpXCJcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgW29wZXJhdG9yXTxOT19XSElURVNQQUNFPmV4cHJlc3Npb25cbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgZXhwcmVzc2lvbjxOT19XSElURVNQQUNFPiggKCBcIi5cIjxOT19XSElURVNQQUNFPm5hbWUgKVxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiW1wiIGV4cHJlc3Npb25zIFwiXVwiIClcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcIihcIiBleHByZXNzaW9ucz8gXCIpXCIgKVxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0ZW1wbGF0ZUxpdGVyYWxcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW29wZXJhdG9yXSApXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIGV4cHJlc3Npb24gKCAoIFtvcGVyYXRvcl0gZXhwcmVzc2lvbiApXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiP1wiIGV4cHJlc3Npb24gXCI6XCIgZXhwcmVzc2lvbiApXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiaW5zdGFuY2VvZlwiIGV4cHJlc3Npb24gKVxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcImluXCIgZXhwcmVzc2lvbiApIClcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgW251bWJlcl1cbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgcHJpbWl0aXZlXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIHwgIGltcG9ydE1ldGFcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgfCAgW3N0cmluZy1saXRlcmFsXVxuICBcbiAgICAgICAgICAgICAgICAgICAgICB8ICBcInN1cGVyXCIgfCBcInRoaXNcIiB8IFwidHJ1ZVwiIHwgXCJmYWxzZVwiIHwgXCJudWxsXCIgfCBcInVuZGVmaW5lZFwiXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG4gIGpzeCAgICAgICAgICAgICAgIDo6PSAganN4Q29tcGxldGVUYWcgfCBqc3hTdGFydFRhZyAoIGpzeCB8ICggXCJ7XCIgZXhwcmVzc2lvbj8gXCJ9XCIgKSB8IHN0cmluZyApKiBqc3hFbmRUYWcgO1xuXG5cbiAganN4Q29tcGxldGVUYWcgICAgOjo9ICBcIjxcIjxOT19XSElURVNQQUNFPm5hbWUganN4QXR0cmlidXRlKiBcIi8+XCIgO1xuXG5cbiAganN4U3RhcnRUYWcgICAgICAgOjo9ICBcIjxcIjxOT19XSElURVNQQUNFPm5hbWUganN4QXR0cmlidXRlKiBcIj5cIiA7XG5cblxuICBqc3hFbmRUYWcgICAgICAgICA6Oj0gIFwiPC9cIjxOT19XSElURVNQQUNFPm5hbWUgXCI+XCIgO1xuXG5cbiAganN4QXR0cmlidXRlICAgICAgOjo9ICBuYW1lICggPE5PX1dISVRFU1BBQ0U+XCI9XCIgKCAoIDxOT19XSElURVNQQUNFPltzdHJpbmctbGl0ZXJhbF0gKSB8ICggPE5PX1dISVRFU1BBQ0U+XCJ7XCIgZXhwcmVzc2lvbiBcIn1cIiApICkgKT8gO1xuXG5cbiAganNvbiAgICAgICAgICAgICAgOjo9ICBqc29uQXJyYXkgfCBqc29uT2JqZWN0IDtcblxuXG4gIGpzb25BcnJheSAgICAgICAgIDo6PSAgXCJbXCIgKCBqc29uRWxlbWVudCAoIFwiLFwiIGpzb25FbGVtZW50ICkqICk/IFwiXVwiIDtcblxuXG4gIGpzb25PYmplY3QgICAgICAgIDo6PSAgXCJ7XCIgKCBbc3RyaW5nLWxpdGVyYWxdIFwiOlwiIGpzb25FbGVtZW50ICggXCIsXCIgW3N0cmluZy1saXRlcmFsXSBcIjpcIiBqc29uRWxlbWVudCApKiApPyBcIn1cIiA7XG5cblxuICBqc29uRWxlbWVudCAgICAgICA6Oj0gIGpzb24gfCBbc3RyaW5nLWxpdGVyYWxdIHwgW251bWJlcl0gfCBcInRydWVcIiB8IFwiZmFsc2VcIiB8IFwibnVsbFwiIDtcblxuXG4gIGFycm93RnVuY3Rpb24gICAgIDo6PSAgXCIoXCIgYXJndW1lbnRzPyBcIilcIiBcIj0+XCIgKCBleHByZXNzaW9uIHwgKCBcIntcIiBzdGF0ZW1lbnQqIFwifVwiICkgKSA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbiAgdGVtcGxhdGVMaXRlcmFsICAgOjo9ICBcIlxcYFwiICggKCBcIlxcJHtcIiBleHByZXNzaW9uPyBcIn1cIiApIHwgc3RyaW5nICkqIFwiXFxgXCIgO1xuXG5cbiAgc3RyaW5nICAgICAgICAgICAgOjo9ICAoIFtudW1iZXJdIHwgW3NwZWNpYWxdIHwgW29wZXJhdG9yXXwgW2tleXdvcmRdIHwgW2lkZW50aWZpZXJdIHwgW3N0cmluZy1saXRlcmFsXXwgW2Jyb2tlbi1zdHJpbmctbGl0ZXJhbF0gfCBbdW5hc3NpZ25lZF0gKSsgO1xuXG5cbiAgcHJvcGVydHkgICAgICAgICAgOjo9ICAoICggKCBuYW1lIHwgW3N0cmluZy1saXRlcmFsXSApIFwiOlwiIGV4cHJlc3Npb24gKSB8IHZhcmlhYmxlICkgO1xuXG5cbiAgaW1wb3J0TWV0YSAgICAgICAgOjo9ICBcImltcG9ydFwiPE5PX1dISVRFU1BBQ0U+XCIuXCI8Tk9fV0hJVEVTUEFDRT5cIm1ldGFcIiA7XG5cblxuICBleHByZXNzaW9ucyAgICAgICA6Oj0gIGV4cHJlc3Npb24gKCBcIixcIiBleHByZXNzaW9uICkqIDtcblxuXG4gIGFyZ3VtZW50cyAgICAgICAgIDo6PSAgc3ByZWFkQXJndW1lbnQgfCAoIGFyZ3VtZW50ICggXCIsXCIgYXJndW1lbnQgKSogKCBcIixcIiBzcHJlYWRBcmd1bWVudCApPyApIDtcblxuXG4gIGZpZWxkcyAgICAgICAgICAgIDo6PSAgbmFtZSAoIFwiOlwiIG5hbWUgKT8gKCBcIixcIiBuYW1lICggXCI6XCIgbmFtZSApPyApKiA7XG5cblxuICBuYW1lcyAgICAgICAgICAgICA6Oj0gIG5hbWUgKCBcImFzXCIgbmFtZSApPyAoIFwiLFwiIG5hbWUgKCBcImFzXCIgbmFtZSApPyApKiA7XG5cblxuICBzcHJlYWRBcmd1bWVudCAgICA6Oj0gIFwiLi4uXCI8Tk9fV0hJVEVTUEFDRT52YXJpYWJsZSA7XG5cbiAgXG4gIGFyZ3VtZW50ICAgICAgICAgIDo6PSAgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/IDtcblxuXG4gIHZhcmlhYmxlICAgICAgICAgIDo6PSAgW2lkZW50aWZpZXJdIDtcblxuXG4gIGxhYmVsICAgICAgICAgICAgIDo6PSAgW2lkZW50aWZpZXJdIDtcblxuXG4gIG5hbWUgICAgICAgICAgICAgIDo6PSAgW2lkZW50aWZpZXJdIDtcblxuXG4gIGVycm9yLiAgICAgICAgICAgIDo6PSAgLiA7XG4gICAgXG5gO1xuXG5sZXQgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxucnVsZXMgPSBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uKHJ1bGVzKTsgIC8vL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBKYXZhU2NyaXB0UGFyc2VyIGV4dGVuZHMgQ29tbW9uUGFyc2VyIHtcbiAgc3RhdGljIGJuZiA9IGJuZjtcblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBwYXJzZXJGcm9tUnVsZXMoSmF2YVNjcmlwdFBhcnNlciwgcnVsZXMpOyB9XG5cbiAgc3RhdGljIGZyb21SdWxlcyhydWxlcykge1xuICAgIHJ1bGVzID0gZWxpbWluYXRlTGVmdFJlY3Vyc2lvbihydWxlcyk7ICAvLy9cblxuICAgIHJldHVybiBDb21tb25QYXJzZXIuZnJvbVJ1bGVzKEphdmFTY3JpcHRQYXJzZXIsIHJ1bGVzKTsgfVxufVxuIl0sIm5hbWVzIjpbIkphdmFTY3JpcHRQYXJzZXIiLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJwYXJzZXJGcm9tUnVsZXMiLCJibmYiLCJydWxlcyIsImVsaW1pbmF0ZUxlZnRSZWN1cnNpb24iLCJmcm9tTm90aGluZyIsImZyb21SdWxlcyIsIkNvbW1vblBhcnNlciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFtUnFCQTs7OzRCQWpSUTtxQ0FFVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXZDLElBQVFDLGVBQWtDQyw2QkFBZSxDQUFqREQsY0FBY0Usa0JBQW9CRCw2QkFBZSxDQUFuQ0M7QUFFdEIsSUFBTUMsTUFBTztBQXVRYixJQUFJQyxRQUFRSixhQUFhRztBQUV6QkMsUUFBUUMsSUFBQUEsNkNBQXNCLEVBQUNELFFBQVMsR0FBRztBQUU1QixJQUFBLEFBQU1MLGlDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBR1pPLEtBQUFBO21CQUFQLFNBQU9BO2dCQUFnQixPQUFPSixnQkFIWEgsa0JBRzZDSztZQUFROzs7WUFFakVHLEtBQUFBO21CQUFQLFNBQU9BLFVBQVVILEtBQUs7Z0JBQ3BCQSxRQUFRQyxJQUFBQSw2Q0FBc0IsRUFBQ0QsUUFBUyxHQUFHO2dCQUUzQyxPQUFPSSwwQkFBWSxDQUFDRCxTQUFTLENBUlpSLGtCQVErQks7WUFBUTs7O1dBUnZDTDtFQUF5QlMsMEJBQVk7QUFDeEQsaUJBRG1CVCxrQkFDWkksT0FBTUEifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "yapp",
3
3
  "author": "James Smith",
4
- "version": "5.1.261",
4
+ "version": "5.1.263",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/yapp",
7
7
  "description": "Yapp;s Another Pretty Printer.",
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "easy": "^23.1.4",
14
14
  "easy-richtextarea": "^4.0.277",
15
- "easy-with-style": "^3.0.517",
15
+ "easy-with-style": "^3.0.519",
16
16
  "necessary": "^15.0.1",
17
17
  "occam-grammar-utilities": "^8.0.363",
18
18
  "occam-lexers": "^23.1.6",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "devDependencies": {
23
23
  "@swc/core": "^1.5.6",
24
- "easy-layout": "^6.0.259",
24
+ "easy-layout": "^6.0.260",
25
25
  "esbuild": "^0.11.7",
26
26
  "express": "^4.17.1",
27
27
  "juxtapose": "^4.0.119",
@@ -8,264 +8,264 @@ const { rulesFromBNF, parserFromRules } = parserUtilities;
8
8
 
9
9
  const bnf = `
10
10
 
11
- javaScript ::= preamble? ( statement | function | class | error )* ;
11
+ javaScript ::= preamble? ( statement | function | class | error )* ;
12
12
 
13
13
 
14
- preamble ::= "\\"use strict\\";" ;
14
+ preamble ::= "\\"use strict\\";" ;
15
15
 
16
16
 
17
- statement ::= statementBody... ";"
17
+ statement ::= statementBody... ";"
18
18
 
19
- | "{" ( statement | function )* "}"
20
-
21
- | "if" "(" expression... ")" statement ( "else" statement )?
22
-
23
- | "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )
24
-
25
- | ( "(" variable "in" expression... ")" statement )
26
-
27
- | ( "await"? "(" variable "of" expression... ")" statement ) )
28
-
29
- | "do" statement "while" "(" expression... ")"
30
-
31
- | "while" "(" expression... ")" statement
32
-
33
- | "switch" "(" expression... ")" "{" case* defaultCase? "}"
34
-
35
- | try ( ( catch* finally ) | catch+ )
36
-
37
- ;
38
-
39
-
40
- class ::= ( "export" "default"? )? "class" name classBody
19
+ | "{" ( statement | function )* "}"
20
+
21
+ | "if" "(" expression... ")" statement ( "else" statement )?
41
22
 
42
- | "export" "default" "class" classBody
23
+ | "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )
43
24
 
44
- ;
45
-
46
-
47
- function ::= ( "export" "default"? )? "async"? "function" name functionBody
25
+ | ( "(" variable "in" expression... ")" statement )
48
26
 
49
- | "export" "default" "async"? "function" functionBody
50
-
51
- ;
52
-
53
-
54
- statementBody ::= "import" ( [string-literal]
55
-
56
- | ( name "from" [string-literal] )
57
-
58
- | ( "{" names "}" "from" [string-literal] )
59
-
60
- | ( "*" "as" name "from" [string-literal] ) )
61
-
62
- | "export" ( ( "{" names "}" ( "from" [string-literal] )? )
63
-
64
- | ( "const" "{" fields "}" "=" expression )
65
-
66
- | ( "{" "default" "}" "from" [string-literal] )
67
-
68
- | ( "*" ( "as" name )? "from" [string-literal] ) )
69
-
70
- | "export"? ( ( "var" var ( "," var )* )
71
-
72
- | ( "let" let ( "," let )* )
73
-
74
- | ( "const" const ( "," const )* ) )
75
-
76
- | ( "export" "default" )? expression
77
-
78
- | "return" ( ( "(" expression ")" ) | expression? )
79
-
80
- | "throw" expression
81
-
82
- | "delete" expression
83
-
84
- | "break"
85
-
86
- | "continue"
87
-
88
- | "debugger"
89
-
90
- ;
91
-
92
-
93
- functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;
94
-
95
-
96
- classBody ::= ( "extends" name )? "{" ( constructor | method | field )* "}" ;
97
-
98
-
99
- constructor ::= "constructor" functionBody ;
100
-
101
-
102
- method ::= "static"? name functionBody ;
103
-
104
-
105
- field ::= "static"? name "=" expression... ";" ;
106
-
107
-
108
- var ::= variable ( "=" expression )? | destructure "=" expression ;
109
-
110
-
111
- let ::= variable ( "=" expression )? | destructure "=" expression ;
112
-
113
-
114
- const ::= ( variable | destructure ) "=" expression ;
115
-
116
-
117
- try ::= "try" "{" statement+ "}" ;
118
-
119
-
120
- catch ::= "catch" "(" [identifier] ")" "{" statement+ "}" ;
27
+ | ( "await"? "(" variable "of" expression... ")" statement ) )
28
+
29
+ | "do" statement "while" "(" expression... ")"
30
+
31
+ | "while" "(" expression... ")" statement
32
+
33
+ | "switch" "(" expression... ")" "{" case* defaultCase? "}"
34
+
35
+ | try ( ( catch* finally ) | catch+ )
36
+
37
+ ;
121
38
 
122
39
 
123
- finally ::= "finally" "{" statement+ "}" ;
40
+ class ::= ( "export" "default"? )? "class" name classBody
41
+
42
+ | "export" "default" "class" classBody
43
+
44
+ ;
124
45
 
125
46
 
126
- case ::= "case" expression ":" statement ( "break" ";" )? ;
47
+ function ::= ( "export" "default"? )? "async"? "function" name functionBody
48
+
49
+ | "export" "default" "async"? "function" functionBody
50
+
51
+ ;
127
52
 
128
53
 
129
- defaultCase ::= "default" ":" statement ( "break" ";" )? ;
54
+ statementBody ::= "import" ( [string-literal]
130
55
 
56
+ | ( name "from" [string-literal] )
57
+
58
+ | ( "{" names "}" "from" [string-literal] )
59
+
60
+ | ( "*" "as" name "from" [string-literal] ) )
61
+
62
+ | "export" ( ( "{" names "}" ( "from" [string-literal] )? )
63
+
64
+ | ( "const" "{" fields "}" "=" expression )
65
+
66
+ | ( "{" "default" "}" "from" [string-literal] )
67
+
68
+ | ( "*" ( "as" name )? "from" [string-literal] ) )
69
+
70
+ | "export"? ( ( "var" var ( "," var )* )
71
+
72
+ | ( "let" let ( "," let )* )
73
+
74
+ | ( "const" const ( "," const )* ) )
75
+
76
+ | ( "export" "default" )? expression
77
+
78
+ | "return" ( ( "(" expression ")" ) | expression? )
79
+
80
+ | "throw" expression
81
+
82
+ | "delete" expression
83
+
84
+ | "break"
85
+
86
+ | "continue"
87
+
88
+ | "debugger"
89
+
90
+ ;
131
91
 
132
- initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;
133
92
 
93
+ functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;
134
94
 
135
- destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"
136
95
 
137
- | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"
96
+ classBody ::= ( "extends" name )? "{" ( classConstructor | classMethod | classField )* "}" ;
138
97
 
139
- ;
140
98
 
99
+ classConstructor ::= "constructor" functionBody ;
141
100
 
142
- expression ::= jsx
143
101
 
144
- | json
102
+ classMethod ::= "static"? name functionBody ;
145
103
 
146
- | arrowFunction
147
104
 
148
- | templateLiteral
105
+ classField ::= "static"? name "=" expression... ";" ;
149
106
 
150
- | anonymousFunction
151
107
 
152
- | "(" expression ")"
108
+ var ::= variable ( "=" expression )? | destructure "=" expression ;
153
109
 
154
- | "{" ( property ( "," property )* )? "}"
155
110
 
156
- | "[" ( expression ( "," expression )* ","? )? "]"
111
+ let ::= variable ( "=" expression )? | destructure "=" expression ;
157
112
 
158
- | "typeof" ( expression | ( "(" expression ")") )
159
113
 
160
- | "void" ( expression | ( "(" expression ")") )
114
+ const ::= ( variable | destructure ) "=" expression ;
161
115
 
162
- | "new" name<NO_WHITESPACE>"(" expressions? ")"
163
116
 
164
- | [operator]<NO_WHITESPACE>expression
117
+ try ::= "try" "{" statement+ "}" ;
165
118
 
166
- | expression<NO_WHITESPACE>( ( "."<NO_WHITESPACE>name )
167
119
 
168
- | ( "[" expressions "]" )
120
+ catch ::= "catch" "(" [identifier] ")" "{" statement+ "}" ;
169
121
 
170
- | ( "(" expressions? ")" )
171
122
 
172
- | templateLiteral
123
+ finally ::= "finally" "{" statement+ "}" ;
173
124
 
174
- | [operator] )
175
125
 
176
- | expression ( ( [operator] expression )
126
+ case ::= "case" expression ":" statement ( "break" ";" )? ;
177
127
 
178
- | ( "?" expression ":" expression )
179
128
 
180
- | ( "instanceof" expression )
129
+ defaultCase ::= "default" ":" statement ( "break" ";" )? ;
181
130
 
182
- | ( "in" expression ) )
183
131
 
184
- | [number]
132
+ initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;
185
133
 
186
- | variable
187
134
 
188
- | primitive
135
+ destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"
189
136
 
190
- | importMeta
137
+ | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"
138
+
139
+ ;
191
140
 
192
- | [string-literal]
193
141
 
194
- | "super" | "this" | "true" | "false" | "null" | "undefined"
142
+ expression ::= jsx
195
143
 
196
- ;
144
+ | json
145
+
146
+ | arrowFunction
147
+
148
+ | templateLiteral
149
+
150
+ | anonymousFunction
151
+
152
+ | "(" expression ")"
153
+
154
+ | "{" ( property ( "," property )* )? "}"
155
+
156
+ | "[" ( expression ( "," expression )* ","? )? "]"
157
+
158
+ | "typeof" ( expression | ( "(" expression ")") )
159
+
160
+ | "void" ( expression | ( "(" expression ")") )
161
+
162
+ | "new" name<NO_WHITESPACE>"(" expressions? ")"
163
+
164
+ | [operator]<NO_WHITESPACE>expression
165
+
166
+ | expression<NO_WHITESPACE>( ( "."<NO_WHITESPACE>name )
167
+
168
+ | ( "[" expressions "]" )
169
+
170
+ | ( "(" expressions? ")" )
171
+
172
+ | templateLiteral
173
+
174
+ | [operator] )
175
+
176
+ | expression ( ( [operator] expression )
177
+
178
+ | ( "?" expression ":" expression )
179
+
180
+ | ( "instanceof" expression )
181
+
182
+ | ( "in" expression ) )
183
+
184
+ | [number]
185
+
186
+ | variable
187
+
188
+ | primitive
189
+
190
+ | importMeta
191
+
192
+ | [string-literal]
193
+
194
+ | "super" | "this" | "true" | "false" | "null" | "undefined"
195
+
196
+ ;
197
197
 
198
198
 
199
- jsx ::= jsxCompleteTag | jsxStartTag ( jsx | ( "{" expression? "}" ) | string )* jsxEndTag ;
199
+ jsx ::= jsxCompleteTag | jsxStartTag ( jsx | ( "{" expression? "}" ) | string )* jsxEndTag ;
200
200
 
201
201
 
202
- jsxCompleteTag ::= "<"<NO_WHITESPACE>name jsxAttribute* "/>" ;
202
+ jsxCompleteTag ::= "<"<NO_WHITESPACE>name jsxAttribute* "/>" ;
203
203
 
204
204
 
205
- jsxStartTag ::= "<"<NO_WHITESPACE>name jsxAttribute* ">" ;
205
+ jsxStartTag ::= "<"<NO_WHITESPACE>name jsxAttribute* ">" ;
206
206
 
207
207
 
208
- jsxEndTag ::= "</"<NO_WHITESPACE>name ">" ;
208
+ jsxEndTag ::= "</"<NO_WHITESPACE>name ">" ;
209
209
 
210
210
 
211
- jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;
211
+ jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;
212
212
 
213
213
 
214
- json ::= jsonArray | jsonObject ;
214
+ json ::= jsonArray | jsonObject ;
215
215
 
216
216
 
217
- jsonArray ::= "[" ( jsonElement ( "," jsonElement )* )? "]" ;
217
+ jsonArray ::= "[" ( jsonElement ( "," jsonElement )* )? "]" ;
218
218
 
219
219
 
220
- jsonObject ::= "{" ( [string-literal] ":" jsonElement ( "," [string-literal] ":" jsonElement )* )? "}" ;
220
+ jsonObject ::= "{" ( [string-literal] ":" jsonElement ( "," [string-literal] ":" jsonElement )* )? "}" ;
221
221
 
222
222
 
223
- jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;
223
+ jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;
224
224
 
225
225
 
226
- arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;
226
+ arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;
227
227
 
228
228
 
229
- templateLiteral ::= "\`" ( ( "\${" expression? "}" ) | string )* "\`" ;
229
+ templateLiteral ::= "\`" ( ( "\${" expression? "}" ) | string )* "\`" ;
230
230
 
231
231
 
232
- string ::= ( [number] | [special] | [operator]| [keyword] | [identifier] | [string-literal]| [broken-string-literal] | [unassigned] )+ ;
232
+ string ::= ( [number] | [special] | [operator]| [keyword] | [identifier] | [string-literal]| [broken-string-literal] | [unassigned] )+ ;
233
233
 
234
234
 
235
- property ::= ( ( ( name | [string-literal] ) ":" expression ) | variable ) ;
235
+ property ::= ( ( ( name | [string-literal] ) ":" expression ) | variable ) ;
236
236
 
237
237
 
238
- importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;
238
+ importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;
239
239
 
240
240
 
241
- expressions ::= expression ( "," expression )* ;
241
+ expressions ::= expression ( "," expression )* ;
242
242
 
243
243
 
244
- arguments ::= spreadArgument | ( argument ( "," argument )* ( "," spreadArgument )? ) ;
244
+ arguments ::= spreadArgument | ( argument ( "," argument )* ( "," spreadArgument )? ) ;
245
245
 
246
246
 
247
- fields ::= name ( ":" name )? ( "," name ( ":" name )? )* ;
247
+ fields ::= name ( ":" name )? ( "," name ( ":" name )? )* ;
248
248
 
249
249
 
250
- names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;
250
+ names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;
251
251
 
252
252
 
253
- spreadArgument ::= "..."<NO_WHITESPACE>variable ;
253
+ spreadArgument ::= "..."<NO_WHITESPACE>variable ;
254
254
 
255
255
 
256
- argument ::= variable ( "=" expression )? ;
256
+ argument ::= variable ( "=" expression )? ;
257
257
 
258
258
 
259
- variable ::= [identifier] ;
259
+ variable ::= [identifier] ;
260
260
 
261
261
 
262
- label ::= [identifier] ;
262
+ label ::= [identifier] ;
263
263
 
264
264
 
265
- name ::= [identifier] ;
265
+ name ::= [identifier] ;
266
266
 
267
267
 
268
- error. ::= . ;
268
+ error. ::= . ;
269
269
 
270
270
  `;
271
271