@jadeja/ts 1.0.0-alpha.2 → 1.0.0-alpha.4

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.
@@ -1,3105 +0,0 @@
1
- import { require___vite_browser_external as e } from "../../../../../../../_virtual/__vite-browser-external.js";
2
- import { posix as t, win32 as n } from "node:path";
3
- import { fileURLToPath as r } from "node:url";
4
- import * as i from "node:fs";
5
- import { lstat as a, readdir as o, readlink as s, realpath as c } from "node:fs/promises";
6
- import { EventEmitter as l } from "node:events";
7
- import u from "node:stream";
8
- import { StringDecoder as d } from "node:string_decoder";
9
- //#region node_modules/.pnpm/glob@13.0.6/node_modules/glob/dist/esm/index.min.js
10
- var f = e(), p = (e, t, n) => {
11
- let r = e instanceof RegExp ? m(e, n) : e, i = t instanceof RegExp ? m(t, n) : t, a = r !== null && i != null && ee(r, i, n);
12
- return a && {
13
- start: a[0],
14
- end: a[1],
15
- pre: n.slice(0, a[0]),
16
- body: n.slice(a[0] + r.length, a[1]),
17
- post: n.slice(a[1] + i.length)
18
- };
19
- }, m = (e, t) => {
20
- let n = t.match(e);
21
- return n ? n[0] : null;
22
- }, ee = (e, t, n) => {
23
- let r, i, a, o, s, c = n.indexOf(e), l = n.indexOf(t, c + 1), u = c;
24
- if (c >= 0 && l > 0) {
25
- if (e === t) return [c, l];
26
- for (r = [], a = n.length; u >= 0 && !s;) {
27
- if (u === c) r.push(u), c = n.indexOf(e, u + 1);
28
- else if (r.length === 1) {
29
- let e = r.pop();
30
- e !== void 0 && (s = [e, l]);
31
- } else i = r.pop(), i !== void 0 && i < a && (a = i, o = l), l = n.indexOf(t, u + 1);
32
- u = c < l && c >= 0 ? c : l;
33
- }
34
- r.length && o !== void 0 && (s = [a, o]);
35
- }
36
- return s;
37
- }, h = "\0SLASH" + Math.random() + "\0", g = "\0OPEN" + Math.random() + "\0", _ = "\0CLOSE" + Math.random() + "\0", v = "\0COMMA" + Math.random() + "\0", te = "\0PERIOD" + Math.random() + "\0", ne = new RegExp(h, "g"), re = new RegExp(g, "g"), ie = new RegExp(_, "g"), ae = new RegExp(v, "g"), oe = new RegExp(te, "g"), se = /\\\\/g, ce = /\\{/g, le = /\\}/g, ue = /\\,/g, de = /\\./g, fe = 1e5;
38
- function pe(e) {
39
- return isNaN(e) ? e.charCodeAt(0) : parseInt(e, 10);
40
- }
41
- function me(e) {
42
- return e.replace(se, h).replace(ce, g).replace(le, _).replace(ue, v).replace(de, te);
43
- }
44
- function he(e) {
45
- return e.replace(ne, "\\").replace(re, "{").replace(ie, "}").replace(ae, ",").replace(oe, ".");
46
- }
47
- function ge(e) {
48
- if (!e) return [""];
49
- let t = [], n = p("{", "}", e);
50
- if (!n) return e.split(",");
51
- let { pre: r, body: i, post: a } = n, o = r.split(",");
52
- o[o.length - 1] += "{" + i + "}";
53
- let s = ge(a);
54
- return a.length && (o[o.length - 1] += s.shift(), o.push.apply(o, s)), t.push.apply(t, o), t;
55
- }
56
- function _e(e, t = {}) {
57
- if (!e) return [];
58
- let { max: n = fe } = t;
59
- return e.slice(0, 2) === "{}" && (e = "\\{\\}" + e.slice(2)), y(me(e), n, !0).map(he);
60
- }
61
- function ve(e) {
62
- return "{" + e + "}";
63
- }
64
- function ye(e) {
65
- return /^-?0\d/.test(e);
66
- }
67
- function be(e, t) {
68
- return e <= t;
69
- }
70
- function xe(e, t) {
71
- return e >= t;
72
- }
73
- function y(e, t, n) {
74
- let r = [], i = p("{", "}", e);
75
- if (!i) return [e];
76
- let a = i.pre, o = i.post.length ? y(i.post, t, !1) : [""];
77
- if (/\$$/.test(i.pre)) for (let e = 0; e < o.length && e < t; e++) {
78
- let t = a + "{" + i.body + "}" + o[e];
79
- r.push(t);
80
- }
81
- else {
82
- let s = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(i.body), c = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(i.body), l = s || c, u = i.body.indexOf(",") >= 0;
83
- if (!l && !u) return i.post.match(/,(?!,).*\}/) ? (e = i.pre + "{" + i.body + _ + i.post, y(e, t, !0)) : [e];
84
- let d;
85
- if (l) d = i.body.split(/\.\./);
86
- else if (d = ge(i.body), d.length === 1 && d[0] !== void 0 && (d = y(d[0], t, !1).map(ve), d.length === 1)) return o.map((e) => i.pre + d[0] + e);
87
- let f;
88
- if (l && d[0] !== void 0 && d[1] !== void 0) {
89
- let e = pe(d[0]), t = pe(d[1]), n = Math.max(d[0].length, d[1].length), r = d.length === 3 && d[2] !== void 0 ? Math.abs(pe(d[2])) : 1, i = be;
90
- t < e && (r *= -1, i = xe);
91
- let a = d.some(ye);
92
- f = [];
93
- for (let o = e; i(o, t); o += r) {
94
- let e;
95
- if (c) e = String.fromCharCode(o), e === "\\" && (e = "");
96
- else if (e = String(o), a) {
97
- let t = n - e.length;
98
- if (t > 0) {
99
- let n = Array(t + 1).join("0");
100
- e = o < 0 ? "-" + n + e.slice(1) : n + e;
101
- }
102
- }
103
- f.push(e);
104
- }
105
- } else {
106
- f = [];
107
- for (let e = 0; e < d.length; e++) f.push.apply(f, y(d[e], t, !1));
108
- }
109
- for (let e = 0; e < f.length; e++) for (let i = 0; i < o.length && r.length < t; i++) {
110
- let t = a + f[e] + o[i];
111
- (!n || l || t) && r.push(t);
112
- }
113
- }
114
- return r;
115
- }
116
- var Se = (e) => {
117
- if (typeof e != "string") throw TypeError("invalid pattern");
118
- if (e.length > 65536) throw TypeError("pattern is too long");
119
- }, Ce = {
120
- "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", !0],
121
- "[:alpha:]": ["\\p{L}\\p{Nl}", !0],
122
- "[:ascii:]": ["\\x00-\\x7f", !1],
123
- "[:blank:]": ["\\p{Zs}\\t", !0],
124
- "[:cntrl:]": ["\\p{Cc}", !0],
125
- "[:digit:]": ["\\p{Nd}", !0],
126
- "[:graph:]": [
127
- "\\p{Z}\\p{C}",
128
- !0,
129
- !0
130
- ],
131
- "[:lower:]": ["\\p{Ll}", !0],
132
- "[:print:]": ["\\p{C}", !0],
133
- "[:punct:]": ["\\p{P}", !0],
134
- "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", !0],
135
- "[:upper:]": ["\\p{Lu}", !0],
136
- "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", !0],
137
- "[:xdigit:]": ["A-Fa-f0-9", !1]
138
- }, b = (e) => e.replace(/[[\]\\-]/g, "\\$&"), we = (e) => e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), Te = (e) => e.join(""), Ee = (e, t) => {
139
- let n = t;
140
- if (e.charAt(n) !== "[") throw Error("not in a brace expression");
141
- let r = [], i = [], a = n + 1, o = !1, s = !1, c = !1, l = !1, u = n, d = "";
142
- t: for (; a < e.length;) {
143
- let t = e.charAt(a);
144
- if ((t === "!" || t === "^") && a === n + 1) {
145
- l = !0, a++;
146
- continue;
147
- }
148
- if (t === "]" && o && !c) {
149
- u = a + 1;
150
- break;
151
- }
152
- if (o = !0, t === "\\" && !c) {
153
- c = !0, a++;
154
- continue;
155
- }
156
- if (t === "[" && !c) {
157
- for (let [t, [o, c, l]] of Object.entries(Ce)) if (e.startsWith(t, a)) {
158
- if (d) return [
159
- "$.",
160
- !1,
161
- e.length - n,
162
- !0
163
- ];
164
- a += t.length, l ? i.push(o) : r.push(o), s ||= c;
165
- continue t;
166
- }
167
- }
168
- if (c = !1, d) {
169
- t > d ? r.push(b(d) + "-" + b(t)) : t === d && r.push(b(t)), d = "", a++;
170
- continue;
171
- }
172
- if (e.startsWith("-]", a + 1)) {
173
- r.push(b(t + "-")), a += 2;
174
- continue;
175
- }
176
- if (e.startsWith("-", a + 1)) {
177
- d = t, a += 2;
178
- continue;
179
- }
180
- r.push(b(t)), a++;
181
- }
182
- if (u < a) return [
183
- "",
184
- !1,
185
- 0,
186
- !1
187
- ];
188
- if (!r.length && !i.length) return [
189
- "$.",
190
- !1,
191
- e.length - n,
192
- !0
193
- ];
194
- if (i.length === 0 && r.length === 1 && /^\\?.$/.test(r[0]) && !l) return [
195
- we(r[0].length === 2 ? r[0].slice(-1) : r[0]),
196
- !1,
197
- u - n,
198
- !1
199
- ];
200
- let f = "[" + (l ? "^" : "") + Te(r) + "]", p = "[" + (l ? "" : "^") + Te(i) + "]";
201
- return [
202
- r.length && i.length ? "(" + f + "|" + p + ")" : r.length ? f : p,
203
- s,
204
- u - n,
205
- !0
206
- ];
207
- }, x = (e, { windowsPathsNoEscape: t = !1, magicalBraces: n = !0 } = {}) => n ? t ? e.replace(/\[([^\/\\])\]/g, "$1") : e.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1") : t ? e.replace(/\[([^\/\\{}])\]/g, "$1") : e.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1"), De = new Set([
208
- "!",
209
- "?",
210
- "+",
211
- "*",
212
- "@"
213
- ]), Oe = (e) => De.has(e), ke = "(?!(?:^|/)\\.\\.?(?:$|/))", Ae = "(?!\\.)", je = new Set(["[", "."]), Me = new Set(["..", "."]), Ne = /* @__PURE__ */ new Set("().*{}+?[]^$\\!"), Pe = (e) => e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), Fe = "[^/]", Ie = Fe + "*?", Le = Fe + "+?", Re = class e {
214
- type;
215
- #e;
216
- #t;
217
- #n = !1;
218
- #r = [];
219
- #i;
220
- #a;
221
- #o;
222
- #s = !1;
223
- #c;
224
- #l;
225
- #u = !1;
226
- constructor(e, t, n = {}) {
227
- this.type = e, e && (this.#t = !0), this.#i = t, this.#e = this.#i ? this.#i.#e : this, this.#c = this.#e === this ? n : this.#e.#c, this.#o = this.#e === this ? [] : this.#e.#o, e === "!" && !this.#e.#s && this.#o.push(this), this.#a = this.#i ? this.#i.#r.length : 0;
228
- }
229
- get hasMagic() {
230
- if (this.#t !== void 0) return this.#t;
231
- for (let e of this.#r) if (typeof e != "string" && (e.type || e.hasMagic)) return this.#t = !0;
232
- return this.#t;
233
- }
234
- toString() {
235
- return this.#l === void 0 ? this.type ? this.#l = this.type + "(" + this.#r.map((e) => String(e)).join("|") + ")" : this.#l = this.#r.map((e) => String(e)).join("") : this.#l;
236
- }
237
- #d() {
238
- if (this !== this.#e) throw Error("should only call on root");
239
- if (this.#s) return this;
240
- this.toString(), this.#s = !0;
241
- let e;
242
- for (; e = this.#o.pop();) {
243
- if (e.type !== "!") continue;
244
- let t = e, n = t.#i;
245
- for (; n;) {
246
- for (let r = t.#a + 1; !n.type && r < n.#r.length; r++) for (let t of e.#r) {
247
- if (typeof t == "string") throw Error("string part in extglob AST??");
248
- t.copyIn(n.#r[r]);
249
- }
250
- t = n, n = t.#i;
251
- }
252
- }
253
- return this;
254
- }
255
- push(...t) {
256
- for (let n of t) if (n !== "") {
257
- if (typeof n != "string" && !(n instanceof e && n.#i === this)) throw Error("invalid part: " + n);
258
- this.#r.push(n);
259
- }
260
- }
261
- toJSON() {
262
- let e = this.type === null ? this.#r.slice().map((e) => typeof e == "string" ? e : e.toJSON()) : [this.type, ...this.#r.map((e) => e.toJSON())];
263
- return this.isStart() && !this.type && e.unshift([]), this.isEnd() && (this === this.#e || this.#e.#s && this.#i?.type === "!") && e.push({}), e;
264
- }
265
- isStart() {
266
- if (this.#e === this) return !0;
267
- if (!this.#i?.isStart()) return !1;
268
- if (this.#a === 0) return !0;
269
- let t = this.#i;
270
- for (let n = 0; n < this.#a; n++) {
271
- let r = t.#r[n];
272
- if (!(r instanceof e && r.type === "!")) return !1;
273
- }
274
- return !0;
275
- }
276
- isEnd() {
277
- if (this.#e === this || this.#i?.type === "!") return !0;
278
- if (!this.#i?.isEnd()) return !1;
279
- if (!this.type) return this.#i?.isEnd();
280
- let e = this.#i ? this.#i.#r.length : 0;
281
- return this.#a === e - 1;
282
- }
283
- copyIn(e) {
284
- typeof e == "string" ? this.push(e) : this.push(e.clone(this));
285
- }
286
- clone(t) {
287
- let n = new e(this.type, t);
288
- for (let e of this.#r) n.copyIn(e);
289
- return n;
290
- }
291
- static #f(t, n, r, i) {
292
- let a = !1, o = !1, s = -1, c = !1;
293
- if (n.type === null) {
294
- let l = r, u = "";
295
- for (; l < t.length;) {
296
- let r = t.charAt(l++);
297
- if (a || r === "\\") {
298
- a = !a, u += r;
299
- continue;
300
- }
301
- if (o) {
302
- l === s + 1 ? (r === "^" || r === "!") && (c = !0) : r === "]" && !(l === s + 2 && c) && (o = !1), u += r;
303
- continue;
304
- } else if (r === "[") {
305
- o = !0, s = l, c = !1, u += r;
306
- continue;
307
- }
308
- if (!i.noext && Oe(r) && t.charAt(l) === "(") {
309
- n.push(u), u = "";
310
- let a = new e(r, n);
311
- l = e.#f(t, a, l, i), n.push(a);
312
- continue;
313
- }
314
- u += r;
315
- }
316
- return n.push(u), l;
317
- }
318
- let l = r + 1, u = new e(null, n), d = [], f = "";
319
- for (; l < t.length;) {
320
- let r = t.charAt(l++);
321
- if (a || r === "\\") {
322
- a = !a, f += r;
323
- continue;
324
- }
325
- if (o) {
326
- l === s + 1 ? (r === "^" || r === "!") && (c = !0) : r === "]" && !(l === s + 2 && c) && (o = !1), f += r;
327
- continue;
328
- } else if (r === "[") {
329
- o = !0, s = l, c = !1, f += r;
330
- continue;
331
- }
332
- if (Oe(r) && t.charAt(l) === "(") {
333
- u.push(f), f = "";
334
- let n = new e(r, u);
335
- u.push(n), l = e.#f(t, n, l, i);
336
- continue;
337
- }
338
- if (r === "|") {
339
- u.push(f), f = "", d.push(u), u = new e(null, n);
340
- continue;
341
- }
342
- if (r === ")") return f === "" && n.#r.length === 0 && (n.#u = !0), u.push(f), f = "", n.push(...d, u), l;
343
- f += r;
344
- }
345
- return n.type = null, n.#t = void 0, n.#r = [t.substring(r - 1)], l;
346
- }
347
- static fromGlob(t, n = {}) {
348
- let r = new e(null, void 0, n);
349
- return e.#f(t, r, 0, n), r;
350
- }
351
- toMMPattern() {
352
- if (this !== this.#e) return this.#e.toMMPattern();
353
- let e = this.toString(), [t, n, r, i] = this.toRegExpSource();
354
- if (!(r || this.#t || this.#c.nocase && !this.#c.nocaseMagicOnly && e.toUpperCase() !== e.toLowerCase())) return n;
355
- let a = (this.#c.nocase ? "i" : "") + (i ? "u" : "");
356
- return Object.assign(RegExp(`^${t}$`, a), {
357
- _src: t,
358
- _glob: e
359
- });
360
- }
361
- get options() {
362
- return this.#c;
363
- }
364
- toRegExpSource(t) {
365
- let n = t ?? !!this.#c.dot;
366
- if (this.#e === this && this.#d(), !this.type) {
367
- let r = this.isStart() && this.isEnd() && !this.#r.some((e) => typeof e != "string"), i = this.#r.map((n) => {
368
- let [i, a, o, s] = typeof n == "string" ? e.#m(n, this.#t, r) : n.toRegExpSource(t);
369
- return this.#t = this.#t || o, this.#n = this.#n || s, i;
370
- }).join(""), a = "";
371
- if (this.isStart() && typeof this.#r[0] == "string" && !(this.#r.length === 1 && Me.has(this.#r[0]))) {
372
- let e = je, r = n && e.has(i.charAt(0)) || i.startsWith("\\.") && e.has(i.charAt(2)) || i.startsWith("\\.\\.") && e.has(i.charAt(4)), o = !n && !t && e.has(i.charAt(0));
373
- a = r ? ke : o ? Ae : "";
374
- }
375
- let o = "";
376
- return this.isEnd() && this.#e.#s && this.#i?.type === "!" && (o = "(?:$|\\/)"), [
377
- a + i + o,
378
- x(i),
379
- this.#t = !!this.#t,
380
- this.#n
381
- ];
382
- }
383
- let r = this.type === "*" || this.type === "+", i = this.type === "!" ? "(?:(?!(?:" : "(?:", a = this.#p(n);
384
- if (this.isStart() && this.isEnd() && !a && this.type !== "!") {
385
- let e = this.toString();
386
- return this.#r = [e], this.type = null, this.#t = void 0, [
387
- e,
388
- x(this.toString()),
389
- !1,
390
- !1
391
- ];
392
- }
393
- let o = !r || t || n || !Ae ? "" : this.#p(!0);
394
- o === a && (o = ""), o && (a = `(?:${a})(?:${o})*?`);
395
- let s = "";
396
- if (this.type === "!" && this.#u) s = (this.isStart() && !n ? Ae : "") + Le;
397
- else {
398
- let e = this.type === "!" ? "))" + (this.isStart() && !n && !t ? Ae : "") + Ie + ")" : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && o ? ")" : this.type === "*" && o ? ")?" : `)${this.type}`;
399
- s = i + a + e;
400
- }
401
- return [
402
- s,
403
- x(a),
404
- this.#t = !!this.#t,
405
- this.#n
406
- ];
407
- }
408
- #p(e) {
409
- return this.#r.map((t) => {
410
- if (typeof t == "string") throw Error("string type in extglob ast??");
411
- let [n, r, i, a] = t.toRegExpSource(e);
412
- return this.#n = this.#n || a, n;
413
- }).filter((e) => !(this.isStart() && this.isEnd()) || !!e).join("|");
414
- }
415
- static #m(e, t, n = !1) {
416
- let r = !1, i = "", a = !1, o = !1;
417
- for (let s = 0; s < e.length; s++) {
418
- let c = e.charAt(s);
419
- if (r) {
420
- r = !1, i += (Ne.has(c) ? "\\" : "") + c;
421
- continue;
422
- }
423
- if (c === "*") {
424
- if (o) continue;
425
- o = !0, i += n && /^[*]+$/.test(e) ? Le : Ie, t = !0;
426
- continue;
427
- } else o = !1;
428
- if (c === "\\") {
429
- s === e.length - 1 ? i += "\\\\" : r = !0;
430
- continue;
431
- }
432
- if (c === "[") {
433
- let [n, r, o, c] = Ee(e, s);
434
- if (o) {
435
- i += n, a ||= r, s += o - 1, t ||= c;
436
- continue;
437
- }
438
- }
439
- if (c === "?") {
440
- i += Fe, t = !0;
441
- continue;
442
- }
443
- i += Pe(c);
444
- }
445
- return [
446
- i,
447
- x(e),
448
- !!t,
449
- a
450
- ];
451
- }
452
- }, ze = (e, { windowsPathsNoEscape: t = !1, magicalBraces: n = !1 } = {}) => n ? t ? e.replace(/[?*()[\]{}]/g, "[$&]") : e.replace(/[?*()[\]\\{}]/g, "\\$&") : t ? e.replace(/[?*()[\]]/g, "[$&]") : e.replace(/[?*()[\]\\]/g, "\\$&"), S = (e, t, n = {}) => (Se(t), !n.nocomment && t.charAt(0) === "#" ? !1 : new T(t, n).match(e)), Be = /^\*+([^+@!?\*\[\(]*)$/, Ve = (e) => (t) => !t.startsWith(".") && t.endsWith(e), He = (e) => (t) => t.endsWith(e), Ue = (e) => (e = e.toLowerCase(), (t) => !t.startsWith(".") && t.toLowerCase().endsWith(e)), We = (e) => (e = e.toLowerCase(), (t) => t.toLowerCase().endsWith(e)), Ge = /^\*+\.\*+$/, Ke = (e) => !e.startsWith(".") && e.includes("."), qe = (e) => e !== "." && e !== ".." && e.includes("."), Je = /^\.\*+$/, Ye = (e) => e !== "." && e !== ".." && e.startsWith("."), Xe = /^\*+$/, Ze = (e) => e.length !== 0 && !e.startsWith("."), Qe = (e) => e.length !== 0 && e !== "." && e !== "..", $e = /^\?+([^+@!?\*\[\(]*)?$/, et = ([e, t = ""]) => {
453
- let n = it([e]);
454
- return t ? (t = t.toLowerCase(), (e) => n(e) && e.toLowerCase().endsWith(t)) : n;
455
- }, tt = ([e, t = ""]) => {
456
- let n = at([e]);
457
- return t ? (t = t.toLowerCase(), (e) => n(e) && e.toLowerCase().endsWith(t)) : n;
458
- }, nt = ([e, t = ""]) => {
459
- let n = at([e]);
460
- return t ? (e) => n(e) && e.endsWith(t) : n;
461
- }, rt = ([e, t = ""]) => {
462
- let n = it([e]);
463
- return t ? (e) => n(e) && e.endsWith(t) : n;
464
- }, it = ([e]) => {
465
- let t = e.length;
466
- return (e) => e.length === t && !e.startsWith(".");
467
- }, at = ([e]) => {
468
- let t = e.length;
469
- return (e) => e.length === t && e !== "." && e !== "..";
470
- }, ot = typeof process == "object" && process ? typeof process.env == "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix", st = {
471
- win32: { sep: "\\" },
472
- posix: { sep: "/" }
473
- };
474
- S.sep = ot === "win32" ? st.win32.sep : st.posix.sep;
475
- var C = Symbol("globstar **");
476
- S.GLOBSTAR = C;
477
- var ct = "[^/]*?", lt = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?", ut = "(?:(?!(?:\\/|^)\\.).)*?";
478
- S.filter = (e, t = {}) => (n) => S(n, e, t);
479
- var w = (e, t = {}) => Object.assign({}, e, t);
480
- S.defaults = (e) => {
481
- if (!e || typeof e != "object" || !Object.keys(e).length) return S;
482
- let t = S;
483
- return Object.assign((n, r, i = {}) => t(n, r, w(e, i)), {
484
- Minimatch: class extends t.Minimatch {
485
- constructor(t, n = {}) {
486
- super(t, w(e, n));
487
- }
488
- static defaults(n) {
489
- return t.defaults(w(e, n)).Minimatch;
490
- }
491
- },
492
- AST: class extends t.AST {
493
- constructor(t, n, r = {}) {
494
- super(t, n, w(e, r));
495
- }
496
- static fromGlob(n, r = {}) {
497
- return t.AST.fromGlob(n, w(e, r));
498
- }
499
- },
500
- unescape: (n, r = {}) => t.unescape(n, w(e, r)),
501
- escape: (n, r = {}) => t.escape(n, w(e, r)),
502
- filter: (n, r = {}) => t.filter(n, w(e, r)),
503
- defaults: (n) => t.defaults(w(e, n)),
504
- makeRe: (n, r = {}) => t.makeRe(n, w(e, r)),
505
- braceExpand: (n, r = {}) => t.braceExpand(n, w(e, r)),
506
- match: (n, r, i = {}) => t.match(n, r, w(e, i)),
507
- sep: t.sep,
508
- GLOBSTAR: C
509
- });
510
- };
511
- var dt = (e, t = {}) => (Se(e), t.nobrace || !/\{(?:(?!\{).)*\}/.test(e) ? [e] : _e(e, { max: t.braceExpandMax }));
512
- S.braceExpand = dt, S.makeRe = (e, t = {}) => new T(e, t).makeRe(), S.match = (e, t, n = {}) => {
513
- let r = new T(t, n);
514
- return e = e.filter((e) => r.match(e)), r.options.nonull && !e.length && e.push(t), e;
515
- };
516
- var ft = /[?*]|[+@!]\(.*?\)|\[|\]/, pt = (e) => e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), T = class {
517
- options;
518
- set;
519
- pattern;
520
- windowsPathsNoEscape;
521
- nonegate;
522
- negate;
523
- comment;
524
- empty;
525
- preserveMultipleSlashes;
526
- partial;
527
- globSet;
528
- globParts;
529
- nocase;
530
- isWindows;
531
- platform;
532
- windowsNoMagicRoot;
533
- regexp;
534
- constructor(e, t = {}) {
535
- Se(e), t ||= {}, this.options = t, this.pattern = e, this.platform = t.platform || ot, this.isWindows = this.platform === "win32", this.windowsPathsNoEscape = !!t.windowsPathsNoEscape || t.allowWindowsEscape === !1, this.windowsPathsNoEscape && (this.pattern = this.pattern.replace(/\\/g, "/")), this.preserveMultipleSlashes = !!t.preserveMultipleSlashes, this.regexp = null, this.negate = !1, this.nonegate = !!t.nonegate, this.comment = !1, this.empty = !1, this.partial = !!t.partial, this.nocase = !!this.options.nocase, this.windowsNoMagicRoot = t.windowsNoMagicRoot === void 0 ? !!(this.isWindows && this.nocase) : t.windowsNoMagicRoot, this.globSet = [], this.globParts = [], this.set = [], this.make();
536
- }
537
- hasMagic() {
538
- if (this.options.magicalBraces && this.set.length > 1) return !0;
539
- for (let e of this.set) for (let t of e) if (typeof t != "string") return !0;
540
- return !1;
541
- }
542
- debug(...e) {}
543
- make() {
544
- let e = this.pattern, t = this.options;
545
- if (!t.nocomment && e.charAt(0) === "#") {
546
- this.comment = !0;
547
- return;
548
- }
549
- if (!e) {
550
- this.empty = !0;
551
- return;
552
- }
553
- this.parseNegate(), this.globSet = [...new Set(this.braceExpand())], t.debug && (this.debug = (...e) => console.error(...e)), this.debug(this.pattern, this.globSet);
554
- let n = this.globSet.map((e) => this.slashSplit(e));
555
- this.globParts = this.preprocess(n), this.debug(this.pattern, this.globParts);
556
- let r = this.globParts.map((e, t, n) => {
557
- if (this.isWindows && this.windowsNoMagicRoot) {
558
- let t = e[0] === "" && e[1] === "" && (e[2] === "?" || !ft.test(e[2])) && !ft.test(e[3]), n = /^[a-z]:/i.test(e[0]);
559
- if (t) return [...e.slice(0, 4), ...e.slice(4).map((e) => this.parse(e))];
560
- if (n) return [e[0], ...e.slice(1).map((e) => this.parse(e))];
561
- }
562
- return e.map((e) => this.parse(e));
563
- });
564
- if (this.debug(this.pattern, r), this.set = r.filter((e) => e.indexOf(!1) === -1), this.isWindows) for (let e = 0; e < this.set.length; e++) {
565
- let t = this.set[e];
566
- t[0] === "" && t[1] === "" && this.globParts[e][2] === "?" && typeof t[3] == "string" && /^[a-z]:$/i.test(t[3]) && (t[2] = "?");
567
- }
568
- this.debug(this.pattern, this.set);
569
- }
570
- preprocess(e) {
571
- if (this.options.noglobstar) for (let t = 0; t < e.length; t++) for (let n = 0; n < e[t].length; n++) e[t][n] === "**" && (e[t][n] = "*");
572
- let { optimizationLevel: t = 1 } = this.options;
573
- return t >= 2 ? (e = this.firstPhasePreProcess(e), e = this.secondPhasePreProcess(e)) : e = t >= 1 ? this.levelOneOptimize(e) : this.adjascentGlobstarOptimize(e), e;
574
- }
575
- adjascentGlobstarOptimize(e) {
576
- return e.map((e) => {
577
- let t = -1;
578
- for (; (t = e.indexOf("**", t + 1)) !== -1;) {
579
- let n = t;
580
- for (; e[n + 1] === "**";) n++;
581
- n !== t && e.splice(t, n - t);
582
- }
583
- return e;
584
- });
585
- }
586
- levelOneOptimize(e) {
587
- return e.map((e) => (e = e.reduce((e, t) => {
588
- let n = e[e.length - 1];
589
- return t === "**" && n === "**" ? e : t === ".." && n && n !== ".." && n !== "." && n !== "**" ? (e.pop(), e) : (e.push(t), e);
590
- }, []), e.length === 0 ? [""] : e));
591
- }
592
- levelTwoFileOptimize(e) {
593
- Array.isArray(e) || (e = this.slashSplit(e));
594
- let t = !1;
595
- do {
596
- if (t = !1, !this.preserveMultipleSlashes) {
597
- for (let n = 1; n < e.length - 1; n++) {
598
- let r = e[n];
599
- n === 1 && r === "" && e[0] === "" || (r === "." || r === "") && (t = !0, e.splice(n, 1), n--);
600
- }
601
- e[0] === "." && e.length === 2 && (e[1] === "." || e[1] === "") && (t = !0, e.pop());
602
- }
603
- let n = 0;
604
- for (; (n = e.indexOf("..", n + 1)) !== -1;) {
605
- let r = e[n - 1];
606
- r && r !== "." && r !== ".." && r !== "**" && (t = !0, e.splice(n - 1, 2), n -= 2);
607
- }
608
- } while (t);
609
- return e.length === 0 ? [""] : e;
610
- }
611
- firstPhasePreProcess(e) {
612
- let t = !1;
613
- do {
614
- t = !1;
615
- for (let n of e) {
616
- let r = -1;
617
- for (; (r = n.indexOf("**", r + 1)) !== -1;) {
618
- let i = r;
619
- for (; n[i + 1] === "**";) i++;
620
- i > r && n.splice(r + 1, i - r);
621
- let a = n[r + 1], o = n[r + 2], s = n[r + 3];
622
- if (a !== ".." || !o || o === "." || o === ".." || !s || s === "." || s === "..") continue;
623
- t = !0, n.splice(r, 1);
624
- let c = n.slice(0);
625
- c[r] = "**", e.push(c), r--;
626
- }
627
- if (!this.preserveMultipleSlashes) {
628
- for (let e = 1; e < n.length - 1; e++) {
629
- let r = n[e];
630
- e === 1 && r === "" && n[0] === "" || (r === "." || r === "") && (t = !0, n.splice(e, 1), e--);
631
- }
632
- n[0] === "." && n.length === 2 && (n[1] === "." || n[1] === "") && (t = !0, n.pop());
633
- }
634
- let i = 0;
635
- for (; (i = n.indexOf("..", i + 1)) !== -1;) {
636
- let e = n[i - 1];
637
- if (e && e !== "." && e !== ".." && e !== "**") {
638
- t = !0;
639
- let e = i === 1 && n[i + 1] === "**" ? ["."] : [];
640
- n.splice(i - 1, 2, ...e), n.length === 0 && n.push(""), i -= 2;
641
- }
642
- }
643
- }
644
- } while (t);
645
- return e;
646
- }
647
- secondPhasePreProcess(e) {
648
- for (let t = 0; t < e.length - 1; t++) for (let n = t + 1; n < e.length; n++) {
649
- let r = this.partsMatch(e[t], e[n], !this.preserveMultipleSlashes);
650
- if (r) {
651
- e[t] = [], e[n] = r;
652
- break;
653
- }
654
- }
655
- return e.filter((e) => e.length);
656
- }
657
- partsMatch(e, t, n = !1) {
658
- let r = 0, i = 0, a = [], o = "";
659
- for (; r < e.length && i < t.length;) if (e[r] === t[i]) a.push(o === "b" ? t[i] : e[r]), r++, i++;
660
- else if (n && e[r] === "**" && t[i] === e[r + 1]) a.push(e[r]), r++;
661
- else if (n && t[i] === "**" && e[r] === t[i + 1]) a.push(t[i]), i++;
662
- else if (e[r] === "*" && t[i] && (this.options.dot || !t[i].startsWith(".")) && t[i] !== "**") {
663
- if (o === "b") return !1;
664
- o = "a", a.push(e[r]), r++, i++;
665
- } else if (t[i] === "*" && e[r] && (this.options.dot || !e[r].startsWith(".")) && e[r] !== "**") {
666
- if (o === "a") return !1;
667
- o = "b", a.push(t[i]), r++, i++;
668
- } else return !1;
669
- return e.length === t.length && a;
670
- }
671
- parseNegate() {
672
- if (this.nonegate) return;
673
- let e = this.pattern, t = !1, n = 0;
674
- for (let r = 0; r < e.length && e.charAt(r) === "!"; r++) t = !t, n++;
675
- n && (this.pattern = e.slice(n)), this.negate = t;
676
- }
677
- matchOne(e, t, n = !1) {
678
- let r = this.options;
679
- if (this.isWindows) {
680
- let n = typeof e[0] == "string" && /^[a-z]:$/i.test(e[0]), r = !n && e[0] === "" && e[1] === "" && e[2] === "?" && /^[a-z]:$/i.test(e[3]), i = typeof t[0] == "string" && /^[a-z]:$/i.test(t[0]), a = !i && t[0] === "" && t[1] === "" && t[2] === "?" && typeof t[3] == "string" && /^[a-z]:$/i.test(t[3]), o = r ? 3 : n ? 0 : void 0, s = a ? 3 : i ? 0 : void 0;
681
- if (typeof o == "number" && typeof s == "number") {
682
- let [n, r] = [e[o], t[s]];
683
- n.toLowerCase() === r.toLowerCase() && (t[s] = n, s > o ? t = t.slice(s) : o > s && (e = e.slice(o)));
684
- }
685
- }
686
- let { optimizationLevel: i = 1 } = this.options;
687
- i >= 2 && (e = this.levelTwoFileOptimize(e)), this.debug("matchOne", this, {
688
- file: e,
689
- pattern: t
690
- }), this.debug("matchOne", e.length, t.length);
691
- for (var a = 0, o = 0, s = e.length, c = t.length; a < s && o < c; a++, o++) {
692
- this.debug("matchOne loop");
693
- var l = t[o], u = e[a];
694
- if (this.debug(t, l, u), l === !1) return !1;
695
- if (l === C) {
696
- this.debug("GLOBSTAR", [
697
- t,
698
- l,
699
- u
700
- ]);
701
- var d = a, f = o + 1;
702
- if (f === c) {
703
- for (this.debug("** at the end"); a < s; a++) if (e[a] === "." || e[a] === ".." || !r.dot && e[a].charAt(0) === ".") return !1;
704
- return !0;
705
- }
706
- for (; d < s;) {
707
- var p = e[d];
708
- if (this.debug("\nglobstar while", e, d, t, f, p), this.matchOne(e.slice(d), t.slice(f), n)) return this.debug("globstar found match!", d, s, p), !0;
709
- if (p === "." || p === ".." || !r.dot && p.charAt(0) === ".") {
710
- this.debug("dot detected!", e, d, t, f);
711
- break;
712
- }
713
- this.debug("globstar swallow a segment, and continue"), d++;
714
- }
715
- return !!(n && (this.debug("\n>>> no match, partial?", e, d, t, f), d === s));
716
- }
717
- let i;
718
- if (typeof l == "string" ? (i = u === l, this.debug("string match", l, u, i)) : (i = l.test(u), this.debug("pattern match", l, u, i)), !i) return !1;
719
- }
720
- if (a === s && o === c) return !0;
721
- if (a === s) return n;
722
- if (o === c) return a === s - 1 && e[a] === "";
723
- throw Error("wtf?");
724
- }
725
- braceExpand() {
726
- return dt(this.pattern, this.options);
727
- }
728
- parse(e) {
729
- Se(e);
730
- let t = this.options;
731
- if (e === "**") return C;
732
- if (e === "") return "";
733
- let n, r = null;
734
- (n = e.match(Xe)) ? r = t.dot ? Qe : Ze : (n = e.match(Be)) ? r = (t.nocase ? t.dot ? We : Ue : t.dot ? He : Ve)(n[1]) : (n = e.match($e)) ? r = (t.nocase ? t.dot ? tt : et : t.dot ? nt : rt)(n) : (n = e.match(Ge)) ? r = t.dot ? qe : Ke : (n = e.match(Je)) && (r = Ye);
735
- let i = Re.fromGlob(e, this.options).toMMPattern();
736
- return r && typeof i == "object" && Reflect.defineProperty(i, "test", { value: r }), i;
737
- }
738
- makeRe() {
739
- if (this.regexp || this.regexp === !1) return this.regexp;
740
- let e = this.set;
741
- if (!e.length) return this.regexp = !1, this.regexp;
742
- let t = this.options, n = t.noglobstar ? ct : t.dot ? lt : ut, r = new Set(t.nocase ? ["i"] : []), i = e.map((e) => {
743
- let t = e.map((e) => {
744
- if (e instanceof RegExp) for (let t of e.flags.split("")) r.add(t);
745
- return typeof e == "string" ? pt(e) : e === C ? C : e._src;
746
- });
747
- t.forEach((e, r) => {
748
- let i = t[r + 1], a = t[r - 1];
749
- e !== C || a === C || (a === void 0 ? i !== void 0 && i !== C ? t[r + 1] = "(?:\\/|" + n + "\\/)?" + i : t[r] = n : i === void 0 ? t[r - 1] = a + "(?:\\/|\\/" + n + ")?" : i !== C && (t[r - 1] = a + "(?:\\/|\\/" + n + "\\/)" + i, t[r + 1] = C));
750
- });
751
- let i = t.filter((e) => e !== C);
752
- if (this.partial && i.length >= 1) {
753
- let e = [];
754
- for (let t = 1; t <= i.length; t++) e.push(i.slice(0, t).join("/"));
755
- return "(?:" + e.join("|") + ")";
756
- }
757
- return i.join("/");
758
- }).join("|"), [a, o] = e.length > 1 ? ["(?:", ")"] : ["", ""];
759
- i = "^" + a + i + o + "$", this.partial && (i = "^(?:\\/|" + a + i.slice(1, -1) + o + ")$"), this.negate && (i = "^(?!" + i + ").+$");
760
- try {
761
- this.regexp = new RegExp(i, [...r].join(""));
762
- } catch {
763
- this.regexp = !1;
764
- }
765
- return this.regexp;
766
- }
767
- slashSplit(e) {
768
- return this.preserveMultipleSlashes ? e.split("/") : this.isWindows && /^\/\/[^\/]+/.test(e) ? ["", ...e.split(/\/+/)] : e.split(/\/+/);
769
- }
770
- match(e, t = this.partial) {
771
- if (this.debug("match", e, this.pattern), this.comment) return !1;
772
- if (this.empty) return e === "";
773
- if (e === "/" && t) return !0;
774
- let n = this.options;
775
- this.isWindows && (e = e.split("\\").join("/"));
776
- let r = this.slashSplit(e);
777
- this.debug(this.pattern, "split", r);
778
- let i = this.set;
779
- this.debug(this.pattern, "set", i);
780
- let a = r[r.length - 1];
781
- if (!a) for (let e = r.length - 2; !a && e >= 0; e--) a = r[e];
782
- for (let e = 0; e < i.length; e++) {
783
- let o = i[e], s = r;
784
- if (n.matchBase && o.length === 1 && (s = [a]), this.matchOne(s, o, t)) return n.flipNegate ? !0 : !this.negate;
785
- }
786
- return n.flipNegate ? !1 : this.negate;
787
- }
788
- static defaults(e) {
789
- return S.defaults(e).Minimatch;
790
- }
791
- };
792
- S.AST = Re, S.Minimatch = T, S.escape = ze, S.unescape = x;
793
- var mt = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date, ht = /* @__PURE__ */ new Set(), gt = typeof process == "object" && process ? process : {}, _t = (e, t, n, r) => {
794
- typeof gt.emitWarning == "function" ? gt.emitWarning(e, t, n, r) : console.error(`[${n}] ${t}: ${e}`);
795
- }, vt = globalThis.AbortController, yt = globalThis.AbortSignal;
796
- if (typeof vt > "u") {
797
- yt = class {
798
- onabort;
799
- _onabort = [];
800
- reason;
801
- aborted = !1;
802
- addEventListener(e, t) {
803
- this._onabort.push(t);
804
- }
805
- }, vt = class {
806
- constructor() {
807
- t();
808
- }
809
- signal = new yt();
810
- abort(e) {
811
- if (!this.signal.aborted) {
812
- this.signal.reason = e, this.signal.aborted = !0;
813
- for (let t of this.signal._onabort) t(e);
814
- this.signal.onabort?.(e);
815
- }
816
- }
817
- };
818
- let e = gt.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1", t = () => {
819
- e && (e = !1, _t("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", t));
820
- };
821
- }
822
- var bt = (e) => !ht.has(e), E = (e) => e && e === Math.floor(e) && e > 0 && isFinite(e), xt = (e) => E(e) ? e <= 2 ** 8 ? Uint8Array : e <= 2 ** 16 ? Uint16Array : e <= 2 ** 32 ? Uint32Array : e <= 2 ** 53 - 1 ? St : null : null, St = class extends Array {
823
- constructor(e) {
824
- super(e), this.fill(0);
825
- }
826
- }, Ct = class e {
827
- heap;
828
- length;
829
- static #e = !1;
830
- static create(t) {
831
- let n = xt(t);
832
- if (!n) return [];
833
- e.#e = !0;
834
- let r = new e(t, n);
835
- return e.#e = !1, r;
836
- }
837
- constructor(t, n) {
838
- if (!e.#e) throw TypeError("instantiate Stack using Stack.create(n)");
839
- this.heap = new n(t), this.length = 0;
840
- }
841
- push(e) {
842
- this.heap[this.length++] = e;
843
- }
844
- pop() {
845
- return this.heap[--this.length];
846
- }
847
- }, wt = class e {
848
- #e;
849
- #t;
850
- #n;
851
- #r;
852
- #i;
853
- #a;
854
- #o;
855
- #s;
856
- get perf() {
857
- return this.#s;
858
- }
859
- ttl;
860
- ttlResolution;
861
- ttlAutopurge;
862
- updateAgeOnGet;
863
- updateAgeOnHas;
864
- allowStale;
865
- noDisposeOnSet;
866
- noUpdateTTL;
867
- maxEntrySize;
868
- sizeCalculation;
869
- noDeleteOnFetchRejection;
870
- noDeleteOnStaleGet;
871
- allowStaleOnFetchAbort;
872
- allowStaleOnFetchRejection;
873
- ignoreFetchAbort;
874
- #c;
875
- #l;
876
- #u;
877
- #d;
878
- #f;
879
- #p;
880
- #m;
881
- #h;
882
- #g;
883
- #_;
884
- #v;
885
- #y;
886
- #b;
887
- #x;
888
- #S;
889
- #C;
890
- #w;
891
- #T;
892
- #E;
893
- static unsafeExposeInternals(e) {
894
- return {
895
- starts: e.#b,
896
- ttls: e.#x,
897
- autopurgeTimers: e.#S,
898
- sizes: e.#y,
899
- keyMap: e.#u,
900
- keyList: e.#d,
901
- valList: e.#f,
902
- next: e.#p,
903
- prev: e.#m,
904
- get head() {
905
- return e.#h;
906
- },
907
- get tail() {
908
- return e.#g;
909
- },
910
- free: e.#_,
911
- isBackgroundFetch: (t) => e.#V(t),
912
- backgroundFetch: (t, n, r, i) => e.#B(t, n, r, i),
913
- moveToTail: (t) => e.#U(t),
914
- indexes: (t) => e.#I(t),
915
- rindexes: (t) => e.#L(t),
916
- isStale: (t) => e.#j(t)
917
- };
918
- }
919
- get max() {
920
- return this.#e;
921
- }
922
- get maxSize() {
923
- return this.#t;
924
- }
925
- get calculatedSize() {
926
- return this.#l;
927
- }
928
- get size() {
929
- return this.#c;
930
- }
931
- get fetchMethod() {
932
- return this.#a;
933
- }
934
- get memoMethod() {
935
- return this.#o;
936
- }
937
- get dispose() {
938
- return this.#n;
939
- }
940
- get onInsert() {
941
- return this.#r;
942
- }
943
- get disposeAfter() {
944
- return this.#i;
945
- }
946
- constructor(t) {
947
- let { max: n = 0, ttl: r, ttlResolution: i = 1, ttlAutopurge: a, updateAgeOnGet: o, updateAgeOnHas: s, allowStale: c, dispose: l, onInsert: u, disposeAfter: d, noDisposeOnSet: f, noUpdateTTL: p, maxSize: m = 0, maxEntrySize: ee = 0, sizeCalculation: h, fetchMethod: g, memoMethod: _, noDeleteOnFetchRejection: v, noDeleteOnStaleGet: te, allowStaleOnFetchRejection: ne, allowStaleOnFetchAbort: re, ignoreFetchAbort: ie, perf: ae } = t;
948
- if (ae !== void 0 && typeof ae?.now != "function") throw TypeError("perf option must have a now() method if specified");
949
- if (this.#s = ae ?? mt, n !== 0 && !E(n)) throw TypeError("max option must be a nonnegative integer");
950
- let oe = n ? xt(n) : Array;
951
- if (!oe) throw Error("invalid max value: " + n);
952
- if (this.#e = n, this.#t = m, this.maxEntrySize = ee || this.#t, this.sizeCalculation = h, this.sizeCalculation) {
953
- if (!this.#t && !this.maxEntrySize) throw TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
954
- if (typeof this.sizeCalculation != "function") throw TypeError("sizeCalculation set to non-function");
955
- }
956
- if (_ !== void 0 && typeof _ != "function") throw TypeError("memoMethod must be a function if defined");
957
- if (this.#o = _, g !== void 0 && typeof g != "function") throw TypeError("fetchMethod must be a function if specified");
958
- if (this.#a = g, this.#w = !!g, this.#u = /* @__PURE__ */ new Map(), this.#d = Array(n).fill(void 0), this.#f = Array(n).fill(void 0), this.#p = new oe(n), this.#m = new oe(n), this.#h = 0, this.#g = 0, this.#_ = Ct.create(n), this.#c = 0, this.#l = 0, typeof l == "function" && (this.#n = l), typeof u == "function" && (this.#r = u), typeof d == "function" ? (this.#i = d, this.#v = []) : (this.#i = void 0, this.#v = void 0), this.#C = !!this.#n, this.#E = !!this.#r, this.#T = !!this.#i, this.noDisposeOnSet = !!f, this.noUpdateTTL = !!p, this.noDeleteOnFetchRejection = !!v, this.allowStaleOnFetchRejection = !!ne, this.allowStaleOnFetchAbort = !!re, this.ignoreFetchAbort = !!ie, this.maxEntrySize !== 0) {
959
- if (this.#t !== 0 && !E(this.#t)) throw TypeError("maxSize must be a positive integer if specified");
960
- if (!E(this.maxEntrySize)) throw TypeError("maxEntrySize must be a positive integer if specified");
961
- this.#M();
962
- }
963
- if (this.allowStale = !!c, this.noDeleteOnStaleGet = !!te, this.updateAgeOnGet = !!o, this.updateAgeOnHas = !!s, this.ttlResolution = E(i) || i === 0 ? i : 1, this.ttlAutopurge = !!a, this.ttl = r || 0, this.ttl) {
964
- if (!E(this.ttl)) throw TypeError("ttl must be a positive integer if specified");
965
- this.#D();
966
- }
967
- if (this.#e === 0 && this.ttl === 0 && this.#t === 0) throw TypeError("At least one of max, maxSize, or ttl is required");
968
- if (!this.ttlAutopurge && !this.#e && !this.#t) {
969
- let t = "LRU_CACHE_UNBOUNDED";
970
- bt(t) && (ht.add(t), _t("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", t, e));
971
- }
972
- }
973
- getRemainingTTL(e) {
974
- return this.#u.has(e) ? Infinity : 0;
975
- }
976
- #D() {
977
- let e = new St(this.#e), t = new St(this.#e);
978
- this.#x = e, this.#b = t;
979
- let n = this.ttlAutopurge ? Array(this.#e) : void 0;
980
- this.#S = n, this.#A = (r, i, a = this.#s.now()) => {
981
- if (t[r] = i === 0 ? 0 : a, e[r] = i, n?.[r] && (clearTimeout(n[r]), n[r] = void 0), i !== 0 && n) {
982
- let e = setTimeout(() => {
983
- this.#j(r) && this.#W(this.#d[r], "expire");
984
- }, i + 1);
985
- e.unref && e.unref(), n[r] = e;
986
- }
987
- }, this.#O = (n) => {
988
- t[n] = e[n] === 0 ? 0 : this.#s.now();
989
- }, this.#k = (n, a) => {
990
- if (e[a]) {
991
- let o = e[a], s = t[a];
992
- if (!o || !s) return;
993
- n.ttl = o, n.start = s, n.now = r || i(), n.remainingTTL = o - (n.now - s);
994
- }
995
- };
996
- let r = 0, i = () => {
997
- let e = this.#s.now();
998
- if (this.ttlResolution > 0) {
999
- r = e;
1000
- let t = setTimeout(() => r = 0, this.ttlResolution);
1001
- t.unref && t.unref();
1002
- }
1003
- return e;
1004
- };
1005
- this.getRemainingTTL = (n) => {
1006
- let a = this.#u.get(n);
1007
- if (a === void 0) return 0;
1008
- let o = e[a], s = t[a];
1009
- return !o || !s ? Infinity : o - ((r || i()) - s);
1010
- }, this.#j = (n) => {
1011
- let a = t[n], o = e[n];
1012
- return !!o && !!a && (r || i()) - a > o;
1013
- };
1014
- }
1015
- #O = () => {};
1016
- #k = () => {};
1017
- #A = () => {};
1018
- #j = () => !1;
1019
- #M() {
1020
- let e = new St(this.#e);
1021
- this.#l = 0, this.#y = e, this.#N = (t) => {
1022
- this.#l -= e[t], e[t] = 0;
1023
- }, this.#F = (e, t, n, r) => {
1024
- if (this.#V(t)) return 0;
1025
- if (!E(n)) if (r) {
1026
- if (typeof r != "function") throw TypeError("sizeCalculation must be a function");
1027
- if (n = r(t, e), !E(n)) throw TypeError("sizeCalculation return invalid (expect positive integer)");
1028
- } else throw TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
1029
- return n;
1030
- }, this.#P = (t, n, r) => {
1031
- if (e[t] = n, this.#t) {
1032
- let n = this.#t - e[t];
1033
- for (; this.#l > n;) this.#z(!0);
1034
- }
1035
- this.#l += e[t], r && (r.entrySize = n, r.totalCalculatedSize = this.#l);
1036
- };
1037
- }
1038
- #N = (e) => {};
1039
- #P = (e, t, n) => {};
1040
- #F = (e, t, n, r) => {
1041
- if (n || r) throw TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
1042
- return 0;
1043
- };
1044
- *#I({ allowStale: e = this.allowStale } = {}) {
1045
- if (this.#c) for (let t = this.#g; !(!this.#R(t) || ((e || !this.#j(t)) && (yield t), t === this.#h));) t = this.#m[t];
1046
- }
1047
- *#L({ allowStale: e = this.allowStale } = {}) {
1048
- if (this.#c) for (let t = this.#h; !(!this.#R(t) || ((e || !this.#j(t)) && (yield t), t === this.#g));) t = this.#p[t];
1049
- }
1050
- #R(e) {
1051
- return e !== void 0 && this.#u.get(this.#d[e]) === e;
1052
- }
1053
- *entries() {
1054
- for (let e of this.#I()) this.#f[e] !== void 0 && this.#d[e] !== void 0 && !this.#V(this.#f[e]) && (yield [this.#d[e], this.#f[e]]);
1055
- }
1056
- *rentries() {
1057
- for (let e of this.#L()) this.#f[e] !== void 0 && this.#d[e] !== void 0 && !this.#V(this.#f[e]) && (yield [this.#d[e], this.#f[e]]);
1058
- }
1059
- *keys() {
1060
- for (let e of this.#I()) {
1061
- let t = this.#d[e];
1062
- t !== void 0 && !this.#V(this.#f[e]) && (yield t);
1063
- }
1064
- }
1065
- *rkeys() {
1066
- for (let e of this.#L()) {
1067
- let t = this.#d[e];
1068
- t !== void 0 && !this.#V(this.#f[e]) && (yield t);
1069
- }
1070
- }
1071
- *values() {
1072
- for (let e of this.#I()) this.#f[e] !== void 0 && !this.#V(this.#f[e]) && (yield this.#f[e]);
1073
- }
1074
- *rvalues() {
1075
- for (let e of this.#L()) this.#f[e] !== void 0 && !this.#V(this.#f[e]) && (yield this.#f[e]);
1076
- }
1077
- [Symbol.iterator]() {
1078
- return this.entries();
1079
- }
1080
- [Symbol.toStringTag] = "LRUCache";
1081
- find(e, t = {}) {
1082
- for (let n of this.#I()) {
1083
- let r = this.#f[n], i = this.#V(r) ? r.__staleWhileFetching : r;
1084
- if (i !== void 0 && e(i, this.#d[n], this)) return this.get(this.#d[n], t);
1085
- }
1086
- }
1087
- forEach(e, t = this) {
1088
- for (let n of this.#I()) {
1089
- let r = this.#f[n], i = this.#V(r) ? r.__staleWhileFetching : r;
1090
- i !== void 0 && e.call(t, i, this.#d[n], this);
1091
- }
1092
- }
1093
- rforEach(e, t = this) {
1094
- for (let n of this.#L()) {
1095
- let r = this.#f[n], i = this.#V(r) ? r.__staleWhileFetching : r;
1096
- i !== void 0 && e.call(t, i, this.#d[n], this);
1097
- }
1098
- }
1099
- purgeStale() {
1100
- let e = !1;
1101
- for (let t of this.#L({ allowStale: !0 })) this.#j(t) && (this.#W(this.#d[t], "expire"), e = !0);
1102
- return e;
1103
- }
1104
- info(e) {
1105
- let t = this.#u.get(e);
1106
- if (t === void 0) return;
1107
- let n = this.#f[t], r = this.#V(n) ? n.__staleWhileFetching : n;
1108
- if (r === void 0) return;
1109
- let i = { value: r };
1110
- if (this.#x && this.#b) {
1111
- let e = this.#x[t], n = this.#b[t];
1112
- e && n && (i.ttl = e - (this.#s.now() - n), i.start = Date.now());
1113
- }
1114
- return this.#y && (i.size = this.#y[t]), i;
1115
- }
1116
- dump() {
1117
- let e = [];
1118
- for (let t of this.#I({ allowStale: !0 })) {
1119
- let n = this.#d[t], r = this.#f[t], i = this.#V(r) ? r.__staleWhileFetching : r;
1120
- if (i === void 0 || n === void 0) continue;
1121
- let a = { value: i };
1122
- if (this.#x && this.#b) {
1123
- a.ttl = this.#x[t];
1124
- let e = this.#s.now() - this.#b[t];
1125
- a.start = Math.floor(Date.now() - e);
1126
- }
1127
- this.#y && (a.size = this.#y[t]), e.unshift([n, a]);
1128
- }
1129
- return e;
1130
- }
1131
- load(e) {
1132
- this.clear();
1133
- for (let [t, n] of e) {
1134
- if (n.start) {
1135
- let e = Date.now() - n.start;
1136
- n.start = this.#s.now() - e;
1137
- }
1138
- this.set(t, n.value, n);
1139
- }
1140
- }
1141
- set(e, t, n = {}) {
1142
- if (t === void 0) return this.delete(e), this;
1143
- let { ttl: r = this.ttl, start: i, noDisposeOnSet: a = this.noDisposeOnSet, sizeCalculation: o = this.sizeCalculation, status: s } = n, { noUpdateTTL: c = this.noUpdateTTL } = n, l = this.#F(e, t, n.size || 0, o);
1144
- if (this.maxEntrySize && l > this.maxEntrySize) return s && (s.set = "miss", s.maxEntrySizeExceeded = !0), this.#W(e, "set"), this;
1145
- let u = this.#c === 0 ? void 0 : this.#u.get(e);
1146
- if (u === void 0) u = this.#c === 0 ? this.#g : this.#_.length === 0 ? this.#c === this.#e ? this.#z(!1) : this.#c : this.#_.pop(), this.#d[u] = e, this.#f[u] = t, this.#u.set(e, u), this.#p[this.#g] = u, this.#m[u] = this.#g, this.#g = u, this.#c++, this.#P(u, l, s), s && (s.set = "add"), c = !1, this.#E && this.#r?.(t, e, "add");
1147
- else {
1148
- this.#U(u);
1149
- let n = this.#f[u];
1150
- if (t !== n) {
1151
- if (this.#w && this.#V(n)) {
1152
- n.__abortController.abort(/* @__PURE__ */ Error("replaced"));
1153
- let { __staleWhileFetching: t } = n;
1154
- t !== void 0 && !a && (this.#C && this.#n?.(t, e, "set"), this.#T && this.#v?.push([
1155
- t,
1156
- e,
1157
- "set"
1158
- ]));
1159
- } else a || (this.#C && this.#n?.(n, e, "set"), this.#T && this.#v?.push([
1160
- n,
1161
- e,
1162
- "set"
1163
- ]));
1164
- if (this.#N(u), this.#P(u, l, s), this.#f[u] = t, s) {
1165
- s.set = "replace";
1166
- let e = n && this.#V(n) ? n.__staleWhileFetching : n;
1167
- e !== void 0 && (s.oldValue = e);
1168
- }
1169
- } else s && (s.set = "update");
1170
- this.#E && this.onInsert?.(t, e, t === n ? "update" : "replace");
1171
- }
1172
- if (r !== 0 && !this.#x && this.#D(), this.#x && (c || this.#A(u, r, i), s && this.#k(s, u)), !a && this.#T && this.#v) {
1173
- let e = this.#v, t;
1174
- for (; t = e?.shift();) this.#i?.(...t);
1175
- }
1176
- return this;
1177
- }
1178
- pop() {
1179
- try {
1180
- for (; this.#c;) {
1181
- let e = this.#f[this.#h];
1182
- if (this.#z(!0), this.#V(e)) {
1183
- if (e.__staleWhileFetching) return e.__staleWhileFetching;
1184
- } else if (e !== void 0) return e;
1185
- }
1186
- } finally {
1187
- if (this.#T && this.#v) {
1188
- let e = this.#v, t;
1189
- for (; t = e?.shift();) this.#i?.(...t);
1190
- }
1191
- }
1192
- }
1193
- #z(e) {
1194
- let t = this.#h, n = this.#d[t], r = this.#f[t];
1195
- return this.#w && this.#V(r) ? r.__abortController.abort(/* @__PURE__ */ Error("evicted")) : (this.#C || this.#T) && (this.#C && this.#n?.(r, n, "evict"), this.#T && this.#v?.push([
1196
- r,
1197
- n,
1198
- "evict"
1199
- ])), this.#N(t), this.#S?.[t] && (clearTimeout(this.#S[t]), this.#S[t] = void 0), e && (this.#d[t] = void 0, this.#f[t] = void 0, this.#_.push(t)), this.#c === 1 ? (this.#h = this.#g = 0, this.#_.length = 0) : this.#h = this.#p[t], this.#u.delete(n), this.#c--, t;
1200
- }
1201
- has(e, t = {}) {
1202
- let { updateAgeOnHas: n = this.updateAgeOnHas, status: r } = t, i = this.#u.get(e);
1203
- if (i !== void 0) {
1204
- let e = this.#f[i];
1205
- if (this.#V(e) && e.__staleWhileFetching === void 0) return !1;
1206
- if (this.#j(i)) r && (r.has = "stale", this.#k(r, i));
1207
- else return n && this.#O(i), r && (r.has = "hit", this.#k(r, i)), !0;
1208
- } else r && (r.has = "miss");
1209
- return !1;
1210
- }
1211
- peek(e, t = {}) {
1212
- let { allowStale: n = this.allowStale } = t, r = this.#u.get(e);
1213
- if (r === void 0 || !n && this.#j(r)) return;
1214
- let i = this.#f[r];
1215
- return this.#V(i) ? i.__staleWhileFetching : i;
1216
- }
1217
- #B(e, t, n, r) {
1218
- let i = t === void 0 ? void 0 : this.#f[t];
1219
- if (this.#V(i)) return i;
1220
- let a = new vt(), { signal: o } = n;
1221
- o?.addEventListener("abort", () => a.abort(o.reason), { signal: a.signal });
1222
- let s = {
1223
- signal: a.signal,
1224
- options: n,
1225
- context: r
1226
- }, c = (r, i = !1) => {
1227
- let { aborted: o } = a.signal, c = n.ignoreFetchAbort && r !== void 0, l = n.ignoreFetchAbort || !!(n.allowStaleOnFetchAbort && r !== void 0);
1228
- if (n.status && (o && !i ? (n.status.fetchAborted = !0, n.status.fetchError = a.signal.reason, c && (n.status.fetchAbortIgnored = !0)) : n.status.fetchResolved = !0), o && !c && !i) return u(a.signal.reason, l);
1229
- let d = f, p = this.#f[t];
1230
- return (p === f || c && i && p === void 0) && (r === void 0 ? d.__staleWhileFetching === void 0 ? this.#W(e, "fetch") : this.#f[t] = d.__staleWhileFetching : (n.status && (n.status.fetchUpdated = !0), this.set(e, r, s.options))), r;
1231
- }, l = (e) => (n.status && (n.status.fetchRejected = !0, n.status.fetchError = e), u(e, !1)), u = (r, i) => {
1232
- let { aborted: o } = a.signal, s = o && n.allowStaleOnFetchAbort, c = s || n.allowStaleOnFetchRejection, l = c || n.noDeleteOnFetchRejection, u = f;
1233
- if (this.#f[t] === f && (!l || !i && u.__staleWhileFetching === void 0 ? this.#W(e, "fetch") : s || (this.#f[t] = u.__staleWhileFetching)), c) return n.status && u.__staleWhileFetching !== void 0 && (n.status.returnedStale = !0), u.__staleWhileFetching;
1234
- if (u.__returned === u) throw r;
1235
- }, d = (t, r) => {
1236
- let o = this.#a?.(e, i, s);
1237
- o && o instanceof Promise && o.then((e) => t(e === void 0 ? void 0 : e), r), a.signal.addEventListener("abort", () => {
1238
- (!n.ignoreFetchAbort || n.allowStaleOnFetchAbort) && (t(void 0), n.allowStaleOnFetchAbort && (t = (e) => c(e, !0)));
1239
- });
1240
- };
1241
- n.status && (n.status.fetchDispatched = !0);
1242
- let f = new Promise(d).then(c, l), p = Object.assign(f, {
1243
- __abortController: a,
1244
- __staleWhileFetching: i,
1245
- __returned: void 0
1246
- });
1247
- return t === void 0 ? (this.set(e, p, {
1248
- ...s.options,
1249
- status: void 0
1250
- }), t = this.#u.get(e)) : this.#f[t] = p, p;
1251
- }
1252
- #V(e) {
1253
- if (!this.#w) return !1;
1254
- let t = e;
1255
- return !!t && t instanceof Promise && t.hasOwnProperty("__staleWhileFetching") && t.__abortController instanceof vt;
1256
- }
1257
- async fetch(e, t = {}) {
1258
- let { allowStale: n = this.allowStale, updateAgeOnGet: r = this.updateAgeOnGet, noDeleteOnStaleGet: i = this.noDeleteOnStaleGet, ttl: a = this.ttl, noDisposeOnSet: o = this.noDisposeOnSet, size: s = 0, sizeCalculation: c = this.sizeCalculation, noUpdateTTL: l = this.noUpdateTTL, noDeleteOnFetchRejection: u = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection: d = this.allowStaleOnFetchRejection, ignoreFetchAbort: f = this.ignoreFetchAbort, allowStaleOnFetchAbort: p = this.allowStaleOnFetchAbort, context: m, forceRefresh: ee = !1, status: h, signal: g } = t;
1259
- if (!this.#w) return h && (h.fetch = "get"), this.get(e, {
1260
- allowStale: n,
1261
- updateAgeOnGet: r,
1262
- noDeleteOnStaleGet: i,
1263
- status: h
1264
- });
1265
- let _ = {
1266
- allowStale: n,
1267
- updateAgeOnGet: r,
1268
- noDeleteOnStaleGet: i,
1269
- ttl: a,
1270
- noDisposeOnSet: o,
1271
- size: s,
1272
- sizeCalculation: c,
1273
- noUpdateTTL: l,
1274
- noDeleteOnFetchRejection: u,
1275
- allowStaleOnFetchRejection: d,
1276
- allowStaleOnFetchAbort: p,
1277
- ignoreFetchAbort: f,
1278
- status: h,
1279
- signal: g
1280
- }, v = this.#u.get(e);
1281
- if (v === void 0) {
1282
- h && (h.fetch = "miss");
1283
- let t = this.#B(e, v, _, m);
1284
- return t.__returned = t;
1285
- } else {
1286
- let t = this.#f[v];
1287
- if (this.#V(t)) {
1288
- let e = n && t.__staleWhileFetching !== void 0;
1289
- return h && (h.fetch = "inflight", e && (h.returnedStale = !0)), e ? t.__staleWhileFetching : t.__returned = t;
1290
- }
1291
- let i = this.#j(v);
1292
- if (!ee && !i) return h && (h.fetch = "hit"), this.#U(v), r && this.#O(v), h && this.#k(h, v), t;
1293
- let a = this.#B(e, v, _, m), o = a.__staleWhileFetching !== void 0 && n;
1294
- return h && (h.fetch = i ? "stale" : "refresh", o && i && (h.returnedStale = !0)), o ? a.__staleWhileFetching : a.__returned = a;
1295
- }
1296
- }
1297
- async forceFetch(e, t = {}) {
1298
- let n = await this.fetch(e, t);
1299
- if (n === void 0) throw Error("fetch() returned undefined");
1300
- return n;
1301
- }
1302
- memo(e, t = {}) {
1303
- let n = this.#o;
1304
- if (!n) throw Error("no memoMethod provided to constructor");
1305
- let { context: r, forceRefresh: i, ...a } = t, o = this.get(e, a);
1306
- if (!i && o !== void 0) return o;
1307
- let s = n(e, o, {
1308
- options: a,
1309
- context: r
1310
- });
1311
- return this.set(e, s, a), s;
1312
- }
1313
- get(e, t = {}) {
1314
- let { allowStale: n = this.allowStale, updateAgeOnGet: r = this.updateAgeOnGet, noDeleteOnStaleGet: i = this.noDeleteOnStaleGet, status: a } = t, o = this.#u.get(e);
1315
- if (o !== void 0) {
1316
- let t = this.#f[o], s = this.#V(t);
1317
- return a && this.#k(a, o), this.#j(o) ? (a && (a.get = "stale"), s ? (a && n && t.__staleWhileFetching !== void 0 && (a.returnedStale = !0), n ? t.__staleWhileFetching : void 0) : (i || this.#W(e, "expire"), a && n && (a.returnedStale = !0), n ? t : void 0)) : (a && (a.get = "hit"), s ? t.__staleWhileFetching : (this.#U(o), r && this.#O(o), t));
1318
- } else a && (a.get = "miss");
1319
- }
1320
- #H(e, t) {
1321
- this.#m[t] = e, this.#p[e] = t;
1322
- }
1323
- #U(e) {
1324
- e !== this.#g && (e === this.#h ? this.#h = this.#p[e] : this.#H(this.#m[e], this.#p[e]), this.#H(this.#g, e), this.#g = e);
1325
- }
1326
- delete(e) {
1327
- return this.#W(e, "delete");
1328
- }
1329
- #W(e, t) {
1330
- let n = !1;
1331
- if (this.#c !== 0) {
1332
- let r = this.#u.get(e);
1333
- if (r !== void 0) if (this.#S?.[r] && (clearTimeout(this.#S?.[r]), this.#S[r] = void 0), n = !0, this.#c === 1) this.#G(t);
1334
- else {
1335
- this.#N(r);
1336
- let n = this.#f[r];
1337
- if (this.#V(n) ? n.__abortController.abort(/* @__PURE__ */ Error("deleted")) : (this.#C || this.#T) && (this.#C && this.#n?.(n, e, t), this.#T && this.#v?.push([
1338
- n,
1339
- e,
1340
- t
1341
- ])), this.#u.delete(e), this.#d[r] = void 0, this.#f[r] = void 0, r === this.#g) this.#g = this.#m[r];
1342
- else if (r === this.#h) this.#h = this.#p[r];
1343
- else {
1344
- let e = this.#m[r];
1345
- this.#p[e] = this.#p[r];
1346
- let t = this.#p[r];
1347
- this.#m[t] = this.#m[r];
1348
- }
1349
- this.#c--, this.#_.push(r);
1350
- }
1351
- }
1352
- if (this.#T && this.#v?.length) {
1353
- let e = this.#v, t;
1354
- for (; t = e?.shift();) this.#i?.(...t);
1355
- }
1356
- return n;
1357
- }
1358
- clear() {
1359
- return this.#G("delete");
1360
- }
1361
- #G(e) {
1362
- for (let t of this.#L({ allowStale: !0 })) {
1363
- let n = this.#f[t];
1364
- if (this.#V(n)) n.__abortController.abort(/* @__PURE__ */ Error("deleted"));
1365
- else {
1366
- let r = this.#d[t];
1367
- this.#C && this.#n?.(n, r, e), this.#T && this.#v?.push([
1368
- n,
1369
- r,
1370
- e
1371
- ]);
1372
- }
1373
- }
1374
- if (this.#u.clear(), this.#f.fill(void 0), this.#d.fill(void 0), this.#x && this.#b) {
1375
- this.#x.fill(0), this.#b.fill(0);
1376
- for (let e of this.#S ?? []) e !== void 0 && clearTimeout(e);
1377
- this.#S?.fill(void 0);
1378
- }
1379
- if (this.#y && this.#y.fill(0), this.#h = 0, this.#g = 0, this.#_.length = 0, this.#l = 0, this.#c = 0, this.#T && this.#v) {
1380
- let e = this.#v, t;
1381
- for (; t = e?.shift();) this.#i?.(...t);
1382
- }
1383
- }
1384
- }, Tt = typeof process == "object" && process ? process : {
1385
- stdout: null,
1386
- stderr: null
1387
- }, Et = (e) => !!e && typeof e == "object" && (e instanceof Xt || e instanceof u || Dt(e) || Ot(e)), Dt = (e) => !!e && typeof e == "object" && e instanceof l && typeof e.pipe == "function" && e.pipe !== u.Writable.prototype.pipe, Ot = (e) => !!e && typeof e == "object" && e instanceof l && typeof e.write == "function" && typeof e.end == "function", D = Symbol("EOF"), O = Symbol("maybeEmitEnd"), k = Symbol("emittedEnd"), kt = Symbol("emittingEnd"), A = Symbol("emittedError"), At = Symbol("closed"), jt = Symbol("read"), Mt = Symbol("flush"), Nt = Symbol("flushChunk"), j = Symbol("encoding"), M = Symbol("decoder"), N = Symbol("flowing"), P = Symbol("paused"), F = Symbol("resume"), I = Symbol("buffer"), L = Symbol("pipes"), R = Symbol("bufferLength"), Pt = Symbol("bufferPush"), Ft = Symbol("bufferShift"), z = Symbol("objectMode"), B = Symbol("destroyed"), It = Symbol("error"), Lt = Symbol("emitData"), Rt = Symbol("emitEnd"), zt = Symbol("emitEnd2"), V = Symbol("async"), Bt = Symbol("abort"), Vt = Symbol("aborted"), H = Symbol("signal"), U = Symbol("dataListeners"), W = Symbol("discarded"), G = (e) => Promise.resolve().then(e), Ht = (e) => e(), Ut = (e) => e === "end" || e === "finish" || e === "prefinish", Wt = (e) => e instanceof ArrayBuffer || !!e && typeof e == "object" && e.constructor && e.constructor.name === "ArrayBuffer" && e.byteLength >= 0, Gt = (e) => !Buffer.isBuffer(e) && ArrayBuffer.isView(e), Kt = class {
1388
- src;
1389
- dest;
1390
- opts;
1391
- ondrain;
1392
- constructor(e, t, n) {
1393
- this.src = e, this.dest = t, this.opts = n, this.ondrain = () => e[F](), this.dest.on("drain", this.ondrain);
1394
- }
1395
- unpipe() {
1396
- this.dest.removeListener("drain", this.ondrain);
1397
- }
1398
- proxyErrors(e) {}
1399
- end() {
1400
- this.unpipe(), this.opts.end && this.dest.end();
1401
- }
1402
- }, qt = class extends Kt {
1403
- unpipe() {
1404
- this.src.removeListener("error", this.proxyErrors), super.unpipe();
1405
- }
1406
- constructor(e, t, n) {
1407
- super(e, t, n), this.proxyErrors = (e) => this.dest.emit("error", e), e.on("error", this.proxyErrors);
1408
- }
1409
- }, Jt = (e) => !!e.objectMode, Yt = (e) => !e.objectMode && !!e.encoding && e.encoding !== "buffer", Xt = class extends l {
1410
- [N] = !1;
1411
- [P] = !1;
1412
- [L] = [];
1413
- [I] = [];
1414
- [z];
1415
- [j];
1416
- [V];
1417
- [M];
1418
- [D] = !1;
1419
- [k] = !1;
1420
- [kt] = !1;
1421
- [At] = !1;
1422
- [A] = null;
1423
- [R] = 0;
1424
- [B] = !1;
1425
- [H];
1426
- [Vt] = !1;
1427
- [U] = 0;
1428
- [W] = !1;
1429
- writable = !0;
1430
- readable = !0;
1431
- constructor(...e) {
1432
- let t = e[0] || {};
1433
- if (super(), t.objectMode && typeof t.encoding == "string") throw TypeError("Encoding and objectMode may not be used together");
1434
- Jt(t) ? (this[z] = !0, this[j] = null) : Yt(t) ? (this[j] = t.encoding, this[z] = !1) : (this[z] = !1, this[j] = null), this[V] = !!t.async, this[M] = this[j] ? new d(this[j]) : null, t && t.debugExposeBuffer === !0 && Object.defineProperty(this, "buffer", { get: () => this[I] }), t && t.debugExposePipes === !0 && Object.defineProperty(this, "pipes", { get: () => this[L] });
1435
- let { signal: n } = t;
1436
- n && (this[H] = n, n.aborted ? this[Bt]() : n.addEventListener("abort", () => this[Bt]()));
1437
- }
1438
- get bufferLength() {
1439
- return this[R];
1440
- }
1441
- get encoding() {
1442
- return this[j];
1443
- }
1444
- set encoding(e) {
1445
- throw Error("Encoding must be set at instantiation time");
1446
- }
1447
- setEncoding(e) {
1448
- throw Error("Encoding must be set at instantiation time");
1449
- }
1450
- get objectMode() {
1451
- return this[z];
1452
- }
1453
- set objectMode(e) {
1454
- throw Error("objectMode must be set at instantiation time");
1455
- }
1456
- get async() {
1457
- return this[V];
1458
- }
1459
- set async(e) {
1460
- this[V] = this[V] || !!e;
1461
- }
1462
- [Bt]() {
1463
- this[Vt] = !0, this.emit("abort", this[H]?.reason), this.destroy(this[H]?.reason);
1464
- }
1465
- get aborted() {
1466
- return this[Vt];
1467
- }
1468
- set aborted(e) {}
1469
- write(e, t, n) {
1470
- if (this[Vt]) return !1;
1471
- if (this[D]) throw Error("write after end");
1472
- if (this[B]) return this.emit("error", Object.assign(/* @__PURE__ */ Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" })), !0;
1473
- typeof t == "function" && (n = t, t = "utf8"), t ||= "utf8";
1474
- let r = this[V] ? G : Ht;
1475
- if (!this[z] && !Buffer.isBuffer(e)) {
1476
- if (Gt(e)) e = Buffer.from(e.buffer, e.byteOffset, e.byteLength);
1477
- else if (Wt(e)) e = Buffer.from(e);
1478
- else if (typeof e != "string") throw Error("Non-contiguous data written to non-objectMode stream");
1479
- }
1480
- return this[z] ? (this[N] && this[R] !== 0 && this[Mt](!0), this[N] ? this.emit("data", e) : this[Pt](e), this[R] !== 0 && this.emit("readable"), n && r(n), this[N]) : e.length ? (typeof e == "string" && !(t === this[j] && !this[M]?.lastNeed) && (e = Buffer.from(e, t)), Buffer.isBuffer(e) && this[j] && (e = this[M].write(e)), this[N] && this[R] !== 0 && this[Mt](!0), this[N] ? this.emit("data", e) : this[Pt](e), this[R] !== 0 && this.emit("readable"), n && r(n), this[N]) : (this[R] !== 0 && this.emit("readable"), n && r(n), this[N]);
1481
- }
1482
- read(e) {
1483
- if (this[B]) return null;
1484
- if (this[W] = !1, this[R] === 0 || e === 0 || e && e > this[R]) return this[O](), null;
1485
- this[z] && (e = null), this[I].length > 1 && !this[z] && (this[I] = [this[j] ? this[I].join("") : Buffer.concat(this[I], this[R])]);
1486
- let t = this[jt](e || null, this[I][0]);
1487
- return this[O](), t;
1488
- }
1489
- [jt](e, t) {
1490
- if (this[z]) this[Ft]();
1491
- else {
1492
- let n = t;
1493
- e === n.length || e === null ? this[Ft]() : typeof n == "string" ? (this[I][0] = n.slice(e), t = n.slice(0, e), this[R] -= e) : (this[I][0] = n.subarray(e), t = n.subarray(0, e), this[R] -= e);
1494
- }
1495
- return this.emit("data", t), !this[I].length && !this[D] && this.emit("drain"), t;
1496
- }
1497
- end(e, t, n) {
1498
- return typeof e == "function" && (n = e, e = void 0), typeof t == "function" && (n = t, t = "utf8"), e !== void 0 && this.write(e, t), n && this.once("end", n), this[D] = !0, this.writable = !1, (this[N] || !this[P]) && this[O](), this;
1499
- }
1500
- [F]() {
1501
- this[B] || (!this[U] && !this[L].length && (this[W] = !0), this[P] = !1, this[N] = !0, this.emit("resume"), this[I].length ? this[Mt]() : this[D] ? this[O]() : this.emit("drain"));
1502
- }
1503
- resume() {
1504
- return this[F]();
1505
- }
1506
- pause() {
1507
- this[N] = !1, this[P] = !0, this[W] = !1;
1508
- }
1509
- get destroyed() {
1510
- return this[B];
1511
- }
1512
- get flowing() {
1513
- return this[N];
1514
- }
1515
- get paused() {
1516
- return this[P];
1517
- }
1518
- [Pt](e) {
1519
- this[z] ? this[R] += 1 : this[R] += e.length, this[I].push(e);
1520
- }
1521
- [Ft]() {
1522
- return this[z] ? --this[R] : this[R] -= this[I][0].length, this[I].shift();
1523
- }
1524
- [Mt](e = !1) {
1525
- do ;
1526
- while (this[Nt](this[Ft]()) && this[I].length);
1527
- !e && !this[I].length && !this[D] && this.emit("drain");
1528
- }
1529
- [Nt](e) {
1530
- return this.emit("data", e), this[N];
1531
- }
1532
- pipe(e, t) {
1533
- if (this[B]) return e;
1534
- this[W] = !1;
1535
- let n = this[k];
1536
- return t ||= {}, e === Tt.stdout || e === Tt.stderr ? t.end = !1 : t.end = t.end !== !1, t.proxyErrors = !!t.proxyErrors, n ? t.end && e.end() : (this[L].push(t.proxyErrors ? new qt(this, e, t) : new Kt(this, e, t)), this[V] ? G(() => this[F]()) : this[F]()), e;
1537
- }
1538
- unpipe(e) {
1539
- let t = this[L].find((t) => t.dest === e);
1540
- t && (this[L].length === 1 ? (this[N] && this[U] === 0 && (this[N] = !1), this[L] = []) : this[L].splice(this[L].indexOf(t), 1), t.unpipe());
1541
- }
1542
- addListener(e, t) {
1543
- return this.on(e, t);
1544
- }
1545
- on(e, t) {
1546
- let n = super.on(e, t);
1547
- if (e === "data") this[W] = !1, this[U]++, !this[L].length && !this[N] && this[F]();
1548
- else if (e === "readable" && this[R] !== 0) super.emit("readable");
1549
- else if (Ut(e) && this[k]) super.emit(e), this.removeAllListeners(e);
1550
- else if (e === "error" && this[A]) {
1551
- let e = t;
1552
- this[V] ? G(() => e.call(this, this[A])) : e.call(this, this[A]);
1553
- }
1554
- return n;
1555
- }
1556
- removeListener(e, t) {
1557
- return this.off(e, t);
1558
- }
1559
- off(e, t) {
1560
- let n = super.off(e, t);
1561
- return e === "data" && (this[U] = this.listeners("data").length, this[U] === 0 && !this[W] && !this[L].length && (this[N] = !1)), n;
1562
- }
1563
- removeAllListeners(e) {
1564
- let t = super.removeAllListeners(e);
1565
- return (e === "data" || e === void 0) && (this[U] = 0, !this[W] && !this[L].length && (this[N] = !1)), t;
1566
- }
1567
- get emittedEnd() {
1568
- return this[k];
1569
- }
1570
- [O]() {
1571
- !this[kt] && !this[k] && !this[B] && this[I].length === 0 && this[D] && (this[kt] = !0, this.emit("end"), this.emit("prefinish"), this.emit("finish"), this[At] && this.emit("close"), this[kt] = !1);
1572
- }
1573
- emit(e, ...t) {
1574
- let n = t[0];
1575
- if (e !== "error" && e !== "close" && e !== B && this[B]) return !1;
1576
- if (e === "data") return !this[z] && !n ? !1 : this[V] ? (G(() => this[Lt](n)), !0) : this[Lt](n);
1577
- if (e === "end") return this[Rt]();
1578
- if (e === "close") {
1579
- if (this[At] = !0, !this[k] && !this[B]) return !1;
1580
- let e = super.emit("close");
1581
- return this.removeAllListeners("close"), e;
1582
- } else if (e === "error") {
1583
- this[A] = n, super.emit(It, n);
1584
- let e = !this[H] || this.listeners("error").length ? super.emit("error", n) : !1;
1585
- return this[O](), e;
1586
- } else if (e === "resume") {
1587
- let e = super.emit("resume");
1588
- return this[O](), e;
1589
- } else if (e === "finish" || e === "prefinish") {
1590
- let t = super.emit(e);
1591
- return this.removeAllListeners(e), t;
1592
- }
1593
- let r = super.emit(e, ...t);
1594
- return this[O](), r;
1595
- }
1596
- [Lt](e) {
1597
- for (let t of this[L]) t.dest.write(e) === !1 && this.pause();
1598
- let t = this[W] ? !1 : super.emit("data", e);
1599
- return this[O](), t;
1600
- }
1601
- [Rt]() {
1602
- return this[k] ? !1 : (this[k] = !0, this.readable = !1, this[V] ? (G(() => this[zt]()), !0) : this[zt]());
1603
- }
1604
- [zt]() {
1605
- if (this[M]) {
1606
- let e = this[M].end();
1607
- if (e) {
1608
- for (let t of this[L]) t.dest.write(e);
1609
- this[W] || super.emit("data", e);
1610
- }
1611
- }
1612
- for (let e of this[L]) e.end();
1613
- let e = super.emit("end");
1614
- return this.removeAllListeners("end"), e;
1615
- }
1616
- async collect() {
1617
- let e = Object.assign([], { dataLength: 0 });
1618
- this[z] || (e.dataLength = 0);
1619
- let t = this.promise();
1620
- return this.on("data", (t) => {
1621
- e.push(t), this[z] || (e.dataLength += t.length);
1622
- }), await t, e;
1623
- }
1624
- async concat() {
1625
- if (this[z]) throw Error("cannot concat in objectMode");
1626
- let e = await this.collect();
1627
- return this[j] ? e.join("") : Buffer.concat(e, e.dataLength);
1628
- }
1629
- async promise() {
1630
- return new Promise((e, t) => {
1631
- this.on(B, () => t(/* @__PURE__ */ Error("stream destroyed"))), this.on("error", (e) => t(e)), this.on("end", () => e());
1632
- });
1633
- }
1634
- [Symbol.asyncIterator]() {
1635
- this[W] = !1;
1636
- let e = !1, t = async () => (this.pause(), e = !0, {
1637
- value: void 0,
1638
- done: !0
1639
- });
1640
- return {
1641
- next: () => {
1642
- if (e) return t();
1643
- let n = this.read();
1644
- if (n !== null) return Promise.resolve({
1645
- done: !1,
1646
- value: n
1647
- });
1648
- if (this[D]) return t();
1649
- let r, i, a = (e) => {
1650
- this.off("data", o), this.off("end", s), this.off(B, c), t(), i(e);
1651
- }, o = (e) => {
1652
- this.off("error", a), this.off("end", s), this.off(B, c), this.pause(), r({
1653
- value: e,
1654
- done: !!this[D]
1655
- });
1656
- }, s = () => {
1657
- this.off("error", a), this.off("data", o), this.off(B, c), t(), r({
1658
- done: !0,
1659
- value: void 0
1660
- });
1661
- }, c = () => a(/* @__PURE__ */ Error("stream destroyed"));
1662
- return new Promise((e, t) => {
1663
- i = t, r = e, this.once(B, c), this.once("error", a), this.once("end", s), this.once("data", o);
1664
- });
1665
- },
1666
- throw: t,
1667
- return: t,
1668
- [Symbol.asyncIterator]() {
1669
- return this;
1670
- },
1671
- [Symbol.asyncDispose]: async () => {}
1672
- };
1673
- }
1674
- [Symbol.iterator]() {
1675
- this[W] = !1;
1676
- let e = !1, t = () => (this.pause(), this.off(It, t), this.off(B, t), this.off("end", t), e = !0, {
1677
- done: !0,
1678
- value: void 0
1679
- });
1680
- return this.once("end", t), this.once(It, t), this.once(B, t), {
1681
- next: () => {
1682
- if (e) return t();
1683
- let n = this.read();
1684
- return n === null ? t() : {
1685
- done: !1,
1686
- value: n
1687
- };
1688
- },
1689
- throw: t,
1690
- return: t,
1691
- [Symbol.iterator]() {
1692
- return this;
1693
- },
1694
- [Symbol.dispose]: () => {}
1695
- };
1696
- }
1697
- destroy(e) {
1698
- if (this[B]) return e ? this.emit("error", e) : this.emit(B), this;
1699
- this[B] = !0, this[W] = !0, this[I].length = 0, this[R] = 0;
1700
- let t = this;
1701
- return typeof t.close == "function" && !this[At] && t.close(), e ? this.emit("error", e) : this.emit(B), this;
1702
- }
1703
- static get isStream() {
1704
- return Et;
1705
- }
1706
- }, K = {
1707
- lstatSync: f.lstatSync,
1708
- readdir: f.readdir,
1709
- readdirSync: f.readdirSync,
1710
- readlinkSync: f.readlinkSync,
1711
- realpathSync: f.realpathSync.native,
1712
- promises: {
1713
- lstat: a,
1714
- readdir: o,
1715
- readlink: s,
1716
- realpath: c
1717
- }
1718
- }, Zt = (e) => !e || e === K || e === i ? K : {
1719
- ...K,
1720
- ...e,
1721
- promises: {
1722
- ...K.promises,
1723
- ...e.promises || {}
1724
- }
1725
- }, Qt = /^\\\\\?\\([a-z]:)\\?$/i, $t = (e) => e.replace(/\//g, "\\").replace(Qt, "$1\\"), en = /[\\\/]/, q = 0, tn = 1, nn = 2, J = 4, rn = 6, an = 8, Y = 10, on = 12, X = 15, sn = ~X, cn = 16, ln = 32, un = 64, Z = 128, dn = 256, fn = 512, pn = un | Z | fn, mn = 1023, hn = (e) => e.isFile() ? an : e.isDirectory() ? J : e.isSymbolicLink() ? Y : e.isCharacterDevice() ? nn : e.isBlockDevice() ? rn : e.isSocket() ? on : e.isFIFO() ? tn : q, gn = new wt({ max: 2 ** 12 }), _n = (e) => {
1726
- let t = gn.get(e);
1727
- if (t) return t;
1728
- let n = e.normalize("NFKD");
1729
- return gn.set(e, n), n;
1730
- }, vn = new wt({ max: 2 ** 12 }), yn = (e) => {
1731
- let t = vn.get(e);
1732
- if (t) return t;
1733
- let n = _n(e.toLowerCase());
1734
- return vn.set(e, n), n;
1735
- }, bn = class extends wt {
1736
- constructor() {
1737
- super({ max: 256 });
1738
- }
1739
- }, xn = class extends wt {
1740
- constructor(e = 16 * 1024) {
1741
- super({
1742
- maxSize: e,
1743
- sizeCalculation: (e) => e.length + 1
1744
- });
1745
- }
1746
- }, Sn = Symbol("PathScurry setAsCwd"), Q = class {
1747
- name;
1748
- root;
1749
- roots;
1750
- parent;
1751
- nocase;
1752
- isCWD = !1;
1753
- #e;
1754
- #t;
1755
- get dev() {
1756
- return this.#t;
1757
- }
1758
- #n;
1759
- get mode() {
1760
- return this.#n;
1761
- }
1762
- #r;
1763
- get nlink() {
1764
- return this.#r;
1765
- }
1766
- #i;
1767
- get uid() {
1768
- return this.#i;
1769
- }
1770
- #a;
1771
- get gid() {
1772
- return this.#a;
1773
- }
1774
- #o;
1775
- get rdev() {
1776
- return this.#o;
1777
- }
1778
- #s;
1779
- get blksize() {
1780
- return this.#s;
1781
- }
1782
- #c;
1783
- get ino() {
1784
- return this.#c;
1785
- }
1786
- #l;
1787
- get size() {
1788
- return this.#l;
1789
- }
1790
- #u;
1791
- get blocks() {
1792
- return this.#u;
1793
- }
1794
- #d;
1795
- get atimeMs() {
1796
- return this.#d;
1797
- }
1798
- #f;
1799
- get mtimeMs() {
1800
- return this.#f;
1801
- }
1802
- #p;
1803
- get ctimeMs() {
1804
- return this.#p;
1805
- }
1806
- #m;
1807
- get birthtimeMs() {
1808
- return this.#m;
1809
- }
1810
- #h;
1811
- get atime() {
1812
- return this.#h;
1813
- }
1814
- #g;
1815
- get mtime() {
1816
- return this.#g;
1817
- }
1818
- #_;
1819
- get ctime() {
1820
- return this.#_;
1821
- }
1822
- #v;
1823
- get birthtime() {
1824
- return this.#v;
1825
- }
1826
- #y;
1827
- #b;
1828
- #x;
1829
- #S;
1830
- #C;
1831
- #w;
1832
- #T;
1833
- #E;
1834
- #D;
1835
- #O;
1836
- get parentPath() {
1837
- return (this.parent || this).fullpath();
1838
- }
1839
- get path() {
1840
- return this.parentPath;
1841
- }
1842
- constructor(e, t = q, n, r, i, a, o) {
1843
- this.name = e, this.#y = i ? yn(e) : _n(e), this.#T = t & mn, this.nocase = i, this.roots = r, this.root = n || this, this.#E = a, this.#x = o.fullpath, this.#C = o.relative, this.#w = o.relativePosix, this.parent = o.parent, this.parent ? this.#e = this.parent.#e : this.#e = Zt(o.fs);
1844
- }
1845
- depth() {
1846
- return this.#b === void 0 ? this.parent ? this.#b = this.parent.depth() + 1 : this.#b = 0 : this.#b;
1847
- }
1848
- childrenCache() {
1849
- return this.#E;
1850
- }
1851
- resolve(e) {
1852
- if (!e) return this;
1853
- let t = this.getRootString(e), n = e.substring(t.length).split(this.splitSep);
1854
- return t ? this.getRoot(t).#k(n) : this.#k(n);
1855
- }
1856
- #k(e) {
1857
- let t = this;
1858
- for (let n of e) t = t.child(n);
1859
- return t;
1860
- }
1861
- children() {
1862
- let e = this.#E.get(this);
1863
- if (e) return e;
1864
- let t = Object.assign([], { provisional: 0 });
1865
- return this.#E.set(this, t), this.#T &= ~cn, t;
1866
- }
1867
- child(e, t) {
1868
- if (e === "" || e === ".") return this;
1869
- if (e === "..") return this.parent || this;
1870
- let n = this.children(), r = this.nocase ? yn(e) : _n(e);
1871
- for (let e of n) if (e.#y === r) return e;
1872
- let i = this.parent ? this.sep : "", a = this.#x ? this.#x + i + e : void 0, o = this.newChild(e, q, {
1873
- ...t,
1874
- parent: this,
1875
- fullpath: a
1876
- });
1877
- return this.canReaddir() || (o.#T |= Z), n.push(o), o;
1878
- }
1879
- relative() {
1880
- if (this.isCWD) return "";
1881
- if (this.#C !== void 0) return this.#C;
1882
- let e = this.name, t = this.parent;
1883
- if (!t) return this.#C = this.name;
1884
- let n = t.relative();
1885
- return n + (!n || !t.parent ? "" : this.sep) + e;
1886
- }
1887
- relativePosix() {
1888
- if (this.sep === "/") return this.relative();
1889
- if (this.isCWD) return "";
1890
- if (this.#w !== void 0) return this.#w;
1891
- let e = this.name, t = this.parent;
1892
- if (!t) return this.#w = this.fullpathPosix();
1893
- let n = t.relativePosix();
1894
- return n + (!n || !t.parent ? "" : "/") + e;
1895
- }
1896
- fullpath() {
1897
- if (this.#x !== void 0) return this.#x;
1898
- let e = this.name, t = this.parent;
1899
- if (!t) return this.#x = this.name;
1900
- let n = t.fullpath() + (t.parent ? this.sep : "") + e;
1901
- return this.#x = n;
1902
- }
1903
- fullpathPosix() {
1904
- if (this.#S !== void 0) return this.#S;
1905
- if (this.sep === "/") return this.#S = this.fullpath();
1906
- if (!this.parent) {
1907
- let e = this.fullpath().replace(/\\/g, "/");
1908
- return /^[a-z]:\//i.test(e) ? this.#S = `//?/${e}` : this.#S = e;
1909
- }
1910
- let e = this.parent, t = e.fullpathPosix(), n = t + (!t || !e.parent ? "" : "/") + this.name;
1911
- return this.#S = n;
1912
- }
1913
- isUnknown() {
1914
- return (this.#T & X) === q;
1915
- }
1916
- isType(e) {
1917
- return this[`is${e}`]();
1918
- }
1919
- getType() {
1920
- return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : this.isSocket() ? "Socket" : "Unknown";
1921
- }
1922
- isFile() {
1923
- return (this.#T & X) === an;
1924
- }
1925
- isDirectory() {
1926
- return (this.#T & X) === J;
1927
- }
1928
- isCharacterDevice() {
1929
- return (this.#T & X) === nn;
1930
- }
1931
- isBlockDevice() {
1932
- return (this.#T & X) === rn;
1933
- }
1934
- isFIFO() {
1935
- return (this.#T & X) === tn;
1936
- }
1937
- isSocket() {
1938
- return (this.#T & X) === on;
1939
- }
1940
- isSymbolicLink() {
1941
- return (this.#T & Y) === Y;
1942
- }
1943
- lstatCached() {
1944
- return this.#T & ln ? this : void 0;
1945
- }
1946
- readlinkCached() {
1947
- return this.#D;
1948
- }
1949
- realpathCached() {
1950
- return this.#O;
1951
- }
1952
- readdirCached() {
1953
- let e = this.children();
1954
- return e.slice(0, e.provisional);
1955
- }
1956
- canReadlink() {
1957
- if (this.#D) return !0;
1958
- if (!this.parent) return !1;
1959
- let e = this.#T & X;
1960
- return !(e !== q && e !== Y || this.#T & dn || this.#T & Z);
1961
- }
1962
- calledReaddir() {
1963
- return !!(this.#T & cn);
1964
- }
1965
- isENOENT() {
1966
- return !!(this.#T & Z);
1967
- }
1968
- isNamed(e) {
1969
- return this.nocase ? this.#y === yn(e) : this.#y === _n(e);
1970
- }
1971
- async readlink() {
1972
- let e = this.#D;
1973
- if (e) return e;
1974
- if (this.canReadlink() && this.parent) try {
1975
- let e = await this.#e.promises.readlink(this.fullpath()), t = (await this.parent.realpath())?.resolve(e);
1976
- if (t) return this.#D = t;
1977
- } catch (e) {
1978
- this.#L(e.code);
1979
- return;
1980
- }
1981
- }
1982
- readlinkSync() {
1983
- let e = this.#D;
1984
- if (e) return e;
1985
- if (this.canReadlink() && this.parent) try {
1986
- let e = this.#e.readlinkSync(this.fullpath()), t = this.parent.realpathSync()?.resolve(e);
1987
- if (t) return this.#D = t;
1988
- } catch (e) {
1989
- this.#L(e.code);
1990
- return;
1991
- }
1992
- }
1993
- #A(e) {
1994
- this.#T |= cn;
1995
- for (let t = e.provisional; t < e.length; t++) {
1996
- let n = e[t];
1997
- n && n.#j();
1998
- }
1999
- }
2000
- #j() {
2001
- this.#T & Z || (this.#T = (this.#T | Z) & sn, this.#M());
2002
- }
2003
- #M() {
2004
- let e = this.children();
2005
- e.provisional = 0;
2006
- for (let t of e) t.#j();
2007
- }
2008
- #N() {
2009
- this.#T |= fn, this.#P();
2010
- }
2011
- #P() {
2012
- if (this.#T & un) return;
2013
- let e = this.#T;
2014
- (e & X) === J && (e &= sn), this.#T = e | un, this.#M();
2015
- }
2016
- #F(e = "") {
2017
- e === "ENOTDIR" || e === "EPERM" ? this.#P() : e === "ENOENT" ? this.#j() : this.children().provisional = 0;
2018
- }
2019
- #I(e = "") {
2020
- e === "ENOTDIR" ? this.parent.#P() : e === "ENOENT" && this.#j();
2021
- }
2022
- #L(e = "") {
2023
- let t = this.#T;
2024
- t |= dn, e === "ENOENT" && (t |= Z), (e === "EINVAL" || e === "UNKNOWN") && (t &= sn), this.#T = t, e === "ENOTDIR" && this.parent && this.parent.#P();
2025
- }
2026
- #R(e, t) {
2027
- return this.#B(e, t) || this.#z(e, t);
2028
- }
2029
- #z(e, t) {
2030
- let n = hn(e), r = this.newChild(e.name, n, { parent: this }), i = r.#T & X;
2031
- return i !== J && i !== Y && i !== q && (r.#T |= un), t.unshift(r), t.provisional++, r;
2032
- }
2033
- #B(e, t) {
2034
- for (let n = t.provisional; n < t.length; n++) {
2035
- let r = t[n];
2036
- if ((this.nocase ? yn(e.name) : _n(e.name)) === r.#y) return this.#V(e, r, n, t);
2037
- }
2038
- }
2039
- #V(e, t, n, r) {
2040
- let i = t.name;
2041
- return t.#T = t.#T & sn | hn(e), i !== e.name && (t.name = e.name), n !== r.provisional && (n === r.length - 1 ? r.pop() : r.splice(n, 1), r.unshift(t)), r.provisional++, t;
2042
- }
2043
- async lstat() {
2044
- if ((this.#T & Z) === 0) try {
2045
- return this.#H(await this.#e.promises.lstat(this.fullpath())), this;
2046
- } catch (e) {
2047
- this.#I(e.code);
2048
- }
2049
- }
2050
- lstatSync() {
2051
- if ((this.#T & Z) === 0) try {
2052
- return this.#H(this.#e.lstatSync(this.fullpath())), this;
2053
- } catch (e) {
2054
- this.#I(e.code);
2055
- }
2056
- }
2057
- #H(e) {
2058
- let { atime: t, atimeMs: n, birthtime: r, birthtimeMs: i, blksize: a, blocks: o, ctime: s, ctimeMs: c, dev: l, gid: u, ino: d, mode: f, mtime: p, mtimeMs: m, nlink: ee, rdev: h, size: g, uid: _ } = e;
2059
- this.#h = t, this.#d = n, this.#v = r, this.#m = i, this.#s = a, this.#u = o, this.#_ = s, this.#p = c, this.#t = l, this.#a = u, this.#c = d, this.#n = f, this.#g = p, this.#f = m, this.#r = ee, this.#o = h, this.#l = g, this.#i = _;
2060
- let v = hn(e);
2061
- this.#T = this.#T & sn | v | ln, v !== q && v !== J && v !== Y && (this.#T |= un);
2062
- }
2063
- #U = [];
2064
- #W = !1;
2065
- #G(e) {
2066
- this.#W = !1;
2067
- let t = this.#U.slice();
2068
- this.#U.length = 0, t.forEach((t) => t(null, e));
2069
- }
2070
- readdirCB(e, t = !1) {
2071
- if (!this.canReaddir()) {
2072
- t ? e(null, []) : queueMicrotask(() => e(null, []));
2073
- return;
2074
- }
2075
- let n = this.children();
2076
- if (this.calledReaddir()) {
2077
- let r = n.slice(0, n.provisional);
2078
- t ? e(null, r) : queueMicrotask(() => e(null, r));
2079
- return;
2080
- }
2081
- if (this.#U.push(e), this.#W) return;
2082
- this.#W = !0;
2083
- let r = this.fullpath();
2084
- this.#e.readdir(r, { withFileTypes: !0 }, (e, t) => {
2085
- if (e) this.#F(e.code), n.provisional = 0;
2086
- else {
2087
- for (let e of t) this.#R(e, n);
2088
- this.#A(n);
2089
- }
2090
- this.#G(n.slice(0, n.provisional));
2091
- });
2092
- }
2093
- #K;
2094
- async readdir() {
2095
- if (!this.canReaddir()) return [];
2096
- let e = this.children();
2097
- if (this.calledReaddir()) return e.slice(0, e.provisional);
2098
- let t = this.fullpath();
2099
- if (this.#K) await this.#K;
2100
- else {
2101
- let n = () => {};
2102
- this.#K = new Promise((e) => n = e);
2103
- try {
2104
- for (let n of await this.#e.promises.readdir(t, { withFileTypes: !0 })) this.#R(n, e);
2105
- this.#A(e);
2106
- } catch (t) {
2107
- this.#F(t.code), e.provisional = 0;
2108
- }
2109
- this.#K = void 0, n();
2110
- }
2111
- return e.slice(0, e.provisional);
2112
- }
2113
- readdirSync() {
2114
- if (!this.canReaddir()) return [];
2115
- let e = this.children();
2116
- if (this.calledReaddir()) return e.slice(0, e.provisional);
2117
- let t = this.fullpath();
2118
- try {
2119
- for (let n of this.#e.readdirSync(t, { withFileTypes: !0 })) this.#R(n, e);
2120
- this.#A(e);
2121
- } catch (t) {
2122
- this.#F(t.code), e.provisional = 0;
2123
- }
2124
- return e.slice(0, e.provisional);
2125
- }
2126
- canReaddir() {
2127
- if (this.#T & pn) return !1;
2128
- let e = X & this.#T;
2129
- return e === q || e === J || e === Y;
2130
- }
2131
- shouldWalk(e, t) {
2132
- return (this.#T & J) === J && !(this.#T & pn) && !e.has(this) && (!t || t(this));
2133
- }
2134
- async realpath() {
2135
- if (this.#O) return this.#O;
2136
- if (!((fn | dn | Z) & this.#T)) try {
2137
- let e = await this.#e.promises.realpath(this.fullpath());
2138
- return this.#O = this.resolve(e);
2139
- } catch {
2140
- this.#N();
2141
- }
2142
- }
2143
- realpathSync() {
2144
- if (this.#O) return this.#O;
2145
- if (!((fn | dn | Z) & this.#T)) try {
2146
- let e = this.#e.realpathSync(this.fullpath());
2147
- return this.#O = this.resolve(e);
2148
- } catch {
2149
- this.#N();
2150
- }
2151
- }
2152
- [Sn](e) {
2153
- if (e === this) return;
2154
- e.isCWD = !1, this.isCWD = !0;
2155
- let t = /* @__PURE__ */ new Set([]), n = [], r = this;
2156
- for (; r && r.parent;) t.add(r), r.#C = n.join(this.sep), r.#w = n.join("/"), r = r.parent, n.push("..");
2157
- for (r = e; r && r.parent && !t.has(r);) r.#C = void 0, r.#w = void 0, r = r.parent;
2158
- }
2159
- }, Cn = class e extends Q {
2160
- sep = "\\";
2161
- splitSep = en;
2162
- constructor(e, t = q, n, r, i, a, o) {
2163
- super(e, t, n, r, i, a, o);
2164
- }
2165
- newChild(t, n = q, r = {}) {
2166
- return new e(t, n, this.root, this.roots, this.nocase, this.childrenCache(), r);
2167
- }
2168
- getRootString(e) {
2169
- return n.parse(e).root;
2170
- }
2171
- getRoot(e) {
2172
- if (e = $t(e.toUpperCase()), e === this.root.name) return this.root;
2173
- for (let [t, n] of Object.entries(this.roots)) if (this.sameRoot(e, t)) return this.roots[e] = n;
2174
- return this.roots[e] = new En(e, this).root;
2175
- }
2176
- sameRoot(e, t = this.root.name) {
2177
- return e = e.toUpperCase().replace(/\//g, "\\").replace(Qt, "$1\\"), e === t;
2178
- }
2179
- }, wn = class e extends Q {
2180
- splitSep = "/";
2181
- sep = "/";
2182
- constructor(e, t = q, n, r, i, a, o) {
2183
- super(e, t, n, r, i, a, o);
2184
- }
2185
- getRootString(e) {
2186
- return e.startsWith("/") ? "/" : "";
2187
- }
2188
- getRoot(e) {
2189
- return this.root;
2190
- }
2191
- newChild(t, n = q, r = {}) {
2192
- return new e(t, n, this.root, this.roots, this.nocase, this.childrenCache(), r);
2193
- }
2194
- }, Tn = class {
2195
- root;
2196
- rootPath;
2197
- roots;
2198
- cwd;
2199
- #e;
2200
- #t;
2201
- #n;
2202
- nocase;
2203
- #r;
2204
- constructor(e = process.cwd(), t, n, { nocase: i, childrenCacheSize: a = 16 * 1024, fs: o = K } = {}) {
2205
- this.#r = Zt(o), (e instanceof URL || e.startsWith("file://")) && (e = r(e));
2206
- let s = t.resolve(e);
2207
- this.roots = Object.create(null), this.rootPath = this.parseRootPath(s), this.#e = new bn(), this.#t = new bn(), this.#n = new xn(a);
2208
- let c = s.substring(this.rootPath.length).split(n);
2209
- if (c.length === 1 && !c[0] && c.pop(), i === void 0) throw TypeError("must provide nocase setting to PathScurryBase ctor");
2210
- this.nocase = i, this.root = this.newRoot(this.#r), this.roots[this.rootPath] = this.root;
2211
- let l = this.root, u = c.length - 1, d = t.sep, f = this.rootPath, p = !1;
2212
- for (let e of c) {
2213
- let t = u--;
2214
- l = l.child(e, {
2215
- relative: Array(t).fill("..").join(d),
2216
- relativePosix: Array(t).fill("..").join("/"),
2217
- fullpath: f += (p ? "" : d) + e
2218
- }), p = !0;
2219
- }
2220
- this.cwd = l;
2221
- }
2222
- depth(e = this.cwd) {
2223
- return typeof e == "string" && (e = this.cwd.resolve(e)), e.depth();
2224
- }
2225
- childrenCache() {
2226
- return this.#n;
2227
- }
2228
- resolve(...e) {
2229
- let t = "";
2230
- for (let n = e.length - 1; n >= 0; n--) {
2231
- let r = e[n];
2232
- if (!(!r || r === ".") && (t = t ? `${r}/${t}` : r, this.isAbsolute(r))) break;
2233
- }
2234
- let n = this.#e.get(t);
2235
- if (n !== void 0) return n;
2236
- let r = this.cwd.resolve(t).fullpath();
2237
- return this.#e.set(t, r), r;
2238
- }
2239
- resolvePosix(...e) {
2240
- let t = "";
2241
- for (let n = e.length - 1; n >= 0; n--) {
2242
- let r = e[n];
2243
- if (!(!r || r === ".") && (t = t ? `${r}/${t}` : r, this.isAbsolute(r))) break;
2244
- }
2245
- let n = this.#t.get(t);
2246
- if (n !== void 0) return n;
2247
- let r = this.cwd.resolve(t).fullpathPosix();
2248
- return this.#t.set(t, r), r;
2249
- }
2250
- relative(e = this.cwd) {
2251
- return typeof e == "string" && (e = this.cwd.resolve(e)), e.relative();
2252
- }
2253
- relativePosix(e = this.cwd) {
2254
- return typeof e == "string" && (e = this.cwd.resolve(e)), e.relativePosix();
2255
- }
2256
- basename(e = this.cwd) {
2257
- return typeof e == "string" && (e = this.cwd.resolve(e)), e.name;
2258
- }
2259
- dirname(e = this.cwd) {
2260
- return typeof e == "string" && (e = this.cwd.resolve(e)), (e.parent || e).fullpath();
2261
- }
2262
- async readdir(e = this.cwd, t = { withFileTypes: !0 }) {
2263
- typeof e == "string" ? e = this.cwd.resolve(e) : e instanceof Q || (t = e, e = this.cwd);
2264
- let { withFileTypes: n } = t;
2265
- if (e.canReaddir()) {
2266
- let t = await e.readdir();
2267
- return n ? t : t.map((e) => e.name);
2268
- } else return [];
2269
- }
2270
- readdirSync(e = this.cwd, t = { withFileTypes: !0 }) {
2271
- typeof e == "string" ? e = this.cwd.resolve(e) : e instanceof Q || (t = e, e = this.cwd);
2272
- let { withFileTypes: n = !0 } = t;
2273
- return e.canReaddir() ? n ? e.readdirSync() : e.readdirSync().map((e) => e.name) : [];
2274
- }
2275
- async lstat(e = this.cwd) {
2276
- return typeof e == "string" && (e = this.cwd.resolve(e)), e.lstat();
2277
- }
2278
- lstatSync(e = this.cwd) {
2279
- return typeof e == "string" && (e = this.cwd.resolve(e)), e.lstatSync();
2280
- }
2281
- async readlink(e = this.cwd, { withFileTypes: t } = { withFileTypes: !1 }) {
2282
- typeof e == "string" ? e = this.cwd.resolve(e) : e instanceof Q || (t = e.withFileTypes, e = this.cwd);
2283
- let n = await e.readlink();
2284
- return t ? n : n?.fullpath();
2285
- }
2286
- readlinkSync(e = this.cwd, { withFileTypes: t } = { withFileTypes: !1 }) {
2287
- typeof e == "string" ? e = this.cwd.resolve(e) : e instanceof Q || (t = e.withFileTypes, e = this.cwd);
2288
- let n = e.readlinkSync();
2289
- return t ? n : n?.fullpath();
2290
- }
2291
- async realpath(e = this.cwd, { withFileTypes: t } = { withFileTypes: !1 }) {
2292
- typeof e == "string" ? e = this.cwd.resolve(e) : e instanceof Q || (t = e.withFileTypes, e = this.cwd);
2293
- let n = await e.realpath();
2294
- return t ? n : n?.fullpath();
2295
- }
2296
- realpathSync(e = this.cwd, { withFileTypes: t } = { withFileTypes: !1 }) {
2297
- typeof e == "string" ? e = this.cwd.resolve(e) : e instanceof Q || (t = e.withFileTypes, e = this.cwd);
2298
- let n = e.realpathSync();
2299
- return t ? n : n?.fullpath();
2300
- }
2301
- async walk(e = this.cwd, t = {}) {
2302
- typeof e == "string" ? e = this.cwd.resolve(e) : e instanceof Q || (t = e, e = this.cwd);
2303
- let { withFileTypes: n = !0, follow: r = !1, filter: i, walkFilter: a } = t, o = [];
2304
- (!i || i(e)) && o.push(n ? e : e.fullpath());
2305
- let s = /* @__PURE__ */ new Set(), c = (e, t) => {
2306
- s.add(e), e.readdirCB((e, l) => {
2307
- if (e) return t(e);
2308
- let u = l.length;
2309
- if (!u) return t();
2310
- let d = () => {
2311
- --u === 0 && t();
2312
- };
2313
- for (let e of l) (!i || i(e)) && o.push(n ? e : e.fullpath()), r && e.isSymbolicLink() ? e.realpath().then((e) => e?.isUnknown() ? e.lstat() : e).then((e) => e?.shouldWalk(s, a) ? c(e, d) : d()) : e.shouldWalk(s, a) ? c(e, d) : d();
2314
- }, !0);
2315
- }, l = e;
2316
- return new Promise((e, t) => {
2317
- c(l, (n) => {
2318
- if (n) return t(n);
2319
- e(o);
2320
- });
2321
- });
2322
- }
2323
- walkSync(e = this.cwd, t = {}) {
2324
- typeof e == "string" ? e = this.cwd.resolve(e) : e instanceof Q || (t = e, e = this.cwd);
2325
- let { withFileTypes: n = !0, follow: r = !1, filter: i, walkFilter: a } = t, o = [];
2326
- (!i || i(e)) && o.push(n ? e : e.fullpath());
2327
- let s = new Set([e]);
2328
- for (let e of s) {
2329
- let t = e.readdirSync();
2330
- for (let e of t) {
2331
- (!i || i(e)) && o.push(n ? e : e.fullpath());
2332
- let t = e;
2333
- if (e.isSymbolicLink()) {
2334
- if (!(r && (t = e.realpathSync()))) continue;
2335
- t.isUnknown() && t.lstatSync();
2336
- }
2337
- t.shouldWalk(s, a) && s.add(t);
2338
- }
2339
- }
2340
- return o;
2341
- }
2342
- [Symbol.asyncIterator]() {
2343
- return this.iterate();
2344
- }
2345
- iterate(e = this.cwd, t = {}) {
2346
- return typeof e == "string" ? e = this.cwd.resolve(e) : e instanceof Q || (t = e, e = this.cwd), this.stream(e, t)[Symbol.asyncIterator]();
2347
- }
2348
- [Symbol.iterator]() {
2349
- return this.iterateSync();
2350
- }
2351
- *iterateSync(e = this.cwd, t = {}) {
2352
- typeof e == "string" ? e = this.cwd.resolve(e) : e instanceof Q || (t = e, e = this.cwd);
2353
- let { withFileTypes: n = !0, follow: r = !1, filter: i, walkFilter: a } = t;
2354
- (!i || i(e)) && (yield n ? e : e.fullpath());
2355
- let o = new Set([e]);
2356
- for (let e of o) {
2357
- let t = e.readdirSync();
2358
- for (let e of t) {
2359
- (!i || i(e)) && (yield n ? e : e.fullpath());
2360
- let t = e;
2361
- if (e.isSymbolicLink()) {
2362
- if (!(r && (t = e.realpathSync()))) continue;
2363
- t.isUnknown() && t.lstatSync();
2364
- }
2365
- t.shouldWalk(o, a) && o.add(t);
2366
- }
2367
- }
2368
- }
2369
- stream(e = this.cwd, t = {}) {
2370
- typeof e == "string" ? e = this.cwd.resolve(e) : e instanceof Q || (t = e, e = this.cwd);
2371
- let { withFileTypes: n = !0, follow: r = !1, filter: i, walkFilter: a } = t, o = new Xt({ objectMode: !0 });
2372
- (!i || i(e)) && o.write(n ? e : e.fullpath());
2373
- let s = /* @__PURE__ */ new Set(), c = [e], l = 0, u = () => {
2374
- let e = !1;
2375
- for (; !e;) {
2376
- let t = c.shift();
2377
- if (!t) {
2378
- l === 0 && o.end();
2379
- return;
2380
- }
2381
- l++, s.add(t);
2382
- let d = (t, p, m = !1) => {
2383
- if (t) return o.emit("error", t);
2384
- if (r && !m) {
2385
- let e = [];
2386
- for (let t of p) t.isSymbolicLink() && e.push(t.realpath().then((e) => e?.isUnknown() ? e.lstat() : e));
2387
- if (e.length) {
2388
- Promise.all(e).then(() => d(null, p, !0));
2389
- return;
2390
- }
2391
- }
2392
- for (let t of p) t && (!i || i(t)) && (o.write(n ? t : t.fullpath()) || (e = !0));
2393
- l--;
2394
- for (let e of p) {
2395
- let t = e.realpathCached() || e;
2396
- t.shouldWalk(s, a) && c.push(t);
2397
- }
2398
- e && !o.flowing ? o.once("drain", u) : f || u();
2399
- }, f = !0;
2400
- t.readdirCB(d, !0), f = !1;
2401
- }
2402
- };
2403
- return u(), o;
2404
- }
2405
- streamSync(e = this.cwd, t = {}) {
2406
- typeof e == "string" ? e = this.cwd.resolve(e) : e instanceof Q || (t = e, e = this.cwd);
2407
- let { withFileTypes: n = !0, follow: r = !1, filter: i, walkFilter: a } = t, o = new Xt({ objectMode: !0 }), s = /* @__PURE__ */ new Set();
2408
- (!i || i(e)) && o.write(n ? e : e.fullpath());
2409
- let c = [e], l = 0, u = () => {
2410
- let e = !1;
2411
- for (; !e;) {
2412
- let t = c.shift();
2413
- if (!t) {
2414
- l === 0 && o.end();
2415
- return;
2416
- }
2417
- l++, s.add(t);
2418
- let u = t.readdirSync();
2419
- for (let t of u) (!i || i(t)) && (o.write(n ? t : t.fullpath()) || (e = !0));
2420
- l--;
2421
- for (let e of u) {
2422
- let t = e;
2423
- if (e.isSymbolicLink()) {
2424
- if (!(r && (t = e.realpathSync()))) continue;
2425
- t.isUnknown() && t.lstatSync();
2426
- }
2427
- t.shouldWalk(s, a) && c.push(t);
2428
- }
2429
- }
2430
- e && !o.flowing && o.once("drain", u);
2431
- };
2432
- return u(), o;
2433
- }
2434
- chdir(e = this.cwd) {
2435
- let t = this.cwd;
2436
- this.cwd = typeof e == "string" ? this.cwd.resolve(e) : e, this.cwd[Sn](t);
2437
- }
2438
- }, En = class extends Tn {
2439
- sep = "\\";
2440
- constructor(e = process.cwd(), t = {}) {
2441
- let { nocase: r = !0 } = t;
2442
- super(e, n, "\\", {
2443
- ...t,
2444
- nocase: r
2445
- }), this.nocase = r;
2446
- for (let e = this.cwd; e; e = e.parent) e.nocase = this.nocase;
2447
- }
2448
- parseRootPath(e) {
2449
- return n.parse(e).root.toUpperCase();
2450
- }
2451
- newRoot(e) {
2452
- return new Cn(this.rootPath, J, void 0, this.roots, this.nocase, this.childrenCache(), { fs: e });
2453
- }
2454
- isAbsolute(e) {
2455
- return e.startsWith("/") || e.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(e);
2456
- }
2457
- }, Dn = class extends Tn {
2458
- sep = "/";
2459
- constructor(e = process.cwd(), n = {}) {
2460
- let { nocase: r = !1 } = n;
2461
- super(e, t, "/", {
2462
- ...n,
2463
- nocase: r
2464
- }), this.nocase = r;
2465
- }
2466
- parseRootPath(e) {
2467
- return "/";
2468
- }
2469
- newRoot(e) {
2470
- return new wn(this.rootPath, J, void 0, this.roots, this.nocase, this.childrenCache(), { fs: e });
2471
- }
2472
- isAbsolute(e) {
2473
- return e.startsWith("/");
2474
- }
2475
- }, On = class extends Dn {
2476
- constructor(e = process.cwd(), t = {}) {
2477
- let { nocase: n = !0 } = t;
2478
- super(e, {
2479
- ...t,
2480
- nocase: n
2481
- });
2482
- }
2483
- };
2484
- process.platform;
2485
- var kn = process.platform === "win32" ? En : process.platform === "darwin" ? On : Dn, An = (e) => e.length >= 1, jn = (e) => e.length >= 1, Mn = Symbol.for("nodejs.util.inspect.custom"), Nn = class e {
2486
- #e;
2487
- #t;
2488
- #n;
2489
- length;
2490
- #r;
2491
- #i;
2492
- #a;
2493
- #o;
2494
- #s;
2495
- #c;
2496
- #l = !0;
2497
- constructor(e, t, n, r) {
2498
- if (!An(e)) throw TypeError("empty pattern list");
2499
- if (!jn(t)) throw TypeError("empty glob list");
2500
- if (t.length !== e.length) throw TypeError("mismatched pattern list and glob list lengths");
2501
- if (this.length = e.length, n < 0 || n >= this.length) throw TypeError("index out of range");
2502
- if (this.#e = e, this.#t = t, this.#n = n, this.#r = r, this.#n === 0) {
2503
- if (this.isUNC()) {
2504
- let [e, t, n, r, ...i] = this.#e, [a, o, s, c, ...l] = this.#t;
2505
- i[0] === "" && (i.shift(), l.shift());
2506
- let u = [
2507
- e,
2508
- t,
2509
- n,
2510
- r,
2511
- ""
2512
- ].join("/"), d = [
2513
- a,
2514
- o,
2515
- s,
2516
- c,
2517
- ""
2518
- ].join("/");
2519
- this.#e = [u, ...i], this.#t = [d, ...l], this.length = this.#e.length;
2520
- } else if (this.isDrive() || this.isAbsolute()) {
2521
- let [e, ...t] = this.#e, [n, ...r] = this.#t;
2522
- t[0] === "" && (t.shift(), r.shift());
2523
- let i = e + "/", a = n + "/";
2524
- this.#e = [i, ...t], this.#t = [a, ...r], this.length = this.#e.length;
2525
- }
2526
- }
2527
- }
2528
- [Mn]() {
2529
- return "Pattern <" + this.#t.slice(this.#n).join("/") + ">";
2530
- }
2531
- pattern() {
2532
- return this.#e[this.#n];
2533
- }
2534
- isString() {
2535
- return typeof this.#e[this.#n] == "string";
2536
- }
2537
- isGlobstar() {
2538
- return this.#e[this.#n] === C;
2539
- }
2540
- isRegExp() {
2541
- return this.#e[this.#n] instanceof RegExp;
2542
- }
2543
- globString() {
2544
- return this.#a = this.#a || (this.#n === 0 ? this.isAbsolute() ? this.#t[0] + this.#t.slice(1).join("/") : this.#t.join("/") : this.#t.slice(this.#n).join("/"));
2545
- }
2546
- hasMore() {
2547
- return this.length > this.#n + 1;
2548
- }
2549
- rest() {
2550
- return this.#i === void 0 ? this.hasMore() ? (this.#i = new e(this.#e, this.#t, this.#n + 1, this.#r), this.#i.#c = this.#c, this.#i.#s = this.#s, this.#i.#o = this.#o, this.#i) : this.#i = null : this.#i;
2551
- }
2552
- isUNC() {
2553
- let e = this.#e;
2554
- return this.#s === void 0 ? this.#s = this.#r === "win32" && this.#n === 0 && e[0] === "" && e[1] === "" && typeof e[2] == "string" && !!e[2] && typeof e[3] == "string" && !!e[3] : this.#s;
2555
- }
2556
- isDrive() {
2557
- let e = this.#e;
2558
- return this.#o === void 0 ? this.#o = this.#r === "win32" && this.#n === 0 && this.length > 1 && typeof e[0] == "string" && /^[a-z]:$/i.test(e[0]) : this.#o;
2559
- }
2560
- isAbsolute() {
2561
- let e = this.#e;
2562
- return this.#c === void 0 ? this.#c = e[0] === "" && e.length > 1 || this.isDrive() || this.isUNC() : this.#c;
2563
- }
2564
- root() {
2565
- let e = this.#e[0];
2566
- return typeof e == "string" && this.isAbsolute() && this.#n === 0 ? e : "";
2567
- }
2568
- checkFollowGlobstar() {
2569
- return !(this.#n === 0 || !this.isGlobstar() || !this.#l);
2570
- }
2571
- markFollowGlobstar() {
2572
- return this.#n === 0 || !this.isGlobstar() || !this.#l ? !1 : (this.#l = !1, !0);
2573
- }
2574
- }, Pn = typeof process == "object" && process && typeof process.platform == "string" ? process.platform : "linux", Fn = class {
2575
- relative;
2576
- relativeChildren;
2577
- absolute;
2578
- absoluteChildren;
2579
- platform;
2580
- mmopts;
2581
- constructor(e, { nobrace: t, nocase: n, noext: r, noglobstar: i, platform: a = Pn }) {
2582
- this.relative = [], this.absolute = [], this.relativeChildren = [], this.absoluteChildren = [], this.platform = a, this.mmopts = {
2583
- dot: !0,
2584
- nobrace: t,
2585
- nocase: n,
2586
- noext: r,
2587
- noglobstar: i,
2588
- optimizationLevel: 2,
2589
- platform: a,
2590
- nocomment: !0,
2591
- nonegate: !0
2592
- };
2593
- for (let t of e) this.add(t);
2594
- }
2595
- add(e) {
2596
- let t = new T(e, this.mmopts);
2597
- for (let e = 0; e < t.set.length; e++) {
2598
- let n = t.set[e], r = t.globParts[e];
2599
- if (!n || !r) throw Error("invalid pattern object");
2600
- for (; n[0] === "." && r[0] === ".";) n.shift(), r.shift();
2601
- let i = new Nn(n, r, 0, this.platform), a = new T(i.globString(), this.mmopts), o = r[r.length - 1] === "**", s = i.isAbsolute();
2602
- s ? this.absolute.push(a) : this.relative.push(a), o && (s ? this.absoluteChildren.push(a) : this.relativeChildren.push(a));
2603
- }
2604
- }
2605
- ignored(e) {
2606
- let t = e.fullpath(), n = `${t}/`, r = e.relative() || ".", i = `${r}/`;
2607
- for (let e of this.relative) if (e.match(r) || e.match(i)) return !0;
2608
- for (let e of this.absolute) if (e.match(t) || e.match(n)) return !0;
2609
- return !1;
2610
- }
2611
- childrenIgnored(e) {
2612
- let t = e.fullpath() + "/", n = (e.relative() || ".") + "/";
2613
- for (let e of this.relativeChildren) if (e.match(n)) return !0;
2614
- for (let e of this.absoluteChildren) if (e.match(t)) return !0;
2615
- return !1;
2616
- }
2617
- }, In = class e {
2618
- store;
2619
- constructor(e = /* @__PURE__ */ new Map()) {
2620
- this.store = e;
2621
- }
2622
- copy() {
2623
- return new e(new Map(this.store));
2624
- }
2625
- hasWalked(e, t) {
2626
- return this.store.get(e.fullpath())?.has(t.globString());
2627
- }
2628
- storeWalked(e, t) {
2629
- let n = e.fullpath(), r = this.store.get(n);
2630
- r ? r.add(t.globString()) : this.store.set(n, new Set([t.globString()]));
2631
- }
2632
- }, Ln = class {
2633
- store = /* @__PURE__ */ new Map();
2634
- add(e, t, n) {
2635
- let r = (t ? 2 : 0) | !!n, i = this.store.get(e);
2636
- this.store.set(e, i === void 0 ? r : r & i);
2637
- }
2638
- entries() {
2639
- return [...this.store.entries()].map(([e, t]) => [
2640
- e,
2641
- !!(t & 2),
2642
- !!(t & 1)
2643
- ]);
2644
- }
2645
- }, Rn = class {
2646
- store = /* @__PURE__ */ new Map();
2647
- add(e, t) {
2648
- if (!e.canReaddir()) return;
2649
- let n = this.store.get(e);
2650
- n ? n.find((e) => e.globString() === t.globString()) || n.push(t) : this.store.set(e, [t]);
2651
- }
2652
- get(e) {
2653
- let t = this.store.get(e);
2654
- if (!t) throw Error("attempting to walk unknown path");
2655
- return t;
2656
- }
2657
- entries() {
2658
- return this.keys().map((e) => [e, this.store.get(e)]);
2659
- }
2660
- keys() {
2661
- return [...this.store.keys()].filter((e) => e.canReaddir());
2662
- }
2663
- }, zn = class e {
2664
- hasWalkedCache;
2665
- matches = new Ln();
2666
- subwalks = new Rn();
2667
- patterns;
2668
- follow;
2669
- dot;
2670
- opts;
2671
- constructor(e, t) {
2672
- this.opts = e, this.follow = !!e.follow, this.dot = !!e.dot, this.hasWalkedCache = t ? t.copy() : new In();
2673
- }
2674
- processPatterns(e, t) {
2675
- this.patterns = t;
2676
- let n = t.map((t) => [e, t]);
2677
- for (let [e, t] of n) {
2678
- this.hasWalkedCache.storeWalked(e, t);
2679
- let n = t.root(), r = t.isAbsolute() && this.opts.absolute !== !1;
2680
- if (n) {
2681
- e = e.resolve(n === "/" && this.opts.root !== void 0 ? this.opts.root : n);
2682
- let r = t.rest();
2683
- if (r) t = r;
2684
- else {
2685
- this.matches.add(e, !0, !1);
2686
- continue;
2687
- }
2688
- }
2689
- if (e.isENOENT()) continue;
2690
- let i, a, o = !1;
2691
- for (; typeof (i = t.pattern()) == "string" && (a = t.rest());) e = e.resolve(i), t = a, o = !0;
2692
- if (i = t.pattern(), a = t.rest(), o) {
2693
- if (this.hasWalkedCache.hasWalked(e, t)) continue;
2694
- this.hasWalkedCache.storeWalked(e, t);
2695
- }
2696
- if (typeof i == "string") {
2697
- let t = i === ".." || i === "" || i === ".";
2698
- this.matches.add(e.resolve(i), r, t);
2699
- continue;
2700
- } else if (i === C) {
2701
- (!e.isSymbolicLink() || this.follow || t.checkFollowGlobstar()) && this.subwalks.add(e, t);
2702
- let n = a?.pattern(), i = a?.rest();
2703
- if (!a || (n === "" || n === ".") && !i) this.matches.add(e, r, n === "" || n === ".");
2704
- else if (n === "..") {
2705
- let t = e.parent || e;
2706
- i ? this.hasWalkedCache.hasWalked(t, i) || this.subwalks.add(t, i) : this.matches.add(t, r, !0);
2707
- }
2708
- } else i instanceof RegExp && this.subwalks.add(e, t);
2709
- }
2710
- return this;
2711
- }
2712
- subwalkTargets() {
2713
- return this.subwalks.keys();
2714
- }
2715
- child() {
2716
- return new e(this.opts, this.hasWalkedCache);
2717
- }
2718
- filterEntries(e, t) {
2719
- let n = this.subwalks.get(e), r = this.child();
2720
- for (let e of t) for (let t of n) {
2721
- let n = t.isAbsolute(), i = t.pattern(), a = t.rest();
2722
- i === C ? r.testGlobstar(e, t, a, n) : i instanceof RegExp ? r.testRegExp(e, i, a, n) : r.testString(e, i, a, n);
2723
- }
2724
- return r;
2725
- }
2726
- testGlobstar(e, t, n, r) {
2727
- if ((this.dot || !e.name.startsWith(".")) && (t.hasMore() || this.matches.add(e, r, !1), e.canReaddir() && (this.follow || !e.isSymbolicLink() ? this.subwalks.add(e, t) : e.isSymbolicLink() && (n && t.checkFollowGlobstar() ? this.subwalks.add(e, n) : t.markFollowGlobstar() && this.subwalks.add(e, t)))), n) {
2728
- let t = n.pattern();
2729
- if (typeof t == "string" && t !== ".." && t !== "" && t !== ".") this.testString(e, t, n.rest(), r);
2730
- else if (t === "..") {
2731
- let t = e.parent || e;
2732
- this.subwalks.add(t, n);
2733
- } else t instanceof RegExp && this.testRegExp(e, t, n.rest(), r);
2734
- }
2735
- }
2736
- testRegExp(e, t, n, r) {
2737
- t.test(e.name) && (n ? this.subwalks.add(e, n) : this.matches.add(e, r, !1));
2738
- }
2739
- testString(e, t, n, r) {
2740
- e.isNamed(t) && (n ? this.subwalks.add(e, n) : this.matches.add(e, r, !1));
2741
- }
2742
- }, Bn = (e, t) => typeof e == "string" ? new Fn([e], t) : Array.isArray(e) ? new Fn(e, t) : e, Vn = class {
2743
- path;
2744
- patterns;
2745
- opts;
2746
- seen = /* @__PURE__ */ new Set();
2747
- paused = !1;
2748
- aborted = !1;
2749
- #e = [];
2750
- #t;
2751
- #n;
2752
- signal;
2753
- maxDepth;
2754
- includeChildMatches;
2755
- constructor(e, t, n) {
2756
- if (this.patterns = e, this.path = t, this.opts = n, this.#n = !n.posix && n.platform === "win32" ? "\\" : "/", this.includeChildMatches = n.includeChildMatches !== !1, (n.ignore || !this.includeChildMatches) && (this.#t = Bn(n.ignore ?? [], n), !this.includeChildMatches && typeof this.#t.add != "function")) throw Error("cannot ignore child matches, ignore lacks add() method.");
2757
- this.maxDepth = n.maxDepth || Infinity, n.signal && (this.signal = n.signal, this.signal.addEventListener("abort", () => {
2758
- this.#e.length = 0;
2759
- }));
2760
- }
2761
- #r(e) {
2762
- return this.seen.has(e) || !!this.#t?.ignored?.(e);
2763
- }
2764
- #i(e) {
2765
- return !!this.#t?.childrenIgnored?.(e);
2766
- }
2767
- pause() {
2768
- this.paused = !0;
2769
- }
2770
- resume() {
2771
- if (this.signal?.aborted) return;
2772
- this.paused = !1;
2773
- let e;
2774
- for (; !this.paused && (e = this.#e.shift());) e();
2775
- }
2776
- onResume(e) {
2777
- this.signal?.aborted || (this.paused ? this.#e.push(e) : e());
2778
- }
2779
- async matchCheck(e, t) {
2780
- if (t && this.opts.nodir) return;
2781
- let n;
2782
- if (this.opts.realpath) {
2783
- if (n = e.realpathCached() || await e.realpath(), !n) return;
2784
- e = n;
2785
- }
2786
- let r = e.isUnknown() || this.opts.stat ? await e.lstat() : e;
2787
- if (this.opts.follow && this.opts.nodir && r?.isSymbolicLink()) {
2788
- let e = await r.realpath();
2789
- e && (e.isUnknown() || this.opts.stat) && await e.lstat();
2790
- }
2791
- return this.matchCheckTest(r, t);
2792
- }
2793
- matchCheckTest(e, t) {
2794
- return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!t || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#r(e) ? e : void 0;
2795
- }
2796
- matchCheckSync(e, t) {
2797
- if (t && this.opts.nodir) return;
2798
- let n;
2799
- if (this.opts.realpath) {
2800
- if (n = e.realpathCached() || e.realpathSync(), !n) return;
2801
- e = n;
2802
- }
2803
- let r = e.isUnknown() || this.opts.stat ? e.lstatSync() : e;
2804
- if (this.opts.follow && this.opts.nodir && r?.isSymbolicLink()) {
2805
- let e = r.realpathSync();
2806
- e && (e?.isUnknown() || this.opts.stat) && e.lstatSync();
2807
- }
2808
- return this.matchCheckTest(r, t);
2809
- }
2810
- matchFinish(e, t) {
2811
- if (this.#r(e)) return;
2812
- if (!this.includeChildMatches && this.#t?.add) {
2813
- let t = `${e.relativePosix()}/**`;
2814
- this.#t.add(t);
2815
- }
2816
- let n = this.opts.absolute === void 0 ? t : this.opts.absolute;
2817
- this.seen.add(e);
2818
- let r = this.opts.mark && e.isDirectory() ? this.#n : "";
2819
- if (this.opts.withFileTypes) this.matchEmit(e);
2820
- else if (n) {
2821
- let t = this.opts.posix ? e.fullpathPosix() : e.fullpath();
2822
- this.matchEmit(t + r);
2823
- } else {
2824
- let t = this.opts.posix ? e.relativePosix() : e.relative(), n = this.opts.dotRelative && !t.startsWith(".." + this.#n) ? "." + this.#n : "";
2825
- this.matchEmit(t ? n + t + r : "." + r);
2826
- }
2827
- }
2828
- async match(e, t, n) {
2829
- let r = await this.matchCheck(e, n);
2830
- r && this.matchFinish(r, t);
2831
- }
2832
- matchSync(e, t, n) {
2833
- let r = this.matchCheckSync(e, n);
2834
- r && this.matchFinish(r, t);
2835
- }
2836
- walkCB(e, t, n) {
2837
- this.signal?.aborted && n(), this.walkCB2(e, t, new zn(this.opts), n);
2838
- }
2839
- walkCB2(e, t, n, r) {
2840
- if (this.#i(e)) return r();
2841
- if (this.signal?.aborted && r(), this.paused) {
2842
- this.onResume(() => this.walkCB2(e, t, n, r));
2843
- return;
2844
- }
2845
- n.processPatterns(e, t);
2846
- let i = 1, a = () => {
2847
- --i === 0 && r();
2848
- };
2849
- for (let [e, t, r] of n.matches.entries()) this.#r(e) || (i++, this.match(e, t, r).then(() => a()));
2850
- for (let e of n.subwalkTargets()) {
2851
- if (this.maxDepth !== Infinity && e.depth() >= this.maxDepth) continue;
2852
- i++;
2853
- let t = e.readdirCached();
2854
- e.calledReaddir() ? this.walkCB3(e, t, n, a) : e.readdirCB((t, r) => this.walkCB3(e, r, n, a), !0);
2855
- }
2856
- a();
2857
- }
2858
- walkCB3(e, t, n, r) {
2859
- n = n.filterEntries(e, t);
2860
- let i = 1, a = () => {
2861
- --i === 0 && r();
2862
- };
2863
- for (let [e, t, r] of n.matches.entries()) this.#r(e) || (i++, this.match(e, t, r).then(() => a()));
2864
- for (let [e, t] of n.subwalks.entries()) i++, this.walkCB2(e, t, n.child(), a);
2865
- a();
2866
- }
2867
- walkCBSync(e, t, n) {
2868
- this.signal?.aborted && n(), this.walkCB2Sync(e, t, new zn(this.opts), n);
2869
- }
2870
- walkCB2Sync(e, t, n, r) {
2871
- if (this.#i(e)) return r();
2872
- if (this.signal?.aborted && r(), this.paused) {
2873
- this.onResume(() => this.walkCB2Sync(e, t, n, r));
2874
- return;
2875
- }
2876
- n.processPatterns(e, t);
2877
- let i = 1, a = () => {
2878
- --i === 0 && r();
2879
- };
2880
- for (let [e, t, r] of n.matches.entries()) this.#r(e) || this.matchSync(e, t, r);
2881
- for (let e of n.subwalkTargets()) {
2882
- if (this.maxDepth !== Infinity && e.depth() >= this.maxDepth) continue;
2883
- i++;
2884
- let t = e.readdirSync();
2885
- this.walkCB3Sync(e, t, n, a);
2886
- }
2887
- a();
2888
- }
2889
- walkCB3Sync(e, t, n, r) {
2890
- n = n.filterEntries(e, t);
2891
- let i = 1, a = () => {
2892
- --i === 0 && r();
2893
- };
2894
- for (let [e, t, r] of n.matches.entries()) this.#r(e) || this.matchSync(e, t, r);
2895
- for (let [e, t] of n.subwalks.entries()) i++, this.walkCB2Sync(e, t, n.child(), a);
2896
- a();
2897
- }
2898
- }, Hn = class extends Vn {
2899
- matches = /* @__PURE__ */ new Set();
2900
- constructor(e, t, n) {
2901
- super(e, t, n);
2902
- }
2903
- matchEmit(e) {
2904
- this.matches.add(e);
2905
- }
2906
- async walk() {
2907
- if (this.signal?.aborted) throw this.signal.reason;
2908
- return this.path.isUnknown() && await this.path.lstat(), await new Promise((e, t) => {
2909
- this.walkCB(this.path, this.patterns, () => {
2910
- this.signal?.aborted ? t(this.signal.reason) : e(this.matches);
2911
- });
2912
- }), this.matches;
2913
- }
2914
- walkSync() {
2915
- if (this.signal?.aborted) throw this.signal.reason;
2916
- return this.path.isUnknown() && this.path.lstatSync(), this.walkCBSync(this.path, this.patterns, () => {
2917
- if (this.signal?.aborted) throw this.signal.reason;
2918
- }), this.matches;
2919
- }
2920
- }, Un = class extends Vn {
2921
- results;
2922
- constructor(e, t, n) {
2923
- super(e, t, n), this.results = new Xt({
2924
- signal: this.signal,
2925
- objectMode: !0
2926
- }), this.results.on("drain", () => this.resume()), this.results.on("resume", () => this.resume());
2927
- }
2928
- matchEmit(e) {
2929
- this.results.write(e), this.results.flowing || this.pause();
2930
- }
2931
- stream() {
2932
- let e = this.path;
2933
- return e.isUnknown() ? e.lstat().then(() => {
2934
- this.walkCB(e, this.patterns, () => this.results.end());
2935
- }) : this.walkCB(e, this.patterns, () => this.results.end()), this.results;
2936
- }
2937
- streamSync() {
2938
- return this.path.isUnknown() && this.path.lstatSync(), this.walkCBSync(this.path, this.patterns, () => this.results.end()), this.results;
2939
- }
2940
- }, Wn = typeof process == "object" && process && typeof process.platform == "string" ? process.platform : "linux", $ = class {
2941
- absolute;
2942
- cwd;
2943
- root;
2944
- dot;
2945
- dotRelative;
2946
- follow;
2947
- ignore;
2948
- magicalBraces;
2949
- mark;
2950
- matchBase;
2951
- maxDepth;
2952
- nobrace;
2953
- nocase;
2954
- nodir;
2955
- noext;
2956
- noglobstar;
2957
- pattern;
2958
- platform;
2959
- realpath;
2960
- scurry;
2961
- stat;
2962
- signal;
2963
- windowsPathsNoEscape;
2964
- withFileTypes;
2965
- includeChildMatches;
2966
- opts;
2967
- patterns;
2968
- constructor(e, t) {
2969
- if (!t) throw TypeError("glob options required");
2970
- if (this.withFileTypes = !!t.withFileTypes, this.signal = t.signal, this.follow = !!t.follow, this.dot = !!t.dot, this.dotRelative = !!t.dotRelative, this.nodir = !!t.nodir, this.mark = !!t.mark, t.cwd ? (t.cwd instanceof URL || t.cwd.startsWith("file://")) && (t.cwd = r(t.cwd)) : this.cwd = "", this.cwd = t.cwd || "", this.root = t.root, this.magicalBraces = !!t.magicalBraces, this.nobrace = !!t.nobrace, this.noext = !!t.noext, this.realpath = !!t.realpath, this.absolute = t.absolute, this.includeChildMatches = t.includeChildMatches !== !1, this.noglobstar = !!t.noglobstar, this.matchBase = !!t.matchBase, this.maxDepth = typeof t.maxDepth == "number" ? t.maxDepth : Infinity, this.stat = !!t.stat, this.ignore = t.ignore, this.withFileTypes && this.absolute !== void 0) throw Error("cannot set absolute and withFileTypes:true");
2971
- if (typeof e == "string" && (e = [e]), this.windowsPathsNoEscape = !!t.windowsPathsNoEscape || t.allowWindowsEscape === !1, this.windowsPathsNoEscape && (e = e.map((e) => e.replace(/\\/g, "/"))), this.matchBase) {
2972
- if (t.noglobstar) throw TypeError("base matching requires globstar");
2973
- e = e.map((e) => e.includes("/") ? e : `./**/${e}`);
2974
- }
2975
- if (this.pattern = e, this.platform = t.platform || Wn, this.opts = {
2976
- ...t,
2977
- platform: this.platform
2978
- }, t.scurry) {
2979
- if (this.scurry = t.scurry, t.nocase !== void 0 && t.nocase !== t.scurry.nocase) throw Error("nocase option contradicts provided scurry option");
2980
- } else {
2981
- let e = t.platform === "win32" ? En : t.platform === "darwin" ? On : t.platform ? Dn : kn;
2982
- this.scurry = new e(this.cwd, {
2983
- nocase: t.nocase,
2984
- fs: t.fs
2985
- });
2986
- }
2987
- this.nocase = this.scurry.nocase;
2988
- let n = this.platform === "darwin" || this.platform === "win32", i = {
2989
- braceExpandMax: 1e4,
2990
- ...t,
2991
- dot: this.dot,
2992
- matchBase: this.matchBase,
2993
- nobrace: this.nobrace,
2994
- nocase: this.nocase,
2995
- nocaseMagicOnly: n,
2996
- nocomment: !0,
2997
- noext: this.noext,
2998
- nonegate: !0,
2999
- optimizationLevel: 2,
3000
- platform: this.platform,
3001
- windowsPathsNoEscape: this.windowsPathsNoEscape,
3002
- debug: !!this.opts.debug
3003
- }, [a, o] = this.pattern.map((e) => new T(e, i)).reduce((e, t) => (e[0].push(...t.set), e[1].push(...t.globParts), e), [[], []]);
3004
- this.patterns = a.map((e, t) => {
3005
- let n = o[t];
3006
- if (!n) throw Error("invalid pattern object");
3007
- return new Nn(e, n, 0, this.platform);
3008
- });
3009
- }
3010
- async walk() {
3011
- return [...await new Hn(this.patterns, this.scurry.cwd, {
3012
- ...this.opts,
3013
- maxDepth: this.maxDepth === Infinity ? Infinity : this.maxDepth + this.scurry.cwd.depth(),
3014
- platform: this.platform,
3015
- nocase: this.nocase,
3016
- includeChildMatches: this.includeChildMatches
3017
- }).walk()];
3018
- }
3019
- walkSync() {
3020
- return [...new Hn(this.patterns, this.scurry.cwd, {
3021
- ...this.opts,
3022
- maxDepth: this.maxDepth === Infinity ? Infinity : this.maxDepth + this.scurry.cwd.depth(),
3023
- platform: this.platform,
3024
- nocase: this.nocase,
3025
- includeChildMatches: this.includeChildMatches
3026
- }).walkSync()];
3027
- }
3028
- stream() {
3029
- return new Un(this.patterns, this.scurry.cwd, {
3030
- ...this.opts,
3031
- maxDepth: this.maxDepth === Infinity ? Infinity : this.maxDepth + this.scurry.cwd.depth(),
3032
- platform: this.platform,
3033
- nocase: this.nocase,
3034
- includeChildMatches: this.includeChildMatches
3035
- }).stream();
3036
- }
3037
- streamSync() {
3038
- return new Un(this.patterns, this.scurry.cwd, {
3039
- ...this.opts,
3040
- maxDepth: this.maxDepth === Infinity ? Infinity : this.maxDepth + this.scurry.cwd.depth(),
3041
- platform: this.platform,
3042
- nocase: this.nocase,
3043
- includeChildMatches: this.includeChildMatches
3044
- }).streamSync();
3045
- }
3046
- iterateSync() {
3047
- return this.streamSync()[Symbol.iterator]();
3048
- }
3049
- [Symbol.iterator]() {
3050
- return this.iterateSync();
3051
- }
3052
- iterate() {
3053
- return this.stream()[Symbol.asyncIterator]();
3054
- }
3055
- [Symbol.asyncIterator]() {
3056
- return this.iterate();
3057
- }
3058
- }, Gn = (e, t = {}) => {
3059
- Array.isArray(e) || (e = [e]);
3060
- for (let n of e) if (new T(n, t).hasMagic()) return !0;
3061
- return !1;
3062
- };
3063
- function Kn(e, t = {}) {
3064
- return new $(e, t).streamSync();
3065
- }
3066
- function qn(e, t = {}) {
3067
- return new $(e, t).stream();
3068
- }
3069
- function Jn(e, t = {}) {
3070
- return new $(e, t).walkSync();
3071
- }
3072
- async function Yn(e, t = {}) {
3073
- return new $(e, t).walk();
3074
- }
3075
- function Xn(e, t = {}) {
3076
- return new $(e, t).iterateSync();
3077
- }
3078
- function Zn(e, t = {}) {
3079
- return new $(e, t).iterate();
3080
- }
3081
- var Qn = Kn, $n = Object.assign(qn, { sync: Kn }), er = Xn, tr = Object.assign(Zn, { sync: Xn }), nr = Object.assign(Jn, {
3082
- stream: Kn,
3083
- iterate: Xn
3084
- }), rr = Object.assign(Yn, {
3085
- glob: Yn,
3086
- globSync: Jn,
3087
- sync: nr,
3088
- globStream: qn,
3089
- stream: $n,
3090
- globStreamSync: Kn,
3091
- streamSync: Qn,
3092
- globIterate: Zn,
3093
- iterate: tr,
3094
- globIterateSync: Xn,
3095
- iterateSync: er,
3096
- Glob: $,
3097
- hasMagic: Gn,
3098
- escape: ze,
3099
- unescape: x
3100
- });
3101
- rr.glob = rr;
3102
- //#endregion
3103
- export { rr as Ze };
3104
-
3105
- //# sourceMappingURL=index.min.js.map