@mnemonik/cli 7.114.2 → 7.114.3
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/dist/auth/credentials.js +587 -131
- package/dist/auth/index.js +587 -131
- package/dist/auth/installSession.js +587 -131
- package/dist/auth/status.js +587 -131
- package/dist/diagnostics.js +587 -131
- package/dist/digests.json +34 -34
- package/dist/identity/migrate.js +587 -131
- package/dist/install/hosts.js +587 -131
- package/dist/install/journal.js +587 -131
- package/dist/install/journey.js +587 -131
- package/dist/install/ownership.js +587 -131
- package/dist/install/transaction.js +587 -131
- package/dist/install/ui.js +587 -131
- package/dist/installSession.js +587 -131
- package/dist/installation.js +587 -131
- package/dist/launcher.js +587 -131
- package/dist/preflight.js +587 -131
- package/dist/project/eligibility.js +587 -131
- package/dist/project/records.js +587 -131
- package/dist/project.js +587 -131
- package/dist/router.js +587 -131
- package/dist/runtime/releaseSource.js +587 -131
- package/dist/runtime/selfUpdate.js +587 -131
- package/dist/runtime/updateCheck.js +587 -131
- package/dist/sbom.json +37 -37
- package/dist/scanner/control.js +587 -131
- package/dist/scanner/data.js +587 -131
- package/dist/scanner/discover.js +587 -131
- package/dist/scanner/enable.js +587 -131
- package/dist/scanner/picker.js +587 -131
- package/dist/scanner/service.js +587 -131
- package/dist/scanner/update.js +587 -131
- package/dist/scanner-release.json +29 -29
- package/dist/status.js +1067 -499
- package/dist/vendor/local-setup.js +587 -131
- package/package.json +43 -43
package/dist/router.js
CHANGED
|
@@ -53,13 +53,15 @@ var require_ignore = __commonJS({
|
|
|
53
53
|
var EMPTY = "";
|
|
54
54
|
var SPACE = " ";
|
|
55
55
|
var ESCAPE = "\\";
|
|
56
|
-
var
|
|
56
|
+
var REGEX_LITERAL_SPECIAL = /[.*+?()[\]{}^$|\\/]/;
|
|
57
|
+
var BOM = "\uFEFF";
|
|
57
58
|
var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
|
|
58
59
|
var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
|
|
59
60
|
var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
|
|
60
61
|
var REGEX_SPLITALL_CRLF = /\r?\n/g;
|
|
61
|
-
var
|
|
62
|
-
var
|
|
62
|
+
var DOUBLE_SLASH = "//";
|
|
63
|
+
var SLASH_CODE = 47;
|
|
64
|
+
var DOT_CODE = 46;
|
|
63
65
|
var SLASH = "/";
|
|
64
66
|
var TMP_KEY_IGNORE = "node-ignore";
|
|
65
67
|
if (typeof Symbol !== "undefined") {
|
|
@@ -70,44 +72,173 @@ var require_ignore = __commonJS({
|
|
|
70
72
|
Object.defineProperty(object, key, { value });
|
|
71
73
|
return value;
|
|
72
74
|
};
|
|
73
|
-
var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
|
|
74
75
|
var RETURN_FALSE = () => false;
|
|
75
|
-
var sanitizeRange = (range) => range.replace(
|
|
76
|
-
REGEX_REGEXP_RANGE,
|
|
77
|
-
(match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match : EMPTY
|
|
78
|
-
);
|
|
79
|
-
var negateRange = (range) => range.startsWith("!") || range.startsWith("\\^") ? `^${range.slice(range[0] === "!" ? 1 : 2)}` : range;
|
|
80
76
|
var cleanRangeBackSlash = (slashes) => {
|
|
81
77
|
const { length } = slashes;
|
|
82
78
|
return slashes.slice(0, length - length % 2);
|
|
83
79
|
};
|
|
80
|
+
var POSIX_CLASSES = {
|
|
81
|
+
alnum: "0-9A-Za-z",
|
|
82
|
+
alpha: "A-Za-z",
|
|
83
|
+
blank: " \\t",
|
|
84
|
+
cntrl: "\\x00-\\x1f\\x7f",
|
|
85
|
+
digit: "0-9",
|
|
86
|
+
graph: "!-.0-~",
|
|
87
|
+
lower: "a-z",
|
|
88
|
+
print: " -.0-~",
|
|
89
|
+
punct: "!-.:-@\\[-`{-~",
|
|
90
|
+
// git's `sane-ctype.h` classifies \v and \f as control, not space,
|
|
91
|
+
// unlike C's `isspace`
|
|
92
|
+
space: " \\t\\n\\r",
|
|
93
|
+
upper: "A-Z",
|
|
94
|
+
xdigit: "0-9A-Fa-f"
|
|
95
|
+
};
|
|
96
|
+
var CLASS_MEMBERS_TO_ESCAPE = "\\]^-[";
|
|
97
|
+
var escapeMember = (char) => CLASS_MEMBERS_TO_ESCAPE.indexOf(char) < 0 ? char : ESCAPE + char;
|
|
98
|
+
var NON_SLASH = "(?!\\/)";
|
|
99
|
+
var classSource = (negated, body2) => {
|
|
100
|
+
if (negated) {
|
|
101
|
+
return `[^\\/${body2}]`;
|
|
102
|
+
}
|
|
103
|
+
const source = `[${body2}]`;
|
|
104
|
+
return new RegExp(source).test("/") ? NON_SLASH + source : source;
|
|
105
|
+
};
|
|
106
|
+
var scanBracket = (pattern, start2) => {
|
|
107
|
+
const { length } = pattern;
|
|
108
|
+
let index = start2 + 1;
|
|
109
|
+
let negated = EMPTY;
|
|
110
|
+
const lead = pattern[index];
|
|
111
|
+
if (lead === "!" || lead === "^") {
|
|
112
|
+
negated = "^";
|
|
113
|
+
index++;
|
|
114
|
+
}
|
|
115
|
+
let body2 = EMPTY;
|
|
116
|
+
let prev = EMPTY;
|
|
117
|
+
for (; ; ) {
|
|
118
|
+
const char = pattern[index];
|
|
119
|
+
if (char === UNDEFINED) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
if (char === ESCAPE) {
|
|
123
|
+
const escaped = pattern[index + 1];
|
|
124
|
+
if (escaped === UNDEFINED) {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
body2 += escapeMember(escaped);
|
|
128
|
+
prev = escaped;
|
|
129
|
+
index++;
|
|
130
|
+
} else if (char === "-" && prev && index + 1 < length && pattern[index + 1] !== "]") {
|
|
131
|
+
index++;
|
|
132
|
+
let to = pattern[index];
|
|
133
|
+
if (to === ESCAPE) {
|
|
134
|
+
to = pattern[index += 1];
|
|
135
|
+
}
|
|
136
|
+
if (prev <= to) {
|
|
137
|
+
body2 += `-${escapeMember(to)}`;
|
|
138
|
+
}
|
|
139
|
+
prev = EMPTY;
|
|
140
|
+
} else if (char === "[" && pattern[index + 1] === ":") {
|
|
141
|
+
const nameStart = index + 2;
|
|
142
|
+
let end = nameStart;
|
|
143
|
+
while (end < length && pattern[end] !== "]") {
|
|
144
|
+
end++;
|
|
145
|
+
}
|
|
146
|
+
if (end === length) {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
if (end > nameStart && pattern[end - 1] === ":") {
|
|
150
|
+
const expanded = POSIX_CLASSES[pattern.slice(nameStart, end - 1)];
|
|
151
|
+
if (expanded === UNDEFINED) {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
body2 += expanded;
|
|
155
|
+
prev = EMPTY;
|
|
156
|
+
index = end;
|
|
157
|
+
} else {
|
|
158
|
+
body2 += escapeMember("[");
|
|
159
|
+
prev = "[";
|
|
160
|
+
index = nameStart - 2;
|
|
161
|
+
}
|
|
162
|
+
} else {
|
|
163
|
+
body2 += escapeMember(char);
|
|
164
|
+
prev = char;
|
|
165
|
+
}
|
|
166
|
+
index++;
|
|
167
|
+
if (pattern[index] === "]") {
|
|
168
|
+
return {
|
|
169
|
+
end: index,
|
|
170
|
+
source: classSource(negated, body2)
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
var NEVER_MATCH = "[]";
|
|
176
|
+
var PLACEHOLDER = "\0";
|
|
177
|
+
var REGEX_RESTORE_PLACEHOLDER = new RegExp(
|
|
178
|
+
`${PLACEHOLDER}(\\d+)${PLACEHOLDER}`,
|
|
179
|
+
"g"
|
|
180
|
+
);
|
|
181
|
+
var TRAILING_WILDCARD = "\uE000";
|
|
182
|
+
var TRAILING_DOUBLESTAR = "\uE001";
|
|
183
|
+
var extractBrackets = (pattern) => {
|
|
184
|
+
const sources = [];
|
|
185
|
+
const hold = (source) => `${PLACEHOLDER}${sources.push(source) - 1}${PLACEHOLDER}`;
|
|
186
|
+
const { length } = pattern;
|
|
187
|
+
let out2 = EMPTY;
|
|
188
|
+
let index = 0;
|
|
189
|
+
while (index < length) {
|
|
190
|
+
const char = pattern[index];
|
|
191
|
+
if (char === ESCAPE) {
|
|
192
|
+
const escaped = pattern[index + 1];
|
|
193
|
+
if (escaped === UNDEFINED || escaped === SLASH && index + 2 === length) {
|
|
194
|
+
out2 += hold(NEVER_MATCH);
|
|
195
|
+
} else if (escaped === "*" || escaped === "[" || escaped === SPACE || escaped === ESCAPE) {
|
|
196
|
+
out2 += pattern.slice(index, index + 2);
|
|
197
|
+
} else {
|
|
198
|
+
out2 += hold(
|
|
199
|
+
REGEX_LITERAL_SPECIAL.test(escaped) ? ESCAPE + escaped : escaped
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
index += 2;
|
|
203
|
+
} else if (char === PLACEHOLDER) {
|
|
204
|
+
out2 += hold(`[${PLACEHOLDER}]`);
|
|
205
|
+
index++;
|
|
206
|
+
} else if (char === "[") {
|
|
207
|
+
const scanned = scanBracket(pattern, index);
|
|
208
|
+
if (scanned === null) {
|
|
209
|
+
out2 += hold(NEVER_MATCH);
|
|
210
|
+
index = length;
|
|
211
|
+
} else {
|
|
212
|
+
out2 += hold(scanned.source);
|
|
213
|
+
index = scanned.end + 1;
|
|
214
|
+
}
|
|
215
|
+
} else {
|
|
216
|
+
out2 += char;
|
|
217
|
+
index++;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return {
|
|
221
|
+
source: out2,
|
|
222
|
+
sources
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
var DIRECT = null;
|
|
226
|
+
var REGEX_INNER_SLASH = /\/(?!$)/;
|
|
84
227
|
var REPLACERS = [
|
|
85
|
-
[
|
|
86
|
-
// Remove BOM
|
|
87
|
-
// TODO:
|
|
88
|
-
// Other similar zero-width characters?
|
|
89
|
-
/^\uFEFF/,
|
|
90
|
-
() => EMPTY
|
|
91
|
-
],
|
|
92
|
-
// > Trailing spaces are ignored unless they are quoted with backslash ("\")
|
|
93
|
-
[
|
|
94
|
-
// (a\ ) -> (a )
|
|
95
|
-
// (a ) -> (a)
|
|
96
|
-
// (a ) -> (a)
|
|
97
|
-
// (a \ ) -> (a )
|
|
98
|
-
/((?:\\\\)*?)(\\?\s+)$/,
|
|
99
|
-
(_, m1, m2) => m1 + (m2.indexOf("\\") === 0 ? SPACE : EMPTY)
|
|
100
|
-
],
|
|
101
228
|
// Replace (\ ) with ' '
|
|
229
|
+
// Only a space: an escaped tab or other whitespace is already a literal by
|
|
230
|
+
// the time it reaches here, and a bare tab must be left as one, not turned
|
|
231
|
+
// into a space.
|
|
102
232
|
// (\ ) -> ' '
|
|
103
233
|
// (\\ ) -> '\\ '
|
|
104
234
|
// (\\\ ) -> '\\ '
|
|
105
235
|
[
|
|
106
|
-
|
|
107
|
-
(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
236
|
+
// A run of backslashes is taken whole, from its first one, so no match
|
|
237
|
+
// ever starts again inside it -- `(\\+?) ` did, which made a long run
|
|
238
|
+
// quadratic.
|
|
239
|
+
/(\\+)( ?)/g,
|
|
240
|
+
(_, run2, space) => space ? run2.slice(0, run2.length - run2.length % 2) + SPACE : run2,
|
|
241
|
+
ESCAPE + SPACE
|
|
111
242
|
],
|
|
112
243
|
// Escape metacharacters
|
|
113
244
|
// which is written down by users but means special for regular expressions.
|
|
@@ -132,7 +263,8 @@ var require_ignore = __commonJS({
|
|
|
132
263
|
[
|
|
133
264
|
// > a question mark (?) matches a single character
|
|
134
265
|
/(?!\\)\?/g,
|
|
135
|
-
() => "[^/]"
|
|
266
|
+
() => "[^/]",
|
|
267
|
+
"?"
|
|
136
268
|
],
|
|
137
269
|
// leading slash
|
|
138
270
|
[
|
|
@@ -140,12 +272,14 @@ var require_ignore = __commonJS({
|
|
|
140
272
|
// > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
|
|
141
273
|
// A leading slash matches the beginning of the pathname
|
|
142
274
|
/^\//,
|
|
143
|
-
() => "^"
|
|
275
|
+
() => "^",
|
|
276
|
+
SLASH
|
|
144
277
|
],
|
|
145
278
|
// replace special metacharacter slash after the leading slash
|
|
146
279
|
[
|
|
147
280
|
/\//g,
|
|
148
|
-
() => "\\/"
|
|
281
|
+
() => "\\/",
|
|
282
|
+
SLASH
|
|
149
283
|
],
|
|
150
284
|
[
|
|
151
285
|
// > A leading "**" followed by a slash means match in all directories.
|
|
@@ -156,16 +290,21 @@ var require_ignore = __commonJS({
|
|
|
156
290
|
// Notice that the '*'s have been replaced as '\\*'
|
|
157
291
|
/^\^*(?:\\\*\\\*\\\/)+/,
|
|
158
292
|
// '**/foo' <-> 'foo'
|
|
159
|
-
() => "^(?:.*\\/)?"
|
|
293
|
+
() => "^(?:.*\\/)?",
|
|
294
|
+
"*"
|
|
160
295
|
],
|
|
161
296
|
// starting
|
|
162
297
|
[
|
|
163
298
|
// there will be no leading '/'
|
|
164
299
|
// (which has been replaced by section "leading slash")
|
|
165
300
|
// If starts with '**', adding a '^' to the regular expression also works
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
301
|
+
DIRECT,
|
|
302
|
+
(source, pattern) => {
|
|
303
|
+
if (!source || source[0] === "^") {
|
|
304
|
+
return source;
|
|
305
|
+
}
|
|
306
|
+
const anchor = !REGEX_INNER_SLASH.test(pattern) ? "(?:^|\\/)" : "^";
|
|
307
|
+
return anchor + source;
|
|
169
308
|
}
|
|
170
309
|
],
|
|
171
310
|
// two globstars
|
|
@@ -175,7 +314,8 @@ var require_ignore = __commonJS({
|
|
|
175
314
|
// Zero, one or several directories
|
|
176
315
|
// should not use '*', or it will be replaced by the next replacer
|
|
177
316
|
// Check if it is not the last `'/**'`
|
|
178
|
-
(_, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)
|
|
317
|
+
(_, index, str) => index + 6 < str.length ? str.slice(index + 6) === "\\/" ? "(?:\\/[^\\/]+)+" : "(?:\\/[^\\/]+)*" : `\\/${TRAILING_DOUBLESTAR}`,
|
|
318
|
+
"*"
|
|
179
319
|
],
|
|
180
320
|
// normal intermediate wildcards
|
|
181
321
|
[
|
|
@@ -190,32 +330,56 @@ var require_ignore = __commonJS({
|
|
|
190
330
|
(_, p1, p2) => {
|
|
191
331
|
const unescaped = p2.replace(/\\\*/g, "[^\\/]*");
|
|
192
332
|
return p1 + unescaped;
|
|
193
|
-
}
|
|
333
|
+
},
|
|
334
|
+
"*"
|
|
335
|
+
],
|
|
336
|
+
// trailing wildcard, held apart from a literal star
|
|
337
|
+
[
|
|
338
|
+
// The step above leaves a trailing `*` alone, so a single `\*` is all that
|
|
339
|
+
// can be left at the end here. Whether it is a wildcard or a literal
|
|
340
|
+
// turns on the backslashes the user put in front of it: the escaper has
|
|
341
|
+
// since doubled every one, so what stands here is those `2N` doubled
|
|
342
|
+
// backslashes and then the star's own escape. An even number of the
|
|
343
|
+
// original `N` leaves the star unescaped -- a wildcard -- and an odd
|
|
344
|
+
// number escapes it -- a literal. This runs while the two are still
|
|
345
|
+
// distinct, before the unescape steps below collapse the literal onto
|
|
346
|
+
// the very `\*` a wildcard leaves behind.
|
|
347
|
+
/(^|[^\\])((?:\\\\)*)\\\*$/,
|
|
348
|
+
(match, p1, p2) => (
|
|
349
|
+
// `p2` holds the doubled user backslashes; half of them is `N`.
|
|
350
|
+
p2.length / 2 % 2 === 0 ? p1 + p2 + TRAILING_WILDCARD : match
|
|
351
|
+
),
|
|
352
|
+
"*"
|
|
194
353
|
],
|
|
195
354
|
[
|
|
196
355
|
// unescape, revert step 3 except for back slash
|
|
197
356
|
// For example, if a user escape a '\\*',
|
|
198
357
|
// after step 3, the result will be '\\\\\\*'
|
|
199
358
|
/\\\\\\(?=[$.|*+(){^])/g,
|
|
200
|
-
() => ESCAPE
|
|
359
|
+
() => ESCAPE,
|
|
360
|
+
ESCAPE + ESCAPE
|
|
201
361
|
],
|
|
202
362
|
[
|
|
203
363
|
// '\\\\' -> '\\'
|
|
204
364
|
/\\\\/g,
|
|
205
|
-
() => ESCAPE
|
|
365
|
+
() => ESCAPE,
|
|
366
|
+
ESCAPE + ESCAPE
|
|
206
367
|
],
|
|
207
368
|
[
|
|
208
|
-
//
|
|
209
|
-
//
|
|
369
|
+
// Every real bracket expression -- POSIX classes included -- has already
|
|
370
|
+
// been held aside by `extractBrackets`, so the only `[` left in the
|
|
371
|
+
// pattern is an escaped, literal one.
|
|
210
372
|
// `\` is escaped by step 3
|
|
211
|
-
|
|
212
|
-
|
|
373
|
+
/\\\[([^\]/]*?)(\\*)($|\])/g,
|
|
374
|
+
// '\\[bar]' -> '\\\\[bar\\]'
|
|
375
|
+
(match, range, endEscape, close) => `\\[${range}${cleanRangeBackSlash(endEscape)}${close}`,
|
|
376
|
+
"["
|
|
213
377
|
],
|
|
214
378
|
// ending
|
|
215
379
|
[
|
|
216
380
|
// 'js' will not match 'js.'
|
|
217
381
|
// 'ab' will not match 'abc'
|
|
218
|
-
|
|
382
|
+
DIRECT,
|
|
219
383
|
// WTF!
|
|
220
384
|
// https://git-scm.com/docs/gitignore
|
|
221
385
|
// changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
|
|
@@ -226,29 +390,175 @@ var require_ignore = __commonJS({
|
|
|
226
390
|
// 'js*' will not match 'a.js'
|
|
227
391
|
// 'js/' will not match 'a.js'
|
|
228
392
|
// 'js' will match 'a.js' and 'a.js/'
|
|
229
|
-
(
|
|
393
|
+
(source) => {
|
|
394
|
+
const last = source[source.length - 1];
|
|
395
|
+
if (!last || last === TRAILING_WILDCARD || last === TRAILING_DOUBLESTAR) {
|
|
396
|
+
return source;
|
|
397
|
+
}
|
|
398
|
+
return last === SLASH ? `${source}$` : `${source}(?=$|\\/$)`;
|
|
399
|
+
}
|
|
230
400
|
]
|
|
231
401
|
];
|
|
232
|
-
var REGEX_REPLACE_TRAILING_WILDCARD = /(^|\\\/)
|
|
402
|
+
var REGEX_REPLACE_TRAILING_WILDCARD = /(^|\\\/)?\uE000$/;
|
|
233
403
|
var MODE_IGNORE = "regex";
|
|
234
404
|
var MODE_CHECK_IGNORE = "checkRegex";
|
|
235
405
|
var UNDERSCORE = "_";
|
|
236
|
-
var
|
|
237
|
-
[
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
406
|
+
var replaceTrailingWildcard = (_, p1) => {
|
|
407
|
+
const prefix = p1 ? `${p1}[^/]+` : "[^/]*";
|
|
408
|
+
return `${prefix}(?=$|\\/$)`;
|
|
409
|
+
};
|
|
410
|
+
var REGEX_REPLACE_TRAILING_DOUBLESTAR = /\uE001$/;
|
|
411
|
+
var replaceTrailingDoublestar = () => ".+(?=$|\\/$)";
|
|
412
|
+
var WILDCARD = "[^\\/]*";
|
|
413
|
+
var separatorAfter = (run2, at) => {
|
|
414
|
+
let separator = EMPTY;
|
|
415
|
+
for (let index = at + 1; index < run2.length && !run2[index].wildcard; index++) {
|
|
416
|
+
separator += run2[index].single;
|
|
417
|
+
}
|
|
418
|
+
return separator;
|
|
419
|
+
};
|
|
420
|
+
var pinWildcards = (source) => {
|
|
421
|
+
if (source.indexOf(WILDCARD) < 0) {
|
|
422
|
+
return source;
|
|
423
|
+
}
|
|
424
|
+
const tokens = [];
|
|
425
|
+
const { length } = source;
|
|
426
|
+
let index = 0;
|
|
427
|
+
while (index < length) {
|
|
428
|
+
const char = source[index];
|
|
429
|
+
if (source.startsWith(WILDCARD, index)) {
|
|
430
|
+
tokens.push({ wildcard: true });
|
|
431
|
+
index += WILDCARD.length;
|
|
432
|
+
} else if (char === "[") {
|
|
433
|
+
let end = index + 1;
|
|
434
|
+
if (source[end] === "^") {
|
|
435
|
+
end++;
|
|
436
|
+
}
|
|
437
|
+
if (source[end] === "]") {
|
|
438
|
+
end++;
|
|
439
|
+
}
|
|
440
|
+
while (end < length && source[end] !== "]") {
|
|
441
|
+
end += source[end] === ESCAPE ? 2 : 1;
|
|
442
|
+
}
|
|
443
|
+
end++;
|
|
444
|
+
tokens.push({ single: source.slice(index, end) });
|
|
445
|
+
index = end;
|
|
446
|
+
} else if (char === ESCAPE) {
|
|
447
|
+
tokens.push({ single: source.slice(index, index + 2) });
|
|
448
|
+
index += 2;
|
|
449
|
+
} else if (char === "(") {
|
|
450
|
+
let depth = 0;
|
|
451
|
+
let end = index;
|
|
452
|
+
do {
|
|
453
|
+
if (source[end] === ESCAPE) {
|
|
454
|
+
end++;
|
|
455
|
+
} else if (source[end] === "(") {
|
|
456
|
+
depth++;
|
|
457
|
+
} else if (source[end] === ")") {
|
|
458
|
+
depth--;
|
|
459
|
+
}
|
|
460
|
+
end++;
|
|
461
|
+
} while (end < length && depth > 0);
|
|
462
|
+
if ("*+?".indexOf(source[end]) >= 0) {
|
|
463
|
+
end++;
|
|
464
|
+
}
|
|
465
|
+
tokens.push({ boundary: source.slice(index, end) });
|
|
466
|
+
index = end;
|
|
467
|
+
} else if (char === "^" || char === "$") {
|
|
468
|
+
tokens.push({ boundary: char });
|
|
469
|
+
index++;
|
|
470
|
+
} else {
|
|
471
|
+
tokens.push({ single: char });
|
|
472
|
+
index++;
|
|
473
|
+
}
|
|
244
474
|
}
|
|
475
|
+
let out2 = EMPTY;
|
|
476
|
+
let run2 = [];
|
|
477
|
+
const flush = () => {
|
|
478
|
+
let lastWildcard;
|
|
479
|
+
run2.forEach((token, at) => {
|
|
480
|
+
if (token.wildcard) {
|
|
481
|
+
lastWildcard = at;
|
|
482
|
+
}
|
|
483
|
+
});
|
|
484
|
+
run2.forEach((token, at) => {
|
|
485
|
+
if (!token.wildcard) {
|
|
486
|
+
out2 += token.single;
|
|
487
|
+
return;
|
|
488
|
+
}
|
|
489
|
+
out2 += at === lastWildcard ? WILDCARD : `(?:(?!${separatorAfter(run2, at)})[^\\/])*`;
|
|
490
|
+
});
|
|
491
|
+
run2 = [];
|
|
492
|
+
};
|
|
493
|
+
tokens.forEach((token) => {
|
|
494
|
+
if (token.boundary === void 0) {
|
|
495
|
+
run2.push(token);
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
flush();
|
|
499
|
+
out2 += token.boundary;
|
|
500
|
+
});
|
|
501
|
+
flush();
|
|
502
|
+
return out2;
|
|
503
|
+
};
|
|
504
|
+
var makeRegexPrefix = (pattern) => {
|
|
505
|
+
const { source, sources } = extractBrackets(pattern);
|
|
506
|
+
const replaced = REPLACERS.reduce(
|
|
507
|
+
// A pass whose matcher finds nothing hands back the very string it was
|
|
508
|
+
// given, so asking first costs a search and saves a rewrite. Ten of the
|
|
509
|
+
// fifteen passes never fire for a typical .gitignore line, and between
|
|
510
|
+
// them they were 45% of this chain.
|
|
511
|
+
(prev, [matcher, replacer, required]) => {
|
|
512
|
+
if (matcher === DIRECT) {
|
|
513
|
+
return replacer(prev, pattern);
|
|
514
|
+
}
|
|
515
|
+
if (required !== UNDEFINED && prev.indexOf(required) < 0) {
|
|
516
|
+
return prev;
|
|
517
|
+
}
|
|
518
|
+
return matcher.test(prev) ? prev.replace(matcher, replacer.bind(pattern)) : prev;
|
|
519
|
+
},
|
|
520
|
+
source
|
|
521
|
+
);
|
|
522
|
+
return sources.length ? replaced.replace(
|
|
523
|
+
REGEX_RESTORE_PLACEHOLDER,
|
|
524
|
+
(match, index) => sources[index]
|
|
525
|
+
) : replaced;
|
|
526
|
+
};
|
|
527
|
+
var checkSourceOf = (body2, prefix) => {
|
|
528
|
+
if (body2[body2.length - 1] === SLASH) {
|
|
529
|
+
prefix = makeRegexPrefix(body2.slice(0, -1));
|
|
530
|
+
}
|
|
531
|
+
const head = prefix.slice(0, -1);
|
|
532
|
+
const last = prefix[prefix.length - 1];
|
|
533
|
+
return last === TRAILING_WILDCARD ? `${head}$` : last === TRAILING_DOUBLESTAR ? `${head}.*$` : NEVER_MATCH;
|
|
534
|
+
};
|
|
535
|
+
var matchesBasename = (body2) => {
|
|
536
|
+
const index = body2.indexOf(SLASH);
|
|
537
|
+
return index < 0 || index === body2.length - 1;
|
|
538
|
+
};
|
|
539
|
+
var basenameOf = (path) => {
|
|
540
|
+
const end = path.length - 1;
|
|
541
|
+
const index = path.lastIndexOf(
|
|
542
|
+
SLASH,
|
|
543
|
+
path[end] === SLASH ? end - 1 : end
|
|
544
|
+
);
|
|
545
|
+
return index < 0 ? path : path.slice(index + 1);
|
|
546
|
+
};
|
|
547
|
+
var parentOf = (path) => {
|
|
548
|
+
if (path.charCodeAt(0) === SLASH_CODE || path.indexOf(DOUBLE_SLASH) >= 0) {
|
|
549
|
+
const slices = path.split(SLASH).filter(Boolean);
|
|
550
|
+
slices.pop();
|
|
551
|
+
return slices.length ? slices.join(SLASH) + SLASH : EMPTY;
|
|
552
|
+
}
|
|
553
|
+
const end = path.length - 1;
|
|
554
|
+
const cut = path.lastIndexOf(
|
|
555
|
+
SLASH,
|
|
556
|
+
path.charCodeAt(end) === SLASH_CODE ? end - 1 : end
|
|
557
|
+
);
|
|
558
|
+
return cut < 0 ? EMPTY : path.slice(0, cut + 1);
|
|
245
559
|
};
|
|
246
|
-
var makeRegexPrefix = (pattern) => REPLACERS.reduce(
|
|
247
|
-
(prev, [matcher, replacer]) => prev.replace(matcher, replacer.bind(pattern)),
|
|
248
|
-
pattern
|
|
249
|
-
);
|
|
250
560
|
var isString = (subject) => typeof subject === "string";
|
|
251
|
-
var checkPattern = (pattern) => pattern && isString(pattern) && !
|
|
561
|
+
var checkPattern = (pattern) => pattern && isString(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern);
|
|
252
562
|
var splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF).filter(Boolean);
|
|
253
563
|
var IgnoreRule = class {
|
|
254
564
|
constructor(pattern, mark, body2, ignoreCase, negative, prefix) {
|
|
@@ -259,6 +569,14 @@ var require_ignore = __commonJS({
|
|
|
259
569
|
define(this, "ignoreCase", ignoreCase);
|
|
260
570
|
define(this, "regexPrefix", prefix);
|
|
261
571
|
}
|
|
572
|
+
// Worked out on first use and kept behind an own property, the way `regex`
|
|
573
|
+
// caches itself in `_regex`. Deciding it in the constructor instead would
|
|
574
|
+
// add a fourth `defineProperty` to every rule ever built, which cost 4% of
|
|
575
|
+
// every compile -- including the compiles of rules that are never matched
|
|
576
|
+
// against anything.
|
|
577
|
+
get _basenameOnly() {
|
|
578
|
+
return define(this, "_basenameOnly", matchesBasename(this.body));
|
|
579
|
+
}
|
|
262
580
|
get regex() {
|
|
263
581
|
const key = UNDERSCORE + MODE_IGNORE;
|
|
264
582
|
if (this[key]) {
|
|
@@ -274,24 +592,51 @@ var require_ignore = __commonJS({
|
|
|
274
592
|
return this._make(MODE_CHECK_IGNORE, key);
|
|
275
593
|
}
|
|
276
594
|
_make(mode, key) {
|
|
277
|
-
const str =
|
|
278
|
-
REGEX_REPLACE_TRAILING_WILDCARD,
|
|
279
|
-
// It does not need to bind pattern
|
|
280
|
-
TRAILING_WILD_CARD_REPLACERS[mode]
|
|
595
|
+
const str = pinWildcards(
|
|
596
|
+
mode === MODE_IGNORE ? this.regexPrefix.replace(REGEX_REPLACE_TRAILING_WILDCARD, replaceTrailingWildcard).replace(REGEX_REPLACE_TRAILING_DOUBLESTAR, replaceTrailingDoublestar) : checkSourceOf(this.body, this.regexPrefix)
|
|
281
597
|
);
|
|
282
598
|
const regex = this.ignoreCase ? new RegExp(str, "i") : new RegExp(str);
|
|
283
599
|
return define(this, key, regex);
|
|
284
600
|
}
|
|
285
601
|
};
|
|
602
|
+
var isLineEnd = (char) => char === "\r" || char === "\n";
|
|
603
|
+
var trimEnd = (body2) => {
|
|
604
|
+
let end = body2.length;
|
|
605
|
+
while (end && isLineEnd(body2[end - 1])) {
|
|
606
|
+
end--;
|
|
607
|
+
}
|
|
608
|
+
const lineEnd = end;
|
|
609
|
+
while (end && body2[end - 1] === SPACE) {
|
|
610
|
+
end--;
|
|
611
|
+
}
|
|
612
|
+
if (end === lineEnd) {
|
|
613
|
+
return body2.slice(0, end);
|
|
614
|
+
}
|
|
615
|
+
let backslashes = 0;
|
|
616
|
+
while (backslashes < end && body2[end - backslashes - 1] === ESCAPE) {
|
|
617
|
+
backslashes++;
|
|
618
|
+
}
|
|
619
|
+
return backslashes % 2 ? body2.slice(0, end - 1) + SPACE : body2.slice(0, end);
|
|
620
|
+
};
|
|
286
621
|
var createRule = ({
|
|
287
622
|
pattern,
|
|
288
623
|
mark
|
|
289
624
|
}, ignoreCase) => {
|
|
625
|
+
let body2 = pattern[0] === BOM ? pattern.slice(1) : pattern;
|
|
626
|
+
if (body2[0] === "#") {
|
|
627
|
+
return;
|
|
628
|
+
}
|
|
290
629
|
let negative = false;
|
|
291
|
-
|
|
292
|
-
if (body2.indexOf("!") === 0) {
|
|
630
|
+
if (body2[0] === "!") {
|
|
293
631
|
negative = true;
|
|
294
|
-
body2 = body2.
|
|
632
|
+
body2 = body2.slice(1);
|
|
633
|
+
}
|
|
634
|
+
const last = body2[body2.length - 1];
|
|
635
|
+
if (last === SPACE || last === "\r" || last === "\n") {
|
|
636
|
+
body2 = trimEnd(body2);
|
|
637
|
+
}
|
|
638
|
+
if (!body2) {
|
|
639
|
+
return;
|
|
295
640
|
}
|
|
296
641
|
body2 = body2.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#");
|
|
297
642
|
const regexPrefix = makeRegexPrefix(body2);
|
|
@@ -308,10 +653,12 @@ var require_ignore = __commonJS({
|
|
|
308
653
|
constructor(ignoreCase) {
|
|
309
654
|
this._ignoreCase = ignoreCase;
|
|
310
655
|
this._rules = [];
|
|
656
|
+
this._basenameCount = 0;
|
|
311
657
|
}
|
|
312
658
|
_add(pattern) {
|
|
313
659
|
if (pattern && pattern[KEY_IGNORE]) {
|
|
314
660
|
this._rules = this._rules.concat(pattern._rules._rules);
|
|
661
|
+
this._basenameCount += pattern._rules._basenameCount;
|
|
315
662
|
this._added = true;
|
|
316
663
|
return;
|
|
317
664
|
}
|
|
@@ -320,10 +667,13 @@ var require_ignore = __commonJS({
|
|
|
320
667
|
pattern
|
|
321
668
|
};
|
|
322
669
|
}
|
|
323
|
-
|
|
324
|
-
|
|
670
|
+
const rule = checkPattern(pattern.pattern) && createRule(pattern, this._ignoreCase);
|
|
671
|
+
if (rule) {
|
|
325
672
|
this._added = true;
|
|
326
673
|
this._rules.push(rule);
|
|
674
|
+
if (matchesBasename(rule.body)) {
|
|
675
|
+
this._basenameCount++;
|
|
676
|
+
}
|
|
327
677
|
}
|
|
328
678
|
}
|
|
329
679
|
// @param {Array<string> | string | Ignore} pattern
|
|
@@ -332,8 +682,39 @@ var require_ignore = __commonJS({
|
|
|
332
682
|
makeArray(
|
|
333
683
|
isString(pattern) ? splitPattern(pattern) : pattern
|
|
334
684
|
).forEach(this._add, this);
|
|
685
|
+
if (this._added) {
|
|
686
|
+
this._literalRules = UNDEFINED;
|
|
687
|
+
}
|
|
335
688
|
return this._added;
|
|
336
689
|
}
|
|
690
|
+
// Match the literal 'abc/' for `checkIgnore`, last rule wins. Only a rule
|
|
691
|
+
// ending in a wildcard can match it (see `checkSourceOf`), so the rest
|
|
692
|
+
// are left out once, rather than tested or compiled for every path.
|
|
693
|
+
testLiteral(path) {
|
|
694
|
+
const rules = this._literalRules || (this._literalRules = this._rules.filter(
|
|
695
|
+
({ body: body2 }) => body2[body2.length - (body2[body2.length - 1] === SLASH ? 2 : 1)] === "*"
|
|
696
|
+
));
|
|
697
|
+
let ignored = false;
|
|
698
|
+
let unignored = false;
|
|
699
|
+
let matchedRule;
|
|
700
|
+
for (let index = rules.length - 1; index >= 0; index--) {
|
|
701
|
+
const rule = rules[index];
|
|
702
|
+
if (rule.checkRegex.test(path)) {
|
|
703
|
+
ignored = !rule.negative;
|
|
704
|
+
unignored = rule.negative;
|
|
705
|
+
matchedRule = rule.negative ? UNDEFINED : rule;
|
|
706
|
+
break;
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
const ret = {
|
|
710
|
+
ignored,
|
|
711
|
+
unignored
|
|
712
|
+
};
|
|
713
|
+
if (matchedRule) {
|
|
714
|
+
ret.rule = matchedRule;
|
|
715
|
+
}
|
|
716
|
+
return ret;
|
|
717
|
+
}
|
|
337
718
|
// Test one single path without recursively checking parent directories
|
|
338
719
|
//
|
|
339
720
|
// - checkUnignored `boolean` whether should check if the path is unignored,
|
|
@@ -345,19 +726,22 @@ var require_ignore = __commonJS({
|
|
|
345
726
|
let ignored = false;
|
|
346
727
|
let unignored = false;
|
|
347
728
|
let matchedRule;
|
|
348
|
-
this._rules
|
|
729
|
+
const rules = this._rules;
|
|
730
|
+
const { length } = rules;
|
|
731
|
+
const shortcut = this._basenameCount * 2 >= length;
|
|
732
|
+
const basename2 = shortcut ? basenameOf(path) : path;
|
|
733
|
+
for (let index = 0; index < length; index++) {
|
|
734
|
+
const rule = rules[index];
|
|
349
735
|
const { negative } = rule;
|
|
350
|
-
|
|
351
|
-
|
|
736
|
+
const skip = unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored;
|
|
737
|
+
if (!skip && rule[mode].test(
|
|
738
|
+
shortcut && rule._basenameOnly ? basename2 : path
|
|
739
|
+
)) {
|
|
740
|
+
ignored = !negative;
|
|
741
|
+
unignored = negative;
|
|
742
|
+
matchedRule = negative ? UNDEFINED : rule;
|
|
352
743
|
}
|
|
353
|
-
|
|
354
|
-
if (!matched) {
|
|
355
|
-
return;
|
|
356
|
-
}
|
|
357
|
-
ignored = !negative;
|
|
358
|
-
unignored = negative;
|
|
359
|
-
matchedRule = negative ? UNDEFINED : rule;
|
|
360
|
-
});
|
|
744
|
+
}
|
|
361
745
|
const ret = {
|
|
362
746
|
ignored,
|
|
363
747
|
unignored
|
|
@@ -390,7 +774,26 @@ var require_ignore = __commonJS({
|
|
|
390
774
|
}
|
|
391
775
|
return true;
|
|
392
776
|
};
|
|
393
|
-
var isNotRelative = (path) =>
|
|
777
|
+
var isNotRelative = (path) => {
|
|
778
|
+
const first = path.charCodeAt(0);
|
|
779
|
+
if (first === SLASH_CODE) {
|
|
780
|
+
return true;
|
|
781
|
+
}
|
|
782
|
+
if (first !== DOT_CODE) {
|
|
783
|
+
return false;
|
|
784
|
+
}
|
|
785
|
+
if (path.length === 1) {
|
|
786
|
+
return true;
|
|
787
|
+
}
|
|
788
|
+
const second = path.charCodeAt(1);
|
|
789
|
+
if (second === SLASH_CODE) {
|
|
790
|
+
return true;
|
|
791
|
+
}
|
|
792
|
+
if (second !== DOT_CODE) {
|
|
793
|
+
return false;
|
|
794
|
+
}
|
|
795
|
+
return path.length === 2 || path.charCodeAt(2) === SLASH_CODE;
|
|
796
|
+
};
|
|
394
797
|
checkPath.isNotRelative = isNotRelative;
|
|
395
798
|
checkPath.convert = (p) => p;
|
|
396
799
|
var Ignore = class {
|
|
@@ -419,52 +822,33 @@ var require_ignore = __commonJS({
|
|
|
419
822
|
return this.add(pattern);
|
|
420
823
|
}
|
|
421
824
|
// @returns {TestResult}
|
|
422
|
-
_test(originalPath, cache, checkUnignored
|
|
825
|
+
_test(originalPath, cache, checkUnignored) {
|
|
423
826
|
const path = originalPath && checkPath.convert(originalPath);
|
|
424
827
|
checkPath(
|
|
425
828
|
path,
|
|
426
829
|
originalPath,
|
|
427
830
|
this._strictPathCheck ? throwError : RETURN_FALSE
|
|
428
831
|
);
|
|
429
|
-
return this._t(path, cache, checkUnignored
|
|
832
|
+
return this._t(path, cache, checkUnignored);
|
|
430
833
|
}
|
|
431
834
|
checkIgnore(path) {
|
|
432
|
-
if (
|
|
835
|
+
if (path.charCodeAt(path.length - 1) !== SLASH_CODE) {
|
|
433
836
|
return this.test(path);
|
|
434
837
|
}
|
|
435
|
-
const
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
const parent = this._t(
|
|
439
|
-
slices.join(SLASH) + SLASH,
|
|
440
|
-
this._testCache,
|
|
441
|
-
true,
|
|
442
|
-
slices
|
|
443
|
-
);
|
|
444
|
-
if (parent.ignored) {
|
|
445
|
-
return parent;
|
|
446
|
-
}
|
|
838
|
+
const dir = this._t(path, this._testCache, true);
|
|
839
|
+
if (dir.ignored) {
|
|
840
|
+
return dir;
|
|
447
841
|
}
|
|
448
|
-
|
|
842
|
+
const literal = this._rules.testLiteral(path);
|
|
843
|
+
return literal.ignored || literal.unignored ? literal : dir;
|
|
449
844
|
}
|
|
450
|
-
_t(path, cache, checkUnignored
|
|
845
|
+
_t(path, cache, checkUnignored) {
|
|
451
846
|
if (path in cache) {
|
|
452
847
|
return cache[path];
|
|
453
848
|
}
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
slices.pop();
|
|
458
|
-
if (!slices.length) {
|
|
459
|
-
return cache[path] = this._rules.test(path, checkUnignored, MODE_IGNORE);
|
|
460
|
-
}
|
|
461
|
-
const parent = this._t(
|
|
462
|
-
slices.join(SLASH) + SLASH,
|
|
463
|
-
cache,
|
|
464
|
-
checkUnignored,
|
|
465
|
-
slices
|
|
466
|
-
);
|
|
467
|
-
return cache[path] = parent.ignored ? parent : this._rules.test(path, checkUnignored, MODE_IGNORE);
|
|
849
|
+
const parentPath = parentOf(path);
|
|
850
|
+
const parent = parentPath ? this._t(parentPath, cache, checkUnignored) : UNDEFINED;
|
|
851
|
+
return cache[path] = parent && parent.ignored ? parent : this._rules.test(path, checkUnignored, MODE_IGNORE);
|
|
468
852
|
}
|
|
469
853
|
ignores(path) {
|
|
470
854
|
return this._test(path, this._ignoreCache, false).ignored;
|
|
@@ -2737,6 +3121,18 @@ function setModule(module2) {
|
|
|
2737
3121
|
}
|
|
2738
3122
|
__name(setModule, "setModule");
|
|
2739
3123
|
var C;
|
|
3124
|
+
function newFinalizer(handler) {
|
|
3125
|
+
try {
|
|
3126
|
+
return new FinalizationRegistry(handler);
|
|
3127
|
+
} catch (e) {
|
|
3128
|
+
console.error("Unsupported FinalizationRegistry:", e);
|
|
3129
|
+
return;
|
|
3130
|
+
}
|
|
3131
|
+
}
|
|
3132
|
+
__name(newFinalizer, "newFinalizer");
|
|
3133
|
+
var finalizer = newFinalizer((address) => {
|
|
3134
|
+
C._ts_lookahead_iterator_delete(address);
|
|
3135
|
+
});
|
|
2740
3136
|
var LookaheadIterator = class {
|
|
2741
3137
|
static {
|
|
2742
3138
|
__name(this, "LookaheadIterator");
|
|
@@ -2747,21 +3143,39 @@ var LookaheadIterator = class {
|
|
|
2747
3143
|
/** @internal */
|
|
2748
3144
|
language;
|
|
2749
3145
|
/** @internal */
|
|
3146
|
+
positioned = false;
|
|
3147
|
+
/** @internal */
|
|
2750
3148
|
constructor(internal, address, language) {
|
|
2751
3149
|
assertInternal(internal);
|
|
2752
3150
|
this[0] = address;
|
|
2753
3151
|
this.language = language;
|
|
3152
|
+
finalizer?.register(this, address, this);
|
|
2754
3153
|
}
|
|
2755
|
-
/**
|
|
3154
|
+
/**
|
|
3155
|
+
* Get the current symbol of the lookahead iterator.
|
|
3156
|
+
*
|
|
3157
|
+
* Returns `null` if the iterator is not positioned on a symbol:
|
|
3158
|
+
*
|
|
3159
|
+
* - Before the first iteration step
|
|
3160
|
+
* - After the iterator is exhausted
|
|
3161
|
+
* - After a {@link reset} or {@link resetState} call
|
|
3162
|
+
*/
|
|
2756
3163
|
get currentTypeId() {
|
|
2757
|
-
return C._ts_lookahead_iterator_current_symbol(this[0]);
|
|
3164
|
+
return this.positioned ? C._ts_lookahead_iterator_current_symbol(this[0]) : null;
|
|
2758
3165
|
}
|
|
2759
|
-
/**
|
|
3166
|
+
/**
|
|
3167
|
+
* Get the current symbol name of the lookahead iterator.
|
|
3168
|
+
*
|
|
3169
|
+
* Returns `null` if the iterator is not positioned on a symbol.
|
|
3170
|
+
*/
|
|
2760
3171
|
get currentType() {
|
|
2761
|
-
|
|
3172
|
+
const id = this.currentTypeId;
|
|
3173
|
+
if (id === null) return null;
|
|
3174
|
+
return this.language.types[id] ?? C.UTF8ToString(C._ts_language_symbol_name(this.language[0], id));
|
|
2762
3175
|
}
|
|
2763
3176
|
/** Delete the lookahead iterator, freeing its resources. */
|
|
2764
3177
|
delete() {
|
|
3178
|
+
finalizer?.unregister(this);
|
|
2765
3179
|
C._ts_lookahead_iterator_delete(this[0]);
|
|
2766
3180
|
this[0] = 0;
|
|
2767
3181
|
}
|
|
@@ -2774,6 +3188,7 @@ var LookaheadIterator = class {
|
|
|
2774
3188
|
reset(language, stateId) {
|
|
2775
3189
|
if (C._ts_lookahead_iterator_reset(this[0], language[0], stateId)) {
|
|
2776
3190
|
this.language = language;
|
|
3191
|
+
this.positioned = false;
|
|
2777
3192
|
return true;
|
|
2778
3193
|
}
|
|
2779
3194
|
return false;
|
|
@@ -2785,7 +3200,9 @@ var LookaheadIterator = class {
|
|
|
2785
3200
|
* `false` otherwise.
|
|
2786
3201
|
*/
|
|
2787
3202
|
resetState(stateId) {
|
|
2788
|
-
|
|
3203
|
+
if (!C._ts_lookahead_iterator_reset_state(this[0], stateId)) return false;
|
|
3204
|
+
this.positioned = false;
|
|
3205
|
+
return true;
|
|
2789
3206
|
}
|
|
2790
3207
|
/**
|
|
2791
3208
|
* Returns an iterator that iterates over the symbols of the lookahead iterator.
|
|
@@ -2796,10 +3213,9 @@ var LookaheadIterator = class {
|
|
|
2796
3213
|
[Symbol.iterator]() {
|
|
2797
3214
|
return {
|
|
2798
3215
|
next: /* @__PURE__ */ __name(() => {
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
}
|
|
2802
|
-
return { done: true, value: "" };
|
|
3216
|
+
this.positioned = Boolean(C._ts_lookahead_iterator_next(this[0]));
|
|
3217
|
+
const value = this.currentType;
|
|
3218
|
+
return value === null ? { done: true, value: "" } : { done: false, value };
|
|
2803
3219
|
}, "next")
|
|
2804
3220
|
};
|
|
2805
3221
|
}
|
|
@@ -2825,6 +3241,9 @@ function getText(tree, startIndex, endIndex, startPosition) {
|
|
|
2825
3241
|
return result ?? "";
|
|
2826
3242
|
}
|
|
2827
3243
|
__name(getText, "getText");
|
|
3244
|
+
var finalizer2 = newFinalizer((address) => {
|
|
3245
|
+
C._ts_tree_delete(address);
|
|
3246
|
+
});
|
|
2828
3247
|
var Tree = class _Tree {
|
|
2829
3248
|
static {
|
|
2830
3249
|
__name(this, "Tree");
|
|
@@ -2842,6 +3261,7 @@ var Tree = class _Tree {
|
|
|
2842
3261
|
this[0] = address;
|
|
2843
3262
|
this.language = language;
|
|
2844
3263
|
this.textCallback = textCallback;
|
|
3264
|
+
finalizer2?.register(this, address, this);
|
|
2845
3265
|
}
|
|
2846
3266
|
/** Create a shallow copy of the syntax tree. This is very fast. */
|
|
2847
3267
|
copy() {
|
|
@@ -2850,6 +3270,7 @@ var Tree = class _Tree {
|
|
|
2850
3270
|
}
|
|
2851
3271
|
/** Delete the syntax tree, freeing its resources. */
|
|
2852
3272
|
delete() {
|
|
3273
|
+
finalizer2?.unregister(this);
|
|
2853
3274
|
C._ts_tree_delete(this[0]);
|
|
2854
3275
|
this[0] = 0;
|
|
2855
3276
|
}
|
|
@@ -2930,6 +3351,9 @@ var Tree = class _Tree {
|
|
|
2930
3351
|
return result;
|
|
2931
3352
|
}
|
|
2932
3353
|
};
|
|
3354
|
+
var finalizer3 = newFinalizer((address) => {
|
|
3355
|
+
C._ts_tree_cursor_delete_wasm(address);
|
|
3356
|
+
});
|
|
2933
3357
|
var TreeCursor = class _TreeCursor {
|
|
2934
3358
|
static {
|
|
2935
3359
|
__name(this, "TreeCursor");
|
|
@@ -2957,6 +3381,7 @@ var TreeCursor = class _TreeCursor {
|
|
|
2957
3381
|
assertInternal(internal);
|
|
2958
3382
|
this.tree = tree;
|
|
2959
3383
|
unmarshalTreeCursor(this);
|
|
3384
|
+
finalizer3?.register(this, this.tree[0], this);
|
|
2960
3385
|
}
|
|
2961
3386
|
/** Creates a deep copy of the tree cursor. This allocates new memory. */
|
|
2962
3387
|
copy() {
|
|
@@ -2967,6 +3392,7 @@ var TreeCursor = class _TreeCursor {
|
|
|
2967
3392
|
}
|
|
2968
3393
|
/** Delete the tree cursor, freeing its resources. */
|
|
2969
3394
|
delete() {
|
|
3395
|
+
finalizer3?.unregister(this);
|
|
2970
3396
|
marshalTreeCursor(this);
|
|
2971
3397
|
C._ts_tree_cursor_delete_wasm(this.tree[0]);
|
|
2972
3398
|
this[0] = this[1] = this[2] = 0;
|
|
@@ -4061,8 +4487,9 @@ var Language = class _Language {
|
|
|
4061
4487
|
* This returns `null` if state is invalid for this language.
|
|
4062
4488
|
*
|
|
4063
4489
|
* Iterating {@link LookaheadIterator} will yield valid symbols in the given
|
|
4064
|
-
* parse state.
|
|
4065
|
-
*
|
|
4490
|
+
* parse state. A newly created iterator is not positioned on a symbol, so
|
|
4491
|
+
* {@link LookaheadIterator#currentType} returns `null` until the first
|
|
4492
|
+
* iteration step.
|
|
4066
4493
|
*
|
|
4067
4494
|
* Lookahead iterators can be useful for generating suggestions and improving
|
|
4068
4495
|
* syntax error diagnostics. To get symbols valid in an `ERROR` node, use the
|
|
@@ -4077,7 +4504,8 @@ var Language = class _Language {
|
|
|
4077
4504
|
}
|
|
4078
4505
|
/**
|
|
4079
4506
|
* Load a language from a WebAssembly module.
|
|
4080
|
-
* The module can be provided as a path to a file or as a
|
|
4507
|
+
* The module can be provided as a path to a file, a `URL` to a file, or as a
|
|
4508
|
+
* buffer.
|
|
4081
4509
|
*/
|
|
4082
4510
|
static async load(input) {
|
|
4083
4511
|
let binary2;
|
|
@@ -4104,16 +4532,27 @@ ${body2}`);
|
|
|
4104
4532
|
}
|
|
4105
4533
|
}
|
|
4106
4534
|
const mod = await C.loadWebAssemblyModule(binary2, { loadAsync: true });
|
|
4535
|
+
return _Language.loadFromWasmExports(mod, { sync: false });
|
|
4536
|
+
}
|
|
4537
|
+
static loadFromWasmExports(mod, { sync }) {
|
|
4107
4538
|
const symbolNames = Object.keys(mod);
|
|
4108
4539
|
const functionName = symbolNames.find((key) => LANGUAGE_FUNCTION_REGEX.test(key) && !key.includes("external_scanner_"));
|
|
4109
4540
|
if (!functionName) {
|
|
4110
4541
|
console.log(`Couldn't find language function in Wasm file. Symbols:
|
|
4111
4542
|
${JSON.stringify(symbolNames, null, 2)}`);
|
|
4112
|
-
throw new Error("
|
|
4543
|
+
throw new Error(`Language.${sync ? "loadSync" : "load"} failed: no language function found in Wasm file`);
|
|
4113
4544
|
}
|
|
4114
4545
|
const languageAddress = mod[functionName]();
|
|
4115
4546
|
return new _Language(INTERNAL, languageAddress);
|
|
4116
4547
|
}
|
|
4548
|
+
/**
|
|
4549
|
+
* Load a language synchronously from a pre-compiled WebAssembly module.
|
|
4550
|
+
* Use this when the host environment provides a `WebAssembly.Module` directly.
|
|
4551
|
+
*/
|
|
4552
|
+
static loadSync(wasmModule) {
|
|
4553
|
+
const mod = C.loadWebAssemblyModule(wasmModule, { loadAsync: false });
|
|
4554
|
+
return _Language.loadFromWasmExports(mod, { sync: true });
|
|
4555
|
+
}
|
|
4117
4556
|
};
|
|
4118
4557
|
async function Module2(moduleArg = {}) {
|
|
4119
4558
|
var moduleRtn;
|
|
@@ -4636,7 +5075,7 @@ async function Module2(moduleArg = {}) {
|
|
|
4636
5075
|
newDSO("__main__", 0, wasmImports);
|
|
4637
5076
|
}
|
|
4638
5077
|
};
|
|
4639
|
-
var ___heap_base =
|
|
5078
|
+
var ___heap_base = 82240;
|
|
4640
5079
|
var alignMemory = /* @__PURE__ */ __name((size, alignment) => Math.ceil(size / alignment) * alignment, "alignMemory");
|
|
4641
5080
|
var getMemory = /* @__PURE__ */ __name((size) => {
|
|
4642
5081
|
if (runtimeInitialized) {
|
|
@@ -5201,12 +5640,12 @@ async function Module2(moduleArg = {}) {
|
|
|
5201
5640
|
"value": "i32",
|
|
5202
5641
|
"mutable": false
|
|
5203
5642
|
}, 1024);
|
|
5204
|
-
var ___stack_high =
|
|
5205
|
-
var ___stack_low =
|
|
5643
|
+
var ___stack_high = 82240;
|
|
5644
|
+
var ___stack_low = 16704;
|
|
5206
5645
|
var ___stack_pointer = new WebAssembly.Global({
|
|
5207
5646
|
"value": "i32",
|
|
5208
5647
|
"mutable": true
|
|
5209
|
-
},
|
|
5648
|
+
}, 82240);
|
|
5210
5649
|
var ___table_base = new WebAssembly.Global({
|
|
5211
5650
|
"value": "i32",
|
|
5212
5651
|
"mutable": false
|
|
@@ -5467,7 +5906,7 @@ async function Module2(moduleArg = {}) {
|
|
|
5467
5906
|
Module["loadWebAssemblyModule"] = loadWebAssemblyModule;
|
|
5468
5907
|
Module["LE_HEAP_STORE_I64"] = LE_HEAP_STORE_I64;
|
|
5469
5908
|
var ASM_CONSTS = {};
|
|
5470
|
-
var _malloc, _calloc, _realloc, _free, _ts_range_edit, _memcmp, _ts_language_symbol_count, _ts_language_state_count, _ts_language_abi_version, _ts_language_name, _ts_language_field_count, _ts_language_next_state, _ts_language_symbol_name, _ts_language_symbol_for_name, _strncmp, _ts_language_symbol_type, _ts_language_field_name_for_id, _ts_lookahead_iterator_new, _ts_lookahead_iterator_delete, _ts_lookahead_iterator_reset_state, _ts_lookahead_iterator_reset, _ts_lookahead_iterator_next, _ts_lookahead_iterator_current_symbol, _ts_point_edit, _ts_parser_delete, _ts_parser_reset, _ts_parser_set_language, _ts_parser_set_included_ranges, _ts_query_new, _ts_query_delete, _iswspace, _iswalnum, _ts_query_pattern_count, _ts_query_capture_count, _ts_query_string_count, _ts_query_capture_name_for_id, _ts_query_capture_quantifier_for_id, _ts_query_string_value_for_id, _ts_query_predicates_for_pattern, _ts_query_start_byte_for_pattern, _ts_query_end_byte_for_pattern, _ts_query_is_pattern_rooted, _ts_query_is_pattern_non_local, _ts_query_is_pattern_guaranteed_at_step, _ts_query_disable_capture, _ts_query_disable_pattern, _ts_tree_copy, _ts_tree_delete, _ts_init, _ts_parser_new_wasm, _ts_parser_enable_logger_wasm, _ts_parser_parse_wasm, _ts_parser_included_ranges_wasm, _ts_language_type_is_named_wasm, _ts_language_type_is_visible_wasm, _ts_language_metadata_wasm, _ts_language_supertypes_wasm, _ts_language_subtypes_wasm, _ts_tree_root_node_wasm, _ts_tree_root_node_with_offset_wasm, _ts_tree_edit_wasm, _ts_tree_included_ranges_wasm, _ts_tree_get_changed_ranges_wasm, _ts_tree_cursor_new_wasm, _ts_tree_cursor_copy_wasm, _ts_tree_cursor_delete_wasm, _ts_tree_cursor_reset_wasm, _ts_tree_cursor_reset_to_wasm, _ts_tree_cursor_goto_first_child_wasm, _ts_tree_cursor_goto_last_child_wasm, _ts_tree_cursor_goto_first_child_for_index_wasm, _ts_tree_cursor_goto_first_child_for_position_wasm, _ts_tree_cursor_goto_next_sibling_wasm, _ts_tree_cursor_goto_previous_sibling_wasm, _ts_tree_cursor_goto_descendant_wasm, _ts_tree_cursor_goto_parent_wasm, _ts_tree_cursor_current_node_type_id_wasm, _ts_tree_cursor_current_node_state_id_wasm, _ts_tree_cursor_current_node_is_named_wasm, _ts_tree_cursor_current_node_is_missing_wasm, _ts_tree_cursor_current_node_id_wasm, _ts_tree_cursor_start_position_wasm, _ts_tree_cursor_end_position_wasm, _ts_tree_cursor_start_index_wasm, _ts_tree_cursor_end_index_wasm, _ts_tree_cursor_current_field_id_wasm, _ts_tree_cursor_current_depth_wasm, _ts_tree_cursor_current_descendant_index_wasm, _ts_tree_cursor_current_node_wasm, _ts_node_symbol_wasm, _ts_node_field_name_for_child_wasm, _ts_node_field_name_for_named_child_wasm, _ts_node_children_by_field_id_wasm, _ts_node_first_child_for_byte_wasm, _ts_node_first_named_child_for_byte_wasm, _ts_node_grammar_symbol_wasm, _ts_node_child_count_wasm, _ts_node_named_child_count_wasm, _ts_node_child_wasm, _ts_node_named_child_wasm, _ts_node_child_by_field_id_wasm, _ts_node_next_sibling_wasm, _ts_node_prev_sibling_wasm, _ts_node_next_named_sibling_wasm, _ts_node_prev_named_sibling_wasm, _ts_node_descendant_count_wasm, _ts_node_parent_wasm, _ts_node_child_with_descendant_wasm, _ts_node_descendant_for_index_wasm, _ts_node_named_descendant_for_index_wasm, _ts_node_descendant_for_position_wasm, _ts_node_named_descendant_for_position_wasm, _ts_node_start_point_wasm, _ts_node_end_point_wasm, _ts_node_start_index_wasm, _ts_node_end_index_wasm, _ts_node_to_string_wasm, _ts_node_children_wasm, _ts_node_named_children_wasm, _ts_node_descendants_of_type_wasm, _ts_node_is_named_wasm, _ts_node_has_changes_wasm, _ts_node_has_error_wasm, _ts_node_is_error_wasm, _ts_node_is_missing_wasm, _ts_node_is_extra_wasm, _ts_node_parse_state_wasm, _ts_node_next_parse_state_wasm, _ts_query_matches_wasm, _ts_query_captures_wasm, _memset, _memcpy, _memmove, _iswalpha, _iswblank, _iswdigit, _iswlower, _iswupper, _iswxdigit, _memchr, _strlen, _strcmp, _strncat, _strncpy, _towlower, _towupper, _setThrew, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, ___wasm_apply_data_relocs;
|
|
5909
|
+
var _malloc, _calloc, _realloc, _free, _ts_range_edit, _memcmp, _ts_language_symbol_count, _ts_language_state_count, _ts_language_abi_version, _ts_language_name, _ts_language_field_count, _ts_language_next_state, _ts_language_symbol_name, _ts_language_symbol_for_name, _strncmp, _ts_language_symbol_type, _ts_language_field_name_for_id, _ts_lookahead_iterator_new, _ts_lookahead_iterator_delete, _ts_lookahead_iterator_reset_state, _ts_lookahead_iterator_reset, _ts_lookahead_iterator_next, _ts_lookahead_iterator_current_symbol, _ts_point_edit, _ts_parser_delete, _ts_parser_reset, _ts_parser_set_language, _ts_parser_set_included_ranges, _ts_query_new, _ts_query_delete, _iswspace, _iswalnum, _ts_query_copy, _ts_query_pattern_count, _ts_query_capture_count, _ts_query_string_count, _ts_query_capture_name_for_id, _ts_query_capture_quantifier_for_id, _ts_query_string_value_for_id, _ts_query_predicates_for_pattern, _ts_query_start_byte_for_pattern, _ts_query_end_byte_for_pattern, _ts_query_is_pattern_rooted, _ts_query_is_pattern_non_local, _ts_query_is_pattern_guaranteed_at_step, _ts_query_disable_capture, _ts_query_disable_pattern, _ts_tree_copy, _ts_tree_delete, _ts_init, _ts_parser_new_wasm, _ts_parser_enable_logger_wasm, _ts_parser_parse_wasm, _ts_parser_included_ranges_wasm, _ts_language_type_is_named_wasm, _ts_language_type_is_visible_wasm, _ts_language_metadata_wasm, _ts_language_supertypes_wasm, _ts_language_subtypes_wasm, _ts_tree_root_node_wasm, _ts_tree_root_node_with_offset_wasm, _ts_tree_edit_wasm, _ts_tree_included_ranges_wasm, _ts_tree_get_changed_ranges_wasm, _ts_tree_cursor_new_wasm, _ts_tree_cursor_copy_wasm, _ts_tree_cursor_delete_wasm, _ts_tree_cursor_reset_wasm, _ts_tree_cursor_reset_to_wasm, _ts_tree_cursor_goto_first_child_wasm, _ts_tree_cursor_goto_last_child_wasm, _ts_tree_cursor_goto_first_child_for_index_wasm, _ts_tree_cursor_goto_first_child_for_position_wasm, _ts_tree_cursor_goto_next_sibling_wasm, _ts_tree_cursor_goto_previous_sibling_wasm, _ts_tree_cursor_goto_descendant_wasm, _ts_tree_cursor_goto_parent_wasm, _ts_tree_cursor_current_node_type_id_wasm, _ts_tree_cursor_current_node_state_id_wasm, _ts_tree_cursor_current_node_is_named_wasm, _ts_tree_cursor_current_node_is_missing_wasm, _ts_tree_cursor_current_node_id_wasm, _ts_tree_cursor_start_position_wasm, _ts_tree_cursor_end_position_wasm, _ts_tree_cursor_start_index_wasm, _ts_tree_cursor_end_index_wasm, _ts_tree_cursor_current_field_id_wasm, _ts_tree_cursor_current_depth_wasm, _ts_tree_cursor_current_descendant_index_wasm, _ts_tree_cursor_current_node_wasm, _ts_node_symbol_wasm, _ts_node_field_name_for_child_wasm, _ts_node_field_name_for_named_child_wasm, _ts_node_children_by_field_id_wasm, _ts_node_first_child_for_byte_wasm, _ts_node_first_named_child_for_byte_wasm, _ts_node_grammar_symbol_wasm, _ts_node_child_count_wasm, _ts_node_named_child_count_wasm, _ts_node_child_wasm, _ts_node_named_child_wasm, _ts_node_child_by_field_id_wasm, _ts_node_next_sibling_wasm, _ts_node_prev_sibling_wasm, _ts_node_next_named_sibling_wasm, _ts_node_prev_named_sibling_wasm, _ts_node_descendant_count_wasm, _ts_node_parent_wasm, _ts_node_child_with_descendant_wasm, _ts_node_descendant_for_index_wasm, _ts_node_named_descendant_for_index_wasm, _ts_node_descendant_for_position_wasm, _ts_node_named_descendant_for_position_wasm, _ts_node_start_point_wasm, _ts_node_end_point_wasm, _ts_node_start_index_wasm, _ts_node_end_index_wasm, _ts_node_to_string_wasm, _ts_node_children_wasm, _ts_node_named_children_wasm, _ts_node_descendants_of_type_wasm, _ts_node_is_named_wasm, _ts_node_has_changes_wasm, _ts_node_has_error_wasm, _ts_node_is_error_wasm, _ts_node_is_missing_wasm, _ts_node_is_extra_wasm, _ts_node_parse_state_wasm, _ts_node_next_parse_state_wasm, _ts_query_matches_wasm, _ts_query_captures_wasm, _memset, _memcpy, _memmove, _iswalpha, _iswblank, _iswdigit, _iswlower, _iswpunct, _iswupper, _iswxdigit, _memchr, _strlen, _strcmp, _strncat, _strncpy, _towlower, _towupper, _setThrew, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, ___wasm_apply_data_relocs;
|
|
5471
5910
|
function assignWasmExports(wasmExports2) {
|
|
5472
5911
|
Module["_malloc"] = _malloc = wasmExports2["malloc"];
|
|
5473
5912
|
Module["_calloc"] = _calloc = wasmExports2["calloc"];
|
|
@@ -5501,6 +5940,7 @@ async function Module2(moduleArg = {}) {
|
|
|
5501
5940
|
Module["_ts_query_delete"] = _ts_query_delete = wasmExports2["ts_query_delete"];
|
|
5502
5941
|
Module["_iswspace"] = _iswspace = wasmExports2["iswspace"];
|
|
5503
5942
|
Module["_iswalnum"] = _iswalnum = wasmExports2["iswalnum"];
|
|
5943
|
+
Module["_ts_query_copy"] = _ts_query_copy = wasmExports2["ts_query_copy"];
|
|
5504
5944
|
Module["_ts_query_pattern_count"] = _ts_query_pattern_count = wasmExports2["ts_query_pattern_count"];
|
|
5505
5945
|
Module["_ts_query_capture_count"] = _ts_query_capture_count = wasmExports2["ts_query_capture_count"];
|
|
5506
5946
|
Module["_ts_query_string_count"] = _ts_query_string_count = wasmExports2["ts_query_string_count"];
|
|
@@ -5606,6 +6046,7 @@ async function Module2(moduleArg = {}) {
|
|
|
5606
6046
|
Module["_iswblank"] = _iswblank = wasmExports2["iswblank"];
|
|
5607
6047
|
Module["_iswdigit"] = _iswdigit = wasmExports2["iswdigit"];
|
|
5608
6048
|
Module["_iswlower"] = _iswlower = wasmExports2["iswlower"];
|
|
6049
|
+
Module["_iswpunct"] = _iswpunct = wasmExports2["iswpunct"];
|
|
5609
6050
|
Module["_iswupper"] = _iswupper = wasmExports2["iswupper"];
|
|
5610
6051
|
Module["_iswxdigit"] = _iswxdigit = wasmExports2["iswxdigit"];
|
|
5611
6052
|
Module["_memchr"] = _memchr = wasmExports2["memchr"];
|
|
@@ -5743,6 +6184,10 @@ __name(checkModule, "checkModule");
|
|
|
5743
6184
|
var TRANSFER_BUFFER;
|
|
5744
6185
|
var LANGUAGE_VERSION;
|
|
5745
6186
|
var MIN_COMPATIBLE_VERSION;
|
|
6187
|
+
var finalizer4 = newFinalizer((addresses) => {
|
|
6188
|
+
C._ts_parser_delete(addresses[0]);
|
|
6189
|
+
C._free(addresses[1]);
|
|
6190
|
+
});
|
|
5746
6191
|
var Parser = class {
|
|
5747
6192
|
static {
|
|
5748
6193
|
__name(this, "Parser");
|
|
@@ -5774,6 +6219,7 @@ var Parser = class {
|
|
|
5774
6219
|
*/
|
|
5775
6220
|
constructor() {
|
|
5776
6221
|
this.initialize();
|
|
6222
|
+
finalizer4?.register(this, [this[0], this[1]], this);
|
|
5777
6223
|
}
|
|
5778
6224
|
/** @internal */
|
|
5779
6225
|
initialize() {
|
|
@@ -5786,6 +6232,7 @@ var Parser = class {
|
|
|
5786
6232
|
}
|
|
5787
6233
|
/** Delete the parser, freeing its resources. */
|
|
5788
6234
|
delete() {
|
|
6235
|
+
finalizer4?.unregister(this);
|
|
5789
6236
|
C._ts_parser_delete(this[0]);
|
|
5790
6237
|
C._free(this[1]);
|
|
5791
6238
|
this[0] = 0;
|
|
@@ -5961,6 +6408,10 @@ var QueryError = class _QueryError extends Error {
|
|
|
5961
6408
|
this.length = length;
|
|
5962
6409
|
this.name = "QueryError";
|
|
5963
6410
|
}
|
|
6411
|
+
kind;
|
|
6412
|
+
info;
|
|
6413
|
+
index;
|
|
6414
|
+
length;
|
|
5964
6415
|
static {
|
|
5965
6416
|
__name(this, "QueryError");
|
|
5966
6417
|
}
|
|
@@ -6156,6 +6607,9 @@ function parsePattern(index, stepType, stepValueId, captureNames, stringValues,
|
|
|
6156
6607
|
}
|
|
6157
6608
|
}
|
|
6158
6609
|
__name(parsePattern, "parsePattern");
|
|
6610
|
+
var finalizer5 = newFinalizer((address) => {
|
|
6611
|
+
C._ts_query_delete(address);
|
|
6612
|
+
});
|
|
6159
6613
|
var Query = class {
|
|
6160
6614
|
static {
|
|
6161
6615
|
__name(this, "Query");
|
|
@@ -6310,9 +6764,11 @@ var Query = class {
|
|
|
6310
6764
|
this.assertedProperties = assertedProperties;
|
|
6311
6765
|
this.refutedProperties = refutedProperties;
|
|
6312
6766
|
this.exceededMatchLimit = false;
|
|
6767
|
+
finalizer5?.register(this, address, this);
|
|
6313
6768
|
}
|
|
6314
6769
|
/** Delete the query, freeing its resources. */
|
|
6315
6770
|
delete() {
|
|
6771
|
+
finalizer5?.unregister(this);
|
|
6316
6772
|
C._ts_query_delete(this[0]);
|
|
6317
6773
|
this[0] = 0;
|
|
6318
6774
|
}
|