yapp 5.1.20 → 5.1.22

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.
@@ -109,7 +109,7 @@ function _create_super(Derived) {
109
109
  };
110
110
  }
111
111
  var rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, parserFromRules = _occamparsers.parserUtilities.parserFromRules;
112
- var bnf = '\n\n javaScript ::= preamble? ( statement | function | class | error )* ;\n\n\n\n preamble ::= "\\"use strict\\";" ;\n\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 \n\n class ::= ( "export" "default"? )? "class" name classBody\n \n | "export" "default" "class" classBody\n \n ;\n\n\n\n function ::= ( "export" "default"? )? "async"? "function" name functionBody \n \n | "export" "default" "async"? "function" functionBody\n\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\n functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;\n\n\n\n classBody ::= ( "extends" name )? "{" ( constructor | method | field )* "}" ;\n\n\n\n constructor ::= "constructor" functionBody ;\n\n method ::= "static"? name functionBody ;\n\n field ::= "static"? name "=" expression... ";" ;\n\n\n\n var ::= variable ( "=" expression )? | destructure "=" expression ;\n\n let ::= variable ( "=" expression )? | destructure "=" expression ;\n\n const ::= ( variable | destructure ) "=" expression ;\n\n\n\n try ::= "try" "{" statement+ "}" ;\n\n catch ::= "catch" "(" [identifier] ")" "{" statement+ "}" ;\n\n finally ::= "finally" "{" statement+ "}" ;\n\n\n\n case ::= "case" expression ":" statement ( "break" ";" )? ;\n\n defaultCase ::= "default" ":" statement ( "break" ";" )? ;\n\n\n\n initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;\n\n\n\n destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"\n\n | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"\n\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\n jsx ::= jsxCompleteTag | jsxStartTag ( jsx | ( "{" expression? "}" ) | string )* jsxEndTag ;\n\n jsxCompleteTag ::= "<"<NO_WHITESPACE>name jsxAttribute* "/>" ;\n\n jsxStartTag ::= "<"<NO_WHITESPACE>name jsxAttribute* ">" ;\n\n jsxEndTag ::= "</"<NO_WHITESPACE>name ">" ;\n\n jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;\n\n\n\n json ::= jsonArray | jsonObject ;\n\n jsonArray ::= "[" ( jsonElement ( "," jsonElement )* )? "]" ;\n\n jsonObject ::= "{" ( [string-literal] ":" jsonElement ( "," [string-literal] ":" jsonElement )* )? "}" ;\n\n jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;\n\n\n\n arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;\n \n\n\n templateLiteral ::= "`" ( ( "${" expression? "}" ) | string )* "`" ;\n\n\n\n string ::= ( [number] | [special] | [operator]| [keyword] | [identifier] | [string-literal]| [broken-string-literal] | [unassigned] )+ ;\n\n property ::= ( ( ( name | [string-literal] ) ":" expression ) | variable ) ;\n\n importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;\n\n\n\n expressions ::= expression ( "," expression )* ;\n\n arguments ::= spreadArgument | ( argument ( "," argument )* ( "," spreadArgument )? ) ;\n\n fields ::= name ( ":" name )? ( "," name ( ":" name )? )* ;\n\n names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;\n\n\n\n spreadArgument ::= "..."<NO_WHITESPACE>variable ;\n \n argument ::= variable ( "=" expression )? ;\n\n variable ::= [identifier] ;\n\n label ::= [identifier] ;\n\n name ::= [identifier] ;\n\n\n\n error. ::= . ;\n \n';
112
+ 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';
113
113
  var rules = rulesFromBNF(bnf);
114
114
  rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
115
115
  var JavaScriptParser = /*#__PURE__*/ function(CommonParser) {
@@ -138,4 +138,4 @@ var JavaScriptParser = /*#__PURE__*/ function(CommonParser) {
138
138
  }(_occamparsers.CommonParser);
139
139
  _define_property(JavaScriptParser, "bnf", bnf);
140
140
 
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXIvamF2YXNjcmlwdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uUGFyc2VyIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmNvbnN0IHsgcnVsZXNGcm9tQk5GLCBwYXJzZXJGcm9tUnVsZXMgfSA9IHBhcnNlclV0aWxpdGllcztcblxuY29uc3QgYm5mID0gYFxuXG4gIGphdmFTY3JpcHQgICAgICA6Oj0gIHByZWFtYmxlPyAoIHN0YXRlbWVudCB8IGZ1bmN0aW9uIHwgY2xhc3MgfCBlcnJvciApKiA7XG5cblxuXG4gIHByZWFtYmxlICAgICAgICA6Oj0gIFwiXFxcXFwidXNlIHN0cmljdFxcXFxcIjtcIiA7XG5cblxuXG4gIHN0YXRlbWVudCAgICAgICA6Oj0gIHN0YXRlbWVudEJvZHkuLi4gXCI7XCJcbiAgXG4gICAgICAgICAgICAgICAgICAgIHwgIFwie1wiICggc3RhdGVtZW50IHwgZnVuY3Rpb24gKSogXCJ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfCAgXCJpZlwiIFwiKFwiIGV4cHJlc3Npb24uLi4gXCIpXCIgc3RhdGVtZW50ICggXCJlbHNlXCIgc3RhdGVtZW50ICk/XG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJmb3JcIiAoICggXCIoXCIgaW5pdGlhbGlzZXIgKCBcIjtcIiBleHByZXNzaW9uICk/ICggXCI7XCIgZXhwcmVzc2lvbiApPyBcIilcIiBzdGF0ZW1lbnQgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcIihcIiB2YXJpYWJsZSBcImluXCIgZXhwcmVzc2lvbi4uLiBcIilcIiBzdGF0ZW1lbnQgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcImF3YWl0XCI/IFwiKFwiIHZhcmlhYmxlIFwib2ZcIiBleHByZXNzaW9uLi4uIFwiKVwiIHN0YXRlbWVudCApIClcblxuICAgICAgICAgICAgICAgICAgICB8ICBcImRvXCIgc3RhdGVtZW50IFwid2hpbGVcIiBcIihcIiBleHByZXNzaW9uLi4uIFwiKVwiXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJ3aGlsZVwiIFwiKFwiIGV4cHJlc3Npb24uLi4gXCIpXCIgc3RhdGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIHwgIFwic3dpdGNoXCIgXCIoXCIgZXhwcmVzc2lvbi4uLiBcIilcIiBcIntcIiBjYXNlKiBkZWZhdWx0Q2FzZT8gXCJ9XCJcblxuICAgICAgICAgICAgICAgICAgICB8ICB0cnkgKCAoIGNhdGNoKiBmaW5hbGx5ICkgfCBjYXRjaCsgKVxuXG4gICAgICAgICAgICAgICAgICAgIDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuICBjbGFzcyAgICAgICAgICAgOjo9ICAoIFwiZXhwb3J0XCIgXCJkZWZhdWx0XCI/ICk/IFwiY2xhc3NcIiBuYW1lIGNsYXNzQm9keVxuICBcbiAgICAgICAgICAgICAgICAgICAgfCAgXCJleHBvcnRcIiBcImRlZmF1bHRcIiBcImNsYXNzXCIgY2xhc3NCb2R5XG4gIFxuICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG4gIGZ1bmN0aW9uICAgICAgICA6Oj0gICggXCJleHBvcnRcIiBcImRlZmF1bHRcIj8gKT8gXCJhc3luY1wiPyBcImZ1bmN0aW9uXCIgbmFtZSBmdW5jdGlvbkJvZHkgXG4gIFxuICAgICAgICAgICAgICAgICAgICB8ICBcImV4cG9ydFwiIFwiZGVmYXVsdFwiIFwiYXN5bmNcIj8gXCJmdW5jdGlvblwiIGZ1bmN0aW9uQm9keVxuXG4gICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbiAgc3RhdGVtZW50Qm9keSAgIDo6PSAgXCJpbXBvcnRcIiAoIFtzdHJpbmctbGl0ZXJhbF1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggbmFtZSBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJ7XCIgbmFtZXMgXCJ9XCIgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiKlwiIFwiYXNcIiBuYW1lIFwiZnJvbVwiIFtzdHJpbmctbGl0ZXJhbF0gKSApXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJleHBvcnRcIiAoICggXCJ7XCIgbmFtZXMgXCJ9XCIgKCBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdICk/IClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJjb25zdFwiIFwie1wiIGZpZWxkcyBcIn1cIiBcIj1cIiBleHByZXNzaW9uIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJ7XCIgXCJkZWZhdWx0XCIgXCJ9XCIgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiKlwiICggXCJhc1wiIG5hbWUgKT8gXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApIClcblxuICAgICAgICAgICAgICAgICAgICB8ICBcImV4cG9ydFwiPyAoICggXCJ2YXJcIiB2YXIgKCBcIixcIiB2YXIgKSogKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJsZXRcIiBsZXQgKCBcIixcIiBsZXQgKSogKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJjb25zdFwiIGNvbnN0ICggXCIsXCIgY29uc3QgKSogKSApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB8ICAoIFwiZXhwb3J0XCIgXCJkZWZhdWx0XCIgKT8gZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwicmV0dXJuXCIgKCAoIFwiKFwiIGV4cHJlc3Npb24gXCIpXCIgKSB8IGV4cHJlc3Npb24/IClcblxuICAgICAgICAgICAgICAgICAgICB8ICBcInRocm93XCIgZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiZGVsZXRlXCIgZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiYnJlYWtcIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiY29udGludWVcIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiZGVidWdnZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG4gIGZ1bmN0aW9uQm9keSAgICA6Oj0gIFwiKFwiIGFyZ3VtZW50cz8gXCIpXCIgXCJ7XCIgKCBzdGF0ZW1lbnQgfCBmdW5jdGlvbiApKiBcIn1cIiA7XG5cblxuXG4gIGNsYXNzQm9keSAgICAgICA6Oj0gICggXCJleHRlbmRzXCIgbmFtZSApPyBcIntcIiAoIGNvbnN0cnVjdG9yIHwgbWV0aG9kIHwgZmllbGQgKSogXCJ9XCIgO1xuXG5cblxuICBjb25zdHJ1Y3RvciAgICAgOjo9ICBcImNvbnN0cnVjdG9yXCIgZnVuY3Rpb25Cb2R5IDtcblxuICBtZXRob2QgICAgICAgICAgOjo9ICBcInN0YXRpY1wiPyBuYW1lIGZ1bmN0aW9uQm9keSA7XG5cbiAgZmllbGQgICAgICAgICAgIDo6PSAgXCJzdGF0aWNcIj8gbmFtZSBcIj1cIiBleHByZXNzaW9uLi4uIFwiO1wiIDtcblxuXG5cbiAgdmFyICAgICAgICAgICAgIDo6PSAgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/IHwgZGVzdHJ1Y3R1cmUgXCI9XCIgZXhwcmVzc2lvbiA7XG5cbiAgbGV0ICAgICAgICAgICAgIDo6PSAgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/IHwgZGVzdHJ1Y3R1cmUgXCI9XCIgZXhwcmVzc2lvbiA7XG5cbiAgY29uc3QgICAgICAgICAgIDo6PSAgKCB2YXJpYWJsZSB8IGRlc3RydWN0dXJlICkgXCI9XCIgZXhwcmVzc2lvbiA7XG5cblxuXG4gIHRyeSAgICAgICAgICAgICA6Oj0gIFwidHJ5XCIgXCJ7XCIgc3RhdGVtZW50KyBcIn1cIiA7XG5cbiAgY2F0Y2ggICAgICAgICAgIDo6PSAgXCJjYXRjaFwiIFwiKFwiIFtpZGVudGlmaWVyXSBcIilcIiBcIntcIiBzdGF0ZW1lbnQrIFwifVwiIDtcblxuICBmaW5hbGx5ICAgICAgICAgOjo9ICBcImZpbmFsbHlcIiBcIntcIiBzdGF0ZW1lbnQrIFwifVwiIDtcblxuXG5cbiAgY2FzZSAgICAgICAgICAgIDo6PSAgXCJjYXNlXCIgZXhwcmVzc2lvbiBcIjpcIiBzdGF0ZW1lbnQgKCBcImJyZWFrXCIgXCI7XCIgKT8gO1xuXG4gIGRlZmF1bHRDYXNlICAgICA6Oj0gIFwiZGVmYXVsdFwiIFwiOlwiIHN0YXRlbWVudCAoIFwiYnJlYWtcIiBcIjtcIiApPyA7XG5cblxuXG4gIGluaXRpYWxpc2VyICAgICA6Oj0gIGV4cHJlc3Npb24gfCBcInZhclwiIHZhciAoIFwiLFwiIHZhciApKiB8IFwibGV0XCIgbGV0ICggXCIsXCIgbGV0ICkqIDtcblxuXG5cbiAgZGVzdHJ1Y3R1cmUgICAgIDo6PSAgXCJbXCIgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/ICggXCIsXCIgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/ICkqIFwiXVwiXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJ7XCIgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/ICggXCIsXCIgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/ICkqIFwifVwiXG5cbiAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxuICBleHByZXNzaW9uICAgICAgOjo9ICBqc3hcblxuICAgICAgICAgICAgICAgICAgICB8ICBqc29uXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgYXJyb3dGdW5jdGlvblxuXG4gICAgICAgICAgICAgICAgICAgIHwgIHRlbXBsYXRlTGl0ZXJhbFxuXG4gICAgICAgICAgICAgICAgICAgIHwgIGFub255bW91c0Z1bmN0aW9uXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCIoXCIgZXhwcmVzc2lvbiBcIilcIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwie1wiICggcHJvcGVydHkgKCBcIixcIiBwcm9wZXJ0eSApKiApPyBcIn1cIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiW1wiICggZXhwcmVzc2lvbiAoIFwiLFwiIGV4cHJlc3Npb24gKSogXCIsXCI/ICk/IFwiXVwiXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJ0eXBlb2ZcIiAoIGV4cHJlc3Npb24gfCAoIFwiKFwiIGV4cHJlc3Npb24gXCIpXCIpIClcblxuICAgICAgICAgICAgICAgICAgICB8ICBcInZvaWRcIiAoIGV4cHJlc3Npb24gfCAoIFwiKFwiIGV4cHJlc3Npb24gXCIpXCIpIClcblxuICAgICAgICAgICAgICAgICAgICB8ICBcIm5ld1wiIG5hbWU8Tk9fV0hJVEVTUEFDRT5cIihcIiBleHByZXNzaW9ucz8gXCIpXCJcblxuICAgICAgICAgICAgICAgICAgICB8ICBbb3BlcmF0b3JdPE5PX1dISVRFU1BBQ0U+ZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgIHwgIGV4cHJlc3Npb248Tk9fV0hJVEVTUEFDRT4oICggXCIuXCI8Tk9fV0hJVEVTUEFDRT5uYW1lIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiW1wiIGV4cHJlc3Npb25zIFwiXVwiIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiKFwiIGV4cHJlc3Npb25zPyBcIilcIiApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGVtcGxhdGVMaXRlcmFsXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW29wZXJhdG9yXSApXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgZXhwcmVzc2lvbiAoICggW29wZXJhdG9yXSBleHByZXNzaW9uIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcIj9cIiBleHByZXNzaW9uIFwiOlwiIGV4cHJlc3Npb24gKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiaW5zdGFuY2VvZlwiIGV4cHJlc3Npb24gKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiaW5cIiBleHByZXNzaW9uICkgKVxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFtudW1iZXJdXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVcblxuICAgICAgICAgICAgICAgICAgICB8ICBwcmltaXRpdmVcblxuICAgICAgICAgICAgICAgICAgICB8ICBpbXBvcnRNZXRhXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgW3N0cmluZy1saXRlcmFsXVxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwic3VwZXJcIiB8IFwidGhpc1wiIHwgXCJ0cnVlXCIgfCBcImZhbHNlXCIgfCBcIm51bGxcIiB8IFwidW5kZWZpbmVkXCJcblxuICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG4gIGpzeCAgICAgICAgICAgICA6Oj0gIGpzeENvbXBsZXRlVGFnIHwganN4U3RhcnRUYWcgKCBqc3ggfCAoIFwie1wiIGV4cHJlc3Npb24/IFwifVwiICkgfCBzdHJpbmcgKSoganN4RW5kVGFnIDtcblxuICBqc3hDb21wbGV0ZVRhZyAgOjo9ICBcIjxcIjxOT19XSElURVNQQUNFPm5hbWUganN4QXR0cmlidXRlKiBcIi8+XCIgO1xuXG4gIGpzeFN0YXJ0VGFnICAgICA6Oj0gIFwiPFwiPE5PX1dISVRFU1BBQ0U+bmFtZSBqc3hBdHRyaWJ1dGUqIFwiPlwiIDtcblxuICBqc3hFbmRUYWcgICAgICAgOjo9ICBcIjwvXCI8Tk9fV0hJVEVTUEFDRT5uYW1lIFwiPlwiIDtcblxuICBqc3hBdHRyaWJ1dGUgICAgOjo9ICBuYW1lICggPE5PX1dISVRFU1BBQ0U+XCI9XCIgKCAoIDxOT19XSElURVNQQUNFPltzdHJpbmctbGl0ZXJhbF0gKSB8ICggPE5PX1dISVRFU1BBQ0U+XCJ7XCIgZXhwcmVzc2lvbiBcIn1cIiApICkgKT8gO1xuXG5cblxuICBqc29uICAgICAgICAgICAgOjo9ICBqc29uQXJyYXkgfCBqc29uT2JqZWN0IDtcblxuICBqc29uQXJyYXkgICAgICAgOjo9ICBcIltcIiAoIGpzb25FbGVtZW50ICggXCIsXCIganNvbkVsZW1lbnQgKSogKT8gXCJdXCIgO1xuXG4gIGpzb25PYmplY3QgICAgICA6Oj0gIFwie1wiICggW3N0cmluZy1saXRlcmFsXSBcIjpcIiBqc29uRWxlbWVudCAoIFwiLFwiIFtzdHJpbmctbGl0ZXJhbF0gXCI6XCIganNvbkVsZW1lbnQgKSogKT8gXCJ9XCIgO1xuXG4gIGpzb25FbGVtZW50ICAgICA6Oj0gIGpzb24gfCBbc3RyaW5nLWxpdGVyYWxdIHwgW251bWJlcl0gfCBcInRydWVcIiB8IFwiZmFsc2VcIiB8IFwibnVsbFwiIDtcblxuXG5cbiAgYXJyb3dGdW5jdGlvbiAgIDo6PSAgXCIoXCIgYXJndW1lbnRzPyBcIilcIiBcIj0+XCIgKCBleHByZXNzaW9uIHwgKCBcIntcIiBzdGF0ZW1lbnQqIFwifVwiICkgKSA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cblxuICB0ZW1wbGF0ZUxpdGVyYWwgOjo9ICBcIlxcYFwiICggKCBcIlxcJHtcIiBleHByZXNzaW9uPyBcIn1cIiApIHwgc3RyaW5nICkqIFwiXFxgXCIgO1xuXG5cblxuICBzdHJpbmcgICAgICAgICAgOjo9ICAoIFtudW1iZXJdIHwgW3NwZWNpYWxdIHwgW29wZXJhdG9yXXwgW2tleXdvcmRdIHwgW2lkZW50aWZpZXJdIHwgW3N0cmluZy1saXRlcmFsXXwgW2Jyb2tlbi1zdHJpbmctbGl0ZXJhbF0gfCBbdW5hc3NpZ25lZF0gKSsgO1xuXG4gIHByb3BlcnR5ICAgICAgICA6Oj0gICggKCAoIG5hbWUgfCBbc3RyaW5nLWxpdGVyYWxdICkgXCI6XCIgZXhwcmVzc2lvbiApIHwgdmFyaWFibGUgKSA7XG5cbiAgaW1wb3J0TWV0YSAgICAgIDo6PSAgXCJpbXBvcnRcIjxOT19XSElURVNQQUNFPlwiLlwiPE5PX1dISVRFU1BBQ0U+XCJtZXRhXCIgO1xuXG5cblxuICBleHByZXNzaW9ucyAgICAgOjo9ICBleHByZXNzaW9uICggXCIsXCIgZXhwcmVzc2lvbiApKiA7XG5cbiAgYXJndW1lbnRzICAgICAgIDo6PSAgc3ByZWFkQXJndW1lbnQgfCAoIGFyZ3VtZW50ICggXCIsXCIgYXJndW1lbnQgKSogKCBcIixcIiBzcHJlYWRBcmd1bWVudCApPyApIDtcblxuICBmaWVsZHMgICAgICAgICAgOjo9ICBuYW1lICggXCI6XCIgbmFtZSApPyAoIFwiLFwiIG5hbWUgKCBcIjpcIiBuYW1lICk/ICkqIDtcblxuICBuYW1lcyAgICAgICAgICAgOjo9ICBuYW1lICggXCJhc1wiIG5hbWUgKT8gKCBcIixcIiBuYW1lICggXCJhc1wiIG5hbWUgKT8gKSogO1xuXG5cblxuICBzcHJlYWRBcmd1bWVudCAgOjo9ICBcIi4uLlwiPE5PX1dISVRFU1BBQ0U+dmFyaWFibGUgO1xuICBcbiAgYXJndW1lbnQgICAgICAgIDo6PSAgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/IDtcblxuICB2YXJpYWJsZSAgICAgICAgOjo9ICBbaWRlbnRpZmllcl0gO1xuXG4gIGxhYmVsICAgICAgICAgICA6Oj0gIFtpZGVudGlmaWVyXSA7XG5cbiAgbmFtZSAgICAgICAgICAgIDo6PSAgW2lkZW50aWZpZXJdIDtcblxuXG5cbiAgZXJyb3IuICAgICAgICAgIDo6PSAgLiA7XG4gICAgXG5gO1xuXG5sZXQgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxucnVsZXMgPSBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uKHJ1bGVzKTsgIC8vL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBKYXZhU2NyaXB0UGFyc2VyIGV4dGVuZHMgQ29tbW9uUGFyc2VyIHtcbiAgc3RhdGljIGJuZiA9IGJuZjtcblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBwYXJzZXJGcm9tUnVsZXMoSmF2YVNjcmlwdFBhcnNlciwgcnVsZXMpOyB9XG5cbiAgc3RhdGljIGZyb21SdWxlcyhydWxlcykge1xuICAgIHJ1bGVzID0gZWxpbWluYXRlTGVmdFJlY3Vyc2lvbihydWxlcyk7ICAvLy9cblxuICAgIHJldHVybiBDb21tb25QYXJzZXIuZnJvbVJ1bGVzKEphdmFTY3JpcHRQYXJzZXIsIHJ1bGVzKTsgfVxufVxuIl0sIm5hbWVzIjpbIkphdmFTY3JpcHRQYXJzZXIiLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJwYXJzZXJGcm9tUnVsZXMiLCJibmYiLCJydWxlcyIsImVsaW1pbmF0ZUxlZnRSZWN1cnNpb24iLCJmcm9tTm90aGluZyIsImZyb21SdWxlcyIsIkNvbW1vblBhcnNlciJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBbVJxQkE7Ozs0QkFqUlE7cUNBRVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV2QyxJQUFRQyxlQUFrQ0MsNkJBQWUsQ0FBakRELGNBQWNFLGtCQUFvQkQsNkJBQWUsQ0FBbkNDO0FBRXRCLElBQU1DLE1BQU87QUF1UWIsSUFBSUMsUUFBUUosYUFBYUc7QUFFekJDLFFBQVFDLElBQUFBLDZDQUFzQixFQUFDRCxRQUFTLEdBQUc7QUFFNUIsSUFBQSxBQUFNTCxpQ0FBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBR1pPLEtBQUFBO21CQUFQLFNBQU9BO2dCQUFnQixPQUFPSixnQkFIWEgsa0JBRzZDSztZQUFROzs7WUFFakVHLEtBQUFBO21CQUFQLFNBQU9BLFVBQVVILEtBQUs7Z0JBQ3BCQSxRQUFRQyxJQUFBQSw2Q0FBc0IsRUFBQ0QsUUFBUyxHQUFHO2dCQUUzQyxPQUFPSSwwQkFBWSxDQUFDRCxTQUFTLENBUlpSLGtCQVErQks7WUFBUTs7O1dBUnZDTDtFQUF5QlMsMEJBQVk7QUFDeEQsaUJBRG1CVCxrQkFDWkksT0FBTUEifQ==
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXIvamF2YXNjcmlwdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uUGFyc2VyIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmNvbnN0IHsgcnVsZXNGcm9tQk5GLCBwYXJzZXJGcm9tUnVsZXMgfSA9IHBhcnNlclV0aWxpdGllcztcblxuY29uc3QgYm5mID0gYFxuXG4gIGphdmFTY3JpcHQgICAgICA6Oj0gIHByZWFtYmxlPyAoIHN0YXRlbWVudCB8IGZ1bmN0aW9uIHwgY2xhc3MgfCBlcnJvciApKiA7XG5cblxuICBwcmVhbWJsZSAgICAgICAgOjo9ICBcIlxcXFxcInVzZSBzdHJpY3RcXFxcXCI7XCIgO1xuXG5cbiAgc3RhdGVtZW50ICAgICAgIDo6PSAgc3RhdGVtZW50Qm9keS4uLiBcIjtcIlxuICBcbiAgICAgICAgICAgICAgICAgICAgfCAgXCJ7XCIgKCBzdGF0ZW1lbnQgfCBmdW5jdGlvbiApKiBcIn1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB8ICBcImlmXCIgXCIoXCIgZXhwcmVzc2lvbi4uLiBcIilcIiBzdGF0ZW1lbnQgKCBcImVsc2VcIiBzdGF0ZW1lbnQgKT9cblxuICAgICAgICAgICAgICAgICAgICB8ICBcImZvclwiICggKCBcIihcIiBpbml0aWFsaXNlciAoIFwiO1wiIGV4cHJlc3Npb24gKT8gKCBcIjtcIiBleHByZXNzaW9uICk/IFwiKVwiIHN0YXRlbWVudCApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiKFwiIHZhcmlhYmxlIFwiaW5cIiBleHByZXNzaW9uLi4uIFwiKVwiIHN0YXRlbWVudCApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiYXdhaXRcIj8gXCIoXCIgdmFyaWFibGUgXCJvZlwiIGV4cHJlc3Npb24uLi4gXCIpXCIgc3RhdGVtZW50ICkgKVxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiZG9cIiBzdGF0ZW1lbnQgXCJ3aGlsZVwiIFwiKFwiIGV4cHJlc3Npb24uLi4gXCIpXCJcblxuICAgICAgICAgICAgICAgICAgICB8ICBcIndoaWxlXCIgXCIoXCIgZXhwcmVzc2lvbi4uLiBcIilcIiBzdGF0ZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfCAgXCJzd2l0Y2hcIiBcIihcIiBleHByZXNzaW9uLi4uIFwiKVwiIFwie1wiIGNhc2UqIGRlZmF1bHRDYXNlPyBcIn1cIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIHRyeSAoICggY2F0Y2gqIGZpbmFsbHkgKSB8IGNhdGNoKyApXG5cbiAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgY2xhc3MgICAgICAgICAgIDo6PSAgKCBcImV4cG9ydFwiIFwiZGVmYXVsdFwiPyApPyBcImNsYXNzXCIgbmFtZSBjbGFzc0JvZHlcbiAgXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiZXhwb3J0XCIgXCJkZWZhdWx0XCIgXCJjbGFzc1wiIGNsYXNzQm9keVxuICBcbiAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgZnVuY3Rpb24gICAgICAgIDo6PSAgKCBcImV4cG9ydFwiIFwiZGVmYXVsdFwiPyApPyBcImFzeW5jXCI/IFwiZnVuY3Rpb25cIiBuYW1lIGZ1bmN0aW9uQm9keSBcbiAgXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiZXhwb3J0XCIgXCJkZWZhdWx0XCIgXCJhc3luY1wiPyBcImZ1bmN0aW9uXCIgZnVuY3Rpb25Cb2R5XG5cbiAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgc3RhdGVtZW50Qm9keSAgIDo6PSAgXCJpbXBvcnRcIiAoIFtzdHJpbmctbGl0ZXJhbF1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggbmFtZSBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJ7XCIgbmFtZXMgXCJ9XCIgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiKlwiIFwiYXNcIiBuYW1lIFwiZnJvbVwiIFtzdHJpbmctbGl0ZXJhbF0gKSApXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJleHBvcnRcIiAoICggXCJ7XCIgbmFtZXMgXCJ9XCIgKCBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdICk/IClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJjb25zdFwiIFwie1wiIGZpZWxkcyBcIn1cIiBcIj1cIiBleHByZXNzaW9uIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJ7XCIgXCJkZWZhdWx0XCIgXCJ9XCIgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiKlwiICggXCJhc1wiIG5hbWUgKT8gXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApIClcblxuICAgICAgICAgICAgICAgICAgICB8ICBcImV4cG9ydFwiPyAoICggXCJ2YXJcIiB2YXIgKCBcIixcIiB2YXIgKSogKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJsZXRcIiBsZXQgKCBcIixcIiBsZXQgKSogKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJjb25zdFwiIGNvbnN0ICggXCIsXCIgY29uc3QgKSogKSApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB8ICAoIFwiZXhwb3J0XCIgXCJkZWZhdWx0XCIgKT8gZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwicmV0dXJuXCIgKCAoIFwiKFwiIGV4cHJlc3Npb24gXCIpXCIgKSB8IGV4cHJlc3Npb24/IClcblxuICAgICAgICAgICAgICAgICAgICB8ICBcInRocm93XCIgZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiZGVsZXRlXCIgZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiYnJlYWtcIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiY29udGludWVcIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwiZGVidWdnZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA7XG5cblxuICBmdW5jdGlvbkJvZHkgICAgOjo9ICBcIihcIiBhcmd1bWVudHM/IFwiKVwiIFwie1wiICggc3RhdGVtZW50IHwgZnVuY3Rpb24gKSogXCJ9XCIgO1xuXG5cbiAgY2xhc3NCb2R5ICAgICAgIDo6PSAgKCBcImV4dGVuZHNcIiBuYW1lICk/IFwie1wiICggY29uc3RydWN0b3IgfCBtZXRob2QgfCBmaWVsZCApKiBcIn1cIiA7XG5cblxuICBjb25zdHJ1Y3RvciAgICAgOjo9ICBcImNvbnN0cnVjdG9yXCIgZnVuY3Rpb25Cb2R5IDtcblxuXG4gIG1ldGhvZCAgICAgICAgICA6Oj0gIFwic3RhdGljXCI/IG5hbWUgZnVuY3Rpb25Cb2R5IDtcblxuXG4gIGZpZWxkICAgICAgICAgICA6Oj0gIFwic3RhdGljXCI/IG5hbWUgXCI9XCIgZXhwcmVzc2lvbi4uLiBcIjtcIiA7XG5cblxuICB2YXIgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZSAoIFwiPVwiIGV4cHJlc3Npb24gKT8gfCBkZXN0cnVjdHVyZSBcIj1cIiBleHByZXNzaW9uIDtcblxuXG4gIGxldCAgICAgICAgICAgICA6Oj0gIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyB8IGRlc3RydWN0dXJlIFwiPVwiIGV4cHJlc3Npb24gO1xuXG5cbiAgY29uc3QgICAgICAgICAgIDo6PSAgKCB2YXJpYWJsZSB8IGRlc3RydWN0dXJlICkgXCI9XCIgZXhwcmVzc2lvbiA7XG5cblxuICB0cnkgICAgICAgICAgICAgOjo9ICBcInRyeVwiIFwie1wiIHN0YXRlbWVudCsgXCJ9XCIgO1xuXG5cbiAgY2F0Y2ggICAgICAgICAgIDo6PSAgXCJjYXRjaFwiIFwiKFwiIFtpZGVudGlmaWVyXSBcIilcIiBcIntcIiBzdGF0ZW1lbnQrIFwifVwiIDtcblxuXG4gIGZpbmFsbHkgICAgICAgICA6Oj0gIFwiZmluYWxseVwiIFwie1wiIHN0YXRlbWVudCsgXCJ9XCIgO1xuXG5cbiAgY2FzZSAgICAgICAgICAgIDo6PSAgXCJjYXNlXCIgZXhwcmVzc2lvbiBcIjpcIiBzdGF0ZW1lbnQgKCBcImJyZWFrXCIgXCI7XCIgKT8gO1xuXG5cbiAgZGVmYXVsdENhc2UgICAgIDo6PSAgXCJkZWZhdWx0XCIgXCI6XCIgc3RhdGVtZW50ICggXCJicmVha1wiIFwiO1wiICk/IDtcblxuXG4gIGluaXRpYWxpc2VyICAgICA6Oj0gIGV4cHJlc3Npb24gfCBcInZhclwiIHZhciAoIFwiLFwiIHZhciApKiB8IFwibGV0XCIgbGV0ICggXCIsXCIgbGV0ICkqIDtcblxuXG4gIGRlc3RydWN0dXJlICAgICA6Oj0gIFwiW1wiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyAoIFwiLFwiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyApKiBcIl1cIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwie1wiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyAoIFwiLFwiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyApKiBcIn1cIlxuXG4gICAgICAgICAgICAgICAgICAgIDtcblxuXG4gIGV4cHJlc3Npb24gICAgICA6Oj0gIGpzeFxuXG4gICAgICAgICAgICAgICAgICAgIHwgIGpzb25cblxuICAgICAgICAgICAgICAgICAgICB8ICBhcnJvd0Z1bmN0aW9uXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgdGVtcGxhdGVMaXRlcmFsXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgYW5vbnltb3VzRnVuY3Rpb25cblxuICAgICAgICAgICAgICAgICAgICB8ICBcIihcIiBleHByZXNzaW9uIFwiKVwiXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJ7XCIgKCBwcm9wZXJ0eSAoIFwiLFwiIHByb3BlcnR5ICkqICk/IFwifVwiXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJbXCIgKCBleHByZXNzaW9uICggXCIsXCIgZXhwcmVzc2lvbiApKiBcIixcIj8gKT8gXCJdXCJcblxuICAgICAgICAgICAgICAgICAgICB8ICBcInR5cGVvZlwiICggZXhwcmVzc2lvbiB8ICggXCIoXCIgZXhwcmVzc2lvbiBcIilcIikgKVxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwidm9pZFwiICggZXhwcmVzc2lvbiB8ICggXCIoXCIgZXhwcmVzc2lvbiBcIilcIikgKVxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFwibmV3XCIgbmFtZTxOT19XSElURVNQQUNFPlwiKFwiIGV4cHJlc3Npb25zPyBcIilcIlxuXG4gICAgICAgICAgICAgICAgICAgIHwgIFtvcGVyYXRvcl08Tk9fV0hJVEVTUEFDRT5leHByZXNzaW9uXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgZXhwcmVzc2lvbjxOT19XSElURVNQQUNFPiggKCBcIi5cIjxOT19XSElURVNQQUNFPm5hbWUgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJbXCIgZXhwcmVzc2lvbnMgXCJdXCIgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCIoXCIgZXhwcmVzc2lvbnM/IFwiKVwiIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0ZW1wbGF0ZUxpdGVyYWxcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbb3BlcmF0b3JdIClcblxuICAgICAgICAgICAgICAgICAgICB8ICBleHByZXNzaW9uICggKCBbb3BlcmF0b3JdIGV4cHJlc3Npb24gKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiP1wiIGV4cHJlc3Npb24gXCI6XCIgZXhwcmVzc2lvbiApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJpbnN0YW5jZW9mXCIgZXhwcmVzc2lvbiApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJpblwiIGV4cHJlc3Npb24gKSApXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgW251bWJlcl1cblxuICAgICAgICAgICAgICAgICAgICB8ICB2YXJpYWJsZVxuXG4gICAgICAgICAgICAgICAgICAgIHwgIHByaW1pdGl2ZVxuXG4gICAgICAgICAgICAgICAgICAgIHwgIGltcG9ydE1ldGFcblxuICAgICAgICAgICAgICAgICAgICB8ICBbc3RyaW5nLWxpdGVyYWxdXG5cbiAgICAgICAgICAgICAgICAgICAgfCAgXCJzdXBlclwiIHwgXCJ0aGlzXCIgfCBcInRydWVcIiB8IFwiZmFsc2VcIiB8IFwibnVsbFwiIHwgXCJ1bmRlZmluZWRcIlxuXG4gICAgICAgICAgICAgICAgICAgIDtcblxuXG4gIGpzeCAgICAgICAgICAgICA6Oj0gIGpzeENvbXBsZXRlVGFnIHwganN4U3RhcnRUYWcgKCBqc3ggfCAoIFwie1wiIGV4cHJlc3Npb24/IFwifVwiICkgfCBzdHJpbmcgKSoganN4RW5kVGFnIDtcblxuXG4gIGpzeENvbXBsZXRlVGFnICA6Oj0gIFwiPFwiPE5PX1dISVRFU1BBQ0U+bmFtZSBqc3hBdHRyaWJ1dGUqIFwiLz5cIiA7XG5cblxuICBqc3hTdGFydFRhZyAgICAgOjo9ICBcIjxcIjxOT19XSElURVNQQUNFPm5hbWUganN4QXR0cmlidXRlKiBcIj5cIiA7XG5cblxuICBqc3hFbmRUYWcgICAgICAgOjo9ICBcIjwvXCI8Tk9fV0hJVEVTUEFDRT5uYW1lIFwiPlwiIDtcblxuXG4gIGpzeEF0dHJpYnV0ZSAgICA6Oj0gIG5hbWUgKCA8Tk9fV0hJVEVTUEFDRT5cIj1cIiAoICggPE5PX1dISVRFU1BBQ0U+W3N0cmluZy1saXRlcmFsXSApIHwgKCA8Tk9fV0hJVEVTUEFDRT5cIntcIiBleHByZXNzaW9uIFwifVwiICkgKSApPyA7XG5cblxuICBqc29uICAgICAgICAgICAgOjo9ICBqc29uQXJyYXkgfCBqc29uT2JqZWN0IDtcblxuXG4gIGpzb25BcnJheSAgICAgICA6Oj0gIFwiW1wiICgganNvbkVsZW1lbnQgKCBcIixcIiBqc29uRWxlbWVudCApKiApPyBcIl1cIiA7XG5cblxuICBqc29uT2JqZWN0ICAgICAgOjo9ICBcIntcIiAoIFtzdHJpbmctbGl0ZXJhbF0gXCI6XCIganNvbkVsZW1lbnQgKCBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiOlwiIGpzb25FbGVtZW50ICkqICk/IFwifVwiIDtcblxuXG4gIGpzb25FbGVtZW50ICAgICA6Oj0gIGpzb24gfCBbc3RyaW5nLWxpdGVyYWxdIHwgW251bWJlcl0gfCBcInRydWVcIiB8IFwiZmFsc2VcIiB8IFwibnVsbFwiIDtcblxuXG4gIGFycm93RnVuY3Rpb24gICA6Oj0gIFwiKFwiIGFyZ3VtZW50cz8gXCIpXCIgXCI9PlwiICggZXhwcmVzc2lvbiB8ICggXCJ7XCIgc3RhdGVtZW50KiBcIn1cIiApICkgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG4gIHRlbXBsYXRlTGl0ZXJhbCA6Oj0gIFwiXFxgXCIgKCAoIFwiXFwke1wiIGV4cHJlc3Npb24/IFwifVwiICkgfCBzdHJpbmcgKSogXCJcXGBcIiA7XG5cblxuICBzdHJpbmcgICAgICAgICAgOjo9ICAoIFtudW1iZXJdIHwgW3NwZWNpYWxdIHwgW29wZXJhdG9yXXwgW2tleXdvcmRdIHwgW2lkZW50aWZpZXJdIHwgW3N0cmluZy1saXRlcmFsXXwgW2Jyb2tlbi1zdHJpbmctbGl0ZXJhbF0gfCBbdW5hc3NpZ25lZF0gKSsgO1xuXG5cbiAgcHJvcGVydHkgICAgICAgIDo6PSAgKCAoICggbmFtZSB8IFtzdHJpbmctbGl0ZXJhbF0gKSBcIjpcIiBleHByZXNzaW9uICkgfCB2YXJpYWJsZSApIDtcblxuXG4gIGltcG9ydE1ldGEgICAgICA6Oj0gIFwiaW1wb3J0XCI8Tk9fV0hJVEVTUEFDRT5cIi5cIjxOT19XSElURVNQQUNFPlwibWV0YVwiIDtcblxuXG4gIGV4cHJlc3Npb25zICAgICA6Oj0gIGV4cHJlc3Npb24gKCBcIixcIiBleHByZXNzaW9uICkqIDtcblxuXG4gIGFyZ3VtZW50cyAgICAgICA6Oj0gIHNwcmVhZEFyZ3VtZW50IHwgKCBhcmd1bWVudCAoIFwiLFwiIGFyZ3VtZW50ICkqICggXCIsXCIgc3ByZWFkQXJndW1lbnQgKT8gKSA7XG5cblxuICBmaWVsZHMgICAgICAgICAgOjo9ICBuYW1lICggXCI6XCIgbmFtZSApPyAoIFwiLFwiIG5hbWUgKCBcIjpcIiBuYW1lICk/ICkqIDtcblxuXG4gIG5hbWVzICAgICAgICAgICA6Oj0gIG5hbWUgKCBcImFzXCIgbmFtZSApPyAoIFwiLFwiIG5hbWUgKCBcImFzXCIgbmFtZSApPyApKiA7XG5cblxuICBzcHJlYWRBcmd1bWVudCAgOjo9ICBcIi4uLlwiPE5PX1dISVRFU1BBQ0U+dmFyaWFibGUgO1xuXG4gIFxuICBhcmd1bWVudCAgICAgICAgOjo9ICB2YXJpYWJsZSAoIFwiPVwiIGV4cHJlc3Npb24gKT8gO1xuXG5cbiAgdmFyaWFibGUgICAgICAgIDo6PSAgW2lkZW50aWZpZXJdIDtcblxuXG4gIGxhYmVsICAgICAgICAgICA6Oj0gIFtpZGVudGlmaWVyXSA7XG5cblxuICBuYW1lICAgICAgICAgICAgOjo9ICBbaWRlbnRpZmllcl0gO1xuXG5cbiAgZXJyb3IuICAgICAgICAgIDo6PSAgLiA7XG4gICAgXG5gO1xuXG5sZXQgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxucnVsZXMgPSBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uKHJ1bGVzKTsgIC8vL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBKYXZhU2NyaXB0UGFyc2VyIGV4dGVuZHMgQ29tbW9uUGFyc2VyIHtcbiAgc3RhdGljIGJuZiA9IGJuZjtcblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBwYXJzZXJGcm9tUnVsZXMoSmF2YVNjcmlwdFBhcnNlciwgcnVsZXMpOyB9XG5cbiAgc3RhdGljIGZyb21SdWxlcyhydWxlcykge1xuICAgIHJ1bGVzID0gZWxpbWluYXRlTGVmdFJlY3Vyc2lvbihydWxlcyk7ICAvLy9cblxuICAgIHJldHVybiBDb21tb25QYXJzZXIuZnJvbVJ1bGVzKEphdmFTY3JpcHRQYXJzZXIsIHJ1bGVzKTsgfVxufVxuIl0sIm5hbWVzIjpbIkphdmFTY3JpcHRQYXJzZXIiLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJwYXJzZXJGcm9tUnVsZXMiLCJibmYiLCJydWxlcyIsImVsaW1pbmF0ZUxlZnRSZWN1cnNpb24iLCJmcm9tTm90aGluZyIsImZyb21SdWxlcyIsIkNvbW1vblBhcnNlciJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBbVJxQkE7Ozs0QkFqUlE7cUNBRVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV2QyxJQUFRQyxlQUFrQ0MsNkJBQWUsQ0FBakRELGNBQWNFLGtCQUFvQkQsNkJBQWUsQ0FBbkNDO0FBRXRCLElBQU1DLE1BQU87QUF1UWIsSUFBSUMsUUFBUUosYUFBYUc7QUFFekJDLFFBQVFDLElBQUFBLDZDQUFzQixFQUFDRCxRQUFTLEdBQUc7QUFFNUIsSUFBQSxBQUFNTCxpQ0FBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBR1pPLEtBQUFBO21CQUFQLFNBQU9BO2dCQUFnQixPQUFPSixnQkFIWEgsa0JBRzZDSztZQUFROzs7WUFFakVHLEtBQUFBO21CQUFQLFNBQU9BLFVBQVVILEtBQUs7Z0JBQ3BCQSxRQUFRQyxJQUFBQSw2Q0FBc0IsRUFBQ0QsUUFBUyxHQUFHO2dCQUUzQyxPQUFPSSwwQkFBWSxDQUFDRCxTQUFTLENBUlpSLGtCQVErQks7WUFBUTs7O1dBUnZDTDtFQUF5QlMsMEJBQVk7QUFDeEQsaUJBRG1CVCxrQkFDWkksT0FBTUEifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "yapp",
3
3
  "author": "James Smith",
4
- "version": "5.1.20",
4
+ "version": "5.1.22",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/yapp",
7
7
  "description": "Yet Another Pretty Printer.",
@@ -15,9 +15,9 @@
15
15
  "easy-with-style": "^3.0.327",
16
16
  "necessary": "^13.3.1",
17
17
  "occam-query": "^3.1.133",
18
- "occam-grammar-utilities": "^8.0.137",
19
- "occam-lexers": "^21.0.6",
20
- "occam-parsers": "^21.0.7"
18
+ "occam-grammar-utilities": "^8.0.139",
19
+ "occam-lexers": "^21.1.1",
20
+ "occam-parsers": "^21.1.1"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@swc/core": "^1.2.106",
@@ -11,11 +11,9 @@ const bnf = `
11
11
  javaScript ::= preamble? ( statement | function | class | error )* ;
12
12
 
13
13
 
14
-
15
14
  preamble ::= "\\"use strict\\";" ;
16
15
 
17
16
 
18
-
19
17
  statement ::= statementBody... ";"
20
18
 
21
19
  | "{" ( statement | function )* "}"
@@ -37,9 +35,7 @@ const bnf = `
37
35
  | try ( ( catch* finally ) | catch+ )
38
36
 
39
37
  ;
40
-
41
-
42
-
38
+
43
39
 
44
40
  class ::= ( "export" "default"? )? "class" name classBody
45
41
 
@@ -48,7 +44,6 @@ const bnf = `
48
44
  ;
49
45
 
50
46
 
51
-
52
47
  function ::= ( "export" "default"? )? "async"? "function" name functionBody
53
48
 
54
49
  | "export" "default" "async"? "function" functionBody
@@ -56,7 +51,6 @@ const bnf = `
56
51
  ;
57
52
 
58
53
 
59
-
60
54
  statementBody ::= "import" ( [string-literal]
61
55
 
62
56
  | ( name "from" [string-literal] )
@@ -96,49 +90,48 @@ const bnf = `
96
90
  ;
97
91
 
98
92
 
99
-
100
93
  functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;
101
94
 
102
95
 
103
-
104
96
  classBody ::= ( "extends" name )? "{" ( constructor | method | field )* "}" ;
105
97
 
106
98
 
107
-
108
99
  constructor ::= "constructor" functionBody ;
109
100
 
101
+
110
102
  method ::= "static"? name functionBody ;
111
103
 
112
- field ::= "static"? name "=" expression... ";" ;
113
104
 
105
+ field ::= "static"? name "=" expression... ";" ;
114
106
 
115
107
 
116
108
  var ::= variable ( "=" expression )? | destructure "=" expression ;
117
109
 
110
+
118
111
  let ::= variable ( "=" expression )? | destructure "=" expression ;
119
112
 
120
- const ::= ( variable | destructure ) "=" expression ;
121
113
 
114
+ const ::= ( variable | destructure ) "=" expression ;
122
115
 
123
116
 
124
117
  try ::= "try" "{" statement+ "}" ;
125
118
 
119
+
126
120
  catch ::= "catch" "(" [identifier] ")" "{" statement+ "}" ;
127
121
 
128
- finally ::= "finally" "{" statement+ "}" ;
129
122
 
123
+ finally ::= "finally" "{" statement+ "}" ;
130
124
 
131
125
 
132
126
  case ::= "case" expression ":" statement ( "break" ";" )? ;
133
127
 
134
- defaultCase ::= "default" ":" statement ( "break" ";" )? ;
135
128
 
129
+ defaultCase ::= "default" ":" statement ( "break" ";" )? ;
136
130
 
137
131
 
138
132
  initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;
139
133
 
140
134
 
141
-
142
135
  destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"
143
136
 
144
137
  | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"
@@ -146,7 +139,6 @@ const bnf = `
146
139
  ;
147
140
 
148
141
 
149
-
150
142
  expression ::= jsx
151
143
 
152
144
  | json
@@ -204,65 +196,73 @@ const bnf = `
204
196
  ;
205
197
 
206
198
 
207
-
208
199
  jsx ::= jsxCompleteTag | jsxStartTag ( jsx | ( "{" expression? "}" ) | string )* jsxEndTag ;
209
200
 
201
+
210
202
  jsxCompleteTag ::= "<"<NO_WHITESPACE>name jsxAttribute* "/>" ;
211
203
 
204
+
212
205
  jsxStartTag ::= "<"<NO_WHITESPACE>name jsxAttribute* ">" ;
213
206
 
207
+
214
208
  jsxEndTag ::= "</"<NO_WHITESPACE>name ">" ;
215
209
 
216
- jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;
217
210
 
211
+ jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;
218
212
 
219
213
 
220
214
  json ::= jsonArray | jsonObject ;
221
215
 
216
+
222
217
  jsonArray ::= "[" ( jsonElement ( "," jsonElement )* )? "]" ;
223
218
 
219
+
224
220
  jsonObject ::= "{" ( [string-literal] ":" jsonElement ( "," [string-literal] ":" jsonElement )* )? "}" ;
225
221
 
226
- jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;
227
222
 
223
+ jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;
228
224
 
229
225
 
230
226
  arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;
231
227
 
232
228
 
233
-
234
229
  templateLiteral ::= "\`" ( ( "\${" expression? "}" ) | string )* "\`" ;
235
230
 
236
231
 
237
-
238
232
  string ::= ( [number] | [special] | [operator]| [keyword] | [identifier] | [string-literal]| [broken-string-literal] | [unassigned] )+ ;
239
233
 
234
+
240
235
  property ::= ( ( ( name | [string-literal] ) ":" expression ) | variable ) ;
241
236
 
242
- importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;
243
237
 
238
+ importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;
244
239
 
245
240
 
246
241
  expressions ::= expression ( "," expression )* ;
247
242
 
243
+
248
244
  arguments ::= spreadArgument | ( argument ( "," argument )* ( "," spreadArgument )? ) ;
249
245
 
246
+
250
247
  fields ::= name ( ":" name )? ( "," name ( ":" name )? )* ;
251
248
 
252
- names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;
253
249
 
250
+ names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;
254
251
 
255
252
 
256
253
  spreadArgument ::= "..."<NO_WHITESPACE>variable ;
254
+
257
255
 
258
256
  argument ::= variable ( "=" expression )? ;
259
257
 
258
+
260
259
  variable ::= [identifier] ;
261
260
 
261
+
262
262
  label ::= [identifier] ;
263
263
 
264
- name ::= [identifier] ;
265
264
 
265
+ name ::= [identifier] ;
266
266
 
267
267
 
268
268
  error. ::= . ;