yapp 5.1.399 → 5.1.400

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.
@@ -9,261 +9,263 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  const bnf = `
12
-
13
- javaScript ::= preamble? ( statement | function | class | error )* ;
14
-
15
-
16
- preamble ::= "\\"use strict\\""<NO_WHITESPACE>";" ;
17
-
18
-
19
- statement ::= statementBody... ";"
20
-
21
- | "{" ( statement | function )* "}"
22
-
23
- | "if" "(" expression... ")" statement ( "else" statement )?
24
-
25
- | "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )
26
-
27
- | ( "(" variable "in" expression... ")" statement )
28
-
29
- | ( "await"? "(" variable "of" expression... ")" statement ) )
30
-
31
- | "do" statement "while" "(" expression... ")"
32
-
33
- | "while" "(" expression... ")" statement
34
-
35
- | "switch" "(" expression... ")" "{" case* defaultCase? "}"
36
-
37
- | try ( ( catch* finally ) | catch+ )
38
-
39
- ;
40
-
41
-
42
- class ::= ( "export" "default"? )? "class" name classBody
43
-
44
- | "export" "default" "class" classBody
45
-
46
- ;
47
-
48
-
49
- function ::= ( "export" "default"? )? "async"? "function" name functionBody
50
-
51
- | "export" "default" "async"? "function" functionBody
52
-
53
- ;
54
-
55
-
56
- statementBody ::= "import" ( [string-literal]
57
-
58
- | ( name "from" [string-literal] )
59
-
60
- | ( "{" names "}" "from" [string-literal] )
61
-
62
- | ( "*" "as" name "from" [string-literal] ) )
63
-
64
- | "export" ( ( "{" names "}" ( "from" [string-literal] )? )
65
-
66
- | ( "const" "{" fields "}" "=" expression )
67
-
68
- | ( "{" "default" "}" "from" [string-literal] )
69
-
70
- | ( "*" ( "as" name )? "from" [string-literal] ) )
71
-
72
- | "export"? ( ( "var" var ( "," var )* )
73
-
74
- | ( "let" let ( "," let )* )
75
-
76
- | ( "const" const ( "," const )* ) )
77
-
78
- | ( "export" "default" )? expression
79
-
80
- | "return" ( ( "(" expression ")" ) | expression? )
81
-
82
- | "throw" expression
83
-
84
- | "delete" expression
85
-
86
- | "break"
87
-
88
- | "continue"
89
-
90
- | "debugger"
91
-
92
- ;
93
-
94
-
95
- functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;
96
-
97
-
98
- classBody ::= ( "extends" name )? "{" ( classConstructor | classMethod | classField )* "}" ;
99
-
100
-
101
- classConstructor ::= "constructor" functionBody ;
102
-
103
-
104
- classMethod ::= "static"? name functionBody ;
105
-
106
-
107
- classField ::= "static"? name "=" expression... ";" ;
108
-
109
-
110
- var ::= variable ( "=" expression )? | destructure "=" expression ;
111
-
112
-
113
- let ::= variable ( "=" expression )? | destructure "=" expression ;
114
-
115
-
116
- const ::= ( variable | destructure ) "=" expression ;
117
-
118
-
119
- try ::= "try" "{" statement+ "}" ;
120
-
121
-
122
- catch ::= "catch" "(" [identifier] ")" "{" statement+ "}" ;
123
-
124
-
125
- finally ::= "finally" "{" statement+ "}" ;
126
-
127
-
128
- case ::= "case" expression ":" statement ( "break" ";" )? ;
129
-
130
-
131
- defaultCase ::= "default" ":" statement ( "break" ";" )? ;
132
-
133
-
134
- initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;
135
-
136
-
137
- destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"
138
-
139
- | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"
140
-
141
- ;
142
-
143
-
144
- expression ::= jsx
145
-
146
- | json
147
-
148
- | arrowFunction
149
-
150
- | templateLiteral
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
- | importMeta
185
-
186
- | variable
187
-
188
- | [number] | [string-literal]
189
-
190
- | "super" | "this" | "true" | "false" | "null" | "undefined"
191
-
192
- ;
193
-
194
-
195
- jsx ::= jsxCompleteTag | jsxStartTag ( jsx | ( "{" expression? "}" ) | string )* jsxEndTag ;
196
-
197
-
198
- jsxCompleteTag ::= "<"<NO_WHITESPACE>name jsxAttribute* "/>" ;
199
-
200
-
201
- jsxStartTag ::= "<"<NO_WHITESPACE>name jsxAttribute* ">" ;
202
-
203
-
204
- jsxEndTag ::= "</"<NO_WHITESPACE>name ">" ;
205
-
206
-
207
- jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;
208
-
209
-
210
- json ::= jsonArray | jsonObject ;
211
-
212
-
213
- jsonArray ::= "[" ( jsonElement ( "," jsonElement )* )? "]" ;
214
-
215
-
216
- jsonObject ::= "{" ( [string-literal] ":" jsonElement ( "," [string-literal] ":" jsonElement )* )? "}" ;
217
-
218
-
219
- jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;
220
-
221
-
222
- arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;
223
-
224
-
225
- templateLiteral ::= "\`" ( ( "\${" expression? "}" ) | string )* "\`" ;
226
-
227
-
228
- string ::= ( [number] | [special] | [operator]| [keyword] | [identifier] | [string-literal] | [unassigned] )+ ;
229
-
230
-
231
- property ::= ( ( ( name | [string-literal] ) ":" expression ) | variable ) ;
232
-
233
-
234
- importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;
235
-
236
-
237
- expressions ::= expression ( "," expression )* ;
238
-
239
-
240
- arguments ::= spreadArgument | ( argument ( "," argument )* ( "," spreadArgument )? ) ;
241
-
242
-
243
- fields ::= name ( ":" name )? ( "," name ( ":" name )? )* ;
244
-
245
-
246
- names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;
247
-
248
-
249
- spreadArgument ::= "..."<NO_WHITESPACE>variable ;
250
-
251
-
252
- argument ::= variable ( "=" expression )? ;
253
-
254
-
255
- variable ::= [identifier] ;
256
-
257
-
258
- label ::= [identifier] ;
259
-
260
-
261
- name ::= [identifier] ;
262
-
263
-
264
- error. ::= . ;
265
-
266
- `;
12
+
13
+ javaScript ::= preamble? ( statement | function | class | error )* ;
14
+
15
+
16
+ preamble ::= "use strict"<NO_WHITESPACE>";" ;
17
+
18
+
19
+ statement ::= ( statementBody ... ";" )
20
+
21
+ | "{" ( statement | function )* "}"
22
+
23
+ | "if" "(" ( expression ... ")" ) statement ( "else" statement )?
24
+
25
+ | "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )
26
+
27
+ | ( "(" variable "in" ( expression ... ")" ) statement )
28
+
29
+ | ( "await"? "(" variable "of" ( expression ... ")" ) statement ) )
30
+
31
+ | "do" statement "while" "(" ( expression ... ")" )
32
+
33
+ | "while" "(" ( expression ... ")" ) statement
34
+
35
+ | "switch" "(" ( expression ... ")" ) "{" case* defaultCase? "}"
36
+
37
+ | try ( ( catch* finally ) | catch+ )
38
+
39
+ ;
40
+
41
+
42
+ class ::= ( "export" "default"? )? "class" name classBody
43
+
44
+ | "export" "default" "class" classBody
45
+
46
+ ;
47
+
48
+
49
+ function ::= ( "export" "default"? )? "async"? "function" name functionBody
50
+
51
+ | "export" "default" "async"? "function" functionBody
52
+
53
+ ;
54
+
55
+
56
+ statementBody ::= "import" ( [string-literal]
57
+
58
+ | ( name "from" [string-literal] )
59
+
60
+ | ( "{" names "}" "from" [string-literal] )
61
+
62
+ | ( "*" "as" name "from" [string-literal] ) )
63
+
64
+ | "export" ( ( "{" names "}" ( "from" [string-literal] )? )
65
+
66
+ | ( "const" "{" fields "}" "=" expression )
67
+
68
+ | ( "{" "default" "}" "from" [string-literal] )
69
+
70
+ | ( "*" ( "as" name )? "from" [string-literal] ) )
71
+
72
+ | "export"? ( ( "var" var ( "," var )* )
73
+
74
+ | ( "let" let ( "," let )* )
75
+
76
+ | ( "const" const ( "," const )* ) )
77
+
78
+ | ( "export" "default" )? expression
79
+
80
+ | "return" ( ( "(" expression ")" ) | expression? )
81
+
82
+ | "throw" expression
83
+
84
+ | "delete" expression
85
+
86
+ | "break"
87
+
88
+ | "continue"
89
+
90
+ | "debugger"
91
+
92
+ ;
93
+
94
+
95
+ functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;
96
+
97
+
98
+ classBody ::= ( "extends" name )? "{" ( classConstructor | classMethod | classField )* "}" ;
99
+
100
+
101
+ classConstructor ::= "constructor" functionBody ;
102
+
103
+
104
+ classMethod ::= "static"? name functionBody ;
105
+
106
+
107
+ classField ::= "static"? name "=" ( expression ... ";" ) ;
108
+
109
+
110
+ var ::= variable ( "=" expression )? | destructure "=" expression ;
111
+
112
+
113
+ let ::= variable ( "=" expression )? | destructure "=" expression ;
114
+
115
+
116
+ const ::= ( variable | destructure ) "=" expression ;
117
+
118
+
119
+ try ::= "try" "{" statement+ "}" ;
120
+
121
+
122
+ catch ::= "catch" "(" [identifier] ")" "{" statement+ "}" ;
123
+
124
+
125
+ finally ::= "finally" "{" statement+ "}" ;
126
+
127
+
128
+ case ::= "case" expression ":" statement ( "break" ";" )? ;
129
+
130
+
131
+ defaultCase ::= "default" ":" statement ( "break" ";" )? ;
132
+
133
+
134
+ initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;
135
+
136
+
137
+ destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"
138
+
139
+ | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"
140
+
141
+ ;
142
+
143
+
144
+ expression ::= jsx
145
+
146
+ | json
147
+
148
+ | arrowFunction
149
+
150
+ | templateLiteral
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
+ | variable
185
+
186
+ | importMeta
187
+
188
+ | [number]
189
+
190
+ | [string-literal]
191
+
192
+ | "super" | "this" | "true" | "false" | "null" | "undefined"
193
+
194
+ ;
195
+
196
+
197
+ jsx ::= jsxCompleteTag | jsxStartTag ( jsx | ( "{" expression? "}" ) | string )* jsxEndTag ;
198
+
199
+
200
+ jsxCompleteTag ::= "<"<NO_WHITESPACE>name jsxAttribute* "/>" ;
201
+
202
+
203
+ jsxStartTag ::= "<"<NO_WHITESPACE>name jsxAttribute* ">" ;
204
+
205
+
206
+ jsxEndTag ::= "</"<NO_WHITESPACE>name ">" ;
207
+
208
+
209
+ jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;
210
+
211
+
212
+ json ::= jsonArray | jsonObject ;
213
+
214
+
215
+ jsonArray ::= "[" ( jsonElement ( "," jsonElement )* )? "]" ;
216
+
217
+
218
+ jsonObject ::= "{" ( [string-literal] ":" jsonElement ( "," [string-literal] ":" jsonElement )* )? "}" ;
219
+
220
+
221
+ jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;
222
+
223
+
224
+ arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;
225
+
226
+
227
+ templateLiteral ::= "\`" ( ( "\${" expression? "}" ) | string )* "\`" ;
228
+
229
+
230
+ string ::= ( [number] | [special] | [operator]| [keyword] | [identifier] | [string-literal] | [unassigned] )+ ;
231
+
232
+
233
+ property ::= ( ( ( name | [string-literal] ) ":" expression ) | variable ) ;
234
+
235
+
236
+ importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;
237
+
238
+
239
+ expressions ::= expression ( "," expression )* ;
240
+
241
+
242
+ arguments ::= spreadArgument | ( argument ( "," argument )* ( "," spreadArgument )? ) ;
243
+
244
+
245
+ fields ::= name ( ":" name )? ( "," name ( ":" name )? )* ;
246
+
247
+
248
+ names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;
249
+
250
+
251
+ spreadArgument ::= "..."<NO_WHITESPACE>variable ;
252
+
253
+
254
+ argument ::= variable ( "=" expression )? ;
255
+
256
+
257
+ variable ::= [identifier] ;
258
+
259
+
260
+ label ::= [identifier] ;
261
+
262
+
263
+ name ::= [identifier] ;
264
+
265
+
266
+ error. ::= . ;
267
+
268
+ `;
267
269
  const _default = bnf;
268
270
 
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW4vamF2YXNjcmlwdC9ibmYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGJuZiA9IGBcblxuICBqYXZhU2NyaXB0ICAgICAgICA6Oj0gIHByZWFtYmxlPyAoIHN0YXRlbWVudCB8IGZ1bmN0aW9uIHwgY2xhc3MgfCBlcnJvciApKiA7XG5cblxuICBwcmVhbWJsZSAgICAgICAgICA6Oj0gIFwiXFxcXFwidXNlIHN0cmljdFxcXFxcIlwiPE5PX1dISVRFU1BBQ0U+XCI7XCIgO1xuXG5cbiAgc3RhdGVtZW50ICAgICAgICAgOjo9ICBzdGF0ZW1lbnRCb2R5Li4uIFwiO1wiXG5cbiAgICAgICAgICAgICAgICAgICAgICB8ICBcIntcIiAoIHN0YXRlbWVudCB8IGZ1bmN0aW9uICkqIFwifVwiXG5cbiAgICAgICAgICAgICAgICAgICAgICB8ICBcImlmXCIgXCIoXCIgZXhwcmVzc2lvbi4uLiBcIilcIiBzdGF0ZW1lbnQgKCBcImVsc2VcIiBzdGF0ZW1lbnQgKT9cblxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwiZm9yXCIgKCAoIFwiKFwiIGluaXRpYWxpc2VyICggXCI7XCIgZXhwcmVzc2lvbiApPyAoIFwiO1wiIGV4cHJlc3Npb24gKT8gXCIpXCIgc3RhdGVtZW50IClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcIihcIiB2YXJpYWJsZSBcImluXCIgZXhwcmVzc2lvbi4uLiBcIilcIiBzdGF0ZW1lbnQgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiYXdhaXRcIj8gXCIoXCIgdmFyaWFibGUgXCJvZlwiIGV4cHJlc3Npb24uLi4gXCIpXCIgc3RhdGVtZW50ICkgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJkb1wiIHN0YXRlbWVudCBcIndoaWxlXCIgXCIoXCIgZXhwcmVzc2lvbi4uLiBcIilcIlxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJ3aGlsZVwiIFwiKFwiIGV4cHJlc3Npb24uLi4gXCIpXCIgc3RhdGVtZW50XG5cbiAgICAgICAgICAgICAgICAgICAgICB8ICBcInN3aXRjaFwiIFwiKFwiIGV4cHJlc3Npb24uLi4gXCIpXCIgXCJ7XCIgY2FzZSogZGVmYXVsdENhc2U/IFwifVwiXG5cbiAgICAgICAgICAgICAgICAgICAgICB8ICB0cnkgKCAoIGNhdGNoKiBmaW5hbGx5ICkgfCBjYXRjaCsgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgY2xhc3MgICAgICAgICAgICAgOjo9ICAoIFwiZXhwb3J0XCIgXCJkZWZhdWx0XCI/ICk/IFwiY2xhc3NcIiBuYW1lIGNsYXNzQm9keVxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJleHBvcnRcIiBcImRlZmF1bHRcIiBcImNsYXNzXCIgY2xhc3NCb2R5XG5cbiAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuICBmdW5jdGlvbiAgICAgICAgICA6Oj0gICggXCJleHBvcnRcIiBcImRlZmF1bHRcIj8gKT8gXCJhc3luY1wiPyBcImZ1bmN0aW9uXCIgbmFtZSBmdW5jdGlvbkJvZHlcblxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwiZXhwb3J0XCIgXCJkZWZhdWx0XCIgXCJhc3luY1wiPyBcImZ1bmN0aW9uXCIgZnVuY3Rpb25Cb2R5XG5cbiAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuICBzdGF0ZW1lbnRCb2R5ICAgICA6Oj0gIFwiaW1wb3J0XCIgKCBbc3RyaW5nLWxpdGVyYWxdXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggbmFtZSBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcIntcIiBuYW1lcyBcIn1cIiBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcIipcIiBcImFzXCIgbmFtZSBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdICkgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJleHBvcnRcIiAoICggXCJ7XCIgbmFtZXMgXCJ9XCIgKCBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdICk/IClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcImNvbnN0XCIgXCJ7XCIgZmllbGRzIFwifVwiIFwiPVwiIGV4cHJlc3Npb24gKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwie1wiIFwiZGVmYXVsdFwiIFwifVwiIFwiZnJvbVwiIFtzdHJpbmctbGl0ZXJhbF0gKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiKlwiICggXCJhc1wiIG5hbWUgKT8gXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApIClcblxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwiZXhwb3J0XCI/ICggKCBcInZhclwiIHZhciAoIFwiLFwiIHZhciApKiApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwibGV0XCIgbGV0ICggXCIsXCIgbGV0ICkqIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJjb25zdFwiIGNvbnN0ICggXCIsXCIgY29uc3QgKSogKSApXG5cbiAgICAgICAgICAgICAgICAgICAgICB8ICAoIFwiZXhwb3J0XCIgXCJkZWZhdWx0XCIgKT8gZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJyZXR1cm5cIiAoICggXCIoXCIgZXhwcmVzc2lvbiBcIilcIiApIHwgZXhwcmVzc2lvbj8gKVxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJ0aHJvd1wiIGV4cHJlc3Npb25cblxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwiZGVsZXRlXCIgZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJicmVha1wiXG5cbiAgICAgICAgICAgICAgICAgICAgICB8ICBcImNvbnRpbnVlXCJcblxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwiZGVidWdnZXJcIlxuXG4gICAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgZnVuY3Rpb25Cb2R5ICAgICAgOjo9ICBcIihcIiBhcmd1bWVudHM/IFwiKVwiIFwie1wiICggc3RhdGVtZW50IHwgZnVuY3Rpb24gKSogXCJ9XCIgO1xuXG5cbiAgY2xhc3NCb2R5ICAgICAgICAgOjo9ICAoIFwiZXh0ZW5kc1wiIG5hbWUgKT8gXCJ7XCIgKCBjbGFzc0NvbnN0cnVjdG9yIHwgY2xhc3NNZXRob2QgfCBjbGFzc0ZpZWxkICkqIFwifVwiIDtcblxuXG4gIGNsYXNzQ29uc3RydWN0b3IgIDo6PSAgXCJjb25zdHJ1Y3RvclwiIGZ1bmN0aW9uQm9keSA7XG5cblxuICBjbGFzc01ldGhvZCAgICAgICA6Oj0gIFwic3RhdGljXCI/IG5hbWUgZnVuY3Rpb25Cb2R5IDtcblxuXG4gIGNsYXNzRmllbGQgICAgICAgIDo6PSAgXCJzdGF0aWNcIj8gbmFtZSBcIj1cIiBleHByZXNzaW9uLi4uIFwiO1wiIDtcblxuXG4gIHZhciAgICAgICAgICAgICAgIDo6PSAgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/IHwgZGVzdHJ1Y3R1cmUgXCI9XCIgZXhwcmVzc2lvbiA7XG5cblxuICBsZXQgICAgICAgICAgICAgICA6Oj0gIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyB8IGRlc3RydWN0dXJlIFwiPVwiIGV4cHJlc3Npb24gO1xuXG5cbiAgY29uc3QgICAgICAgICAgICAgOjo9ICAoIHZhcmlhYmxlIHwgZGVzdHJ1Y3R1cmUgKSBcIj1cIiBleHByZXNzaW9uIDtcblxuXG4gIHRyeSAgICAgICAgICAgICAgIDo6PSAgXCJ0cnlcIiBcIntcIiBzdGF0ZW1lbnQrIFwifVwiIDtcblxuXG4gIGNhdGNoICAgICAgICAgICAgIDo6PSAgXCJjYXRjaFwiIFwiKFwiIFtpZGVudGlmaWVyXSBcIilcIiBcIntcIiBzdGF0ZW1lbnQrIFwifVwiIDtcblxuXG4gIGZpbmFsbHkgICAgICAgICAgIDo6PSAgXCJmaW5hbGx5XCIgXCJ7XCIgc3RhdGVtZW50KyBcIn1cIiA7XG5cblxuICBjYXNlICAgICAgICAgICAgICA6Oj0gIFwiY2FzZVwiIGV4cHJlc3Npb24gXCI6XCIgc3RhdGVtZW50ICggXCJicmVha1wiIFwiO1wiICk/IDtcblxuXG4gIGRlZmF1bHRDYXNlICAgICAgIDo6PSAgXCJkZWZhdWx0XCIgXCI6XCIgc3RhdGVtZW50ICggXCJicmVha1wiIFwiO1wiICk/IDtcblxuXG4gIGluaXRpYWxpc2VyICAgICAgIDo6PSAgZXhwcmVzc2lvbiB8IFwidmFyXCIgdmFyICggXCIsXCIgdmFyICkqIHwgXCJsZXRcIiBsZXQgKCBcIixcIiBsZXQgKSogO1xuXG5cbiAgZGVzdHJ1Y3R1cmUgICAgICAgOjo9ICBcIltcIiB2YXJpYWJsZSAoIFwiPVwiIGV4cHJlc3Npb24gKT8gKCBcIixcIiB2YXJpYWJsZSAoIFwiPVwiIGV4cHJlc3Npb24gKT8gKSogXCJdXCJcblxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwie1wiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyAoIFwiLFwiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyApKiBcIn1cIlxuXG4gICAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgZXhwcmVzc2lvbiAgICAgICAgOjo9ICBqc3hcblxuICAgICAgICAgICAgICAgICAgICAgIHwgIGpzb25cblxuICAgICAgICAgICAgICAgICAgICAgIHwgIGFycm93RnVuY3Rpb25cblxuICAgICAgICAgICAgICAgICAgICAgIHwgIHRlbXBsYXRlTGl0ZXJhbFxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCIoXCIgZXhwcmVzc2lvbiBcIilcIlxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJ7XCIgKCBwcm9wZXJ0eSAoIFwiLFwiIHByb3BlcnR5ICkqICk/IFwifVwiXG5cbiAgICAgICAgICAgICAgICAgICAgICB8ICBcIltcIiAoIGV4cHJlc3Npb24gKCBcIixcIiBleHByZXNzaW9uICkqIFwiLFwiPyApPyBcIl1cIlxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJ0eXBlb2ZcIiAoIGV4cHJlc3Npb24gfCAoIFwiKFwiIGV4cHJlc3Npb24gXCIpXCIpIClcblxuICAgICAgICAgICAgICAgICAgICAgIHwgIFwidm9pZFwiICggZXhwcmVzc2lvbiB8ICggXCIoXCIgZXhwcmVzc2lvbiBcIilcIikgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJuZXdcIiBuYW1lPE5PX1dISVRFU1BBQ0U+XCIoXCIgZXhwcmVzc2lvbnM/IFwiKVwiXG5cbiAgICAgICAgICAgICAgICAgICAgICB8ICBbb3BlcmF0b3JdPE5PX1dISVRFU1BBQ0U+ZXhwcmVzc2lvblxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgZXhwcmVzc2lvbjxOT19XSElURVNQQUNFPiggKCBcIi5cIjxOT19XSElURVNQQUNFPm5hbWUgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcIltcIiBleHByZXNzaW9ucyBcIl1cIiApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiKFwiIGV4cHJlc3Npb25zPyBcIilcIiApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0ZW1wbGF0ZUxpdGVyYWxcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtvcGVyYXRvcl0gKVxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgZXhwcmVzc2lvbiAoICggW29wZXJhdG9yXSBleHByZXNzaW9uIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiP1wiIGV4cHJlc3Npb24gXCI6XCIgZXhwcmVzc2lvbiApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcImluc3RhbmNlb2ZcIiBleHByZXNzaW9uIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwiaW5cIiBleHByZXNzaW9uICkgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgaW1wb3J0TWV0YVxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVcblxuICAgICAgICAgICAgICAgICAgICAgIHwgIFtudW1iZXJdIHwgW3N0cmluZy1saXRlcmFsXVxuXG4gICAgICAgICAgICAgICAgICAgICAgfCAgXCJzdXBlclwiIHwgXCJ0aGlzXCIgfCBcInRydWVcIiB8IFwiZmFsc2VcIiB8IFwibnVsbFwiIHwgXCJ1bmRlZmluZWRcIlxuXG4gICAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAganN4ICAgICAgICAgICAgICAgOjo9ICBqc3hDb21wbGV0ZVRhZyB8IGpzeFN0YXJ0VGFnICgganN4IHwgKCBcIntcIiBleHByZXNzaW9uPyBcIn1cIiApIHwgc3RyaW5nICkqIGpzeEVuZFRhZyA7XG5cblxuICBqc3hDb21wbGV0ZVRhZyAgICA6Oj0gIFwiPFwiPE5PX1dISVRFU1BBQ0U+bmFtZSBqc3hBdHRyaWJ1dGUqIFwiLz5cIiA7XG5cblxuICBqc3hTdGFydFRhZyAgICAgICA6Oj0gIFwiPFwiPE5PX1dISVRFU1BBQ0U+bmFtZSBqc3hBdHRyaWJ1dGUqIFwiPlwiIDtcblxuXG4gIGpzeEVuZFRhZyAgICAgICAgIDo6PSAgXCI8L1wiPE5PX1dISVRFU1BBQ0U+bmFtZSBcIj5cIiA7XG5cblxuICBqc3hBdHRyaWJ1dGUgICAgICA6Oj0gIG5hbWUgKCA8Tk9fV0hJVEVTUEFDRT5cIj1cIiAoICggPE5PX1dISVRFU1BBQ0U+W3N0cmluZy1saXRlcmFsXSApIHwgKCA8Tk9fV0hJVEVTUEFDRT5cIntcIiBleHByZXNzaW9uIFwifVwiICkgKSApPyA7XG5cblxuICBqc29uICAgICAgICAgICAgICA6Oj0gIGpzb25BcnJheSB8IGpzb25PYmplY3QgO1xuXG5cbiAganNvbkFycmF5ICAgICAgICAgOjo9ICBcIltcIiAoIGpzb25FbGVtZW50ICggXCIsXCIganNvbkVsZW1lbnQgKSogKT8gXCJdXCIgO1xuXG5cbiAganNvbk9iamVjdCAgICAgICAgOjo9ICBcIntcIiAoIFtzdHJpbmctbGl0ZXJhbF0gXCI6XCIganNvbkVsZW1lbnQgKCBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiOlwiIGpzb25FbGVtZW50ICkqICk/IFwifVwiIDtcblxuXG4gIGpzb25FbGVtZW50ICAgICAgIDo6PSAganNvbiB8IFtzdHJpbmctbGl0ZXJhbF0gfCBbbnVtYmVyXSB8IFwidHJ1ZVwiIHwgXCJmYWxzZVwiIHwgXCJudWxsXCIgO1xuXG5cbiAgYXJyb3dGdW5jdGlvbiAgICAgOjo9ICBcIihcIiBhcmd1bWVudHM/IFwiKVwiIFwiPT5cIiAoIGV4cHJlc3Npb24gfCAoIFwie1wiIHN0YXRlbWVudCogXCJ9XCIgKSApIDtcblxuXG4gIHRlbXBsYXRlTGl0ZXJhbCAgIDo6PSAgXCJcXGBcIiAoICggXCJcXCR7XCIgZXhwcmVzc2lvbj8gXCJ9XCIgKSB8IHN0cmluZyApKiBcIlxcYFwiIDtcblxuXG4gIHN0cmluZyAgICAgICAgICAgIDo6PSAgKCBbbnVtYmVyXSB8IFtzcGVjaWFsXSB8IFtvcGVyYXRvcl18IFtrZXl3b3JkXSB8IFtpZGVudGlmaWVyXSB8IFtzdHJpbmctbGl0ZXJhbF0gfCBbdW5hc3NpZ25lZF0gKSsgO1xuXG5cbiAgcHJvcGVydHkgICAgICAgICAgOjo9ICAoICggKCBuYW1lIHwgW3N0cmluZy1saXRlcmFsXSApIFwiOlwiIGV4cHJlc3Npb24gKSB8IHZhcmlhYmxlICkgO1xuXG5cbiAgaW1wb3J0TWV0YSAgICAgICAgOjo9ICBcImltcG9ydFwiPE5PX1dISVRFU1BBQ0U+XCIuXCI8Tk9fV0hJVEVTUEFDRT5cIm1ldGFcIiA7XG5cblxuICBleHByZXNzaW9ucyAgICAgICA6Oj0gIGV4cHJlc3Npb24gKCBcIixcIiBleHByZXNzaW9uICkqIDtcblxuXG4gIGFyZ3VtZW50cyAgICAgICAgIDo6PSAgc3ByZWFkQXJndW1lbnQgfCAoIGFyZ3VtZW50ICggXCIsXCIgYXJndW1lbnQgKSogKCBcIixcIiBzcHJlYWRBcmd1bWVudCApPyApIDtcblxuXG4gIGZpZWxkcyAgICAgICAgICAgIDo6PSAgbmFtZSAoIFwiOlwiIG5hbWUgKT8gKCBcIixcIiBuYW1lICggXCI6XCIgbmFtZSApPyApKiA7XG5cblxuICBuYW1lcyAgICAgICAgICAgICA6Oj0gIG5hbWUgKCBcImFzXCIgbmFtZSApPyAoIFwiLFwiIG5hbWUgKCBcImFzXCIgbmFtZSApPyApKiA7XG5cblxuICBzcHJlYWRBcmd1bWVudCAgICA6Oj0gIFwiLi4uXCI8Tk9fV0hJVEVTUEFDRT52YXJpYWJsZSA7XG5cblxuICBhcmd1bWVudCAgICAgICAgICA6Oj0gIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyA7XG5cblxuICB2YXJpYWJsZSAgICAgICAgICA6Oj0gIFtpZGVudGlmaWVyXSA7XG5cblxuICBsYWJlbCAgICAgICAgICAgICA6Oj0gIFtpZGVudGlmaWVyXSA7XG5cblxuICBuYW1lICAgICAgICAgICAgICA6Oj0gIFtpZGVudGlmaWVyXSA7XG5cblxuICBlcnJvci4gICAgICAgICAgICA6Oj0gIC4gO1xuXG5gO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtUUE7OztlQUFBOzs7QUFqUUEsTUFBTUEsTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUErUGIsQ0FBQztNQUVELFdBQWVBIn0=
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW4vamF2YXNjcmlwdC9ibmYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGJuZiA9IGBcbiAgICAgIFxuICAgICAgamF2YVNjcmlwdCAgICAgICAgOjo9ICBwcmVhbWJsZT8gKCBzdGF0ZW1lbnQgfCBmdW5jdGlvbiB8IGNsYXNzIHwgZXJyb3IgKSogO1xuICAgIFxuICAgIFxuICAgICAgcHJlYW1ibGUgICAgICAgICAgOjo9ICBcInVzZSBzdHJpY3RcIjxOT19XSElURVNQQUNFPlwiO1wiIDtcbiAgICBcbiAgICBcbiAgICAgIHN0YXRlbWVudCAgICAgICAgIDo6PSAgKCBzdGF0ZW1lbnRCb2R5IC4uLiBcIjtcIiApXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwie1wiICggc3RhdGVtZW50IHwgZnVuY3Rpb24gKSogXCJ9XCJcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJpZlwiIFwiKFwiICggZXhwcmVzc2lvbiAuLi4gXCIpXCIgKSBzdGF0ZW1lbnQgKCBcImVsc2VcIiBzdGF0ZW1lbnQgKT9cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJmb3JcIiAoICggXCIoXCIgaW5pdGlhbGlzZXIgKCBcIjtcIiBleHByZXNzaW9uICk/ICggXCI7XCIgZXhwcmVzc2lvbiApPyBcIilcIiBzdGF0ZW1lbnQgKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCIoXCIgdmFyaWFibGUgXCJpblwiICggZXhwcmVzc2lvbiAuLi4gXCIpXCIgKSBzdGF0ZW1lbnQgKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJhd2FpdFwiPyBcIihcIiB2YXJpYWJsZSBcIm9mXCIgKCBleHByZXNzaW9uIC4uLiBcIilcIiApIHN0YXRlbWVudCApIClcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJkb1wiIHN0YXRlbWVudCBcIndoaWxlXCIgXCIoXCIgKCBleHByZXNzaW9uIC4uLiBcIilcIiApICAgICBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJ3aGlsZVwiIFwiKFwiICggZXhwcmVzc2lvbiAuLi4gXCIpXCIgKSBzdGF0ZW1lbnRcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJzd2l0Y2hcIiBcIihcIiAoIGV4cHJlc3Npb24gLi4uIFwiKVwiICkgXCJ7XCIgY2FzZSogZGVmYXVsdENhc2U/IFwifVwiXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRyeSAoICggY2F0Y2gqIGZpbmFsbHkgKSB8IGNhdGNoKyApXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDtcbiAgICBcbiAgICBcbiAgICAgIGNsYXNzICAgICAgICAgICAgIDo6PSAgKCBcImV4cG9ydFwiIFwiZGVmYXVsdFwiPyApPyBcImNsYXNzXCIgbmFtZSBjbGFzc0JvZHlcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJleHBvcnRcIiBcImRlZmF1bHRcIiBcImNsYXNzXCIgY2xhc3NCb2R5XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDtcbiAgICBcbiAgICBcbiAgICAgIGZ1bmN0aW9uICAgICAgICAgIDo6PSAgKCBcImV4cG9ydFwiIFwiZGVmYXVsdFwiPyApPyBcImFzeW5jXCI/IFwiZnVuY3Rpb25cIiBuYW1lIGZ1bmN0aW9uQm9keVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcImV4cG9ydFwiIFwiZGVmYXVsdFwiIFwiYXN5bmNcIj8gXCJmdW5jdGlvblwiIGZ1bmN0aW9uQm9keVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICA7XG4gICAgXG4gICAgXG4gICAgICBzdGF0ZW1lbnRCb2R5ICAgICA6Oj0gIFwiaW1wb3J0XCIgKCBbc3RyaW5nLWxpdGVyYWxdXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBuYW1lIFwiZnJvbVwiIFtzdHJpbmctbGl0ZXJhbF0gKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJ7XCIgbmFtZXMgXCJ9XCIgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSApXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcIipcIiBcImFzXCIgbmFtZSBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdICkgKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcImV4cG9ydFwiICggKCBcIntcIiBuYW1lcyBcIn1cIiAoIFwiZnJvbVwiIFtzdHJpbmctbGl0ZXJhbF0gKT8gKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJjb25zdFwiIFwie1wiIGZpZWxkcyBcIn1cIiBcIj1cIiBleHByZXNzaW9uIClcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwie1wiIFwiZGVmYXVsdFwiIFwifVwiIFwiZnJvbVwiIFtzdHJpbmctbGl0ZXJhbF0gKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCIqXCIgKCBcImFzXCIgbmFtZSApPyBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdICkgKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcImV4cG9ydFwiPyAoICggXCJ2YXJcIiB2YXIgKCBcIixcIiB2YXIgKSogKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoIFwibGV0XCIgbGV0ICggXCIsXCIgbGV0ICkqIClcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcImNvbnN0XCIgY29uc3QgKCBcIixcIiBjb25zdCApKiApIClcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgKCBcImV4cG9ydFwiIFwiZGVmYXVsdFwiICk/IGV4cHJlc3Npb25cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJyZXR1cm5cIiAoICggXCIoXCIgZXhwcmVzc2lvbiBcIilcIiApIHwgZXhwcmVzc2lvbj8gKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcInRocm93XCIgZXhwcmVzc2lvblxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcImRlbGV0ZVwiIGV4cHJlc3Npb25cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJicmVha1wiXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiY29udGludWVcIlxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcImRlYnVnZ2VyXCJcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuICAgIFxuICAgIFxuICAgICAgZnVuY3Rpb25Cb2R5ICAgICAgOjo9ICBcIihcIiBhcmd1bWVudHM/IFwiKVwiIFwie1wiICggc3RhdGVtZW50IHwgZnVuY3Rpb24gKSogXCJ9XCIgO1xuICAgIFxuICAgIFxuICAgICAgY2xhc3NCb2R5ICAgICAgICAgOjo9ICAoIFwiZXh0ZW5kc1wiIG5hbWUgKT8gXCJ7XCIgKCBjbGFzc0NvbnN0cnVjdG9yIHwgY2xhc3NNZXRob2QgfCBjbGFzc0ZpZWxkICkqIFwifVwiIDtcbiAgICBcbiAgICBcbiAgICAgIGNsYXNzQ29uc3RydWN0b3IgIDo6PSAgXCJjb25zdHJ1Y3RvclwiIGZ1bmN0aW9uQm9keSA7XG4gICAgXG4gICAgXG4gICAgICBjbGFzc01ldGhvZCAgICAgICA6Oj0gIFwic3RhdGljXCI/IG5hbWUgZnVuY3Rpb25Cb2R5IDtcbiAgICBcbiAgICBcbiAgICAgIGNsYXNzRmllbGQgICAgICAgIDo6PSAgXCJzdGF0aWNcIj8gbmFtZSBcIj1cIiAoIGV4cHJlc3Npb24gLi4uIFwiO1wiICkgO1xuICAgIFxuICAgIFxuICAgICAgdmFyICAgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZSAoIFwiPVwiIGV4cHJlc3Npb24gKT8gfCBkZXN0cnVjdHVyZSBcIj1cIiBleHByZXNzaW9uIDtcbiAgICBcbiAgICBcbiAgICAgIGxldCAgICAgICAgICAgICAgIDo6PSAgdmFyaWFibGUgKCBcIj1cIiBleHByZXNzaW9uICk/IHwgZGVzdHJ1Y3R1cmUgXCI9XCIgZXhwcmVzc2lvbiA7XG4gICAgXG4gICAgXG4gICAgICBjb25zdCAgICAgICAgICAgICA6Oj0gICggdmFyaWFibGUgfCBkZXN0cnVjdHVyZSApIFwiPVwiIGV4cHJlc3Npb24gO1xuICAgIFxuICAgIFxuICAgICAgdHJ5ICAgICAgICAgICAgICAgOjo9ICBcInRyeVwiIFwie1wiIHN0YXRlbWVudCsgXCJ9XCIgO1xuICAgIFxuICAgIFxuICAgICAgY2F0Y2ggICAgICAgICAgICAgOjo9ICBcImNhdGNoXCIgXCIoXCIgW2lkZW50aWZpZXJdIFwiKVwiIFwie1wiIHN0YXRlbWVudCsgXCJ9XCIgO1xuICAgIFxuICAgIFxuICAgICAgZmluYWxseSAgICAgICAgICAgOjo9ICBcImZpbmFsbHlcIiBcIntcIiBzdGF0ZW1lbnQrIFwifVwiIDtcbiAgICBcbiAgICBcbiAgICAgIGNhc2UgICAgICAgICAgICAgIDo6PSAgXCJjYXNlXCIgZXhwcmVzc2lvbiBcIjpcIiBzdGF0ZW1lbnQgKCBcImJyZWFrXCIgXCI7XCIgKT8gO1xuICAgIFxuICAgIFxuICAgICAgZGVmYXVsdENhc2UgICAgICAgOjo9ICBcImRlZmF1bHRcIiBcIjpcIiBzdGF0ZW1lbnQgKCBcImJyZWFrXCIgXCI7XCIgKT8gO1xuICAgIFxuICAgIFxuICAgICAgaW5pdGlhbGlzZXIgICAgICAgOjo9ICBleHByZXNzaW9uIHwgXCJ2YXJcIiB2YXIgKCBcIixcIiB2YXIgKSogfCBcImxldFwiIGxldCAoIFwiLFwiIGxldCApKiA7XG4gICAgXG4gICAgXG4gICAgICBkZXN0cnVjdHVyZSAgICAgICA6Oj0gIFwiW1wiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyAoIFwiLFwiIHZhcmlhYmxlICggXCI9XCIgZXhwcmVzc2lvbiApPyApKiBcIl1cIlxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIntcIiB2YXJpYWJsZSAoIFwiPVwiIGV4cHJlc3Npb24gKT8gKCBcIixcIiB2YXJpYWJsZSAoIFwiPVwiIGV4cHJlc3Npb24gKT8gKSogXCJ9XCJcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuICAgIFxuICAgIFxuICAgICAgZXhwcmVzc2lvbiAgICAgICAgOjo9ICBqc3hcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAganNvblxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBhcnJvd0Z1bmN0aW9uXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRlbXBsYXRlTGl0ZXJhbFxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIihcIiBleHByZXNzaW9uIFwiKVwiXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwie1wiICggcHJvcGVydHkgKCBcIixcIiBwcm9wZXJ0eSApKiApPyBcIn1cIlxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIltcIiAoIGV4cHJlc3Npb24gKCBcIixcIiBleHByZXNzaW9uICkqIFwiLFwiPyApPyBcIl1cIlxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcInR5cGVvZlwiICggZXhwcmVzc2lvbiB8ICggXCIoXCIgZXhwcmVzc2lvbiBcIilcIikgKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcInZvaWRcIiAoIGV4cHJlc3Npb24gfCAoIFwiKFwiIGV4cHJlc3Npb24gXCIpXCIpIClcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJuZXdcIiBuYW1lPE5PX1dISVRFU1BBQ0U+XCIoXCIgZXhwcmVzc2lvbnM/IFwiKVwiXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtvcGVyYXRvcl08Tk9fV0hJVEVTUEFDRT5leHByZXNzaW9uXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGV4cHJlc3Npb248Tk9fV0hJVEVTUEFDRT4oICggXCIuXCI8Tk9fV0hJVEVTUEFDRT5uYW1lIClcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcIltcIiBleHByZXNzaW9ucyBcIl1cIiApXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCIoXCIgZXhwcmVzc2lvbnM/IFwiKVwiIClcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGVtcGxhdGVMaXRlcmFsXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtvcGVyYXRvcl0gKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBleHByZXNzaW9uICggKCBbb3BlcmF0b3JdIGV4cHJlc3Npb24gKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcIj9cIiBleHByZXNzaW9uIFwiOlwiIGV4cHJlc3Npb24gKVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCBcImluc3RhbmNlb2ZcIiBleHByZXNzaW9uIClcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICggXCJpblwiIGV4cHJlc3Npb24gKSApXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGltcG9ydE1ldGFcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW251bWJlcl1cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW3N0cmluZy1saXRlcmFsXVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcInN1cGVyXCIgfCBcInRoaXNcIiB8IFwidHJ1ZVwiIHwgXCJmYWxzZVwiIHwgXCJudWxsXCIgfCBcInVuZGVmaW5lZFwiXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDtcbiAgICBcbiAgICBcbiAgICAgIGpzeCAgICAgICAgICAgICAgIDo6PSAganN4Q29tcGxldGVUYWcgfCBqc3hTdGFydFRhZyAoIGpzeCB8ICggXCJ7XCIgZXhwcmVzc2lvbj8gXCJ9XCIgKSB8IHN0cmluZyApKiBqc3hFbmRUYWcgO1xuICAgIFxuICAgIFxuICAgICAganN4Q29tcGxldGVUYWcgICAgOjo9ICBcIjxcIjxOT19XSElURVNQQUNFPm5hbWUganN4QXR0cmlidXRlKiBcIi8+XCIgO1xuICAgIFxuICAgIFxuICAgICAganN4U3RhcnRUYWcgICAgICAgOjo9ICBcIjxcIjxOT19XSElURVNQQUNFPm5hbWUganN4QXR0cmlidXRlKiBcIj5cIiA7XG4gICAgXG4gICAgXG4gICAgICBqc3hFbmRUYWcgICAgICAgICA6Oj0gIFwiPC9cIjxOT19XSElURVNQQUNFPm5hbWUgXCI+XCIgO1xuICAgIFxuICAgIFxuICAgICAganN4QXR0cmlidXRlICAgICAgOjo9ICBuYW1lICggPE5PX1dISVRFU1BBQ0U+XCI9XCIgKCAoIDxOT19XSElURVNQQUNFPltzdHJpbmctbGl0ZXJhbF0gKSB8ICggPE5PX1dISVRFU1BBQ0U+XCJ7XCIgZXhwcmVzc2lvbiBcIn1cIiApICkgKT8gO1xuICAgIFxuICAgIFxuICAgICAganNvbiAgICAgICAgICAgICAgOjo9ICBqc29uQXJyYXkgfCBqc29uT2JqZWN0IDtcbiAgICBcbiAgICBcbiAgICAgIGpzb25BcnJheSAgICAgICAgIDo6PSAgXCJbXCIgKCBqc29uRWxlbWVudCAoIFwiLFwiIGpzb25FbGVtZW50ICkqICk/IFwiXVwiIDtcbiAgICBcbiAgICBcbiAgICAgIGpzb25PYmplY3QgICAgICAgIDo6PSAgXCJ7XCIgKCBbc3RyaW5nLWxpdGVyYWxdIFwiOlwiIGpzb25FbGVtZW50ICggXCIsXCIgW3N0cmluZy1saXRlcmFsXSBcIjpcIiBqc29uRWxlbWVudCApKiApPyBcIn1cIiA7XG4gICAgXG4gICAgXG4gICAgICBqc29uRWxlbWVudCAgICAgICA6Oj0gIGpzb24gfCBbc3RyaW5nLWxpdGVyYWxdIHwgW251bWJlcl0gfCBcInRydWVcIiB8IFwiZmFsc2VcIiB8IFwibnVsbFwiIDtcbiAgICBcbiAgICBcbiAgICAgIGFycm93RnVuY3Rpb24gICAgIDo6PSAgXCIoXCIgYXJndW1lbnRzPyBcIilcIiBcIj0+XCIgKCBleHByZXNzaW9uIHwgKCBcIntcIiBzdGF0ZW1lbnQqIFwifVwiICkgKSA7XG4gICAgXG4gICAgXG4gICAgICB0ZW1wbGF0ZUxpdGVyYWwgICA6Oj0gIFwiXFxgXCIgKCAoIFwiXFwke1wiIGV4cHJlc3Npb24/IFwifVwiICkgfCBzdHJpbmcgKSogXCJcXGBcIiA7XG4gICAgXG4gICAgXG4gICAgICBzdHJpbmcgICAgICAgICAgICA6Oj0gICggW251bWJlcl0gfCBbc3BlY2lhbF0gfCBbb3BlcmF0b3JdfCBba2V5d29yZF0gfCBbaWRlbnRpZmllcl0gfCBbc3RyaW5nLWxpdGVyYWxdIHwgW3VuYXNzaWduZWRdICkrIDtcbiAgICBcbiAgICBcbiAgICAgIHByb3BlcnR5ICAgICAgICAgIDo6PSAgKCAoICggbmFtZSB8IFtzdHJpbmctbGl0ZXJhbF0gKSBcIjpcIiBleHByZXNzaW9uICkgfCB2YXJpYWJsZSApIDtcbiAgICBcbiAgICBcbiAgICAgIGltcG9ydE1ldGEgICAgICAgIDo6PSAgXCJpbXBvcnRcIjxOT19XSElURVNQQUNFPlwiLlwiPE5PX1dISVRFU1BBQ0U+XCJtZXRhXCIgO1xuICAgIFxuICAgIFxuICAgICAgZXhwcmVzc2lvbnMgICAgICAgOjo9ICBleHByZXNzaW9uICggXCIsXCIgZXhwcmVzc2lvbiApKiA7XG4gICAgXG4gICAgXG4gICAgICBhcmd1bWVudHMgICAgICAgICA6Oj0gIHNwcmVhZEFyZ3VtZW50IHwgKCBhcmd1bWVudCAoIFwiLFwiIGFyZ3VtZW50ICkqICggXCIsXCIgc3ByZWFkQXJndW1lbnQgKT8gKSA7XG4gICAgXG4gICAgXG4gICAgICBmaWVsZHMgICAgICAgICAgICA6Oj0gIG5hbWUgKCBcIjpcIiBuYW1lICk/ICggXCIsXCIgbmFtZSAoIFwiOlwiIG5hbWUgKT8gKSogO1xuICAgIFxuICAgIFxuICAgICAgbmFtZXMgICAgICAgICAgICAgOjo9ICBuYW1lICggXCJhc1wiIG5hbWUgKT8gKCBcIixcIiBuYW1lICggXCJhc1wiIG5hbWUgKT8gKSogO1xuICAgIFxuICAgIFxuICAgICAgc3ByZWFkQXJndW1lbnQgICAgOjo9ICBcIi4uLlwiPE5PX1dISVRFU1BBQ0U+dmFyaWFibGUgO1xuICAgIFxuICAgIFxuICAgICAgYXJndW1lbnQgICAgICAgICAgOjo9ICB2YXJpYWJsZSAoIFwiPVwiIGV4cHJlc3Npb24gKT8gO1xuICAgIFxuICAgIFxuICAgICAgdmFyaWFibGUgICAgICAgICAgOjo9ICBbaWRlbnRpZmllcl0gO1xuICAgIFxuICAgIFxuICAgICAgbGFiZWwgICAgICAgICAgICAgOjo9ICBbaWRlbnRpZmllcl0gO1xuICAgIFxuICAgIFxuICAgICAgbmFtZSAgICAgICAgICAgICAgOjo9ICBbaWRlbnRpZmllcl0gO1xuICAgIFxuICAgIFxuICAgICAgZXJyb3IuICAgICAgICAgICAgOjo9ICAuIDtcbiAgICBcbiAgICBgO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxUUE7OztlQUFBOzs7QUFuUUEsTUFBTUEsTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWlRVCxDQUFDO01BRUwsV0FBZUEifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "yapp",
3
3
  "author": "James Smith",
4
- "version": "5.1.399",
4
+ "version": "5.1.400",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/yapp",
7
7
  "description": "Yapp;s Another Pretty Printer.",
@@ -1,260 +1,262 @@
1
1
  "use strict";
2
2
 
3
3
  const bnf = `
4
-
5
- javaScript ::= preamble? ( statement | function | class | error )* ;
6
-
7
-
8
- preamble ::= "\\"use strict\\""<NO_WHITESPACE>";" ;
9
-
10
-
11
- statement ::= statementBody... ";"
12
-
13
- | "{" ( statement | function )* "}"
14
-
15
- | "if" "(" expression... ")" statement ( "else" statement )?
16
-
17
- | "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )
18
-
19
- | ( "(" variable "in" expression... ")" statement )
20
-
21
- | ( "await"? "(" variable "of" expression... ")" statement ) )
22
-
23
- | "do" statement "while" "(" expression... ")"
24
-
25
- | "while" "(" expression... ")" statement
26
-
27
- | "switch" "(" expression... ")" "{" case* defaultCase? "}"
28
-
29
- | try ( ( catch* finally ) | catch+ )
30
-
31
- ;
32
-
33
-
34
- class ::= ( "export" "default"? )? "class" name classBody
35
-
36
- | "export" "default" "class" classBody
37
-
38
- ;
39
-
40
-
41
- function ::= ( "export" "default"? )? "async"? "function" name functionBody
42
-
43
- | "export" "default" "async"? "function" functionBody
44
-
45
- ;
46
-
47
-
48
- statementBody ::= "import" ( [string-literal]
49
-
50
- | ( name "from" [string-literal] )
51
-
52
- | ( "{" names "}" "from" [string-literal] )
53
-
54
- | ( "*" "as" name "from" [string-literal] ) )
55
-
56
- | "export" ( ( "{" names "}" ( "from" [string-literal] )? )
57
-
58
- | ( "const" "{" fields "}" "=" expression )
59
-
60
- | ( "{" "default" "}" "from" [string-literal] )
61
-
62
- | ( "*" ( "as" name )? "from" [string-literal] ) )
63
-
64
- | "export"? ( ( "var" var ( "," var )* )
65
-
66
- | ( "let" let ( "," let )* )
67
-
68
- | ( "const" const ( "," const )* ) )
69
-
70
- | ( "export" "default" )? expression
71
-
72
- | "return" ( ( "(" expression ")" ) | expression? )
73
-
74
- | "throw" expression
75
-
76
- | "delete" expression
77
-
78
- | "break"
79
-
80
- | "continue"
81
-
82
- | "debugger"
83
-
84
- ;
85
-
86
-
87
- functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;
88
-
89
-
90
- classBody ::= ( "extends" name )? "{" ( classConstructor | classMethod | classField )* "}" ;
91
-
92
-
93
- classConstructor ::= "constructor" functionBody ;
94
-
95
-
96
- classMethod ::= "static"? name functionBody ;
97
-
98
-
99
- classField ::= "static"? name "=" expression... ";" ;
100
-
101
-
102
- var ::= variable ( "=" expression )? | destructure "=" expression ;
103
-
104
-
105
- let ::= variable ( "=" expression )? | destructure "=" expression ;
106
-
107
-
108
- const ::= ( variable | destructure ) "=" expression ;
109
-
110
-
111
- try ::= "try" "{" statement+ "}" ;
112
-
113
-
114
- catch ::= "catch" "(" [identifier] ")" "{" statement+ "}" ;
115
-
116
-
117
- finally ::= "finally" "{" statement+ "}" ;
118
-
119
-
120
- case ::= "case" expression ":" statement ( "break" ";" )? ;
121
-
122
-
123
- defaultCase ::= "default" ":" statement ( "break" ";" )? ;
124
-
125
-
126
- initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;
127
-
128
-
129
- destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"
130
-
131
- | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"
132
-
133
- ;
134
-
135
-
136
- expression ::= jsx
137
-
138
- | json
139
-
140
- | arrowFunction
141
-
142
- | templateLiteral
143
-
144
- | "(" expression ")"
145
-
146
- | "{" ( property ( "," property )* )? "}"
147
-
148
- | "[" ( expression ( "," expression )* ","? )? "]"
149
-
150
- | "typeof" ( expression | ( "(" expression ")") )
151
-
152
- | "void" ( expression | ( "(" expression ")") )
153
-
154
- | "new" name<NO_WHITESPACE>"(" expressions? ")"
155
-
156
- | [operator]<NO_WHITESPACE>expression
157
-
158
- | expression<NO_WHITESPACE>( ( "."<NO_WHITESPACE>name )
159
-
160
- | ( "[" expressions "]" )
161
-
162
- | ( "(" expressions? ")" )
163
-
164
- | templateLiteral
165
-
166
- | [operator] )
167
-
168
- | expression ( ( [operator] expression )
169
-
170
- | ( "?" expression ":" expression )
171
-
172
- | ( "instanceof" expression )
173
-
174
- | ( "in" expression ) )
175
-
176
- | importMeta
177
-
178
- | variable
179
-
180
- | [number] | [string-literal]
181
-
182
- | "super" | "this" | "true" | "false" | "null" | "undefined"
183
-
184
- ;
185
-
186
-
187
- jsx ::= jsxCompleteTag | jsxStartTag ( jsx | ( "{" expression? "}" ) | string )* jsxEndTag ;
188
-
189
-
190
- jsxCompleteTag ::= "<"<NO_WHITESPACE>name jsxAttribute* "/>" ;
191
-
192
-
193
- jsxStartTag ::= "<"<NO_WHITESPACE>name jsxAttribute* ">" ;
194
-
195
-
196
- jsxEndTag ::= "</"<NO_WHITESPACE>name ">" ;
197
-
198
-
199
- jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;
200
-
201
-
202
- json ::= jsonArray | jsonObject ;
203
-
204
-
205
- jsonArray ::= "[" ( jsonElement ( "," jsonElement )* )? "]" ;
206
-
207
-
208
- jsonObject ::= "{" ( [string-literal] ":" jsonElement ( "," [string-literal] ":" jsonElement )* )? "}" ;
209
-
210
-
211
- jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;
212
-
213
-
214
- arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;
215
-
216
-
217
- templateLiteral ::= "\`" ( ( "\${" expression? "}" ) | string )* "\`" ;
218
-
219
-
220
- string ::= ( [number] | [special] | [operator]| [keyword] | [identifier] | [string-literal] | [unassigned] )+ ;
221
-
222
-
223
- property ::= ( ( ( name | [string-literal] ) ":" expression ) | variable ) ;
224
-
225
-
226
- importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;
227
-
228
-
229
- expressions ::= expression ( "," expression )* ;
230
-
231
-
232
- arguments ::= spreadArgument | ( argument ( "," argument )* ( "," spreadArgument )? ) ;
233
-
234
-
235
- fields ::= name ( ":" name )? ( "," name ( ":" name )? )* ;
236
-
237
-
238
- names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;
239
-
240
-
241
- spreadArgument ::= "..."<NO_WHITESPACE>variable ;
242
-
243
-
244
- argument ::= variable ( "=" expression )? ;
245
-
246
-
247
- variable ::= [identifier] ;
248
-
249
-
250
- label ::= [identifier] ;
251
-
252
-
253
- name ::= [identifier] ;
254
-
255
-
256
- error. ::= . ;
257
-
258
- `;
4
+
5
+ javaScript ::= preamble? ( statement | function | class | error )* ;
6
+
7
+
8
+ preamble ::= "use strict"<NO_WHITESPACE>";" ;
9
+
10
+
11
+ statement ::= ( statementBody ... ";" )
12
+
13
+ | "{" ( statement | function )* "}"
14
+
15
+ | "if" "(" ( expression ... ")" ) statement ( "else" statement )?
16
+
17
+ | "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )
18
+
19
+ | ( "(" variable "in" ( expression ... ")" ) statement )
20
+
21
+ | ( "await"? "(" variable "of" ( expression ... ")" ) statement ) )
22
+
23
+ | "do" statement "while" "(" ( expression ... ")" )
24
+
25
+ | "while" "(" ( expression ... ")" ) statement
26
+
27
+ | "switch" "(" ( expression ... ")" ) "{" case* defaultCase? "}"
28
+
29
+ | try ( ( catch* finally ) | catch+ )
30
+
31
+ ;
32
+
33
+
34
+ class ::= ( "export" "default"? )? "class" name classBody
35
+
36
+ | "export" "default" "class" classBody
37
+
38
+ ;
39
+
40
+
41
+ function ::= ( "export" "default"? )? "async"? "function" name functionBody
42
+
43
+ | "export" "default" "async"? "function" functionBody
44
+
45
+ ;
46
+
47
+
48
+ statementBody ::= "import" ( [string-literal]
49
+
50
+ | ( name "from" [string-literal] )
51
+
52
+ | ( "{" names "}" "from" [string-literal] )
53
+
54
+ | ( "*" "as" name "from" [string-literal] ) )
55
+
56
+ | "export" ( ( "{" names "}" ( "from" [string-literal] )? )
57
+
58
+ | ( "const" "{" fields "}" "=" expression )
59
+
60
+ | ( "{" "default" "}" "from" [string-literal] )
61
+
62
+ | ( "*" ( "as" name )? "from" [string-literal] ) )
63
+
64
+ | "export"? ( ( "var" var ( "," var )* )
65
+
66
+ | ( "let" let ( "," let )* )
67
+
68
+ | ( "const" const ( "," const )* ) )
69
+
70
+ | ( "export" "default" )? expression
71
+
72
+ | "return" ( ( "(" expression ")" ) | expression? )
73
+
74
+ | "throw" expression
75
+
76
+ | "delete" expression
77
+
78
+ | "break"
79
+
80
+ | "continue"
81
+
82
+ | "debugger"
83
+
84
+ ;
85
+
86
+
87
+ functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;
88
+
89
+
90
+ classBody ::= ( "extends" name )? "{" ( classConstructor | classMethod | classField )* "}" ;
91
+
92
+
93
+ classConstructor ::= "constructor" functionBody ;
94
+
95
+
96
+ classMethod ::= "static"? name functionBody ;
97
+
98
+
99
+ classField ::= "static"? name "=" ( expression ... ";" ) ;
100
+
101
+
102
+ var ::= variable ( "=" expression )? | destructure "=" expression ;
103
+
104
+
105
+ let ::= variable ( "=" expression )? | destructure "=" expression ;
106
+
107
+
108
+ const ::= ( variable | destructure ) "=" expression ;
109
+
110
+
111
+ try ::= "try" "{" statement+ "}" ;
112
+
113
+
114
+ catch ::= "catch" "(" [identifier] ")" "{" statement+ "}" ;
115
+
116
+
117
+ finally ::= "finally" "{" statement+ "}" ;
118
+
119
+
120
+ case ::= "case" expression ":" statement ( "break" ";" )? ;
121
+
122
+
123
+ defaultCase ::= "default" ":" statement ( "break" ";" )? ;
124
+
125
+
126
+ initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;
127
+
128
+
129
+ destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"
130
+
131
+ | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"
132
+
133
+ ;
134
+
135
+
136
+ expression ::= jsx
137
+
138
+ | json
139
+
140
+ | arrowFunction
141
+
142
+ | templateLiteral
143
+
144
+ | "(" expression ")"
145
+
146
+ | "{" ( property ( "," property )* )? "}"
147
+
148
+ | "[" ( expression ( "," expression )* ","? )? "]"
149
+
150
+ | "typeof" ( expression | ( "(" expression ")") )
151
+
152
+ | "void" ( expression | ( "(" expression ")") )
153
+
154
+ | "new" name<NO_WHITESPACE>"(" expressions? ")"
155
+
156
+ | [operator]<NO_WHITESPACE>expression
157
+
158
+ | expression<NO_WHITESPACE>( ( "."<NO_WHITESPACE>name )
159
+
160
+ | ( "[" expressions "]" )
161
+
162
+ | ( "(" expressions? ")" )
163
+
164
+ | templateLiteral
165
+
166
+ | [operator] )
167
+
168
+ | expression ( ( [operator] expression )
169
+
170
+ | ( "?" expression ":" expression )
171
+
172
+ | ( "instanceof" expression )
173
+
174
+ | ( "in" expression ) )
175
+
176
+ | variable
177
+
178
+ | importMeta
179
+
180
+ | [number]
181
+
182
+ | [string-literal]
183
+
184
+ | "super" | "this" | "true" | "false" | "null" | "undefined"
185
+
186
+ ;
187
+
188
+
189
+ jsx ::= jsxCompleteTag | jsxStartTag ( jsx | ( "{" expression? "}" ) | string )* jsxEndTag ;
190
+
191
+
192
+ jsxCompleteTag ::= "<"<NO_WHITESPACE>name jsxAttribute* "/>" ;
193
+
194
+
195
+ jsxStartTag ::= "<"<NO_WHITESPACE>name jsxAttribute* ">" ;
196
+
197
+
198
+ jsxEndTag ::= "</"<NO_WHITESPACE>name ">" ;
199
+
200
+
201
+ jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;
202
+
203
+
204
+ json ::= jsonArray | jsonObject ;
205
+
206
+
207
+ jsonArray ::= "[" ( jsonElement ( "," jsonElement )* )? "]" ;
208
+
209
+
210
+ jsonObject ::= "{" ( [string-literal] ":" jsonElement ( "," [string-literal] ":" jsonElement )* )? "}" ;
211
+
212
+
213
+ jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;
214
+
215
+
216
+ arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;
217
+
218
+
219
+ templateLiteral ::= "\`" ( ( "\${" expression? "}" ) | string )* "\`" ;
220
+
221
+
222
+ string ::= ( [number] | [special] | [operator]| [keyword] | [identifier] | [string-literal] | [unassigned] )+ ;
223
+
224
+
225
+ property ::= ( ( ( name | [string-literal] ) ":" expression ) | variable ) ;
226
+
227
+
228
+ importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;
229
+
230
+
231
+ expressions ::= expression ( "," expression )* ;
232
+
233
+
234
+ arguments ::= spreadArgument | ( argument ( "," argument )* ( "," spreadArgument )? ) ;
235
+
236
+
237
+ fields ::= name ( ":" name )? ( "," name ( ":" name )? )* ;
238
+
239
+
240
+ names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;
241
+
242
+
243
+ spreadArgument ::= "..."<NO_WHITESPACE>variable ;
244
+
245
+
246
+ argument ::= variable ( "=" expression )? ;
247
+
248
+
249
+ variable ::= [identifier] ;
250
+
251
+
252
+ label ::= [identifier] ;
253
+
254
+
255
+ name ::= [identifier] ;
256
+
257
+
258
+ error. ::= . ;
259
+
260
+ `;
259
261
 
260
262
  export default bnf;