@renovatebot/good-enough-parser 1.1.24 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/dist/cjs/index.d.ts +4 -4
- package/dist/cjs/index.js +7 -7
- package/dist/cjs/lang/groovy.d.ts +6 -6
- package/dist/cjs/lang/groovy.js +83 -83
- package/dist/cjs/lang/index.d.ts +20 -20
- package/dist/cjs/lang/index.js +56 -56
- package/dist/cjs/lang/index.js.map +1 -1
- package/dist/cjs/lang/python.d.ts +6 -6
- package/dist/cjs/lang/python.js +73 -73
- package/dist/cjs/lang/scala.d.ts +6 -6
- package/dist/cjs/lang/scala.js +71 -71
- package/dist/cjs/lang/starlark.d.ts +6 -6
- package/dist/cjs/lang/starlark.js +58 -58
- package/dist/cjs/lang/types.d.ts +6 -6
- package/dist/cjs/lang/types.js +2 -2
- package/dist/cjs/lexer/bracket.d.ts +6 -6
- package/dist/cjs/lexer/bracket.js +56 -57
- package/dist/cjs/lexer/bracket.js.map +1 -1
- package/dist/cjs/lexer/comment.d.ts +3 -3
- package/dist/cjs/lexer/comment.js +43 -44
- package/dist/cjs/lexer/comment.js.map +1 -1
- package/dist/cjs/lexer/index.d.ts +5 -5
- package/dist/cjs/lexer/index.js +154 -155
- package/dist/cjs/lexer/index.js.map +1 -1
- package/dist/cjs/lexer/number.d.ts +2 -2
- package/dist/cjs/lexer/number.js +17 -18
- package/dist/cjs/lexer/number.js.map +1 -1
- package/dist/cjs/lexer/operator.d.ts +2 -2
- package/dist/cjs/lexer/operator.js +23 -24
- package/dist/cjs/lexer/operator.js.map +1 -1
- package/dist/cjs/lexer/rules.d.ts +4 -4
- package/dist/cjs/lexer/rules.js +74 -74
- package/dist/cjs/lexer/rules.js.map +1 -1
- package/dist/cjs/lexer/string.d.ts +2 -2
- package/dist/cjs/lexer/string.js +180 -181
- package/dist/cjs/lexer/string.js.map +1 -1
- package/dist/cjs/lexer/symbol.d.ts +2 -2
- package/dist/cjs/lexer/symbol.js +17 -18
- package/dist/cjs/lexer/symbol.js.map +1 -1
- package/dist/cjs/lexer/token.d.ts +3 -3
- package/dist/cjs/lexer/token.js +63 -64
- package/dist/cjs/lexer/token.js.map +1 -1
- package/dist/cjs/lexer/types.d.ts +142 -142
- package/dist/cjs/lexer/types.js +2 -2
- package/dist/cjs/parser/cursor.d.ts +2 -2
- package/dist/cjs/parser/cursor.js +12 -13
- package/dist/cjs/parser/cursor.js.map +1 -1
- package/dist/cjs/parser/index.d.ts +3 -3
- package/dist/cjs/parser/index.js +19 -19
- package/dist/cjs/parser/tree.d.ts +4 -4
- package/dist/cjs/parser/tree.js +245 -246
- package/dist/cjs/parser/tree.js.map +1 -1
- package/dist/cjs/parser/types.d.ts +33 -33
- package/dist/cjs/parser/types.js +2 -2
- package/dist/cjs/query/builder.d.ts +144 -144
- package/dist/cjs/query/builder.d.ts.map +1 -1
- package/dist/cjs/query/builder.js +333 -332
- package/dist/cjs/query/builder.js.map +1 -1
- package/dist/cjs/query/handler.d.ts +2 -2
- package/dist/cjs/query/handler.js +9 -10
- package/dist/cjs/query/handler.js.map +1 -1
- package/dist/cjs/query/index.d.ts +2 -2
- package/dist/cjs/query/index.js +32 -32
- package/dist/cjs/query/matchers/abstract-matcher.d.ts +9 -9
- package/dist/cjs/query/matchers/abstract-matcher.js +36 -36
- package/dist/cjs/query/matchers/abstract-matcher.js.map +1 -1
- package/dist/cjs/query/matchers/alt-matcher.d.ts +10 -10
- package/dist/cjs/query/matchers/alt-matcher.js +33 -33
- package/dist/cjs/query/matchers/alt-matcher.js.map +1 -1
- package/dist/cjs/query/matchers/anchor-matcher.d.ts +17 -17
- package/dist/cjs/query/matchers/anchor-matcher.js +50 -50
- package/dist/cjs/query/matchers/anchor-matcher.js.map +1 -1
- package/dist/cjs/query/matchers/comment-matcher.d.ts +10 -10
- package/dist/cjs/query/matchers/comment-matcher.js +39 -39
- package/dist/cjs/query/matchers/comment-matcher.js.map +1 -1
- package/dist/cjs/query/matchers/index.d.ts +6 -6
- package/dist/cjs/query/matchers/index.js +22 -22
- package/dist/cjs/query/matchers/many-matcher.d.ts +13 -13
- package/dist/cjs/query/matchers/many-matcher.js +61 -61
- package/dist/cjs/query/matchers/many-matcher.js.map +1 -1
- package/dist/cjs/query/matchers/num-matcher.d.ts +8 -8
- package/dist/cjs/query/matchers/num-matcher.js +34 -34
- package/dist/cjs/query/matchers/num-matcher.js.map +1 -1
- package/dist/cjs/query/matchers/op-matcher.d.ts +8 -8
- package/dist/cjs/query/matchers/op-matcher.js +34 -34
- package/dist/cjs/query/matchers/op-matcher.js.map +1 -1
- package/dist/cjs/query/matchers/seq-matcher.d.ts +14 -14
- package/dist/cjs/query/matchers/seq-matcher.js +76 -76
- package/dist/cjs/query/matchers/seq-matcher.js.map +1 -1
- package/dist/cjs/query/matchers/str-matcher.d.ts +38 -38
- package/dist/cjs/query/matchers/str-matcher.js +108 -108
- package/dist/cjs/query/matchers/str-matcher.js.map +1 -1
- package/dist/cjs/query/matchers/sym-matcher.d.ts +8 -8
- package/dist/cjs/query/matchers/sym-matcher.js +34 -34
- package/dist/cjs/query/matchers/sym-matcher.js.map +1 -1
- package/dist/cjs/query/matchers/tree-matcher.d.ts +23 -23
- package/dist/cjs/query/matchers/tree-matcher.js +121 -121
- package/dist/cjs/query/matchers/tree-matcher.js.map +1 -1
- package/dist/cjs/query/options.d.ts +10 -10
- package/dist/cjs/query/options.js +148 -149
- package/dist/cjs/query/options.js.map +1 -1
- package/dist/cjs/query/regex.d.ts +1 -1
- package/dist/cjs/query/regex.js +12 -13
- package/dist/cjs/query/regex.js.map +1 -1
- package/dist/cjs/query/types.d.ts +100 -100
- package/dist/cjs/query/types.d.ts.map +1 -1
- package/dist/cjs/query/types.js +2 -2
- package/dist/cjs/util/clone.d.ts +1 -1
- package/dist/cjs/util/clone.js +5 -5
- package/dist/cjs/util/regex.d.ts +1 -1
- package/dist/cjs/util/regex.js +6 -7
- package/dist/cjs/util/regex.js.map +1 -1
- package/dist/esm/index.d.ts +4 -4
- package/dist/esm/index.js +8 -8
- package/dist/esm/lang/groovy.d.ts +6 -6
- package/dist/esm/lang/groovy.js +80 -80
- package/dist/esm/lang/index.d.ts +20 -20
- package/dist/esm/lang/index.js +37 -37
- package/dist/esm/lang/python.d.ts +6 -6
- package/dist/esm/lang/python.js +70 -70
- package/dist/esm/lang/scala.d.ts +6 -6
- package/dist/esm/lang/scala.js +68 -68
- package/dist/esm/lang/starlark.d.ts +6 -6
- package/dist/esm/lang/starlark.js +55 -55
- package/dist/esm/lang/types.d.ts +6 -6
- package/dist/esm/lang/types.js +1 -1
- package/dist/esm/lexer/bracket.d.ts +6 -6
- package/dist/esm/lexer/bracket.js +49 -49
- package/dist/esm/lexer/bracket.js.map +1 -1
- package/dist/esm/lexer/comment.d.ts +3 -3
- package/dist/esm/lexer/comment.js +39 -39
- package/dist/esm/lexer/comment.js.map +1 -1
- package/dist/esm/lexer/index.d.ts +5 -5
- package/dist/esm/lexer/index.js +136 -136
- package/dist/esm/lexer/index.js.map +1 -1
- package/dist/esm/lexer/number.d.ts +2 -2
- package/dist/esm/lexer/number.js +14 -14
- package/dist/esm/lexer/operator.d.ts +2 -2
- package/dist/esm/lexer/operator.js +20 -20
- package/dist/esm/lexer/rules.d.ts +4 -4
- package/dist/esm/lexer/rules.js +69 -69
- package/dist/esm/lexer/rules.js.map +1 -1
- package/dist/esm/lexer/string.d.ts +2 -2
- package/dist/esm/lexer/string.js +177 -177
- package/dist/esm/lexer/string.js.map +1 -1
- package/dist/esm/lexer/symbol.d.ts +2 -2
- package/dist/esm/lexer/symbol.js +14 -14
- package/dist/esm/lexer/token.d.ts +3 -3
- package/dist/esm/lexer/token.js +60 -60
- package/dist/esm/lexer/token.js.map +1 -1
- package/dist/esm/lexer/types.d.ts +142 -142
- package/dist/esm/lexer/types.js +1 -1
- package/dist/esm/parser/cursor.d.ts +2 -2
- package/dist/esm/parser/cursor.js +9 -9
- package/dist/esm/parser/index.d.ts +3 -3
- package/dist/esm/parser/index.js +3 -3
- package/dist/esm/parser/tree.d.ts +4 -4
- package/dist/esm/parser/tree.js +241 -241
- package/dist/esm/parser/tree.js.map +1 -1
- package/dist/esm/parser/types.d.ts +33 -33
- package/dist/esm/parser/types.js +1 -1
- package/dist/esm/query/builder.d.ts +144 -144
- package/dist/esm/query/builder.d.ts.map +1 -1
- package/dist/esm/query/builder.js +305 -304
- package/dist/esm/query/builder.js.map +1 -1
- package/dist/esm/query/handler.d.ts +2 -2
- package/dist/esm/query/handler.js +6 -6
- package/dist/esm/query/index.d.ts +2 -2
- package/dist/esm/query/index.js +2 -2
- package/dist/esm/query/matchers/abstract-matcher.d.ts +9 -9
- package/dist/esm/query/matchers/abstract-matcher.js +32 -32
- package/dist/esm/query/matchers/abstract-matcher.js.map +1 -1
- package/dist/esm/query/matchers/alt-matcher.d.ts +10 -10
- package/dist/esm/query/matchers/alt-matcher.js +29 -29
- package/dist/esm/query/matchers/alt-matcher.js.map +1 -1
- package/dist/esm/query/matchers/anchor-matcher.d.ts +17 -17
- package/dist/esm/query/matchers/anchor-matcher.js +44 -44
- package/dist/esm/query/matchers/anchor-matcher.js.map +1 -1
- package/dist/esm/query/matchers/comment-matcher.d.ts +10 -10
- package/dist/esm/query/matchers/comment-matcher.js +35 -35
- package/dist/esm/query/matchers/comment-matcher.js.map +1 -1
- package/dist/esm/query/matchers/index.d.ts +6 -6
- package/dist/esm/query/matchers/index.js +6 -6
- package/dist/esm/query/matchers/many-matcher.d.ts +13 -13
- package/dist/esm/query/matchers/many-matcher.js +57 -57
- package/dist/esm/query/matchers/many-matcher.js.map +1 -1
- package/dist/esm/query/matchers/num-matcher.d.ts +8 -8
- package/dist/esm/query/matchers/num-matcher.js +30 -30
- package/dist/esm/query/matchers/num-matcher.js.map +1 -1
- package/dist/esm/query/matchers/op-matcher.d.ts +8 -8
- package/dist/esm/query/matchers/op-matcher.js +30 -30
- package/dist/esm/query/matchers/op-matcher.js.map +1 -1
- package/dist/esm/query/matchers/seq-matcher.d.ts +14 -14
- package/dist/esm/query/matchers/seq-matcher.js +72 -72
- package/dist/esm/query/matchers/seq-matcher.js.map +1 -1
- package/dist/esm/query/matchers/str-matcher.d.ts +38 -38
- package/dist/esm/query/matchers/str-matcher.js +102 -102
- package/dist/esm/query/matchers/str-matcher.js.map +1 -1
- package/dist/esm/query/matchers/sym-matcher.d.ts +8 -8
- package/dist/esm/query/matchers/sym-matcher.js +30 -30
- package/dist/esm/query/matchers/sym-matcher.js.map +1 -1
- package/dist/esm/query/matchers/tree-matcher.d.ts +23 -23
- package/dist/esm/query/matchers/tree-matcher.js +117 -117
- package/dist/esm/query/matchers/tree-matcher.js.map +1 -1
- package/dist/esm/query/options.d.ts +10 -10
- package/dist/esm/query/options.js +139 -139
- package/dist/esm/query/options.js.map +1 -1
- package/dist/esm/query/regex.d.ts +1 -1
- package/dist/esm/query/regex.js +9 -9
- package/dist/esm/query/regex.js.map +1 -1
- package/dist/esm/query/types.d.ts +100 -100
- package/dist/esm/query/types.d.ts.map +1 -1
- package/dist/esm/query/types.js +1 -1
- package/dist/esm/util/clone.d.ts +1 -1
- package/dist/esm/util/clone.js +1 -1
- package/dist/esm/util/regex.d.ts +1 -1
- package/dist/esm/util/regex.js +3 -3
- package/package.json +42 -46
|
@@ -1,333 +1,334 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return new
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return new
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
return new
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
exports.
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
return new
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
exports.
|
|
106
|
-
function
|
|
107
|
-
return new
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
}
|
|
298
|
-
else {
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StrBuilder = exports.TreeBuilder = exports.AltBuilder = exports.ManyBuilder = exports.NumBuilder = exports.CommentBuilder = exports.OpBuilder = exports.SymBuilder = exports.SeqBuilder = exports.VoidBuilder = exports.EndBuilder = exports.BeginBuilder = void 0;
|
|
4
|
+
exports.begin = begin;
|
|
5
|
+
exports.handler = handler;
|
|
6
|
+
exports.join = join;
|
|
7
|
+
exports.sym = sym;
|
|
8
|
+
exports.op = op;
|
|
9
|
+
exports.comment = comment;
|
|
10
|
+
exports.num = num;
|
|
11
|
+
exports.many = many;
|
|
12
|
+
exports.opt = opt;
|
|
13
|
+
exports.alt = alt;
|
|
14
|
+
exports.tree = tree;
|
|
15
|
+
exports.str = str;
|
|
16
|
+
exports.buildRoot = buildRoot;
|
|
17
|
+
const matchers_1 = require("./matchers");
|
|
18
|
+
const anchor_matcher_1 = require("./matchers/anchor-matcher");
|
|
19
|
+
const comment_matcher_1 = require("./matchers/comment-matcher");
|
|
20
|
+
const num_matcher_1 = require("./matchers/num-matcher");
|
|
21
|
+
const str_matcher_1 = require("./matchers/str-matcher");
|
|
22
|
+
const tree_matcher_1 = require("./matchers/tree-matcher");
|
|
23
|
+
const options_1 = require("./options");
|
|
24
|
+
const regex_1 = require("./regex");
|
|
25
|
+
class TerminalBuilder {
|
|
26
|
+
handler(fn) {
|
|
27
|
+
const voidMatcher = new VoidBuilder(fn);
|
|
28
|
+
const builder = new SeqBuilder(this, voidMatcher);
|
|
29
|
+
return builder;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
class AbstractBuilder extends TerminalBuilder {
|
|
33
|
+
sym(arg1, arg2) {
|
|
34
|
+
const opts = (0, options_1.coerceSymOptions)(arg1, arg2);
|
|
35
|
+
const builder = new SymBuilder(opts);
|
|
36
|
+
return new SeqBuilder(this, builder);
|
|
37
|
+
}
|
|
38
|
+
op(arg1, arg2) {
|
|
39
|
+
const opts = (0, options_1.coerceOpOptions)(arg1, arg2);
|
|
40
|
+
const builder = new OpBuilder(opts);
|
|
41
|
+
return new SeqBuilder(this, builder);
|
|
42
|
+
}
|
|
43
|
+
comment(arg1, arg2) {
|
|
44
|
+
const opts = (0, options_1.coerceCommentOptions)(arg1, arg2);
|
|
45
|
+
const builder = new CommentBuilder(opts);
|
|
46
|
+
return new SeqBuilder(this, builder);
|
|
47
|
+
}
|
|
48
|
+
num(arg1, arg2) {
|
|
49
|
+
const opts = (0, options_1.coerceNumOptions)(arg1, arg2);
|
|
50
|
+
const builder = new NumBuilder(opts);
|
|
51
|
+
return new SeqBuilder(this, builder);
|
|
52
|
+
}
|
|
53
|
+
many(arg1, arg2, arg3) {
|
|
54
|
+
const opts = (0, options_1.coerceManyOptions)(arg1, arg2, arg3);
|
|
55
|
+
const builder = new ManyBuilder(opts);
|
|
56
|
+
return new SeqBuilder(this, builder);
|
|
57
|
+
}
|
|
58
|
+
opt(innerBuilder) {
|
|
59
|
+
const opts = (0, options_1.coerceManyOptions)(innerBuilder, 0, 1);
|
|
60
|
+
const builder = new ManyBuilder(opts);
|
|
61
|
+
return new SeqBuilder(this, builder);
|
|
62
|
+
}
|
|
63
|
+
alt(...alts) {
|
|
64
|
+
const builder = new AltBuilder(alts);
|
|
65
|
+
return new SeqBuilder(this, builder);
|
|
66
|
+
}
|
|
67
|
+
tree(arg1) {
|
|
68
|
+
const opts = (0, options_1.coerceTreeOptions)(arg1);
|
|
69
|
+
const builder = new TreeBuilder(opts);
|
|
70
|
+
return new SeqBuilder(this, builder);
|
|
71
|
+
}
|
|
72
|
+
str(arg1, arg2) {
|
|
73
|
+
const opts = (0, options_1.coerceStrOptions)(arg1, arg2);
|
|
74
|
+
const builder = new StrBuilder(opts);
|
|
75
|
+
return new SeqBuilder(this, builder);
|
|
76
|
+
}
|
|
77
|
+
end() {
|
|
78
|
+
return new EndBuilder(this);
|
|
79
|
+
}
|
|
80
|
+
join(other) {
|
|
81
|
+
const builder = new SeqBuilder(this, other);
|
|
82
|
+
return builder;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Anchors
|
|
86
|
+
class BeginBuilder extends AbstractBuilder {
|
|
87
|
+
build() {
|
|
88
|
+
return new anchor_matcher_1.BeginMatcher();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.BeginBuilder = BeginBuilder;
|
|
92
|
+
class EndBuilder extends TerminalBuilder {
|
|
93
|
+
constructor(builder) {
|
|
94
|
+
super();
|
|
95
|
+
this.builder = builder;
|
|
96
|
+
}
|
|
97
|
+
build() {
|
|
98
|
+
const matcher = this.builder.build();
|
|
99
|
+
const matchers = matcher instanceof matchers_1.SeqMatcher ? matcher.seq : [matcher];
|
|
100
|
+
matchers.push(new anchor_matcher_1.EndMatcher());
|
|
101
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
102
|
+
return new matchers_1.SeqMatcher({ matchers });
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.EndBuilder = EndBuilder;
|
|
106
|
+
function begin() {
|
|
107
|
+
return new BeginBuilder();
|
|
108
|
+
}
|
|
109
|
+
class VoidBuilder extends AbstractBuilder {
|
|
110
|
+
constructor(fn) {
|
|
111
|
+
super();
|
|
112
|
+
this.fn = fn;
|
|
113
|
+
}
|
|
114
|
+
build() {
|
|
115
|
+
return new anchor_matcher_1.VoidMatcher(this.fn);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.VoidBuilder = VoidBuilder;
|
|
119
|
+
function handler(fn) {
|
|
120
|
+
return new VoidBuilder(fn);
|
|
121
|
+
}
|
|
122
|
+
// Sequence
|
|
123
|
+
class SeqBuilder extends AbstractBuilder {
|
|
124
|
+
constructor(prev, next) {
|
|
125
|
+
super();
|
|
126
|
+
const prevSeq = prev instanceof SeqBuilder
|
|
127
|
+
? prev.builders
|
|
128
|
+
: [prev];
|
|
129
|
+
const nextSeq = next instanceof SeqBuilder
|
|
130
|
+
? next.builders
|
|
131
|
+
: [next];
|
|
132
|
+
this.builders = [...prevSeq, ...nextSeq];
|
|
133
|
+
}
|
|
134
|
+
build() {
|
|
135
|
+
const matchers = this.builders.map((builder) => builder.build());
|
|
136
|
+
return new matchers_1.SeqMatcher({ matchers });
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
exports.SeqBuilder = SeqBuilder;
|
|
140
|
+
function join(first, second, ...others) {
|
|
141
|
+
const seq = new SeqBuilder(first, second);
|
|
142
|
+
if (!others.length) {
|
|
143
|
+
return seq;
|
|
144
|
+
}
|
|
145
|
+
return others.reduce((res, query) => {
|
|
146
|
+
return res.join(query);
|
|
147
|
+
}, seq);
|
|
148
|
+
}
|
|
149
|
+
// Symbols
|
|
150
|
+
class SymBuilder extends AbstractBuilder {
|
|
151
|
+
constructor(opts) {
|
|
152
|
+
super();
|
|
153
|
+
this.opts = opts;
|
|
154
|
+
}
|
|
155
|
+
build() {
|
|
156
|
+
return new matchers_1.SymMatcher(this.opts);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
exports.SymBuilder = SymBuilder;
|
|
160
|
+
function sym(arg1, arg2) {
|
|
161
|
+
const opts = (0, options_1.coerceSymOptions)(arg1, arg2);
|
|
162
|
+
return new SymBuilder(opts);
|
|
163
|
+
}
|
|
164
|
+
// Operators
|
|
165
|
+
class OpBuilder extends AbstractBuilder {
|
|
166
|
+
constructor(opts) {
|
|
167
|
+
super();
|
|
168
|
+
this.opts = opts;
|
|
169
|
+
}
|
|
170
|
+
build() {
|
|
171
|
+
return new matchers_1.OpMatcher(this.opts);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
exports.OpBuilder = OpBuilder;
|
|
175
|
+
function op(arg1, arg2) {
|
|
176
|
+
const opts = (0, options_1.coerceOpOptions)(arg1, arg2);
|
|
177
|
+
return new OpBuilder(opts);
|
|
178
|
+
}
|
|
179
|
+
// Comments
|
|
180
|
+
class CommentBuilder extends AbstractBuilder {
|
|
181
|
+
constructor(opts) {
|
|
182
|
+
super();
|
|
183
|
+
this.opts = opts;
|
|
184
|
+
}
|
|
185
|
+
build() {
|
|
186
|
+
return new comment_matcher_1.CommentMatcher(this.opts);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
exports.CommentBuilder = CommentBuilder;
|
|
190
|
+
function comment(arg1, arg2) {
|
|
191
|
+
const opts = (0, options_1.coerceCommentOptions)(arg1, arg2);
|
|
192
|
+
return new CommentBuilder(opts);
|
|
193
|
+
}
|
|
194
|
+
// Numbers
|
|
195
|
+
class NumBuilder extends AbstractBuilder {
|
|
196
|
+
constructor(opts) {
|
|
197
|
+
super();
|
|
198
|
+
this.opts = opts;
|
|
199
|
+
}
|
|
200
|
+
build() {
|
|
201
|
+
return new num_matcher_1.NumMatcher(this.opts);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
exports.NumBuilder = NumBuilder;
|
|
205
|
+
function num(arg1, arg2) {
|
|
206
|
+
const opts = (0, options_1.coerceNumOptions)(arg1, arg2);
|
|
207
|
+
return new NumBuilder(opts);
|
|
208
|
+
}
|
|
209
|
+
// Repetitive patterns
|
|
210
|
+
class ManyBuilder extends AbstractBuilder {
|
|
211
|
+
constructor(opts) {
|
|
212
|
+
super();
|
|
213
|
+
this.opts = opts;
|
|
214
|
+
}
|
|
215
|
+
build() {
|
|
216
|
+
const matcher = this.opts.builder.build();
|
|
217
|
+
return new matchers_1.ManyMatcher({ ...this.opts, matcher });
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
exports.ManyBuilder = ManyBuilder;
|
|
221
|
+
function many(arg1, arg2, arg3) {
|
|
222
|
+
const opts = (0, options_1.coerceManyOptions)(arg1, arg2, arg3);
|
|
223
|
+
return new ManyBuilder(opts);
|
|
224
|
+
}
|
|
225
|
+
function opt(builder) {
|
|
226
|
+
const opts = (0, options_1.coerceManyOptions)(builder, 0, 1);
|
|
227
|
+
return new ManyBuilder(opts);
|
|
228
|
+
}
|
|
229
|
+
// Alternatives
|
|
230
|
+
class AltBuilder extends AbstractBuilder {
|
|
231
|
+
constructor(builders) {
|
|
232
|
+
super();
|
|
233
|
+
this.builders = builders;
|
|
234
|
+
}
|
|
235
|
+
build() {
|
|
236
|
+
const matchers = this.builders.map((alt) => alt.build());
|
|
237
|
+
return new matchers_1.AltMatcher({ matchers });
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
exports.AltBuilder = AltBuilder;
|
|
241
|
+
function alt(...builders) {
|
|
242
|
+
return new AltBuilder(builders);
|
|
243
|
+
}
|
|
244
|
+
// Trees
|
|
245
|
+
class TreeBuilder extends AbstractBuilder {
|
|
246
|
+
constructor(opts) {
|
|
247
|
+
super();
|
|
248
|
+
this.opts = opts;
|
|
249
|
+
}
|
|
250
|
+
build() {
|
|
251
|
+
const builderOpts = this.opts;
|
|
252
|
+
const matcher = builderOpts.search ? builderOpts.search.build() : null;
|
|
253
|
+
const matcherOpts = { ...builderOpts, matcher };
|
|
254
|
+
return new tree_matcher_1.TreeMatcher(matcherOpts);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
exports.TreeBuilder = TreeBuilder;
|
|
258
|
+
function tree(arg1) {
|
|
259
|
+
const opts = (0, options_1.coerceTreeOptions)(arg1);
|
|
260
|
+
return new TreeBuilder(opts);
|
|
261
|
+
}
|
|
262
|
+
// Strings
|
|
263
|
+
class StrBuilder extends AbstractBuilder {
|
|
264
|
+
constructor(opts) {
|
|
265
|
+
super();
|
|
266
|
+
this.opts = opts;
|
|
267
|
+
}
|
|
268
|
+
build() {
|
|
269
|
+
var _a, _b, _c, _d, _e, _f;
|
|
270
|
+
if (this.opts.type === 'str-content') {
|
|
271
|
+
return new str_matcher_1.StrNodeMatcher({
|
|
272
|
+
matchers: [
|
|
273
|
+
new str_matcher_1.StrContentMatcher({
|
|
274
|
+
value: (_a = this.opts.match) !== null && _a !== void 0 ? _a : null,
|
|
275
|
+
handler: (_b = this.opts.handler) !== null && _b !== void 0 ? _b : null,
|
|
276
|
+
}),
|
|
277
|
+
],
|
|
278
|
+
preHandler: null,
|
|
279
|
+
postHandler: null,
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
if (this.opts.match) {
|
|
283
|
+
const matchers = [];
|
|
284
|
+
this.opts.match.forEach((m) => {
|
|
285
|
+
if (typeof m === 'string' || (0, regex_1.isRegex)(m)) {
|
|
286
|
+
const contentMatcher = new str_matcher_1.StrContentMatcher({
|
|
287
|
+
value: m,
|
|
288
|
+
handler: null,
|
|
289
|
+
});
|
|
290
|
+
matchers.push(contentMatcher);
|
|
291
|
+
}
|
|
292
|
+
else if (m instanceof StrBuilder) {
|
|
293
|
+
const childStrMatcher = m.build();
|
|
294
|
+
if (childStrMatcher.matchers) {
|
|
295
|
+
matchers.push(...childStrMatcher.matchers);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
else if (m instanceof str_matcher_1.StrTplMatcher) {
|
|
299
|
+
matchers.push(m);
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
const tplMatcher = new str_matcher_1.StrTplMatcher({
|
|
303
|
+
matcher: m.build(),
|
|
304
|
+
preHandler: null,
|
|
305
|
+
postHandler: null,
|
|
306
|
+
});
|
|
307
|
+
matchers.push(tplMatcher);
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
return new str_matcher_1.StrNodeMatcher({
|
|
311
|
+
matchers: matchers,
|
|
312
|
+
preHandler: (_c = this.opts.preHandler) !== null && _c !== void 0 ? _c : null,
|
|
313
|
+
postHandler: (_d = this.opts.postHandler) !== null && _d !== void 0 ? _d : null,
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
return new str_matcher_1.StrNodeMatcher({
|
|
317
|
+
matchers: null,
|
|
318
|
+
preHandler: (_e = this.opts.preHandler) !== null && _e !== void 0 ? _e : null,
|
|
319
|
+
postHandler: (_f = this.opts.postHandler) !== null && _f !== void 0 ? _f : null,
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
exports.StrBuilder = StrBuilder;
|
|
324
|
+
function str(arg1, arg2) {
|
|
325
|
+
const opts = (0, options_1.coerceStrOptions)(arg1, arg2);
|
|
326
|
+
return new StrBuilder(opts);
|
|
327
|
+
}
|
|
328
|
+
function buildRoot(builder) {
|
|
329
|
+
const matcher = builder.build();
|
|
330
|
+
return matcher instanceof tree_matcher_1.TreeMatcher && matcher.type === 'root-tree'
|
|
331
|
+
? matcher
|
|
332
|
+
: new tree_matcher_1.TreeMatcher({ matcher, type: 'root-tree' });
|
|
333
|
+
}
|
|
333
334
|
//# sourceMappingURL=builder.js.map
|