4.09 MB
/tmp/tmp1uxhkmyz/downloads/capacitor-cli-8.1.0-hfa286de_0.conda vs.
/tmp/tmp1uxhkmyz/rebuild/capacitor-cli/capacitor-cli-8.1.0-hfa286de_0-rebuilt-20260214-035008.conda
738 B
zipinfo {}
    
Offset 1, 5 lines modifiedOffset 1, 5 lines modified
1 Zip·file·size:·4824880·bytes,·number·of·entries:·31 Zip·file·size:·4939205·bytes,·number·of·entries:·3
2 -rw-r--r--··4.5·unx·······30·bx·stor·26-Feb-11·21:03·metadata.json2 -rw-r--r--··4.5·unx·······30·bx·stor·26-Feb-11·21:03·metadata.json
3 -rw-r--r--··4.5·unx··4742237·bx·stor·26-Feb-11·21:03·pkg-capacitor-cli-8.1.0-hfa286de_0.tar.zst3 -rw-r--r--··4.5·unx··4853082·bx·stor·26-Feb-11·21:03·pkg-capacitor-cli-8.1.0-hfa286de_0.tar.zst
4 -rw-r--r--··4.5·unx····82047·bx·stor·26-Feb-11·21:03·info-capacitor-cli-8.1.0-hfa286de_0.tar.zst4 -rw-r--r--··4.5·unx····85527·bx·stor·26-Feb-11·21:03·info-capacitor-cli-8.1.0-hfa286de_0.tar.zst
5 3·files,·4824314·bytes·uncompressed,·4824314·bytes·compressed:··0.0%5 3·files,·4938639·bytes·uncompressed,·4938639·bytes·compressed:··0.0%
8.72 KB
zipdetails --redact --utc {}
    
Offset 19, 125 lines modifiedOffset 19, 125 lines modified
  
19 00005D·LOCAL·HEADER·#2·······04034B5019 00005D·LOCAL·HEADER·#2·······04034B50
20 000061·Extract·Zip·Spec······2D·'4.5'20 000061·Extract·Zip·Spec······2D·'4.5'
21 000062·Extract·OS············00·'MS-DOS'21 000062·Extract·OS············00·'MS-DOS'
22 000063·General·Purpose·Flag··000022 000063·General·Purpose·Flag··0000
23 000065·Compression·Method····0000·'Stored'23 000065·Compression·Method····0000·'Stored'
24 000067·Last·Mod·Time·········5C4BA87B·'Wed·Feb·11·21:03:54·2026'24 000067·Last·Mod·Time·········5C4BA87B·'Wed·Feb·11·21:03:54·2026'
25 00006B·CRC···················AD474B8E25 00006B·CRC···················047530A9
26 00006F·Compressed·Length·····FFFFFFFF26 00006F·Compressed·Length·····FFFFFFFF
27 000073·Uncompressed·Length···FFFFFFFF27 000073·Uncompressed·Length···FFFFFFFF
28 000077·Filename·Length·······002A28 000077·Filename·Length·······002A
29 000079·Extra·Length··········001429 000079·Extra·Length··········0014
30 00007B·Filename··············'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX30 00007B·Filename··············'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
31 ·····························XXX'31 ·····························XXX'
32 0000A5·Extra·ID·#0001········0001·'ZIP64'32 0000A5·Extra·ID·#0001········0001·'ZIP64'
33 0000A7···Length··············001033 0000A7···Length··············0010
34 0000A9···Uncompressed·Size···0000000000485C5D34 0000A9···Uncompressed·Size···00000000004A0D5A
35 0000B1···Compressed·Size·····0000000000485C5D35 0000B1···Compressed·Size·····00000000004A0D5A
36 0000B9·PAYLOAD36 0000B9·PAYLOAD
  
37 485D16·LOCAL·HEADER·#3·······04034B5037 4A0E13·LOCAL·HEADER·#3·······04034B50
38 485D1A·Extract·Zip·Spec······2D·'4.5'38 4A0E17·Extract·Zip·Spec······2D·'4.5'
39 485D1B·Extract·OS············00·'MS-DOS'39 4A0E18·Extract·OS············00·'MS-DOS'
40 485D1C·General·Purpose·Flag··000040 4A0E19·General·Purpose·Flag··0000
41 485D1E·Compression·Method····0000·'Stored'41 4A0E1B·Compression·Method····0000·'Stored'
42 485D20·Last·Mod·Time·········5C4BA87B·'Wed·Feb·11·21:03:54·2026'42 4A0E1D·Last·Mod·Time·········5C4BA87B·'Wed·Feb·11·21:03:54·2026'
43 485D24·CRC···················312B03D743 4A0E21·CRC···················E736BCB8
44 485D28·Compressed·Length·····FFFFFFFF44 4A0E25·Compressed·Length·····FFFFFFFF
45 485D2C·Uncompressed·Length···FFFFFFFF45 4A0E29·Uncompressed·Length···FFFFFFFF
46 485D30·Filename·Length·······002B46 4A0E2D·Filename·Length·······002B
47 485D32·Extra·Length··········001447 4A0E2F·Extra·Length··········0014
48 485D34·Filename··············'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX48 4A0E31·Filename··············'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
49 ·····························XXXX'49 ·····························XXXX'
50 485D5F·Extra·ID·#0001········0001·'ZIP64'50 4A0E5C·Extra·ID·#0001········0001·'ZIP64'
51 485D61···Length··············001051 4A0E5E···Length··············0010
52 485D63···Uncompressed·Size···000000000001407F52 4A0E60···Uncompressed·Size···0000000000014E17
53 485D6B···Compressed·Size·····000000000001407F53 4A0E68···Compressed·Size·····0000000000014E17
54 485D73·PAYLOAD54 4A0E70·PAYLOAD
  
55 499DF2·CENTRAL·HEADER·#1·····02014B5055 4B5C87·CENTRAL·HEADER·#1·····02014B50
56 499DF6·Created·Zip·Spec······2D·'4.5'56 4B5C8B·Created·Zip·Spec······2D·'4.5'
57 499DF7·Created·OS············03·'Unix'57 4B5C8C·Created·OS············03·'Unix'
58 499DF8·Extract·Zip·Spec······2D·'4.5'58 4B5C8D·Extract·Zip·Spec······2D·'4.5'
59 499DF9·Extract·OS············00·'MS-DOS'59 4B5C8E·Extract·OS············00·'MS-DOS'
60 499DFA·General·Purpose·Flag··000060 4B5C8F·General·Purpose·Flag··0000
61 499DFC·Compression·Method····0000·'Stored'61 4B5C91·Compression·Method····0000·'Stored'
62 499DFE·Last·Mod·Time·········5C4BA87B·'Wed·Feb·11·21:03:54·2026'62 4B5C93·Last·Mod·Time·········5C4BA87B·'Wed·Feb·11·21:03:54·2026'
63 499E02·CRC···················2E6500CB63 4B5C97·CRC···················2E6500CB
64 499E06·Compressed·Length·····FFFFFFFF64 4B5C9B·Compressed·Length·····FFFFFFFF
65 499E0A·Uncompressed·Length···FFFFFFFF65 4B5C9F·Uncompressed·Length···FFFFFFFF
66 499E0E·Filename·Length·······000D66 4B5CA3·Filename·Length·······000D
67 499E10·Extra·Length··········001467 4B5CA5·Extra·Length··········0014
68 499E12·Comment·Length········000068 4B5CA7·Comment·Length········0000
69 499E14·Disk·Start············000069 4B5CA9·Disk·Start············0000
70 499E16·Int·File·Attributes···000070 4B5CAB·Int·File·Attributes···0000
71 ·······[Bit·0]···············0·'Binary·Data'71 ·······[Bit·0]···············0·'Binary·Data'
72 499E18·Ext·File·Attributes···81A4000072 4B5CAD·Ext·File·Attributes···81A40000
73 499E1C·Local·Header·Offset···0000000073 4B5CB1·Local·Header·Offset···00000000
74 499E20·Filename··············'XXXXXXXXXXXXX'74 4B5CB5·Filename··············'XXXXXXXXXXXXX'
75 499E2D·Extra·ID·#0001········0001·'ZIP64'75 4B5CC2·Extra·ID·#0001········0001·'ZIP64'
76 499E2F···Length··············001076 4B5CC4···Length··············0010
77 499E31···Uncompressed·Size···000000000000001E77 4B5CC6···Uncompressed·Size···000000000000001E
78 499E39···Compressed·Size·····000000000000001E78 4B5CCE···Compressed·Size·····000000000000001E
  
79 499E41·CENTRAL·HEADER·#2·····02014B5079 4B5CD6·CENTRAL·HEADER·#2·····02014B50
80 499E45·Created·Zip·Spec······2D·'4.5'80 4B5CDA·Created·Zip·Spec······2D·'4.5'
81 499E46·Created·OS············03·'Unix'81 4B5CDB·Created·OS············03·'Unix'
82 499E47·Extract·Zip·Spec······2D·'4.5'82 4B5CDC·Extract·Zip·Spec······2D·'4.5'
83 499E48·Extract·OS············00·'MS-DOS'83 4B5CDD·Extract·OS············00·'MS-DOS'
84 499E49·General·Purpose·Flag··000084 4B5CDE·General·Purpose·Flag··0000
85 499E4B·Compression·Method····0000·'Stored'85 4B5CE0·Compression·Method····0000·'Stored'
86 499E4D·Last·Mod·Time·········5C4BA87B·'Wed·Feb·11·21:03:54·2026'86 4B5CE2·Last·Mod·Time·········5C4BA87B·'Wed·Feb·11·21:03:54·2026'
87 499E51·CRC···················AD474B8E87 4B5CE6·CRC···················047530A9
88 499E55·Compressed·Length·····FFFFFFFF88 4B5CEA·Compressed·Length·····FFFFFFFF
89 499E59·Uncompressed·Length···FFFFFFFF89 4B5CEE·Uncompressed·Length···FFFFFFFF
90 499E5D·Filename·Length·······002A90 4B5CF2·Filename·Length·······002A
91 499E5F·Extra·Length··········001491 4B5CF4·Extra·Length··········0014
92 499E61·Comment·Length········000092 4B5CF6·Comment·Length········0000
93 499E63·Disk·Start············000093 4B5CF8·Disk·Start············0000
94 499E65·Int·File·Attributes···000094 4B5CFA·Int·File·Attributes···0000
95 ·······[Bit·0]···············0·'Binary·Data'95 ·······[Bit·0]···············0·'Binary·Data'
96 499E67·Ext·File·Attributes···81A4000096 4B5CFC·Ext·File·Attributes···81A40000
97 499E6B·Local·Header·Offset···0000005D97 4B5D00·Local·Header·Offset···0000005D
98 499E6F·Filename··············'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX98 4B5D04·Filename··············'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
99 ·····························XXX'99 ·····························XXX'
100 499E99·Extra·ID·#0001········0001·'ZIP64'100 4B5D2E·Extra·ID·#0001········0001·'ZIP64'
101 499E9B···Length··············0010101 4B5D30···Length··············0010
102 499E9D···Uncompressed·Size···0000000000485C5D102 4B5D32···Uncompressed·Size···00000000004A0D5A
103 499EA5···Compressed·Size·····0000000000485C5D103 4B5D3A···Compressed·Size·····00000000004A0D5A
  
104 499EAD·CENTRAL·HEADER·#3·····02014B50104 4B5D42·CENTRAL·HEADER·#3·····02014B50
105 499EB1·Created·Zip·Spec······2D·'4.5'105 4B5D46·Created·Zip·Spec······2D·'4.5'
106 499EB2·Created·OS············03·'Unix'106 4B5D47·Created·OS············03·'Unix'
107 499EB3·Extract·Zip·Spec······2D·'4.5'107 4B5D48·Extract·Zip·Spec······2D·'4.5'
108 499EB4·Extract·OS············00·'MS-DOS'108 4B5D49·Extract·OS············00·'MS-DOS'
109 499EB5·General·Purpose·Flag··0000109 4B5D4A·General·Purpose·Flag··0000
110 499EB7·Compression·Method····0000·'Stored'110 4B5D4C·Compression·Method····0000·'Stored'
111 499EB9·Last·Mod·Time·········5C4BA87B·'Wed·Feb·11·21:03:54·2026'111 4B5D4E·Last·Mod·Time·········5C4BA87B·'Wed·Feb·11·21:03:54·2026'
112 499EBD·CRC···················312B03D7112 4B5D52·CRC···················E736BCB8
Max diff block lines reached; 1272/8870 bytes (14.34%) of diff not shown.
3.98 MB
pkg-capacitor-cli-8.1.0-hfa286de_0.tar.zst
3.98 MB
pkg-capacitor-cli-8.1.0-hfa286de_0.tar
49.8 KB
file list
    
Offset 166, 40 lines modifiedOffset 166, 87 lines modified
166 -rw-r--r--···0········0········0·····1601·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/dist/format.d.ts166 -rw-r--r--···0········0········0·····1601·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/dist/format.d.ts
167 -rw-r--r--···0········0········0·····4925·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/dist/format.js167 -rw-r--r--···0········0········0·····4925·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/dist/format.js
168 -rw-r--r--···0········0········0······100·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/dist/index.d.ts168 -rw-r--r--···0········0········0······100·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/dist/index.d.ts
169 -rw-r--r--···0········0········0······315·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/dist/index.js169 -rw-r--r--···0········0········0······315·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/dist/index.js
170 -rw-r--r--···0········0········0······752·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/dist/info.d.ts170 -rw-r--r--···0········0········0······752·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/dist/info.d.ts
171 -rw-r--r--···0········0········0·····1751·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/dist/info.js171 -rw-r--r--···0········0········0·····1751·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/dist/info.js
172 -rw-r--r--···0········0········0·····1411·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/package.json172 -rw-r--r--···0········0········0·····1411·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/package.json
173 -rw-r--r--···0········0········0·····1155·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/LICENSE.md173 -rw-r--r--···0········0········0·····1779·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/LICENSE.md
174 -rw-r--r--···0········0········0·····2112·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/README.md174 -rw-r--r--···0········0········0·····3218·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/README.md
 175 -rw-r--r--···0········0········0······137·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.d.ts
 176 -rw-r--r--···0········0········0······163·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.d.ts.map
 177 -rw-r--r--···0········0········0······827·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.js
 178 -rw-r--r--···0········0········0·····1263·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.js.map
 179 -rw-r--r--···0········0········0·····1183·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.d.ts
 180 -rw-r--r--···0········0········0······592·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.d.ts.map
 181 -rw-r--r--···0········0········0·····5412·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.js
 182 -rw-r--r--···0········0········0····11510·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.js.map
 183 -rw-r--r--···0········0········0······411·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.d.ts
 184 -rw-r--r--···0········0········0······388·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.d.ts.map
 185 -rw-r--r--···0········0········0····12773·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.js
 186 -rw-r--r--···0········0········0····23233·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.js.map
 187 -rw-r--r--···0········0········0·······82·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.d.ts
 188 -rw-r--r--···0········0········0······153·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.d.ts.map
 189 -rw-r--r--···0········0········0····15872·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.js
 190 -rw-r--r--···0········0········0····18320·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.js.map
175 -rw-r--r--···0········0········0······334·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/commonjs/index.d.ts191 -rw-r--r--···0········0········0·····1194·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/index.d.ts
176 -rw-r--r--···0········0········0······323·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/commonjs/index.d.ts.map 
177 -rw-r--r--···0········0········0·····1779·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/commonjs/index.js 
178 -rw-r--r--···0········0········0·····4189·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/commonjs/index.js.map 
179 -rw-r--r--···0········0········0·······25·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/commonjs/package.json 
180 -rw-r--r--···0········0········0······334·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/esm/index.d.ts 
181 -rw-r--r--···0········0········0······323·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/esm/index.d.ts.map 
182 -rw-r--r--···0········0········0·····1608·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/esm/index.js 
183 -rw-r--r--···0········0········0·····4155·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/esm/index.js.map 
184 -rw-r--r--···0········0········0·······23·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/esm/package.json 
185 -rw-r--r--···0········0········0·····1844·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/package.json 
186 -rw-r--r--···0········0········0·····1144·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/LICENSE 
187 -rw-r--r--···0········0········0·····2525·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/README.md 
188 -rw-r--r--···0········0········0······227·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/dist/commonjs/index.d.ts 
189 -rw-r--r--···0········0········0······273·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/dist/commonjs/index.d.ts.map192 -rw-r--r--···0········0········0·····1376·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/index.d.ts.map
190 -rw-r--r--···0········0········0·····6850·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/dist/commonjs/index.js193 -rw-r--r--···0········0········0····11010·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/index.js
191 -rw-r--r--···0········0········0····13788·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/dist/commonjs/index.js.map194 -rw-r--r--···0········0········0····21592·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/index.js.map
 195 -rw-r--r--···0········0········0····29382·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/index.min.js
 196 -rw-r--r--···0········0········0····75170·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/index.min.js.map
192 -rw-r--r--···0········0········0·······25·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/dist/commonjs/package.json197 -rw-r--r--···0········0········0·······25·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/package.json
 198 -rw-r--r--···0········0········0······172·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.d.ts
 199 -rw-r--r--···0········0········0······255·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.d.ts.map
 200 -rw-r--r--···0········0········0·····1513·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.js
 201 -rw-r--r--···0········0········0·····2653·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.js.map
 202 -rw-r--r--···0········0········0·······92·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.d.ts
 203 -rw-r--r--···0········0········0······166·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.d.ts.map
 204 -rw-r--r--···0········0········0······317·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.js
 205 -rw-r--r--···0········0········0······462·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.js.map
 206 -rw-r--r--···0········0········0······213·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.d.ts
 207 -rw-r--r--···0········0········0······323·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.d.ts.map
 208 -rw-r--r--···0········0········0·····6886·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.js
 209 -rw-r--r--···0········0········0····13953·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.js.map
 210 -rw-r--r--···0········0········0······137·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.d.ts
 211 -rw-r--r--···0········0········0······163·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.d.ts.map
 212 -rw-r--r--···0········0········0······698·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.js
 213 -rw-r--r--···0········0········0·····1249·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.js.map
 214 -rw-r--r--···0········0········0·····1183·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.d.ts
 215 -rw-r--r--···0········0········0······592·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.d.ts.map
 216 -rw-r--r--···0········0········0·····5181·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.js
 217 -rw-r--r--···0········0········0····11568·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.js.map
 218 -rw-r--r--···0········0········0······411·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.d.ts
 219 -rw-r--r--···0········0········0······388·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.d.ts.map
 220 -rw-r--r--···0········0········0····12366·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.js
 221 -rw-r--r--···0········0········0····23134·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.js.map
 222 -rw-r--r--···0········0········0·······82·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.d.ts
 223 -rw-r--r--···0········0········0······153·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.d.ts.map
 224 -rw-r--r--···0········0········0····15740·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.js
 225 -rw-r--r--···0········0········0····18303·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.js.map
193 -rw-r--r--···0········0········0······227·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/dist/esm/index.d.ts226 -rw-r--r--···0········0········0·····1194·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/index.d.ts
194 -rw-r--r--···0········0········0······273·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/dist/esm/index.d.ts.map227 -rw-r--r--···0········0········0·····1376·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/index.d.ts.map
195 -rw-r--r--···0········0········0·····6667·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/dist/esm/index.js228 -rw-r--r--···0········0········0····10669·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/index.js
196 -rw-r--r--···0········0········0····13803·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/dist/esm/index.js.map229 -rw-r--r--···0········0········0····21591·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/index.js.map
 230 -rw-r--r--···0········0········0····27224·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/index.min.js
 231 -rw-r--r--···0········0········0····73770·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/index.min.js.map
197 -rw-r--r--···0········0········0·······23·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/dist/esm/package.json232 -rw-r--r--···0········0········0·······23·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/package.json
 233 -rw-r--r--···0········0········0······172·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/string-width/index.d.ts
 234 -rw-r--r--···0········0········0······255·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/string-width/index.d.ts.map
 235 -rw-r--r--···0········0········0·····1360·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/string-width/index.js
 236 -rw-r--r--···0········0········0·····2714·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/string-width/index.js.map
 237 -rw-r--r--···0········0········0·······92·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.d.ts
 238 -rw-r--r--···0········0········0······166·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.d.ts.map
 239 -rw-r--r--···0········0········0······170·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.js
 240 -rw-r--r--···0········0········0······471·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.js.map
 241 -rw-r--r--···0········0········0······213·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.d.ts
 242 -rw-r--r--···0········0········0······323·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.d.ts.map
 243 -rw-r--r--···0········0········0·····6662·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.js
 244 -rw-r--r--···0········0········0····13993·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.js.map
198 -rw-r--r--···0········0········0·····1456·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/brace-expansion/package.json245 -rw-r--r--···0········0········0·····4589·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/package.json
199 -rw-r--r--···0········0········0······765·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/fs-minipass/LICENSE246 -rw-r--r--···0········0········0······765·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/fs-minipass/LICENSE
200 -rw-r--r--···0········0········0·····2546·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/fs-minipass/README.md247 -rw-r--r--···0········0········0·····2546·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/fs-minipass/README.md
201 -rw-r--r--···0········0········0·····3906·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts248 -rw-r--r--···0········0········0·····3906·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts
202 -rw-r--r--···0········0········0·····4163·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts.map249 -rw-r--r--···0········0········0·····4163·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts.map
203 -rw-r--r--···0········0········0····12791·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js250 -rw-r--r--···0········0········0····12791·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js
204 -rw-r--r--···0········0········0····27213·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js.map251 -rw-r--r--···0········0········0····27213·2026-02-11·21:03:54.000000·lib/node_modules/@capacitor/cli/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js.map
Max diff block lines reached; 32893/50993 bytes (64.50%) of diff not shown.
624 KB
lib/node_modules/@capacitor/cli/node_modules/glob/dist/commonjs/index.min.js
'js-beautify' not available in path. Falling back to binary comparison.
    
Offset 883, 4633 lines modifiedOffset 883, 4635 lines modified
00003720:·672e·6465·6661·756c·7473·3b76·6172·204b··g.defaults;var·K00003720:·672e·6465·6661·756c·7473·3b76·6172·204b··g.defaults;var·K
00003730:·693d·286e·2c74·3d7b·7d29·3d3e·2828·302c··i=(n,t={})=>((0,00003730:·693d·286e·2c74·3d7b·7d29·3d3e·2828·302c··i=(n,t={})=>((0,
00003740:·6a74·2e61·7373·6572·7456·616c·6964·5061··jt.assertValidPa00003740:·6a74·2e61·7373·6572·7456·616c·6964·5061··jt.assertValidPa
00003750:·7474·6572·6e29·286e·292c·742e·6e6f·6272··ttern)(n),t.nobr00003750:·7474·6572·6e29·286e·292c·742e·6e6f·6272··ttern)(n),t.nobr
00003760:·6163·657c·7c21·2f5c·7b28·3f3a·283f·215c··ace||!/\{(?:(?!\00003760:·6163·657c·7c21·2f5c·7b28·3f3a·283f·215c··ace||!/\{(?:(?!\
00003770:·7b29·2e29·2a5c·7d2f·2e74·6573·7428·6e29··{).)*\}/.test(n)00003770:·7b29·2e29·2a5c·7d2f·2e74·6573·7428·6e29··{).)*\}/.test(n)
Diff chunk too large, falling back to line-by-line diff (847 lines added, 847 lines removed)
00003780:·3f5b·6e5d·3a28·302c·5369·2e65·7870·616e··?[n]:(0,Si.expan00003780:·3f5b·6e5d·3a28·302c·5369·2e65·7870·616e··?[n]:(0,Si.expan
00003790:·6429·286e·2929·3b67·2e62·7261·6365·4578··d)(n));g.braceEx00003790:·6429·286e·2c7b·6d61·783a·742e·6272·6163··d)(n,{max:t.brac
000037a0:·7061·6e64·3d4b·693b·672e·6d69·6e69·6d61··pand=Ki;g.minima000037a0:·6545·7870·616e·644d·6178·7d29·293b·672e··eExpandMax}));g.
000037b0:·7463·682e·6272·6163·6545·7870·616e·643d··tch.braceExpand=000037b0:·6272·6163·6545·7870·616e·643d·4b69·3b67··braceExpand=Ki;g
000037c0:·672e·6272·6163·6545·7870·616e·643b·7661··g.braceExpand;va000037c0:·2e6d·696e·696d·6174·6368·2e62·7261·6365··.minimatch.brace
000037d0:·7220·5869·3d28·6e2c·743d·7b7d·293d·3e6e··r·Xi=(n,t={})=>n000037d0:·4578·7061·6e64·3d67·2e62·7261·6365·4578··Expand=g.braceEx
000037e0:·6577·204a·286e·2c74·292e·6d61·6b65·5265··ew·J(n,t).makeRe000037e0:·7061·6e64·3b76·6172·2058·693d·286e·2c74··pand;var·Xi=(n,t
000037f0:·2829·3b67·2e6d·616b·6552·653d·5869·3b67··();g.makeRe=Xi;g000037f0:·3d7b·7d29·3d3e·6e65·7720·4a28·6e2c·7429··={})=>new·J(n,t)
00003800:·2e6d·696e·696d·6174·6368·2e6d·616b·6552··.minimatch.makeR00003800:·2e6d·616b·6552·6528·293b·672e·6d61·6b65··.makeRe();g.make
00003810:·653d·672e·6d61·6b65·5265·3b76·6172·2059··e=g.makeRe;var·Y00003810:·5265·3d58·693b·672e·6d69·6e69·6d61·7463··Re=Xi;g.minimatc
00003820:·693d·286e·2c74·2c65·3d7b·7d29·3d3e·7b6c··i=(n,t,e={})=>{l00003820:·682e·6d61·6b65·5265·3d67·2e6d·616b·6552··h.makeRe=g.makeR
00003830:·6574·2073·3d6e·6577·204a·2874·2c65·293b··et·s=new·J(t,e);00003830:·653b·7661·7220·5969·3d28·6e2c·742c·653d··e;var·Yi=(n,t,e=
00003840:·7265·7475·726e·206e·3d6e·2e66·696c·7465··return·n=n.filte00003840:·7b7d·293d·3e7b·6c65·7420·733d·6e65·7720··{})=>{let·s=new·
00003850:·7228·693d·3e73·2e6d·6174·6368·2869·2929··r(i=>s.match(i))00003850:·4a28·742c·6529·3b72·6574·7572·6e20·6e3d··J(t,e);return·n=
00003860:·2c73·2e6f·7074·696f·6e73·2e6e·6f6e·756c··,s.options.nonul00003860:·6e2e·6669·6c74·6572·2869·3d3e·732e·6d61··n.filter(i=>s.ma
00003870:·6c26·2621·6e2e·6c65·6e67·7468·2626·6e2e··l&&!n.length&&n.00003870:·7463·6828·6929·292c·732e·6f70·7469·6f6e··tch(i)),s.option
00003880:·7075·7368·2874·292c·6e7d·3b67·2e6d·6174··push(t),n};g.mat00003880:·732e·6e6f·6e75·6c6c·2626·216e·2e6c·656e··s.nonull&&!n.len
00003890:·6368·3d59·693b·672e·6d69·6e69·6d61·7463··ch=Yi;g.minimatc00003890:·6774·6826·266e·2e70·7573·6828·7429·2c6e··gth&&n.push(t),n
000038a0:·682e·6d61·7463·683d·672e·6d61·7463·683b··h.match=g.match;000038a0:·7d3b·672e·6d61·7463·683d·5969·3b67·2e6d··};g.match=Yi;g.m
000038b0:·7661·7220·7373·3d2f·5b3f·2a5d·7c5b·2b40··var·ss=/[?*]|[+@000038b0:·696e·696d·6174·6368·2e6d·6174·6368·3d67··inimatch.match=g
000038c0:·215d·5c28·2e2a·3f5c·297c·5c5b·7c5c·5d2f··!]\(.*?\)|\[|\]/000038c0:·2e6d·6174·6368·3b76·6172·2073·733d·2f5b··.match;var·ss=/[
000038d0:·2c4a·693d·6e3d·3e6e·2e72·6570·6c61·6365··,Ji=n=>n.replace000038d0:·3f2a·5d7c·5b2b·4021·5d5c·282e·2a3f·5c29··?*]|[+@!]\(.*?\)
000038e0:·282f·5b2d·5b5c·5d7b·7d28·292a·2b3f·2e2c··(/[-[\]{}()*+?.,000038e0:·7c5c·5b7c·5c5d·2f2c·4a69·3d6e·3d3e·6e2e··|\[|\]/,Ji=n=>n.
000038f0:·5c5c·5e24·7c23·5c73·5d2f·672c·225c·5c24··\\^$|#\s]/g,"\\$000038f0:·7265·706c·6163·6528·2f5b·2d5b·5c5d·7b7d··replace(/[-[\]{}
00003900:·2622·292c·4a3d·636c·6173·737b·6f70·7469··&"),J=class{opti00003900:·2829·2a2b·3f2e·2c5c·5c5e·247c·235c·735d··()*+?.,\\^$|#\s]
00003910:·6f6e·733b·7365·743b·7061·7474·6572·6e3b··ons;set;pattern;00003910:·2f67·2c22·5c5c·2426·2229·2c4a·3d63·6c61··/g,"\\$&"),J=cla
00003920:·7769·6e64·6f77·7350·6174·6873·4e6f·4573··windowsPathsNoEs00003920:·7373·7b6f·7074·696f·6e73·3b73·6574·3b70··ss{options;set;p
00003930:·6361·7065·3b6e·6f6e·6567·6174·653b·6e65··cape;nonegate;ne00003930:·6174·7465·726e·3b77·696e·646f·7773·5061··attern;windowsPa
00003940:·6761·7465·3b63·6f6d·6d65·6e74·3b65·6d70··gate;comment;emp00003940:·7468·734e·6f45·7363·6170·653b·6e6f·6e65··thsNoEscape;none
00003950:·7479·3b70·7265·7365·7276·654d·756c·7469··ty;preserveMulti00003950:·6761·7465·3b6e·6567·6174·653b·636f·6d6d··gate;negate;comm
00003960:·706c·6553·6c61·7368·6573·3b70·6172·7469··pleSlashes;parti00003960:·656e·743b·656d·7074·793b·7072·6573·6572··ent;empty;preser
00003970:·616c·3b67·6c6f·6253·6574·3b67·6c6f·6250··al;globSet;globP00003970:·7665·4d75·6c74·6970·6c65·536c·6173·6865··veMultipleSlashe
00003980:·6172·7473·3b6e·6f63·6173·653b·6973·5769··arts;nocase;isWi00003980:·733b·7061·7274·6961·6c3b·676c·6f62·5365··s;partial;globSe
00003990:·6e64·6f77·733b·706c·6174·666f·726d·3b77··ndows;platform;w00003990:·743b·676c·6f62·5061·7274·733b·6e6f·6361··t;globParts;noca
000039a0:·696e·646f·7773·4e6f·4d61·6769·6352·6f6f··indowsNoMagicRoo000039a0:·7365·3b69·7357·696e·646f·7773·3b70·6c61··se;isWindows;pla
000039b0:·743b·7265·6765·7870·3b63·6f6e·7374·7275··t;regexp;constru000039b0:·7466·6f72·6d3b·7769·6e64·6f77·734e·6f4d··tform;windowsNoM
000039c0:·6374·6f72·2874·2c65·3d7b·7d29·7b28·302c··ctor(t,e={}){(0,000039c0:·6167·6963·526f·6f74·3b72·6567·6578·703b··agicRoot;regexp;
000039d0:·6a74·2e61·7373·6572·7456·616c·6964·5061··jt.assertValidPa000039d0:·636f·6e73·7472·7563·746f·7228·742c·653d··constructor(t,e=
000039e0:·7474·6572·6e29·2874·292c·653d·657c·7c7b··ttern)(t),e=e||{000039e0:·7b7d·297b·2830·2c6a·742e·6173·7365·7274··{}){(0,jt.assert
000039f0:·7d2c·7468·6973·2e6f·7074·696f·6e73·3d65··},this.options=e000039f0:·5661·6c69·6450·6174·7465·726e·2928·7429··ValidPattern)(t)
00003a00:·2c74·6869·732e·7061·7474·6572·6e3d·742c··,this.pattern=t,00003a00:·2c65·3d65·7c7c·7b7d·2c74·6869·732e·6f70··,e=e||{},this.op
00003a10:·7468·6973·2e70·6c61·7466·6f72·6d3d·652e··this.platform=e.00003a10:·7469·6f6e·733d·652c·7468·6973·2e70·6174··tions=e,this.pat
00003a20:·706c·6174·666f·726d·7c7c·6873·2c74·6869··platform||hs,thi00003a20:·7465·726e·3d74·2c74·6869·732e·706c·6174··tern=t,this.plat
00003a30:·732e·6973·5769·6e64·6f77·733d·7468·6973··s.isWindows=this00003a30:·666f·726d·3d65·2e70·6c61·7466·6f72·6d7c··form=e.platform|
00003a40:·2e70·6c61·7466·6f72·6d3d·3d3d·2277·696e··.platform==="win00003a40:·7c68·732c·7468·6973·2e69·7357·696e·646f··|hs,this.isWindo
00003a50:·3332·222c·7468·6973·2e77·696e·646f·7773··32",this.windows00003a50:·7773·3d74·6869·732e·706c·6174·666f·726d··ws=this.platform
00003a60:·5061·7468·734e·6f45·7363·6170·653d·2121··PathsNoEscape=!!00003a60:·3d3d·3d22·7769·6e33·3222·3b6c·6574·2073··==="win32";let·s
00003a70:·652e·7769·6e64·6f77·7350·6174·6873·4e6f··e.windowsPathsNo00003a70:·3d22·616c·6c6f·7757·696e·646f·7773·4573··="allowWindowsEs
00003a80:·4573·6361·7065·7c7c·652e·616c·6c6f·7757··Escape||e.allowW00003a80:·6361·7065·223b·7468·6973·2e77·696e·646f··cape";this.windo
00003a90:·696e·646f·7773·4573·6361·7065·3d3d·3d21··indowsEscape===!00003a90:·7773·5061·7468·734e·6f45·7363·6170·653d··wsPathsNoEscape=
00003aa0:·312c·7468·6973·2e77·696e·646f·7773·5061··1,this.windowsPa00003aa0:·2121·652e·7769·6e64·6f77·7350·6174·6873··!!e.windowsPaths
00003ab0:·7468·734e·6f45·7363·6170·6526·2628·7468··thsNoEscape&&(th00003ab0:·4e6f·4573·6361·7065·7c7c·655b·735d·3d3d··NoEscape||e[s]==
00003ac0:·6973·2e70·6174·7465·726e·3d74·6869·732e··is.pattern=this.00003ac0:·3d21·312c·7468·6973·2e77·696e·646f·7773··=!1,this.windows
00003ad0:·7061·7474·6572·6e2e·7265·706c·6163·6528··pattern.replace(00003ad0:·5061·7468·734e·6f45·7363·6170·6526·2628··PathsNoEscape&&(
00003ae0:·2f5c·5c2f·672c·222f·2229·292c·7468·6973··/\\/g,"/")),this00003ae0:·7468·6973·2e70·6174·7465·726e·3d74·6869··this.pattern=thi
00003af0:·2e70·7265·7365·7276·654d·756c·7469·706c··.preserveMultipl00003af0:·732e·7061·7474·6572·6e2e·7265·706c·6163··s.pattern.replac
00003b00:·6553·6c61·7368·6573·3d21·2165·2e70·7265··eSlashes=!!e.pre00003b00:·6528·2f5c·5c2f·672c·222f·2229·292c·7468··e(/\\/g,"/")),th
00003b10:·7365·7276·654d·756c·7469·706c·6553·6c61··serveMultipleSla00003b10:·6973·2e70·7265·7365·7276·654d·756c·7469··is.preserveMulti
00003b20:·7368·6573·2c74·6869·732e·7265·6765·7870··shes,this.regexp00003b20:·706c·6553·6c61·7368·6573·3d21·2165·2e70··pleSlashes=!!e.p
00003b30:·3d6e·756c·6c2c·7468·6973·2e6e·6567·6174··=null,this.negat00003b30:·7265·7365·7276·654d·756c·7469·706c·6553··reserveMultipleS
00003b40:·653d·2131·2c74·6869·732e·6e6f·6e65·6761··e=!1,this.nonega00003b40:·6c61·7368·6573·2c74·6869·732e·7265·6765··lashes,this.rege
00003b50:·7465·3d21·2165·2e6e·6f6e·6567·6174·652c··te=!!e.nonegate,00003b50:·7870·3d6e·756c·6c2c·7468·6973·2e6e·6567··xp=null,this.neg
00003b60:·7468·6973·2e63·6f6d·6d65·6e74·3d21·312c··this.comment=!1,00003b60:·6174·653d·2131·2c74·6869·732e·6e6f·6e65··ate=!1,this.none
00003b70:·7468·6973·2e65·6d70·7479·3d21·312c·7468··this.empty=!1,th00003b70:·6761·7465·3d21·2165·2e6e·6f6e·6567·6174··gate=!!e.nonegat
00003b80:·6973·2e70·6172·7469·616c·3d21·2165·2e70··is.partial=!!e.p00003b80:·652c·7468·6973·2e63·6f6d·6d65·6e74·3d21··e,this.comment=!
00003b90:·6172·7469·616c·2c74·6869·732e·6e6f·6361··artial,this.noca00003b90:·312c·7468·6973·2e65·6d70·7479·3d21·312c··1,this.empty=!1,
00003ba0:·7365·3d21·2174·6869·732e·6f70·7469·6f6e··se=!!this.option00003ba0:·7468·6973·2e70·6172·7469·616c·3d21·2165··this.partial=!!e
00003bb0:·732e·6e6f·6361·7365·2c74·6869·732e·7769··s.nocase,this.wi00003bb0:·2e70·6172·7469·616c·2c74·6869·732e·6e6f··.partial,this.no
00003bc0:·6e64·6f77·734e·6f4d·6167·6963·526f·6f74··ndowsNoMagicRoot00003bc0:·6361·7365·3d21·2174·6869·732e·6f70·7469··case=!!this.opti
00003bd0:·3d65·2e77·696e·646f·7773·4e6f·4d61·6769··=e.windowsNoMagi00003bd0:·6f6e·732e·6e6f·6361·7365·2c74·6869·732e··ons.nocase,this.
00003be0:·6352·6f6f·7421·3d3d·766f·6964·2030·3f65··cRoot!==void·0?e00003be0:·7769·6e64·6f77·734e·6f4d·6167·6963·526f··windowsNoMagicRo
00003bf0:·2e77·696e·646f·7773·4e6f·4d61·6769·6352··.windowsNoMagicR00003bf0:·6f74·3d65·2e77·696e·646f·7773·4e6f·4d61··ot=e.windowsNoMa
00003c00:·6f6f·743a·2121·2874·6869·732e·6973·5769··oot:!!(this.isWi00003c00:·6769·6352·6f6f·7421·3d3d·766f·6964·2030··gicRoot!==void·0
00003c10:·6e64·6f77·7326·2674·6869·732e·6e6f·6361··ndows&&this.noca00003c10:·3f65·2e77·696e·646f·7773·4e6f·4d61·6769··?e.windowsNoMagi
00003c20:·7365·292c·7468·6973·2e67·6c6f·6253·6574··se),this.globSet00003c20:·6352·6f6f·743a·2121·2874·6869·732e·6973··cRoot:!!(this.is
00003c30:·3d5b·5d2c·7468·6973·2e67·6c6f·6250·6172··=[],this.globPar00003c30:·5769·6e64·6f77·7326·2674·6869·732e·6e6f··Windows&&this.no
00003c40:·7473·3d5b·5d2c·7468·6973·2e73·6574·3d5b··ts=[],this.set=[00003c40:·6361·7365·292c·7468·6973·2e67·6c6f·6253··case),this.globS
00003c50:·5d2c·7468·6973·2e6d·616b·6528·297d·6861··],this.make()}ha00003c50:·6574·3d5b·5d2c·7468·6973·2e67·6c6f·6250··et=[],this.globP
00003c60:·734d·6167·6963·2829·7b69·6628·7468·6973··sMagic(){if(this00003c60:·6172·7473·3d5b·5d2c·7468·6973·2e73·6574··arts=[],this.set
00003c70:·2e6f·7074·696f·6e73·2e6d·6167·6963·616c··.options.magical00003c70:·3d5b·5d2c·7468·6973·2e6d·616b·6528·297d··=[],this.make()}
00003c80:·4272·6163·6573·2626·7468·6973·2e73·6574··Braces&&this.set00003c80:·6861·734d·6167·6963·2829·7b69·6628·7468··hasMagic(){if(th
00003c90:·2e6c·656e·6774·683e·3129·7265·7475·726e··.length>1)return00003c90:·6973·2e6f·7074·696f·6e73·2e6d·6167·6963··is.options.magic
00003ca0:·2130·3b66·6f72·286c·6574·2074·206f·6620··!0;for(let·t·of·00003ca0:·616c·4272·6163·6573·2626·7468·6973·2e73··alBraces&&this.s
00003cb0:·7468·6973·2e73·6574·2966·6f72·286c·6574··this.set)for(let00003cb0:·6574·2e6c·656e·6774·683e·3129·7265·7475··et.length>1)retu
00003cc0:·2065·206f·6620·7429·6966·2874·7970·656f···e·of·t)if(typeo00003cc0:·726e·2130·3b66·6f72·286c·6574·2074·206f··rn!0;for(let·t·o
00003cd0:·6620·6521·3d22·7374·7269·6e67·2229·7265··f·e!="string")re00003cd0:·6620·7468·6973·2e73·6574·2966·6f72·286c··f·this.set)for(l
00003ce0:·7475·726e·2130·3b72·6574·7572·6e21·317d··turn!0;return!1}00003ce0:·6574·2065·206f·6620·7429·6966·2874·7970··et·e·of·t)if(typ
00003cf0:·6465·6275·6728·2e2e·2e74·297b·7d6d·616b··debug(...t){}mak00003cf0:·656f·6620·6521·3d22·7374·7269·6e67·2229··eof·e!="string")
00003d00:·6528·297b·6c65·7420·743d·7468·6973·2e70··e(){let·t=this.p00003d00:·7265·7475·726e·2130·3b72·6574·7572·6e21··return!0;return!
00003d10:·6174·7465·726e·2c65·3d74·6869·732e·6f70··attern,e=this.op00003d10:·317d·6465·6275·6728·2e2e·2e74·297b·7d6d··1}debug(...t){}m
00003d20:·7469·6f6e·733b·6966·2821·652e·6e6f·636f··tions;if(!e.noco00003d20:·616b·6528·297b·6c65·7420·743d·7468·6973··ake(){let·t=this
00003d30:·6d6d·656e·7426·2674·2e63·6861·7241·7428··mment&&t.charAt(00003d30:·2e70·6174·7465·726e·2c65·3d74·6869·732e··.pattern,e=this.
Max diff block lines reached; 521409/638873 bytes (81.61%) of diff not shown.
634 KB
lib/node_modules/@capacitor/cli/node_modules/glob/dist/commonjs/index.min.js.map
633 KB
Pretty-printed
    
Offset 1, 9 lines modifiedOffset 1, 9 lines modified
1 {1 {
2 ····"mappings":·"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[·...·truncated·by·diffoscope;·len:·28488,·SHA:·c1d2b08f2f917a290ebdadd840548b9dcadcb4941bdb58c8d557a7990b74ef71·...·]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",2 ····"mappings":·"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[·...·truncated·by·diffoscope;·len:·28527,·SHA:·c733386da436af0acffb873ed0877f67d666ad04d81e75076f293f68cac8c7ef·...·]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",
3 ····"names":·[3 ····"names":·[
4 ········"balanced",4 ········"balanced",
5 ········"a",5 ········"a",
6 ········"b",6 ········"b",
7 ········"str",7 ········"str",
8 ········"ma",8 ········"ma",
9 ········"maybeMatch",9 ········"maybeMatch",
Offset 255, 14 lines modifiedOffset 255, 15 lines modified
255 ········"braceExpand",255 ········"braceExpand",
256 ········"makeRe",256 ········"makeRe",
257 ········"match",257 ········"match",
258 ········"mm",258 ········"mm",
259 ········"globMagic",259 ········"globMagic",
260 ········"regExpEscape",260 ········"regExpEscape",
261 ········"s",261 ········"s",
 262 ········"awe",
262 ········"part",263 ········"part",
263 ········"_",264 ········"_",
264 ········"args",265 ········"args",
265 ········"rawGlobParts",266 ········"rawGlobParts",
266 ········"set",267 ········"set",
267 ········"__",268 ········"__",
268 ········"isUNC",269 ········"isUNC",
Offset 967, 16 lines modifiedOffset 968, 16 lines modified
967 ········"has_magic_js_2",968 ········"has_magic_js_2",
968 ········"ignore_js_1",969 ········"ignore_js_1",
969 ········"pattern",970 ········"pattern",
970 ········"options",971 ········"options",
971 ········"glob_"972 ········"glob_"
972 ····],973 ····],
973 ····"sources":·[974 ····"sources":·[
974 ········"../../node_modules/@isaacs/balanced-match/src/index.ts",975 ········"../../node_modules/minimatch/node_modules/balanced-match/src/index.ts",
975 ········"../../node_modules/@isaacs/brace-expansion/src/index.ts",976 ········"../../node_modules/minimatch/node_modules/brace-expansion/src/index.ts",
976 ········"../../node_modules/minimatch/src/assert-valid-pattern.ts",977 ········"../../node_modules/minimatch/src/assert-valid-pattern.ts",
977 ········"../../node_modules/minimatch/src/brace-expressions.ts",978 ········"../../node_modules/minimatch/src/brace-expressions.ts",
978 ········"../../node_modules/minimatch/src/unescape.ts",979 ········"../../node_modules/minimatch/src/unescape.ts",
979 ········"../../node_modules/minimatch/src/ast.ts",980 ········"../../node_modules/minimatch/src/ast.ts",
980 ········"../../node_modules/minimatch/src/escape.ts",981 ········"../../node_modules/minimatch/src/escape.ts",
981 ········"../../node_modules/minimatch/src/index.ts",982 ········"../../node_modules/minimatch/src/index.ts",
982 ········"../../node_modules/lru-cache/src/index.ts",983 ········"../../node_modules/lru-cache/src/index.ts",
Offset 988, 21 lines modifiedOffset 989, 21 lines modified
988 ········"../../src/walker.ts",989 ········"../../src/walker.ts",
989 ········"../../src/glob.ts",990 ········"../../src/glob.ts",
990 ········"../../src/has-magic.ts",991 ········"../../src/has-magic.ts",
991 ········"../../src/index.ts"992 ········"../../src/index.ts"
992 ····],993 ····],
993 ····"sourcesContent":·[994 ····"sourcesContent":·[
994 ········"export·const·balanced·=·(\n··a:·string·|·RegExp,\n··b:·string·|·RegExp,\n··str:·string,\n)·=>·{\n··const·ma·=·a·instanceof·RegExp·?·maybeMatch(a,·str)·:·a\n··const·mb·=·b·instanceof·RegExp·?·maybeMatch(b,·str)·:·b\n\n··const·r·=·ma·!==·null·&&·mb·!=·null·&&·range(ma,·mb,·str)\n\n··return·(\n····r·&&·{\n······start:·r[0],\n······end:·r[1],\n······pre:·str.slice(0,·r[0]),\n······body:·str.slice(r[0]·+·ma.length,·r[1]),\n······post:·str.slice(r[1]·+·mb.length),\n····}\n··)\n}\n\nconst·maybeMatch·=·(reg:·RegExp,·str:·string)·=>·{\n··const·m·=·str.match(reg)\n··return·m·?·m[0]·:·null\n}\n\nexport·const·range·=·(\n··a:·string,\n··b:·string,\n··str:·string,\n):·undefined·|·[number,·number]·=>·{\n··let·begs:·number[],\n····beg:·number·|·undefined,\n····left:·number,\n····right:·number·|·undefined·=·undefined,\n····result:·undefined·|·[number,·number]\n··let·ai·=·str.indexOf(a)\n··let·bi·=·str.indexOf(b,·ai·+·1)\n··let·i·=·ai\n\n··if·(ai·>=·0·&&·bi·>·0)·{\n····if·(a·===·b)·{\n······return·[ai,·bi]\n····}\n····begs·=·[]\n····left·=·str.length\n\n····while·(i·>=·0·&&·!result)·{\n······if·(i·===·ai)·{\n········begs.push(i)\n········ai·=·str.indexOf(a,·i·+·1)\n······}·else·if·(begs.length·===·1)·{\n········const·r·=·begs.pop()\n········if·(r·!==·undefined)·result·=·[r,·bi]\n······}·else·{\n········beg·=·begs.pop()\n········if·(beg·!==·undefined·&&·beg·<·left)·{\n··········left·=·beg\n··········right·=·bi\n········}\n\n········bi·=·str.indexOf(b,·i·+·1)\n······}\n\n······i·=·ai·<·bi·&&·ai·>=·0·?·ai·:·bi\n····}\n\n····if·(begs.length·&&·right·!==·undefined)·{\n······result·=·[left,·right]\n····}\n··}\n\n··return·result\n}\n",995 ········"export·const·balanced·=·(\n··a:·string·|·RegExp,\n··b:·string·|·RegExp,\n··str:·string,\n)·=>·{\n··const·ma·=·a·instanceof·RegExp·?·maybeMatch(a,·str)·:·a\n··const·mb·=·b·instanceof·RegExp·?·maybeMatch(b,·str)·:·b\n\n··const·r·=·ma·!==·null·&&·mb·!=·null·&&·range(ma,·mb,·str)\n\n··return·(\n····r·&&·{\n······start:·r[0],\n······end:·r[1],\n······pre:·str.slice(0,·r[0]),\n······body:·str.slice(r[0]·+·ma.length,·r[1]),\n······post:·str.slice(r[1]·+·mb.length),\n····}\n··)\n}\n\nconst·maybeMatch·=·(reg:·RegExp,·str:·string)·=>·{\n··const·m·=·str.match(reg)\n··return·m·?·m[0]·:·null\n}\n\nexport·const·range·=·(\n··a:·string,\n··b:·string,\n··str:·string,\n):·undefined·|·[number,·number]·=>·{\n··let·begs:·number[],\n····beg:·number·|·undefined,\n····left:·number,\n····right:·number·|·undefined·=·undefined,\n····result:·undefined·|·[number,·number]\n··let·ai·=·str.indexOf(a)\n··let·bi·=·str.indexOf(b,·ai·+·1)\n··let·i·=·ai\n\n··if·(ai·>=·0·&&·bi·>·0)·{\n····if·(a·===·b)·{\n······return·[ai,·bi]\n····}\n····begs·=·[]\n····left·=·str.length\n\n····while·(i·>=·0·&&·!result)·{\n······if·(i·===·ai)·{\n········begs.push(i)\n········ai·=·str.indexOf(a,·i·+·1)\n······}·else·if·(begs.length·===·1)·{\n········const·r·=·begs.pop()\n········if·(r·!==·undefined)·result·=·[r,·bi]\n······}·else·{\n········beg·=·begs.pop()\n········if·(beg·!==·undefined·&&·beg·<·left)·{\n··········left·=·beg\n··········right·=·bi\n········}\n\n········bi·=·str.indexOf(b,·i·+·1)\n······}\n\n······i·=·ai·<·bi·&&·ai·>=·0·?·ai·:·bi\n····}\n\n····if·(begs.length·&&·right·!==·undefined)·{\n······result·=·[left,·right]\n····}\n··}\n\n··return·result\n}\n",
995 ········"import·{·balanced·}·from·'@isaacs/balanced-match'\n\nconst·escSlash·=·'\\0SLASH'·+·Math.random()·+·'\\0'\nconst·escOpen·=·'\\0OPEN'·+·Math.random()·+·'\\0'\nconst·escClose·=·'\\0CLOSE'·+·Math.random()·+·'\\0'\nconst·escComma·=·'\\0COMMA'·+·Math.random()·+·'\\0'\nconst·escPeriod·=·'\\0PERIOD'·+·Math.random()·+·'\\0'\nconst·escSlashPattern·=·new·RegExp(escSlash,·'g')\nconst·escOpenPattern·=·new·RegExp(escOpen,·'g')\nconst·escClosePattern·=·new·RegExp(escClose,·'g')\nconst·escCommaPattern·=·new·RegExp(escComma,·'g')\nconst·escPeriodPattern·=·new·RegExp(escPeriod,·'g')\nconst·slashPattern·=·/\\\\\\\\/g\nconst·openPattern·=·/\\\\{/g\nconst·closePattern·=·/\\\\}/g\nconst·commaPattern·=·/\\\\,/g\nconst·periodPattern·=·/\\\\./g\n\nexport·const·EXPANSION_MAX·=·100_000\n\nfunction·numeric(str:·string)·{\n··return·!isNaN(str·as·any)·?·parseInt(str,·10)·:·str.charCodeAt(0)\n}\n\nfunction·escapeBraces(str:·string)·{\n··return·str\n····.replace(slashPattern,·escSlash)\n····.replace(openPattern,·escOpen)\n····.replace(closePattern,·escClose)\n····.replace(commaPattern,·escComma)\n····.replace(periodPattern,·escPeriod)\n}\n\nfunction·unescapeBraces(str:·string)·{\n··return·str\n····.replace(escSlashPattern,·'\\\\')\n····.replace(escOpenPattern,·'{')\n····.replace(escClosePattern,·'}')\n····.replace(escCommaPattern,·',')\n····.replace(escPeriodPattern,·'.')\n}\n\n/**\n·*·Basically·just·str.split(\",\"),·but·handling·cases\n·*·where·we·have·nested·braced·sections,·which·should·be\n·*·treated·as·individual·members,·like·{a,{b,c},d}\n·*/\nfunction·parseCommaParts(str:·string)·{\n··if·(!str)·{\n····return·['']\n··}\n\n··const·parts:·string[]·=·[]\n··const·m·=·balanced('{',·'}',·str)\n\n··if·(!m)·{\n····return·str.split(',')\n··}\n\n··const·{·pre,·body,·post·}·=·m\n··const·p·=·pre.split(',')\n\n··p[p.length·-·1]·+=·'{'·+·body·+·'}'\n··const·postParts·=·parseCommaParts(post)\n··if·(post.length)·{\n····;(p[p.length·-·1]·as·string)·+=·postParts.shift()\n····p.push.apply(p,·postParts)\n··}\n\n··parts.push.apply(parts,·p)\n\n··return·parts\n}\n\nexport·type·BraceExpansionOptions·=·{\n··max?:·number\n}\n\nexport·function·expand(str:·string,·options:·BraceExpansionOptions·=·{})·{\n··if·(!str)·{\n····return·[]\n··}\n\n··const·{·max·=·EXPANSION_MAX·}·=·options\n\n··//·I·don't·know·why·Bash·4.3·does·this,·but·it·does.\n··//·Anything·starting·with·{}·will·have·the·first·two·bytes·preserved\n··//·but·*only*·at·the·top·level,·so·{},a}b·will·not·expand·to·anything,\n··//·but·a{},b}c·will·be·expanded·to·[a}c,abc].\n··//·One·could·argue·that·this·is·a·bug·in·Bash,·but·since·the·goal·of\n··//·this·module·is·to·match·Bash's·rules,·we·escape·a·leading·{}\n··if·(str.slice(0,·2)·===·'{}')·{\n····str·=·'\\\\{\\\\}'·+·str.slice(2)\n··}\n\n··return·expand_(escapeBraces(str),·max,·true).map(unescapeBraces)\n}\n\nfunction·embrace(str:·string)·{\n··return·'{'·+·str·+·'}'\n}\n\nfunction·isPadded(el:·string)·{\n··return·/^-?0\\d/.test(el)\n}\n\nfunction·lte(i:·number,·y:·number)·{\n··return·i·<=·y\n}\n\nfunction·gte(i:·number,·y:·number)·{\n··return·i·>=·y\n}\n\nfunction·expand_(str:·string,·max:·number,·isTop:·boolean):·string[]·{\n··/**·@type·{string[]}·*/\n··const·expansions:·string[]·=·[]\n\n··const·m·=·balanced('{',·'}',·str)\n··if·(!m)·return·[str]\n\n··//·no·need·to·expand·pre,·since·it·is·guaranteed·to·be·free·of·brace-sets\n··const·pre·=·m.pre\n··const·post:·string[]·=·m.post.length·?·expand_(m.post,·max,·false)·:·['']\n\n··if·(/\\$$/.test(m.pre))·{\n····for·(let·k·=·0;·k·<·post.length·&&·k·<·max;·k++)·{\n······const·expansion·=·pre·+·'{'·+·m.body·+·'}'·+·post[k]\n······expansions.push(expansion)\n····}\n··}·else·{\n····const·isNumericSequence·=·/^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body)\n····const·isAlphaSequence·=·/^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(\n······m.body,\n····)\n····const·isSequence·=·isNumericSequence·||·isAlphaSequence\n····const·isOptions·=·m.body.indexOf(',')·>=·0\n····if·(!isSequence·&&·!isOptions)·{\n······//·{a},b}\n······if·(m.post.match(/,(?!,).*\\}/))·{\n········str·=·m.pre·+·'{'·+·m.body·+·escClose·+·m.post\n········return·expand_(str,·max,·true)\n······}\n······return·[str]\n····}\n\n····let·n:·string[]\n····if·(isSequence)·{\n······n·=·m.body.split(/\\.\\./)\n····}·else·{\n······n·=·parseCommaParts(m.body)\n······if·(n.length·===·1·&&·n[0]·!==·undefined)·{\n········//·x{{a,b}}y·==>·x{a}y·x{b}y\n········n·=·expand_(n[0],·max,·false).map(embrace)\n········//XXX·is·this·necessary?·Can't·seem·to·hit·it·in·tests.\n········/*·c8·ignore·start·*/\n········if·(n.length·===·1)·{\n··········return·post.map(p·=>·m.pre·+·n[0]·+·p)\n········}\n········/*·c8·ignore·stop·*/\n······}\n····}\n\n····//·at·this·point,·n·is·the·parts,·and·we·know·it's·not·a·comma·set\n····//·with·a·single·entry.\n····let·N:·string[]\n\n····if·(isSequence·&&·n[0]·!==·undefined·&&·n[1]·!==·undefined)·{\n······const·x·=·numeric(n[0])\n······const·y·=·numeric(n[1])\n······const·width·=·Math.max(n[0].length,·n[1].length)\n······let·incr·=\n········n.length·===·3·&&·n[2]·!==·undefined·?·Math.abs(numeric(n[2]))·:·1\n······let·test·=·lte\n······const·reverse·=·y·<·x\n······if·(reverse)·{\n········incr·*=·-1\n········test·=·gte\n······}\n······const·pad·=·n.some(isPadded)\n\n······N·=·[]\n\n······for·(let·i·=·x;·test(i,·y);·i·+=·incr)·{\n········let·c\n········if·(isAlphaSequence)·{\n··········c·=·String.fromCharCode(i)\n··········if·(c·===·'\\\\')·{\n············c·=·''\n··········}\n········}·else·{\n··········c·=·String(i)\n··········if·(pad)·{\n············const·need·=·width·-·c.length\n············if·(need·>·0)·{\n··············const·z·=·new·Array(need·+·1).join('0')\n··············if·(i·<·0)·{\n················c·=·'-'·+·z·+·c.slice(1)\n··············}·else·{\n················c·=·z·+·c\n··············}\n············}\n··········}\n········}\n········N.push(c)\n······}\n····}·else·{\n······N·=·[]\n\n······for·(let·j·=·0;·j·<·n.length;·j++)·{\n········N.push.apply(N,·expand_(n[j]·as·string,·max,·false))\n······}\n····}\n\n····for·(let·j·=·0;·j·<·N.length;·j++)·{\n······for·(let·k·=·0;·k·<·post.length·&&·expansions.length·<·max;·k++)·{\n········const·expansion·=·pre·+·N[j]·+·post[k]\n········if·(!isTop·||·isSequence·||·expansion)·{\n··········expansions.push(expansion)\n········}\n······}\n····}\n··}\n\n··return·expansions\n}\n",996 ········"import·{·balanced·}·from·'balanced-match'\n\nconst·escSlash·=·'\\0SLASH'·+·Math.random()·+·'\\0'\nconst·escOpen·=·'\\0OPEN'·+·Math.random()·+·'\\0'\nconst·escClose·=·'\\0CLOSE'·+·Math.random()·+·'\\0'\nconst·escComma·=·'\\0COMMA'·+·Math.random()·+·'\\0'\nconst·escPeriod·=·'\\0PERIOD'·+·Math.random()·+·'\\0'\nconst·escSlashPattern·=·new·RegExp(escSlash,·'g')\nconst·escOpenPattern·=·new·RegExp(escOpen,·'g')\nconst·escClosePattern·=·new·RegExp(escClose,·'g')\nconst·escCommaPattern·=·new·RegExp(escComma,·'g')\nconst·escPeriodPattern·=·new·RegExp(escPeriod,·'g')\nconst·slashPattern·=·/\\\\\\\\/g\nconst·openPattern·=·/\\\\{/g\nconst·closePattern·=·/\\\\}/g\nconst·commaPattern·=·/\\\\,/g\nconst·periodPattern·=·/\\\\./g\n\nexport·const·EXPANSION_MAX·=·100_000\n\nfunction·numeric(str:·string)·{\n··return·!isNaN(str·as·any)·?·parseInt(str,·10)·:·str.charCodeAt(0)\n}\n\nfunction·escapeBraces(str:·string)·{\n··return·str\n····.replace(slashPattern,·escSlash)\n····.replace(openPattern,·escOpen)\n····.replace(closePattern,·escClose)\n····.replace(commaPattern,·escComma)\n····.replace(periodPattern,·escPeriod)\n}\n\nfunction·unescapeBraces(str:·string)·{\n··return·str\n····.replace(escSlashPattern,·'\\\\')\n····.replace(escOpenPattern,·'{')\n····.replace(escClosePattern,·'}')\n····.replace(escCommaPattern,·',')\n····.replace(escPeriodPattern,·'.')\n}\n\n/**\n·*·Basically·just·str.split(\",\"),·but·handling·cases\n·*·where·we·have·nested·braced·sections,·which·should·be\n·*·treated·as·individual·members,·like·{a,{b,c},d}\n·*/\nfunction·parseCommaParts(str:·string)·{\n··if·(!str)·{\n····return·['']\n··}\n\n··const·parts:·string[]·=·[]\n··const·m·=·balanced('{',·'}',·str)\n\n··if·(!m)·{\n····return·str.split(',')\n··}\n\n··const·{·pre,·body,·post·}·=·m\n··const·p·=·pre.split(',')\n\n··p[p.length·-·1]·+=·'{'·+·body·+·'}'\n··const·postParts·=·parseCommaParts(post)\n··if·(post.length)·{\n····;(p[p.length·-·1]·as·string)·+=·postParts.shift()\n····p.push.apply(p,·postParts)\n··}\n\n··parts.push.apply(parts,·p)\n\n··return·parts\n}\n\nexport·type·BraceExpansionOptions·=·{\n··max?:·number\n}\n\nexport·function·expand(str:·string,·options:·BraceExpansionOptions·=·{})·{\n··if·(!str)·{\n····return·[]\n··}\n\n··const·{·max·=·EXPANSION_MAX·}·=·options\n\n··//·I·don't·know·why·Bash·4.3·does·this,·but·it·does.\n··//·Anything·starting·with·{}·will·have·the·first·two·bytes·preserved\n··//·but·*only*·at·the·top·level,·so·{},a}b·will·not·expand·to·anything,\n··//·but·a{},b}c·will·be·expanded·to·[a}c,abc].\n··//·One·could·argue·that·this·is·a·bug·in·Bash,·but·since·the·goal·of\n··//·this·module·is·to·match·Bash's·rules,·we·escape·a·leading·{}\n··if·(str.slice(0,·2)·===·'{}')·{\n····str·=·'\\\\{\\\\}'·+·str.slice(2)\n··}\n\n··return·expand_(escapeBraces(str),·max,·true).map(unescapeBraces)\n}\n\nfunction·embrace(str:·string)·{\n··return·'{'·+·str·+·'}'\n}\n\nfunction·isPadded(el:·string)·{\n··return·/^-?0\\d/.test(el)\n}\n\nfunction·lte(i:·number,·y:·number)·{\n··return·i·<=·y\n}\n\nfunction·gte(i:·number,·y:·number)·{\n··return·i·>=·y\n}\n\nfunction·expand_(str:·string,·max:·number,·isTop:·boolean):·string[]·{\n··/**·@type·{string[]}·*/\n··const·expansions:·string[]·=·[]\n\n··const·m·=·balanced('{',·'}',·str)\n··if·(!m)·return·[str]\n\n··//·no·need·to·expand·pre,·since·it·is·guaranteed·to·be·free·of·brace-sets\n··const·pre·=·m.pre\n··const·post:·string[]·=·m.post.length·?·expand_(m.post,·max,·false)·:·['']\n\n··if·(/\\$$/.test(m.pre))·{\n····for·(let·k·=·0;·k·<·post.length·&&·k·<·max;·k++)·{\n······const·expansion·=·pre·+·'{'·+·m.body·+·'}'·+·post[k]\n······expansions.push(expansion)\n····}\n··}·else·{\n····const·isNumericSequence·=·/^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body)\n····const·isAlphaSequence·=·/^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(\n······m.body,\n····)\n····const·isSequence·=·isNumericSequence·||·isAlphaSequence\n····const·isOptions·=·m.body.indexOf(',')·>=·0\n····if·(!isSequence·&&·!isOptions)·{\n······//·{a},b}\n······if·(m.post.match(/,(?!,).*\\}/))·{\n········str·=·m.pre·+·'{'·+·m.body·+·escClose·+·m.post\n········return·expand_(str,·max,·true)\n······}\n······return·[str]\n····}\n\n····let·n:·string[]\n····if·(isSequence)·{\n······n·=·m.body.split(/\\.\\./)\n····}·else·{\n······n·=·parseCommaParts(m.body)\n······if·(n.length·===·1·&&·n[0]·!==·undefined)·{\n········//·x{{a,b}}y·==>·x{a}y·x{b}y\n········n·=·expand_(n[0],·max,·false).map(embrace)\n········//XXX·is·this·necessary?·Can't·seem·to·hit·it·in·tests.\n········/*·c8·ignore·start·*/\n········if·(n.length·===·1)·{\n··········return·post.map(p·=>·m.pre·+·n[0]·+·p)\n········}\n········/*·c8·ignore·stop·*/\n······}\n····}\n\n····//·at·this·point,·n·is·the·parts,·and·we·know·it's·not·a·comma·set\n····//·with·a·single·entry.\n····let·N:·string[]\n\n····if·(isSequence·&&·n[0]·!==·undefined·&&·n[1]·!==·undefined)·{\n······const·x·=·numeric(n[0])\n······const·y·=·numeric(n[1])\n······const·width·=·Math.max(n[0].length,·n[1].length)\n······let·incr·=\n········n.length·===·3·&&·n[2]·!==·undefined·?·Math.abs(numeric(n[2]))·:·1\n······let·test·=·lte\n······const·reverse·=·y·<·x\n······if·(reverse)·{\n········incr·*=·-1\n········test·=·gte\n······}\n······const·pad·=·n.some(isPadded)\n\n······N·=·[]\n\n······for·(let·i·=·x;·test(i,·y);·i·+=·incr)·{\n········let·c\n········if·(isAlphaSequence)·{\n··········c·=·String.fromCharCode(i)\n··········if·(c·===·'\\\\')·{\n············c·=·''\n··········}\n········}·else·{\n··········c·=·String(i)\n··········if·(pad)·{\n············const·need·=·width·-·c.length\n············if·(need·>·0)·{\n··············const·z·=·new·Array(need·+·1).join('0')\n··············if·(i·<·0)·{\n················c·=·'-'·+·z·+·c.slice(1)\n··············}·else·{\n················c·=·z·+·c\n··············}\n············}\n··········}\n········}\n········N.push(c)\n······}\n····}·else·{\n······N·=·[]\n\n······for·(let·j·=·0;·j·<·n.length;·j++)·{\n········N.push.apply(N,·expand_(n[j]·as·string,·max,·false))\n······}\n····}\n\n····for·(let·j·=·0;·j·<·N.length;·j++)·{\n······for·(let·k·=·0;·k·<·post.length·&&·expansions.length·<·max;·k++)·{\n········const·expansion·=·pre·+·N[j]·+·post[k]\n········if·(!isTop·||·isSequence·||·expansion)·{\n··········expansions.push(expansion)\n········}\n······}\n····}\n··}\n\n··return·expansions\n}\n",
996 ········"const·MAX_PATTERN_LENGTH·=·1024·*·64\nexport·const·assertValidPattern:·(pattern:·any)·=>·void·=·(\n··pattern:·any,\n):·asserts·pattern·is·string·=>·{\n··if·(typeof·pattern·!==·'string')·{\n····throw·new·TypeError('invalid·pattern')\n··}\n\n··if·(pattern.length·>·MAX_PATTERN_LENGTH)·{\n····throw·new·TypeError('pattern·is·too·long')\n··}\n}\n",997 ········"const·MAX_PATTERN_LENGTH·=·1024·*·64\nexport·const·assertValidPattern:·(pattern:·any)·=>·void·=·(\n··pattern:·any,\n):·asserts·pattern·is·string·=>·{\n··if·(typeof·pattern·!==·'string')·{\n····throw·new·TypeError('invalid·pattern')\n··}\n\n··if·(pattern.length·>·MAX_PATTERN_LENGTH)·{\n····throw·new·TypeError('pattern·is·too·long')\n··}\n}\n",
997 ········"//·translate·the·various·posix·character·classes·into·unicode·properties\n//·this·works·across·all·unicode·locales\n\n//·{·<posix·class>:·[<translation>,·/u·flag·required,·negated]\nconst·posixClasses:·{·[k:·string]:·[e:·string,·u:·boolean,·n?:·boolean]·}·=·{\n··'[:alnum:]':·['\\\\p{L}\\\\p{Nl}\\\\p{Nd}',·true],\n··'[:alpha:]':·['\\\\p{L}\\\\p{Nl}',·true],\n··'[:ascii:]':·['\\\\x'·+·'00-\\\\x'·+·'7f',·false],\n··'[:blank:]':·['\\\\p{Zs}\\\\t',·true],\n··'[:cntrl:]':·['\\\\p{Cc}',·true],\n··'[:digit:]':·['\\\[·...·truncated·by·diffoscope;·len:·4898,·SHA:·13a1dfc74d3273d3922499c68d9adc9c371dce365b5f6b03f6a9d6f42d6f20ad·...·]····:·snegs\n\n··return·[comb,·uflag,·endPos·-·pos,·true]\n}\n",998 ········"//·translate·the·various·posix·character·classes·into·unicode·properties\n//·this·works·across·all·unicode·locales\n\n//·{·<posix·class>:·[<translation>,·/u·flag·required,·negated]\nconst·posixClasses:·{·[k:·string]:·[e:·string,·u:·boolean,·n?:·boolean]·}·=\n··{\n····'[:alnum:]':·['\\\\p{L}\\\\p{Nl}\\\\p{Nd}',·true],\n····'[:alpha:]':·['\\\\p{L}\\\\p{Nl}',·true],\n····'[:ascii:]':·['\\\\x'·+·'00-\\\\x'·+·'7f',·false],\n····'[:blank:]':·['\\\\p{Zs}\\\\t',·true],\n····'[:cntrl:]':·['\\\\p{Cc}',·true],\n····'[:[·...·truncated·by·diffoscope;·len:·4909,·SHA:·c54fbd093a03e50b1156577f01ca078c2ac52f0cbcaa02a2ccf5b582d7da406b·...·]····:·snegs\n\n··return·[comb,·uflag,·endPos·-·pos,·true]\n}\n",
998 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Un-escape·a·string·that·has·been·escaped·with·{@link·escape}.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}·option·is·used,·then\n·*·square-bracket·escapes·are·removed,·but·not·backslash·escapes.\n·*\n·*·For·example,·it·will·turn·the·string·`'[*]'`·into·`*`,·but·it·will·not\n·*·turn·`'\\\\*'`·into·`'*'`,·because·`\\`·is·a·path·separator·in\n·*·`windowsPathsNoEscape`·mode.\n·*\n·*·When·`windowsPathsNoEscape`·is·not·set,·then·both·square-bracket·escapes·and\n·*·backslash·escapes·are·removed.\n·*\n·*·Slashes·(and·backslashes·in·`windowsPathsNoEscape`·mode)·cannot·be·escaped\n·*·or·unescaped.\n·*\n·*·When·`magicalBraces`·is·not·set,·escapes·of·braces·(`{`·and·`}`)·will·not·be\n·*·unescaped.\n·*/\n\nexport·const·unescape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·true,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape\n······?·s.replace(/\\[([^\\/\\\\])\\]/g,·'$1')\n······:·s\n··········.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g,·'$1$2')\n··········.replace(/\\\\([^\\/])/g,·'$1')\n··}\n··return·windowsPathsNoEscape\n····?·s.replace(/\\[([^\\/\\\\{}])\\]/g,·'$1')\n····:·s\n········.replace(/((?!\\\\).|^)\\[([^\\/\\\\{}])\\]/g,·'$1$2')\n········.replace(/\\\\([^\\/{}])/g,·'$1')\n}\n",999 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Un-escape·a·string·that·has·been·escaped·with·{@link·escape}.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}·option·is·used,·then\n·*·square-bracket·escapes·are·removed,·but·not·backslash·escapes.\n·*\n·*·For·example,·it·will·turn·the·string·`'[*]'`·into·`*`,·but·it·will·not\n·*·turn·`'\\\\*'`·into·`'*'`,·because·`\\`·is·a·path·separator·in\n·*·`windowsPathsNoEscape`·mode.\n·*\n·*·When·`windowsPathsNoEscape`·is·not·set,·then·both·square-bracket·escapes·and\n·*·backslash·escapes·are·removed.\n·*\n·*·Slashes·(and·backslashes·in·`windowsPathsNoEscape`·mode)·cannot·be·escaped\n·*·or·unescaped.\n·*\n·*·When·`magicalBraces`·is·not·set,·escapes·of·braces·(`{`·and·`}`)·will·not·be\n·*·unescaped.\n·*/\n\nexport·const·unescape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·true,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape·?\n········s.replace(/\\[([^\\/\\\\])\\]/g,·'$1')\n······:·s\n··········.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g,·'$1$2')\n··········.replace(/\\\\([^\\/])/g,·'$1')\n··}\n··return·windowsPathsNoEscape·?\n······s.replace(/\\[([^\\/\\\\{}])\\]/g,·'$1')\n····:·s\n········.replace(/((?!\\\\).|^)\\[([^\\/\\\\{}])\\]/g,·'$1$2')\n········.replace(/\\\\([^\\/{}])/g,·'$1')\n}\n",
999 ········"//·parse·a·single·path·portion\n\nimport·{·parseClass·}·from·'./brace-expressions.js'\nimport·{·MinimatchOptions,·MMRegExp·}·from·'./index.js'\nimport·{·unescape·}·from·'./unescape.js'\n\n//·classes·[]·are·handled·by·the·parseClass·method\n//·for·positive·extglobs,·we·sub-parse·the·contents,·and·combine,\n//·with·the·appropriate·regexp·close.\n//·for·negative·extglobs,·we·sub-parse·the·contents,·but·then\n//·have·to·include·the·rest·of·the·pattern,·then·the·parent,·etc.,\n//·as·the·thing·that·cannot·be·because·RegExp·negative·lookaheads\n//·are·different·from·globs.\n//\n//·So·for·example:\n//·a@(i|w!(x|y)z|j)b·=>·^a(i|w((!?(x|y)zb).*)z|j)b$\n//···1···2·3···4·5·6······1···2····3···46······5·6\n//\n//·Assembling·the·extglob·requires·not·just·the·negated·patterns·themselves,\n//·but·also·anything·following·the·negative·patterns·up·to·the·boundary\n//·of·the·current·pattern,·plus·anything·following·in·the·parent·pattern.\n//\n//\n//·So,·first,·we·parse·the·string·into·an·AST·of·extglobs,·without·turning\n//·anything·into·regexps·yet.\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y']},·'z'],·['j']]},·'b']\n//\n//·Then,·for·all·the·negative·extglobs,·we·append·whatever·comes·after·in\n//·each·parent·as·their·tail\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y'],·'z',·'b'},·'z'],·['j']]},·'b']\n//\n//·Lastly,·we·turn·each·of·these·pieces·into·a·regexp,·and·join\n//\n//·································v-----·.*·because·there's·more·following,\n//·································v····v··otherwise,·.+·because·it·must·be\n//·································v····v··*something*·there.\n//·['^a',·{@·['i',·'w(?:(!?(?:x|y).*zb$).*)z',·'j'·]},·'b$']\n//···copy·what·follows·into·here--^^^^^\n//·['^a',·'(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)',·'b$']\n//·['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport·type·ExtglobType·=·'!'·|·'?'·|·'+'·|·'*'·|·'@'\nconst·types·=·new·Set<ExtglobType>(['!',·'?',·'+',·'*',·'@'])\nconst·isExtglobType·=·(c:·string):·c·is·ExtglobType·=>\n··types.has(c·as·ExtglobType)\n\n//·Patterns·that·get·prepended·to·bind·to·the·start·of·either·the\n//·entire·string,·or·just·a·single·path·portion,·to·prevent·dots\n//·and/or·traversal·patterns,·when·needed.\n//·Exts·don't·need·the·^·or·/·bit,·because·the·root·binds·that·already.\nconst·startNoTraversal·=·'(?!(?:^|/)\\\\.\\\\.?(?:$|/))'\nconst·startNoDot·=·'(?!\\\\.)'\n\n//·characters·that·indicate·a·start·of·pattern·needs·the·\"no·dots\"·bit,\n//·because·a·dot·*might*·be·matched.·(·is·not·in·the·list,·because·in\n//·the·case·of·a·child·extglob,·it·will·handle·the·prevention·itself.\nconst·addPatternStart·=·new·Set(['[',·'.'])\n//·cases·where·traversal·is·A-OK,·no·dot·prevention·needed\nconst·justDots·=·new·Set(['..',·'.'])\nconst·reSpecials·=·new·Set('().*{}+?[]^$\\\\!')\nconst·regExpEscape·=·(s:·string)·=>\n··s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,·'\\\\$&')\n\n//·any·single·thing·other·than·/\nconst·qmark·=·'[^/]'\n\n//·*·=>·any·number·of·characters\nconst·star·=·qmark·+·'*?'\n//·use·+·when·we·need·to·ensure·that·*something*·matches,·because·the·*·is\n//·the·only·thing·in·the·path·portion.\nconst·starNoEmpty·=·qmark·+·'+?'\n\n//·remove·the·\\·chars·that·we·added·if·we·end·up·doing·a·nonmagic·compare\n//·const·deslash·=·(s:·string)·=>·s.replace(/\\\\(.)/g,·'$1')\n\nexport·class·AST·{\n··type:·ExtglobType·|·null\n··readonly·#root:·AST\n\n··#hasMagic?:·boolean\n··#uflag:·boolean·=·false\n··#parts:·(string·|·AST)[]·=·[]\n··readonly·#parent?:·AST\n··readonly·#parentIndex:·number\n··#negs:·AST[]\n··#filledNegs:·boolean·=·false\n··#options:·MinimatchOptions\n··#toString?:·string\n··//·set·to·true·if·it's·an·extglob·with·no·children\n··//·(which·really·means·one·child·of·'')\n··#emptyExt:·boolean·=·false\n\n··constructor(\n····type:·ExtglobType·|·null,\n····parent?:·AST,\n····options:·MinimatchOptions·=·{},\n··)·{\n····this.type·=·type\n····//·extglobs·are·inherently·magical\n····if·(type)·this.#hasMagic·=·true\n····this.#parent·=·parent\n····this.#root·=·this.#parent·?·this.#parent.#root·:·this\n····this.#options·=·this.#root·===·this·?·options·:·this.#root.#options\n····this.#negs·=·this.#root·===·this·?·[]·:·this.#root.#negs\n····if·(type·===·'!'·&&·!this.#root.#filledNegs)·this.#negs.push(this)\n····this.#parentIndex·=·this.#parent·?·this.#parent.#parts.length·:·0\n··}\n\n··get·hasMagic():·boolean·|·undefined·{\n····/*·c8·ignore·start·*/\n····if·(this.#hasMagic·!==·undefined)·return·this.#hasMagic\n····/*·c8·ignore·stop·*/\n····for·(const·p·of·this.#parts)·{\n······if·(typeof·p·===·'string')·continue\n······if·(p.type·||·p.hasMagic)·return·(this.#hasMagic·=·true)\n····}\n····//·note:·will·be·undefined·until·we·generate·the·regexp·src·and·find·out\n····return·this.#hasMagic\n··}\n\n··//·reconstructs·the·pattern\n··toString():·string·{\n····if·(this.#toString·!==·undefined)·return·this.#toString\n····if·(!this.type)·{\n······return·(this.#toString·=·this.#parts.map(p·=>·String(p)).join(''))\n····}·else·{\n······return·(this.#toString·=\n········this.type·+·'('·+·this.#parts.map(p·=>·String(p)).join('|')·+·')')\n····}\n··}\n\n··#fillNegs()·{\n····/*·c8·ignore·start·*/\n····if·(this·!==·this.#root)·throw·new·Error('should·only·call·on·root')\n····if·(this.#filledNegs)·return·this\n····/*·c8·ignore·stop·*/\n\n····//·call·toString()·once·to·fill·this·out\n····this.toString()\n····this.#filledNegs·=·true\n····let·n:·AST·|·undefined\n····while·((n·=·this.#negs.pop()))·{\n······if·(n.type·!==·'!')·continue\n······//·walk·up·the·tree,·appending·everthing·that·comes·AFTER·parentIndex\n······let·p:·AST·|·undefined·=·n\n······let·pp·=·p.#parent\n······while·(pp)·{\n········for·(\n··········let·i·=·p.#parentIndex·+·1;\n··········!pp.type·&&·i·<·pp.#parts.length;\n··········i++\n········)·{\n··········for·(const·part·of·n.#parts)·{\n············/*·c8·ignore·start·*/\n············if·(typeof·part·===·'string')·{\n··············throw·new·Error('string·part·in·extglob·AST??')\n············}\n············/*·c8·ignore·stop·*/\n············part.copyIn(pp.#parts[i])\n··········}\n········}\n········p·=·pp\n········pp·=·p.#parent\n······}\n····}\n····return·this\n··}\n\n··push(...parts:·(string·|·AST)[])·{\n····for·(const·p·of·parts)·{\n······if·(p·===·'')·continue\n······/*·c8·ignore·start·*/\n······if·(typeof·p·!==·'string'·&&·!(p·instanceof·AST·&&·p.#parent·===·this))·{\n········throw·new·Error('invalid·part:·'·+·p)\n······}\n······/*·c8·ignore·stop·*/\n······this.#parts.push(p)\n····}\n··}\n\n··toJSON()·{\n····const·ret:·any[]·=\n······this.type·===·nu[·...·truncated·by·diffoscope;·len:·13851,·SHA:·e61762108f1a7decad6655bb52ba0836b806c0f15d4ccc03e4e7a1856470844c·...·]········:·`)${this.type}`\n······final·=·start·+·body·+·close\n····}\n····return·[\n······final,\n······unescape(body),\n······(this.#hasMagic·=·!!this.#hasMagic),\n······this.#uflag,\n····]\n··}\n\n··#partsToRegExp(dot:·boolean)·{\n····return·this.#parts\n······.map(p·=>·{\n········//·extglob·ASTs·should·only·contain·parent·ASTs\n········/*·c8·ignore·start·*/\n········if·(typeof·p·===·'string')·{\n··········throw·new·Error('string·type·in·extglob·ast??')\n········}\n········/*·c8·ignore·stop·*/\n········//·can·ignore·hasMagic,·because·extglobs·are·already·always·magic\n········const·[re,·_,·_hasMagic,·uflag]·=·p.toRegExpSource(dot)\n········this.#uflag·=·this.#uflag·||·uflag\n········return·re\n······})\n······.filter(p·=>·!(this.isStart()·&&·this.isEnd())·||·!!p)\n······.join('|')\n··}\n\n··static·#parseGlob(\n····glob:·string,\n····hasMagic:·boolean·|·undefined,\n····noEmpty:·boolean·=·false,\n··):·[re:·string,·body:·string,·hasMagic:·boolean,·uflag:·boolean]·{\n····let·escaping·=·false\n····let·re·=·''\n····let·uflag·=·false\n····for·(let·i·=·0;·i·<·glob.length;·i++)·{\n······const·c·=·glob.charAt(i)\n······if·(escaping)·{\n········escaping·=·false\n········re·+=·(reSpecials.has(c)·?·'\\\\'·:·'')·+·c\n········continue\n······}\n······if·(c·===·'\\\\')·{\n········if·(i·===·glob.length·-·1)·{\n··········re·+=·'\\\\\\\\'\n········}·else·{\n··········escaping·=·true\n········}\n········continue\n······}\n······if·(c·===·'[')·{\n········const·[src,·needUflag,·consumed,·magic]·=·parseClass(glob,·i)\n········if·(consumed)·{\n··········re·+=·src\n··········uflag·=·uflag·||·needUflag\n··········i·+=·consumed·-·1\n··········hasMagic·=·hasMagic·||·magic\n··········continue\n········}\n······}\n······if·(c·===·'*')·{\n········re·+=·noEmpty·&&·glob·===·'*'·?·starNoEmpty·:·star\n········hasMagic·=·true\n········continue\n······}\n······if·(c·===·'?')·{\n········re·+=·qmark\n········hasMagic·=·true\n········continue\n······}\n······re·+=·regExpEscape(c)\n····}\n····return·[re,·unescape(glob),·!!hasMagic,·uflag]\n··}\n}\n",1000 ········"//·parse·a·single·path·portion\n\nimport·{·parseClass·}·from·'./brace-expressions.js'\nimport·{·MinimatchOptions,·MMRegExp·}·from·'./index.js'\nimport·{·unescape·}·from·'./unescape.js'\n\n//·classes·[]·are·handled·by·the·parseClass·method\n//·for·positive·extglobs,·we·sub-parse·the·contents,·and·combine,\n//·with·the·appropriate·regexp·close.\n//·for·negative·extglobs,·we·sub-parse·the·contents,·but·then\n//·have·to·include·the·rest·of·the·pattern,·then·the·parent,·etc.,\n//·as·the·thing·that·cannot·be·because·RegExp·negative·lookaheads\n//·are·different·from·globs.\n//\n//·So·for·example:\n//·a@(i|w!(x|y)z|j)b·=>·^a(i|w((!?(x|y)zb).*)z|j)b$\n//···1···2·3···4·5·6······1···2····3···46······5·6\n//\n//·Assembling·the·extglob·requires·not·just·the·negated·patterns·themselves,\n//·but·also·anything·following·the·negative·patterns·up·to·the·boundary\n//·of·the·current·pattern,·plus·anything·following·in·the·parent·pattern.\n//\n//\n//·So,·first,·we·parse·the·string·into·an·AST·of·extglobs,·without·turning\n//·anything·into·regexps·yet.\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y']},·'z'],·['j']]},·'b']\n//\n//·Then,·for·all·the·negative·extglobs,·we·append·whatever·comes·after·in\n//·each·parent·as·their·tail\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y'],·'z',·'b'},·'z'],·['j']]},·'b']\n//\n//·Lastly,·we·turn·each·of·these·pieces·into·a·regexp,·and·join\n//\n//·································v-----·.*·because·there's·more·following,\n//·································v····v··otherwise,·.+·because·it·must·be\n//·································v····v··*something*·there.\n//·['^a',·{@·['i',·'w(?:(!?(?:x|y).*zb$).*)z',·'j'·]},·'b$']\n//···copy·what·follows·into·here--^^^^^\n//·['^a',·'(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)',·'b$']\n//·['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport·type·ExtglobType·=·'!'·|·'?'·|·'+'·|·'*'·|·'@'\nconst·types·=·new·Set<ExtglobType>(['!',·'?',·'+',·'*',·'@'])\nconst·isExtglobType·=·(c:·string):·c·is·ExtglobType·=>\n··types.has(c·as·ExtglobType)\n\n//·Patterns·that·get·prepended·to·bind·to·the·start·of·either·the\n//·entire·string,·or·just·a·single·path·portion,·to·prevent·dots\n//·and/or·traversal·patterns,·when·needed.\n//·Exts·don't·need·the·^·or·/·bit,·because·the·root·binds·that·already.\nconst·startNoTraversal·=·'(?!(?:^|/)\\\\.\\\\.?(?:$|/))'\nconst·startNoDot·=·'(?!\\\\.)'\n\n//·characters·that·indicate·a·start·of·pattern·needs·the·\"no·dots\"·bit,\n//·because·a·dot·*might*·be·matched.·(·is·not·in·the·list,·because·in\n//·the·case·of·a·child·extglob,·it·will·handle·the·prevention·itself.\nconst·addPatternStart·=·new·Set(['[',·'.'])\n//·cases·where·traversal·is·A-OK,·no·dot·prevention·needed\nconst·justDots·=·new·Set(['..',·'.'])\nconst·reSpecials·=·new·Set('().*{}+?[]^$\\\\!')\nconst·regExpEscape·=·(s:·string)·=>\n··s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,·'\\\\$&')\n\n//·any·single·thing·other·than·/\nconst·qmark·=·'[^/]'\n\n//·*·=>·any·number·of·characters\nconst·star·=·qmark·+·'*?'\n//·use·+·when·we·need·to·ensure·that·*something*·matches,·because·the·*·is\n//·the·only·thing·in·the·path·portion.\nconst·starNoEmpty·=·qmark·+·'+?'\n\n//·remove·the·\\·chars·that·we·added·if·we·end·up·doing·a·nonmagic·compare\n//·const·deslash·=·(s:·string)·=>·s.replace(/\\\\(.)/g,·'$1')\n\nexport·class·AST·{\n··type:·ExtglobType·|·null\n··readonly·#root:·AST\n\n··#hasMagic?:·boolean\n··#uflag:·boolean·=·false\n··#parts:·(string·|·AST)[]·=·[]\n··readonly·#parent?:·AST\n··readonly·#parentIndex:·number\n··#negs:·AST[]\n··#filledNegs:·boolean·=·false\n··#options:·MinimatchOptions\n··#toString?:·string\n··//·set·to·true·if·it's·an·extglob·with·no·children\n··//·(which·really·means·one·child·of·'')\n··#emptyExt:·boolean·=·false\n\n··constructor(\n····type:·ExtglobType·|·null,\n····parent?:·AST,\n····options:·MinimatchOptions·=·{},\n··)·{\n····this.type·=·type\n····//·extglobs·are·inherently·magical\n····if·(type)·this.#hasMagic·=·true\n····this.#parent·=·parent\n····this.#root·=·this.#parent·?·this.#parent.#root·:·this\n····this.#options·=·this.#root·===·this·?·options·:·this.#root.#options\n····this.#negs·=·this.#root·===·this·?·[]·:·this.#root.#negs\n····if·(type·===·'!'·&&·!this.#root.#filledNegs)·this.#negs.push(this)\n····this.#parentIndex·=·this.#parent·?·this.#parent.#parts.length·:·0\n··}\n\n··get·hasMagic():·boolean·|·undefined·{\n····/*·c8·ignore·start·*/\n····if·(this.#hasMagic·!==·undefined)·return·this.#hasMagic\n····/*·c8·ignore·stop·*/\n····for·(const·p·of·this.#parts)·{\n······if·(typeof·p·===·'string')·continue\n······if·(p.type·||·p.hasMagic)·return·(this.#hasMagic·=·true)\n····}\n····//·note:·will·be·undefined·until·we·generate·the·regexp·src·and·find·out\n····return·this.#hasMagic\n··}\n\n··//·reconstructs·the·pattern\n··toString():·string·{\n····if·(this.#toString·!==·undefined)·return·this.#toString\n····if·(!this.type)·{\n······return·(this.#toString·=·this.#parts.map(p·=>·String(p)).join(''))\n····}·else·{\n······return·(this.#toString·=\n········this.type·+·'('·+·this.#parts.map(p·=>·String(p)).join('|')·+·')')\n····}\n··}\n\n··#fillNegs()·{\n····/*·c8·ignore·start·*/\n····if·(this·!==·this.#root)·throw·new·Error('should·only·call·on·root')\n····if·(this.#filledNegs)·return·this\n····/*·c8·ignore·stop·*/\n\n····//·call·toString()·once·to·fill·this·out\n····this.toString()\n····this.#filledNegs·=·true\n····let·n:·AST·|·undefined\n····while·((n·=·this.#negs.pop()))·{\n······if·(n.type·!==·'!')·continue\n······//·walk·up·the·tree,·appending·everthing·that·comes·AFTER·parentIndex\n······let·p:·AST·|·undefined·=·n\n······let·pp·=·p.#parent\n······while·(pp)·{\n········for·(\n··········let·i·=·p.#parentIndex·+·1;\n··········!pp.type·&&·i·<·pp.#parts.length;\n··········i++\n········)·{\n··········for·(const·part·of·n.#parts)·{\n············/*·c8·ignore·start·*/\n············if·(typeof·part·===·'string')·{\n··············throw·new·Error('string·part·in·extglob·AST??')\n············}\n············/*·c8·ignore·stop·*/\n············part.copyIn(pp.#parts[i])\n··········}\n········}\n········p·=·pp\n········pp·=·p.#parent\n······}\n····}\n····return·this\n··}\n\n··push(...parts:·(string·|·AST)[])·{\n····for·(const·p·of·parts)·{\n······if·(p·===·'')·continue\n······/*·c8·ignore·start·*/\n······if·(\n········typeof·p·!==·'string'·&&\n········!(p·instanceof·AST·&&·p.#parent·===·this)\n······)·{\n········throw·new·Error('invalid·part:·'·+·p)\n······}\n······/*·c8·ignore·stop·*/\n······this.#parts.push(p)\n····}\n··}\n\n··toJSON()·{\n····const·ret:·any[[·...·truncated·by·diffoscope;·len:·13839,·SHA:·c03f87d94904207bdd65f1429cda15924b156fe87d650492b981186ea82c35d0·...·]········:·`)${this.type}`\n······final·=·start·+·body·+·close\n····}\n····return·[\n······final,\n······unescape(body),\n······(this.#hasMagic·=·!!this.#hasMagic),\n······this.#uflag,\n····]\n··}\n\n··#partsToRegExp(dot:·boolean)·{\n····return·this.#parts\n······.map(p·=>·{\n········//·extglob·ASTs·should·only·contain·parent·ASTs\n········/*·c8·ignore·start·*/\n········if·(typeof·p·===·'string')·{\n··········throw·new·Error('string·type·in·extglob·ast??')\n········}\n········/*·c8·ignore·stop·*/\n········//·can·ignore·hasMagic,·because·extglobs·are·already·always·magic\n········const·[re,·_,·_hasMagic,·uflag]·=·p.toRegExpSource(dot)\n········this.#uflag·=·this.#uflag·||·uflag\n········return·re\n······})\n······.filter(p·=>·!(this.isStart()·&&·this.isEnd())·||·!!p)\n······.join('|')\n··}\n\n··static·#parseGlob(\n····glob:·string,\n····hasMagic:·boolean·|·undefined,\n····noEmpty:·boolean·=·false,\n··):·[re:·string,·body:·string,·hasMagic:·boolean,·uflag:·boolean]·{\n····let·escaping·=·false\n····let·re·=·''\n····let·uflag·=·false\n····for·(let·i·=·0;·i·<·glob.length;·i++)·{\n······const·c·=·glob.charAt(i)\n······if·(escaping)·{\n········escaping·=·false\n········re·+=·(reSpecials.has(c)·?·'\\\\'·:·'')·+·c\n········continue\n······}\n······if·(c·===·'\\\\')·{\n········if·(i·===·glob.length·-·1)·{\n··········re·+=·'\\\\\\\\'\n········}·else·{\n··········escaping·=·true\n········}\n········continue\n······}\n······if·(c·===·'[')·{\n········const·[src,·needUflag,·consumed,·magic]·=·parseClass(glob,·i)\n········if·(consumed)·{\n··········re·+=·src\n··········uflag·=·uflag·||·needUflag\n··········i·+=·consumed·-·1\n··········hasMagic·=·hasMagic·||·magic\n··········continue\n········}\n······}\n······if·(c·===·'*')·{\n········re·+=·noEmpty·&&·glob·===·'*'·?·starNoEmpty·:·star\n········hasMagic·=·true\n········continue\n······}\n······if·(c·===·'?')·{\n········re·+=·qmark\n········hasMagic·=·true\n········continue\n······}\n······re·+=·regExpEscape(c)\n····}\n····return·[re,·unescape(glob),·!!hasMagic,·uflag]\n··}\n}\n",
1000 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Escape·all·magic·characters·in·a·glob·pattern.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}\n·*·option·is·used,·then·characters·are·escaped·by·wrapping·in·`[]`,·because\n·*·a·magic·character·wrapped·in·a·character·class·can·only·be·satisfied·by\n·*·that·exact·character.··In·this·mode,·`\\`·is·_not_·escaped,·because·it·is\n·*·not·interpreted·as·a·magic·character,·but·instead·as·a·path·separator.\n·*\n·*·If·the·{@link·MinimatchOptions.magicalBraces}·option·is·used,\n·*·then·braces·(`{`·and·`}`)·will·be·escaped.\n·*/\nexport·const·escape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·false,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··//·don't·need·to·escape·+@!·because·we·escape·the·parens\n··//·that·make·those·magic,·and·escaping·!·as·[!]·isn't·valid,\n··//·because·[!]]·is·a·valid·glob·class·meaning·not·']'.\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape\n······?·s.replace(/[?*()[\\]{}]/g,·'[$&]')\n······:·s.replace(/[?*()[\\]\\\\{}]/g,·'\\\\$&')\n··}\n··return·windowsPathsNoEscape\n····?·s.replace(/[?*()[\\]]/g,·'[$&]')\n····:·s.replace(/[?*()[\\]\\\\]/g,·'\\\\$&')\n}\n",1001 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Escape·all·magic·characters·in·a·glob·pattern.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}\n·*·option·is·used,·then·characters·are·escaped·by·wrapping·in·`[]`,·because\n·*·a·magic·character·wrapped·in·a·character·class·can·only·be·satisfied·by\n·*·that·exact·character.··In·this·mode,·`\\`·is·_not_·escaped,·because·it·is\n·*·not·interpreted·as·a·magic·character,·but·instead·as·a·path·separator.\n·*\n·*·If·the·{@link·MinimatchOptions.magicalBraces}·option·is·used,\n·*·then·braces·(`{`·and·`}`)·will·be·escaped.\n·*/\nexport·const·escape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·false,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··//·don't·need·to·escape·+@!·because·we·escape·the·parens\n··//·that·make·those·magic,·and·escaping·!·as·[!]·isn't·valid,\n··//·because·[!]]·is·a·valid·glob·class·meaning·not·']'.\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape·?\n········s.replace(/[?*()[\\]{}]/g,·'[$&]')\n······:·s.replace(/[?*()[\\]\\\\{}]/g,·'\\\\$&')\n··}\n··return·windowsPathsNoEscape·?\n······s.replace(/[?*()[\\]]/g,·'[$&]')\n····:·s.replace(/[?*()[\\]\\\\]/g,·'\\\\$&')\n}\n",
1001 ········"import·{·expand·}·from·'@isaacs/brace-expansion'\nimport·{·assertValidPattern·}·from·'./assert-valid-pattern.js'\nimport·{·AST,·ExtglobType·}·from·'./ast.js'\nimport·{·escape·}·from·'./escape.js'\nimport·{·unescape·}·from·'./unescape.js'\n\nexport·type·Platform·=\n··|·'aix'\n··|·[·...·truncated·by·diffoscope;·len:·33302,·SHA:·fbe1afcb1dc67843b89cf686da1470b3d1b6cdd1753e8d3bd989e06d87569cfb·...·]\n········})·as·(string·|·typeof·GLOBSTAR)[]\n········pp.forEach((p,·i)·=>·{\n··········const·next·=·pp[i·+·1]\n··········const·prev·=·pp[i·-·1]\n··········if·(p·!==·GLOBSTAR·||·prev·===·GLOBSTAR)·{\n············return\n··········}\n··········if·(prev·===·undefined)·{\n············if·(next·!==·undefined·&&·next·!==·GLOBSTAR)·{\n··············pp[i·+·1]·=·'(?:\\\\/|'·+·twoStar·+·'\\\\/)?'·+·next\n············}·else·{\n··············pp[i]·=·twoStar\n············}\n··········}·else·if·(next·===·undefined)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·')?'\n··········}·else·if·(next·!==·GLOBSTAR)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·'\\\\/)'·+·next\n············pp[i·+·1]·=·GLOBSTAR\n··········}\n········})\n········const·filtered·=·pp.filter(p·=>·p·!==·GLOBSTAR)\n\n········//·For·partial·matches,·we·need·to·make·the·pattern·match\n········//·any·prefix·of·the·full·path.·We·do·this·by·generating\n········//·alternative·patterns·that·match·progressively·longer·prefixes.\n········if·(this.partial·&&·filtered.length·>=·1)·{\n··········const·prefixes:·string[]·=·[]\n··········for·(let·i·=·1;·i·<=·filtered.length;·i++)·{\n············prefixes.push(filtered.slice(0,·i).join('/'))\n··········}\n··········return·'(?:'·+·prefixes.join('|')·+·')'\n········}\n\n········return·filtered.join('/')\n······})\n······.join('|')\n\n····//·need·to·wrap·in·parens·if·we·had·more·than·one·thing·with·|,\n····//·otherwise·only·the·first·will·be·anchored·to·^·and·the·last·to·$\n····const·[open,·close]·=·set.length·>·1·?·['(?:',·')']·:·['',·'']\n····//·must·match·entire·pattern\n····//·ending·in·a·*·or·**·will·make·it·less·strict.\n····re·=·'^'·+·open·+·re·+·close·+·'$'\n\n····//·In·partial·mode,·'/'·should·always·match·as·it's·a·valid·prefix·for·any·pattern\n····if·(this.partial)·{\n······re·=·'^(?:\\\\/|'·+·open·+·re.slice(1,·-1)·+·close·+·')$'\n····}\n\n····//·can·match·anything,·as·long·as·it's·not·this.\n····if·(this.negate)·re·=·'^(?!'·+·re·+·').+$'\n\n····try·{\n······this.regexp·=·new·RegExp(re,·[...flags].join(''))\n······/*·c8·ignore·start·*/\n····}·catch·(ex)·{\n······//·should·be·impossible\n······this.regexp·=·false\n····}\n····/*·c8·ignore·stop·*/\n····return·this.regexp\n··}\n\n··slashSplit(p:·string)·{\n····//·if·p·starts·with·//·on·windows,·we·preserve·that\n····//·so·that·UNC·paths·aren't·broken.··Otherwise,·any·number·of\n····//·/·characters·are·coalesced·into·one,·unless\n····//·preserveMultipleSlashes·is·set·to·true.\n····if·(this.preserveMultipleSlashes)·{\n······return·p.split('/')\n····}·else·if·(this.isWindows·&&·/^\\/\\/[^\\/]+/.test(p))·{\n······//·add·an·extra·''·for·the·one·we·lose\n······return·['',·...p.split(/\\/+/)]\n····}·else·{\n······return·p.split(/\\/+/)\n····}\n··}\n\n··match(f:·string,·partial·=·this.partial)·{\n····this.debug('match',·f,·this.pattern)\n····//·short-circuit·in·the·case·of·busted·things.\n····//·comments,·etc.\n····if·(this.comment)·{\n······return·false\n····}\n····if·(this.empty)·{\n······return·f·===·''\n····}\n\n····if·(f·===·'/'·&&·partial)·{\n······return·true\n····}\n\n····const·options·=·this.options\n\n····//·windows:·need·to·use·/,·not·\\\n····if·(this.isWindows)·{\n······f·=·f.split('\\\\').join('/')\n····}\n\n····//·treat·the·test·path·as·a·set·of·pathparts.\n····const·ff·=·this.slashSplit(f)\n····this.debug(this.pattern,·'split',·ff)\n\n····//·just·ONE·of·the·pattern·sets·in·this.set·needs·to·match\n····//·in·order·for·it·to·be·valid.··If·negating,·then·just·one\n····//·match·means·that·we·have·failed.\n····//·Either·way,·return·on·the·first·hit.\n\n····const·set·=·this.set\n····this.debug(this.pattern,·'set',·set)\n\n····//·Find·the·basename·of·the·path·by·looking·for·the·last·non-empty·segment\n····let·filename:·string·=·ff[ff.length·-·1]\n····if·(!filename)·{\n······for·(let·i·=·ff.length·-·2;·!filename·&&·i·>=·0;·i--)·{\n········filename·=·ff[i]\n······}\n····}\n\n····for·(let·i·=·0;·i·<·set.length;·i++)·{\n······const·pattern·=·set[i]\n······let·file·=·ff\n······if·(options.matchBase·&&·pattern.length·===·1)·{\n········file·=·[filename]\n······}\n······const·hit·=·this.matchOne(file,·pattern,·partial)\n······if·(hit)·{\n········if·(options.flipNegate)·{\n··········return·true\n········}\n········return·!this.negate\n······}\n····}\n\n····//·didn't·get·any·hits.··this·is·success·if·it's·a·negative\n····//·pattern,·failure·otherwise.\n····if·(options.flipNegate)·{\n······return·false\n····}\n····return·this.negate\n··}\n\n··static·defaults(def:·MinimatchOptions)·{\n····return·minimatch.defaults(def).Minimatch\n··}\n}\n/*·c8·ignore·start·*/\nexport·{·AST·}·from·'./ast.js'\nexport·{·escape·}·from·'./escape.js'\nexport·{·unescape·}·from·'./unescape.js'\n/*·c8·ignore·stop·*/\nminimatch.AST·=·AST\nminimatch.Minimatch·=·Minimatch\nminimatch.escape·=·escape\nminimatch.unescape·=·unescape\n",1002 ········"import·{·expand·}·from·'brace-expansion'\nimport·{·assertValidPattern·}·from·'./assert-valid-pattern.js'\nimport·{·AST,·ExtglobType·}·from·'./ast.js'\nimport·{·escape·}·from·'./escape.js'\nimport·{·unescape·}·from·'./unescape.js'\n\nexport·type·Platform·=\n··|·'aix'\n··|·'android[·...·truncated·by·diffoscope;·len:·35634,·SHA:·088c0bb0c76a1c9de4d12356f21cd67974d7db533a8bc603782b69bda1d27a3e·...·]\n········})·as·(string·|·typeof·GLOBSTAR)[]\n········pp.forEach((p,·i)·=>·{\n··········const·next·=·pp[i·+·1]\n··········const·prev·=·pp[i·-·1]\n··········if·(p·!==·GLOBSTAR·||·prev·===·GLOBSTAR)·{\n············return\n··········}\n··········if·(prev·===·undefined)·{\n············if·(next·!==·undefined·&&·next·!==·GLOBSTAR)·{\n··············pp[i·+·1]·=·'(?:\\\\/|'·+·twoStar·+·'\\\\/)?'·+·next\n············}·else·{\n··············pp[i]·=·twoStar\n············}\n··········}·else·if·(next·===·undefined)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·')?'\n··········}·else·if·(next·!==·GLOBSTAR)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·'\\\\/)'·+·next\n············pp[i·+·1]·=·GLOBSTAR\n··········}\n········})\n········const·filtered·=·pp.filter(p·=>·p·!==·GLOBSTAR)\n\n········//·For·partial·matches,·we·need·to·make·the·pattern·match\n········//·any·prefix·of·the·full·path.·We·do·this·by·generating\n········//·alternative·patterns·that·match·progressively·longer·prefixes.\n········if·(this.partial·&&·filtered.length·>=·1)·{\n··········const·prefixes:·string[]·=·[]\n··········for·(let·i·=·1;·i·<=·filtered.length;·i++)·{\n············prefixes.push(filtered.slice(0,·i).join('/'))\n··········}\n··········return·'(?:'·+·prefixes.join('|')·+·')'\n········}\n\n········return·filtered.join('/')\n······})\n······.join('|')\n\n····//·need·to·wrap·in·parens·if·we·had·more·than·one·thing·with·|,\n····//·otherwise·only·the·first·will·be·anchored·to·^·and·the·last·to·$\n····const·[open,·close]·=·set.length·>·1·?·['(?:',·')']·:·['',·'']\n····//·must·match·entire·pattern\n····//·ending·in·a·*·or·**·will·make·it·less·strict.\n····re·=·'^'·+·open·+·re·+·close·+·'$'\n\n····//·In·partial·mode,·'/'·should·always·match·as·it's·a·valid·prefix·for·any·pattern\n····if·(this.partial)·{\n······re·=·'^(?:\\\\/|'·+·open·+·re.slice(1,·-1)·+·close·+·')$'\n····}\n\n····//·can·match·anything,·as·long·as·it's·not·this.\n····if·(this.negate)·re·=·'^(?!'·+·re·+·').+$'\n\n····try·{\n······this.regexp·=·new·RegExp(re,·[...flags].join(''))\n······/*·c8·ignore·start·*/\n····}·catch·(ex)·{\n······//·should·be·impossible\n······this.regexp·=·false\n····}\n····/*·c8·ignore·stop·*/\n····return·this.regexp\n··}\n\n··slashSplit(p:·string)·{\n····//·if·p·starts·with·//·on·windows,·we·preserve·that\n····//·so·that·UNC·paths·aren't·broken.··Otherwise,·any·number·of\n····//·/·characters·are·coalesced·into·one,·unless\n····//·preserveMultipleSlashes·is·set·to·true.\n····if·(this.preserveMultipleSlashes)·{\n······return·p.split('/')\n····}·else·if·(this.isWindows·&&·/^\\/\\/[^\\/]+/.test(p))·{\n······//·add·an·extra·''·for·the·one·we·lose\n······return·['',·...p.split(/\\/+/)]\n····}·else·{\n······return·p.split(/\\/+/)\n····}\n··}\n\n··match(f:·string,·partial·=·this.partial)·{\n····this.debug('match',·f,·this.pattern)\n····//·short-circuit·in·the·case·of·busted·things.\n····//·comments,·etc.\n····if·(this.comment)·{\n······return·false\n····}\n····if·(this.empty)·{\n······return·f·===·''\n····}\n\n····if·(f·===·'/'·&&·partial)·{\n······return·true\n····}\n\n····const·options·=·this.options\n\n····//·windows:·need·to·use·/,·not·\\\n····if·(this.isWindows)·{\n······f·=·f.split('\\\\').join('/')\n····}\n\n····//·treat·the·test·path·as·a·set·of·pathparts.\n····const·ff·=·this.slashSplit(f)\n····this.debug(this.pattern,·'split',·ff)\n\n····//·just·ONE·of·the·pattern·sets·in·this.set·needs·to·match\n····//·in·order·for·it·to·be·valid.··If·negating,·then·just·one\n····//·match·means·that·we·have·failed.\n····//·Either·way,·return·on·the·first·hit.\n\n····const·set·=·this.set\n····this.debug(this.pattern,·'set',·set)\n\n····//·Find·the·basename·of·the·path·by·looking·for·the·last·non-empty·segment\n····let·filename:·string·=·ff[ff.length·-·1]\n····if·(!filename)·{\n······for·(let·i·=·ff.length·-·2;·!filename·&&·i·>=·0;·i--)·{\n········filename·=·ff[i]\n······}\n····}\n\n····for·(let·i·=·0;·i·<·set.length;·i++)·{\n······const·pattern·=·set[i]\n······let·file·=·ff\n······if·(options.matchBase·&&·pattern.length·===·1)·{\n········file·=·[filename]\n······}\n······const·hit·=·this.matchOne(file,·pattern,·partial)\n······if·(hit)·{\n········if·(options.flipNegate)·{\n··········return·true\n········}\n········return·!this.negate\n······}\n····}\n\n····//·didn't·get·any·hits.··this·is·success·if·it's·a·negative\n····//·pattern,·failure·otherwise.\n····if·(options.flipNegate)·{\n······return·false\n····}\n····return·this.negate\n··}\n\n··static·defaults(def:·MinimatchOptions)·{\n····return·minimatch.defaults(def).Minimatch\n··}\n}\n/*·c8·ignore·start·*/\nexport·{·AST·}·from·'./ast.js'\nexport·{·escape·}·from·'./escape.js'\nexport·{·unescape·}·from·'./unescape.js'\n/*·c8·ignore·stop·*/\nminimatch.AST·=·AST\nminimatch.Minimatch·=·Minimatch\nminimatch.escape·=·escape\nminimatch.unescape·=·unescape\n",
1002 ········"/**\n·*·@module·LRUCache\n·*/\n\n//·module-private·names·and·types\n//·this·provides·the·default·Perf·object·source.\n//·it·can·be·passed·in·via·configuration·to·override·it\n//·for·a·single·LRU·object.\nexport·type·Perf·=·{·now:·()·=>·number·}\nconst·defaultPerf:·Perf·=\n··(\n····typeof·performance·===·'object'·&&\n····performance·&&\n····typeof·performance.now·===·'function'\n··)·?\n····performance\n··:·Date\n\nconst·warned·=·new·Set<string>()\n\n//·either·a·function·or·a·class\ntype·ForC·=·((...a:·any[])·=>·any)·|·{·new·(...a:·any[]):·any·}\n\n/*·c8·ignore·start·*/\nconst·PROCESS·=·(\n··typeof·process·===·'object'·&&·!!process·?\n····process\n··:·{})·as·{·[k:·string]:·any·}\n/*·c8·ignore·start·*/\n\nconst·emitWarning·=·(\n··msg:·string,\n··type:·string,\n··code:·string,\n··fn:·ForC,\n)·=>·{\n··typeof·PROCESS.emitWarning·===·'function'·?\n····PROCESS.emitWarning(msg,·type,·code,·fn)\n··:·console.error(`[${code}]·${type}:·${msg}`)\n}\n\nlet·AC·=·globalThis.AbortController\nlet·AS·=·globalThis.AbortSignal\n\n/*·c8·ignore·start·*/\nif·(typeof·AC·===·'undefined')·{\n··//@ts-ignore\n··AS·=·class·AbortSignal·{\n····onabort?:·(...a:·any[])·=>·any\n····_onabort:·((...a:·any[])·=>·any)[]·=·[]\n····reason?:·any\n····aborted:·boolean·=·false\n····addEventListener(_:·string,·fn:·(...a:·any[])·=>·any)·{\n······this._onabort.push(fn)\n····}\n··}\n··//@ts-ignore\n··AC·=·class·AbortController·{\n····constructor()·{\n······warnACPolyfill()\n····}\n····signal·=·new·AS()\n····abort(reason:·any)·{\n······if·(this.signal.aborted)·return\n······//@ts-ignore\n······this.signal.reason·=·reason\n······//@ts-ignore\n······this.signal.aborted·=·true\n······//@ts-ignore\n······for·(const·fn·of·this.signal._onabort)·{\n········fn(reason)\n······}\n······this.signal.onabort?.(reason)\n····}\n··}\n··let·printACPolyfillWarning·=\n····PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING·!==·'1'\n··const·warnACPolyfill·=·()·=>·{\n····if·(!printACPolyfillWarning)·return\n····printACPolyfillWarning·=·false\n····emitWarning(\n······'AbortController·is·not·defined.·If·using·lru-cache·in·'·+\n········'node·14,·load·an·AbortController·polyfill·from·the·'·+\n········'`node-abort-controller`·package.·A·minimal·polyfill·is·'·+\n········'provided·for·use·by·LRUCache.fetch(),·but·it·should·not·be·'·+\n········'relied·upon·in·other·contexts·(eg,·passing·it·to·other·APIs·that·'·+\n········'use·AbortController/AbortSignal·might·have·undesirable·effects).·'·+\n········'You·may·disable·this·with·LRU_CACHE_IGNORE_AC_WARNING=1·in·the·env.',\n······'NO_ABORT_CONTROLLER',\n······'ENOTSUP',\n······warnACPolyfill,\n····)\n··}\n}\n/*·c8·ignore·stop·*/\n\nconst·shouldWarn·=·(code:·string)·=>·!warned.has(code)\n\nconst·TYPE·=·Symbol('type')\nexport·type·PosInt·=·number·&·{·[TYPE]:·'Positive·Integer'·}\nexport·type·Index·=·number·&·{·[TYPE]:·'LRUCache·Index'·}\n\nconst·isPosInt·=·(n:·any):·n·is·PosInt·=>\n··n·&&·n·===·Math.floor(n)·&&·n·>·0·&&·isFinite(n)\n\nexport·type·UintArray·=·Uint8Array·|·Uint16Array·|·Uint32Array\nexport·type·NumberArray·=·UintArray·|·number[]\n\n/*·c8·ignore·start·*/\n//·This·is·a·little·bit·ridiculous,·tbh.\n//·The·maximum·array·length·is·2^32-1·or·thereabouts·on·most·JS·impls.\n//·And·well·before·that·point,·you're·caching·the·entire·world,·I·mean,\n//·that's·~32GB·of·just·integers·for·the·next/prev·links,·plus·whatever\n//·else·to·hold·that·many·keys·and·values.··Just·filling·the·memory·with\n//·zeroes·at·init·time·is·brutal·when·you·get·that·big.\n//·But·why·not·be·complete?\n//·Maybe·in·the·future,·these·limits·will·have·expanded.\nconst·getUintArray·=·(max:·number)·=>\n··!isPosInt(max)·?·null\n··:·max·<=·Math.pow(2,·8)·?·Uint8Array\n··:·max·<=·Math.pow(2,·16)·?·Uint16Array\n··:·max·<=·Math.pow(2,·32)·?·Uint32Array\n··:·max·<=·Number.MAX_SAFE_INTEGER·?·ZeroArray\n··:·null\n/*·c8·ignore·stop·*/\n\nclass·ZeroArray·extends·Array<number>·{\n··constructor(size:·number)·{\n····super(size)\n····this.fill(0)\n··}\n}\nexport·type·{·ZeroArray·}\nexport·type·{·Stack·}\n\nexport·type·StackLike·=·Stack·|·Index[]\nclass·Stack·{\n··heap:·NumberArray\n··length:·number\n··//·private·constructor\n··static·#constructing:·boolean·=·false\n··static·create(max:·number):·StackLike·{\n····const·HeapCls·=·getUintArray(max)\n····if·(!HeapCls)·return·[]\n····Stack.#constructing·=·true\n····const·s·=·new·Stack(max,·HeapCls)\n····Stack.#constructing·=·false\n····return·s\n··}\n··constructor(max:·number,·HeapCls:·{·new·(n:·number):·NumberArray·})·{\n····/*·c8·ignore·start·*/\n····if·(!Stack.#constructing)·{\n······throw·new·TypeError('instantiate·Stack·using·Stack.create(n)')\n····}\n····/*·c8·ignore·stop·*/\n····this.heap·=·new·HeapCls(max)\n····this.length·=·0\n··}\n··push(n:·Index)·{\n····this.heap[this.length++]·=·n\n··}\n··pop():·Index·{\n····return·this.heap[--this.length]·as·Index\n··}\n}\n\n/**\n·*·Promise·representing·an·in-progress·{@link·LRUCache#fetch}·call\n·*/\nexport·type·BackgroundFetch<V>·=·Promise<V·|·undefined>·&·{\n··__returned:·BackgroundFetch<V>·|·undefined\n··__abortController:·AbortController\n··__staleWhileFetching:·V·|·undefined\n}\n\nexport·type·DisposeTask<K,·V>·=·[\n··value:·V,\n··key:·K,\n··reason:·LRUCache.DisposeReason,\n]\n\nexport·namespace·LRUCache·{\n··/**\n···*·An·integer·greater·than·0,·reflecting·the·calculated·size·of·items\n···*/\n··export·type·Size·=·number\n\n··/**\n···*·Integer·greater·than·0,·representing·some·number·of·milliseconds,·or·the\n···*·time·at·which·a·TTL·started·counting·from.\n···*/\n··export·type·Milliseconds·=·number\n\n··/**\n···*·An·integer·greater·than·0,·reflecting·a·number·of·items\n···*/\n··export·type·Count·=·number\n\n··/**\n···*·The·reason·why·an·item·was·removed·from·the·cache,·passed\n···*·to·the·{@link·Disposer}·methods.\n···*\n···*·-·`evict`:·The·item·was·evicted·because·it·is·the·least·recently·used,\n···*···and·the·cache·is·full.\n···*·-·`set`:·A·new·value·was·set,·overwriting·the·old·value·being·disposed.\n···*·-·`delete`:·The·item·was·explicitly·deleted,·either·by·calling\n···*···{@link·LRUCache#delete},·{@link·LRUCache#clear},·or\n···*···{@link·LRUCache#set}·with·an·undefined·value.\n···*·-·`expire`:·The·item·was·removed·due·to·exceeding·its·TTL.\n···*·-·`fetch`:·A·{@link·OptionsBase#fetchMethod}·operation·returned\n···*···`undefined`·or·was·aborted,·causing·the·item·to·be·deleted.\n···*/\n··export·type·DisposeReason·=\n····|·'evict'\n····|·'set'\n····|·'delete'\n····|·'expire'\n····|·'fetch'\n··/**\n···*·A·method·called·upon·item·removal,·passed·as·the\n···*·{@link·OptionsBase.dispose}·and/or\n···*·{@link·OptionsBase.disposeAfter}·options.\n···*/\n··export·type·Disposer<K,·V>·=·(\n····value:·V,\n····key:·K,\n····reason:·DisposeReason,\n··)·=>·void\n\n··/**\n···*·The·reason·why·an·item·was·added·to·the·cache,·passed\n···*·to·the·{@link·Inserter}·methods.\n···*\n···*·-·`add`:·the·item·was·not·found·in·the·cache,·and·was·added\n···*·-·`update`:·the·item·was·in·the·cache,·with·the·same·value·provided\n···*·-·`replace`:·the·item·was·in·the·cache,·and·replaced\n···*/\n··export·type·InsertReason·=·'add'·|·'update'·|·'replace'\n\n··/**\n···*·A·method·called·upon·item·insertion,·passed·as·the\n···*·{@link·OptionsBase.insert}\n···*/\n··export·type·Inserter<K,·V>·=·(\n····value:·V,\n····key:·K,\n····reason:·InsertReason,\n··)·=>·void\n\n··/**\n···*·A·function·that·returns·the·effective·calculated·size\n···*·of·an·entry·in·the·cache.\n···*/\n··export·type·SizeCalculator<K,·V>·=·(value:·V,·key:·K)·=>·Size\n\n··/**\n···*·Options·provided·to·the\n···*·{@link·OptionsBase.fetchMethod}·function.\n···*/\n··export·interface·FetcherOptions<K,·V,·FC·=·unknown>·{\n····signal:·AbortSignal\n····options:·FetcherFetchOptions<K,·V,·FC>\n····/**\n·····*·Object·provided·in·the·{@link·FetchOptions.context}·option·to\n·····*·{@link·LRUCache#fetch}\n·····*/\n····context:·FC\n··}\n\n··/**\n···*·Occasionally,·it·may·be·useful·to·track·the·internal·behavior·of·the\n···*·cache,·particularly·for·logging,·debugging,·or·for·behavior·within·the\n···*·`fetchMethod`.·To·do·this,·you·can·pass·a·`status`·object·to·the\n···*·{@link·LRUCache#fetch},·{@link·LRUCache#get},·{@link·LRUCache#set},\n···*·{@link·LRUCache#memo},·and·{@link·LRUCache#has}·methods.\n···*\n···*·The·`status`·option·should·be·a·plain·JavaScript·object.·The·following\n···*·fields·will·be·set·on·it·appropriately,·depending·on·the·situation.\n···*/\n··export·interface·Status<V>·{\n····/**\n·····*·The·status·of·a·set()·operation.\n·····*\n·····*·-·add:·the·item·was·not·found·in·the·cache,·and·was·added\n·····*·-·update:·the·item·was·in·the·cache,·with·the·same·value·provided\n·····*·-·replace:·the·item·was·in·the·cache,·and·replaced\n·····*·-·miss:·the·item·was·not·added·to·the·cache·for·some·reason\n·····*/\n····set?:·'add'·|·'update'·|·'replace'·|·'miss'\n\n····/**\n·····*·the·ttl·stored·for·the·item,·or·undefined·if·ttls·are·not·used.\n·····*/\n····ttl?:·Milliseconds\n\n····/**\n·····*·the·start·time·for·the·item,·or·undefined·if·ttls·are·not·used.\n·····*/\n····start?:·Milliseconds\n\n····/**\n·····*·The·timestamp·used·for·TTL·calculation\n·····*/\n····now?:·Milliseconds\n\n····/**\n·····*·the·remaining·ttl·for·the·item,·or·undefined·if·ttls·are·not·used.\n·····*/\n····remainingTTL?:·Milliseconds\n\n····/**\n·····*·The·calculated·size·for·the·item,·if·sizes·are·used.\n·····*/\n····entrySize?:·Size\n\n····/**\n·····*·The·total·calculated·size·of·the·cache,·if·sizes·are·used.\n·····*/\n····totalCalculatedSize?:·Size\n\n····/**\n·····*·A·flag·indicating·that·the·item·was·not·stored,·due·to·exceeding·the\n·····*·{@link·OptionsBase.maxEntrySize}\n·····*/\n····maxEntrySizeExceeded?:·true\n\n····/**\n·····*·The·old·value,·specified·in·the·case·of·`set:'update'`·or\n·····*·`set:'replace'`\n·····*/\n····oldValue?:·V\n\n····/**\n·····*·The·results·of·a·{@link·LRUCache#has}·operation\n·····*\n·····*·-·hit:·the·item·was·found·in·the·cache\n·····*·-·stale:·the·item·was·found·in·the·cache,·but·is·stale\n·····*·-·miss:·the·item·was·not·found·in·the·cache\n·····*/\n····has?:·'hit'·|·'stale'·|·'miss'\n\n····/**\n·····*·The·status·of·a·{@link·LRUCache#fetch}·operation.\n·····*·Note·that·this·can·change·as·the·underlying·fetch()·moves·through\n·····*·various·states.\n·····*\n·····*·-·inflight:·there·is·another·fetch()·for·this·key·which·is·in·process\n·····*·-·get:·there·is·no·{@link·OptionsBase.fetchMethod},·so\n·····*···{@link·LRUCache#get}·was·called.\n·····*·-·miss:·the·item·is·not·in·cache,·and·will·be·fetched.\n·····*·-·hit:·the·item·is·in·the·cache,·and·was·resolved·immediately.\n·····*·-·stale:·the·item·is·in·the·cache,·but·stale.\n·····*·-·refresh:·the·item·is·in·the·cache,·and·not·stale,·but\n·····*···{@link·FetchOptions.forceRefresh}·was·specified.\n·····*/\n····fetch?:·'get'·|·'inflight'·|·'miss'·|·'hit'·|·'stale'·|·'refresh'\n\n····/**\n·····*·The·{@link·OptionsBase.fetchMethod}·was·called\n·····*/\n····fetchDispatched?:·true\n\n····/**\n·····*·The·cached·value·was·updated·after·a·successful·call·to\n·····*·{@link·OptionsBase.fetchMethod}\n·····*/\n····fetchUpdated?:·true\n\n····/**\n·····*·The·reason·for·a·fetch()·rejection.··Either·the·error·raised·by·the\n·····*·{@link·OptionsBase.fetchMethod},·or·the·reason·for·an\n·····*·AbortSignal.\n·····*/\n····fetchError?:·Error\n\n····/**\n·····*·The·fetch·received·an·abort·signal\n·····*/\n····fetchAborted?:·true\n\n····/**\n·····*·The·abort·signal·received·was·ignored,·and·the·fetch·was·allowed·to\n·····*·continue.\n·····*/\n····fetchAbortIgnored?:·true\n\n····/**\n·····*·The·fetchMethod·promise·resolved·successfully\n·····*/\n····fetchResolved?:·true\n\n····/**\n·····*·The·fetchMethod·promise·was·rejected\n·····*/\n····fetchRejected?:·true\n\n····/**\n·····*·The·status·of·a·{@link·LRUCache#get}·operation.\n·····*\n·····*·-·fetching:·The·item·is·currently·being·fetched.··If·a·previous·value\n·····*···is·present·and·allowed,·that·will·be·returned.\n·····*·-·stale:·The·item·is·in·the·cache,·and·is·stale.\n·····*·-·hit:·the·item·is·in·the·cache\n·····*·-·miss:·the·item·is·not·in·the·cache\n·····*/\n····get?:·'stale'·|·'hit'·|·'miss'\n\n····/**\n·····*·A·fetch·or·get·operation·returned·a·stale·value.\n·····*/\n····returnedStale?:·true\n··}\n\n··/**\n···*·options·which·override·the·options·set·in·the·LRUCache·constructor\n···*·when·calling·{@link·LRUCache#fetch}.\n···*\n···*·This·is·the·union·of·{@link·GetOptions}·and·{@link·SetOptions},·plus\n···*·{@link·OptionsBase.noDeleteOnFetchRejection},\n···*·{@link·OptionsBase.allowStaleOnFetchRejection},\n···*·{@link·FetchOptions.forceRefresh},·and\n···*·{@link·FetcherOptions.context}\n···*\n···*·Any·of·these·may·be·modified·in·the·{@link·OptionsBase.fetchMethod}\n···*·function,·but·the·{@link·GetOptions}·fields·will·of·course·have·no\n···*·effect,·as·the·{@link·LRUCache#get}·call·already·happened·by·the·time\n···*·the·fetchMethod·is·called.\n···*/\n··export·interface·FetcherFetchOptions<K,·V,·FC·=·unknown>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······|·'allowStale'\n······|·'updateAgeOnGet'\n······|·'noDeleteOnStaleGet'\n······|·'sizeCalculation'\n······|·'ttl'\n······|·'noDisposeOnSet'\n······|·'noUpdateTTL'\n······|·'noDeleteOnFetchRejection'\n······|·'allowStaleOnFetchRejection'\n······|·'ignoreFetchAbort'\n······|·'allowStaleOnFetchAbort'\n····>·{\n····status?:·Status<V>\n····size?:·Size\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#fetch}·method.\n···*/\n··export·interface·FetchOptions<K,·V,·FC>\n····extends·FetcherFetchOptions<K,·V,·FC>·{\n····/**\n·····*·Set·to·true·to·force·a·re-load·of·the·existing·data,·even·if·it\n·····*·is·not·yet·stale.\n·····*/\n····forceRefresh?:·boolean\n····/**\n·····*·Context·provided·to·the·{@link·OptionsBase.fetchMethod}·as\n·····*·the·{@link·FetcherOptions.context}·param.\n·····*\n·····*·If·the·FC·type·is·specified·as·unknown·(the·default),\n·····*·undefined·or·void,·then·this·is·optional.··Otherwise,·it·will\n·····*·be·required.\n·····*/\n····context?:·FC\n····signal?:·AbortSignal\n····status?:·Status<V>\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#fetch}·when·the·FC·type·is·something\n···*·other·than·`unknown`,·`undefined`,·or·`void`\n···*/\n··export·interface·FetchOptionsWithContext<K,·V,·FC>\n····extends·FetchOptions<K,·V,·FC>·{\n····context:·FC\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#fetch}·when·the·FC·type·is\n···*·`undefined`·or·`void`\n···*/\n··export·interface·FetchOptionsNoContext<K,·V>\n····extends·FetchOptions<K,·V,·undefined>·{\n····context?:·undefined\n··}\n\n··export·interface·MemoOptions<K,·V,·FC·=·unknown>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······|·'allowStale'\n······|·'updateAgeOnGet'\n······|·'noDeleteOnStaleGet'\n······|·'sizeCalculation'\n······|·'ttl'\n······|·'noDisposeOnSet'\n······|·'noUpdateTTL'\n······|·'noDeleteOnFetchRejection'\n······|·'allowStaleOnFetchRejection'\n······|·'ignoreFetchAbort'\n······|·'allowStaleOnFetchAbort'\n····>·{\n····/**\n·····*·Set·to·true·to·force·a·re-load·of·the·existing·data,·even·if·it\n·····*·is·not·yet·stale.\n·····*/\n····forceRefresh?:·boolean\n····/**\n·····*·Context·provided·to·the·{@link·OptionsBase.memoMethod}·as\n·····*·the·{@link·MemoizerOptions.context}·param.\n·····*\n·····*·If·the·FC·type·is·specified·as·unknown·(the·default),\n·····*·undefined·or·void,·then·this·is·optional.··Otherwise,·it·will\n·····*·be·required.\n·····*/\n····context?:·FC\n····status?:·Status<V>\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#memo}·when·the·FC·type·is·something\n···*·other·than·`unknown`,·`undefined`,·or·`void`\n···*/\n··export·interface·MemoOptionsWithContext<K,·V,·FC>\n····extends·MemoOptions<K,·V,·FC>·{\n····context:·FC\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#memo}·when·the·FC·type·is\n···*·`undefined`·or·`void`\n···*/\n··export·interface·MemoOptionsNoContext<K,·V>\n····extends·MemoOptions<K,·V,·undefined>·{\n····context?:·undefined\n··}\n\n··/**\n···*·Options·provided·to·the\n···*·{@link·OptionsBase.memoMethod}·function.\n···*/\n··export·interface·MemoizerOptions<K,·V,·FC·=·unknown>·{\n····options:·MemoizerMemoOptions<K,·V,·FC>\n····/**\n·····*·Object·provided·in·the·{@link·MemoOptions.context}·option·to\n·····*·{@link·LRUCache#memo}\n·····*/\n····context:·FC\n··}\n\n··/**\n···*·options·which·override·the·options·set·in·the·LRUCache·constructor\n···*·when·calling·{@link·LRUCache#memo}.\n···*\n···*·This·is·the·union·of·{@link·GetOptions}·and·{@link·SetOptions},·plus\n···*·{@link·MemoOptions.forceRefresh},·and\n···*·{@link·MemoOptions.context}\n···*\n···*·Any·of·these·may·be·modified·in·the·{@link·OptionsBase.memoMethod}\n···*·function,·but·the·{@link·GetOptions}·fields·will·of·course·have·no\n···*·effect,·as·the·{@link·LRUCache#get}·call·already·happened·by·the·time\n···*·the·memoMethod·is·called.\n···*/\n··export·interface·MemoizerMemoOptions<K,·V,·FC·=·unknown>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······|·'allowStale'\n······|·'updateAgeOnGet'\n······|·'noDeleteOnStaleGet'\n······|·'sizeCalculation'\n······|·'ttl'\n······|·'noDisposeOnSet'\n······|·'noUpdateTTL'\n····>·{\n····status?:·Status<V>\n····size?:·Size\n····start?:·Milliseconds\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#has}·method.\n···*/\n··export·interface·HasOptions<K,·V,·FC>\n····extends·Pick<OptionsBase<K,·V,·FC>,·'updateAgeOnHas'>·{\n····status?:·Status<V>\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#get}·method.\n···*/\n··export·interface·GetOptions<K,·V,·FC>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······'allowStale'·|·'updateAgeOnGet'·|·'noDeleteOnStaleGet'\n····>·{\n····status?:·Status<V>\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#peek}·method.\n···*/\n··export·interface·PeekOptions<K,·V,·FC>\n····extends·Pick<OptionsBase<K,·V,·FC>,·'allowStale'>·{}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#set}·method.\n···*/\n··export·interface·SetOptions<K,·V,·FC>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······'sizeCalculation'·|·'ttl'·|·'noDisposeOnSet'·|·'noUpdateTTL'\n····>·{\n····/**\n·····*·If·size·tracking·is·enabled,·then·setting·an·explicit·size\n·····*·in·the·{@link·LRUCache#set}·call·will·prevent·calling·the\n·····*·{@link·OptionsBase.sizeCalculation}·function.\n·····*/\n····size?:·Size\n····/**\n·····*·If·TTL·tracking·is·enabled,·then·setting·an·explicit·start\n·····*·time·in·the·{@link·LRUCache#set}·call·will·override·the\n·····*·default·time·from·`performance.now()`·or·`Date.now()`.\n·····*\n·····*·Note·that·it·must·be·a·valid·value·for·whichever·time-tracking\n·····*·method·is·in·use.\n·····*/\n····start?:·Milliseconds\n····status?:·Status<V>\n··}\n\n··/**\n···*·The·type·signature·for·the·{@link·OptionsBase.fetchMethod}·option.\n···*/\n··export·type·Fetcher<K,·V,·FC·=·unknown>·=·(\n····key:·K,\n····staleValue:·V·|·undefined,\n····options:·FetcherOptions<K,·V,·FC>,\n··)·=>·Promise<V·|·undefined·|·void>·|·V·|·undefined·|·void\n\n··/**\n···*·the·type·signature·for·the·{@link·OptionsBase.memoMethod}·option.\n···*/\n··export·type·Memoizer<K,·V,·FC·=·unknown>·=·(\n····key:·K,\n····staleValue:·V·|·undefined,\n····options:·MemoizerOptions<K,·V,·FC>,\n··)·=>·V\n\n··/**\n···*·Options·which·may·be·passed·to·the·{@link·LRUCache}·constructor.\n···*\n···*·Most·of·these·may·be·overridden·in·the·various·options·that·use\n···*·them.\n···*\n···*·Despite·all·being·technically·optional,·the·constructor·requires·that\n···*·a·cache·is·at·minimum·limited·by·one·or·more·of·{@link·OptionsBase.max},\n···*·{@link·OptionsBase.ttl},·or·{@link·OptionsBase.maxSize}.\n···*\n···*·If·{@link·OptionsBase.ttl}·is·used·alone,·then·it·is·strongly·advised\n···*·(and·in·fact·required·by·the·type·definitions·here)·that·the·cache\n···*·also·set·{@link·OptionsBase.ttlAutopurge},·to·prevent·potentially\n···*·unbounded·storage.\n···*\n···*·All·options·are·also·available·on·the·{@link·LRUCache}·instance,·making\n···*·it·safe·to·pass·an·LRUCache·instance·as·the·options·argumemnt·to\n···*·make·another·empty·cache·of·the·same·type.\n···*\n···*·Some·options·are·marked·as·read-only,·because·changing·them·after\n···*·instantiation·is·not·safe.·Changing·any·of·the·other·options·will·of\n···*·course·only·have·an·effect·on·subsequent·method·calls.\n···*/\n··export·interface·OptionsBase<K,·V,·FC>·{\n····/**\n·····*·The·maximum·number·of·items·to·store·in·the·cache·before·evicting\n·····*·old·entries.·This·is·read-only·on·the·{@link·LRUCache}·instance,\n·····*·and·may·not·be·overridden.\n·····*\n·····*·If·set,·then·storage·space·will·be·pre-allocated·at·construction\n·····*·time,·and·the·cache·will·perform·significantly·faster.\n·····*\n·····*·Note·that·significantly·fewer·items·may·be·stored,·if\n·····*·{@link·OptionsBase.maxSize}·and/or·{@link·OptionsBase.ttl}·are·also\n·····*·set.\n·····*\n·····*·**It·is·strongly·recommended·to·set·a·`max`·to·prevent·unbounded·growth\n·····*·of·the·cache.**\n·····*/\n····max?:·Count\n\n····/**\n·····*·Max·time·in·milliseconds·for·items·to·live·in·cache·before·they·are\n·····*·considered·stale.··Note·that·stale·items·are·NOT·preemptively·removed·by\n·····*·default,·and·MAY·live·in·the·cache,·contributing·to·its·LRU·max,·long\n·····*·after·they·have·expired,·unless·{@link·OptionsBase.ttlAutopurge}·is\n·····*·set.\n·····*\n·····*·If·set·to·`0`·(the·default·value),·then·that·means·\"do·not·track\n·····*·TTL\",·not·\"expire·immediately\".\n·····*\n·····*·Also,·as·this·cache·is·optimized·for·LRU/MRU·operations,·some·of\n·····*·the·staleness/TTL·checks·will·reduce·performance,·as·they·will·incur\n·····*·overhead·by·deleting·items.\n·····*\n·····*·This·is·not·primarily·a·TTL·cache,·and·does·not·make·strong·TTL\n·····*·guarantees.·There·is·no·pre-emptive·pruning·of·expired·items,·but·you\n·····*·_may_·set·a·TTL·on·the·cache,·and·it·will·treat·expired·items·as·missing\n·····*·when·they·are·fetched,·and·delete·them.\n·····*\n·····*·Optional,·but·must·be·a·non-negative·integer·in·ms·if·specified.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.set()`.\n·····*\n·····*·At·least·one·of·`max`,·`maxSize`,·or·`TTL`·is·required.·This·must·be·a\n·····*·positive·integer·if·set.\n·····*\n·····*·Even·if·ttl·tracking·is·enabled,·**it·is·strongly·recommended·to·set·a\n·····*·`max`·to·prevent·unbounded·growth·of·the·cache.**\n·····*\n·····*·If·ttl·tracking·is·enabled,·and·`max`·and·`maxSize`·are·not·set,\n·····*·and·`ttlAutopurge`·is·not·set,·then·a·warning·will·be·emitted\n·····*·cautioning·about·the·potential·for·unbounded·memory·consumption.\n·····*·(The·TypeScript·definitions·will·also·discourage·this.)\n·····*/\n····ttl?:·Milliseconds\n\n····/**\n·····*·Minimum·amount·of·time·in·ms·in·which·to·check·for·staleness.\n·····*·Defaults·to·1,·which·means·that·the·current·time·is·checked\n·····*·at·most·once·per·millisecond.\n·····*\n·····*·Set·to·0·to·check·the·current·time·every·time·staleness·is·tested.\n·····*·(This·reduces·performance,·and·is·theoretically·unnecessary.)\n·····*\n·····*·Setting·this·to·a·higher·value·will·improve·performance·somewhat\n·····*·while·using·ttl·tracking,·albeit·at·the·expense·of·keeping·stale\n·····*·items·around·a·bit·longer·than·their·TTLs·would·indicate.\n·····*\n·····*·@default·1\n·····*/\n····ttlResolution?:·Milliseconds\n\n····/**\n·····*·Preemptively·remove·stale·items·from·the·cache.\n·····*\n·····*·Note·that·this·may·*significantly*·degrade·performance,·especially·if\n·····*·the·cache·is·storing·a·large·number·of·items.·It·is·almost·always·best\n·····*·to·just·leave·the·stale·items·in·the·cache,·and·let·them·fall·out·as·new\n·····*·items·are·added.\n·····*\n·····*·Note·that·this·means·that·{@link·OptionsBase.allowStale}·is·a·bit\n·····*·pointless,·as·stale·items·will·be·deleted·almost·as·soon·as·they\n·····*·expire.\n·····*\n·····*·Use·with·caution!\n·····*/\n····ttlAutopurge?:·boolean\n\n····/**\n·····*·When·using·time-expiring·entries·with·`ttl`,·setting·this·to·`true`·will\n·····*·make·each·item's·age·reset·to·0·whenever·it·is·retrieved·from·cache·with\n·····*·{@link·LRUCache#get},·causing·it·to·not·expire.·(It·can·still·fall·out\n·····*·of·cache·based·on·recency·of·use,·of·course.)\n·····*\n·····*·Has·no·effect·if·{@link·OptionsBase.ttl}·is·not·set.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.get()`.\n·····*/\n····updateAgeOnGet?:·boolean\n\n····/**\n·····*·When·using·time-expiring·entries·with·`ttl`,·setting·this·to·`true`·will\n·····*·make·each·item's·age·reset·to·0·whenever·its·presence·in·the·cache·is\n·····*·checked·with·{@link·LRUCache#has},·causing·it·to·not·expire.·(It·can\n·····*·still·fall·out·of·cache·based·on·recency·of·use,·of·course.)\n·····*\n·····*·Has·no·effect·if·{@link·OptionsBase.ttl}·is·not·set.\n·····*/\n····updateAgeOnHas?:·boolean\n\n····/**\n·····*·Allow·{@link·LRUCache#get}·and·{@link·LRUCache#fetch}·calls·to·return\n·····*·stale·data,·if·available.\n·····*\n·····*·By·default,·if·you·set·`ttl`,·stale·items·will·only·be·deleted·from·the\n·····*·cache·when·you·`get(key)`.·That·is,·it's·not·preemptively·pruning·items,\n·····*·unless·{@link·OptionsBase.ttlAutopurge}·is·set.\n·····*\n·····*·If·you·set·`allowStale:true`,·it'll·return·the·stale·value·*as·well·as*\n·····*·deleting·it.·If·you·don't·set·this,·then·it'll·return·`undefined`·when\n·····*·you·try·to·get·a·stale·entry.\n·····*\n·····*·Note·that·when·a·stale·entry·is·fetched,·_even·if·it·is·returned·due·to\n·····*·`allowStale`·being·set_,·it·is·removed·from·the·cache·immediately.·You\n·····*·can·suppress·this·behavior·by·setting\n·····*·{@link·OptionsBase.noDeleteOnStaleGet},·either·in·the·constructor,·or·in\n·····*·the·options·provided·to·{@link·LRUCache#get}.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.get()`.\n·····*·The·`cache.has()`·method·will·always·return·`false`·for·stale·items.\n·····*\n·····*·Only·relevant·if·a·ttl·is·set.\n·····*/\n····allowStale?:·boolean\n\n····/**\n·····*·Function·that·is·called·on·items·when·they·are·dropped·from·the\n·····*·cache,·as·`dispose(value,·key,·reason)`.\n·····*\n·····*·This·can·be·handy·if·you·want·to·close·file·descriptors·or·do\n·····*·other·cleanup·tasks·when·items·are·no·longer·stored·in·the·cache.\n·····*\n·····*·**NOTE**:·It·is·called·_before_·the·item·has·been·fully·removed\n·····*·from·the·cache,·so·if·you·want·to·put·it·right·back·in,·you·need\n·····*·to·wait·until·the·next·tick.·If·you·try·to·add·it·back·in·during\n·····*·the·`dispose()`·function·call,·it·will·break·things·in·subtle·and\n·····*·weird·ways.\n·····*\n·····*·Unlike·several·other·options,·this·may·_not_·be·overridden·by\n·····*·passing·an·option·to·`set()`,·for·performance·reasons.\n·····*\n·····*·The·`reason`·will·be·one·of·the·following·strings,·corresponding\n·····*·to·the·reason·for·the·item's·deletion:\n·····*\n·····*·-·`evict`·Item·was·evicted·to·make·space·for·a·new·addition\n·····*·-·`set`·Item·was·overwritten·by·a·new·value\n·····*·-·`expire`·Item·expired·its·TTL\n·····*·-·`fetch`·Item·was·deleted·due·to·a·failed·or·aborted·fetch,·or·a\n·····*···fetchMethod·returning·`undefined.\n·····*·-·`delete`·Item·was·removed·by·explicit·`cache.delete(key)`,\n·····*···`cache.clear()`,·or·`cache.set(key,·undefined)`.\n·····*/\n····dispose?:·Disposer<K,·V>\n\n····/**\n·····*·Function·that·is·called·when·new·items·are·inserted·into·the·cache,\n·····*·as·`onInsert(value,·key,·reason)`.\n·····*\n·····*·This·can·be·useful·if·you·need·to·perform·actions·when·an·item·is\n·····*·added,·such·as·logging·or·tracking·insertions.\n·····*\n·····*·Unlike·some·other·options,·this·may·_not_·be·overridden·by·passing\n·····*·an·option·to·`set()`,·for·performance·and·consistency·reasons.\n·····*/\n····onInsert?:·Inserter<K,·V>\n\n····/**\n·····*·The·same·as·{@link·OptionsBase.dispose},·but·called·*after*·the·entry\n·····*·is·completely·removed·and·the·cache·is·once·again·in·a·clean·state.\n·····*\n·····*·It·is·safe·to·add·an·item·right·back·into·the·cache·at·this·point.\n·····*·However,·note·that·it·is·*very*·easy·to·inadvertently·create·infinite\n·····*·recursion·this·way.\n·····*/\n····disposeAfter?:·Disposer<K,·V>\n\n····/**\n·····*·Set·to·true·to·suppress·calling·the\n·····*·{@link·OptionsBase.dispose}·function·if·the·entry·key·is\n·····*·still·accessible·within·the·cache.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to\n·····*·{@link·LRUCache#set}.\n·····*\n·····*·Only·relevant·if·`dispose`·or·`disposeAfter`·are·set.\n·····*/\n····noDisposeOnSet?:·boolean\n\n····/**\n·····*·Boolean·flag·to·tell·the·cache·to·not·update·the·TTL·when·setting·a·new\n·····*·value·for·an·existing·key·(ie,·when·updating·a·value·rather·than\n·····*·inserting·a·new·value).··Note·that·the·TTL·value·is·_always_·set·(if\n·····*·provided)·when·adding·a·new·entry·into·the·cache.\n·····*\n·····*·Has·no·effect·if·a·{@link·OptionsBase.ttl}·is·not·set.\n·····*\n·····*·May·be·passed·as·an·option·to·{@link·LRUCache#set}.\n·····*/\n····noUpdateTTL?:·boolean\n\n····/**\n·····*·Set·to·a·positive·integer·to·track·the·sizes·of·items·added·to·the\n·····*·cache,·and·automatically·evict·items·in·order·to·stay·below·this·size.\n·····*·Note·that·this·may·result·in·fewer·than·`max`·items·being·stored.\n·····*\n·····*·Attempting·to·add·an·item·to·the·cache·whose·calculated·size·is·greater\n·····*·that·this·amount·will·be·a·no-op.·The·item·will·not·be·cached,·and·no\n·····*·other·items·will·be·evicted.\n·····*\n·····*·Optional,·must·be·a·positive·integer·if·provided.\n·····*\n·····*·Sets·`maxEntrySize`·to·the·same·value,·unless·a·different·value·is\n·····*·provided·for·`maxEntrySize`.\n·····*\n·····*·At·least·one·of·`max`,·`maxSize`,·or·`TTL`·is·required.·This·must·be·a\n·····*·positive·integer·if·set.\n·····*\n·····*·Even·if·size·tracking·is·enabled,·**it·is·strongly·recommended·to·set·a\n·····*·`max`·to·prevent·unbounded·growth·of·the·cache.**\n·····*\n·····*·Note·also·that·size·tracking·can·negatively·impact·performance,\n·····*·though·for·most·cases,·only·minimally.\n·····*/\n····maxSize?:·Size\n\n····/**\n·····*·The·maximum·allowed·size·for·any·single·item·in·the·cache.\n·····*\n·····*·If·a·larger·item·is·passed·to·{@link·LRUCache#set}·or·returned·by·a\n·····*·{@link·OptionsBase.fetchMethod}·or·{@link·OptionsBase.memoMethod},·then\n·····*·it·will·not·be·stored·in·the·cache.\n·····*\n·····*·Attempting·to·add·an·item·whose·calculated·size·is·greater·than\n·····*·this·amount·will·not·cache·the·item·or·evict·any·old·items,·but\n·····*·WILL·delete·an·existing·value·if·one·is·already·present.\n·····*\n·····*·Optional,·must·be·a·positive·integer·if·provided.·Defaults·to\n·····*·the·value·of·`maxSize`·if·provided.\n·····*/\n····maxEntrySize?:·Size\n\n····/**\n·····*·A·function·that·returns·a·number·indicating·the·item's·size.\n·····*\n·····*·Requires·{@link·OptionsBase.maxSize}·to·be·set.\n·····*\n·····*·If·not·provided,·and·{@link·OptionsBase.maxSize}·or\n·····*·{@link·OptionsBase.maxEntrySize}·are·set,·then·all\n·····*·{@link·LRUCache#set}·calls·**must**·provide·an·explicit\n·····*·{@link·SetOptions.size}·or·sizeCalculation·param.\n·····*/\n····sizeCalculation?:·SizeCalculator<K,·V>\n\n····/**\n·····*·Method·that·provides·the·implementation·for·{@link·LRUCache#fetch}\n·····*\n·····*·```ts\n·····*·fetchMethod(key,·staleValue,·{·signal,·options,·context·})\n·····*·```\n·····*\n·····*·If·`fetchMethod`·is·not·provided,·then·`cache.fetch(key)`·is·equivalent\n·····*·to·`Promise.resolve(cache.get(key))`.\n·····*\n·····*·If·at·any·time,·`signal.aborted`·is·set·to·`true`,·or·if·the\n·····*·`signal.onabort`·method·is·called,·or·if·it·emits·an·`'abort'`·event\n·····*·which·you·can·listen·to·with·`addEventListener`,·then·that·means·that\n·····*·the·fetch·should·be·abandoned.·This·may·be·passed·along·to·async\n·····*·functions·aware·of·AbortController/AbortSignal·behavior.\n·····*\n·····*·The·`fetchMethod`·should·**only**·return·`undefined`·or·a·Promise\n·····*·resolving·to·`undefined`·if·the·AbortController·signaled·an·`abort`\n·····*·event.·In·all·other·cases,·it·should·return·or·resolve·to·a·value\n·····*·suitable·for·adding·to·the·cache.\n·····*\n·····*·The·`options`·object·is·a·union·of·the·options·that·may·be·provided·to\n·····*·`set()`·and·`get()`.·If·they·are·modified,·then·that·will·result·in\n·····*·modifying·the·settings·to·`cache.set()`·when·the·value·is·resolved,·and\n·····*·in·the·case·of\n·····*·{@link·OptionsBase.noDeleteOnFetchRejection}·and\n·····*·{@link·OptionsBase.allowStaleOnFetchRejection},·the·handling·of\n·····*·`fetchMethod`·failures.\n·····*\n·····*·For·example,·a·DNS·cache·may·update·the·TTL·based·on·the·value·returned\n·····*·from·a·remote·DNS·server·by·changing·`options.ttl`·in·the·`fetchMethod`.\n·····*/\n····fetchMethod?:·Fetcher<K,·V,·FC>\n\n····/**\n·····*·Method·that·provides·the·implementation·for·{@link·LRUCache#memo}\n·····*/\n····memoMethod?:·Memoizer<K,·V,·FC>\n\n····/**\n·····*·Set·to·true·to·suppress·the·deletion·of·stale·data·when·a\n·····*·{@link·OptionsBase.fetchMethod}·returns·a·rejected·promise.\n·····*/\n····noDeleteOnFetchRejection?:·boolean\n\n····/**\n·····*·Do·not·delete·stale·items·when·they·are·retrieved·with\n·····*·{@link·LRUCache#get}.\n·····*\n·····*·Note·that·the·`get`·return·value·will·still·be·`undefined`\n·····*·unless·{@link·OptionsBase.allowStale}·is·true.\n·····*\n·····*·When·using·time-expiring·entries·with·`ttl`,·by·default·stale\n·····*·items·will·be·removed·from·the·cache·when·the·key·is·accessed\n·····*·with·`cache.get()`.\n·····*\n·····*·Setting·this·option·will·cause·stale·items·to·remain·in·the·cache,·until\n·····*·they·are·explicitly·deleted·with·`cache.delete(key)`,·or·retrieved·with\n·····*·`noDeleteOnStaleGet`·set·to·`false`.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.get()`.\n·····*\n·····*·Only·relevant·if·a·ttl·is·used.\n·····*/\n····noDeleteOnStaleGet?:·boolean\n\n····/**\n·····*·Set·to·true·to·allow·returning·stale·data·when·a\n·····*·{@link·OptionsBase.fetchMethod}·throws·an·error·or·returns·a·rejected\n·····*·promise.\n·····*\n·····*·This·differs·from·using·{@link·OptionsBase.allowStale}·in·that·stale\n·····*·data·will·ONLY·be·returned·in·the·case·that·the·{@link·LRUCache#fetch}\n·····*·fails,·not·any·other·times.\n·····*\n·····*·If·a·`fetchMethod`·fails,·and·there·is·no·stale·value·available,·the\n·····*·`fetch()`·will·resolve·to·`undefined`.·Ie,·all·`fetchMethod`·errors·are\n·····*·suppressed.\n·····*\n·····*·Implies·`noDeleteOnFetchRejection`.\n·····*\n·····*·This·may·be·set·in·calls·to·`fetch()`,·or·defaulted·on·the·constructor,\n·····*·or·overridden·by·modifying·the·options·object·in·the·`fetchMethod`.\n·····*/\n····allowStaleOnFetchRejection?:·boolean\n\n····/**\n·····*·Set·to·true·to·return·a·stale·value·from·the·cache·when·the\n·····*·`AbortSignal`·passed·to·the·{@link·OptionsBase.fetchMethod}·dispatches\n·····*·an·`'abort'`·event,·whether·user-triggered,·or·due·to·internal·cache\n·····*·behavior.\n·····*\n·····*·Unless·{@link·OptionsBase.ignoreFetchAbort}·is·also·set,·the·underlying\n·····*·{@link·OptionsBase.fetchMethod}·will·still·be·considered·canceled,·and\n·····*·any·value·it·returns·will·be·ignored·and·not·cached.\n·····*\n·····*·Caveat:·since·fetches·are·aborted·when·a·new·value·is·explicitly\n·····*·set·in·the·cache,·this·can·lead·to·fetch·returning·a·stale·value,\n·····*·since·that·was·the·fallback·value·_at·the·moment·the·`fetch()`·was\n·····*·initiated_,·even·though·the·new·updated·value·is·now·present·in\n·····*·the·cache.\n·····*\n·····*·For·example:\n·····*\n·····*·```ts\n·····*·const·cache·=·new·LRUCache<string,·any>({\n·····*···ttl:·100,\n·····*···fetchMethod:·async·(url,·oldValue,·{·signal·})·=>··{\n·····*·····const·res·=·await·fetch(url,·{·signal·})\n·····*·····return·await·res.json()\n·····*···}\n·····*·})\n·····*·cache.set('https://example.com/',·{·some:·'data'·})\n·····*·//·100ms·go·by...\n·····*·const·result·=·cache.fetch('https://example.com/')\n·····*·cache.set('https://example.com/',·{·other:·'thing'·})\n·····*·console.log(await·result)·//·{·some:·'data'·}\n·····*·console.log(cache.get('https://example.com/'))·//·{·other:·'thing'·}\n·····*·```\n·····*/\n····allowStaleOnFetchAbort?:·boolean\n\n····/**\n·····*·Set·to·true·to·ignore·the·`abort`·event·emitted·by·the·`AbortSignal`\n·····*·object·passed·to·{@link·OptionsBase.fetchMethod},·and·still·cache·the\n·····*·resulting·resolution·value,·as·long·as·it·is·not·`undefined`.\n·····*\n·····*·When·used·on·its·own,·this·means·aborted·{@link·LRUCache#fetch}·calls\n·····*·are·not·immediately·resolved·or·rejected·when·they·are·aborted,·and\n·····*·instead·take·the·full·time·to·await.\n·····*\n·····*·When·used·with·{@link·OptionsBase.allowStaleOnFetchAbort},·aborted\n·····*·{@link·LRUCache#fetch}·calls·will·resolve·immediately·to·their·stale\n·····*·cached·value·or·`undefined`,·and·will·continue·to·process·and·eventually\n·····*·update·the·cache·when·they·resolve,·as·long·as·the·resulting·value·is\n·····*·not·`undefined`,·thus·supporting·a·\"return·stale·on·timeout·while\n·····*·refreshing\"·mechanism·by·passing·`AbortSignal.timeout(n)`·as·the·signal.\n·····*\n·····*·For·example:\n·····*\n·····*·```ts\n·····*·const·c·=·new·LRUCache({\n·····*···ttl:·100,\n·····*···ignoreFetchAbort:·true,\n·····*···allowStaleOnFetchAbort:·true,\n·····*···fetchMethod:·async·(key,·oldValue,·{·signal·})·=>·{\n·····*·····//·note:·do·NOT·pass·the·signal·to·fetch()!\n·····*·····//·let's·say·this·fetch·can·take·a·long·time.\n·····*·····const·res·=·await·fetch(`https://slow-backend-server/${key}`)\n·····*·····return·await·res.json()\n·····*···},\n·····*·})\n·····*\n·····*·//·this·will·return·the·stale·value·after·100ms,·while·still\n·····*·//·updating·in·the·background·for·next·time.\n·····*·const·val·=·await·c.fetch('key',·{·signal:·AbortSignal.timeout(100)·})\n·····*·```\n·····*\n·····*·**Note**:·regardless·of·this·setting,·an·`abort`·event·_is·still\n·····*·emitted·on·the·`AbortSignal`·object_,·so·may·result·in·invalid·results\n·····*·when·passed·to·other·underlying·APIs·that·use·AbortSignals.\n·····*\n·····*·This·may·be·overridden·in·the·{@link·OptionsBase.fetchMethod}·or·the\n·····*·call·to·{@link·LRUCache#fetch}.\n·····*/\n····ignoreFetchAbort?:·boolean\n\n····/**\n·····*·In·some·cases,·you·may·want·to·swap·out·the·performance/Date·object\n·····*·used·for·TTL·tracking.·This·should·almost·certainly·NOT·be·done·in\n·····*·production·environments!\n·····*\n·····*·This·value·defaults·to·`global.performance`·if·it·has·a·`now()`·method,\n·····*·or·the·`global.Date`·object·otherwise.\n·····*/\n····perf?:·Perf\n··}\n\n··export·interface·OptionsMaxLimit<K,·V,·FC>\n····extends·OptionsBase<K,·V,·FC>·{\n····max:·Count\n··}\n··export·interface·OptionsTTLLimit<K,·V,·FC>\n····extends·OptionsBase<K,·V,·FC>·{\n····ttl:·Milliseconds\n····ttlAutopurge:·boolean\n··}\n··export·interface·OptionsSizeLimit<K,·V,·FC>\n····extends·OptionsBase<K,·V,·FC>·{\n····maxSize:·Size\n··}\n\n··/**\n···*·The·valid·safe·options·for·the·{@link·LRUCache}·constructor\n···*/\n··export·type·Options<K,·V,·FC>·=\n····|·OptionsMaxLimit<K,·V,·FC>\n····|·OptionsSizeLimit<K,·V,·FC>\n····|·OptionsTTLLimit<K,·V,·FC>\n\n··/**\n···*·Entry·objects·used·by·{@link·LRUCache#load}·and·{@link·LRUCache#dump},\n···*·and·returned·by·{@link·LRUCache#info}.\n···*/\n··export·interface·Entry<V>·{\n····value:·V\n····ttl?:·Milliseconds\n····size?:·Size\n····start?:·Milliseconds\n··}\n}\n\n/**\n·*·Default·export,·the·thing·you're·using·this·module·to·get.\n·*\n·*·The·`K`·and·`V`·types·define·the·key·and·value·types,·respectively.·The\n·*·optional·`FC`·type·defines·the·type·of·the·`context`·object·passed·to\n·*·`cache.fetch()`·and·`cache.memo()`.\n·*\n·*·Keys·and·values·**must·not**·be·`null`·or·`undefined`.\n·*\n·*·All·properties·from·the·options·object·(with·the·exception·of·`max`,\n·*·`maxSize`,·`fetchMethod`,·`memoMethod`,·`dispose`·and·`disposeAfter`)·are\n·*·added·as·normal·public·members.·(The·listed·options·are·read-only·getters.)\n·*\n·*·Changing·any·of·these·will·alter·the·defaults·for·subsequent·method·calls.\n·*/\nexport·class·LRUCache<K·extends·{},·V·extends·{},·FC·=·unknown>·{\n··//·options·that·cannot·be·changed·without·disaster\n··readonly·#max:·LRUCache.Count\n··readonly·#maxSize:·LRUCache.Size\n··readonly·#dispose?:·LRUCache.Disposer<K,·V>\n··readonly·#onInsert?:·LRUCache.Inserter<K,·V>\n··readonly·#disposeAfter?:·LRUCache.Disposer<K,·V>\n··readonly·#fetchMethod?:·LRUCache.Fetcher<K,·V,·FC>\n··readonly·#memoMethod?:·LRUCache.Memoizer<K,·V,·FC>\n··readonly·#perf:·Perf\n\n··/**\n···*·{@link·LRUCache.OptionsBase.perf}\n···*/\n··get·perf()·{\n····return·this.#perf\n··}\n\n··/**\n···*·{@link·LRUCache.OptionsBase.ttl}\n···*/\n··ttl:·LRUCache.Milliseconds\n\n··/**\n···*·{@link·LRUCache.OptionsBase.ttlResolution}\n···*/\n··ttlResolution:·LRUCache.Milliseconds\n··/**\n···*·{@link·LRUCache.OptionsBase.ttlAutopurge}\n···*/\n··ttlAutopurge:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.updateAgeOnGet}\n···*/\n··updateAgeOnGet:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.updateAgeOnHas}\n···*/\n··updateAgeOnHas:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.allowStale}\n···*/\n··allowStale:·boolean\n\n··/**\n···*·{@link·LRUCache.OptionsBase.noDisposeOnSet}\n···*/\n··noDisposeOnSet:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.noUpdateTTL}\n···*/\n··noUpdateTTL:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.maxEntrySize}\n···*/\n··maxEntrySize:·LRUCache.Size\n··/**\n···*·{@link·LRUCache.OptionsBase.sizeCalculation}\n···*/\n··sizeCalculation?:·LRUCache.SizeCalculator<K,·V>\n··/**\n···*·{@link·LRUCache.OptionsBase.noDeleteOnFetchRejection}\n···*/\n··noDeleteOnFetchRejection:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.noDeleteOnStaleGet}\n···*/\n··noDeleteOnStaleGet:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.allowStaleOnFetchAbort}\n···*/\n··allowStaleOnFetchAbort:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.allowStaleOnFetchRejection}\n···*/\n··allowStaleOnFetchRejection:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.ignoreFetchAbort}\n···*/\n··ignoreFetchAbort:·boolean\n\n··//·computed·properties\n··#size:·LRUCache.Count\n··#calculatedSize:·LRUCache.Size\n··#keyMap:·Map<K,·Index>\n··#keyList:·(K·|·undefined)[]\n··#valList:·(V·|·BackgroundFetch<V>·|·undefined)[]\n··#next:·NumberArray\n··#prev:·NumberArray\n··#head:·Index\n··#tail:·Index\n··#free:·StackLike\n··#disposed?:·DisposeTask<K,·V>[]\n··#sizes?:·ZeroArray\n··#starts?:·ZeroArray\n··#ttls?:·ZeroArray\n··#autopurgeTimers?:·(undefined·|·ReturnType<typeof·setTimeout>)[]\n\n··#hasDispose:·boolean\n··#hasFetchMethod:·boolean\n··#hasDisposeAfter:·boolean\n··#hasOnInsert:·boolean\n\n··/**\n···*·Do·not·call·this·method·unless·you·need·to·inspect·the\n···*·inner·workings·of·the·cache.··If·anything·returned·by·this\n···*·object·is·modified·in·any·way,·strange·breakage·may·occur.\n···*\n···*·These·fields·are·private·for·a·reason!\n···*\n···*·@internal\n···*/\n··static·unsafeExposeInternals<\n····K·extends·{},\n····V·extends·{},\n····FC·extends·unknown·=·unknown,\n··>(c:·LRUCache<K,·V,·FC>)·{\n····return·{\n······//·properties\n······starts:·c.#starts,\n······ttls:·c.#ttls,\n······autopurgeTimers:·c.#autopurgeTimers,\n······sizes:·c.#sizes,\n······keyMap:·c.#keyMap·as·Map<K,·number>,\n······keyList:·c.#keyList,\n······valList:·c.#valList,\n······next:·c.#next,\n······prev:·c.#prev,\n······get·head()·{\n········return·c.#head\n······},\n······get·tail()·{\n········return·c.#tail\n······},\n······free:·c.#free,\n······//·methods\n······isBackgroundFetch:·(p:·any)·=>·c.#isBackgroundFetch(p),\n······backgroundFetch:·(\n········k:·K,\n········index:·number·|·undefined,\n········options:·LRUCache.FetchOptions<K,·V,·FC>,\n········context:·any,\n······):·BackgroundFetch<V>·=>\n········c.#backgroundFetch(\n··········k,\n··········index·as·Index·|·undefined,\n··········options,\n··········context,\n········),\n······moveToTail:·(index:·number):·void·=>·c.#moveToTail(index·as·Index),\n······indexes:·(options?:·{·allowStale:·boolean·})·=>·c.#indexes(options),\n······rindexes:·(options?:·{·allowStale:·boolean·})·=>\n········c.#rindexes(options),\n······isStale:·(index:·number·|·undefined)·=>·c.#isStale(index·as·Index),\n····}\n··}\n\n··//·Protected·read-only·members\n\n··/**\n···*·{@link·LRUCache.OptionsBase.max}·(read-only)\n···*/\n··get·max():·LRUCache.Count·{\n····return·this.#max\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.maxSize}·(read-only)\n···*/\n··get·maxSize():·LRUCache.Count·{\n····return·this.#maxSize\n··}\n··/**\n···*·The·total·computed·size·of·items·in·the·cache·(read-only)\n···*/\n··get·calculatedSize():·LRUCache.Size·{\n····return·this.#calculatedSize\n··}\n··/**\n···*·The·number·of·items·stored·in·the·cache·(read-only)\n···*/\n··get·size():·LRUCache.Count·{\n····return·this.#size\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.fetchMethod}·(read-only)\n···*/\n··get·fetchMethod():·LRUCache.Fetcher<K,·V,·FC>·|·undefined·{\n····return·this.#fetchMethod\n··}\n··get·memoMethod():·LRUCache.Memoizer<K,·V,·FC>·|·undefined·{\n····return·this.#memoMethod\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.dispose}·(read-only)\n···*/\n··get·dispose()·{\n····return·this.#dispose\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.onInsert}·(read-only)\n···*/\n··get·onInsert()·{\n····return·this.#onInsert\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.disposeAfter}·(read-only)\n···*/\n··get·disposeAfter()·{\n····return·this.#disposeAfter\n··}\n\n··constructor(options:·LRUCache.Options<K,·V,·FC>·|·LRUCache<K,·V,·FC>)·{\n····const·{\n······max·=·0,\n······ttl,\n······ttlResolution·=·1,\n······ttlAutopurge,\n······updateAgeOnGet,\n······updateAgeOnHas,\n······allowStale,\n······dispose,\n······onInsert,\n······disposeAfter,\n······noDisposeOnSet,\n······noUpdateTTL,\n······maxSize·=·0,\n······maxEntrySize·=·0,\n······sizeCalculation,\n······fetchMethod,\n······memoMethod,\n······noDeleteOnFetchRejection,\n······noDeleteOnStaleGet,\n······allowStaleOnFetchRejection,\n······allowStaleOnFetchAbort,\n······ignoreFetchAbort,\n······perf,\n····}·=·options\n\n····if·(perf·!==·undefined)·{\n······if·(typeof·perf?.now·!==·'function')·{\n········throw·new·TypeError(\n··········'perf·option·must·have·a·now()·method·if·specified',\n········)\n······}\n····}\n\n····this.#perf·=·perf·??·defaultPerf\n\n····if·(max·!==·0·&&·!isPosInt(max))·{\n······throw·new·TypeError('max·option·must·be·a·nonnegative·integer')\n····}\n\n····const·UintArray·=·max·?·getUintArray(max)·:·Array\n····if·(!UintArray)·{\n······throw·new·Error('invalid·max·value:·'·+·max)\n····}\n\n····this.#max·=·max\n····this.#maxSize·=·maxSize\n····this.maxEntrySize·=·maxEntrySize·||·this.#maxSize\n····this.sizeCalculation·=·sizeCalculation\n····if·(this.sizeCalculation)·{\n······if·(!this.#maxSize·&&·!this.maxEntrySize)·{\n········throw·new·TypeError(\n··········'cannot·set·sizeCalculation·without·setting·maxSize·or·maxEntrySize',\n········)\n······}\n······if·(typeof·this.sizeCalculation·!==·'function')·{\n········throw·new·TypeError('sizeCalculation·set·to·non-function')\n······}\n····}\n\n····if·(memoMethod·!==·undefined·&&·typeof·memoMethod·!==·'function')·{\n······throw·new·TypeError('memoMethod·must·be·a·function·if·defined')\n····}\n····this.#memoMethod·=·memoMethod\n\n····if·(fetchMethod·!==·undefined·&&·typeof·fetchMethod·!==·'function')·{\n······throw·new·TypeError('fetchMethod·must·be·a·function·if·specified')\n····}\n····this.#fetchMethod·=·fetchMethod\n····this.#hasFetchMethod·=·!!fetchMethod\n\n····this.#keyMap·=·new·Map()\n····this.#keyList·=·new·Array(max).fill(undefined)\n····this.#valList·=·new·Array(max).fill(undefined)\n····this.#next·=·new·UintArray(max)\n····this.#prev·=·new·UintArray(max)\n····this.#head·=·0·as·Index\n····this.#tail·=·0·as·Index\n····this.#free·=·Stack.create(max)\n····this.#size·=·0\n····this.#calculatedSize·=·0\n\n····if·(typeof·dispose·===·'function')·{\n······this.#dispose·=·dispose\n····}\n····if·(typeof·onInsert·===·'function')·{\n······this.#onInsert·=·onInsert\n····}\n····if·(typeof·disposeAfter·===·'function')·{\n······this.#disposeAfter·=·disposeAfter\n······this.#disposed·=·[]\n····}·else·{\n······this.#disposeAfter·=·undefined\n······this.#disposed·=·undefined\n····}\n····this.#hasDispose·=·!!this.#dispose\n····this.#hasOnInsert·=·!!this.#onInsert\n····this.#hasDisposeAfter·=·!!this.#disposeAfter\n\n····this.noDisposeOnSet·=·!!noDisposeOnSet\n····this.noUpdateTTL·=·!!noUpdateTTL\n····this.noDeleteOnFetchRejection·=·!!noDeleteOnFetchRejection\n····this.allowStaleOnFetchRejection·=·!!allowStaleOnFetchRejection\n····this.allowStaleOnFetchAbort·=·!!allowStaleOnFetchAbort\n····this.ignoreFetchAbort·=·!!ignoreFetchAbort\n\n····//·NB:·maxEntrySize·is·set·to·maxSize·if·it's·set\n····if·(this.maxEntrySize·!==·0)·{\n······if·(this.#maxSize·!==·0)·{\n········if·(!isPosInt(this.#maxSize))·{\n··········throw·new·TypeError(\n············'maxSize·must·be·a·positive·integer·if·specified',\n··········)\n········}\n······}\n······if·(!isPosInt(this.maxEntrySize))·{\n········throw·new·TypeError(\n··········'maxEntrySize·must·be·a·positive·integer·if·specified',\n········)\n······}\n······this.#initializeSizeTracking()\n····}\n\n····this.allowStale·=·!!allowStale\n····this.noDeleteOnStaleGet·=·!!noDeleteOnStaleGet\n····this.updateAgeOnGet·=·!!updateAgeOnGet\n····this.updateAgeOnHas·=·!!updateAgeOnHas\n····this.ttlResolution·=\n······isPosInt(ttlResolution)·||·ttlResolution·===·0·?·ttlResolution·:·1\n····this.ttlAutopurge·=·!!ttlAutopurge\n····this.ttl·=·ttl·||·0\n····if·(this.ttl)·{\n······if·(!isPosInt(this.ttl))·{\n········throw·new·TypeError('ttl·must·be·a·positive·integer·if·specified')\n······}\n······this.#initializeTTLTracking()\n····}\n\n····//·do·not·allow·completely·unbounded·caches\n····if·(this.#max·===·0·&&·this.ttl·===·0·&&·this.#maxSize·===·0)·{\n······throw·new·TypeError(\n········'At·least·one·of·max,·maxSize,·or·ttl·is·required',\n······)\n····}\n····if·(!this.ttlAutopurge·&&·!this.#max·&&·!this.#maxSize)·{\n······const·code·=·'LRU_CACHE_UNBOUNDED'\n······if·(shouldWarn(code))·{\n········warned.add(code)\n········const·msg·=\n··········'TTL·caching·without·ttlAutopurge,·max,·or·maxSize·can·'·+\n··········'result·in·unbounded·memory·consumption.'\n········emitWarning(msg,·'UnboundedCacheWarning',·code,·LRUCache)\n······}\n····}\n··}\n\n··/**\n···*·Return·the·number·of·ms·left·in·the·item's·TTL.·If·item·is·not·in·cache,\n···*·returns·`0`.·Returns·`Infinity`·if·item·is·in·cache·without·a·defined·TTL.\n···*/\n··getRemainingTTL(key:·K)·{\n····return·this.#keyMap.has(key)·?·Infinity·:·0\n··}\n\n··#initializeTTLTracking()·{\n····const·ttls·=·new·ZeroArray(this.#max)\n····const·starts·=·new·ZeroArray(this.#max)\n····this.#ttls·=·ttls\n····this.#starts·=·starts\n····const·purgeTimers·=\n······this.ttlAutopurge·?\n········new·Array<undefined·|·ReturnType<typeof·setTimeout>>(this.#max)\n······:·undefined\n····this.#autopurgeTimers·=·purgeTimers\n\n····this.#setItemTTL·=·(index,·ttl,·start·=·this.#perf.now())·=>·{\n······starts[index]·=·ttl·!==·0·?·start·:·0\n······ttls[index]·=·ttl\n······//·clear·out·the·purge·timer·if·we're·setting·TTL·to·0,·and\n······//·previously·had·a·ttl·purge·timer·running,·so·it·doesn't\n······//·fire·unnecessarily.\n······if·(purgeTimers?.[index])·{\n········clearTimeout(purgeTimers[index])\n········purgeTimers[index]·=·undefined\n······}\n······if·(ttl·!==·0·&&·purgeTimers)·{\n········const·t·=·setTimeout(()·=>·{\n··········if·(this.#isStale(index))·{\n············this.#delete(this.#keyList[index]·as·K,·'expire')\n··········}\n········},·ttl·+·1)\n········//·unref()·not·supported·on·all·platforms\n········/*·c8·ignore·start·*/\n········if·(t.unref)·{\n··········t.unref()\n········}\n········/*·c8·ignore·stop·*/\n········purgeTimers[index]·=·t\n······}\n····}\n\n····this.#updateItemAge·=·index·=>·{\n······starts[index]·=·ttls[index]·!==·0·?·this.#perf.now()·:·0\n····}\n\n····this.#statusTTL·=·(status,·index)·=>·{\n······if·(ttls[index])·{\n········const·ttl·=·ttls[index]\n········const·start·=·starts[index]\n········/*·c8·ignore·next·*/\n········if·(!ttl·||·!start)·return\n········status.ttl·=·ttl\n········status.start·=·start\n········status.now·=·cachedNow·||·getNow()\n········const·age·=·status.now·-·start\n········status.remainingTTL·=·ttl·-·age\n······}\n····}\n\n····//·debounce·calls·to·perf.now()·to·1s·so·we're·not·hitting\n····//·that·costly·call·repeatedly.\n····let·cachedNow·=·0\n····const·getNow·=·()·=>·{\n······const·n·=·this.#perf.now()\n······if·(this.ttlResolution·>·0)·{\n········cachedNow·=·n\n········const·t·=·setTimeout(()·=>·(cachedNow·=·0),·this.ttlResolution)\n········//·not·available·on·all·platforms\n········/*·c8·ignore·start·*/\n········if·(t.unref)·{\n··········t.unref()\n········}\n········/*·c8·ignore·stop·*/\n······}\n······return·n\n····}\n\n····this.getRemainingTTL·=·key·=>·{\n······const·index·=·this.#keyMap.get(key)\n······if·(index·===·undefined)·{\n········return·0\n······}\n······const·ttl·=·ttls[index]\n······const·start·=·starts[index]\n······if·(!ttl·||·!start)·{\n········return·Infinity\n······}\n······const·age·=·(cachedNow·||·getNow())·-·start\n······return·ttl·-·age\n····}\n\n····this.#isStale·=·index·=>·{\n······const·s·=·starts[index]\n······const·t·=·ttls[index]\n······return·!!t·&&·!!s·&&·(cachedNow·||·getNow())·-·s·>·t\n····}\n··}\n\n··//·conditionally·set·private·methods·related·to·TTL\n··#updateItemAge:·(index:·Index)·=>·void·=·()·=>·{}\n··#statusTTL:·(status:·LRUCache.Status<V>,·index:·Index)·=>·void·=·()·=>·{}\n··#setItemTTL:·(\n····index:·Index,\n····ttl:·LRUCache.Milliseconds,\n····start?:·LRUCache.Milliseconds,\n····//·ignore·because·we·never·call·this·if·we're·not·already·in·TTL·mode\n····/*·c8·ignore·start·*/\n··)·=>·void·=·()·=>·{}\n··/*·c8·ignore·stop·*/\n\n··#isStale:·(index:·Index)·=>·boolean·=·()·=>·false\n\n··#initializeSizeTracking()·{\n····const·sizes·=·new·ZeroArray(this.#max)\n····this.#calculatedSize·=·0\n····this.#sizes·=·sizes\n····this.#removeItemSize·=·index·=>·{\n······this.#calculatedSize·-=·sizes[index]·as·number\n······sizes[index]·=·0\n····}\n····this.#requireSize·=·(k,·v,·size,·sizeCalculation)·=>·{\n······//·provisionally·accept·background·fetches.\n······//·actual·value·size·will·be·checked·when·they·return.\n······if·(this.#isBackgroundFetch(v))·{\n········return·0\n······}\n······if·(!isPosInt(size))·{\n········if·(sizeCalculation)·{\n··········if·(typeof·sizeCalculation·!==·'function')·{\n············throw·new·TypeError('sizeCalculation·must·be·a·function')\n··········}\n··········size·=·sizeCalculation(v,·k)\n··········if·(!isPosInt(size))·{\n············throw·new·TypeError(\n··············'sizeCalculation·return·invalid·(expect·positive·integer)',\n············)\n··········}\n········}·else·{\n··········throw·new·TypeError(\n············'invalid·size·value·(must·be·positive·integer).·'·+\n··············'When·maxSize·or·maxEntrySize·is·used,·sizeCalculation·'·+\n··············'or·size·must·be·set.',\n··········)\n········}\n······}\n······return·size\n····}\n····this.#addItemSize·=·(\n······index:·Index,\n······size:·LRUCache.Size,\n······status?:·LRUCache.Status<V>,\n····)·=>·{\n······sizes[index]·=·size\n······if·(this.#maxSize)·{\n········const·maxSize·=·this.#maxSize·-·(sizes[index]·as·number)\n········while·(this.#calculatedSize·>·maxSize)·{\n··········this.#evict(true)\n········}\n······}\n······this.#calculatedSize·+=·sizes[index]·as·number\n······if·(status)·{\n········status.entrySize·=·size\n········status.totalCalculatedSize·=·this.#calculatedSize\n······}\n····}\n··}\n\n··#removeItemSize:·(index:·Index)·=>·void·=·_i·=>·{}\n··#addItemSize:·(\n····index:·Index,\n····size:·LRUCache.Size,\n····status?:·LRUCache.Status<V>,\n··)·=>·void·=·(_i,·_s,·_st)·=>·{}\n··#requireSize:·(\n····k:·K,\n····v:·V·|·BackgroundFetch<V>,\n····size?:·LRUCache.Size,\n····sizeCalculation?:·LRUCache.SizeCalculator<K,·V>,\n··)·=>·LRUCache.Size·=·(\n····_k:·K,\n····_v:·V·|·BackgroundFetch<V>,\n····size?:·LRUCache.Size,\n····sizeCalculation?:·LRUCache.SizeCalculator<K,·V>,\n··)·=>·{\n····if·(size·||·sizeCalculation)·{\n······throw·new·TypeError(\n········'cannot·set·size·without·setting·maxSize·or·maxEntrySize·on·cache',\n······)\n····}\n····return·0\n··};\n\n··*#indexes({·allowStale·=·this.allowStale·}·=·{})·{\n····if·(this.#size)·{\n······for·(let·i·=·this.#tail;·true;·)·{\n········if·(!this.#isValidIndex(i))·{\n··········break\n········}\n········if·(allowStale·||·!this.#isStale(i))·{\n··········yield·i\n········}\n········if·(i·===·this.#head)·{\n··········break\n········}·else·{\n··········i·=·this.#prev[i]·as·Index\n········}\n······}\n····}\n··}\n\n··*#rindexes({·allowStale·=·this.allowStale·}·=·{})·{\n····if·(this.#size)·{\n······for·(let·i·=·this.#head;·true;·)·{\n········if·(!this.#isValidIndex(i))·{\n··········break\n········}\n········if·(allowStale·||·!this.#isStale(i))·{\n··········yield·i\n········}\n········if·(i·===·this.#tail)·{\n··········break\n········}·else·{\n··········i·=·this.#next[i]·as·Index\n········}\n······}\n····}\n··}\n\n··#isValidIndex(index:·Index)·{\n····return·(\n······index·!==·undefined·&&\n······this.#keyMap.get(this.#keyList[index]·as·K)·===·index\n····)\n··}\n\n··/**\n···*·Return·a·generator·yielding·`[key,·value]`·pairs,\n···*·in·order·from·most·recently·used·to·least·recently·used.\n···*/\n··*entries()·{\n····for·(const·i·of·this.#indexes())·{\n······if·(\n········this.#valList[i]·!==·undefined·&&\n········this.#keyList[i]·!==·undefined·&&\n········!this.#isBackgroundFetch(this.#valList[i])\n······)·{\n········yield·[this.#keyList[i],·this.#valList[i]]·as·[K,·V]\n······}\n····}\n··}\n\n··/**\n···*·Inverse·order·version·of·{@link·LRUCache.entries}\n···*\n···*·Return·a·generator·yielding·`[key,·value]`·pairs,\n···*·in·order·from·least·recently·used·to·most·recently·used.\n···*/\n··*rentries()·{\n····for·(const·i·of·this.#rindexes())·{\n······if·(\n········this.#valList[i]·!==·undefined·&&\n········this.#keyList[i]·!==·undefined·&&\n········!this.#isBackgroundFetch(this.#valList[i])\n······)·{\n········yield·[this.#keyList[i],·this.#valList[i]]\n······}\n····}\n··}\n\n··/**\n···*·Return·a·generator·yielding·the·keys·in·the·cache,\n···*·in·order·from·most·recently·used·to·least·recently·used.\n···*/\n··*keys()·{\n····for·(const·i·of·this.#indexes())·{\n······const·k·=·this.#keyList[i]\n······if·(k·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·k\n······}\n····}\n··}\n\n··/**\n···*·Inverse·order·version·of·{@link·LRUCache.keys}\n···*\n···*·Return·a·generator·yielding·the·keys·in·the·cache,\n···*·in·order·from·least·recently·used·to·most·recently·used.\n···*/\n··*rkeys()·{\n····for·(const·i·of·this.#rindexes())·{\n······const·k·=·this.#keyList[i]\n······if·(k·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·k\n······}\n····}\n··}\n\n··/**\n···*·Return·a·generator·yielding·the·values·in·the·cache,\n···*·in·order·from·most·recently·used·to·least·recently·used.\n···*/\n··*values()·{\n····for·(const·i·of·this.#indexes())·{\n······const·v·=·this.#valList[i]\n······if·(v·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·this.#valList[i]·as·V\n······}\n····}\n··}\n\n··/**\n···*·Inverse·order·version·of·{@link·LRUCache.values}\n···*\n···*·Return·a·generator·yielding·the·values·in·the·cache,\n···*·in·order·from·least·recently·used·to·most·recently·used.\n···*/\n··*rvalues()·{\n····for·(const·i·of·this.#rindexes())·{\n······const·v·=·this.#valList[i]\n······if·(v·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·this.#valList[i]\n······}\n····}\n··}\n\n··/**\n···*·Iterating·over·the·cache·itself·yields·the·same·results·as\n···*·{@link·LRUCache.entries}\n···*/\n··[Symbol.iterator]()·{\n····return·this.entries()\n··}\n\n··/**\n···*·A·String·value·that·is·used·in·the·creation·of·the·default·string\n···*·description·of·an·object.·Called·by·the·built-in·method\n···*·`Object.prototype.toString`.\n···*/\n··[Symbol.toStringTag]·=·'LRUCache'\n\n··/**\n···*·Find·a·value·for·which·the·supplied·fn·method·returns·a·truthy·value,\n···*·similar·to·`Array.find()`.·fn·is·called·as·`fn(value,·key,·cache)`.\n···*/\n··find(\n····fn:·(v:·V,·k:·K,·self:·LRUCache<K,·V,·FC>)·=>·boolean,\n····getOptions:·LRUCache.GetOptions<K,·V,·FC>·=·{},\n··)·{\n····for·(const·i·of·this.#indexes())·{\n······const·v·=·this.#valList[i]\n······const·value·=·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined)·continue\n······if·(fn(value,·this.#keyList[i]·as·K,·this))·{\n········return·this.get(this.#keyList[i]·as·K,·getOptions)\n······}\n····}\n··}\n\n··/**\n···*·Call·the·supplied·function·on·each·item·in·the·cache,·in·order·from·most\n···*·recently·used·to·least·recently·used.\n···*\n···*·`fn`·is·called·as·`fn(value,·key,·cache)`.\n···*\n···*·If·`thisp`·is·provided,·function·will·be·called·in·the·`this`-context·of\n···*·the·provided·object,·or·the·cache·if·no·`thisp`·object·is·provided.\n···*\n···*·Does·not·update·age·or·recenty·of·use,·or·iterate·over·stale·values.\n···*/\n··forEach(\n····fn:·(v:·V,·k:·K,·self:·LRUCache<K,·V,·FC>)·=>·any,\n····thisp:·any·=·this,\n··)·{\n····for·(const·i·of·this.#indexes())·{\n······const·v·=·this.#valList[i]\n······const·value·=·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined)·continue\n······fn.call(thisp,·value,·this.#keyList[i]·as·K,·this)\n····}\n··}\n\n··/**\n···*·The·same·as·{@link·LRUCache.forEach}·but·items·are·iterated·over·in\n···*·reverse·order.··(ie,·less·recently·used·items·are·iterated·over·first.)\n···*/\n··rforEach(\n····fn:·(v:·V,·k:·K,·self:·LRUCache<K,·V,·FC>)·=>·any,\n····thisp:·any·=·this,\n··)·{\n····for·(const·i·of·this.#rindexes())·{\n······const·v·=·this.#valList[i]\n······const·value·=·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined)·continue\n······fn.call(thisp,·value,·this.#keyList[i]·as·K,·this)\n····}\n··}\n\n··/**\n···*·Delete·any·stale·entries.·Returns·true·if·anything·was·removed,\n···*·false·otherwise.\n···*/\n··purgeStale()·{\n····let·deleted·=·false\n····for·(const·i·of·this.#rindexes({·allowStale:·true·}))·{\n······if·(this.#isStale(i))·{\n········this.#delete(this.#keyList[i]·as·K,·'expire')\n········deleted·=·true\n······}\n····}\n····return·deleted\n··}\n\n··/**\n···*·Get·the·extended·info·about·a·given·entry,·to·get·its·value,·size,·and\n···*·TTL·info·simultaneously.·Returns·`undefined`·if·the·key·is·not·present.\n···*\n···*·Unlike·{@link·LRUCache#dump},·which·is·designed·to·be·portable·and·survive\n···*·serialization,·the·`start`·value·is·always·the·current·timestamp,·and·the\n···*·`ttl`·is·a·calculated·remaining·time·to·live·(negative·if·expired).\n···*\n···*·Always·returns·stale·values,·if·their·info·is·found·in·the·cache,·so·be\n···*·sure·to·check·for·expirations·(ie,·a·negative·{@link·LRUCache.Entry#ttl})\n···*·if·relevant.\n···*/\n··info(key:·K):·LRUCache.Entry<V>·|·undefined·{\n····const·i·=·this.#keyMap.get(key)\n····if·(i·===·undefined)·return·undefined\n····const·v·=·this.#valList[i]\n····/*·c8·ignore·start·-·this·isn't·tested·for·the·info·function,\n·····*·but·it's·the·same·logic·as·found·in·other·places.·*/\n····const·value:·V·|·undefined·=\n······this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n····if·(value·===·undefined)·return·undefined\n····/*·c8·ignore·end·*/\n····const·entry:·LRUCache.Entry<V>·=·{·value·}\n····if·(this.#ttls·&&·this.#starts)·{\n······const·ttl·=·this.#ttls[i]\n······const·start·=·this.#starts[i]\n······if·(ttl·&&·start)·{\n········const·remain·=·ttl·-·(this.#perf.now()·-·start)\n········entry.ttl·=·remain\n········entry.start·=·Date.now()\n······}\n····}\n····if·(this.#sizes)·{\n······entry.size·=·this.#sizes[i]\n····}\n····return·entry\n··}\n\n··/**\n···*·Return·an·array·of·[key,·{@link·LRUCache.Entry}]·tuples·which·can·be\n···*·passed·to·{@link·LRUCache#load}.\n···*\n···*·The·`start`·fields·are·calculated·relative·to·a·portable·`Date.now()`\n···*·timestamp,·even·if·`performance.now()`·is·available.\n···*\n···*·Stale·entries·are·always·included·in·the·`dump`,·even·if\n···*·{@link·LRUCache.OptionsBase.allowStale}·is·false.\n···*\n···*·Note:·this·returns·an·actual·array,·not·a·generator,·so·it·can·be·more\n···*·easily·passed·around.\n···*/\n··dump()·{\n····const·arr:·[K,·LRUCache.Entry<V>][]·=·[]\n····for·(const·i·of·this.#indexes({·allowStale:·true·}))·{\n······const·key·=·this.#keyList[i]\n······const·v·=·this.#valList[i]\n······const·value:·V·|·undefined·=\n········this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined·||·key·===·undefined)·continue\n······const·entry:·LRUCache.Entry<V>·=·{·value·}\n······if·(this.#ttls·&&·this.#starts)·{\n········entry.ttl·=·this.#ttls[i]\n········//·always·dump·the·start·relative·to·a·portable·timestamp\n········//·it's·ok·for·this·to·be·a·bit·slow,·it's·a·rare·operation.\n········const·age·=·this.#perf.now()·-·(this.#starts[i]·as·number)\n········entry.start·=·Math.floor(Date.now()·-·age)\n······}\n······if·(this.#sizes)·{\n········entry.size·=·this.#sizes[i]\n······}\n······arr.unshift([key,·entry])\n····}\n····return·arr\n··}\n\n··/**\n···*·Reset·the·cache·and·load·in·the·items·in·entries·in·the·order·listed.\n···*\n···*·The·shape·of·the·resulting·cache·may·be·different·if·the·same·options·are\n···*·not·used·in·both·caches.\n···*\n···*·The·`start`·fields·are·assumed·to·be·calculated·relative·to·a·portable\n···*·`Date.now()`·timestamp,·even·if·`performance.now()`·is·available.\n···*/\n··load(arr:·[K,·LRUCache.Entry<V>][])·{\n····this.clear()\n····for·(const·[key,·entry]·of·arr)·{\n······if·(entry.start)·{\n········//·entry.start·is·a·portable·timestamp,·but·we·may·be·using\n········//·node's·performance.now(),·so·calculate·the·offset,·so·that\n········//·we·get·the·intended·remaining·TTL,·no·matter·how·long·it's\n········//·been·on·ice.\n········//\n········//·it's·ok·for·this·to·be·a·bit·slow,·it's·a·rare·operation.\n········const·age·=·Date.now()·-·entry.start\n········entry.start·=·this.#perf.now()·-·age\n······}\n······this.set(key,·entry.value,·entry)\n····}\n··}\n\n··/**\n···*·Add·a·value·to·the·cache.\n···*\n···*·Note:·if·`undefined`·is·specified·as·a·value,·this·is·an·alias·for\n···*·{@link·LRUCache#delete}\n···*\n···*·Fields·on·the·{@link·LRUCache.SetOptions}·options·param·will·override\n···*·their·corresponding·values·in·the·constructor·options·for·the·scope\n···*·of·this·single·`set()`·operation.\n···*\n···*·If·`start`·is·provided,·then·that·will·set·the·effective·start\n···*·time·for·the·TTL·calculation.·Note·that·this·must·be·a·previous\n···*·value·of·`performance.now()`·if·supported,·or·a·previous·value·of\n···*·`Date.now()`·if·not.\n···*\n···*·Options·object·may·also·include·`size`,·which·will·prevent\n···*·calling·the·`sizeCalculation`·function·and·just·use·the·specified\n···*·number·if·it·is·a·positive·integer,·and·`noDisposeOnSet`·which\n···*·will·prevent·calling·a·`dispose`·function·in·the·case·of\n···*·overwrites.\n···*\n···*·If·the·`size`·(or·return·value·of·`sizeCalculation`)·for·a·given\n···*·entry·is·greater·than·`maxEntrySize`,·then·the·item·will·not·be\n···*·added·to·the·cache.\n···*\n···*·Will·update·the·recency·of·the·entry.\n···*\n···*·If·the·value·is·`undefined`,·then·this·is·an·alias·for\n···*·`cache.delete(key)`.·`undefined`·is·never·stored·in·the·cache.\n···*/\n··set(\n····k:·K,\n····v:·V·|·BackgroundFetch<V>·|·undefined,\n····setOptions:·LRUCache.SetOptions<K,·V,·FC>·=·{},\n··)·{\n····if·(v·===·undefined)·{\n······this.delete(k)\n······return·this\n····}\n····const·{\n······ttl·=·this.ttl,\n······start,\n······noDisposeOnSet·=·this.noDisposeOnSet,\n······sizeCalculation·=·this.sizeCalculation,\n······status,\n····}·=·setOptions\n····let·{·noUpdateTTL·=·this.noUpdateTTL·}·=·setOptions\n\n····const·size·=·this.#requireSize(\n······k,\n······v,\n······setOptions.size·||·0,\n······sizeCalculation,\n····)\n····//·if·the·item·doesn't·fit,·don't·do·anything\n····//·NB:·maxEntrySize·set·to·maxSize·by·default\n····if·(this.maxEntrySize·&&·size·>·this.maxEntrySize)·{\n······if·(status)·{\n········status.set·=·'miss'\n········status.maxEntrySizeExceeded·=·true\n······}\n······//·have·to·delete,·in·case·something·is·there·already.\n······this.#delete(k,·'set')\n······return·this\n····}\n····let·index·=·this.#size·===·0·?·undefined·:·this.#keyMap.get(k)\n····if·(index·===·undefined)·{\n······//·addition\n······index·=·(\n········this.#size·===·0·?·this.#tail\n········:·this.#free.length·!==·0·?·this.#free.pop()\n········:·this.#size·===·this.#max·?·this.#evict(false)\n········:·this.#size)·as·Index\n······this.#keyList[index]·=·k\n······this.#valList[index]·=·v\n······this.#keyMap.set(k,·index)\n······this.#next[this.#tail]·=·index\n······this.#prev[index]·=·this.#tail\n······this.#tail·=·index\n······this.#size++\n······this.#addItemSize(index,·size,·status)\n······if·(status)·status.set·=·'add'\n······noUpdateTTL·=·false\n······if·(this.#hasOnInsert)·{\n········this.#onInsert?.(v·as·V,·k,·'add')\n······}\n····}·else·{\n······//·update\n······this.#moveToTail(index)\n······const·oldVal·=·this.#valList[index]·as·V·|·BackgroundFetch<V>\n······if·(v·!==·oldVal)·{\n········if·(this.#hasFetchMethod·&&·this.#isBackgroundFetch(oldVal))·{\n··········oldVal.__abortController.abort(new·Error('replaced'))\n··········const·{·__staleWhileFetching:·s·}·=·oldVal\n··········if·(s·!==·undefined·&&·!noDisposeOnSet)·{\n············if·(this.#hasDispose)·{\n··············this.#dispose?.(s·as·V,·k,·'set')\n············}\n············if·(this.#hasDisposeAfter)·{\n··············this.#disposed?.push([s·as·V,·k,·'set'])\n············}\n··········}\n········}·else·if·(!noDisposeOnSet)·{\n··········if·(this.#hasDispose)·{\n············this.#dispose?.(oldVal·as·V,·k,·'set')\n··········}\n··········if·(this.#hasDisposeAfter)·{\n············this.#disposed?.push([oldVal·as·V,·k,·'set'])\n··········}\n········}\n········this.#removeItemSize(index)\n········this.#addItemSize(index,·size,·status)\n········this.#valList[index]·=·v\n········if·(status)·{\n··········status.set·=·'replace'\n··········const·oldValue·=\n············oldVal·&&·this.#isBackgroundFetch(oldVal)·?\n··············oldVal.__staleWhileFetching\n············:·oldVal\n··········if·(oldValue·!==·undefined)·status.oldValue·=·oldValue\n········}\n······}·else·if·(status)·{\n········status.set·=·'update'\n······}\n\n······if·(this.#hasOnInsert)·{\n········this.onInsert?.(v·as·V,·k,·v·===·oldVal·?·'update'·:·'replace')\n······}\n····}\n····if·(ttl·!==·0·&&·!this.#ttls)·{\n······this.#initializeTTLTracking()\n····}\n····if·(this.#ttls)·{\n······if·(!noUpdateTTL)·{\n········this.#setItemTTL(index,·ttl,·start)\n······}\n······if·(status)·this.#statusTTL(status,·index)\n····}\n····if·(!noDisposeOnSet·&&·this.#hasDisposeAfter·&&·this.#disposed)·{\n······const·dt·=·this.#disposed\n······let·task:·DisposeTask<K,·V>·|·undefined\n······while·((task·=·dt?.shift()))·{\n········this.#disposeAfter?.(...task)\n······}\n····}\n····return·this\n··}\n\n··/**\n···*·Evict·the·least·recently·used·item,·returning·its·value·or\n···*·`undefined`·if·cache·is·empty.\n···*/\n··pop():·V·|·undefined·{\n····try·{\n······while·(this.#size)·{\n········const·val·=·this.#valList[this.#head]\n········this.#evict(true)\n········if·(this.#isBackgroundFetch(val))·{\n··········if·(val.__staleWhileFetching)·{\n············return·val.__staleWhileFetching\n··········}\n········}·else·if·(val·!==·undefined)·{\n··········return·val\n········}\n······}\n····}·finally·{\n······if·(this.#hasDisposeAfter·&&·this.#disposed)·{\n········const·dt·=·this.#disposed\n········let·task:·DisposeTask<K,·V>·|·undefined\n········while·((task·=·dt?.shift()))·{\n··········this.#disposeAfter?.(...task)\n········}\n······}\n····}\n··}\n\n··#evict(free:·boolean)·{\n····const·head·=·this.#head\n····const·k·=·this.#keyList[head]·as·K\n····const·v·=·this.#valList[head]·as·V\n····if·(this.#hasFetchMethod·&&·this.#isBackgroundFetch(v))·{\n······v.__abortController.abort(new·Error('evicted'))\n····}·else·if·(this.#hasDispose·||·this.#hasDisposeAfter)·{\n······if·(this.#hasDispose)·{\n········this.#dispose?.(v,·k,·'evict')\n······}\n······if·(this.#hasDisposeAfter)·{\n········this.#disposed?.push([v,·k,·'evict'])\n······}\n····}\n····this.#removeItemSize(head)\n····if·(this.#autopurgeTimers?.[head])·{\n······clearTimeout(this.#autopurgeTimers[head])\n······this.#autopurgeTimers[head]·=·undefined\n····}\n····//·if·we·aren't·about·to·use·the·index,·then·null·these·out\n····if·(free)·{\n······this.#keyList[head]·=·undefined\n······this.#valList[head]·=·undefined\n······this.#free.push(head)\n····}\n····if·(this.#size·===·1)·{\n······this.#head·=·this.#tail·=·0·as·Index\n······this.#free.length·=·0\n····}·else·{\n······this.#head·=·this.#next[head]·as·Index\n····}\n····this.#keyMap.delete(k)\n····this.#size--\n····return·head\n··}\n\n··/**\n···*·Check·if·a·key·is·in·the·cache,·without·updating·the·recency·of·use.\n···*·Will·return·false·if·the·item·is·stale,·even·though·it·is·technically\n···*·in·the·cache.\n···*\n···*·Check·if·a·key·is·in·the·cache,·without·updating·the·recency·of\n···*·use.·Age·is·updated·if·{@link·LRUCache.OptionsBase.updateAgeOnHas}·is·set\n···*·to·`true`·in·either·the·options·or·the·constructor.\n···*\n···*·Will·return·`false`·if·the·item·is·stale,·even·though·it·is·technically·in\n···*·the·cache.·The·difference·can·be·determined·(if·it·matters)·by·using·a\n···*·`status`·argument,·and·inspecting·the·`has`·field.\n···*\n···*·Will·not·update·item·age·unless\n···*·{@link·LRUCache.OptionsBase.updateAgeOnHas}·is·set.\n···*/\n··has(k:·K,·hasOptions:·LRUCache.HasOptions<K,·V,·FC>·=·{})·{\n····const·{·updateAgeOnHas·=·this.updateAgeOnHas,·status·}·=·hasOptions\n····const·index·=·this.#keyMap.get(k)\n····if·(index·!==·undefined)·{\n······const·v·=·this.#valList[index]\n······if·(\n········this.#isBackgroundFetch(v)·&&\n········v.__staleWhileFetching·===·undefined\n······)·{\n········return·false\n······}\n······if·(!this.#isStale(index))·{\n········if·(updateAgeOnHas)·{\n··········this.#updateItemAge(index)\n········}\n········if·(status)·{\n··········status.has·=·'hit'\n··········this.#statusTTL(status,·index)\n········}\n········return·true\n······}·else·if·(status)·{\n········status.has·=·'stale'\n········this.#statusTTL(status,·index)\n······}\n····}·else·if·(status)·{\n······status.has·=·'miss'\n····}\n····return·false\n··}\n\n··/**\n···*·Like·{@link·LRUCache#get}·but·doesn't·update·recency·or·delete·stale\n···*·items.\n···*\n···*·Returns·`undefined`·if·the·item·is·stale,·unless\n···*·{@link·LRUCache.OptionsBase.allowStale}·is·set.\n···*/\n··peek(k:·K,·peekOptions:·LRUCache.PeekOptions<K,·V,·FC>·=·{})·{\n····const·{·allowStale·=·this.allowStale·}·=·peekOptions\n····const·index·=·this.#keyMap.get(k)\n····if·(index·===·undefined·||·(!allowStale·&&·this.#isStale(index)))·{\n······return\n····}\n····const·v·=·this.#valList[index]\n····//·either·stale·and·allowed,·or·forcing·a·refresh·of·non-stale·value\n····return·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n··}\n\n··#backgroundFetch(\n····k:·K,\n····index:·Index·|·undefined,\n····options:·LRUCache.FetchOptions<K,·V,·FC>,\n····context:·any,\n··):·BackgroundFetch<V>·{\n····const·v·=·index·===·undefined·?·undefined·:·this.#valList[index]\n····if·(this.#isBackgroundFetch(v))·{\n······return·v\n····}\n\n····const·ac·=·new·AC()\n····const·{·signal·}·=·options\n····//·when/if·our·AC·signals,·then·stop·listening·to·theirs.\n····signal?.addEventListener('abort',·()·=>·ac.abort(signal.reason),·{\n······signal:·ac.signal,\n····})\n\n····const·fetchOpts·=·{\n······signal:·ac.signal,\n······options,\n······context,\n····}\n\n····const·cb·=·(v:·V·|·undefined,·updateCache·=·false):·V·|·undefined·=>·{\n······const·{·aborted·}·=·ac.signal\n······const·ignoreAbort·=·options.ignoreFetchAbort·&&·v·!==·undefined\n······const·proceed·=·options.ignoreFetchAbort·||\n········!!(options.allowStaleOnFetchAbort·&&·v·!==·undefined)\n······if·(options.status)·{\n········if·(aborted·&&·!updateCache)·{\n··········options.status.fetchAborted·=·true\n··········options.status.fetchError·=·ac.signal.reason\n··········if·(ignoreAbort)·options.status.fetchAbortIgnored·=·true\n········}·else·{\n··········options.status.fetchResolved·=·true\n········}\n······}\n······if·(aborted·&&·!ignoreAbort·&&·!updateCache)·{\n········return·fetchFail(ac.signal.reason,·proceed)\n······}\n······//·either·we·didn't·abort,·and·are·still·here,·or·we·did,·and·ignored\n······const·bf·=·p·as·BackgroundFetch<V>\n······//·if·nothing·else·has·been·written·there·but·we're·set·to·update·the\n······//·cache·and·ignore·the·abort,·or·if·it's·still·pending·on·this·specific\n······//·background·request,·then·write·it·to·the·cache.\n······const·vl·=·this.#valList[index·as·Index]\n······if·(vl·===·p·||·(ignoreAbort·&&·updateCache·&&·vl·===·undefined))·{\n········if·(v·===·undefined)·{\n··········if·(bf.__staleWhileFetching·!==·undefined)·{\n············this.#valList[index·as·Index]·=·bf.__staleWhileFetching\n··········}·else·{\n············this.#delete(k,·'fetch')\n··········}\n········}·else·{\n··········if·(options.status)·options.status.fetchUpdated·=·true\n··········this.set(k,·v,·fetchOpts.options)\n········}\n······}\n······return·v\n····}\n\n····const·eb·=·(er:·any)·=>·{\n······if·(options.status)·{\n········options.status.fetchRejected·=·true\n········options.status.fetchError·=·er\n······}\n······//·do·not·pass·go,·do·not·collect·$200\n······return·fetchFail(er,·false)\n····}\n\n····const·fetchFail·=·(er:·any,·proceed:·boolean):·V·|·undefined·=>·{\n······const·{·aborted·}·=·ac.signal\n······const·allowStaleAborted·=·aborted·&&·options.allowStaleOnFetchAbort\n······const·allowStale·=\n········allowStaleAborted·||·options.allowStaleOnFetchRejection\n······const·noDelete·=·allowStale·||·options.noDeleteOnFetchRejection\n······const·bf·=·p·as·BackgroundFetch<V>\n······if·(this.#valList[index·as·Index]·===·p)·{\n········//·if·we·allow·stale·on·fetch·rejections,·then·we·need·to·ensure·that\n········//·the·stale·value·is·not·removed·from·the·cache·when·the·fetch·fails.\n········const·del·=·!noDelete·||\n··········!proceed·&&·bf.__staleWhileFetching·===·undefined\n········if·(del)·{\n··········this.#delete(k,·'fetch')\n········}·else·if·(!allowStaleAborted)·{\n··········//·still·replace·the·*promise*·with·the·stale·value,\n··········//·since·we·are·done·with·the·promise·at·this·point.\n··········//·leave·it·untouched·if·we're·still·waiting·for·an\n··········//·aborted·background·fetch·that·hasn't·yet·returned.\n··········this.#valList[index·as·Index]·=·bf.__staleWhileFetching\n········}\n······}\n······if·(allowStale)·{\n········if·(options.status·&&·bf.__staleWhileFetching·!==·undefined)·{\n··········options.status.returnedStale·=·true\n········}\n········return·bf.__staleWhileFetching\n······}·else·if·(bf.__returned·===·bf)·{\n········throw·er\n······}\n····}\n\n····const·pcall·=·(\n······res:·(v:·V·|·undefined)·=>·void,\n······rej:·(e:·any)·=>·void,\n····)·=>·{\n······const·fmp·=·this.#fetchMethod?.(k,·v,·fetchOpts)\n······if·(fmp·&&·fmp·instanceof·Promise)·{\n········fmp.then(v·=>·res(v·===·undefined·?·undefined·:·v),·rej)\n······}\n······//·ignored,·we·go·until·we·finish,·regardless.\n······//·defer·check·until·we·are·actually·aborting,\n······//·so·fetchMethod·can·override.\n······ac.signal.addEventListener('abort',·()·=>·{\n········if·(!options.ignoreFetchAbort·||·options.allowStaleOnFetchAbort)·{\n··········res(undefined)\n··········//·when·it·eventually·resolves,·update·the·cache.\n··········if·(options.allowStaleOnFetchAbort)·{\n············res·=·v·=>·cb(v,·true)\n··········}\n········}\n······})\n····}\n\n····if·(options.status)·options.status.fetchDispatched·=·true\n····const·p·=·new·Promise(pcall).then(cb,·eb)\n····const·bf:·BackgroundFetch<V>·=·Object.assign(p,·{\n······__abortController:·ac,\n······__staleWhileFetching:·v,\n······__returned:·undefined,\n····})\n\n····if·(index·===·undefined)·{\n······//·internal,·don't·expose·status.\n······this.set(k,·bf,·{·...fetchOpts.options,·status:·undefined·})\n······index·=·this.#keyMap.get(k)\n····}·else·{\n······this.#valList[index]·=·bf\n····}\n····return·bf\n··}\n\n··#isBackgroundFetch(p:·any):·p·is·BackgroundFetch<V>·{\n····if·(!this.#hasFetchMethod)·return·false\n····const·b·=·p·as·BackgroundFetch<V>\n····return·(\n······!!b·&&\n······b·instanceof·Promise·&&\n······b.hasOwnProperty('__staleWhileFetching')·&&\n······b.__abortController·instanceof·AC\n····)\n··}\n\n··/**\n···*·Make·an·asynchronous·cached·fetch·using·the\n···*·{@link·LRUCache.OptionsBase.fetchMethod}·function.\n···*\n···*·If·the·value·is·in·the·cache·and·not·stale,·then·the·returned\n···*·Promise·resolves·to·the·value.\n···*\n···*·If·not·in·the·cache,·or·beyond·its·TTL·staleness,·then\n···*·`fetchMethod(key,·staleValue,·{·options,·signal,·context·})`·is\n···*·called,·and·the·value·returned·will·be·added·to·the·cache·once\n···*·resolved.\n···*\n···*·If·called·with·`allowStale`,·and·an·asynchronous·fetch·is\n···*·currently·in·progress·to·reload·a·stale·value,·then·the·former\n···*·stale·value·will·be·returned.\n···*\n···*·If·called·with·`forceRefresh`,·then·the·cached·item·will·be\n···*·re-fetched,·even·if·it·is·not·stale.·However,·if·`allowStale`·is·also\n···*·set,·then·the·old·value·will·still·be·returned.·This·is·useful\n···*·in·cases·where·you·want·to·force·a·reload·of·a·cached·value.·If\n···*·a·background·fetch·is·already·in·progress,·then·`forceRefresh`\n···*·has·no·effect.\n···*\n···*·If·multiple·fetches·for·the·same·key·are·issued,·then·they·will·all·be\n···*·coalesced·into·a·single·call·to·fetchMethod.\n···*\n···*·Note·that·this·means·that·handling·options·such·as\n···*·{@link·LRUCache.OptionsBase.allowStaleOnFetchAbort},\n···*·{@link·LRUCache.FetchOptions.signal},\n···*·and·{@link·LRUCache.OptionsBase.allowStaleOnFetchRejection}·will·be\n···*·determined·by·the·FIRST·fetch()·call·for·a·given·key.\n···*\n···*·This·is·a·known·(fixable)·shortcoming·which·will·be·addresed·on·when\n···*·someone·complains·about·it,·as·the·fix·would·involve·added·complexity·and\n···*·may·not·be·worth·the·costs·for·this·edge·case.\n···*\n···*·If·{@link·LRUCache.OptionsBase.fetchMethod}·is·not·specified,·then·this·is\n···*·effectively·an·alias·for·`Promise.resolve(cache.get(key))`.\n···*\n···*·When·the·fetch·method·resolves·to·a·value,·if·the·fetch·has·not\n···*·been·aborted·due·to·deletion,·eviction,·or·being·overwritten,\n···*·then·it·is·added·to·the·cache·using·the·options·provided.\n···*\n···*·If·the·key·is·evicted·or·deleted·before·the·`fetchMethod`\n···*·resolves,·then·the·AbortSignal·passed·to·the·`fetchMethod`·will\n···*·receive·an·`abort`·event,·and·the·promise·returned·by·`fetch()`\n···*·will·reject·with·the·reason·for·the·abort.\n···*\n···*·If·a·`signal`·is·passed·to·the·`fetch()`·call,·then·aborting·the\n···*·signal·will·abort·the·fetch·and·cause·the·`fetch()`·promise·to\n···*·reject·with·the·reason·provided.\n···*\n···*·**Setting·`context`**\n···*\n···*·If·an·`FC`·type·is·set·to·a·type·other·than·`unknown`,·`void`,·or\n···*·`undefined`·in·the·{@link·LRUCache}·constructor,·then·all\n···*·calls·to·`cache.fetch()`·_must_·provide·a·`context`·option.·If\n···*·set·to·`undefined`·or·`void`,·then·calls·to·fetch·_must·not_\n···*·provide·a·`context`·option.\n···*\n···*·The·`context`·param·allows·you·to·provide·arbitrary·data·that\n···*·might·be·relevant·in·the·course·of·fetching·the·data.·It·is·only\n···*·relevant·for·the·course·of·a·single·`fetch()`·operation,·and\n···*·discarded·afterwards.\n···*\n···*·**Note:·`fetch()`·calls·are·inflight-unique**\n···*\n···*·If·you·call·`fetch()`·multiple·times·with·the·same·key·value,\n···*·then·every·call·after·the·first·will·resolve·on·the·same\n···*·promise<sup>1</sup>,\n···*·_even·if·they·have·different·settings·that·would·otherwise·change\n···*·the·behavior·of·the·fetch_,·such·as·`noDeleteOnFetchRejection`\n···*·or·`ignoreFetchAbort`.\n···*\n···*·In·most·cases,·this·is·not·a·problem·(in·fact,·only·fetching\n···*·something·once·is·what·you·probably·want,·if·you're·caching·in\n···*·the·first·place).·If·you·are·changing·the·fetch()·options\n···*·dramatically·between·runs,·there's·a·good·chance·that·you·might\n···*·be·trying·to·fit·divergent·semantics·into·a·single·object,·and\n···*·would·be·better·off·with·multiple·cache·instances.\n···*\n···*·**1**:·Ie,·they're·not·the·\"same·Promise\",·but·they·resolve·at\n···*·the·same·time,·because·they're·both·waiting·on·the·same\n···*·underlying·fetchMethod·response.\n···*/\n\n··fetch(\n····k:·K,\n····fetchOptions:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·LRUCache.FetchOptionsWithContext<K,·V,·FC>,\n··):·Promise<undefined·|·V>\n\n··//·this·overload·not·allowed·if·context·is·required\n··fetch(\n····k:·unknown·extends·FC·?·K\n····:·FC·extends·undefined·|·void·?·K\n····:·never,\n····fetchOptions?:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·never,\n··):·Promise<undefined·|·V>\n\n··async·fetch(\n····k:·K,\n····fetchOptions:·LRUCache.FetchOptions<K,·V,·FC>·=·{},\n··):·Promise<undefined·|·V>·{\n····const·{\n······//·get·options\n······allowStale·=·this.allowStale,\n······updateAgeOnGet·=·this.updateAgeOnGet,\n······noDeleteOnStaleGet·=·this.noDeleteOnStaleGet,\n······//·set·options\n······ttl·=·this.ttl,\n······noDisposeOnSet·=·this.noDisposeOnSet,\n······size·=·0,\n······sizeCalculation·=·this.sizeCalculation,\n······noUpdateTTL·=·this.noUpdateTTL,\n······//·fetch·exclusive·options\n······noDeleteOnFetchRejection·=·this.noDeleteOnFetchRejection,\n······allowStaleOnFetchRejection·=·this.allowStaleOnFetchRejection,\n······ignoreFetchAbort·=·this.ignoreFetchAbort,\n······allowStaleOnFetchAbort·=·this.allowStaleOnFetchAbort,\n······context,\n······forceRefresh·=·false,\n······status,\n······signal,\n····}·=·fetchOptions\n\n····if·(!this.#hasFetchMethod)·{\n······if·(status)·status.fetch·=·'get'\n······return·this.get(k,·{\n········allowStale,\n········updateAgeOnGet,\n········noDeleteOnStaleGet,\n········status,\n······})\n····}\n\n····const·options·=·{\n······allowStale,\n······updateAgeOnGet,\n······noDeleteOnStaleGet,\n······ttl,\n······noDisposeOnSet,\n······size,\n······sizeCalculation,\n······noUpdateTTL,\n······noDeleteOnFetchRejection,\n······allowStaleOnFetchRejection,\n······allowStaleOnFetchAbort,\n······ignoreFetchAbort,\n······status,\n······signal,\n····}\n\n····let·index·=·this.#keyMap.get(k)\n····if·(index·===·undefined)·{\n······if·(status)·status.fetch·=·'miss'\n······const·p·=·this.#backgroundFetch(k,·index,·options,·context)\n······return·(p.__returned·=·p)\n····}·else·{\n······//·in·cache,·maybe·already·fetching\n······const·v·=·this.#valList[index]\n······if·(this.#isBackgroundFetch(v))·{\n········const·stale·=·allowStale·&&·v.__staleWhileFetching·!==·undefined\n········if·(status)·{\n··········status.fetch·=·'inflight'\n··········if·(stale)·status.returnedStale·=·true\n········}\n········return·stale·?·v.__staleWhileFetching·:·(v.__returned·=·v)\n······}\n\n······//·if·we·force·a·refresh,·that·means·do·NOT·serve·the·cached·value,\n······//·unless·we·are·already·in·the·process·of·refreshing·the·cache.\n······const·isStale·=·this.#isStale(index)\n······if·(!forceRefresh·&&·!isStale)·{\n········if·(status)·status.fetch·=·'hit'\n········this.#moveToTail(index)\n········if·(updateAgeOnGet)·{\n··········this.#updateItemAge(index)\n········}\n········if·(status)·this.#statusTTL(status,·index)\n········return·v\n······}\n\n······//·ok,·it·is·stale·or·a·forced·refresh,·and·not·already·fetching.\n······//·refresh·the·cache.\n······const·p·=·this.#backgroundFetch(k,·index,·options,·context)\n······const·hasStale·=·p.__staleWhileFetching·!==·undefined\n······const·staleVal·=·hasStale·&&·allowStale\n······if·(status)·{\n········status.fetch·=·isStale·?·'stale'·:·'refresh'\n········if·(staleVal·&&·isStale)·status.returnedStale·=·true\n······}\n······return·staleVal·?·p.__staleWhileFetching·:·(p.__returned·=·p)\n····}\n··}\n\n··/**\n···*·In·some·cases,·`cache.fetch()`·may·resolve·to·`undefined`,·either·because\n···*·a·{@link·LRUCache.OptionsBase#fetchMethod}·was·not·provided·(turning\n···*·`cache.fetch(k)`·into·just·an·async·wrapper·around·`cache.get(k)`)·or\n···*·because·`ignoreFetchAbort`·was·specified·(either·to·the·constructor·or\n···*·in·the·{@link·LRUCache.FetchOptions}).·Also,·the\n···*·{@link·LRUCache.OptionsBase.fetchMethod}·may·return·`undefined`·or·`void`,·making\n···*·the·test·even·more·complicated.\n···*\n···*·Because·inferring·the·cases·where·`undefined`·might·be·returned·are·so\n···*·cumbersome,·but·testing·for·`undefined`·can·also·be·annoying,·this·method\n···*·can·be·used,·which·will·reject·if·`this.fetch()`·resolves·to·undefined.\n···*/\n··forceFetch(\n····k:·K,\n····fetchOptions:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·LRUCache.FetchOptionsWithContext<K,·V,·FC>,\n··):·Promise<V>\n··//·this·overload·not·allowed·if·context·is·required\n··forceFetch(\n····k:·unknown·extends·FC·?·K\n····:·FC·extends·undefined·|·void·?·K\n····:·never,\n····fetchOptions?:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·never,\n··):·Promise<V>\n··async·forceFetch(\n····k:·K,\n····fetchOptions:·LRUCache.FetchOptions<K,·V,·FC>·=·{},\n··):·Promise<V>·{\n····const·v·=·await·this.fetch(\n······k,\n······fetchOptions·as·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n······:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n······:·LRUCache.FetchOptionsWithContext<K,·V,·FC>,\n····)\n····if·(v·===·undefined)·throw·new·Error('fetch()·returned·undefined')\n····return·v\n··}\n\n··/**\n···*·If·the·key·is·found·in·the·cache,·then·this·is·equivalent·to\n···*·{@link·LRUCache#get}.·If·not,·in·the·cache,·then·calculate·the·value·using\n···*·the·{@link·LRUCache.OptionsBase.memoMethod},·and·add·it·to·the·cache.\n···*\n···*·If·an·`FC`·type·is·set·to·a·type·other·than·`unknown`,·`void`,·or\n···*·`undefined`·in·the·LRUCache·constructor,·then·all·calls·to·`cache.memo()`\n···*·_must_·provide·a·`context`·option.·If·set·to·`undefined`·or·`void`,·then\n···*·calls·to·memo·_must·not_·provide·a·`context`·option.\n···*\n···*·The·`context`·param·allows·you·to·provide·arbitrary·data·that·might·be\n···*·relevant·in·the·course·of·fetching·the·data.·It·is·only·relevant·for·the\n···*·course·of·a·single·`memo()`·operation,·and·discarded·afterwards.\n···*/\n··memo(\n····k:·K,\n····memoOptions:·unknown·extends·FC·?·LRUCache.MemoOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.MemoOptionsNoContext<K,·V>\n····:·LRUCache.MemoOptionsWithContext<K,·V,·FC>,\n··):·V\n··//·this·overload·not·allowed·if·context·is·required\n··memo(\n····k:·unknown·extends·FC·?·K\n····:·FC·extends·undefined·|·void·?·K\n····:·never,\n····memoOptions?:·unknown·extends·FC·?·LRUCache.MemoOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.MemoOptionsNoContext<K,·V>\n····:·never,\n··):·V\n··memo(k:·K,·memoOptions:·LRUCache.MemoOptions<K,·V,·FC>·=·{})·{\n····const·memoMethod·=·this.#memoMethod\n····if·(!memoMethod)·{\n······throw·new·Error('no·memoMethod·provided·to·constructor')\n····}\n····const·{·context,·forceRefresh,·...options·}·=·memoOptions\n····const·v·=·this.get(k,·options)\n····if·(!forceRefresh·&&·v·!==·undefined)·return·v\n····const·vv·=·memoMethod(k,·v,·{\n······options,\n······context,\n····}·as·LRUCache.MemoizerOptions<K,·V,·FC>)\n····this.set(k,·vv,·options)\n····return·vv\n··}\n\n··/**\n···*·Return·a·value·from·the·cache.·Will·update·the·recency·of·the·cache\n···*·entry·found.\n···*\n···*·If·the·key·is·not·found,·get()·will·return·`undefined`.\n···*/\n··get(k:·K,·getOptions:·LRUCache.GetOptions<K,·V,·FC>·=·{})·{\n····const·{\n······allowStale·=·this.allowStale,\n······updateAgeOnGet·=·this.updateAgeOnGet,\n······noDeleteOnStaleGet·=·this.noDeleteOnStaleGet,\n······status,\n····}·=·getOptions\n····const·index·=·this.#keyMap.get(k)\n····if·(index·!==·undefined)·{\n······const·value·=·this.#valList[index]\n······const·fetching·=·this.#isBackgroundFetch(value)\n······if·(status)·this.#statusTTL(status,·index)\n······if·(this.#isStale(index))·{\n········if·(status)·status.get·=·'stale'\n········//·delete·only·if·not·an·in-flight·background·fetch\n········if·(!fetching)·{\n··········if·(!noDeleteOnStaleGet)·{\n············this.#delete(k,·'expire')\n··········}\n··········if·(status·&&·allowStale)·status.returnedStale·=·true\n··········return·allowStale·?·value·:·undefined\n········}·else·{\n··········if·(\n············status·&&\n············allowStale·&&\n············value.__staleWhileFetching·!==·undefined\n··········)·{\n············status.returnedStale·=·true\n··········}\n··········return·allowStale·?·value.__staleWhileFetching·:·undefined\n········}\n······}·else·{\n········if·(status)·status.get·=·'hit'\n········//·if·we're·currently·fetching·it,·we·don't·actually·have·it·yet\n········//·it's·not·stale,·which·means·this·isn't·a·staleWhileRefetching.\n········//·If·it's·not·stale,·and·fetching,·AND·has·a·__staleWhileFetching\n········//·value,·then·that·means·the·user·fetched·with·{forceRefresh:true},\n········//·so·it's·safe·to·return·that·value.\n········if·(fetching)·{\n··········return·value.__staleWhileFetching\n········}\n········this.#moveToTail(index)\n········if·(updateAgeOnGet)·{\n··········this.#updateItemAge(index)\n········}\n········return·value\n······}\n····}·else·if·(status)·{\n······status.get·=·'miss'\n····}\n··}\n\n··#connect(p:·Index,·n:·Index)·{\n····this.#prev[n]·=·p\n····this.#next[p]·=·n\n··}\n\n··#moveToTail(index:·Index):·void·{\n····//·if·tail·already,·nothing·to·do\n····//·if·head,·move·head·to·next[index]\n····//·else\n····//···move·next[prev[index]]·to·next[index]·(head·has·no·prev)\n····//···move·prev[next[index]]·to·prev[index]\n····//·prev[index]·=·tail\n····//·next[tail]·=·index\n····//·tail·=·index\n····if·(index·!==·this.#tail)·{\n······if·(index·===·this.#head)·{\n········this.#head·=·this.#next[index]·as·Index\n······}·else·{\n········this.#connect(\n··········this.#prev[index]·as·Index,\n··········this.#next[index]·as·Index,\n········)\n······}\n······this.#connect(this.#tail,·index)\n······this.#tail·=·index\n····}\n··}\n\n··/**\n···*·Deletes·a·key·out·of·the·cache.\n···*\n···*·Returns·true·if·the·key·was·deleted,·false·otherwise.\n···*/\n··delete(k:·K)·{\n····return·this.#delete(k,·'delete')\n··}\n\n··#delete(k:·K,·reason:·LRUCache.DisposeReason)·{\n····let·deleted·=·false\n····if·(this.#size·!==·0)·{\n······const·index·=·this.#keyMap.get(k)\n······if·(index·!==·undefined)·{\n········if·(this.#autopurgeTimers?.[index])·{\n··········clearTimeout(this.#autopurgeTimers?.[index])\n··········this.#autopurgeTimers[index]·=·undefined\n········}\n········deleted·=·true\n········if·(this.#size·===·1)·{\n··········this.#clear(reason)\n········}·else·{\n··········this.#removeItemSize(index)\n··········const·v·=·this.#valList[index]\n··········if·(this.#isBackgroundFetch(v))·{\n············v.__abortController.abort(new·Error('deleted'))\n··········}·else·if·(this.#hasDispose·||·this.#hasDisposeAfter)·{\n············if·(this.#hasDispose)·{\n··············this.#dispose?.(v·as·V,·k,·reason)\n············}\n············if·(this.#hasDisposeAfter)·{\n··············this.#disposed?.push([v·as·V,·k,·reason])\n············}\n··········}\n··········this.#keyMap.delete(k)\n··········this.#keyList[index]·=·undefined\n··········this.#valList[index]·=·undefined\n··········if·(index·===·this.#tail)·{\n············this.#tail·=·this.#prev[index]·as·Index\n··········}·else·if·(index·===·this.#head)·{\n············this.#head·=·this.#next[index]·as·Index\n··········}·else·{\n············const·pi·=·this.#prev[index]·as·number\n············this.#next[pi]·=·this.#next[index]·as·number\n············const·ni·=·this.#next[index]·as·number\n············this.#prev[ni]·=·this.#prev[index]·as·number\n··········}\n··········this.#size--\n··········this.#free.push(index)\n········}\n······}\n····}\n····if·(this.#hasDisposeAfter·&&·this.#disposed?.length)·{\n······const·dt·=·this.#disposed\n······let·task:·DisposeTask<K,·V>·|·undefined\n······while·((task·=·dt?.shift()))·{\n········this.#disposeAfter?.(...task)\n······}\n····}\n····return·deleted\n··}\n\n··/**\n···*·Clear·the·cache·entirely,·throwing·away·all·values.\n···*/\n··clear()·{\n····return·this.#clear('delete')\n··}\n··#clear(reason:·LRUCache.DisposeReason)·{\n····for·(const·index·of·this.#rindexes({·allowStale:·true·}))·{\n······const·v·=·this.#valList[index]\n······if·(this.#isBackgroundFetch(v))·{\n········v.__abortController.abort(new·Error('deleted'))\n······}·else·{\n········const·k·=·this.#keyList[index]\n········if·(this.#hasDispose)·{\n··········this.#dispose?.(v·as·V,·k·as·K,·reason)\n········}\n········if·(this.#hasDisposeAfter)·{\n··········this.#disposed?.push([v·as·V,·k·as·K,·reason])\n········}\n······}\n····}\n\n····this.#keyMap.clear()\n····this.#valList.fill(undefined)\n····this.#keyList.fill(undefined)\n····if·(this.#ttls·&&·this.#starts)·{\n······this.#ttls.fill(0)\n······this.#starts.fill(0)\n······for·(const·t·of·this.#autopurgeTimers·??·[])·{\n········if·(t·!==·undefined)·clearTimeout(t)\n······}\n······this.#autopurgeTimers?.fill(undefined)\n····}\n····if·(this.#sizes)·{\n······this.#sizes.fill(0)\n····}\n····this.#head·=·0·as·Index\n····this.#tail·=·0·as·Index\n····this.#free.length·=·0\n····this.#calculatedSize·=·0\n····this.#size·=·0\n····if·(this.#hasDisposeAfter·&&·this.#disposed)·{\n······const·dt·=·this.#disposed\n······let·task:·DisposeTask<K,·V>·|·undefined\n······while·((task·=·dt?.shift()))·{\n········this.#disposeAfter?.(...task)\n······}\n····}\n··}\n}\n",1003 ········"/**\n·*·@module·LRUCache\n·*/\n\n//·module-private·names·and·types\n//·this·provides·the·default·Perf·object·source.\n//·it·can·be·passed·in·via·configuration·to·override·it\n//·for·a·single·LRU·object.\nexport·type·Perf·=·{·now:·()·=>·number·}\nconst·defaultPerf:·Perf·=\n··(\n····typeof·performance·===·'object'·&&\n····performance·&&\n····typeof·performance.now·===·'function'\n··)·?\n····performance\n··:·Date\n\nconst·warned·=·new·Set<string>()\n\n//·either·a·function·or·a·class\ntype·ForC·=·((...a:·any[])·=>·any)·|·{·new·(...a:·any[]):·any·}\n\n/*·c8·ignore·start·*/\nconst·PROCESS·=·(\n··typeof·process·===·'object'·&&·!!process·?\n····process\n··:·{})·as·{·[k:·string]:·any·}\n/*·c8·ignore·start·*/\n\nconst·emitWarning·=·(\n··msg:·string,\n··type:·string,\n··code:·string,\n··fn:·ForC,\n)·=>·{\n··typeof·PROCESS.emitWarning·===·'function'·?\n····PROCESS.emitWarning(msg,·type,·code,·fn)\n··:·console.error(`[${code}]·${type}:·${msg}`)\n}\n\nlet·AC·=·globalThis.AbortController\nlet·AS·=·globalThis.AbortSignal\n\n/*·c8·ignore·start·*/\nif·(typeof·AC·===·'undefined')·{\n··//@ts-ignore\n··AS·=·class·AbortSignal·{\n····onabort?:·(...a:·any[])·=>·any\n····_onabort:·((...a:·any[])·=>·any)[]·=·[]\n····reason?:·any\n····aborted:·boolean·=·false\n····addEventListener(_:·string,·fn:·(...a:·any[])·=>·any)·{\n······this._onabort.push(fn)\n····}\n··}\n··//@ts-ignore\n··AC·=·class·AbortController·{\n····constructor()·{\n······warnACPolyfill()\n····}\n····signal·=·new·AS()\n····abort(reason:·any)·{\n······if·(this.signal.aborted)·return\n······//@ts-ignore\n······this.signal.reason·=·reason\n······//@ts-ignore\n······this.signal.aborted·=·true\n······//@ts-ignore\n······for·(const·fn·of·this.signal._onabort)·{\n········fn(reason)\n······}\n······this.signal.onabort?.(reason)\n····}\n··}\n··let·printACPolyfillWarning·=\n····PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING·!==·'1'\n··const·warnACPolyfill·=·()·=>·{\n····if·(!printACPolyfillWarning)·return\n····printACPolyfillWarning·=·false\n····emitWarning(\n······'AbortController·is·not·defined.·If·using·lru-cache·in·'·+\n········'node·14,·load·an·AbortController·polyfill·from·the·'·+\n········'`node-abort-controller`·package.·A·minimal·polyfill·is·'·+\n········'provided·for·use·by·LRUCache.fetch(),·but·it·should·not·be·'·+\n········'relied·upon·in·other·contexts·(eg,·passing·it·to·other·APIs·that·'·+\n········'use·AbortController/AbortSignal·might·have·undesirable·effects).·'·+\n········'You·may·disable·this·with·LRU_CACHE_IGNORE_AC_WARNING=1·in·the·env.',\n······'NO_ABORT_CONTROLLER',\n······'ENOTSUP',\n······warnACPolyfill,\n····)\n··}\n}\n/*·c8·ignore·stop·*/\n\nconst·shouldWarn·=·(code:·string)·=>·!warned.has(code)\n\nconst·TYPE·=·Symbol('type')\nexport·type·PosInt·=·number·&·{·[TYPE]:·'Positive·Integer'·}\nexport·type·Index·=·number·&·{·[TYPE]:·'LRUCache·Index'·}\n\nconst·isPosInt·=·(n:·any):·n·is·PosInt·=>\n··n·&&·n·===·Math.floor(n)·&&·n·>·0·&&·isFinite(n)\n\nexport·type·UintArray·=·Uint8Array·|·Uint16Array·|·Uint32Array\nexport·type·NumberArray·=·UintArray·|·number[]\n\n/*·c8·ignore·start·*/\n//·This·is·a·little·bit·ridiculous,·tbh.\n//·The·maximum·array·length·is·2^32-1·or·thereabouts·on·most·JS·impls.\n//·And·well·before·that·point,·you're·caching·the·entire·world,·I·mean,\n//·that's·~32GB·of·just·integers·for·the·next/prev·links,·plus·whatever\n//·else·to·hold·that·many·keys·and·values.··Just·filling·the·memory·with\n//·zeroes·at·init·time·is·brutal·when·you·get·that·big.\n//·But·why·not·be·complete?\n//·Maybe·in·the·future,·these·limits·will·have·expanded.\nconst·getUintArray·=·(max:·number)·=>\n··!isPosInt(max)·?·null\n··:·max·<=·Math.pow(2,·8)·?·Uint8Array\n··:·max·<=·Math.pow(2,·16)·?·Uint16Array\n··:·max·<=·Math.pow(2,·32)·?·Uint32Array\n··:·max·<=·Number.MAX_SAFE_INTEGER·?·ZeroArray\n··:·null\n/*·c8·ignore·stop·*/\n\nclass·ZeroArray·extends·Array<number>·{\n··constructor(size:·number)·{\n····super(size)\n····this.fill(0)\n··}\n}\nexport·type·{·ZeroArray·}\nexport·type·{·Stack·}\n\nexport·type·StackLike·=·Stack·|·Index[]\nclass·Stack·{\n··heap:·NumberArray\n··length:·number\n··//·private·constructor\n··static·#constructing:·boolean·=·false\n··static·create(max:·number):·StackLike·{\n····const·HeapCls·=·getUintArray(max)\n····if·(!HeapCls)·return·[]\n····Stack.#constructing·=·true\n····const·s·=·new·Stack(max,·HeapCls)\n····Stack.#constructing·=·false\n····return·s\n··}\n··constructor(max:·number,·HeapCls:·{·new·(n:·number):·NumberArray·})·{\n····/*·c8·ignore·start·*/\n····if·(!Stack.#constructing)·{\n······throw·new·TypeError('instantiate·Stack·using·Stack.create(n)')\n····}\n····/*·c8·ignore·stop·*/\n····this.heap·=·new·HeapCls(max)\n····this.length·=·0\n··}\n··push(n:·Index)·{\n····this.heap[this.length++]·=·n\n··}\n··pop():·Index·{\n····return·this.heap[--this.length]·as·Index\n··}\n}\n\n/**\n·*·Promise·representing·an·in-progress·{@link·LRUCache#fetch}·call\n·*/\nexport·type·BackgroundFetch<V>·=·Promise<V·|·undefined>·&·{\n··__returned:·BackgroundFetch<V>·|·undefined\n··__abortController:·AbortController\n··__staleWhileFetching:·V·|·undefined\n}\n\nexport·type·DisposeTask<K,·V>·=·[\n··value:·V,\n··key:·K,\n··reason:·LRUCache.DisposeReason,\n]\n\nexport·namespace·LRUCache·{\n··/**\n···*·An·integer·greater·than·0,·reflecting·the·calculated·size·of·items\n···*/\n··export·type·Size·=·number\n\n··/**\n···*·Integer·greater·than·0,·representing·some·number·of·milliseconds,·or·the\n···*·time·at·which·a·TTL·started·counting·from.\n···*/\n··export·type·Milliseconds·=·number\n\n··/**\n···*·An·integer·greater·than·0,·reflecting·a·number·of·items\n···*/\n··export·type·Count·=·number\n\n··/**\n···*·The·reason·why·an·item·was·removed·from·the·cache,·passed\n···*·to·the·{@link·Disposer}·methods.\n···*\n···*·-·`evict`:·The·item·was·evicted·because·it·is·the·least·recently·used,\n···*···and·the·cache·is·full.\n···*·-·`set`:·A·new·value·was·set,·overwriting·the·old·value·being·disposed.\n···*·-·`delete`:·The·item·was·explicitly·deleted,·either·by·calling\n···*···{@link·LRUCache#delete},·{@link·LRUCache#clear},·or\n···*···{@link·LRUCache#set}·with·an·undefined·value.\n···*·-·`expire`:·The·item·was·removed·due·to·exceeding·its·TTL.\n···*·-·`fetch`:·A·{@link·OptionsBase#fetchMethod}·operation·returned\n···*···`undefined`·or·was·aborted,·causing·the·item·to·be·deleted.\n···*/\n··export·type·DisposeReason·=\n····|·'evict'\n····|·'set'\n····|·'delete'\n····|·'expire'\n····|·'fetch'\n··/**\n···*·A·method·called·upon·item·removal,·passed·as·the\n···*·{@link·OptionsBase.dispose}·and/or\n···*·{@link·OptionsBase.disposeAfter}·options.\n···*/\n··export·type·Disposer<K,·V>·=·(\n····value:·V,\n····key:·K,\n····reason:·DisposeReason,\n··)·=>·void\n\n··/**\n···*·The·reason·why·an·item·was·added·to·the·cache,·passed\n···*·to·the·{@link·Inserter}·methods.\n···*\n···*·-·`add`:·the·item·was·not·found·in·the·cache,·and·was·added\n···*·-·`update`:·the·item·was·in·the·cache,·with·the·same·value·provided\n···*·-·`replace`:·the·item·was·in·the·cache,·and·replaced\n···*/\n··export·type·InsertReason·=·'add'·|·'update'·|·'replace'\n\n··/**\n···*·A·method·called·upon·item·insertion,·passed·as·the\n···*·{@link·OptionsBase.insert}\n···*/\n··export·type·Inserter<K,·V>·=·(\n····value:·V,\n····key:·K,\n····reason:·InsertReason,\n··)·=>·void\n\n··/**\n···*·A·function·that·returns·the·effective·calculated·size\n···*·of·an·entry·in·the·cache.\n···*/\n··export·type·SizeCalculator<K,·V>·=·(value:·V,·key:·K)·=>·Size\n\n··/**\n···*·Options·provided·to·the\n···*·{@link·OptionsBase.fetchMethod}·function.\n···*/\n··export·interface·FetcherOptions<K,·V,·FC·=·unknown>·{\n····signal:·AbortSignal\n····options:·FetcherFetchOptions<K,·V,·FC>\n····/**\n·····*·Object·provided·in·the·{@link·FetchOptions.context}·option·to\n·····*·{@link·LRUCache#fetch}\n·····*/\n····context:·FC\n··}\n\n··/**\n···*·Occasionally,·it·may·be·useful·to·track·the·internal·behavior·of·the\n···*·cache,·particularly·for·logging,·debugging,·or·for·behavior·within·the\n···*·`fetchMethod`.·To·do·this,·you·can·pass·a·`status`·object·to·the\n···*·{@link·LRUCache#fetch},·{@link·LRUCache#get},·{@link·LRUCache#set},\n···*·{@link·LRUCache#memo},·and·{@link·LRUCache#has}·methods.\n···*\n···*·The·`status`·option·should·be·a·plain·JavaScript·object.·The·following\n···*·fields·will·be·set·on·it·appropriately,·depending·on·the·situation.\n···*/\n··export·interface·Status<V>·{\n····/**\n·····*·The·status·of·a·set()·operation.\n·····*\n·····*·-·add:·the·item·was·not·found·in·the·cache,·and·was·added\n·····*·-·update:·the·item·was·in·the·cache,·with·the·same·value·provided\n·····*·-·replace:·the·item·was·in·the·cache,·and·replaced\n·····*·-·miss:·the·item·was·not·added·to·the·cache·for·some·reason\n·····*/\n····set?:·'add'·|·'update'·|·'replace'·|·'miss'\n\n····/**\n·····*·the·ttl·stored·for·the·item,·or·undefined·if·ttls·are·not·used.\n·····*/\n····ttl?:·Milliseconds\n\n····/**\n·····*·the·start·time·for·the·item,·or·undefined·if·ttls·are·not·used.\n·····*/\n····start?:·Milliseconds\n\n····/**\n·····*·The·timestamp·used·for·TTL·calculation\n·····*/\n····now?:·Milliseconds\n\n····/**\n·····*·the·remaining·ttl·for·the·item,·or·undefined·if·ttls·are·not·used.\n·····*/\n····remainingTTL?:·Milliseconds\n\n····/**\n·····*·The·calculated·size·for·the·item,·if·sizes·are·used.\n·····*/\n····entrySize?:·Size\n\n····/**\n·····*·The·total·calculated·size·of·the·cache,·if·sizes·are·used.\n·····*/\n····totalCalculatedSize?:·Size\n\n····/**\n·····*·A·flag·indicating·that·the·item·was·not·stored,·due·to·exceeding·the\n·····*·{@link·OptionsBase.maxEntrySize}\n·····*/\n····maxEntrySizeExceeded?:·true\n\n····/**\n·····*·The·old·value,·specified·in·the·case·of·`set:'update'`·or\n·····*·`set:'replace'`\n·····*/\n····oldValue?:·V\n\n····/**\n·····*·The·results·of·a·{@link·LRUCache#has}·operation\n·····*\n·····*·-·hit:·the·item·was·found·in·the·cache\n·····*·-·stale:·the·item·was·found·in·the·cache,·but·is·stale\n·····*·-·miss:·the·item·was·not·found·in·the·cache\n·····*/\n····has?:·'hit'·|·'stale'·|·'miss'\n\n····/**\n·····*·The·status·of·a·{@link·LRUCache#fetch}·operation.\n·····*·Note·that·this·can·change·as·the·underlying·fetch()·moves·through\n·····*·various·states.\n·····*\n·····*·-·inflight:·there·is·another·fetch()·for·this·key·which·is·in·process\n·····*·-·get:·there·is·no·{@link·OptionsBase.fetchMethod},·so\n·····*···{@link·LRUCache#get}·was·called.\n·····*·-·miss:·the·item·is·not·in·cache,·and·will·be·fetched.\n·····*·-·hit:·the·item·is·in·the·cache,·and·was·resolved·immediately.\n·····*·-·stale:·the·item·is·in·the·cache,·but·stale.\n·····*·-·refresh:·the·item·is·in·the·cache,·and·not·stale,·but\n·····*···{@link·FetchOptions.forceRefresh}·was·specified.\n·····*/\n····fetch?:·'get'·|·'inflight'·|·'miss'·|·'hit'·|·'stale'·|·'refresh'\n\n····/**\n·····*·The·{@link·OptionsBase.fetchMethod}·was·called\n·····*/\n····fetchDispatched?:·true\n\n····/**\n·····*·The·cached·value·was·updated·after·a·successful·call·to\n·····*·{@link·OptionsBase.fetchMethod}\n·····*/\n····fetchUpdated?:·true\n\n····/**\n·····*·The·reason·for·a·fetch()·rejection.··Either·the·error·raised·by·the\n·····*·{@link·OptionsBase.fetchMethod},·or·the·reason·for·an\n·····*·AbortSignal.\n·····*/\n····fetchError?:·Error\n\n····/**\n·····*·The·fetch·received·an·abort·signal\n·····*/\n····fetchAborted?:·true\n\n····/**\n·····*·The·abort·signal·received·was·ignored,·and·the·fetch·was·allowed·to\n·····*·continue.\n·····*/\n····fetchAbortIgnored?:·true\n\n····/**\n·····*·The·fetchMethod·promise·resolved·successfully\n·····*/\n····fetchResolved?:·true\n\n····/**\n·····*·The·fetchMethod·promise·was·rejected\n·····*/\n····fetchRejected?:·true\n\n····/**\n·····*·The·status·of·a·{@link·LRUCache#get}·operation.\n·····*\n·····*·-·fetching:·The·item·is·currently·being·fetched.··If·a·previous·value\n·····*···is·present·and·allowed,·that·will·be·returned.\n·····*·-·stale:·The·item·is·in·the·cache,·and·is·stale.\n·····*·-·hit:·the·item·is·in·the·cache\n·····*·-·miss:·the·item·is·not·in·the·cache\n·····*/\n····get?:·'stale'·|·'hit'·|·'miss'\n\n····/**\n·····*·A·fetch·or·get·operation·returned·a·stale·value.\n·····*/\n····returnedStale?:·true\n··}\n\n··/**\n···*·options·which·override·the·options·set·in·the·LRUCache·constructor\n···*·when·calling·{@link·LRUCache#fetch}.\n···*\n···*·This·is·the·union·of·{@link·GetOptions}·and·{@link·SetOptions},·plus\n···*·{@link·OptionsBase.noDeleteOnFetchRejection},\n···*·{@link·OptionsBase.allowStaleOnFetchRejection},\n···*·{@link·FetchOptions.forceRefresh},·and\n···*·{@link·FetcherOptions.context}\n···*\n···*·Any·of·these·may·be·modified·in·the·{@link·OptionsBase.fetchMethod}\n···*·function,·but·the·{@link·GetOptions}·fields·will·of·course·have·no\n···*·effect,·as·the·{@link·LRUCache#get}·call·already·happened·by·the·time\n···*·the·fetchMethod·is·called.\n···*/\n··export·interface·FetcherFetchOptions<K,·V,·FC·=·unknown>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······|·'allowStale'\n······|·'updateAgeOnGet'\n······|·'noDeleteOnStaleGet'\n······|·'sizeCalculation'\n······|·'ttl'\n······|·'noDisposeOnSet'\n······|·'noUpdateTTL'\n······|·'noDeleteOnFetchRejection'\n······|·'allowStaleOnFetchRejection'\n······|·'ignoreFetchAbort'\n······|·'allowStaleOnFetchAbort'\n····>·{\n····status?:·Status<V>\n····size?:·Size\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#fetch}·method.\n···*/\n··export·interface·FetchOptions<K,·V,·FC>\n····extends·FetcherFetchOptions<K,·V,·FC>·{\n····/**\n·····*·Set·to·true·to·force·a·re-load·of·the·existing·data,·even·if·it\n·····*·is·not·yet·stale.\n·····*/\n····forceRefresh?:·boolean\n····/**\n·····*·Context·provided·to·the·{@link·OptionsBase.fetchMethod}·as\n·····*·the·{@link·FetcherOptions.context}·param.\n·····*\n·····*·If·the·FC·type·is·specified·as·unknown·(the·default),\n·····*·undefined·or·void,·then·this·is·optional.··Otherwise,·it·will\n·····*·be·required.\n·····*/\n····context?:·FC\n····signal?:·AbortSignal\n····status?:·Status<V>\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#fetch}·when·the·FC·type·is·something\n···*·other·than·`unknown`,·`undefined`,·or·`void`\n···*/\n··export·interface·FetchOptionsWithContext<K,·V,·FC>\n····extends·FetchOptions<K,·V,·FC>·{\n····context:·FC\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#fetch}·when·the·FC·type·is\n···*·`undefined`·or·`void`\n···*/\n··export·interface·FetchOptionsNoContext<K,·V>\n····extends·FetchOptions<K,·V,·undefined>·{\n····context?:·undefined\n··}\n\n··export·interface·MemoOptions<K,·V,·FC·=·unknown>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······|·'allowStale'\n······|·'updateAgeOnGet'\n······|·'noDeleteOnStaleGet'\n······|·'sizeCalculation'\n······|·'ttl'\n······|·'noDisposeOnSet'\n······|·'noUpdateTTL'\n······|·'noDeleteOnFetchRejection'\n······|·'allowStaleOnFetchRejection'\n······|·'ignoreFetchAbort'\n······|·'allowStaleOnFetchAbort'\n····>·{\n····/**\n·····*·Set·to·true·to·force·a·re-load·of·the·existing·data,·even·if·it\n·····*·is·not·yet·stale.\n·····*/\n····forceRefresh?:·boolean\n····/**\n·····*·Context·provided·to·the·{@link·OptionsBase.memoMethod}·as\n·····*·the·{@link·MemoizerOptions.context}·param.\n·····*\n·····*·If·the·FC·type·is·specified·as·unknown·(the·default),\n·····*·undefined·or·void,·then·this·is·optional.··Otherwise,·it·will\n·····*·be·required.\n·····*/\n····context?:·FC\n····status?:·Status<V>\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#memo}·when·the·FC·type·is·something\n···*·other·than·`unknown`,·`undefined`,·or·`void`\n···*/\n··export·interface·MemoOptionsWithContext<K,·V,·FC>\n····extends·MemoOptions<K,·V,·FC>·{\n····context:·FC\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#memo}·when·the·FC·type·is\n···*·`undefined`·or·`void`\n···*/\n··export·interface·MemoOptionsNoContext<K,·V>\n····extends·MemoOptions<K,·V,·undefined>·{\n····context?:·undefined\n··}\n\n··/**\n···*·Options·provided·to·the\n···*·{@link·OptionsBase.memoMethod}·function.\n···*/\n··export·interface·MemoizerOptions<K,·V,·FC·=·unknown>·{\n····options:·MemoizerMemoOptions<K,·V,·FC>\n····/**\n·····*·Object·provided·in·the·{@link·MemoOptions.context}·option·to\n·····*·{@link·LRUCache#memo}\n·····*/\n····context:·FC\n··}\n\n··/**\n···*·options·which·override·the·options·set·in·the·LRUCache·constructor\n···*·when·calling·{@link·LRUCache#memo}.\n···*\n···*·This·is·the·union·of·{@link·GetOptions}·and·{@link·SetOptions},·plus\n···*·{@link·MemoOptions.forceRefresh},·and\n···*·{@link·MemoOptions.context}\n···*\n···*·Any·of·these·may·be·modified·in·the·{@link·OptionsBase.memoMethod}\n···*·function,·but·the·{@link·GetOptions}·fields·will·of·course·have·no\n···*·effect,·as·the·{@link·LRUCache#get}·call·already·happened·by·the·time\n···*·the·memoMethod·is·called.\n···*/\n··export·interface·MemoizerMemoOptions<K,·V,·FC·=·unknown>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······|·'allowStale'\n······|·'updateAgeOnGet'\n······|·'noDeleteOnStaleGet'\n······|·'sizeCalculation'\n······|·'ttl'\n······|·'noDisposeOnSet'\n······|·'noUpdateTTL'\n····>·{\n····status?:·Status<V>\n····size?:·Size\n····start?:·Milliseconds\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#has}·method.\n···*/\n··export·interface·HasOptions<K,·V,·FC>\n····extends·Pick<OptionsBase<K,·V,·FC>,·'updateAgeOnHas'>·{\n····status?:·Status<V>\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#get}·method.\n···*/\n··export·interface·GetOptions<K,·V,·FC>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······'allowStale'·|·'updateAgeOnGet'·|·'noDeleteOnStaleGet'\n····>·{\n····status?:·Status<V>\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#peek}·method.\n···*/\n··export·interface·PeekOptions<K,·V,·FC>\n····extends·Pick<OptionsBase<K,·V,·FC>,·'allowStale'>·{}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#set}·method.\n···*/\n··export·interface·SetOptions<K,·V,·FC>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······'sizeCalculation'·|·'ttl'·|·'noDisposeOnSet'·|·'noUpdateTTL'\n····>·{\n····/**\n·····*·If·size·tracking·is·enabled,·then·setting·an·explicit·size\n·····*·in·the·{@link·LRUCache#set}·call·will·prevent·calling·the\n·····*·{@link·OptionsBase.sizeCalculation}·function.\n·····*/\n····size?:·Size\n····/**\n·····*·If·TTL·tracking·is·enabled,·then·setting·an·explicit·start\n·····*·time·in·the·{@link·LRUCache#set}·call·will·override·the\n·····*·default·time·from·`performance.now()`·or·`Date.now()`.\n·····*\n·····*·Note·that·it·must·be·a·valid·value·for·whichever·time-tracking\n·····*·method·is·in·use.\n·····*/\n····start?:·Milliseconds\n····status?:·Status<V>\n··}\n\n··/**\n···*·The·type·signature·for·the·{@link·OptionsBase.fetchMethod}·option.\n···*/\n··export·type·Fetcher<K,·V,·FC·=·unknown>·=·(\n····key:·K,\n····staleValue:·V·|·undefined,\n····options:·FetcherOptions<K,·V,·FC>,\n··)·=>·Promise<V·|·undefined·|·void>·|·V·|·undefined·|·void\n\n··/**\n···*·the·type·signature·for·the·{@link·OptionsBase.memoMethod}·option.\n···*/\n··export·type·Memoizer<K,·V,·FC·=·unknown>·=·(\n····key:·K,\n····staleValue:·V·|·undefined,\n····options:·MemoizerOptions<K,·V,·FC>,\n··)·=>·V\n\n··/**\n···*·Options·which·may·be·passed·to·the·{@link·LRUCache}·constructor.\n···*\n···*·Most·of·these·may·be·overridden·in·the·various·options·that·use\n···*·them.\n···*\n···*·Despite·all·being·technically·optional,·the·constructor·requires·that\n···*·a·cache·is·at·minimum·limited·by·one·or·more·of·{@link·OptionsBase.max},\n···*·{@link·OptionsBase.ttl},·or·{@link·OptionsBase.maxSize}.\n···*\n···*·If·{@link·OptionsBase.ttl}·is·used·alone,·then·it·is·strongly·advised\n···*·(and·in·fact·required·by·the·type·definitions·here)·that·the·cache\n···*·also·set·{@link·OptionsBase.ttlAutopurge},·to·prevent·potentially\n···*·unbounded·storage.\n···*\n···*·All·options·are·also·available·on·the·{@link·LRUCache}·instance,·making\n···*·it·safe·to·pass·an·LRUCache·instance·as·the·options·argumemnt·to\n···*·make·another·empty·cache·of·the·same·type.\n···*\n···*·Some·options·are·marked·as·read-only,·because·changing·them·after\n···*·instantiation·is·not·safe.·Changing·any·of·the·other·options·will·of\n···*·course·only·have·an·effect·on·subsequent·method·calls.\n···*/\n··export·interface·OptionsBase<K,·V,·FC>·{\n····/**\n·····*·The·maximum·number·of·items·to·store·in·the·cache·before·evicting\n·····*·old·entries.·This·is·read-only·on·the·{@link·LRUCache}·instance,\n·····*·and·may·not·be·overridden.\n·····*\n·····*·If·set,·then·storage·space·will·be·pre-allocated·at·construction\n·····*·time,·and·the·cache·will·perform·significantly·faster.\n·····*\n·····*·Note·that·significantly·fewer·items·may·be·stored,·if\n·····*·{@link·OptionsBase.maxSize}·and/or·{@link·OptionsBase.ttl}·are·also\n·····*·set.\n·····*\n·····*·**It·is·strongly·recommended·to·set·a·`max`·to·prevent·unbounded·growth\n·····*·of·the·cache.**\n·····*/\n····max?:·Count\n\n····/**\n·····*·Max·time·in·milliseconds·for·items·to·live·in·cache·before·they·are\n·····*·considered·stale.··Note·that·stale·items·are·NOT·preemptively·removed·by\n·····*·default,·and·MAY·live·in·the·cache,·contributing·to·its·LRU·max,·long\n·····*·after·they·have·expired,·unless·{@link·OptionsBase.ttlAutopurge}·is\n·····*·set.\n·····*\n·····*·If·set·to·`0`·(the·default·value),·then·that·means·\"do·not·track\n·····*·TTL\",·not·\"expire·immediately\".\n·····*\n·····*·Also,·as·this·cache·is·optimized·for·LRU/MRU·operations,·some·of\n·····*·the·staleness/TTL·checks·will·reduce·performance,·as·they·will·incur\n·····*·overhead·by·deleting·items.\n·····*\n·····*·This·is·not·primarily·a·TTL·cache,·and·does·not·make·strong·TTL\n·····*·guarantees.·There·is·no·pre-emptive·pruning·of·expired·items,·but·you\n·····*·_may_·set·a·TTL·on·the·cache,·and·it·will·treat·expired·items·as·missing\n·····*·when·they·are·fetched,·and·delete·them.\n·····*\n·····*·Optional,·but·must·be·a·non-negative·integer·in·ms·if·specified.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.set()`.\n·····*\n·····*·At·least·one·of·`max`,·`maxSize`,·or·`TTL`·is·required.·This·must·be·a\n·····*·positive·integer·if·set.\n·····*\n·····*·Even·if·ttl·tracking·is·enabled,·**it·is·strongly·recommended·to·set·a\n·····*·`max`·to·prevent·unbounded·growth·of·the·cache.**\n·····*\n·····*·If·ttl·tracking·is·enabled,·and·`max`·and·`maxSize`·are·not·set,\n·····*·and·`ttlAutopurge`·is·not·set,·then·a·warning·will·be·emitted\n·····*·cautioning·about·the·potential·for·unbounded·memory·consumption.\n·····*·(The·TypeScript·definitions·will·also·discourage·this.)\n·····*/\n····ttl?:·Milliseconds\n\n····/**\n·····*·Minimum·amount·of·time·in·ms·in·which·to·check·for·staleness.\n·····*·Defaults·to·1,·which·means·that·the·current·time·is·checked\n·····*·at·most·once·per·millisecond.\n·····*\n·····*·Set·to·0·to·check·the·current·time·every·time·staleness·is·tested.\n·····*·(This·reduces·performance,·and·is·theoretically·unnecessary.)\n·····*\n·····*·Setting·this·to·a·higher·value·will·improve·performance·somewhat\n·····*·while·using·ttl·tracking,·albeit·at·the·expense·of·keeping·stale\n·····*·items·around·a·bit·longer·than·their·TTLs·would·indicate.\n·····*\n·····*·@default·1\n·····*/\n····ttlResolution?:·Milliseconds\n\n····/**\n·····*·Preemptively·remove·stale·items·from·the·cache.\n·····*\n·····*·Note·that·this·may·*significantly*·degrade·performance,·especially·if\n·····*·the·cache·is·storing·a·large·number·of·items.·It·is·almost·always·best\n·····*·to·just·leave·the·stale·items·in·the·cache,·and·let·them·fall·out·as·new\n·····*·items·are·added.\n·····*\n·····*·Note·that·this·means·that·{@link·OptionsBase.allowStale}·is·a·bit\n·····*·pointless,·as·stale·items·will·be·deleted·almost·as·soon·as·they\n·····*·expire.\n·····*\n·····*·Use·with·caution!\n·····*/\n····ttlAutopurge?:·boolean\n\n····/**\n·····*·When·using·time-expiring·entries·with·`ttl`,·setting·this·to·`true`·will\n·····*·make·each·item's·age·reset·to·0·whenever·it·is·retrieved·from·cache·with\n·····*·{@link·LRUCache#get},·causing·it·to·not·expire.·(It·can·still·fall·out\n·····*·of·cache·based·on·recency·of·use,·of·course.)\n·····*\n·····*·Has·no·effect·if·{@link·OptionsBase.ttl}·is·not·set.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.get()`.\n·····*/\n····updateAgeOnGet?:·boolean\n\n····/**\n·····*·When·using·time-expiring·entries·with·`ttl`,·setting·this·to·`true`·will\n·····*·make·each·item's·age·reset·to·0·whenever·its·presence·in·the·cache·is\n·····*·checked·with·{@link·LRUCache#has},·causing·it·to·not·expire.·(It·can\n·····*·still·fall·out·of·cache·based·on·recency·of·use,·of·course.)\n·····*\n·····*·Has·no·effect·if·{@link·OptionsBase.ttl}·is·not·set.\n·····*/\n····updateAgeOnHas?:·boolean\n\n····/**\n·····*·Allow·{@link·LRUCache#get}·and·{@link·LRUCache#fetch}·calls·to·return\n·····*·stale·data,·if·available.\n·····*\n·····*·By·default,·if·you·set·`ttl`,·stale·items·will·only·be·deleted·from·the\n·····*·cache·when·you·`get(key)`.·That·is,·it's·not·preemptively·pruning·items,\n·····*·unless·{@link·OptionsBase.ttlAutopurge}·is·set.\n·····*\n·····*·If·you·set·`allowStale:true`,·it'll·return·the·stale·value·*as·well·as*\n·····*·deleting·it.·If·you·don't·set·this,·then·it'll·return·`undefined`·when\n·····*·you·try·to·get·a·stale·entry.\n·····*\n·····*·Note·that·when·a·stale·entry·is·fetched,·_even·if·it·is·returned·due·to\n·····*·`allowStale`·being·set_,·it·is·removed·from·the·cache·immediately.·You\n·····*·can·suppress·this·behavior·by·setting\n·····*·{@link·OptionsBase.noDeleteOnStaleGet},·either·in·the·constructor,·or·in\n·····*·the·options·provided·to·{@link·LRUCache#get}.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.get()`.\n·····*·The·`cache.has()`·method·will·always·return·`false`·for·stale·items.\n·····*\n·····*·Only·relevant·if·a·ttl·is·set.\n·····*/\n····allowStale?:·boolean\n\n····/**\n·····*·Function·that·is·called·on·items·when·they·are·dropped·from·the\n·····*·cache,·as·`dispose(value,·key,·reason)`.\n·····*\n·····*·This·can·be·handy·if·you·want·to·close·file·descriptors·or·do\n·····*·other·cleanup·tasks·when·items·are·no·longer·stored·in·the·cache.\n·····*\n·····*·**NOTE**:·It·is·called·_before_·the·item·has·been·fully·removed\n·····*·from·the·cache,·so·if·you·want·to·put·it·right·back·in,·you·need\n·····*·to·wait·until·the·next·tick.·If·you·try·to·add·it·back·in·during\n·····*·the·`dispose()`·function·call,·it·will·break·things·in·subtle·and\n·····*·weird·ways.\n·····*\n·····*·Unlike·several·other·options,·this·may·_not_·be·overridden·by\n·····*·passing·an·option·to·`set()`,·for·performance·reasons.\n·····*\n·····*·The·`reason`·will·be·one·of·the·following·strings,·corresponding\n·····*·to·the·reason·for·the·item's·deletion:\n·····*\n·····*·-·`evict`·Item·was·evicted·to·make·space·for·a·new·addition\n·····*·-·`set`·Item·was·overwritten·by·a·new·value\n·····*·-·`expire`·Item·expired·its·TTL\n·····*·-·`fetch`·Item·was·deleted·due·to·a·failed·or·aborted·fetch,·or·a\n·····*···fetchMethod·returning·`undefined.\n·····*·-·`delete`·Item·was·removed·by·explicit·`cache.delete(key)`,\n·····*···`cache.clear()`,·or·`cache.set(key,·undefined)`.\n·····*/\n····dispose?:·Disposer<K,·V>\n\n····/**\n·····*·Function·that·is·called·when·new·items·are·inserted·into·the·cache,\n·····*·as·`onInsert(value,·key,·reason)`.\n·····*\n·····*·This·can·be·useful·if·you·need·to·perform·actions·when·an·item·is\n·····*·added,·such·as·logging·or·tracking·insertions.\n·····*\n·····*·Unlike·some·other·options,·this·may·_not_·be·overridden·by·passing\n·····*·an·option·to·`set()`,·for·performance·and·consistency·reasons.\n·····*/\n····onInsert?:·Inserter<K,·V>\n\n····/**\n·····*·The·same·as·{@link·OptionsBase.dispose},·but·called·*after*·the·entry\n·····*·is·completely·removed·and·the·cache·is·once·again·in·a·clean·state.\n·····*\n·····*·It·is·safe·to·add·an·item·right·back·into·the·cache·at·this·point.\n·····*·However,·note·that·it·is·*very*·easy·to·inadvertently·create·infinite\n·····*·recursion·this·way.\n·····*/\n····disposeAfter?:·Disposer<K,·V>\n\n····/**\n·····*·Set·to·true·to·suppress·calling·the\n·····*·{@link·OptionsBase.dispose}·function·if·the·entry·key·is\n·····*·still·accessible·within·the·cache.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to\n·····*·{@link·LRUCache#set}.\n·····*\n·····*·Only·relevant·if·`dispose`·or·`disposeAfter`·are·set.\n·····*/\n····noDisposeOnSet?:·boolean\n\n····/**\n·····*·Boolean·flag·to·tell·the·cache·to·not·update·the·TTL·when·setting·a·new\n·····*·value·for·an·existing·key·(ie,·when·updating·a·value·rather·than\n·····*·inserting·a·new·value).··Note·that·the·TTL·value·is·_always_·set·(if\n·····*·provided)·when·adding·a·new·entry·into·the·cache.\n·····*\n·····*·Has·no·effect·if·a·{@link·OptionsBase.ttl}·is·not·set.\n·····*\n·····*·May·be·passed·as·an·option·to·{@link·LRUCache#set}.\n·····*/\n····noUpdateTTL?:·boolean\n\n····/**\n·····*·Set·to·a·positive·integer·to·track·the·sizes·of·items·added·to·the\n·····*·cache,·and·automatically·evict·items·in·order·to·stay·below·this·size.\n·····*·Note·that·this·may·result·in·fewer·than·`max`·items·being·stored.\n·····*\n·····*·Attempting·to·add·an·item·to·the·cache·whose·calculated·size·is·greater\n·····*·that·this·amount·will·be·a·no-op.·The·item·will·not·be·cached,·and·no\n·····*·other·items·will·be·evicted.\n·····*\n·····*·Optional,·must·be·a·positive·integer·if·provided.\n·····*\n·····*·Sets·`maxEntrySize`·to·the·same·value,·unless·a·different·value·is\n·····*·provided·for·`maxEntrySize`.\n·····*\n·····*·At·least·one·of·`max`,·`maxSize`,·or·`TTL`·is·required.·This·must·be·a\n·····*·positive·integer·if·set.\n·····*\n·····*·Even·if·size·tracking·is·enabled,·**it·is·strongly·recommended·to·set·a\n·····*·`max`·to·prevent·unbounded·growth·of·the·cache.**\n·····*\n·····*·Note·also·that·size·tracking·can·negatively·impact·performance,\n·····*·though·for·most·cases,·only·minimally.\n·····*/\n····maxSize?:·Size\n\n····/**\n·····*·The·maximum·allowed·size·for·any·single·item·in·the·cache.\n·····*\n·····*·If·a·larger·item·is·passed·to·{@link·LRUCache#set}·or·returned·by·a\n·····*·{@link·OptionsBase.fetchMethod}·or·{@link·OptionsBase.memoMethod},·then\n·····*·it·will·not·be·stored·in·the·cache.\n·····*\n·····*·Attempting·to·add·an·item·whose·calculated·size·is·greater·than\n·····*·this·amount·will·not·cache·the·item·or·evict·any·old·items,·but\n·····*·WILL·delete·an·existing·value·if·one·is·already·present.\n·····*\n·····*·Optional,·must·be·a·positive·integer·if·provided.·Defaults·to\n·····*·the·value·of·`maxSize`·if·provided.\n·····*/\n····maxEntrySize?:·Size\n\n····/**\n·····*·A·function·that·returns·a·number·indicating·the·item's·size.\n·····*\n·····*·Requires·{@link·OptionsBase.maxSize}·to·be·set.\n·····*\n·····*·If·not·provided,·and·{@link·OptionsBase.maxSize}·or\n·····*·{@link·OptionsBase.maxEntrySize}·are·set,·then·all\n·····*·{@link·LRUCache#set}·calls·**must**·provide·an·explicit\n·····*·{@link·SetOptions.size}·or·sizeCalculation·param.\n·····*/\n····sizeCalculation?:·SizeCalculator<K,·V>\n\n····/**\n·····*·Method·that·provides·the·implementation·for·{@link·LRUCache#fetch}\n·····*\n·····*·```ts\n·····*·fetchMethod(key,·staleValue,·{·signal,·options,·context·})\n·····*·```\n·····*\n·····*·If·`fetchMethod`·is·not·provided,·then·`cache.fetch(key)`·is·equivalent\n·····*·to·`Promise.resolve(cache.get(key))`.\n·····*\n·····*·If·at·any·time,·`signal.aborted`·is·set·to·`true`,·or·if·the\n·····*·`signal.onabort`·method·is·called,·or·if·it·emits·an·`'abort'`·event\n·····*·which·you·can·listen·to·with·`addEventListener`,·then·that·means·that\n·····*·the·fetch·should·be·abandoned.·This·may·be·passed·along·to·async\n·····*·functions·aware·of·AbortController/AbortSignal·behavior.\n·····*\n·····*·The·`fetchMethod`·should·**only**·return·`undefined`·or·a·Promise\n·····*·resolving·to·`undefined`·if·the·AbortController·signaled·an·`abort`\n·····*·event.·In·all·other·cases,·it·should·return·or·resolve·to·a·value\n·····*·suitable·for·adding·to·the·cache.\n·····*\n·····*·The·`options`·object·is·a·union·of·the·options·that·may·be·provided·to\n·····*·`set()`·and·`get()`.·If·they·are·modified,·then·that·will·result·in\n·····*·modifying·the·settings·to·`cache.set()`·when·the·value·is·resolved,·and\n·····*·in·the·case·of\n·····*·{@link·OptionsBase.noDeleteOnFetchRejection}·and\n·····*·{@link·OptionsBase.allowStaleOnFetchRejection},·the·handling·of\n·····*·`fetchMethod`·failures.\n·····*\n·····*·For·example,·a·DNS·cache·may·update·the·TTL·based·on·the·value·returned\n·····*·from·a·remote·DNS·server·by·changing·`options.ttl`·in·the·`fetchMethod`.\n·····*/\n····fetchMethod?:·Fetcher<K,·V,·FC>\n\n····/**\n·····*·Method·that·provides·the·implementation·for·{@link·LRUCache#memo}\n·····*/\n····memoMethod?:·Memoizer<K,·V,·FC>\n\n····/**\n·····*·Set·to·true·to·suppress·the·deletion·of·stale·data·when·a\n·····*·{@link·OptionsBase.fetchMethod}·returns·a·rejected·promise.\n·····*/\n····noDeleteOnFetchRejection?:·boolean\n\n····/**\n·····*·Do·not·delete·stale·items·when·they·are·retrieved·with\n·····*·{@link·LRUCache#get}.\n·····*\n·····*·Note·that·the·`get`·return·value·will·still·be·`undefined`\n·····*·unless·{@link·OptionsBase.allowStale}·is·true.\n·····*\n·····*·When·using·time-expiring·entries·with·`ttl`,·by·default·stale\n·····*·items·will·be·removed·from·the·cache·when·the·key·is·accessed\n·····*·with·`cache.get()`.\n·····*\n·····*·Setting·this·option·will·cause·stale·items·to·remain·in·the·cache,·until\n·····*·they·are·explicitly·deleted·with·`cache.delete(key)`,·or·retrieved·with\n·····*·`noDeleteOnStaleGet`·set·to·`false`.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.get()`.\n·····*\n·····*·Only·relevant·if·a·ttl·is·used.\n·····*/\n····noDeleteOnStaleGet?:·boolean\n\n····/**\n·····*·Set·to·true·to·allow·returning·stale·data·when·a\n·····*·{@link·OptionsBase.fetchMethod}·throws·an·error·or·returns·a·rejected\n·····*·promise.\n·····*\n·····*·This·differs·from·using·{@link·OptionsBase.allowStale}·in·that·stale\n·····*·data·will·ONLY·be·returned·in·the·case·that·the·{@link·LRUCache#fetch}\n·····*·fails,·not·any·other·times.\n·····*\n·····*·If·a·`fetchMethod`·fails,·and·there·is·no·stale·value·available,·the\n·····*·`fetch()`·will·resolve·to·`undefined`.·Ie,·all·`fetchMethod`·errors·are\n·····*·suppressed.\n·····*\n·····*·Implies·`noDeleteOnFetchRejection`.\n·····*\n·····*·This·may·be·set·in·calls·to·`fetch()`,·or·defaulted·on·the·constructor,\n·····*·or·overridden·by·modifying·the·options·object·in·the·`fetchMethod`.\n·····*/\n····allowStaleOnFetchRejection?:·boolean\n\n····/**\n·····*·Set·to·true·to·return·a·stale·value·from·the·cache·when·the\n·····*·`AbortSignal`·passed·to·the·{@link·OptionsBase.fetchMethod}·dispatches\n·····*·an·`'abort'`·event,·whether·user-triggered,·or·due·to·internal·cache\n·····*·behavior.\n·····*\n·····*·Unless·{@link·OptionsBase.ignoreFetchAbort}·is·also·set,·the·underlying\n·····*·{@link·OptionsBase.fetchMethod}·will·still·be·considered·canceled,·and\n·····*·any·value·it·returns·will·be·ignored·and·not·cached.\n·····*\n·····*·Caveat:·since·fetches·are·aborted·when·a·new·value·is·explicitly\n·····*·set·in·the·cache,·this·can·lead·to·fetch·returning·a·stale·value,\n·····*·since·that·was·the·fallback·value·_at·the·moment·the·`fetch()`·was\n·····*·initiated_,·even·though·the·new·updated·value·is·now·present·in\n·····*·the·cache.\n·····*\n·····*·For·example:\n·····*\n·····*·```ts\n·····*·const·cache·=·new·LRUCache<string,·any>({\n·····*···ttl:·100,\n·····*···fetchMethod:·async·(url,·oldValue,·{·signal·})·=>··{\n·····*·····const·res·=·await·fetch(url,·{·signal·})\n·····*·····return·await·res.json()\n·····*···}\n·····*·})\n·····*·cache.set('https://example.com/',·{·some:·'data'·})\n·····*·//·100ms·go·by...\n·····*·const·result·=·cache.fetch('https://example.com/')\n·····*·cache.set('https://example.com/',·{·other:·'thing'·})\n·····*·console.log(await·result)·//·{·some:·'data'·}\n·····*·console.log(cache.get('https://example.com/'))·//·{·other:·'thing'·}\n·····*·```\n·····*/\n····allowStaleOnFetchAbort?:·boolean\n\n····/**\n·····*·Set·to·true·to·ignore·the·`abort`·event·emitted·by·the·`AbortSignal`\n·····*·object·passed·to·{@link·OptionsBase.fetchMethod},·and·still·cache·the\n·····*·resulting·resolution·value,·as·long·as·it·is·not·`undefined`.\n·····*\n·····*·When·used·on·its·own,·this·means·aborted·{@link·LRUCache#fetch}·calls\n·····*·are·not·immediately·resolved·or·rejected·when·they·are·aborted,·and\n·····*·instead·take·the·full·time·to·await.\n·····*\n·····*·When·used·with·{@link·OptionsBase.allowStaleOnFetchAbort},·aborted\n·····*·{@link·LRUCache#fetch}·calls·will·resolve·immediately·to·their·stale\n·····*·cached·value·or·`undefined`,·and·will·continue·to·process·and·eventually\n·····*·update·the·cache·when·they·resolve,·as·long·as·the·resulting·value·is\n·····*·not·`undefined`,·thus·supporting·a·\"return·stale·on·timeout·while\n·····*·refreshing\"·mechanism·by·passing·`AbortSignal.timeout(n)`·as·the·signal.\n·····*\n·····*·For·example:\n·····*\n·····*·```ts\n·····*·const·c·=·new·LRUCache({\n·····*···ttl:·100,\n·····*···ignoreFetchAbort:·true,\n·····*···allowStaleOnFetchAbort:·true,\n·····*···fetchMethod:·async·(key,·oldValue,·{·signal·})·=>·{\n·····*·····//·note:·do·NOT·pass·the·signal·to·fetch()!\n·····*·····//·let's·say·this·fetch·can·take·a·long·time.\n·····*·····const·res·=·await·fetch(`https://slow-backend-server/${key}`)\n·····*·····return·await·res.json()\n·····*···},\n·····*·})\n·····*\n·····*·//·this·will·return·the·stale·value·after·100ms,·while·still\n·····*·//·updating·in·the·background·for·next·time.\n·····*·const·val·=·await·c.fetch('key',·{·signal:·AbortSignal.timeout(100)·})\n·····*·```\n·····*\n·····*·**Note**:·regardless·of·this·setting,·an·`abort`·event·_is·still\n·····*·emitted·on·the·`AbortSignal`·object_,·so·may·result·in·invalid·results\n·····*·when·passed·to·other·underlying·APIs·that·use·AbortSignals.\n·····*\n·····*·This·may·be·overridden·in·the·{@link·OptionsBase.fetchMethod}·or·the\n·····*·call·to·{@link·LRUCache#fetch}.\n·····*/\n····ignoreFetchAbort?:·boolean\n\n····/**\n·····*·In·some·cases,·you·may·want·to·swap·out·the·performance/Date·object\n·····*·used·for·TTL·tracking.·This·should·almost·certainly·NOT·be·done·in\n·····*·production·environments!\n·····*\n·····*·This·value·defaults·to·`global.performance`·if·it·has·a·`now()`·method,\n·····*·or·the·`global.Date`·object·otherwise.\n·····*/\n····perf?:·Perf\n··}\n\n··export·interface·OptionsMaxLimit<K,·V,·FC>\n····extends·OptionsBase<K,·V,·FC>·{\n····max:·Count\n··}\n··export·interface·OptionsTTLLimit<K,·V,·FC>\n····extends·OptionsBase<K,·V,·FC>·{\n····ttl:·Milliseconds\n····ttlAutopurge:·boolean\n··}\n··export·interface·OptionsSizeLimit<K,·V,·FC>\n····extends·OptionsBase<K,·V,·FC>·{\n····maxSize:·Size\n··}\n\n··/**\n···*·The·valid·safe·options·for·the·{@link·LRUCache}·constructor\n···*/\n··export·type·Options<K,·V,·FC>·=\n····|·OptionsMaxLimit<K,·V,·FC>\n····|·OptionsSizeLimit<K,·V,·FC>\n····|·OptionsTTLLimit<K,·V,·FC>\n\n··/**\n···*·Entry·objects·used·by·{@link·LRUCache#load}·and·{@link·LRUCache#dump},\n···*·and·returned·by·{@link·LRUCache#info}.\n···*/\n··export·interface·Entry<V>·{\n····value:·V\n····ttl?:·Milliseconds\n····size?:·Size\n····start?:·Milliseconds\n··}\n}\n\n/**\n·*·Default·export,·the·thing·you're·using·this·module·to·get.\n·*\n·*·The·`K`·and·`V`·types·define·the·key·and·value·types,·respectively.·The\n·*·optional·`FC`·type·defines·the·type·of·the·`context`·object·passed·to\n·*·`cache.fetch()`·and·`cache.memo()`.\n·*\n·*·Keys·and·values·**must·not**·be·`null`·or·`undefined`.\n·*\n·*·All·properties·from·the·options·object·(with·the·exception·of·`max`,\n·*·`maxSize`,·`fetchMethod`,·`memoMethod`,·`dispose`·and·`disposeAfter`)·are\n·*·added·as·normal·public·members.·(The·listed·options·are·read-only·getters.)\n·*\n·*·Changing·any·of·these·will·alter·the·defaults·for·subsequent·method·calls.\n·*/\nexport·class·LRUCache<K·extends·{},·V·extends·{},·FC·=·unknown>·{\n··//·options·that·cannot·be·changed·without·disaster\n··readonly·#max:·LRUCache.Count\n··readonly·#maxSize:·LRUCache.Size\n··readonly·#dispose?:·LRUCache.Disposer<K,·V>\n··readonly·#onInsert?:·LRUCache.Inserter<K,·V>\n··readonly·#disposeAfter?:·LRUCache.Disposer<K,·V>\n··readonly·#fetchMethod?:·LRUCache.Fetcher<K,·V,·FC>\n··readonly·#memoMethod?:·LRUCache.Memoizer<K,·V,·FC>\n··readonly·#perf:·Perf\n\n··/**\n···*·{@link·LRUCache.OptionsBase.perf}\n···*/\n··get·perf()·{\n····return·this.#perf\n··}\n\n··/**\n···*·{@link·LRUCache.OptionsBase.ttl}\n···*/\n··ttl:·LRUCache.Milliseconds\n\n··/**\n···*·{@link·LRUCache.OptionsBase.ttlResolution}\n···*/\n··ttlResolution:·LRUCache.Milliseconds\n··/**\n···*·{@link·LRUCache.OptionsBase.ttlAutopurge}\n···*/\n··ttlAutopurge:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.updateAgeOnGet}\n···*/\n··updateAgeOnGet:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.updateAgeOnHas}\n···*/\n··updateAgeOnHas:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.allowStale}\n···*/\n··allowStale:·boolean\n\n··/**\n···*·{@link·LRUCache.OptionsBase.noDisposeOnSet}\n···*/\n··noDisposeOnSet:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.noUpdateTTL}\n···*/\n··noUpdateTTL:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.maxEntrySize}\n···*/\n··maxEntrySize:·LRUCache.Size\n··/**\n···*·{@link·LRUCache.OptionsBase.sizeCalculation}\n···*/\n··sizeCalculation?:·LRUCache.SizeCalculator<K,·V>\n··/**\n···*·{@link·LRUCache.OptionsBase.noDeleteOnFetchRejection}\n···*/\n··noDeleteOnFetchRejection:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.noDeleteOnStaleGet}\n···*/\n··noDeleteOnStaleGet:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.allowStaleOnFetchAbort}\n···*/\n··allowStaleOnFetchAbort:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.allowStaleOnFetchRejection}\n···*/\n··allowStaleOnFetchRejection:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.ignoreFetchAbort}\n···*/\n··ignoreFetchAbort:·boolean\n\n··//·computed·properties\n··#size:·LRUCache.Count\n··#calculatedSize:·LRUCache.Size\n··#keyMap:·Map<K,·Index>\n··#keyList:·(K·|·undefined)[]\n··#valList:·(V·|·BackgroundFetch<V>·|·undefined)[]\n··#next:·NumberArray\n··#prev:·NumberArray\n··#head:·Index\n··#tail:·Index\n··#free:·StackLike\n··#disposed?:·DisposeTask<K,·V>[]\n··#sizes?:·ZeroArray\n··#starts?:·ZeroArray\n··#ttls?:·ZeroArray\n··#autopurgeTimers?:·(undefined·|·ReturnType<typeof·setTimeout>)[]\n\n··#hasDispose:·boolean\n··#hasFetchMethod:·boolean\n··#hasDisposeAfter:·boolean\n··#hasOnInsert:·boolean\n\n··/**\n···*·Do·not·call·this·method·unless·you·need·to·inspect·the\n···*·inner·workings·of·the·cache.··If·anything·returned·by·this\n···*·object·is·modified·in·any·way,·strange·breakage·may·occur.\n···*\n···*·These·fields·are·private·for·a·reason!\n···*\n···*·@internal\n···*/\n··static·unsafeExposeInternals<\n····K·extends·{},\n····V·extends·{},\n····FC·extends·unknown·=·unknown,\n··>(c:·LRUCache<K,·V,·FC>)·{\n····return·{\n······//·properties\n······starts:·c.#starts,\n······ttls:·c.#ttls,\n······autopurgeTimers:·c.#autopurgeTimers,\n······sizes:·c.#sizes,\n······keyMap:·c.#keyMap·as·Map<K,·number>,\n······keyList:·c.#keyList,\n······valList:·c.#valList,\n······next:·c.#next,\n······prev:·c.#prev,\n······get·head()·{\n········return·c.#head\n······},\n······get·tail()·{\n········return·c.#tail\n······},\n······free:·c.#free,\n······//·methods\n······isBackgroundFetch:·(p:·any)·=>·c.#isBackgroundFetch(p),\n······backgroundFetch:·(\n········k:·K,\n········index:·number·|·undefined,\n········options:·LRUCache.FetchOptions<K,·V,·FC>,\n········context:·any,\n······):·BackgroundFetch<V>·=>\n········c.#backgroundFetch(\n··········k,\n··········index·as·Index·|·undefined,\n··········options,\n··········context,\n········),\n······moveToTail:·(index:·number):·void·=>·c.#moveToTail(index·as·Index),\n······indexes:·(options?:·{·allowStale:·boolean·})·=>·c.#indexes(options),\n······rindexes:·(options?:·{·allowStale:·boolean·})·=>\n········c.#rindexes(options),\n······isStale:·(index:·number·|·undefined)·=>·c.#isStale(index·as·Index),\n····}\n··}\n\n··//·Protected·read-only·members\n\n··/**\n···*·{@link·LRUCache.OptionsBase.max}·(read-only)\n···*/\n··get·max():·LRUCache.Count·{\n····return·this.#max\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.maxSize}·(read-only)\n···*/\n··get·maxSize():·LRUCache.Count·{\n····return·this.#maxSize\n··}\n··/**\n···*·The·total·computed·size·of·items·in·the·cache·(read-only)\n···*/\n··get·calculatedSize():·LRUCache.Size·{\n····return·this.#calculatedSize\n··}\n··/**\n···*·The·number·of·items·stored·in·the·cache·(read-only)\n···*/\n··get·size():·LRUCache.Count·{\n····return·this.#size\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.fetchMethod}·(read-only)\n···*/\n··get·fetchMethod():·LRUCache.Fetcher<K,·V,·FC>·|·undefined·{\n····return·this.#fetchMethod\n··}\n··get·memoMethod():·LRUCache.Memoizer<K,·V,·FC>·|·undefined·{\n····return·this.#memoMethod\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.dispose}·(read-only)\n···*/\n··get·dispose()·{\n····return·this.#dispose\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.onInsert}·(read-only)\n···*/\n··get·onInsert()·{\n····return·this.#onInsert\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.disposeAfter}·(read-only)\n···*/\n··get·disposeAfter()·{\n····return·this.#disposeAfter\n··}\n\n··constructor(options:·LRUCache.Options<K,·V,·FC>·|·LRUCache<K,·V,·FC>)·{\n····const·{\n······max·=·0,\n······ttl,\n······ttlResolution·=·1,\n······ttlAutopurge,\n······updateAgeOnGet,\n······updateAgeOnHas,\n······allowStale,\n······dispose,\n······onInsert,\n······disposeAfter,\n······noDisposeOnSet,\n······noUpdateTTL,\n······maxSize·=·0,\n······maxEntrySize·=·0,\n······sizeCalculation,\n······fetchMethod,\n······memoMethod,\n······noDeleteOnFetchRejection,\n······noDeleteOnStaleGet,\n······allowStaleOnFetchRejection,\n······allowStaleOnFetchAbort,\n······ignoreFetchAbort,\n······perf,\n····}·=·options\n\n····if·(perf·!==·undefined)·{\n······if·(typeof·perf?.now·!==·'function')·{\n········throw·new·TypeError(\n··········'perf·option·must·have·a·now()·method·if·specified',\n········)\n······}\n····}\n\n····this.#perf·=·perf·??·defaultPerf\n\n····if·(max·!==·0·&&·!isPosInt(max))·{\n······throw·new·TypeError('max·option·must·be·a·nonnegative·integer')\n····}\n\n····const·UintArray·=·max·?·getUintArray(max)·:·Array\n····if·(!UintArray)·{\n······throw·new·Error('invalid·max·value:·'·+·max)\n····}\n\n····this.#max·=·max\n····this.#maxSize·=·maxSize\n····this.maxEntrySize·=·maxEntrySize·||·this.#maxSize\n····this.sizeCalculation·=·sizeCalculation\n····if·(this.sizeCalculation)·{\n······if·(!this.#maxSize·&&·!this.maxEntrySize)·{\n········throw·new·TypeError(\n··········'cannot·set·sizeCalculation·without·setting·maxSize·or·maxEntrySize',\n········)\n······}\n······if·(typeof·this.sizeCalculation·!==·'function')·{\n········throw·new·TypeError('sizeCalculation·set·to·non-function')\n······}\n····}\n\n····if·(memoMethod·!==·undefined·&&·typeof·memoMethod·!==·'function')·{\n······throw·new·TypeError('memoMethod·must·be·a·function·if·defined')\n····}\n····this.#memoMethod·=·memoMethod\n\n····if·(fetchMethod·!==·undefined·&&·typeof·fetchMethod·!==·'function')·{\n······throw·new·TypeError('fetchMethod·must·be·a·function·if·specified')\n····}\n····this.#fetchMethod·=·fetchMethod\n····this.#hasFetchMethod·=·!!fetchMethod\n\n····this.#keyMap·=·new·Map()\n····this.#keyList·=·new·Array(max).fill(undefined)\n····this.#valList·=·new·Array(max).fill(undefined)\n····this.#next·=·new·UintArray(max)\n····this.#prev·=·new·UintArray(max)\n····this.#head·=·0·as·Index\n····this.#tail·=·0·as·Index\n····this.#free·=·Stack.create(max)\n····this.#size·=·0\n····this.#calculatedSize·=·0\n\n····if·(typeof·dispose·===·'function')·{\n······this.#dispose·=·dispose\n····}\n····if·(typeof·onInsert·===·'function')·{\n······this.#onInsert·=·onInsert\n····}\n····if·(typeof·disposeAfter·===·'function')·{\n······this.#disposeAfter·=·disposeAfter\n······this.#disposed·=·[]\n····}·else·{\n······this.#disposeAfter·=·undefined\n······this.#disposed·=·undefined\n····}\n····this.#hasDispose·=·!!this.#dispose\n····this.#hasOnInsert·=·!!this.#onInsert\n····this.#hasDisposeAfter·=·!!this.#disposeAfter\n\n····this.noDisposeOnSet·=·!!noDisposeOnSet\n····this.noUpdateTTL·=·!!noUpdateTTL\n····this.noDeleteOnFetchRejection·=·!!noDeleteOnFetchRejection\n····this.allowStaleOnFetchRejection·=·!!allowStaleOnFetchRejection\n····this.allowStaleOnFetchAbort·=·!!allowStaleOnFetchAbort\n····this.ignoreFetchAbort·=·!!ignoreFetchAbort\n\n····//·NB:·maxEntrySize·is·set·to·maxSize·if·it's·set\n····if·(this.maxEntrySize·!==·0)·{\n······if·(this.#maxSize·!==·0)·{\n········if·(!isPosInt(this.#maxSize))·{\n··········throw·new·TypeError(\n············'maxSize·must·be·a·positive·integer·if·specified',\n··········)\n········}\n······}\n······if·(!isPosInt(this.maxEntrySize))·{\n········throw·new·TypeError(\n··········'maxEntrySize·must·be·a·positive·integer·if·specified',\n········)\n······}\n······this.#initializeSizeTracking()\n····}\n\n····this.allowStale·=·!!allowStale\n····this.noDeleteOnStaleGet·=·!!noDeleteOnStaleGet\n····this.updateAgeOnGet·=·!!updateAgeOnGet\n····this.updateAgeOnHas·=·!!updateAgeOnHas\n····this.ttlResolution·=\n······isPosInt(ttlResolution)·||·ttlResolution·===·0·?·ttlResolution·:·1\n····this.ttlAutopurge·=·!!ttlAutopurge\n····this.ttl·=·ttl·||·0\n····if·(this.ttl)·{\n······if·(!isPosInt(this.ttl))·{\n········throw·new·TypeError('ttl·must·be·a·positive·integer·if·specified')\n······}\n······this.#initializeTTLTracking()\n····}\n\n····//·do·not·allow·completely·unbounded·caches\n····if·(this.#max·===·0·&&·this.ttl·===·0·&&·this.#maxSize·===·0)·{\n······throw·new·TypeError(\n········'At·least·one·of·max,·maxSize,·or·ttl·is·required',\n······)\n····}\n····if·(!this.ttlAutopurge·&&·!this.#max·&&·!this.#maxSize)·{\n······const·code·=·'LRU_CACHE_UNBOUNDED'\n······if·(shouldWarn(code))·{\n········warned.add(code)\n········const·msg·=\n··········'TTL·caching·without·ttlAutopurge,·max,·or·maxSize·can·'·+\n··········'result·in·unbounded·memory·consumption.'\n········emitWarning(msg,·'UnboundedCacheWarning',·code,·LRUCache)\n······}\n····}\n··}\n\n··/**\n···*·Return·the·number·of·ms·left·in·the·item's·TTL.·If·item·is·not·in·cache,\n···*·returns·`0`.·Returns·`Infinity`·if·item·is·in·cache·without·a·defined·TTL.\n···*/\n··getRemainingTTL(key:·K)·{\n····return·this.#keyMap.has(key)·?·Infinity·:·0\n··}\n\n··#initializeTTLTracking()·{\n····const·ttls·=·new·ZeroArray(this.#max)\n····const·starts·=·new·ZeroArray(this.#max)\n····this.#ttls·=·ttls\n····this.#starts·=·starts\n····const·purgeTimers·=\n······this.ttlAutopurge·?\n········new·Array<undefined·|·ReturnType<typeof·setTimeout>>(this.#max)\n······:·undefined\n····this.#autopurgeTimers·=·purgeTimers\n\n····this.#setItemTTL·=·(index,·ttl,·start·=·this.#perf.now())·=>·{\n······starts[index]·=·ttl·!==·0·?·start·:·0\n······ttls[index]·=·ttl\n······//·clear·out·the·purge·timer·if·we're·setting·TTL·to·0,·and\n······//·previously·had·a·ttl·purge·timer·running,·so·it·doesn't\n······//·fire·unnecessarily.\n······if·(purgeTimers?.[index])·{\n········clearTimeout(purgeTimers[index])\n········purgeTimers[index]·=·undefined\n······}\n······if·(ttl·!==·0·&&·purgeTimers)·{\n········const·t·=·setTimeout(()·=>·{\n··········if·(this.#isStale(index))·{\n············this.#delete(this.#keyList[index]·as·K,·'expire')\n··········}\n········},·ttl·+·1)\n········//·unref()·not·supported·on·all·platforms\n········/*·c8·ignore·start·*/\n········if·(t.unref)·{\n··········t.unref()\n········}\n········/*·c8·ignore·stop·*/\n········purgeTimers[index]·=·t\n······}\n····}\n\n····this.#updateItemAge·=·index·=>·{\n······starts[index]·=·ttls[index]·!==·0·?·this.#perf.now()·:·0\n····}\n\n····this.#statusTTL·=·(status,·index)·=>·{\n······if·(ttls[index])·{\n········const·ttl·=·ttls[index]\n········const·start·=·starts[index]\n········/*·c8·ignore·next·*/\n········if·(!ttl·||·!start)·return\n········status.ttl·=·ttl\n········status.start·=·start\n········status.now·=·cachedNow·||·getNow()\n········const·age·=·status.now·-·start\n········status.remainingTTL·=·ttl·-·age\n······}\n····}\n\n····//·debounce·calls·to·perf.now()·to·1s·so·we're·not·hitting\n····//·that·costly·call·repeatedly.\n····let·cachedNow·=·0\n····const·getNow·=·()·=>·{\n······const·n·=·this.#perf.now()\n······if·(this.ttlResolution·>·0)·{\n········cachedNow·=·n\n········const·t·=·setTimeout(()·=>·(cachedNow·=·0),·this.ttlResolution)\n········//·not·available·on·all·platforms\n········/*·c8·ignore·start·*/\n········if·(t.unref)·{\n··········t.unref()\n········}\n········/*·c8·ignore·stop·*/\n······}\n······return·n\n····}\n\n····this.getRemainingTTL·=·key·=>·{\n······const·index·=·this.#keyMap.get(key)\n······if·(index·===·undefined)·{\n········return·0\n······}\n······const·ttl·=·ttls[index]\n······const·start·=·starts[index]\n······if·(!ttl·||·!start)·{\n········return·Infinity\n······}\n······const·age·=·(cachedNow·||·getNow())·-·start\n······return·ttl·-·age\n····}\n\n····this.#isStale·=·index·=>·{\n······const·s·=·starts[index]\n······const·t·=·ttls[index]\n······return·!!t·&&·!!s·&&·(cachedNow·||·getNow())·-·s·>·t\n····}\n··}\n\n··//·conditionally·set·private·methods·related·to·TTL\n··#updateItemAge:·(index:·Index)·=>·void·=·()·=>·{}\n··#statusTTL:·(status:·LRUCache.Status<V>,·index:·Index)·=>·void·=·()·=>·{}\n··#setItemTTL:·(\n····index:·Index,\n····ttl:·LRUCache.Milliseconds,\n····start?:·LRUCache.Milliseconds,\n····//·ignore·because·we·never·call·this·if·we're·not·already·in·TTL·mode\n····/*·c8·ignore·start·*/\n··)·=>·void·=·()·=>·{}\n··/*·c8·ignore·stop·*/\n\n··#isStale:·(index:·Index)·=>·boolean·=·()·=>·false\n\n··#initializeSizeTracking()·{\n····const·sizes·=·new·ZeroArray(this.#max)\n····this.#calculatedSize·=·0\n····this.#sizes·=·sizes\n····this.#removeItemSize·=·index·=>·{\n······this.#calculatedSize·-=·sizes[index]·as·number\n······sizes[index]·=·0\n····}\n····this.#requireSize·=·(k,·v,·size,·sizeCalculation)·=>·{\n······//·provisionally·accept·background·fetches.\n······//·actual·value·size·will·be·checked·when·they·return.\n······if·(this.#isBackgroundFetch(v))·{\n········return·0\n······}\n······if·(!isPosInt(size))·{\n········if·(sizeCalculation)·{\n··········if·(typeof·sizeCalculation·!==·'function')·{\n············throw·new·TypeError('sizeCalculation·must·be·a·function')\n··········}\n··········size·=·sizeCalculation(v,·k)\n··········if·(!isPosInt(size))·{\n············throw·new·TypeError(\n··············'sizeCalculation·return·invalid·(expect·positive·integer)',\n············)\n··········}\n········}·else·{\n··········throw·new·TypeError(\n············'invalid·size·value·(must·be·positive·integer).·'·+\n··············'When·maxSize·or·maxEntrySize·is·used,·sizeCalculation·'·+\n··············'or·size·must·be·set.',\n··········)\n········}\n······}\n······return·size\n····}\n····this.#addItemSize·=·(\n······index:·Index,\n······size:·LRUCache.Size,\n······status?:·LRUCache.Status<V>,\n····)·=>·{\n······sizes[index]·=·size\n······if·(this.#maxSize)·{\n········const·maxSize·=·this.#maxSize·-·(sizes[index]·as·number)\n········while·(this.#calculatedSize·>·maxSize)·{\n··········this.#evict(true)\n········}\n······}\n······this.#calculatedSize·+=·sizes[index]·as·number\n······if·(status)·{\n········status.entrySize·=·size\n········status.totalCalculatedSize·=·this.#calculatedSize\n······}\n····}\n··}\n\n··#removeItemSize:·(index:·Index)·=>·void·=·_i·=>·{}\n··#addItemSize:·(\n····index:·Index,\n····size:·LRUCache.Size,\n····status?:·LRUCache.Status<V>,\n··)·=>·void·=·(_i,·_s,·_st)·=>·{}\n··#requireSize:·(\n····k:·K,\n····v:·V·|·BackgroundFetch<V>,\n····size?:·LRUCache.Size,\n····sizeCalculation?:·LRUCache.SizeCalculator<K,·V>,\n··)·=>·LRUCache.Size·=·(\n····_k:·K,\n····_v:·V·|·BackgroundFetch<V>,\n····size?:·LRUCache.Size,\n····sizeCalculation?:·LRUCache.SizeCalculator<K,·V>,\n··)·=>·{\n····if·(size·||·sizeCalculation)·{\n······throw·new·TypeError(\n········'cannot·set·size·without·setting·maxSize·or·maxEntrySize·on·cache',\n······)\n····}\n····return·0\n··};\n\n··*#indexes({·allowStale·=·this.allowStale·}·=·{})·{\n····if·(this.#size)·{\n······for·(let·i·=·this.#tail;·true;·)·{\n········if·(!this.#isValidIndex(i))·{\n··········break\n········}\n········if·(allowStale·||·!this.#isStale(i))·{\n··········yield·i\n········}\n········if·(i·===·this.#head)·{\n··········break\n········}·else·{\n··········i·=·this.#prev[i]·as·Index\n········}\n······}\n····}\n··}\n\n··*#rindexes({·allowStale·=·this.allowStale·}·=·{})·{\n····if·(this.#size)·{\n······for·(let·i·=·this.#head;·true;·)·{\n········if·(!this.#isValidIndex(i))·{\n··········break\n········}\n········if·(allowStale·||·!this.#isStale(i))·{\n··········yield·i\n········}\n········if·(i·===·this.#tail)·{\n··········break\n········}·else·{\n··········i·=·this.#next[i]·as·Index\n········}\n······}\n····}\n··}\n\n··#isValidIndex(index:·Index)·{\n····return·(\n······index·!==·undefined·&&\n······this.#keyMap.get(this.#keyList[index]·as·K)·===·index\n····)\n··}\n\n··/**\n···*·Return·a·generator·yielding·`[key,·value]`·pairs,\n···*·in·order·from·most·recently·used·to·least·recently·used.\n···*/\n··*entries()·{\n····for·(const·i·of·this.#indexes())·{\n······if·(\n········this.#valList[i]·!==·undefined·&&\n········this.#keyList[i]·!==·undefined·&&\n········!this.#isBackgroundFetch(this.#valList[i])\n······)·{\n········yield·[this.#keyList[i],·this.#valList[i]]·as·[K,·V]\n······}\n····}\n··}\n\n··/**\n···*·Inverse·order·version·of·{@link·LRUCache.entries}\n···*\n···*·Return·a·generator·yielding·`[key,·value]`·pairs,\n···*·in·order·from·least·recently·used·to·most·recently·used.\n···*/\n··*rentries()·{\n····for·(const·i·of·this.#rindexes())·{\n······if·(\n········this.#valList[i]·!==·undefined·&&\n········this.#keyList[i]·!==·undefined·&&\n········!this.#isBackgroundFetch(this.#valList[i])\n······)·{\n········yield·[this.#keyList[i],·this.#valList[i]]\n······}\n····}\n··}\n\n··/**\n···*·Return·a·generator·yielding·the·keys·in·the·cache,\n···*·in·order·from·most·recently·used·to·least·recently·used.\n···*/\n··*keys()·{\n····for·(const·i·of·this.#indexes())·{\n······const·k·=·this.#keyList[i]\n······if·(k·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·k\n······}\n····}\n··}\n\n··/**\n···*·Inverse·order·version·of·{@link·LRUCache.keys}\n···*\n···*·Return·a·generator·yielding·the·keys·in·the·cache,\n···*·in·order·from·least·recently·used·to·most·recently·used.\n···*/\n··*rkeys()·{\n····for·(const·i·of·this.#rindexes())·{\n······const·k·=·this.#keyList[i]\n······if·(k·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·k\n······}\n····}\n··}\n\n··/**\n···*·Return·a·generator·yielding·the·values·in·the·cache,\n···*·in·order·from·most·recently·used·to·least·recently·used.\n···*/\n··*values()·{\n····for·(const·i·of·this.#indexes())·{\n······const·v·=·this.#valList[i]\n······if·(v·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·this.#valList[i]·as·V\n······}\n····}\n··}\n\n··/**\n···*·Inverse·order·version·of·{@link·LRUCache.values}\n···*\n···*·Return·a·generator·yielding·the·values·in·the·cache,\n···*·in·order·from·least·recently·used·to·most·recently·used.\n···*/\n··*rvalues()·{\n····for·(const·i·of·this.#rindexes())·{\n······const·v·=·this.#valList[i]\n······if·(v·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·this.#valList[i]\n······}\n····}\n··}\n\n··/**\n···*·Iterating·over·the·cache·itself·yields·the·same·results·as\n···*·{@link·LRUCache.entries}\n···*/\n··[Symbol.iterator]()·{\n····return·this.entries()\n··}\n\n··/**\n···*·A·String·value·that·is·used·in·the·creation·of·the·default·string\n···*·description·of·an·object.·Called·by·the·built-in·method\n···*·`Object.prototype.toString`.\n···*/\n··[Symbol.toStringTag]·=·'LRUCache'\n\n··/**\n···*·Find·a·value·for·which·the·supplied·fn·method·returns·a·truthy·value,\n···*·similar·to·`Array.find()`.·fn·is·called·as·`fn(value,·key,·cache)`.\n···*/\n··find(\n····fn:·(v:·V,·k:·K,·self:·LRUCache<K,·V,·FC>)·=>·boolean,\n····getOptions:·LRUCache.GetOptions<K,·V,·FC>·=·{},\n··)·{\n····for·(const·i·of·this.#indexes())·{\n······const·v·=·this.#valList[i]\n······const·value·=·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined)·continue\n······if·(fn(value,·this.#keyList[i]·as·K,·this))·{\n········return·this.get(this.#keyList[i]·as·K,·getOptions)\n······}\n····}\n··}\n\n··/**\n···*·Call·the·supplied·function·on·each·item·in·the·cache,·in·order·from·most\n···*·recently·used·to·least·recently·used.\n···*\n···*·`fn`·is·called·as·`fn(value,·key,·cache)`.\n···*\n···*·If·`thisp`·is·provided,·function·will·be·called·in·the·`this`-context·of\n···*·the·provided·object,·or·the·cache·if·no·`thisp`·object·is·provided.\n···*\n···*·Does·not·update·age·or·recenty·of·use,·or·iterate·over·stale·values.\n···*/\n··forEach(\n····fn:·(v:·V,·k:·K,·self:·LRUCache<K,·V,·FC>)·=>·any,\n····thisp:·any·=·this,\n··)·{\n····for·(const·i·of·this.#indexes())·{\n······const·v·=·this.#valList[i]\n······const·value·=·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined)·continue\n······fn.call(thisp,·value,·this.#keyList[i]·as·K,·this)\n····}\n··}\n\n··/**\n···*·The·same·as·{@link·LRUCache.forEach}·but·items·are·iterated·over·in\n···*·reverse·order.··(ie,·less·recently·used·items·are·iterated·over·first.)\n···*/\n··rforEach(\n····fn:·(v:·V,·k:·K,·self:·LRUCache<K,·V,·FC>)·=>·any,\n····thisp:·any·=·this,\n··)·{\n····for·(const·i·of·this.#rindexes())·{\n······const·v·=·this.#valList[i]\n······const·value·=·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined)·continue\n······fn.call(thisp,·value,·this.#keyList[i]·as·K,·this)\n····}\n··}\n\n··/**\n···*·Delete·any·stale·entries.·Returns·true·if·anything·was·removed,\n···*·false·otherwise.\n···*/\n··purgeStale()·{\n····let·deleted·=·false\n····for·(const·i·of·this.#rindexes({·allowStale:·true·}))·{\n······if·(this.#isStale(i))·{\n········this.#delete(this.#keyList[i]·as·K,·'expire')\n········deleted·=·true\n······}\n····}\n····return·deleted\n··}\n\n··/**\n···*·Get·the·extended·info·about·a·given·entry,·to·get·its·value,·size,·and\n···*·TTL·info·simultaneously.·Returns·`undefined`·if·the·key·is·not·present.\n···*\n···*·Unlike·{@link·LRUCache#dump},·which·is·designed·to·be·portable·and·survive\n···*·serialization,·the·`start`·value·is·always·the·current·timestamp,·and·the\n···*·`ttl`·is·a·calculated·remaining·time·to·live·(negative·if·expired).\n···*\n···*·Always·returns·stale·values,·if·their·info·is·found·in·the·cache,·so·be\n···*·sure·to·check·for·expirations·(ie,·a·negative·{@link·LRUCache.Entry#ttl})\n···*·if·relevant.\n···*/\n··info(key:·K):·LRUCache.Entry<V>·|·undefined·{\n····const·i·=·this.#keyMap.get(key)\n····if·(i·===·undefined)·return·undefined\n····const·v·=·this.#valList[i]\n····/*·c8·ignore·start·-·this·isn't·tested·for·the·info·function,\n·····*·but·it's·the·same·logic·as·found·in·other·places.·*/\n····const·value:·V·|·undefined·=\n······this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n····if·(value·===·undefined)·return·undefined\n····/*·c8·ignore·end·*/\n····const·entry:·LRUCache.Entry<V>·=·{·value·}\n····if·(this.#ttls·&&·this.#starts)·{\n······const·ttl·=·this.#ttls[i]\n······const·start·=·this.#starts[i]\n······if·(ttl·&&·start)·{\n········const·remain·=·ttl·-·(this.#perf.now()·-·start)\n········entry.ttl·=·remain\n········entry.start·=·Date.now()\n······}\n····}\n····if·(this.#sizes)·{\n······entry.size·=·this.#sizes[i]\n····}\n····return·entry\n··}\n\n··/**\n···*·Return·an·array·of·[key,·{@link·LRUCache.Entry}]·tuples·which·can·be\n···*·passed·to·{@link·LRUCache#load}.\n···*\n···*·The·`start`·fields·are·calculated·relative·to·a·portable·`Date.now()`\n···*·timestamp,·even·if·`performance.now()`·is·available.\n···*\n···*·Stale·entries·are·always·included·in·the·`dump`,·even·if\n···*·{@link·LRUCache.OptionsBase.allowStale}·is·false.\n···*\n···*·Note:·this·returns·an·actual·array,·not·a·generator,·so·it·can·be·more\n···*·easily·passed·around.\n···*/\n··dump()·{\n····const·arr:·[K,·LRUCache.Entry<V>][]·=·[]\n····for·(const·i·of·this.#indexes({·allowStale:·true·}))·{\n······const·key·=·this.#keyList[i]\n······const·v·=·this.#valList[i]\n······const·value:·V·|·undefined·=\n········this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined·||·key·===·undefined)·continue\n······const·entry:·LRUCache.Entry<V>·=·{·value·}\n······if·(this.#ttls·&&·this.#starts)·{\n········entry.ttl·=·this.#ttls[i]\n········//·always·dump·the·start·relative·to·a·portable·timestamp\n········//·it's·ok·for·this·to·be·a·bit·slow,·it's·a·rare·operation.\n········const·age·=·this.#perf.now()·-·(this.#starts[i]·as·number)\n········entry.start·=·Math.floor(Date.now()·-·age)\n······}\n······if·(this.#sizes)·{\n········entry.size·=·this.#sizes[i]\n······}\n······arr.unshift([key,·entry])\n····}\n····return·arr\n··}\n\n··/**\n···*·Reset·the·cache·and·load·in·the·items·in·entries·in·the·order·listed.\n···*\n···*·The·shape·of·the·resulting·cache·may·be·different·if·the·same·options·are\n···*·not·used·in·both·caches.\n···*\n···*·The·`start`·fields·are·assumed·to·be·calculated·relative·to·a·portable\n···*·`Date.now()`·timestamp,·even·if·`performance.now()`·is·available.\n···*/\n··load(arr:·[K,·LRUCache.Entry<V>][])·{\n····this.clear()\n····for·(const·[key,·entry]·of·arr)·{\n······if·(entry.start)·{\n········//·entry.start·is·a·portable·timestamp,·but·we·may·be·using\n········//·node's·performance.now(),·so·calculate·the·offset,·so·that\n········//·we·get·the·intended·remaining·TTL,·no·matter·how·long·it's\n········//·been·on·ice.\n········//\n········//·it's·ok·for·this·to·be·a·bit·slow,·it's·a·rare·operation.\n········const·age·=·Date.now()·-·entry.start\n········entry.start·=·this.#perf.now()·-·age\n······}\n······this.set(key,·entry.value,·entry)\n····}\n··}\n\n··/**\n···*·Add·a·value·to·the·cache.\n···*\n···*·Note:·if·`undefined`·is·specified·as·a·value,·this·is·an·alias·for\n···*·{@link·LRUCache#delete}\n···*\n···*·Fields·on·the·{@link·LRUCache.SetOptions}·options·param·will·override\n···*·their·corresponding·values·in·the·constructor·options·for·the·scope\n···*·of·this·single·`set()`·operation.\n···*\n···*·If·`start`·is·provided,·then·that·will·set·the·effective·start\n···*·time·for·the·TTL·calculation.·Note·that·this·must·be·a·previous\n···*·value·of·`performance.now()`·if·supported,·or·a·previous·value·of\n···*·`Date.now()`·if·not.\n···*\n···*·Options·object·may·also·include·`size`,·which·will·prevent\n···*·calling·the·`sizeCalculation`·function·and·just·use·the·specified\n···*·number·if·it·is·a·positive·integer,·and·`noDisposeOnSet`·which\n···*·will·prevent·calling·a·`dispose`·function·in·the·case·of\n···*·overwrites.\n···*\n···*·If·the·`size`·(or·return·value·of·`sizeCalculation`)·for·a·given\n···*·entry·is·greater·than·`maxEntrySize`,·then·the·item·will·not·be\n···*·added·to·the·cache.\n···*\n···*·Will·update·the·recency·of·the·entry.\n···*\n···*·If·the·value·is·`undefined`,·then·this·is·an·alias·for\n···*·`cache.delete(key)`.·`undefined`·is·never·stored·in·the·cache.\n···*/\n··set(\n····k:·K,\n····v:·V·|·BackgroundFetch<V>·|·undefined,\n····setOptions:·LRUCache.SetOptions<K,·V,·FC>·=·{},\n··)·{\n····if·(v·===·undefined)·{\n······this.delete(k)\n······return·this\n····}\n····const·{\n······ttl·=·this.ttl,\n······start,\n······noDisposeOnSet·=·this.noDisposeOnSet,\n······sizeCalculation·=·this.sizeCalculation,\n······status,\n····}·=·setOptions\n····let·{·noUpdateTTL·=·this.noUpdateTTL·}·=·setOptions\n\n····const·size·=·this.#requireSize(\n······k,\n······v,\n······setOptions.size·||·0,\n······sizeCalculation,\n····)\n····//·if·the·item·doesn't·fit,·don't·do·anything\n····//·NB:·maxEntrySize·set·to·maxSize·by·default\n····if·(this.maxEntrySize·&&·size·>·this.maxEntrySize)·{\n······if·(status)·{\n········status.set·=·'miss'\n········status.maxEntrySizeExceeded·=·true\n······}\n······//·have·to·delete,·in·case·something·is·there·already.\n······this.#delete(k,·'set')\n······return·this\n····}\n····let·index·=·this.#size·===·0·?·undefined·:·this.#keyMap.get(k)\n····if·(index·===·undefined)·{\n······//·addition\n······index·=·(\n········this.#size·===·0·?·this.#tail\n········:·this.#free.length·!==·0·?·this.#free.pop()\n········:·this.#size·===·this.#max·?·this.#evict(false)\n········:·this.#size)·as·Index\n······this.#keyList[index]·=·k\n······this.#valList[index]·=·v\n······this.#keyMap.set(k,·index)\n······this.#next[this.#tail]·=·index\n······this.#prev[index]·=·this.#tail\n······this.#tail·=·index\n······this.#size++\n······this.#addItemSize(index,·size,·status)\n······if·(status)·status.set·=·'add'\n······noUpdateTTL·=·false\n······if·(this.#hasOnInsert)·{\n········this.#onInsert?.(v·as·V,·k,·'add')\n······}\n····}·else·{\n······//·update\n······this.#moveToTail(index)\n······const·oldVal·=·this.#valList[index]·as·V·|·BackgroundFetch<V>\n······if·(v·!==·oldVal)·{\n········if·(this.#hasFetchMethod·&&·this.#isBackgroundFetch(oldVal))·{\n··········oldVal.__abortController.abort(new·Error('replaced'))\n··········const·{·__staleWhileFetching:·s·}·=·oldVal\n··········if·(s·!==·undefined·&&·!noDisposeOnSet)·{\n············if·(this.#hasDispose)·{\n··············this.#dispose?.(s·as·V,·k,·'set')\n············}\n············if·(this.#hasDisposeAfter)·{\n··············this.#disposed?.push([s·as·V,·k,·'set'])\n············}\n··········}\n········}·else·if·(!noDisposeOnSet)·{\n··········if·(this.#hasDispose)·{\n············this.#dispose?.(oldVal·as·V,·k,·'set')\n··········}\n··········if·(this.#hasDisposeAfter)·{\n············this.#disposed?.push([oldVal·as·V,·k,·'set'])\n··········}\n········}\n········this.#removeItemSize(index)\n········this.#addItemSize(index,·size,·status)\n········this.#valList[index]·=·v\n········if·(status)·{\n··········status.set·=·'replace'\n··········const·oldValue·=\n············oldVal·&&·this.#isBackgroundFetch(oldVal)·?\n··············oldVal.__staleWhileFetching\n············:·oldVal\n··········if·(oldValue·!==·undefined)·status.oldValue·=·oldValue\n········}\n······}·else·if·(status)·{\n········status.set·=·'update'\n······}\n\n······if·(this.#hasOnInsert)·{\n········this.onInsert?.(v·as·V,·k,·v·===·oldVal·?·'update'·:·'replace')\n······}\n····}\n····if·(ttl·!==·0·&&·!this.#ttls)·{\n······this.#initializeTTLTracking()\n····}\n····if·(this.#ttls)·{\n······if·(!noUpdateTTL)·{\n········this.#setItemTTL(index,·ttl,·start)\n······}\n······if·(status)·this.#statusTTL(status,·index)\n····}\n····if·(!noDisposeOnSet·&&·this.#hasDisposeAfter·&&·this.#disposed)·{\n······const·dt·=·this.#disposed\n······let·task:·DisposeTask<K,·V>·|·undefined\n······while·((task·=·dt?.shift()))·{\n········this.#disposeAfter?.(...task)\n······}\n····}\n····return·this\n··}\n\n··/**\n···*·Evict·the·least·recently·used·item,·returning·its·value·or\n···*·`undefined`·if·cache·is·empty.\n···*/\n··pop():·V·|·undefined·{\n····try·{\n······while·(this.#size)·{\n········const·val·=·this.#valList[this.#head]\n········this.#evict(true)\n········if·(this.#isBackgroundFetch(val))·{\n··········if·(val.__staleWhileFetching)·{\n············return·val.__staleWhileFetching\n··········}\n········}·else·if·(val·!==·undefined)·{\n··········return·val\n········}\n······}\n····}·finally·{\n······if·(this.#hasDisposeAfter·&&·this.#disposed)·{\n········const·dt·=·this.#disposed\n········let·task:·DisposeTask<K,·V>·|·undefined\n········while·((task·=·dt?.shift()))·{\n··········this.#disposeAfter?.(...task)\n········}\n······}\n····}\n··}\n\n··#evict(free:·boolean)·{\n····const·head·=·this.#head\n····const·k·=·this.#keyList[head]·as·K\n····const·v·=·this.#valList[head]·as·V\n····if·(this.#hasFetchMethod·&&·this.#isBackgroundFetch(v))·{\n······v.__abortController.abort(new·Error('evicted'))\n····}·else·if·(this.#hasDispose·||·this.#hasDisposeAfter)·{\n······if·(this.#hasDispose)·{\n········this.#dispose?.(v,·k,·'evict')\n······}\n······if·(this.#hasDisposeAfter)·{\n········this.#disposed?.push([v,·k,·'evict'])\n······}\n····}\n····this.#removeItemSize(head)\n····if·(this.#autopurgeTimers?.[head])·{\n······clearTimeout(this.#autopurgeTimers[head])\n······this.#autopurgeTimers[head]·=·undefined\n····}\n····//·if·we·aren't·about·to·use·the·index,·then·null·these·out\n····if·(free)·{\n······this.#keyList[head]·=·undefined\n······this.#valList[head]·=·undefined\n······this.#free.push(head)\n····}\n····if·(this.#size·===·1)·{\n······this.#head·=·this.#tail·=·0·as·Index\n······this.#free.length·=·0\n····}·else·{\n······this.#head·=·this.#next[head]·as·Index\n····}\n····this.#keyMap.delete(k)\n····this.#size--\n····return·head\n··}\n\n··/**\n···*·Check·if·a·key·is·in·the·cache,·without·updating·the·recency·of·use.\n···*·Will·return·false·if·the·item·is·stale,·even·though·it·is·technically\n···*·in·the·cache.\n···*\n···*·Check·if·a·key·is·in·the·cache,·without·updating·the·recency·of\n···*·use.·Age·is·updated·if·{@link·LRUCache.OptionsBase.updateAgeOnHas}·is·set\n···*·to·`true`·in·either·the·options·or·the·constructor.\n···*\n···*·Will·return·`false`·if·the·item·is·stale,·even·though·it·is·technically·in\n···*·the·cache.·The·difference·can·be·determined·(if·it·matters)·by·using·a\n···*·`status`·argument,·and·inspecting·the·`has`·field.\n···*\n···*·Will·not·update·item·age·unless\n···*·{@link·LRUCache.OptionsBase.updateAgeOnHas}·is·set.\n···*/\n··has(k:·K,·hasOptions:·LRUCache.HasOptions<K,·V,·FC>·=·{})·{\n····const·{·updateAgeOnHas·=·this.updateAgeOnHas,·status·}·=·hasOptions\n····const·index·=·this.#keyMap.get(k)\n····if·(index·!==·undefined)·{\n······const·v·=·this.#valList[index]\n······if·(\n········this.#isBackgroundFetch(v)·&&\n········v.__staleWhileFetching·===·undefined\n······)·{\n········return·false\n······}\n······if·(!this.#isStale(index))·{\n········if·(updateAgeOnHas)·{\n··········this.#updateItemAge(index)\n········}\n········if·(status)·{\n··········status.has·=·'hit'\n··········this.#statusTTL(status,·index)\n········}\n········return·true\n······}·else·if·(status)·{\n········status.has·=·'stale'\n········this.#statusTTL(status,·index)\n······}\n····}·else·if·(status)·{\n······status.has·=·'miss'\n····}\n····return·false\n··}\n\n··/**\n···*·Like·{@link·LRUCache#get}·but·doesn't·update·recency·or·delete·stale\n···*·items.\n···*\n···*·Returns·`undefined`·if·the·item·is·stale,·unless\n···*·{@link·LRUCache.OptionsBase.allowStale}·is·set.\n···*/\n··peek(k:·K,·peekOptions:·LRUCache.PeekOptions<K,·V,·FC>·=·{})·{\n····const·{·allowStale·=·this.allowStale·}·=·peekOptions\n····const·index·=·this.#keyMap.get(k)\n····if·(index·===·undefined·||·(!allowStale·&&·this.#isStale(index)))·{\n······return\n····}\n····const·v·=·this.#valList[index]\n····//·either·stale·and·allowed,·or·forcing·a·refresh·of·non-stale·value\n····return·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n··}\n\n··#backgroundFetch(\n····k:·K,\n····index:·Index·|·undefined,\n····options:·LRUCache.FetchOptions<K,·V,·FC>,\n····context:·any,\n··):·BackgroundFetch<V>·{\n····const·v·=·index·===·undefined·?·undefined·:·this.#valList[index]\n····if·(this.#isBackgroundFetch(v))·{\n······return·v\n····}\n\n····const·ac·=·new·AC()\n····const·{·signal·}·=·options\n····//·when/if·our·AC·signals,·then·stop·listening·to·theirs.\n····signal?.addEventListener('abort',·()·=>·ac.abort(signal.reason),·{\n······signal:·ac.signal,\n····})\n\n····const·fetchOpts·=·{\n······signal:·ac.signal,\n······options,\n······context,\n····}\n\n····const·cb·=·(v:·V·|·undefined,·updateCache·=·false):·V·|·undefined·=>·{\n······const·{·aborted·}·=·ac.signal\n······const·ignoreAbort·=·options.ignoreFetchAbort·&&·v·!==·undefined\n······const·proceed·=·options.ignoreFetchAbort·||\n········!!(options.allowStaleOnFetchAbort·&&·v·!==·undefined)\n······if·(options.status)·{\n········if·(aborted·&&·!updateCache)·{\n··········options.status.fetchAborted·=·true\n··········options.status.fetchError·=·ac.signal.reason\n··········if·(ignoreAbort)·options.status.fetchAbortIgnored·=·true\n········}·else·{\n··········options.status.fetchResolved·=·true\n········}\n······}\n······if·(aborted·&&·!ignoreAbort·&&·!updateCache)·{\n········return·fetchFail(ac.signal.reason,·proceed)\n······}\n······//·either·we·didn't·abort,·and·are·still·here,·or·we·did,·and·ignored\n······const·bf·=·p·as·BackgroundFetch<V>\n······//·if·nothing·else·has·been·written·there·but·we're·set·to·update·the\n······//·cache·and·ignore·the·abort,·or·if·it's·still·pending·on·this·specific\n······//·background·request,·then·write·it·to·the·cache.\n······const·vl·=·this.#valList[index·as·Index]\n······if·(vl·===·p·||·(ignoreAbort·&&·updateCache·&&·vl·===·undefined))·{\n········if·(v·===·undefined)·{\n··········if·(bf.__staleWhileFetching·!==·undefined)·{\n············this.#valList[index·as·Index]·=·bf.__staleWhileFetching\n··········}·else·{\n············this.#delete(k,·'fetch')\n··········}\n········}·else·{\n··········if·(options.status)·options.status.fetchUpdated·=·true\n··········this.set(k,·v,·fetchOpts.options)\n········}\n······}\n······return·v\n····}\n\n····const·eb·=·(er:·any)·=>·{\n······if·(options.status)·{\n········options.status.fetchRejected·=·true\n········options.status.fetchError·=·er\n······}\n······//·do·not·pass·go,·do·not·collect·$200\n······return·fetchFail(er,·false)\n····}\n\n····const·fetchFail·=·(er:·any,·proceed:·boolean):·V·|·undefined·=>·{\n······const·{·aborted·}·=·ac.signal\n······const·allowStaleAborted·=·aborted·&&·options.allowStaleOnFetchAbort\n······const·allowStale·=\n········allowStaleAborted·||·options.allowStaleOnFetchRejection\n······const·noDelete·=·allowStale·||·options.noDeleteOnFetchRejection\n······const·bf·=·p·as·BackgroundFetch<V>\n······if·(this.#valList[index·as·Index]·===·p)·{\n········//·if·we·allow·stale·on·fetch·rejections,·then·we·need·to·ensure·that\n········//·the·stale·value·is·not·removed·from·the·cache·when·the·fetch·fails.\n········const·del·=·!noDelete·||\n··········!proceed·&&·bf.__staleWhileFetching·===·undefined\n········if·(del)·{\n··········this.#delete(k,·'fetch')\n········}·else·if·(!allowStaleAborted)·{\n··········//·still·replace·the·*promise*·with·the·stale·value,\n··········//·since·we·are·done·with·the·promise·at·this·point.\n··········//·leave·it·untouched·if·we're·still·waiting·for·an\n··········//·aborted·background·fetch·that·hasn't·yet·returned.\n··········this.#valList[index·as·Index]·=·bf.__staleWhileFetching\n········}\n······}\n······if·(allowStale)·{\n········if·(options.status·&&·bf.__staleWhileFetching·!==·undefined)·{\n··········options.status.returnedStale·=·true\n········}\n········return·bf.__staleWhileFetching\n······}·else·if·(bf.__returned·===·bf)·{\n········throw·er\n······}\n····}\n\n····const·pcall·=·(\n······res:·(v:·V·|·undefined)·=>·void,\n······rej:·(e:·any)·=>·void,\n····)·=>·{\n······const·fmp·=·this.#fetchMethod?.(k,·v,·fetchOpts)\n······if·(fmp·&&·fmp·instanceof·Promise)·{\n········fmp.then(v·=>·res(v·===·undefined·?·undefined·:·v),·rej)\n······}\n······//·ignored,·we·go·until·we·finish,·regardless.\n······//·defer·check·until·we·are·actually·aborting,\n······//·so·fetchMethod·can·override.\n······ac.signal.addEventListener('abort',·()·=>·{\n········if·(!options.ignoreFetchAbort·||·options.allowStaleOnFetchAbort)·{\n··········res(undefined)\n··········//·when·it·eventually·resolves,·update·the·cache.\n··········if·(options.allowStaleOnFetchAbort)·{\n············res·=·v·=>·cb(v,·true)\n··········}\n········}\n······})\n····}\n\n····if·(options.status)·options.status.fetchDispatched·=·true\n····const·p·=·new·Promise(pcall).then(cb,·eb)\n····const·bf:·BackgroundFetch<V>·=·Object.assign(p,·{\n······__abortController:·ac,\n······__staleWhileFetching:·v,\n······__returned:·undefined,\n····})\n\n····if·(index·===·undefined)·{\n······//·internal,·don't·expose·status.\n······this.set(k,·bf,·{·...fetchOpts.options,·status:·undefined·})\n······index·=·this.#keyMap.get(k)\n····}·else·{\n······this.#valList[index]·=·bf\n····}\n····return·bf\n··}\n\n··#isBackgroundFetch(p:·any):·p·is·BackgroundFetch<V>·{\n····if·(!this.#hasFetchMethod)·return·false\n····const·b·=·p·as·BackgroundFetch<V>\n····return·(\n······!!b·&&\n······b·instanceof·Promise·&&\n······b.hasOwnProperty('__staleWhileFetching')·&&\n······b.__abortController·instanceof·AC\n····)\n··}\n\n··/**\n···*·Make·an·asynchronous·cached·fetch·using·the\n···*·{@link·LRUCache.OptionsBase.fetchMethod}·function.\n···*\n···*·If·the·value·is·in·the·cache·and·not·stale,·then·the·returned\n···*·Promise·resolves·to·the·value.\n···*\n···*·If·not·in·the·cache,·or·beyond·its·TTL·staleness,·then\n···*·`fetchMethod(key,·staleValue,·{·options,·signal,·context·})`·is\n···*·called,·and·the·value·returned·will·be·added·to·the·cache·once\n···*·resolved.\n···*\n···*·If·called·with·`allowStale`,·and·an·asynchronous·fetch·is\n···*·currently·in·progress·to·reload·a·stale·value,·then·the·former\n···*·stale·value·will·be·returned.\n···*\n···*·If·called·with·`forceRefresh`,·then·the·cached·item·will·be\n···*·re-fetched,·even·if·it·is·not·stale.·However,·if·`allowStale`·is·also\n···*·set,·then·the·old·value·will·still·be·returned.·This·is·useful\n···*·in·cases·where·you·want·to·force·a·reload·of·a·cached·value.·If\n···*·a·background·fetch·is·already·in·progress,·then·`forceRefresh`\n···*·has·no·effect.\n···*\n···*·If·multiple·fetches·for·the·same·key·are·issued,·then·they·will·all·be\n···*·coalesced·into·a·single·call·to·fetchMethod.\n···*\n···*·Note·that·this·means·that·handling·options·such·as\n···*·{@link·LRUCache.OptionsBase.allowStaleOnFetchAbort},\n···*·{@link·LRUCache.FetchOptions.signal},\n···*·and·{@link·LRUCache.OptionsBase.allowStaleOnFetchRejection}·will·be\n···*·determined·by·the·FIRST·fetch()·call·for·a·given·key.\n···*\n···*·This·is·a·known·(fixable)·shortcoming·which·will·be·addresed·on·when\n···*·someone·complains·about·it,·as·the·fix·would·involve·added·complexity·and\n···*·may·not·be·worth·the·costs·for·this·edge·case.\n···*\n···*·If·{@link·LRUCache.OptionsBase.fetchMethod}·is·not·specified,·then·this·is\n···*·effectively·an·alias·for·`Promise.resolve(cache.get(key))`.\n···*\n···*·When·the·fetch·method·resolves·to·a·value,·if·the·fetch·has·not\n···*·been·aborted·due·to·deletion,·eviction,·or·being·overwritten,\n···*·then·it·is·added·to·the·cache·using·the·options·provided.\n···*\n···*·If·the·key·is·evicted·or·deleted·before·the·`fetchMethod`\n···*·resolves,·then·the·AbortSignal·passed·to·the·`fetchMethod`·will\n···*·receive·an·`abort`·event,·and·the·promise·returned·by·`fetch()`\n···*·will·reject·with·the·reason·for·the·abort.\n···*\n···*·If·a·`signal`·is·passed·to·the·`fetch()`·call,·then·aborting·the\n···*·signal·will·abort·the·fetch·and·cause·the·`fetch()`·promise·to\n···*·reject·with·the·reason·provided.\n···*\n···*·**Setting·`context`**\n···*\n···*·If·an·`FC`·type·is·set·to·a·type·other·than·`unknown`,·`void`,·or\n···*·`undefined`·in·the·{@link·LRUCache}·constructor,·then·all\n···*·calls·to·`cache.fetch()`·_must_·provide·a·`context`·option.·If\n···*·set·to·`undefined`·or·`void`,·then·calls·to·fetch·_must·not_\n···*·provide·a·`context`·option.\n···*\n···*·The·`context`·param·allows·you·to·provide·arbitrary·data·that\n···*·might·be·relevant·in·the·course·of·fetching·the·data.·It·is·only\n···*·relevant·for·the·course·of·a·single·`fetch()`·operation,·and\n···*·discarded·afterwards.\n···*\n···*·**Note:·`fetch()`·calls·are·inflight-unique**\n···*\n···*·If·you·call·`fetch()`·multiple·times·with·the·same·key·value,\n···*·then·every·call·after·the·first·will·resolve·on·the·same\n···*·promise<sup>1</sup>,\n···*·_even·if·they·have·different·settings·that·would·otherwise·change\n···*·the·behavior·of·the·fetch_,·such·as·`noDeleteOnFetchRejection`\n···*·or·`ignoreFetchAbort`.\n···*\n···*·In·most·cases,·this·is·not·a·problem·(in·fact,·only·fetching\n···*·something·once·is·what·you·probably·want,·if·you're·caching·in\n···*·the·first·place).·If·you·are·changing·the·fetch()·options\n···*·dramatically·between·runs,·there's·a·good·chance·that·you·might\n···*·be·trying·to·fit·divergent·semantics·into·a·single·object,·and\n···*·would·be·better·off·with·multiple·cache·instances.\n···*\n···*·**1**:·Ie,·they're·not·the·\"same·Promise\",·but·they·resolve·at\n···*·the·same·time,·because·they're·both·waiting·on·the·same\n···*·underlying·fetchMethod·response.\n···*/\n\n··fetch(\n····k:·K,\n····fetchOptions:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·LRUCache.FetchOptionsWithContext<K,·V,·FC>,\n··):·Promise<undefined·|·V>\n\n··//·this·overload·not·allowed·if·context·is·required\n··fetch(\n····k:·unknown·extends·FC·?·K\n····:·FC·extends·undefined·|·void·?·K\n····:·never,\n····fetchOptions?:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·never,\n··):·Promise<undefined·|·V>\n\n··async·fetch(\n····k:·K,\n····fetchOptions:·LRUCache.FetchOptions<K,·V,·FC>·=·{},\n··):·Promise<undefined·|·V>·{\n····const·{\n······//·get·options\n······allowStale·=·this.allowStale,\n······updateAgeOnGet·=·this.updateAgeOnGet,\n······noDeleteOnStaleGet·=·this.noDeleteOnStaleGet,\n······//·set·options\n······ttl·=·this.ttl,\n······noDisposeOnSet·=·this.noDisposeOnSet,\n······size·=·0,\n······sizeCalculation·=·this.sizeCalculation,\n······noUpdateTTL·=·this.noUpdateTTL,\n······//·fetch·exclusive·options\n······noDeleteOnFetchRejection·=·this.noDeleteOnFetchRejection,\n······allowStaleOnFetchRejection·=·this.allowStaleOnFetchRejection,\n······ignoreFetchAbort·=·this.ignoreFetchAbort,\n······allowStaleOnFetchAbort·=·this.allowStaleOnFetchAbort,\n······context,\n······forceRefresh·=·false,\n······status,\n······signal,\n····}·=·fetchOptions\n\n····if·(!this.#hasFetchMethod)·{\n······if·(status)·status.fetch·=·'get'\n······return·this.get(k,·{\n········allowStale,\n········updateAgeOnGet,\n········noDeleteOnStaleGet,\n········status,\n······})\n····}\n\n····const·options·=·{\n······allowStale,\n······updateAgeOnGet,\n······noDeleteOnStaleGet,\n······ttl,\n······noDisposeOnSet,\n······size,\n······sizeCalculation,\n······noUpdateTTL,\n······noDeleteOnFetchRejection,\n······allowStaleOnFetchRejection,\n······allowStaleOnFetchAbort,\n······ignoreFetchAbort,\n······status,\n······signal,\n····}\n\n····let·index·=·this.#keyMap.get(k)\n····if·(index·===·undefined)·{\n······if·(status)·status.fetch·=·'miss'\n······const·p·=·this.#backgroundFetch(k,·index,·options,·context)\n······return·(p.__returned·=·p)\n····}·else·{\n······//·in·cache,·maybe·already·fetching\n······const·v·=·this.#valList[index]\n······if·(this.#isBackgroundFetch(v))·{\n········const·stale·=·allowStale·&&·v.__staleWhileFetching·!==·undefined\n········if·(status)·{\n··········status.fetch·=·'inflight'\n··········if·(stale)·status.returnedStale·=·true\n········}\n········return·stale·?·v.__staleWhileFetching·:·(v.__returned·=·v)\n······}\n\n······//·if·we·force·a·refresh,·that·means·do·NOT·serve·the·cached·value,\n······//·unless·we·are·already·in·the·process·of·refreshing·the·cache.\n······const·isStale·=·this.#isStale(index)\n······if·(!forceRefresh·&&·!isStale)·{\n········if·(status)·status.fetch·=·'hit'\n········this.#moveToTail(index)\n········if·(updateAgeOnGet)·{\n··········this.#updateItemAge(index)\n········}\n········if·(status)·this.#statusTTL(status,·index)\n········return·v\n······}\n\n······//·ok,·it·is·stale·or·a·forced·refresh,·and·not·already·fetching.\n······//·refresh·the·cache.\n······const·p·=·this.#backgroundFetch(k,·index,·options,·context)\n······const·hasStale·=·p.__staleWhileFetching·!==·undefined\n······const·staleVal·=·hasStale·&&·allowStale\n······if·(status)·{\n········status.fetch·=·isStale·?·'stale'·:·'refresh'\n········if·(staleVal·&&·isStale)·status.returnedStale·=·true\n······}\n······return·staleVal·?·p.__staleWhileFetching·:·(p.__returned·=·p)\n····}\n··}\n\n··/**\n···*·In·some·cases,·`cache.fetch()`·may·resolve·to·`undefined`,·either·because\n···*·a·{@link·LRUCache.OptionsBase#fetchMethod}·was·not·provided·(turning\n···*·`cache.fetch(k)`·into·just·an·async·wrapper·around·`cache.get(k)`)·or\n···*·because·`ignoreFetchAbort`·was·specified·(either·to·the·constructor·or\n···*·in·the·{@link·LRUCache.FetchOptions}).·Also,·the\n···*·{@link·LRUCache.OptionsBase.fetchMethod}·may·return·`undefined`·or·`void`,·making\n···*·the·test·even·more·complicated.\n···*\n···*·Because·inferring·the·cases·where·`undefined`·might·be·returned·are·so\n···*·cumbersome,·but·testing·for·`undefined`·can·also·be·annoying,·this·method\n···*·can·be·used,·which·will·reject·if·`this.fetch()`·resolves·to·undefined.\n···*/\n··forceFetch(\n····k:·K,\n····fetchOptions:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·LRUCache.FetchOptionsWithContext<K,·V,·FC>,\n··):·Promise<V>\n··//·this·overload·not·allowed·if·context·is·required\n··forceFetch(\n····k:·unknown·extends·FC·?·K\n····:·FC·extends·undefined·|·void·?·K\n····:·never,\n····fetchOptions?:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·never,\n··):·Promise<V>\n··async·forceFetch(\n····k:·K,\n····fetchOptions:·LRUCache.FetchOptions<K,·V,·FC>·=·{},\n··):·Promise<V>·{\n····const·v·=·await·this.fetch(\n······k,\n······fetchOptions·as·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n······:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n······:·LRUCache.FetchOptionsWithContext<K,·V,·FC>,\n····)\n····if·(v·===·undefined)·throw·new·Error('fetch()·returned·undefined')\n····return·v\n··}\n\n··/**\n···*·If·the·key·is·found·in·the·cache,·then·this·is·equivalent·to\n···*·{@link·LRUCache#get}.·If·not,·in·the·cache,·then·calculate·the·value·using\n···*·the·{@link·LRUCache.OptionsBase.memoMethod},·and·add·it·to·the·cache.\n···*\n···*·If·an·`FC`·type·is·set·to·a·type·other·than·`unknown`,·`void`,·or\n···*·`undefined`·in·the·LRUCache·constructor,·then·all·calls·to·`cache.memo()`\n···*·_must_·provide·a·`context`·option.·If·set·to·`undefined`·or·`void`,·then\n···*·calls·to·memo·_must·not_·provide·a·`context`·option.\n···*\n···*·The·`context`·param·allows·you·to·provide·arbitrary·data·that·might·be\n···*·relevant·in·the·course·of·fetching·the·data.·It·is·only·relevant·for·the\n···*·course·of·a·single·`memo()`·operation,·and·discarded·afterwards.\n···*/\n··memo(\n····k:·K,\n····memoOptions:·unknown·extends·FC·?·LRUCache.MemoOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.MemoOptionsNoContext<K,·V>\n····:·LRUCache.MemoOptionsWithContext<K,·V,·FC>,\n··):·V\n··//·this·overload·not·allowed·if·context·is·required\n··memo(\n····k:·unknown·extends·FC·?·K\n····:·FC·extends·undefined·|·void·?·K\n····:·never,\n····memoOptions?:·unknown·extends·FC·?·LRUCache.MemoOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.MemoOptionsNoContext<K,·V>\n····:·never,\n··):·V\n··memo(k:·K,·memoOptions:·LRUCache.MemoOptions<K,·V,·FC>·=·{})·{\n····const·memoMethod·=·this.#memoMethod\n····if·(!memoMethod)·{\n······throw·new·Error('no·memoMethod·provided·to·constructor')\n····}\n····const·{·context,·forceRefresh,·...options·}·=·memoOptions\n····const·v·=·this.get(k,·options)\n····if·(!forceRefresh·&&·v·!==·undefined)·return·v\n····const·vv·=·memoMethod(k,·v,·{\n······options,\n······context,\n····}·as·LRUCache.MemoizerOptions<K,·V,·FC>)\n····this.set(k,·vv,·options)\n····return·vv\n··}\n\n··/**\n···*·Return·a·value·from·the·cache.·Will·update·the·recency·of·the·cache\n···*·entry·found.\n···*\n···*·If·the·key·is·not·found,·get()·will·return·`undefined`.\n···*/\n··get(k:·K,·getOptions:·LRUCache.GetOptions<K,·V,·FC>·=·{})·{\n····const·{\n······allowStale·=·this.allowStale,\n······updateAgeOnGet·=·this.updateAgeOnGet,\n······noDeleteOnStaleGet·=·this.noDeleteOnStaleGet,\n······status,\n····}·=·getOptions\n····const·index·=·this.#keyMap.get(k)\n····if·(index·!==·undefined)·{\n······const·value·=·this.#valList[index]\n······const·fetching·=·this.#isBackgroundFetch(value)\n······if·(status)·this.#statusTTL(status,·index)\n······if·(this.#isStale(index))·{\n········if·(status)·status.get·=·'stale'\n········//·delete·only·if·not·an·in-flight·background·fetch\n········if·(!fetching)·{\n··········if·(!noDeleteOnStaleGet)·{\n············this.#delete(k,·'expire')\n··········}\n··········if·(status·&&·allowStale)·status.returnedStale·=·true\n··········return·allowStale·?·value·:·undefined\n········}·else·{\n··········if·(\n············status·&&\n············allowStale·&&\n············value.__staleWhileFetching·!==·undefined\n··········)·{\n············status.returnedStale·=·true\n··········}\n··········return·allowStale·?·value.__staleWhileFetching·:·undefined\n········}\n······}·else·{\n········if·(status)·status.get·=·'hit'\n········//·if·we're·currently·fetching·it,·we·don't·actually·have·it·yet\n········//·it's·not·stale,·which·means·this·isn't·a·staleWhileRefetching.\n········//·If·it's·not·stale,·and·fetching,·AND·has·a·__staleWhileFetching\n········//·value,·then·that·means·the·user·fetched·with·{forceRefresh:true},\n········//·so·it's·safe·to·return·that·value.\n········if·(fetching)·{\n··········return·value.__staleWhileFetching\n········}\n········this.#moveToTail(index)\n········if·(updateAgeOnGet)·{\n··········this.#updateItemAge(index)\n········}\n········return·value\n······}\n····}·else·if·(status)·{\n······status.get·=·'miss'\n····}\n··}\n\n··#connect(p:·Index,·n:·Index)·{\n····this.#prev[n]·=·p\n····this.#next[p]·=·n\n··}\n\n··#moveToTail(index:·Index):·void·{\n····//·if·tail·already,·nothing·to·do\n····//·if·head,·move·head·to·next[index]\n····//·else\n····//···move·next[prev[index]]·to·next[index]·(head·has·no·prev)\n····//···move·prev[next[index]]·to·prev[index]\n····//·prev[index]·=·tail\n····//·next[tail]·=·index\n····//·tail·=·index\n····if·(index·!==·this.#tail)·{\n······if·(index·===·this.#head)·{\n········this.#head·=·this.#next[index]·as·Index\n······}·else·{\n········this.#connect(\n··········this.#prev[index]·as·Index,\n··········this.#next[index]·as·Index,\n········)\n······}\n······this.#connect(this.#tail,·index)\n······this.#tail·=·index\n····}\n··}\n\n··/**\n···*·Deletes·a·key·out·of·the·cache.\n···*\n···*·Returns·true·if·the·key·was·deleted,·false·otherwise.\n···*/\n··delete(k:·K)·{\n····return·this.#delete(k,·'delete')\n··}\n\n··#delete(k:·K,·reason:·LRUCache.DisposeReason)·{\n····let·deleted·=·false\n····if·(this.#size·!==·0)·{\n······const·index·=·this.#keyMap.get(k)\n······if·(index·!==·undefined)·{\n········if·(this.#autopurgeTimers?.[index])·{\n··········clearTimeout(this.#autopurgeTimers?.[index])\n··········this.#autopurgeTimers[index]·=·undefined\n········}\n········deleted·=·true\n········if·(this.#size·===·1)·{\n··········this.#clear(reason)\n········}·else·{\n··········this.#removeItemSize(index)\n··········const·v·=·this.#valList[index]\n··········if·(this.#isBackgroundFetch(v))·{\n············v.__abortController.abort(new·Error('deleted'))\n··········}·else·if·(this.#hasDispose·||·this.#hasDisposeAfter)·{\n············if·(this.#hasDispose)·{\n··············this.#dispose?.(v·as·V,·k,·reason)\n············}\n············if·(this.#hasDisposeAfter)·{\n··············this.#disposed?.push([v·as·V,·k,·reason])\n············}\n··········}\n··········this.#keyMap.delete(k)\n··········this.#keyList[index]·=·undefined\n··········this.#valList[index]·=·undefined\n··········if·(index·===·this.#tail)·{\n············this.#tail·=·this.#prev[index]·as·Index\n··········}·else·if·(index·===·this.#head)·{\n············this.#head·=·this.#next[index]·as·Index\n··········}·else·{\n············const·pi·=·this.#prev[index]·as·number\n············this.#next[pi]·=·this.#next[index]·as·number\n············const·ni·=·this.#next[index]·as·number\n············this.#prev[ni]·=·this.#prev[index]·as·number\n··········}\n··········this.#size--\n··········this.#free.push(index)\n········}\n······}\n····}\n····if·(this.#hasDisposeAfter·&&·this.#disposed?.length)·{\n······const·dt·=·this.#disposed\n······let·task:·DisposeTask<K,·V>·|·undefined\n······while·((task·=·dt?.shift()))·{\n········this.#disposeAfter?.(...task)\n······}\n····}\n····return·deleted\n··}\n\n··/**\n···*·Clear·the·cache·entirely,·throwing·away·all·values.\n···*/\n··clear()·{\n····return·this.#clear('delete')\n··}\n··#clear(reason:·LRUCache.DisposeReason)·{\n····for·(const·index·of·this.#rindexes({·allowStale:·true·}))·{\n······const·v·=·this.#valList[index]\n······if·(this.#isBackgroundFetch(v))·{\n········v.__abortController.abort(new·Error('deleted'))\n······}·else·{\n········const·k·=·this.#keyList[index]\n········if·(this.#hasDispose)·{\n··········this.#dispose?.(v·as·V,·k·as·K,·reason)\n········}\n········if·(this.#hasDisposeAfter)·{\n··········this.#disposed?.push([v·as·V,·k·as·K,·reason])\n········}\n······}\n····}\n\n····this.#keyMap.clear()\n····this.#valList.fill(undefined)\n····this.#keyList.fill(undefined)\n····if·(this.#ttls·&&·this.#starts)·{\n······this.#ttls.fill(0)\n······this.#starts.fill(0)\n······for·(const·t·of·this.#autopurgeTimers·??·[])·{\n········if·(t·!==·undefined)·clearTimeout(t)\n······}\n······this.#autopurgeTimers?.fill(undefined)\n····}\n····if·(this.#sizes)·{\n······this.#sizes.fill(0)\n····}\n····this.#head·=·0·as·Index\n····this.#tail·=·0·as·Index\n····this.#free.length·=·0\n····this.#calculatedSize·=·0\n····this.#size·=·0\n····if·(this.#hasDisposeAfter·&&·this.#disposed)·{\n······const·dt·=·this.#disposed\n······let·task:·DisposeTask<K,·V>·|·undefined\n······while·((task·=·dt?.shift()))·{\n········this.#disposeAfter?.(...task)\n······}\n····}\n··}\n}\n",
1003 ········"const·proc·=\n··typeof·process·===·'object'·&&·process\n····?·process\n····:·{\n········stdout:·null,\n········stderr:·null,\n······}\nimport·{·EventEmitter·}·from·'node:events'\nimport·Stream·from·'node:stream'\nimport·{·StringDecoder·}·from·'node:string_decoder'\n\n/**\n·*·Same·as·StringDecoder,·but·exposing·the·`lastNeed`·flag·on·the·type\n·*/\ntype·SD·=·StringDecoder·&·{·lastNeed:·boolean·}\n\nexport·type·{·SD,·Pipe,·PipeProxyErrors·}\n\n/**\n·*·Return·true·if·the·argument·is·a·Minipass·stream,·Node·stream,·or·something\n·*·else·that·Minipass·can·interact·with.\n·*/\nexport·const·isStream·=·(\n··s:·any\n):·s·is·Minipass.Readable·|·Minipass.Writable·=>\n··!!s·&&\n··typeof·s·===·'object'·&&\n··(s·instanceof·Minipass·||\n····s·instanceof·Stream·||\n····isReadable(s)·||\n····isWritable(s))\n\n/**\n·*·Return·true·if·the·argument·is·a·valid·{@link·Minipass.Readable}\n·*/\nexport·const·isReadable·=·(s:·any):·s·is·Minipass.Readable·=>\n··!!s·&&\n··typeof·s·===·'object'·&&\n··s·instanceof·EventEmitter·&&\n··typeof·(s·as·Minipass.Readable).pipe·===·'function'·&&\n··//·node·core·Writable·streams·have·a·pipe()·method,·but·it·throws\n··(s·as·Minipass.Readable).pipe·!==·Stream.Writable.prototype.pipe\n\n/**\n·*·Return·true·if·the·argument·is·a·valid·{@link·Minipass.Writable}\n·*/\nexport·const·isWritable·=·(s:·any):·s·is·Minipass.Readable·=>\n··!!s·&&\n··typeof·s·===·'object'·&&\n··s·instanceof·EventEmitter·&&\n··typeof·(s·as·Minipass.Writable).write·===·'function'·&&\n··typeof·(s·as·Minipass.Writable).end·===·'function'\n\nconst·EOF·=·Symbol('EOF')\nconst·MAYBE_EMIT_END·=·Symbol('maybeEmitEnd')\nconst·EMITTED_END·=·Symbol('emittedEnd')\nconst·EMITTING_END·=·Symbol('emittingEnd')\nconst·EMITTED_ERROR·=·Symbol('emittedError')\nconst·CLOSED·=·Symbol('closed')\nconst·READ·=·Symbol('read')\nconst·FLUSH·=·Symbol('flush')\nconst·FLUSHCHUNK·=·Symbol('flushChunk')\nconst·ENCODING·=·Symbol('encoding')\nconst·DECODER·=·Symbol('decoder')\nconst·FLOWING·=·Symbol('flowing')\nconst·PAUSED·=·Symbol('paused')\nconst·RESUME·=·Symbol('resume')\nconst·BUFFER·=·Symbol('buffer')\nconst·PIPES·=·Symbol('pipes')\nconst·BUFFERLENGTH·=·Symbol('bufferLength')\nconst·BUFFERPUSH·=·Symbol('bufferPush')\nconst·BUFFERSHIFT·=·Symbol('bufferShift')\nconst·OBJECTMODE·=·Symbol('objectMode')\n//·internal·event·when·stream·is·destroyed\nconst·DESTROYED·=·Symbol('destroyed')\n//·internal·event·when·stream·has·an·error\nconst·ERROR·=·Symbol('error')\nconst·EMITDATA·=·Symbol('emitData')\nconst·EMITEND·=·Symbol('emitEnd')\nconst·EMITEND2·=·Symbol('emitEnd2')\nconst·ASYNC·=·Symbol('async')\nconst·ABORT·=·Symbol('abort')\nconst·ABORTED·=·Symbol('aborted')\nconst·SIGNAL·=·Symbol('signal')\nconst·DATALISTENERS·=·Symbol('dataListeners')\nconst·DISCARDED·=·Symbol('discarded')\n\nconst·defer·=·(fn:·(...a:·any[])·=>·any)·=>·Promise.resolve().then(fn)\nconst·nodefer·=·(fn:·(...a:·any[])·=>·any)·=>·fn()\n\n//·events·that·mean·'the·stream·is·over'\n//·these·are·treated·specially,·and·re-emitted\n//·if·they·are·listened·for·after·emitting.\ntype·EndishEvent·=·'end'·|·'finish'·|·'prefinish'\nconst·isEndish·=·(ev:·any):·ev·is·EndishEvent·=>\n··ev·===·'end'·||·ev·===·'finish'·||·ev·===·'prefinish'\n\nconst·isArrayBufferLike·=·(b:·any):·b·is·ArrayBufferLike·=>\n··b·instanceof·ArrayBuffer·||\n··(!!b·&&\n····typeof·b·===·'object'·&&\n····b.constructor·&&\n····b.constructor.name·===·'ArrayBuffer'·&&\n····b.byteLength·>=·0)\n\nconst·isArrayBufferView·=·(b:·any):·b·is·ArrayBufferView·=>\n··!Buffer.isBuffer(b)·&&·ArrayBuffer.isView(b)\n\n/**\n·*·Options·that·may·be·passed·to·stream.pipe()\n·*/\nexport·interface·PipeOptions·{\n··/**\n···*·end·the·destination·stream·when·the·source·stream·ends\n···*/\n··end?:·boolean\n··/**\n···*·proxy·errors·from·the·source·stream·to·the·destination·stream\n···*/\n··proxyErrors?:·boolean\n}\n\n/**\n·*·Internal·class·representing·a·pipe·to·a·destination·stream.\n·*\n·*·@internal\n·*/\nclass·Pipe<T·extends·unknown>·{\n··src:·Minipass<T>\n··dest:·Minipass<any,·T>\n··opts:·PipeOptions\n··ondrain:·()·=>·any\n··constructor(\n····src:·Minipass<T>,\n····dest:·Minipass.Writable,\n····opts:·PipeOptions\n··)·{\n····this.src·=·src\n····this.dest·=·dest·as·Minipass<any,·T>\n····this.opts·=·opts\n····this.ondrain·=·()·=>·src[RESUME]()\n····this.dest.on('drain',·this.ondrain)\n··}\n··unpipe()·{\n····this.dest.removeListener('drain',·this.ondrain)\n··}\n··//·only·here·for·the·prototype\n··/*·c8·ignore·start·*/\n··proxyErrors(_er:·any)·{}\n··/*·c8·ignore·stop·*/\n··end()·{\n····this.unpipe()\n····if·(this.opts.end)·this.dest.end()\n··}\n}\n\n/**\n·*·Internal·class·representing·a·pipe·to·a·destination·stream·where\n·*·errors·are·proxied.\n·*\n·*·@internal\n·*/\nclass·PipeProxyErrors<T>·extends·Pipe<T>·{\n··unpipe()·{\n····this.src.removeListener('error',·this.proxyErrors)\n····super.unpipe()\n··}\n··constructor(\n····src:·Minipass<T>,\n····dest:·Minipass.Writable,\n····opts:·PipeOptions\n··)·{\n····super(src,·dest,·opts)\n····this.proxyErrors·=·er·=>·dest.emit('error',·er)\n····src.on('error',·this.proxyErrors)\n··}\n}\n\nexport·namespace·Minipass·{\n··/**\n···*·Encoding·used·to·create·a·stream·that·outputs·strings·rather·than\n···*·Buffer·objects.\n···*/\n··export·type·Encoding·=·BufferEncoding·|·'buffer'·|·null\n\n··/**\n···*·Any·stream·that·Minipass·can·pipe·into\n···*/\n··export·type·Writable·=\n····|·Minipass<any,·any,·any>\n····|·NodeJS.WriteStream\n····|·(NodeJS.WriteStream·&·{·fd:·number·})\n····|·(EventEmitter·&·{\n········end():·any\n········write(chunk:·any,·...args:·any[]):·any\n······})\n\n··/**\n···*·Any·stream·that·can·be·read·from\n···*/\n··export·type·Readable·=\n····|·Minipass<any,·any,·any>\n····|·NodeJS.ReadStream\n····|·(NodeJS.ReadStream·&·{·fd:·number·})\n····|·(EventEmitter·&·{\n········pause():·any\n········resume():·any\n········pipe(...destArgs:·any[]):·any\n······})\n\n··/**\n···*·Utility·type·that·can·be·iterated·sync·or·async\n···*/\n··export·type·DualIterable<T>·=·Iterable<T>·&·AsyncIterable<T>\n\n··type·EventArguments·=·Record<string·|·symbol,·unknown[]>\n\n··/**\n···*·The·listing·of·events·that·a·Minipass·class·can·emit.\n···*·Extend·this·when·extending·the·Minipass·class,·and·pass·as\n···*·the·third·template·argument.··The·key·is·the·name·of·the·event,\n···*·and·the·value·is·the·argument·list.\n···*\n···*·Any·undeclared·events·will·still·be·allowed,·but·the·handler·will·get\n···*·arguments·as·`unknown[]`.\n···*/\n··export·interface·Events<RType·extends·any·=·Buffer>\n····extends·EventArguments·{\n····readable:·[]\n····data:·[chunk:·RType]\n····error:·[er:·unknown]\n····abort:·[reason:·unknown]\n····drain:·[]\n····resume:·[]\n····end:·[]\n····finish:·[]\n····prefinish:·[]\n····close:·[]\n····[DESTROYED]:·[er?:·unknown]\n····[ERROR]:·[er:·unknown]\n··}\n\n··/**\n···*·String·or·buffer-like·data·that·can·be·joined·and·sliced\n···*/\n··export·type·ContiguousData·=\n····|·Buffer\n····|·ArrayBufferLike\n····|·ArrayBufferView\n····|·string\n··export·type·BufferOrString·=·Buffer·|·string\n\n··/**\n···*·Options·passed·to·the·Minipass·constructor.\n···*/\n··export·type·SharedOptions·=·{\n····/**\n·····*·Defer·all·data·emission·and·other·events·until·the·end·of·the\n·····*·current·tick,·similar·to·Node·core·streams\n·····*/\n····async?:·boolean\n····/**\n·····*·A·signal·which·will·abort·the·stream\n·····*/\n····signal?:·AbortSignal\n····/**\n·····*·Output·string·encoding.·Set·to·`null`·or·`'buffer'`·(or·omit)·to\n·····*·emit·Buffer·objects·rather·than·strings.\n·····*\n·····*·Conflicts·with·`objectMode`\n·····*/\n····encoding?:·BufferEncoding·|·null·|·'buffer'\n····/**\n·····*·Output·data·exactly·as·it·was·written,·supporting·non-buffer/string\n·····*·data·(such·as·arbitrary·objects,·falsey·values,·etc.)\n·····*\n·····*·Conflicts·with·`encoding`\n·····*/\n····objectMode?:·boolean\n··}\n\n··/**\n···*·Options·for·a·string·encoded·output\n···*/\n··export·type·EncodingOptions·=·SharedOptions·&·{\n····encoding:·BufferEncoding\n····objectMode?:·false\n··}\n\n··/**\n···*·Options·for·contiguous·data·buffer·output\n···*/\n··export·type·BufferOptions·=·SharedOptions·&·{\n····encoding?:·null·|·'buffer'\n····objectMode?:·false\n··}\n\n··/**\n···*·Options·for·objectMode·arbitrary·output\n···*/\n··export·type·ObjectModeOptions·=·SharedOptions·&·{\n····objectMode:·true\n····encoding?:·null\n··}\n\n··/**\n···*·Utility·type·to·determine·allowed·options·based·on·read·type\n···*/\n··export·type·Options<T>·=\n····|·ObjectModeOptions\n····|·(T·extends·string\n········?·EncodingOptions\n········:·T·extends·Buffer\n········?·BufferOptions\n········:·SharedOptions)\n}\n\nconst·isObjectModeOptions·=·(\n··o:·Minipass.SharedOptions\n):·o·is·Minipass.ObjectModeOptions·=>·!!o.objectMode\n\nconst·isEncodingOptions·=·(\n··o:·Minipass.SharedOptions\n):·o·is·Minipass.EncodingOptions·=>\n··!o.objectMode·&&·!!o.encoding·&&·o.encoding·!==·'buffer'\n\n/**\n·*·Main·export,·the·Minipass·class\n·*\n·*·`RType`·is·the·type·of·data·emitted,·defaults·to·Buffer\n·*\n·*·`WType`·is·the·type·of·data·to·be·written,·if·RType·is·buffer·or·string,\n·*·then·any·{@link·Minipass.ContiguousData}·is·allowed.\n·*\n·*·`Events`·is·the·set·of·event·handler·signatures·that·this·object\n·*·will·emit,·see·{@link·Minipass.Events}\n·*/\nexport·class·Minipass<\n····RType·extends·unknown·=·Buffer,\n····WType·extends·unknown·=·RType·extends·Minipass.BufferOrString\n······?·Minipass.ContiguousData\n······:·RType,\n····Events·extends·Minipass.Events<RType>·=·Minipass.Events<RType>\n··>\n··extends·EventEmitter\n··implements·Minipass.DualIterable<RType>\n{\n··[FLOWING]:·boolean·=·false;\n··[PAUSED]:·boolean·=·false;\n··[PIPES]:·Pipe<RType>[]·=·[];\n··[BUFFER]:·RType[]·=·[];\n··[OBJECTMODE]:·boolean;\n··[ENCODING]:·BufferEncoding·|·null;\n··[ASYNC]:·boolean;\n··[DECODER]:·SD·|·null;\n··[EOF]:·boolean·=·false;\n··[EMITTED_END]:·boolean·=·false;\n··[EMITTING_END]:·boolean·=·false;\n··[CLOSED]:·boolean·=·false;\n··[EMITTED_ERROR]:·unknown·=·null;\n··[BUFFERLENGTH]:·number·=·0;\n··[DESTROYED]:·boolean·=·false;\n··[SIGNAL]?:·AbortSignal;\n··[ABORTED]:·boolean·=·false;\n··[DATALISTENERS]:·number·=·0;\n··[DISCARDED]:·boolean·=·false\n\n··/**\n···*·true·if·the·stream·can·be·written\n···*/\n··writable:·boolean·=·true\n··/**\n···*·true·if·the·stream·can·be·read\n···*/\n··readable:·boolean·=·true\n\n··/**\n···*·If·`RType`·is·Buffer,·then·options·do·not·need·to·be·provided.\n···*·Otherwise,·an·options·object·must·be·provided·to·specify·either\n···*·{@link·Minipass.SharedOptions.objectMode}·or\n···*·{@link·Minipass.SharedOptions.encoding},·as·appropriate.\n···*/\n··constructor(\n····...args:\n······|·[Minipass.ObjectModeOptions]\n······|·(RType·extends·Buffer\n··········?·[]·|·[Minipass.Options<RType>]\n··········:·[Minipass.Options<RType>])\n··)·{\n····const·options:·Minipass.Options<RType>·=·(args[0]·||\n······{})·as·Minipass.Options<RType>\n····super()\n····if·(options.objectMode·&&·typeof·options.encoding·===·'string')·{\n······throw·new·TypeError(\n········'Encoding·and·objectMode·may·not·be·used·together'\n······)\n····}\n····if·(isObjectModeOptions(options))·{\n······this[OBJECTMODE]·=·true\n······this[ENCODING]·=·null\n····}·else·if·(isEncodingOptions(options))·{\n······this[ENCODING]·=·options.encoding\n······this[OBJECTMODE]·=·false\n····}·else·{\n······this[OBJECTMODE]·=·false\n······this[ENCODING]·=·null\n····}\n····this[ASYNC]·=·!!options.async\n····this[DECODER]·=·this[ENCODING]\n······?·(new·StringDecoder(this[ENCODING])·as·SD)\n······:·null\n\n····//@ts-ignore·-·private·option·for·debugging·and·testing\n····if·(options·&&·options.debugExposeBuffer·===·true)·{\n······Object.defineProperty(this,·'buffer',·{·get:·()·=>·this[BUFFER]·})\n····}\n····//@ts-ignore·-·private·option·for·debugging·and·testing\n····if·(options·&&·options.debugExposePipes·===·true)·{\n······Object.defineProperty(this,·'pipes',·{·get:·()·=>·this[PIPES]·})\n····}\n\n····const·{·signal·}·=·options\n····if·(signal)·{\n······this[SIGNAL]·=·signal\n······if·(signal.aborted)·{\n········this[ABORT]()\n······}·else·{\n········signal.addEventListener('abort',·()·=>·this[ABORT]())\n······}\n····}\n··}\n\n··/**\n···*·The·amount·of·data·stored·in·the·buffer·waiting·to·be·read.\n···*\n···*·For·Buffer·strings,·this·will·be·the·total·byte·length.\n···*·For·string·encoding·streams,·this·will·be·the·string·character·length,\n···*·according·to·JavaScript's·`string.length`·logic.\n···*·For·objectMode·streams,·this·is·a·count·of·the·items·waiting·to·be\n···*·emitted.\n···*/\n··get·bufferLength()·{\n····return·this[BUFFERLENGTH]\n··}\n\n··/**\n···*·The·`BufferEncoding`·currently·in·use,·or·`null`\n···*/\n··get·encoding()·{\n····return·this[ENCODING]\n··}\n\n··/**\n···*·@deprecated·-·This·is·a·read·only·property\n···*/\n··set·encoding(_enc)·{\n····throw·new·Error('Encoding·must·be·set·at·instantiation·time')\n··}\n\n··/**\n···*·@deprecated·-·Encoding·may·only·be·set·at·instantiation·time\n···*/\n··setEncoding(_enc:·Minipass.Encoding)·{\n····throw·new·Error('Encoding·must·be·set·at·instantiation·time')\n··}\n\n··/**\n···*·True·if·this·is·an·objectMode·stream\n···*/\n··get·objectMode()·{\n····return·this[OBJECTMODE]\n··}\n\n··/**\n···*·@deprecated·-·This·is·a·read-only·property\n···*/\n··set·objectMode(_om)·{\n····throw·new·Error('objectMode·must·be·set·at·instantiation·time')\n··}\n\n··/**\n···*·true·if·this·is·an·async·stream\n···*/\n··get·['async']():·boolean·{\n····return·this[ASYNC]\n··}\n··/**\n···*·Set·to·true·to·make·this·stream·async.\n···*\n···*·Once·set,·it·cannot·be·unset,·as·this·would·potentially·cause·incorrect\n···*·behavior.··Ie,·a·sync·stream·can·be·made·async,·but·an·async·stream\n···*·cannot·be·safely·made·sync.\n···*/\n··set·['async'](a:·boolean)·{\n····this[ASYNC]·=·this[ASYNC]·||·!!a\n··}\n\n··//·drop·everything·and·get·out·of·the·flow·completely\n··[ABORT]()·{\n····this[ABORTED]·=·true\n····this.emit('abort',·this[SIGNAL]?.reason)\n····this.destroy(this[SIGNAL]?.reason)\n··}\n\n··/**\n···*·True·if·the·stream·has·been·aborted.\n···*/\n··get·aborted()·{\n····return·this[ABORTED]\n··}\n··/**\n···*·No-op·setter.·Stream·aborted·status·is·set·via·the·AbortSignal·provided\n···*·in·the·constructor·options.\n···*/\n··set·aborted(_)·{}\n\n··/**\n···*·Write·data·into·the·stream\n···*\n···*·If·the·chunk·written·is·a·string,·and·encoding·is·not·specified,·then\n···*·`utf8`·will·be·assumed.·If·the·stream·encoding·matches·the·encoding·of\n···*·a·written·string,·and·the·state·of·the·string·decoder·allows·it,·then\n···*·the·string·will·be·passed·through·to·either·the·output·or·the·internal\n···*·buffer·without·any·processing.·Otherwise,·it·will·be·turned·into·a\n···*·Buffer·object·for·processing·into·the·desired·encoding.\n···*\n···*·If·provided,·`cb`·function·is·called·immediately·before·return·for\n···*·sync·streams,·or·on·next·tick·for·async·streams,·because·for·this\n···*·base·class,·a·chunk·is·considered·\"processed\"·once·it·is·accepted\n···*·and·either·emitted·or·buffered.·That·is,·the·callback·does·not·indicate\n···*·that·the·chunk·has·been·eventually·emitted,·though·of·course·child\n···*·classes·can·override·this·function·to·do·whatever·processing·is·required\n···*·and·call·`super.write(...)`·only·once·processing·is·completed.\n···*/\n··write(chunk:·WType,·cb?:·()·=>·void):·boolean\n··write(\n····chunk:·WType,\n····encoding?:·Minipass.Encoding,\n····cb?:·()·=>·void\n··):·boolean\n··write(\n····chunk:·WType,\n····encoding?:·Minipass.Encoding·|·(()·=>·void),\n····cb?:·()·=>·void\n··):·boolean·{\n····if·(this[ABORTED])·return·false\n····if·(this[EOF])·throw·new·Error('write·after·end')\n\n····if·(this[DESTROYED])·{\n······this.emit(\n········'error',\n········Object.assign(\n··········new·Error('Cannot·call·write·after·a·stream·was·destroyed'),\n··········{·code:·'ERR_STREAM_DESTROYED'·}\n········)\n······)\n······return·true\n····}\n\n····if·(typeof·encoding·===·'function')·{\n······cb·=·encoding\n······encoding·=·'utf8'\n····}\n\n····if·(!encoding)·encoding·=·'utf8'\n\n····const·fn·=·this[ASYNC]·?·defer·:·nodefer\n\n····//·convert·array·buffers·and·typed·array·views·into·buffers\n····//·at·some·point·in·the·future,·we·may·want·to·do·the·opposite!\n····//·leave·strings·and·buffers·as-is\n····//·anything·is·only·allowed·if·in·object·mode,·so·throw\n····if·(!this[OBJECTMODE]·&&·!Buffer.isBuffer(chunk))·{\n······if·(isArrayBufferView(chunk))·{\n········//@ts-ignore·-·sinful·unsafe·type·changing\n········chunk·=·Buffer.from(\n··········chunk.buffer,\n··········chunk.byteOffset,\n··········chunk.byteLength\n········)\n······}·else·if·(isArrayBufferLike(chunk))·{\n········//@ts-ignore·-·sinful·unsafe·type·changing\n········chunk·=·Buffer.from(chunk)\n······}·else·if·(typeof·chunk·!==·'string')·{\n········throw·new·Error(\n··········'Non-contiguous·data·written·to·non-objectMode·stream'\n········)\n······}\n····}\n\n····//·handle·object·mode·up·front,·since·it's·simpler\n····//·this·yields·better·performance,·fewer·checks·later.\n····if·(this[OBJECTMODE])·{\n······//·maybe·impossible?\n······/*·c8·ignore·start·*/\n······if·(this[FLOWING]·&&·this[BUFFERLENGTH]·!==·0)·this[FLUSH](true)\n······/*·c8·ignore·stop·*/\n\n······if·(this[FLOWING])·this.emit('data',·chunk·as·unknown·as·RType)\n······else·this[BUFFERPUSH](chunk·as·unknown·as·RType)\n\n······if·(this[BUFFERLENGTH]·!==·0)·this.emit('readable')\n\n······if·(cb)·fn(cb)\n\n······return·this[FLOWING]\n····}\n\n····//·at·this·point·the·chunk·is·a·buffer·or·string\n····//·don't·buffer·it·up·or·send·it·to·the·decoder\n····if·(!(chunk·as·Minipass.BufferOrString).length)·{\n······if·(this[BUFFERLENGTH]·!==·0)·this.emit('readable')\n······if·(cb)·fn(cb)\n······return·this[FLOWING]\n····}\n\n····//·fast-path·writing·strings·of·same·encoding·to·a·stream·with\n····//·an·empty·buffer,·skipping·the·buffer/decoder·dance\n····if·(\n······typeof·chunk·===·'string'·&&\n······//·unless·it·is·a·string·already·ready·for·us·to·use\n······!(encoding·===·this[ENCODING]·&&·!this[DECODER]?.lastNeed)\n····)·{\n······//@ts-ignore·-·sinful·unsafe·type·change\n······chunk·=·Buffer.from(chunk,·encoding)\n····}\n\n····if·(Buffer.isBuffer(chunk)·&&·this[ENCODING])·{\n······//@ts-ignore·-·sinful·unsafe·type·change\n······chunk·=·this[DECODER].write(chunk)\n····}\n\n····//·Note:·flushing·CAN·potentially·switch·us·into·not-flowing·mode\n····if·(this[FLOWING]·&&·this[BUFFERLENGTH]·!==·0)·this[FLUSH](true)\n\n····if·(this[FLOWING])·this.emit('data',·chunk·as·unknown·as·RType)\n····else·this[BUFFERPUSH](chunk·as·unknown·as·RType)\n\n····if·(this[BUFFERLENGTH]·!==·0)·this.emit('readable')\n\n····if·(cb)·fn(cb)\n\n····return·this[FLOWING]\n··}\n\n··/**\n···*·Low-level·explicit·read·method.\n···*\n···*·In·objectMode,·the·argument·is·ignored,·and·one·item·is·returned·if\n···*·available.\n···*\n···*·`n`·is·the·number·of·bytes·(or·in·the·case·of·encoding·streams,\n···*·characters)·to·consume.·If·`n`·is·not·provided,·then·the·entire·buffer\n···*·is·returned,·or·`null`·is·returned·if·no·data·is·available.\n···*\n···*·If·`n`·is·greater·that·the·amount·of·data·in·the·internal·buffer,\n···*·then·`null`·is·returned.\n···*/\n··read(n?:·number·|·null):·RType·|·null·{\n····if·(this[DESTROYED])·return·null\n····this[DISCARDED]·=·false\n\n····if·(\n······this[BUFFERLENGTH]·===·0·||\n······n·===·0·||\n······(n·&&·n·>·this[BUFFERLENGTH])\n····)·{\n······this[MAYBE_EMIT_END]()\n······return·null\n····}\n\n····if·(this[OBJECTMODE])·n·=·null\n\n····if·(this[BUFFER].length·>·1·&&·!this[OBJECTMODE])·{\n······//·not·object·mode,·so·if·we·have·an·encoding,·then·RType·is·string\n······//·otherwise,·must·be·Buffer\n······this[BUFFER]·=·[\n········(this[ENCODING]\n··········?·this[BUFFER].join('')\n··········:·Buffer.concat(\n··············this[BUFFER]·as·Buffer[],\n··············this[BUFFERLENGTH]\n············))·as·RType,\n······]\n····}\n\n····const·ret·=·this[READ](n·||·null,·this[BUFFER][0]·as·RType)\n····this[MAYBE_EMIT_END]()\n····return·ret\n··}\n\n··[READ](n:·number·|·null,·chunk:·RType)·{\n····if·(this[OBJECTMODE])·this[BUFFERSHIFT]()\n····else·{\n······const·c·=·chunk·as·Minipass.BufferOrString\n······if·(n·===·c.length·||·n·===·null)·this[BUFFERSHIFT]()\n······else·if·(typeof·c·===·'string')·{\n········this[BUFFER][0]·=·c.slice(n)·as·RType\n········chunk·=·c.slice(0,·n)·as·RType\n········this[BUFFERLENGTH]·-=·n\n······}·else·{\n········this[BUFFER][0]·=·c.subarray(n)·as·RType\n········chunk·=·c.subarray(0,·n)·as·RType\n········this[BUFFERLENGTH]·-=·n\n······}\n····}\n\n····this.emit('data',·chunk)\n\n····if·(!this[BUFFER].length·&&·!this[EOF])·this.emit('drain')\n\n····return·chunk\n··}\n\n··/**\n···*·End·the·stream,·optionally·providing·a·final·write.\n···*\n···*·See·{@link·Minipass#write}·for·argument·descriptions\n···*/\n··end(cb?:·()·=>·void):·this\n··end(chunk:·WType,·cb?:·()·=>·void):·this\n··end(chunk:·WType,·encoding?:·Minipass.Encoding,·cb?:·()·=>·void):·this\n··end(\n····chunk?:·WType·|·(()·=>·void),\n····encoding?:·Minipass.Encoding·|·(()·=>·void),\n····cb?:·()·=>·void\n··):·this·{\n····if·(typeof·chunk·===·'function')·{\n······cb·=·chunk·as·()·=>·void\n······chunk·=·undefined\n····}\n····if·(typeof·encoding·===·'function')·{\n······cb·=·encoding\n······encoding·=·'utf8'\n····}\n····if·(chunk·!==·undefined)·this.write(chunk,·encoding)\n····if·(cb)·this.once('end',·cb)\n····this[EOF]·=·true\n····this.writable·=·false\n\n····//·if·we·haven't·written·anything,·then·go·ahead·and·emit,\n····//·even·if·we're·not·reading.\n····//·we'll·re-emit·if·a·new·'end'·listener·is·added·anyway.\n····//·This·makes·MP·more·suitable·to·write-only·use·cases.\n····if·(this[FLOWING]·||·!this[PAUSED])·this[MAYBE_EMIT_END]()\n····return·this\n··}\n\n··//·don't·let·the·internal·resume·be·overwritten\n··[RESUME]()·{\n····if·(this[DESTROYED])·return\n\n····if·(!this[DATALISTENERS]·&&·!this[PIPES].length)·{\n······this[DISCARDED]·=·true\n····}\n····this[PAUSED]·=·false\n····this[FLOWING]·=·true\n····this.emit('resume')\n····if·(this[BUFFER].length)·this[FLUSH]()\n····else·if·(this[EOF])·this[MAYBE_EMIT_END]()\n····else·this.emit('drain')\n··}\n\n··/**\n···*·Resume·the·stream·if·it·is·currently·in·a·paused·state\n···*\n···*·If·called·when·there·are·no·pipe·destinations·or·`data`·event·listeners,\n···*·this·will·place·the·stream·in·a·\"discarded\"·state,·where·all·data·will\n···*·be·thrown·away.·The·discarded·state·is·removed·if·a·pipe·destination·or\n···*·data·handler·is·added,·if·pause()·is·called,·or·if·any·synchronous·or\n···*·asynchronous·iteration·is·started.\n···*/\n··resume()·{\n····return·this[RESUME]()\n··}\n\n··/**\n···*·Pause·the·stream\n···*/\n··pause()·{\n····this[FLOWING]·=·false\n····this[PAUSED]·=·true\n····this[DISCARDED]·=·false\n··}\n\n··/**\n···*·true·if·the·stream·has·been·forcibly·destroyed\n···*/\n··get·destroyed()·{\n····return·this[DESTROYED]\n··}\n\n··/**\n···*·true·if·the·stream·is·currently·in·a·flowing·state,·meaning·that\n···*·any·writes·will·be·immediately·emitted.\n···*/\n··get·flowing()·{\n····return·this[FLOWING]\n··}\n\n··/**\n···*·true·if·the·stream·is·currently·in·a·paused·state\n···*/\n··get·paused()·{\n····return·this[PAUSED]\n··}\n\n··[BUFFERPUSH](chunk:·RType)·{\n····if·(this[OBJECTMODE])·this[BUFFERLENGTH]·+=·1\n····else·this[BUFFERLENGTH]·+=·(chunk·as·Minipass.BufferOrString).length\n····this[BUFFER].push(chunk)\n··}\n\n··[BUFFERSHIFT]():·RType·{\n····if·(this[OBJECTMODE])·this[BUFFERLENGTH]·-=·1\n····else\n······this[BUFFERLENGTH]·-=·(\n········this[BUFFER][0]·as·Minipass.BufferOrString\n······).length\n····return·this[BUFFER].shift()·as·RType\n··}\n\n··[FLUSH](noDrain:·boolean·=·false)·{\n····do·{}·while·(\n······this[FLUSHCHUNK](this[BUFFERSHIFT]())·&&\n······this[BUFFER].length\n····)\n\n····if·(!noDrain·&&·!this[BUFFER].length·&&·!this[EOF])·this.emit('drain')\n··}\n\n··[FLUSHCHUNK](chunk:·RType)·{\n····this.emit('data',·chunk)\n····return·this[FLOWING]\n··}\n\n··/**\n···*·Pipe·all·data·emitted·by·this·stream·into·the·destination·provided.\n···*\n···*·Triggers·the·flow·of·data.\n···*/\n··pipe<W·extends·Minipass.Writable>(dest:·W,·opts?:·PipeOptions):·W·{\n····if·(this[DESTROYED])·return·dest\n····this[DISCARDED]·=·false\n\n····const·ended·=·this[EMITTED_END]\n····opts·=·opts·||·{}\n····if·(dest·===·proc.stdout·||·dest·===·proc.stderr)·opts.end·=·false\n····else·opts.end·=·opts.end·!==·false\n····opts.proxyErrors·=·!!opts.proxyErrors\n\n····//·piping·an·ended·stream·ends·immediately\n····if·(ended)·{\n······if·(opts.end)·dest.end()\n····}·else·{\n······//·\"as\"·here·just·ignores·the·WType,·which·pipes·don't·care·about,\n······//·since·they're·only·consuming·from·us,·and·writing·to·the·dest\n······this[PIPES].push(\n········!opts.proxyErrors\n··········?·new·Pipe<RType>(this·as·Minipass<RType>,·dest,·opts)\n··········:·new·PipeProxyErrors<RType>(this·as·Minipass<RType>,·dest,·opts)\n······)\n······if·(this[ASYNC])·defer(()·=>·this[RESUME]())\n······else·this[RESUME]()\n····}\n\n····return·dest\n··}\n\n··/**\n···*·Fully·unhook·a·piped·destination·stream.\n···*\n···*·If·the·destination·stream·was·the·only·consumer·of·this·stream·(ie,\n···*·there·are·no·other·piped·destinations·or·`'data'`·event·listeners)\n···*·then·the·flow·of·data·will·stop·until·there·is·another·consumer·or\n···*·{@link·Minipass#resume}·is·explicitly·called.\n···*/\n··unpipe<W·extends·Minipass.Writable>(dest:·W)·{\n····const·p·=·this[PIPES].find(p·=>·p.dest·===·dest)\n····if·(p)·{\n······if·(this[PIPES].length·===·1)·{\n········if·(this[FLOWING]·&&·this[DATALISTENERS]·===·0)·{\n··········this[FLOWING]·=·false\n········}\n········this[PIPES]·=·[]\n······}·else·this[PIPES].splice(this[PIPES].indexOf(p),·1)\n······p.unpipe()\n····}\n··}\n\n··/**\n···*·Alias·for·{@link·Minipass#on}\n···*/\n··addListener<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··):·this·{\n····return·this.on(ev,·handler)\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.on`,·with·the·following\n···*·behavior·differences·to·prevent·data·loss·and·unnecessary·hangs:\n···*\n···*·-·Adding·a·'data'·event·handler·will·trigger·the·flow·of·data\n···*\n···*·-·Adding·a·'readable'·event·handler·when·there·is·data·waiting·to·be·read\n···*···will·cause·'readable'·to·be·emitted·immediately.\n···*\n···*·-·Adding·an·'endish'·event·handler·('end',·'finish',·etc.)·which·has\n···*···already·passed·will·cause·the·event·to·be·emitted·immediately·and·all\n···*···handlers·removed.\n···*\n···*·-·Adding·an·'error'·event·handler·after·an·error·has·been·emitted·will\n···*···cause·the·event·to·be·re-emitted·immediately·with·the·error·previously\n···*···raised.\n···*/\n··on<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··):·this·{\n····const·ret·=·super.on(\n······ev·as·string·|·symbol,\n······handler·as·(...a:·any[])·=>·any\n····)\n····if·(ev·===·'data')·{\n······this[DISCARDED]·=·false\n······this[DATALISTENERS]++\n······if·(!this[PIPES].length·&&·!this[FLOWING])·{\n········this[RESUME]()\n······}\n····}·else·if·(ev·===·'readable'·&&·this[BUFFERLENGTH]·!==·0)·{\n······super.emit('readable')\n····}·else·if·(isEndish(ev)·&&·this[EMITTED_END])·{\n······super.emit(ev)\n······this.removeAllListeners(ev)\n····}·else·if·(ev·===·'error'·&&·this[EMITTED_ERROR])·{\n······const·h·=·handler·as·(...a:·Events['error'])·=>·any\n······if·(this[ASYNC])·defer(()·=>·h.call(this,·this[EMITTED_ERROR]))\n······else·h.call(this,·this[EMITTED_ERROR])\n····}\n····return·ret\n··}\n\n··/**\n···*·Alias·for·{@link·Minipass#off}\n···*/\n··removeListener<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··)·{\n····return·this.off(ev,·handler)\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.off`\n···*\n···*·If·a·'data'·event·handler·is·removed,·and·it·was·the·last·consumer\n···*·(ie,·there·are·no·pipe·destinations·or·other·'data'·event·listeners),\n···*·then·the·flow·of·data·will·stop·until·there·is·another·consumer·or\n···*·{@link·Minipass#resume}·is·explicitly·called.\n···*/\n··off<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··)·{\n····const·ret·=·super.off(\n······ev·as·string·|·symbol,\n······handler·as·(...a:·any[])·=>·any\n····)\n····//·if·we·previously·had·listeners,·and·now·we·don't,·and·we·don't\n····//·have·any·pipes,·then·stop·the·flow,·unless·it's·been·explicitly\n····//·put·in·a·discarded·flowing·state·via·stream.resume().\n····if·(ev·===·'data')·{\n······this[DATALISTENERS]·=·this.listeners('data').length\n······if·(\n········this[DATALISTENERS]·===·0·&&\n········!this[DISCARDED]·&&\n········!this[PIPES].length\n······)·{\n········this[FLOWING]·=·false\n······}\n····}\n····return·ret\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.removeAllListeners`\n···*\n···*·If·all·'data'·event·handlers·are·removed,·and·they·were·the·last·consumer\n···*·(ie,·there·are·no·pipe·destinations),·then·the·flow·of·data·will·stop\n···*·until·there·is·another·consumer·or·{@link·Minipass#resume}·is·explicitly\n···*·called.\n···*/\n··removeAllListeners<Event·extends·keyof·Events>(ev?:·Event)·{\n····const·ret·=·super.removeAllListeners(ev·as·string·|·symbol·|·undefined)\n····if·(ev·===·'data'·||·ev·===·undefined)·{\n······this[DATALISTENERS]·=·0\n······if·(!this[DISCARDED]·&&·!this[PIPES].length)·{\n········this[FLOWING]·=·false\n······}\n····}\n····return·ret\n··}\n\n··/**\n···*·true·if·the·'end'·event·has·been·emitted\n···*/\n··get·emittedEnd()·{\n····return·this[EMITTED_END]\n··}\n\n··[MAYBE_EMIT_END]()·{\n····if·(\n······!this[EMITTING_END]·&&\n······!this[EMITTED_END]·&&\n······!this[DESTROYED]·&&\n······this[BUFFER].length·===·0·&&\n······this[EOF]\n····)·{\n······this[EMITTING_END]·=·true\n······this.emit('end')\n······this.emit('prefinish')\n······this.emit('finish')\n······if·(this[CLOSED])·this.emit('close')\n······this[EMITTING_END]·=·false\n····}\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.emit`,·with·the·following\n···*·behavior·differences·to·prevent·data·loss·and·unnecessary·hangs:\n···*\n···*·If·the·stream·has·been·destroyed,·and·the·event·is·something·other\n···*·than·'close'·or·'error',·then·`false`·is·returned·and·no·handlers\n···*·are·called.\n···*\n···*·If·the·event·is·'end',·and·has·already·been·emitted,·then·the·event\n···*·is·ignored.·If·the·stream·is·in·a·paused·or·non-flowing·state,·then\n···*·the·event·will·be·deferred·until·data·flow·resumes.·If·the·stream·is\n···*·async,·then·handlers·will·be·called·on·the·next·tick·rather·than\n···*·immediately.\n···*\n···*·If·the·event·is·'close',·and·'end'·has·not·yet·been·emitted,·then\n···*·the·event·will·be·deferred·until·after·'end'·is·emitted.\n···*\n···*·If·the·event·is·'error',·and·an·AbortSignal·was·provided·for·the·stream,\n···*·and·there·are·no·listeners,·then·the·event·is·ignored,·matching·the\n···*·behavior·of·node·core·streams·in·the·presense·of·an·AbortSignal.\n···*\n···*·If·the·event·is·'finish'·or·'prefinish',·then·all·listeners·will·be\n···*·removed·after·emitting·the·event,·to·prevent·double-firing.\n···*/\n··emit<Event·extends·keyof·Events>(\n····ev:·Event,\n····...args:·Events[Event]\n··):·boolean·{\n····const·data·=·args[0]\n····//·error·and·close·are·only·events·allowed·after·calling·destroy()\n····if·(\n······ev·!==·'error'·&&\n······ev·!==·'close'·&&\n······ev·!==·DESTROYED·&&\n······this[DESTROYED]\n····)·{\n······return·false\n····}·else·if·(ev·===·'data')·{\n······return·!this[OBJECTMODE]·&&·!data\n········?·false\n········:·this[ASYNC]\n········?·(defer(()·=>·this[EMITDATA](data·as·RType)),·true)\n········:·this[EMITDATA](data·as·RType)\n····}·else·if·(ev·===·'end')·{\n······return·this[EMITEND]()\n····}·else·if·(ev·===·'close')·{\n······this[CLOSED]·=·true\n······//·don't·emit·close·before·'end'·and·'finish'\n······if·(!this[EMITTED_END]·&&·!this[DESTROYED])·return·false\n······const·ret·=·super.emit('close')\n······this.removeAllListeners('close')\n······return·ret\n····}·else·if·(ev·===·'error')·{\n······this[EMITTED_ERROR]·=·data\n······super.emit(ERROR,·data)\n······const·ret·=\n········!this[SIGNAL]·||·this.listeners('error').length\n··········?·super.emit('error',·data)\n··········:·false\n······this[MAYBE_EMIT_END]()\n······return·ret\n····}·else·if·(ev·===·'resume')·{\n······const·ret·=·super.emit('resume')\n······this[MAYBE_EMIT_END]()\n······return·ret\n····}·else·if·(ev·===·'finish'·||·ev·===·'prefinish')·{\n······const·ret·=·super.emit(ev)\n······this.removeAllListeners(ev)\n······return·ret\n····}\n\n····//·Some·other·unknown·event\n····const·ret·=·super.emit(ev·as·string,·...args)\n····this[MAYBE_EMIT_END]()\n····return·ret\n··}\n\n··[EMITDATA](data:·RType)·{\n····for·(const·p·of·this[PIPES])·{\n······if·(p.dest.write(data·as·RType)·===·false)·this.pause()\n····}\n····const·ret·=·this[DISCARDED]·?·false·:·super.emit('data',·data)\n····this[MAYBE_EMIT_END]()\n····return·ret\n··}\n\n··[EMITEND]()·{\n····if·(this[EMITTED_END])·return·false\n\n····this[EMITTED_END]·=·true\n····this.readable·=·false\n····return·this[ASYNC]\n······?·(defer(()·=>·this[EMITEND2]()),·true)\n······:·this[EMITEND2]()\n··}\n\n··[EMITEND2]()·{\n····if·(this[DECODER])·{\n······const·data·=·this[DECODER].end()\n······if·(data)·{\n········for·(const·p·of·this[PIPES])·{\n··········p.dest.write(data·as·RType)\n········}\n········if·(!this[DISCARDED])·super.emit('data',·data)\n······}\n····}\n\n····for·(const·p·of·this[PIPES])·{\n······p.end()\n····}\n····const·ret·=·super.emit('end')\n····this.removeAllListeners('end')\n····return·ret\n··}\n\n··/**\n···*·Return·a·Promise·that·resolves·to·an·array·of·all·emitted·data·once\n···*·the·stream·ends.\n···*/\n··async·collect():·Promise<RType[]·&·{·dataLength:·number·}>·{\n····const·buf:·RType[]·&·{·dataLength:·number·}·=·Object.assign([],·{\n······dataLength:·0,\n····})\n····if·(!this[OBJECTMODE])·buf.dataLength·=·0\n····//·set·the·promise·first,·in·case·an·error·is·raised\n····//·by·triggering·the·flow·here.\n····const·p·=·this.promise()\n····this.on('data',·c·=>·{\n······buf.push(c)\n······if·(!this[OBJECTMODE])\n········buf.dataLength·+=·(c·as·Minipass.BufferOrString).length\n····})\n····await·p\n····return·buf\n··}\n\n··/**\n···*·Return·a·Promise·that·resolves·to·the·concatenation·of·all·emitted·data\n···*·once·the·stream·ends.\n···*\n···*·Not·allowed·on·objectMode·streams.\n···*/\n··async·concat():·Promise<RType>·{\n····if·(this[OBJECTMODE])·{\n······throw·new·Error('cannot·concat·in·objectMode')\n····}\n····const·buf·=·await·this.collect()\n····return·(\n······this[ENCODING]\n········?·buf.join('')\n········:·Buffer.concat(buf·as·Buffer[],·buf.dataLength)\n····)·as·RType\n··}\n\n··/**\n···*·Return·a·void·Promise·that·resolves·once·the·stream·ends.\n···*/\n··async·promise():·Promise<void>·{\n····return·new·Promise<void>((resolve,·reject)·=>·{\n······this.on(DESTROYED,·()·=>·reject(new·Error('stream·destroyed')))\n······this.on('error',·er·=>·reject(er))\n······this.on('end',·()·=>·resolve())\n····})\n··}\n\n··/**\n···*·Asynchronous·`for·await·of`·iteration.\n···*\n···*·This·will·continue·emitting·all·chunks·until·the·stream·terminates.\n···*/\n··[Symbol.asyncIterator]():·AsyncGenerator<RType,·void,·void>·{\n····//·set·this·up·front,·in·case·the·consumer·doesn't·call·next()\n····//·right·away.\n····this[DISCARDED]·=·false\n····let·stopped·=·false\n····const·stop·=·async·():·Promise<IteratorReturnResult<void>>·=>·{\n······this.pause()\n······stopped·=·true\n······return·{·value:·undefined,·done:·true·}\n····}\n····const·next·=·():·Promise<IteratorResult<RType,·void>>·=>·{\n······if·(stopped)·return·stop()\n······const·res·=·this.read()\n······if·(res·!==·null)·return·Promise.resolve({·done:·false,·value:·res·})\n\n······if·(this[EOF])·return·stop()\n\n······let·resolve!:·(res:·IteratorResult<RType>)·=>·void\n······let·reject!:·(er:·unknown)·=>·void\n······const·onerr·=·(er:·unknown)·=>·{\n········this.off('data',·ondata)\n········this.off('end',·onend)\n········this.off(DESTROYED,·ondestroy)\n········stop()\n········reject(er)\n······}\n······const·ondata·=·(value:·RType)·=>·{\n········this.off('error',·onerr)\n········this.off('end',·onend)\n········this.off(DESTROYED,·ondestroy)\n········this.pause()\n········resolve({·value,·done:·!!this[EOF]·})\n······}\n······const·onend·=·()·=>·{\n········this.off('error',·onerr)\n········this.off('data',·ondata)\n········this.off(DESTROYED,·ondestroy)\n········stop()\n········resolve({·done:·true,·value:·undefined·})\n······}\n······const·ondestroy·=·()·=>·onerr(new·Error('stream·destroyed'))\n······return·new·Promise<IteratorResult<RType>>((res,·rej)·=>·{\n········reject·=·rej\n········resolve·=·res\n········this.once(DESTROYED,·ondestroy)\n········this.once('error',·onerr)\n········this.once('end',·onend)\n········this.once('data',·ondata)\n······})\n····}\n\n····return·{\n······next,\n······throw:·stop,\n······return:·stop,\n······[Symbol.asyncIterator]()·{\n········return·this\n······},\n····}\n··}\n\n··/**\n···*·Synchronous·`for·of`·iteration.\n···*\n···*·The·iteration·will·terminate·when·the·internal·buffer·runs·out,·even\n···*·if·the·stream·has·not·yet·terminated.\n···*/\n··[Symbol.iterator]():·Generator<RType,·void,·void>·{\n····//·set·this·up·front,·in·case·the·consumer·doesn't·call·next()\n····//·right·away.\n····this[DISCARDED]·=·false\n····let·stopped·=·false\n····const·stop·=·():·IteratorReturnResult<void>·=>·{\n······this.pause()\n······this.off(ERROR,·stop)\n······this.off(DESTROYED,·stop)\n······this.off('end',·stop)\n······stopped·=·true\n······return·{·done:·true,·value:·undefined·}\n····}\n\n····const·next·=·():·IteratorResult<RType,·void>·=>·{\n······if·(stopped)·return·stop()\n······const·value·=·this.read()\n······return·value·===·null·?·stop()·:·{·done:·false,·value·}\n····}\n\n····this.once('end',·stop)\n····this.once(ERROR,·stop)\n····this.once(DESTROYED,·stop)\n\n····return·{\n······next,\n······throw:·stop,\n······return:·stop,\n······[Symbol.iterator]()·{\n········return·this\n······},\n····}\n··}\n\n··/**\n···*·Destroy·a·stream,·preventing·it·from·being·used·for·any·further·purpose.\n···*\n···*·If·the·stream·has·a·`close()`·method,·then·it·will·be·called·on\n···*·destruction.\n···*\n···*·After·destruction,·any·attempt·to·write·data,·read·data,·or·emit·most\n···*·events·will·be·ignored.\n···*\n···*·If·an·error·argument·is·provided,·then·it·will·be·emitted·in·an\n···*·'error'·event.\n···*/\n··destroy(er?:·unknown)·{\n····if·(this[DESTROYED])·{\n······if·(er)·this.emit('error',·er)\n······else·this.emit(DESTROYED)\n······return·this\n····}\n\n····this[DESTROYED]·=·true\n····this[DISCARDED]·=·true\n\n····//·throw·away·all·buffered·data,·it's·never·coming·out\n····this[BUFFER].length·=·0\n····this[BUFFERLENGTH]·=·0\n\n····const·wc·=·this·as·Minipass<RType,·WType,·Events>·&·{\n······close?:·()·=>·void\n····}\n····if·(typeof·wc.close·===·'function'·&&·!this[CLOSED])·wc.close()\n\n····if·(er)·this.emit('error',·er)\n····//·if·no·error·to·emit,·still·reject·pending·promises\n····else·this.emit(DESTROYED)\n\n····return·this\n··}\n\n··/**\n···*·Alias·for·{@link·isStream}\n···*\n···*·Former·export·location,·maintained·for·backwards·compatibility.\n···*\n···*·@deprecated\n···*/\n··static·get·isStream()·{\n····return·isStream\n··}\n}\n",1004 ········"const·proc·=\n··typeof·process·===·'object'·&&·process\n····?·process\n····:·{\n········stdout:·null,\n········stderr:·null,\n······}\nimport·{·EventEmitter·}·from·'node:events'\nimport·Stream·from·'node:stream'\nimport·{·StringDecoder·}·from·'node:string_decoder'\n\n/**\n·*·Same·as·StringDecoder,·but·exposing·the·`lastNeed`·flag·on·the·type\n·*/\ntype·SD·=·StringDecoder·&·{·lastNeed:·boolean·}\n\nexport·type·{·SD,·Pipe,·PipeProxyErrors·}\n\n/**\n·*·Return·true·if·the·argument·is·a·Minipass·stream,·Node·stream,·or·something\n·*·else·that·Minipass·can·interact·with.\n·*/\nexport·const·isStream·=·(\n··s:·any\n):·s·is·Minipass.Readable·|·Minipass.Writable·=>\n··!!s·&&\n··typeof·s·===·'object'·&&\n··(s·instanceof·Minipass·||\n····s·instanceof·Stream·||\n····isReadable(s)·||\n····isWritable(s))\n\n/**\n·*·Return·true·if·the·argument·is·a·valid·{@link·Minipass.Readable}\n·*/\nexport·const·isReadable·=·(s:·any):·s·is·Minipass.Readable·=>\n··!!s·&&\n··typeof·s·===·'object'·&&\n··s·instanceof·EventEmitter·&&\n··typeof·(s·as·Minipass.Readable).pipe·===·'function'·&&\n··//·node·core·Writable·streams·have·a·pipe()·method,·but·it·throws\n··(s·as·Minipass.Readable).pipe·!==·Stream.Writable.prototype.pipe\n\n/**\n·*·Return·true·if·the·argument·is·a·valid·{@link·Minipass.Writable}\n·*/\nexport·const·isWritable·=·(s:·any):·s·is·Minipass.Readable·=>\n··!!s·&&\n··typeof·s·===·'object'·&&\n··s·instanceof·EventEmitter·&&\n··typeof·(s·as·Minipass.Writable).write·===·'function'·&&\n··typeof·(s·as·Minipass.Writable).end·===·'function'\n\nconst·EOF·=·Symbol('EOF')\nconst·MAYBE_EMIT_END·=·Symbol('maybeEmitEnd')\nconst·EMITTED_END·=·Symbol('emittedEnd')\nconst·EMITTING_END·=·Symbol('emittingEnd')\nconst·EMITTED_ERROR·=·Symbol('emittedError')\nconst·CLOSED·=·Symbol('closed')\nconst·READ·=·Symbol('read')\nconst·FLUSH·=·Symbol('flush')\nconst·FLUSHCHUNK·=·Symbol('flushChunk')\nconst·ENCODING·=·Symbol('encoding')\nconst·DECODER·=·Symbol('decoder')\nconst·FLOWING·=·Symbol('flowing')\nconst·PAUSED·=·Symbol('paused')\nconst·RESUME·=·Symbol('resume')\nconst·BUFFER·=·Symbol('buffer')\nconst·PIPES·=·Symbol('pipes')\nconst·BUFFERLENGTH·=·Symbol('bufferLength')\nconst·BUFFERPUSH·=·Symbol('bufferPush')\nconst·BUFFERSHIFT·=·Symbol('bufferShift')\nconst·OBJECTMODE·=·Symbol('objectMode')\n//·internal·event·when·stream·is·destroyed\nconst·DESTROYED·=·Symbol('destroyed')\n//·internal·event·when·stream·has·an·error\nconst·ERROR·=·Symbol('error')\nconst·EMITDATA·=·Symbol('emitData')\nconst·EMITEND·=·Symbol('emitEnd')\nconst·EMITEND2·=·Symbol('emitEnd2')\nconst·ASYNC·=·Symbol('async')\nconst·ABORT·=·Symbol('abort')\nconst·ABORTED·=·Symbol('aborted')\nconst·SIGNAL·=·Symbol('signal')\nconst·DATALISTENERS·=·Symbol('dataListeners')\nconst·DISCARDED·=·Symbol('discarded')\n\nconst·defer·=·(fn:·(...a:·any[])·=>·any)·=>·Promise.resolve().then(fn)\nconst·nodefer·=·(fn:·(...a:·any[])·=>·any)·=>·fn()\n\n//·events·that·mean·'the·stream·is·over'\n//·these·are·treated·specially,·and·re-emitted\n//·if·they·are·listened·for·after·emitting.\ntype·EndishEvent·=·'end'·|·'finish'·|·'prefinish'\nconst·isEndish·=·(ev:·any):·ev·is·EndishEvent·=>\n··ev·===·'end'·||·ev·===·'finish'·||·ev·===·'prefinish'\n\nconst·isArrayBufferLike·=·(b:·any):·b·is·ArrayBufferLike·=>\n··b·instanceof·ArrayBuffer·||\n··(!!b·&&\n····typeof·b·===·'object'·&&\n····b.constructor·&&\n····b.constructor.name·===·'ArrayBuffer'·&&\n····b.byteLength·>=·0)\n\nconst·isArrayBufferView·=·(b:·any):·b·is·ArrayBufferView·=>\n··!Buffer.isBuffer(b)·&&·ArrayBuffer.isView(b)\n\n/**\n·*·Options·that·may·be·passed·to·stream.pipe()\n·*/\nexport·interface·PipeOptions·{\n··/**\n···*·end·the·destination·stream·when·the·source·stream·ends\n···*/\n··end?:·boolean\n··/**\n···*·proxy·errors·from·the·source·stream·to·the·destination·stream\n···*/\n··proxyErrors?:·boolean\n}\n\n/**\n·*·Internal·class·representing·a·pipe·to·a·destination·stream.\n·*\n·*·@internal\n·*/\nclass·Pipe<T·extends·unknown>·{\n··src:·Minipass<T>\n··dest:·Minipass<any,·T>\n··opts:·PipeOptions\n··ondrain:·()·=>·any\n··constructor(\n····src:·Minipass<T>,\n····dest:·Minipass.Writable,\n····opts:·PipeOptions\n··)·{\n····this.src·=·src\n····this.dest·=·dest·as·Minipass<any,·T>\n····this.opts·=·opts\n····this.ondrain·=·()·=>·src[RESUME]()\n····this.dest.on('drain',·this.ondrain)\n··}\n··unpipe()·{\n····this.dest.removeListener('drain',·this.ondrain)\n··}\n··//·only·here·for·the·prototype\n··/*·c8·ignore·start·*/\n··proxyErrors(_er:·any)·{}\n··/*·c8·ignore·stop·*/\n··end()·{\n····this.unpipe()\n····if·(this.opts.end)·this.dest.end()\n··}\n}\n\n/**\n·*·Internal·class·representing·a·pipe·to·a·destination·stream·where\n·*·errors·are·proxied.\n·*\n·*·@internal\n·*/\nclass·PipeProxyErrors<T>·extends·Pipe<T>·{\n··unpipe()·{\n····this.src.removeListener('error',·this.proxyErrors)\n····super.unpipe()\n··}\n··constructor(\n····src:·Minipass<T>,\n····dest:·Minipass.Writable,\n····opts:·PipeOptions\n··)·{\n····super(src,·dest,·opts)\n····this.proxyErrors·=·er·=>·dest.emit('error',·er)\n····src.on('error',·this.proxyErrors)\n··}\n}\n\nexport·namespace·Minipass·{\n··/**\n···*·Encoding·used·to·create·a·stream·that·outputs·strings·rather·than\n···*·Buffer·objects.\n···*/\n··export·type·Encoding·=·BufferEncoding·|·'buffer'·|·null\n\n··/**\n···*·Any·stream·that·Minipass·can·pipe·into\n···*/\n··export·type·Writable·=\n····|·Minipass<any,·any,·any>\n····|·NodeJS.WriteStream\n····|·(NodeJS.WriteStream·&·{·fd:·number·})\n····|·(EventEmitter·&·{\n········end():·any\n········write(chunk:·any,·...args:·any[]):·any\n······})\n\n··/**\n···*·Any·stream·that·can·be·read·from\n···*/\n··export·type·Readable·=\n····|·Minipass<any,·any,·any>\n····|·NodeJS.ReadStream\n····|·(NodeJS.ReadStream·&·{·fd:·number·})\n····|·(EventEmitter·&·{\n········pause():·any\n········resume():·any\n········pipe(...destArgs:·any[]):·any\n······})\n\n··/**\n···*·Utility·type·that·can·be·iterated·sync·or·async\n···*/\n··export·type·DualIterable<T>·=·Iterable<T>·&·AsyncIterable<T>\n\n··type·EventArguments·=·Record<string·|·symbol,·unknown[]>\n\n··/**\n···*·The·listing·of·events·that·a·Minipass·class·can·emit.\n···*·Extend·this·when·extending·the·Minipass·class,·and·pass·as\n···*·the·third·template·argument.··The·key·is·the·name·of·the·event,\n···*·and·the·value·is·the·argument·list.\n···*\n···*·Any·undeclared·events·will·still·be·allowed,·but·the·handler·will·get\n···*·arguments·as·`unknown[]`.\n···*/\n··export·interface·Events<RType·extends·any·=·Buffer>\n····extends·EventArguments·{\n····readable:·[]\n····data:·[chunk:·RType]\n····error:·[er:·unknown]\n····abort:·[reason:·unknown]\n····drain:·[]\n····resume:·[]\n····end:·[]\n····finish:·[]\n····prefinish:·[]\n····close:·[]\n····[DESTROYED]:·[er?:·unknown]\n····[ERROR]:·[er:·unknown]\n··}\n\n··/**\n···*·String·or·buffer-like·data·that·can·be·joined·and·sliced\n···*/\n··export·type·ContiguousData·=\n····|·Buffer\n····|·ArrayBufferLike\n····|·ArrayBufferView\n····|·string\n··export·type·BufferOrString·=·Buffer·|·string\n\n··/**\n···*·Options·passed·to·the·Minipass·constructor.\n···*/\n··export·type·SharedOptions·=·{\n····/**\n·····*·Defer·all·data·emission·and·other·events·until·the·end·of·the\n·····*·current·tick,·similar·to·Node·core·streams\n·····*/\n····async?:·boolean\n····/**\n·····*·A·signal·which·will·abort·the·stream\n·····*/\n····signal?:·AbortSignal\n····/**\n·····*·Output·string·encoding.·Set·to·`null`·or·`'buffer'`·(or·omit)·to\n·····*·emit·Buffer·objects·rather·than·strings.\n·····*\n·····*·Conflicts·with·`objectMode`\n·····*/\n····encoding?:·BufferEncoding·|·null·|·'buffer'\n····/**\n·····*·Output·data·exactly·as·it·was·written,·supporting·non-buffer/string\n·····*·data·(such·as·arbitrary·objects,·falsey·values,·etc.)\n·····*\n·····*·Conflicts·with·`encoding`\n·····*/\n····objectMode?:·boolean\n··}\n\n··/**\n···*·Options·for·a·string·encoded·output\n···*/\n··export·type·EncodingOptions·=·SharedOptions·&·{\n····encoding:·BufferEncoding\n····objectMode?:·false\n··}\n\n··/**\n···*·Options·for·contiguous·data·buffer·output\n···*/\n··export·type·BufferOptions·=·SharedOptions·&·{\n····encoding?:·null·|·'buffer'\n····objectMode?:·false\n··}\n\n··/**\n···*·Options·for·objectMode·arbitrary·output\n···*/\n··export·type·ObjectModeOptions·=·SharedOptions·&·{\n····objectMode:·true\n····encoding?:·null\n··}\n\n··/**\n···*·Utility·type·to·determine·allowed·options·based·on·read·type\n···*/\n··export·type·Options<T>·=\n····|·ObjectModeOptions\n····|·(T·extends·string\n········?·EncodingOptions\n········:·T·extends·Buffer\n········?·BufferOptions\n········:·SharedOptions)\n}\n\nconst·isObjectModeOptions·=·(\n··o:·Minipass.SharedOptions\n):·o·is·Minipass.ObjectModeOptions·=>·!!o.objectMode\n\nconst·isEncodingOptions·=·(\n··o:·Minipass.SharedOptions\n):·o·is·Minipass.EncodingOptions·=>\n··!o.objectMode·&&·!!o.encoding·&&·o.encoding·!==·'buffer'\n\n/**\n·*·Main·export,·the·Minipass·class\n·*\n·*·`RType`·is·the·type·of·data·emitted,·defaults·to·Buffer\n·*\n·*·`WType`·is·the·type·of·data·to·be·written,·if·RType·is·buffer·or·string,\n·*·then·any·{@link·Minipass.ContiguousData}·is·allowed.\n·*\n·*·`Events`·is·the·set·of·event·handler·signatures·that·this·object\n·*·will·emit,·see·{@link·Minipass.Events}\n·*/\nexport·class·Minipass<\n····RType·extends·unknown·=·Buffer,\n····WType·extends·unknown·=·RType·extends·Minipass.BufferOrString\n······?·Minipass.ContiguousData\n······:·RType,\n····Events·extends·Minipass.Events<RType>·=·Minipass.Events<RType>\n··>\n··extends·EventEmitter\n··implements·Minipass.DualIterable<RType>\n{\n··[FLOWING]:·boolean·=·false;\n··[PAUSED]:·boolean·=·false;\n··[PIPES]:·Pipe<RType>[]·=·[];\n··[BUFFER]:·RType[]·=·[];\n··[OBJECTMODE]:·boolean;\n··[ENCODING]:·BufferEncoding·|·null;\n··[ASYNC]:·boolean;\n··[DECODER]:·SD·|·null;\n··[EOF]:·boolean·=·false;\n··[EMITTED_END]:·boolean·=·false;\n··[EMITTING_END]:·boolean·=·false;\n··[CLOSED]:·boolean·=·false;\n··[EMITTED_ERROR]:·unknown·=·null;\n··[BUFFERLENGTH]:·number·=·0;\n··[DESTROYED]:·boolean·=·false;\n··[SIGNAL]?:·AbortSignal;\n··[ABORTED]:·boolean·=·false;\n··[DATALISTENERS]:·number·=·0;\n··[DISCARDED]:·boolean·=·false\n\n··/**\n···*·true·if·the·stream·can·be·written\n···*/\n··writable:·boolean·=·true\n··/**\n···*·true·if·the·stream·can·be·read\n···*/\n··readable:·boolean·=·true\n\n··/**\n···*·If·`RType`·is·Buffer,·then·options·do·not·need·to·be·provided.\n···*·Otherwise,·an·options·object·must·be·provided·to·specify·either\n···*·{@link·Minipass.SharedOptions.objectMode}·or\n···*·{@link·Minipass.SharedOptions.encoding},·as·appropriate.\n···*/\n··constructor(\n····...args:\n······|·[Minipass.ObjectModeOptions]\n······|·(RType·extends·Buffer\n··········?·[]·|·[Minipass.Options<RType>]\n··········:·[Minipass.Options<RType>])\n··)·{\n····const·options:·Minipass.Options<RType>·=·(args[0]·||\n······{})·as·Minipass.Options<RType>\n····super()\n····if·(options.objectMode·&&·typeof·options.encoding·===·'string')·{\n······throw·new·TypeError(\n········'Encoding·and·objectMode·may·not·be·used·together'\n······)\n····}\n····if·(isObjectModeOptions(options))·{\n······this[OBJECTMODE]·=·true\n······this[ENCODING]·=·null\n····}·else·if·(isEncodingOptions(options))·{\n······this[ENCODING]·=·options.encoding\n······this[OBJECTMODE]·=·false\n····}·else·{\n······this[OBJECTMODE]·=·false\n······this[ENCODING]·=·null\n····}\n····this[ASYNC]·=·!!options.async\n····this[DECODER]·=·this[ENCODING]\n······?·(new·StringDecoder(this[ENCODING])·as·SD)\n······:·null\n\n····//@ts-ignore·-·private·option·for·debugging·and·testing\n····if·(options·&&·options.debugExposeBuffer·===·true)·{\n······Object.defineProperty(this,·'buffer',·{·get:·()·=>·this[BUFFER]·})\n····}\n····//@ts-ignore·-·private·option·for·debugging·and·testing\n····if·(options·&&·options.debugExposePipes·===·true)·{\n······Object.defineProperty(this,·'pipes',·{·get:·()·=>·this[PIPES]·})\n····}\n\n····const·{·signal·}·=·options\n····if·(signal)·{\n······this[SIGNAL]·=·signal\n······if·(signal.aborted)·{\n········this[ABORT]()\n······}·else·{\n········signal.addEventListener('abort',·()·=>·this[ABORT]())\n······}\n····}\n··}\n\n··/**\n···*·The·amount·of·data·stored·in·the·buffer·waiting·to·be·read.\n···*\n···*·For·Buffer·strings,·this·will·be·the·total·byte·length.\n···*·For·string·encoding·streams,·this·will·be·the·string·character·length,\n···*·according·to·JavaScript's·`string.length`·logic.\n···*·For·objectMode·streams,·this·is·a·count·of·the·items·waiting·to·be\n···*·emitted.\n···*/\n··get·bufferLength()·{\n····return·this[BUFFERLENGTH]\n··}\n\n··/**\n···*·The·`BufferEncoding`·currently·in·use,·or·`null`\n···*/\n··get·encoding()·{\n····return·this[ENCODING]\n··}\n\n··/**\n···*·@deprecated·-·This·is·a·read·only·property\n···*/\n··set·encoding(_enc)·{\n····throw·new·Error('Encoding·must·be·set·at·instantiation·time')\n··}\n\n··/**\n···*·@deprecated·-·Encoding·may·only·be·set·at·instantiation·time\n···*/\n··setEncoding(_enc:·Minipass.Encoding)·{\n····throw·new·Error('Encoding·must·be·set·at·instantiation·time')\n··}\n\n··/**\n···*·True·if·this·is·an·objectMode·stream\n···*/\n··get·objectMode()·{\n····return·this[OBJECTMODE]\n··}\n\n··/**\n···*·@deprecated·-·This·is·a·read-only·property\n···*/\n··set·objectMode(_om)·{\n····throw·new·Error('objectMode·must·be·set·at·instantiation·time')\n··}\n\n··/**\n···*·true·if·this·is·an·async·stream\n···*/\n··get·['async']():·boolean·{\n····return·this[ASYNC]\n··}\n··/**\n···*·Set·to·true·to·make·this·stream·async.\n···*\n···*·Once·set,·it·cannot·be·unset,·as·this·would·potentially·cause·incorrect\n···*·behavior.··Ie,·a·sync·stream·can·be·made·async,·but·an·async·stream\n···*·cannot·be·safely·made·sync.\n···*/\n··set·['async'](a:·boolean)·{\n····this[ASYNC]·=·this[ASYNC]·||·!!a\n··}\n\n··//·drop·everything·and·get·out·of·the·flow·completely\n··[ABORT]()·{\n····this[ABORTED]·=·true\n····this.emit('abort',·this[SIGNAL]?.reason)\n····this.destroy(this[SIGNAL]?.reason)\n··}\n\n··/**\n···*·True·if·the·stream·has·been·aborted.\n···*/\n··get·aborted()·{\n····return·this[ABORTED]\n··}\n··/**\n···*·No-op·setter.·Stream·aborted·status·is·set·via·the·AbortSignal·provided\n···*·in·the·constructor·options.\n···*/\n··set·aborted(_)·{}\n\n··/**\n···*·Write·data·into·the·stream\n···*\n···*·If·the·chunk·written·is·a·string,·and·encoding·is·not·specified,·then\n···*·`utf8`·will·be·assumed.·If·the·stream·encoding·matches·the·encoding·of\n···*·a·written·string,·and·the·state·of·the·string·decoder·allows·it,·then\n···*·the·string·will·be·passed·through·to·either·the·output·or·the·internal\n···*·buffer·without·any·processing.·Otherwise,·it·will·be·turned·into·a\n···*·Buffer·object·for·processing·into·the·desired·encoding.\n···*\n···*·If·provided,·`cb`·function·is·called·immediately·before·return·for\n···*·sync·streams,·or·on·next·tick·for·async·streams,·because·for·this\n···*·base·class,·a·chunk·is·considered·\"processed\"·once·it·is·accepted\n···*·and·either·emitted·or·buffered.·That·is,·the·callback·does·not·indicate\n···*·that·the·chunk·has·been·eventually·emitted,·though·of·course·child\n···*·classes·can·override·this·function·to·do·whatever·processing·is·required\n···*·and·call·`super.write(...)`·only·once·processing·is·completed.\n···*/\n··write(chunk:·WType,·cb?:·()·=>·void):·boolean\n··write(\n····chunk:·WType,\n····encoding?:·Minipass.Encoding,\n····cb?:·()·=>·void\n··):·boolean\n··write(\n····chunk:·WType,\n····encoding?:·Minipass.Encoding·|·(()·=>·void),\n····cb?:·()·=>·void\n··):·boolean·{\n····if·(this[ABORTED])·return·false\n····if·(this[EOF])·throw·new·Error('write·after·end')\n\n····if·(this[DESTROYED])·{\n······this.emit(\n········'error',\n········Object.assign(\n··········new·Error('Cannot·call·write·after·a·stream·was·destroyed'),\n··········{·code:·'ERR_STREAM_DESTROYED'·}\n········)\n······)\n······return·true\n····}\n\n····if·(typeof·encoding·===·'function')·{\n······cb·=·encoding\n······encoding·=·'utf8'\n····}\n\n····if·(!encoding)·encoding·=·'utf8'\n\n····const·fn·=·this[ASYNC]·?·defer·:·nodefer\n\n····//·convert·array·buffers·and·typed·array·views·into·buffers\n····//·at·some·point·in·the·future,·we·may·want·to·do·the·opposite!\n····//·leave·strings·and·buffers·as-is\n····//·anything·is·only·allowed·if·in·object·mode,·so·throw\n····if·(!this[OBJECTMODE]·&&·!Buffer.isBuffer(chunk))·{\n······if·(isArrayBufferView(chunk))·{\n········//@ts-ignore·-·sinful·unsafe·type·changing\n········chunk·=·Buffer.from(\n··········chunk.buffer,\n··········chunk.byteOffset,\n··········chunk.byteLength\n········)\n······}·else·if·(isArrayBufferLike(chunk))·{\n········//@ts-ignore·-·sinful·unsafe·type·changing\n········chunk·=·Buffer.from(chunk)\n······}·else·if·(typeof·chunk·!==·'string')·{\n········throw·new·Error(\n··········'Non-contiguous·data·written·to·non-objectMode·stream'\n········)\n······}\n····}\n\n····//·handle·object·mode·up·front,·since·it's·simpler\n····//·this·yields·better·performance,·fewer·checks·later.\n····if·(this[OBJECTMODE])·{\n······//·maybe·impossible?\n······/*·c8·ignore·start·*/\n······if·(this[FLOWING]·&&·this[BUFFERLENGTH]·!==·0)·this[FLUSH](true)\n······/*·c8·ignore·stop·*/\n\n······if·(this[FLOWING])·this.emit('data',·chunk·as·unknown·as·RType)\n······else·this[BUFFERPUSH](chunk·as·unknown·as·RType)\n\n······if·(this[BUFFERLENGTH]·!==·0)·this.emit('readable')\n\n······if·(cb)·fn(cb)\n\n······return·this[FLOWING]\n····}\n\n····//·at·this·point·the·chunk·is·a·buffer·or·string\n····//·don't·buffer·it·up·or·send·it·to·the·decoder\n····if·(!(chunk·as·Minipass.BufferOrString).length)·{\n······if·(this[BUFFERLENGTH]·!==·0)·this.emit('readable')\n······if·(cb)·fn(cb)\n······return·this[FLOWING]\n····}\n\n····//·fast-path·writing·strings·of·same·encoding·to·a·stream·with\n····//·an·empty·buffer,·skipping·the·buffer/decoder·dance\n····if·(\n······typeof·chunk·===·'string'·&&\n······//·unless·it·is·a·string·already·ready·for·us·to·use\n······!(encoding·===·this[ENCODING]·&&·!this[DECODER]?.lastNeed)\n····)·{\n······//@ts-ignore·-·sinful·unsafe·type·change\n······chunk·=·Buffer.from(chunk,·encoding)\n····}\n\n····if·(Buffer.isBuffer(chunk)·&&·this[ENCODING])·{\n······//@ts-ignore·-·sinful·unsafe·type·change\n······chunk·=·this[DECODER].write(chunk)\n····}\n\n····//·Note:·flushing·CAN·potentially·switch·us·into·not-flowing·mode\n····if·(this[FLOWING]·&&·this[BUFFERLENGTH]·!==·0)·this[FLUSH](true)\n\n····if·(this[FLOWING])·this.emit('data',·chunk·as·unknown·as·RType)\n····else·this[BUFFERPUSH](chunk·as·unknown·as·RType)\n\n····if·(this[BUFFERLENGTH]·!==·0)·this.emit('readable')\n\n····if·(cb)·fn(cb)\n\n····return·this[FLOWING]\n··}\n\n··/**\n···*·Low-level·explicit·read·method.\n···*\n···*·In·objectMode,·the·argument·is·ignored,·and·one·item·is·returned·if\n···*·available.\n···*\n···*·`n`·is·the·number·of·bytes·(or·in·the·case·of·encoding·streams,\n···*·characters)·to·consume.·If·`n`·is·not·provided,·then·the·entire·buffer\n···*·is·returned,·or·`null`·is·returned·if·no·data·is·available.\n···*\n···*·If·`n`·is·greater·that·the·amount·of·data·in·the·internal·buffer,\n···*·then·`null`·is·returned.\n···*/\n··read(n?:·number·|·null):·RType·|·null·{\n····if·(this[DESTROYED])·return·null\n····this[DISCARDED]·=·false\n\n····if·(\n······this[BUFFERLENGTH]·===·0·||\n······n·===·0·||\n······(n·&&·n·>·this[BUFFERLENGTH])\n····)·{\n······this[MAYBE_EMIT_END]()\n······return·null\n····}\n\n····if·(this[OBJECTMODE])·n·=·null\n\n····if·(this[BUFFER].length·>·1·&&·!this[OBJECTMODE])·{\n······//·not·object·mode,·so·if·we·have·an·encoding,·then·RType·is·string\n······//·otherwise,·must·be·Buffer\n······this[BUFFER]·=·[\n········(this[ENCODING]\n··········?·this[BUFFER].join('')\n··········:·Buffer.concat(\n··············this[BUFFER]·as·Buffer[],\n··············this[BUFFERLENGTH]\n············))·as·RType,\n······]\n····}\n\n····const·ret·=·this[READ](n·||·null,·this[BUFFER][0]·as·RType)\n····this[MAYBE_EMIT_END]()\n····return·ret\n··}\n\n··[READ](n:·number·|·null,·chunk:·RType)·{\n····if·(this[OBJECTMODE])·this[BUFFERSHIFT]()\n····else·{\n······const·c·=·chunk·as·Minipass.BufferOrString\n······if·(n·===·c.length·||·n·===·null)·this[BUFFERSHIFT]()\n······else·if·(typeof·c·===·'string')·{\n········this[BUFFER][0]·=·c.slice(n)·as·RType\n········chunk·=·c.slice(0,·n)·as·RType\n········this[BUFFERLENGTH]·-=·n\n······}·else·{\n········this[BUFFER][0]·=·c.subarray(n)·as·RType\n········chunk·=·c.subarray(0,·n)·as·RType\n········this[BUFFERLENGTH]·-=·n\n······}\n····}\n\n····this.emit('data',·chunk)\n\n····if·(!this[BUFFER].length·&&·!this[EOF])·this.emit('drain')\n\n····return·chunk\n··}\n\n··/**\n···*·End·the·stream,·optionally·providing·a·final·write.\n···*\n···*·See·{@link·Minipass#write}·for·argument·descriptions\n···*/\n··end(cb?:·()·=>·void):·this\n··end(chunk:·WType,·cb?:·()·=>·void):·this\n··end(chunk:·WType,·encoding?:·Minipass.Encoding,·cb?:·()·=>·void):·this\n··end(\n····chunk?:·WType·|·(()·=>·void),\n····encoding?:·Minipass.Encoding·|·(()·=>·void),\n····cb?:·()·=>·void\n··):·this·{\n····if·(typeof·chunk·===·'function')·{\n······cb·=·chunk·as·()·=>·void\n······chunk·=·undefined\n····}\n····if·(typeof·encoding·===·'function')·{\n······cb·=·encoding\n······encoding·=·'utf8'\n····}\n····if·(chunk·!==·undefined)·this.write(chunk,·encoding)\n····if·(cb)·this.once('end',·cb)\n····this[EOF]·=·true\n····this.writable·=·false\n\n····//·if·we·haven't·written·anything,·then·go·ahead·and·emit,\n····//·even·if·we're·not·reading.\n····//·we'll·re-emit·if·a·new·'end'·listener·is·added·anyway.\n····//·This·makes·MP·more·suitable·to·write-only·use·cases.\n····if·(this[FLOWING]·||·!this[PAUSED])·this[MAYBE_EMIT_END]()\n····return·this\n··}\n\n··//·don't·let·the·internal·resume·be·overwritten\n··[RESUME]()·{\n····if·(this[DESTROYED])·return\n\n····if·(!this[DATALISTENERS]·&&·!this[PIPES].length)·{\n······this[DISCARDED]·=·true\n····}\n····this[PAUSED]·=·false\n····this[FLOWING]·=·true\n····this.emit('resume')\n····if·(this[BUFFER].length)·this[FLUSH]()\n····else·if·(this[EOF])·this[MAYBE_EMIT_END]()\n····else·this.emit('drain')\n··}\n\n··/**\n···*·Resume·the·stream·if·it·is·currently·in·a·paused·state\n···*\n···*·If·called·when·there·are·no·pipe·destinations·or·`data`·event·listeners,\n···*·this·will·place·the·stream·in·a·\"discarded\"·state,·where·all·data·will\n···*·be·thrown·away.·The·discarded·state·is·removed·if·a·pipe·destination·or\n···*·data·handler·is·added,·if·pause()·is·called,·or·if·any·synchronous·or\n···*·asynchronous·iteration·is·started.\n···*/\n··resume()·{\n····return·this[RESUME]()\n··}\n\n··/**\n···*·Pause·the·stream\n···*/\n··pause()·{\n····this[FLOWING]·=·false\n····this[PAUSED]·=·true\n····this[DISCARDED]·=·false\n··}\n\n··/**\n···*·true·if·the·stream·has·been·forcibly·destroyed\n···*/\n··get·destroyed()·{\n····return·this[DESTROYED]\n··}\n\n··/**\n···*·true·if·the·stream·is·currently·in·a·flowing·state,·meaning·that\n···*·any·writes·will·be·immediately·emitted.\n···*/\n··get·flowing()·{\n····return·this[FLOWING]\n··}\n\n··/**\n···*·true·if·the·stream·is·currently·in·a·paused·state\n···*/\n··get·paused()·{\n····return·this[PAUSED]\n··}\n\n··[BUFFERPUSH](chunk:·RType)·{\n····if·(this[OBJECTMODE])·this[BUFFERLENGTH]·+=·1\n····else·this[BUFFERLENGTH]·+=·(chunk·as·Minipass.BufferOrString).length\n····this[BUFFER].push(chunk)\n··}\n\n··[BUFFERSHIFT]():·RType·{\n····if·(this[OBJECTMODE])·this[BUFFERLENGTH]·-=·1\n····else\n······this[BUFFERLENGTH]·-=·(\n········this[BUFFER][0]·as·Minipass.BufferOrString\n······).length\n····return·this[BUFFER].shift()·as·RType\n··}\n\n··[FLUSH](noDrain:·boolean·=·false)·{\n····do·{}·while·(\n······this[FLUSHCHUNK](this[BUFFERSHIFT]())·&&\n······this[BUFFER].length\n····)\n\n····if·(!noDrain·&&·!this[BUFFER].length·&&·!this[EOF])·this.emit('drain')\n··}\n\n··[FLUSHCHUNK](chunk:·RType)·{\n····this.emit('data',·chunk)\n····return·this[FLOWING]\n··}\n\n··/**\n···*·Pipe·all·data·emitted·by·this·stream·into·the·destination·provided.\n···*\n···*·Triggers·the·flow·of·data.\n···*/\n··pipe<W·extends·Minipass.Writable>(dest:·W,·opts?:·PipeOptions):·W·{\n····if·(this[DESTROYED])·return·dest\n····this[DISCARDED]·=·false\n\n····const·ended·=·this[EMITTED_END]\n····opts·=·opts·||·{}\n····if·(dest·===·proc.stdout·||·dest·===·proc.stderr)·opts.end·=·false\n····else·opts.end·=·opts.end·!==·false\n····opts.proxyErrors·=·!!opts.proxyErrors\n\n····//·piping·an·ended·stream·ends·immediately\n····if·(ended)·{\n······if·(opts.end)·dest.end()\n····}·else·{\n······//·\"as\"·here·just·ignores·the·WType,·which·pipes·don't·care·about,\n······//·since·they're·only·consuming·from·us,·and·writing·to·the·dest\n······this[PIPES].push(\n········!opts.proxyErrors\n··········?·new·Pipe<RType>(this·as·Minipass<RType>,·dest,·opts)\n··········:·new·PipeProxyErrors<RType>(this·as·Minipass<RType>,·dest,·opts)\n······)\n······if·(this[ASYNC])·defer(()·=>·this[RESUME]())\n······else·this[RESUME]()\n····}\n\n····return·dest\n··}\n\n··/**\n···*·Fully·unhook·a·piped·destination·stream.\n···*\n···*·If·the·destination·stream·was·the·only·consumer·of·this·stream·(ie,\n···*·there·are·no·other·piped·destinations·or·`'data'`·event·listeners)\n···*·then·the·flow·of·data·will·stop·until·there·is·another·consumer·or\n···*·{@link·Minipass#resume}·is·explicitly·called.\n···*/\n··unpipe<W·extends·Minipass.Writable>(dest:·W)·{\n····const·p·=·this[PIPES].find(p·=>·p.dest·===·dest)\n····if·(p)·{\n······if·(this[PIPES].length·===·1)·{\n········if·(this[FLOWING]·&&·this[DATALISTENERS]·===·0)·{\n··········this[FLOWING]·=·false\n········}\n········this[PIPES]·=·[]\n······}·else·this[PIPES].splice(this[PIPES].indexOf(p),·1)\n······p.unpipe()\n····}\n··}\n\n··/**\n···*·Alias·for·{@link·Minipass#on}\n···*/\n··addListener<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··):·this·{\n····return·this.on(ev,·handler)\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.on`,·with·the·following\n···*·behavior·differences·to·prevent·data·loss·and·unnecessary·hangs:\n···*\n···*·-·Adding·a·'data'·event·handler·will·trigger·the·flow·of·data\n···*\n···*·-·Adding·a·'readable'·event·handler·when·there·is·data·waiting·to·be·read\n···*···will·cause·'readable'·to·be·emitted·immediately.\n···*\n···*·-·Adding·an·'endish'·event·handler·('end',·'finish',·etc.)·which·has\n···*···already·passed·will·cause·the·event·to·be·emitted·immediately·and·all\n···*···handlers·removed.\n···*\n···*·-·Adding·an·'error'·event·handler·after·an·error·has·been·emitted·will\n···*···cause·the·event·to·be·re-emitted·immediately·with·the·error·previously\n···*···raised.\n···*/\n··on<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··):·this·{\n····const·ret·=·super.on(\n······ev·as·string·|·symbol,\n······handler·as·(...a:·any[])·=>·any\n····)\n····if·(ev·===·'data')·{\n······this[DISCARDED]·=·false\n······this[DATALISTENERS]++\n······if·(!this[PIPES].length·&&·!this[FLOWING])·{\n········this[RESUME]()\n······}\n····}·else·if·(ev·===·'readable'·&&·this[BUFFERLENGTH]·!==·0)·{\n······super.emit('readable')\n····}·else·if·(isEndish(ev)·&&·this[EMITTED_END])·{\n······super.emit(ev)\n······this.removeAllListeners(ev)\n····}·else·if·(ev·===·'error'·&&·this[EMITTED_ERROR])·{\n······const·h·=·handler·as·(...a:·Events['error'])·=>·any\n······if·(this[ASYNC])·defer(()·=>·h.call(this,·this[EMITTED_ERROR]))\n······else·h.call(this,·this[EMITTED_ERROR])\n····}\n····return·ret\n··}\n\n··/**\n···*·Alias·for·{@link·Minipass#off}\n···*/\n··removeListener<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··)·{\n····return·this.off(ev,·handler)\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.off`\n···*\n···*·If·a·'data'·event·handler·is·removed,·and·it·was·the·last·consumer\n···*·(ie,·there·are·no·pipe·destinations·or·other·'data'·event·listeners),\n···*·then·the·flow·of·data·will·stop·until·there·is·another·consumer·or\n···*·{@link·Minipass#resume}·is·explicitly·called.\n···*/\n··off<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··)·{\n····const·ret·=·super.off(\n······ev·as·string·|·symbol,\n······handler·as·(...a:·any[])·=>·any\n····)\n····//·if·we·previously·had·listeners,·and·now·we·don't,·and·we·don't\n····//·have·any·pipes,·then·stop·the·flow,·unless·it's·been·explicitly\n····//·put·in·a·discarded·flowing·state·via·stream.resume().\n····if·(ev·===·'data')·{\n······this[DATALISTENERS]·=·this.listeners('data').length\n······if·(\n········this[DATALISTENERS]·===·0·&&\n········!this[DISCARDED]·&&\n········!this[PIPES].length\n······)·{\n········this[FLOWING]·=·false\n······}\n····}\n····return·ret\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.removeAllListeners`\n···*\n···*·If·all·'data'·event·handlers·are·removed,·and·they·were·the·last·consumer\n···*·(ie,·there·are·no·pipe·destinations),·then·the·flow·of·data·will·stop\n···*·until·there·is·another·consumer·or·{@link·Minipass#resume}·is·explicitly\n···*·called.\n···*/\n··removeAllListeners<Event·extends·keyof·Events>(ev?:·Event)·{\n····const·ret·=·super.removeAllListeners(ev·as·string·|·symbol·|·undefined)\n····if·(ev·===·'data'·||·ev·===·undefined)·{\n······this[DATALISTENERS]·=·0\n······if·(!this[DISCARDED]·&&·!this[PIPES].length)·{\n········this[FLOWING]·=·false\n······}\n····}\n····return·ret\n··}\n\n··/**\n···*·true·if·the·'end'·event·has·been·emitted\n···*/\n··get·emittedEnd()·{\n····return·this[EMITTED_END]\n··}\n\n··[MAYBE_EMIT_END]()·{\n····if·(\n······!this[EMITTING_END]·&&\n······!this[EMITTED_END]·&&\n······!this[DESTROYED]·&&\n······this[BUFFER].length·===·0·&&\n······this[EOF]\n····)·{\n······this[EMITTING_END]·=·true\n······this.emit('end')\n······this.emit('prefinish')\n······this.emit('finish')\n······if·(this[CLOSED])·this.emit('close')\n······this[EMITTING_END]·=·false\n····}\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.emit`,·with·the·following\n···*·behavior·differences·to·prevent·data·loss·and·unnecessary·hangs:\n···*\n···*·If·the·stream·has·been·destroyed,·and·the·event·is·something·other\n···*·than·'close'·or·'error',·then·`false`·is·returned·and·no·handlers\n···*·are·called.\n···*\n···*·If·the·event·is·'end',·and·has·already·been·emitted,·then·the·event\n···*·is·ignored.·If·the·stream·is·in·a·paused·or·non-flowing·state,·then\n···*·the·event·will·be·deferred·until·data·flow·resumes.·If·the·stream·is\n···*·async,·then·handlers·will·be·called·on·the·next·tick·rather·than\n···*·immediately.\n···*\n···*·If·the·event·is·'close',·and·'end'·has·not·yet·been·emitted,·then\n···*·the·event·will·be·deferred·until·after·'end'·is·emitted.\n···*\n···*·If·the·event·is·'error',·and·an·AbortSignal·was·provided·for·the·stream,\n···*·and·there·are·no·listeners,·then·the·event·is·ignored,·matching·the\n···*·behavior·of·node·core·streams·in·the·presense·of·an·AbortSignal.\n···*\n···*·If·the·event·is·'finish'·or·'prefinish',·then·all·listeners·will·be\n···*·removed·after·emitting·the·event,·to·prevent·double-firing.\n···*/\n··emit<Event·extends·keyof·Events>(\n····ev:·Event,\n····...args:·Events[Event]\n··):·boolean·{\n····const·data·=·args[0]\n····//·error·and·close·are·only·events·allowed·after·calling·destroy()\n····if·(\n······ev·!==·'error'·&&\n······ev·!==·'close'·&&\n······ev·!==·DESTROYED·&&\n······this[DESTROYED]\n····)·{\n······return·false\n····}·else·if·(ev·===·'data')·{\n······return·!this[OBJECTMODE]·&&·!data\n········?·false\n········:·this[ASYNC]\n········?·(defer(()·=>·this[EMITDATA](data·as·RType)),·true)\n········:·this[EMITDATA](data·as·RType)\n····}·else·if·(ev·===·'end')·{\n······return·this[EMITEND]()\n····}·else·if·(ev·===·'close')·{\n······this[CLOSED]·=·true\n······//·don't·emit·close·before·'end'·and·'finish'\n······if·(!this[EMITTED_END]·&&·!this[DESTROYED])·return·false\n······const·ret·=·super.emit('close')\n······this.removeAllListeners('close')\n······return·ret\n····}·else·if·(ev·===·'error')·{\n······this[EMITTED_ERROR]·=·data\n······super.emit(ERROR,·data)\n······const·ret·=\n········!this[SIGNAL]·||·this.listeners('error').length\n··········?·super.emit('error',·data)\n··········:·false\n······this[MAYBE_EMIT_END]()\n······return·ret\n····}·else·if·(ev·===·'resume')·{\n······const·ret·=·super.emit('resume')\n······this[MAYBE_EMIT_END]()\n······return·ret\n····}·else·if·(ev·===·'finish'·||·ev·===·'prefinish')·{\n······const·ret·=·super.emit(ev)\n······this.removeAllListeners(ev)\n······return·ret\n····}\n\n····//·Some·other·unknown·event\n····const·ret·=·super.emit(ev·as·string,·...args)\n····this[MAYBE_EMIT_END]()\n····return·ret\n··}\n\n··[EMITDATA](data:·RType)·{\n····for·(const·p·of·this[PIPES])·{\n······if·(p.dest.write(data·as·RType)·===·false)·this.pause()\n····}\n····const·ret·=·this[DISCARDED]·?·false·:·super.emit('data',·data)\n····this[MAYBE_EMIT_END]()\n····return·ret\n··}\n\n··[EMITEND]()·{\n····if·(this[EMITTED_END])·return·false\n\n····this[EMITTED_END]·=·true\n····this.readable·=·false\n····return·this[ASYNC]\n······?·(defer(()·=>·this[EMITEND2]()),·true)\n······:·this[EMITEND2]()\n··}\n\n··[EMITEND2]()·{\n····if·(this[DECODER])·{\n······const·data·=·this[DECODER].end()\n······if·(data)·{\n········for·(const·p·of·this[PIPES])·{\n··········p.dest.write(data·as·RType)\n········}\n········if·(!this[DISCARDED])·super.emit('data',·data)\n······}\n····}\n\n····for·(const·p·of·this[PIPES])·{\n······p.end()\n····}\n····const·ret·=·super.emit('end')\n····this.removeAllListeners('end')\n····return·ret\n··}\n\n··/**\n···*·Return·a·Promise·that·resolves·to·an·array·of·all·emitted·data·once\n···*·the·stream·ends.\n···*/\n··async·collect():·Promise<RType[]·&·{·dataLength:·number·}>·{\n····const·buf:·RType[]·&·{·dataLength:·number·}·=·Object.assign([],·{\n······dataLength:·0,\n····})\n····if·(!this[OBJECTMODE])·buf.dataLength·=·0\n····//·set·the·promise·first,·in·case·an·error·is·raised\n····//·by·triggering·the·flow·here.\n····const·p·=·this.promise()\n····this.on('data',·c·=>·{\n······buf.push(c)\n······if·(!this[OBJECTMODE])\n········buf.dataLength·+=·(c·as·Minipass.BufferOrString).length\n····})\n····await·p\n····return·buf\n··}\n\n··/**\n···*·Return·a·Promise·that·resolves·to·the·concatenation·of·all·emitted·data\n···*·once·the·stream·ends.\n···*\n···*·Not·allowed·on·objectMode·streams.\n···*/\n··async·concat():·Promise<RType>·{\n····if·(this[OBJECTMODE])·{\n······throw·new·Error('cannot·concat·in·objectMode')\n····}\n····const·buf·=·await·this.collect()\n····return·(\n······this[ENCODING]\n········?·buf.join('')\n········:·Buffer.concat(buf·as·Buffer[],·buf.dataLength)\n····)·as·RType\n··}\n\n··/**\n···*·Return·a·void·Promise·that·resolves·once·the·stream·ends.\n···*/\n··async·promise():·Promise<void>·{\n····return·new·Promise<void>((resolve,·reject)·=>·{\n······this.on(DESTROYED,·()·=>·reject(new·Error('stream·destroyed')))\n······this.on('error',·er·=>·reject(er))\n······this.on('end',·()·=>·resolve())\n····})\n··}\n\n··/**\n···*·Asynchronous·`for·await·of`·iteration.\n···*\n···*·This·will·continue·emitting·all·chunks·until·the·stream·terminates.\n···*/\n··[Symbol.asyncIterator]():·AsyncGenerator<RType,·void,·void>·{\n····//·set·this·up·front,·in·case·the·consumer·doesn't·call·next()\n····//·right·away.\n····this[DISCARDED]·=·false\n····let·stopped·=·false\n····const·stop·=·async·():·Promise<IteratorReturnResult<void>>·=>·{\n······this.pause()\n······stopped·=·true\n······return·{·value:·undefined,·done:·true·}\n····}\n····const·next·=·():·Promise<IteratorResult<RType,·void>>·=>·{\n······if·(stopped)·return·stop()\n······const·res·=·this.read()\n······if·(res·!==·null)·return·Promise.resolve({·done:·false,·value:·res·})\n\n······if·(this[EOF])·return·stop()\n\n······let·resolve!:·(res:·IteratorResult<RType>)·=>·void\n······let·reject!:·(er:·unknown)·=>·void\n······const·onerr·=·(er:·unknown)·=>·{\n········this.off('data',·ondata)\n········this.off('end',·onend)\n········this.off(DESTROYED,·ondestroy)\n········stop()\n········reject(er)\n······}\n······const·ondata·=·(value:·RType)·=>·{\n········this.off('error',·onerr)\n········this.off('end',·onend)\n········this.off(DESTROYED,·ondestroy)\n········this.pause()\n········resolve({·value,·done:·!!this[EOF]·})\n······}\n······const·onend·=·()·=>·{\n········this.off('error',·onerr)\n········this.off('data',·ondata)\n········this.off(DESTROYED,·ondestroy)\n········stop()\n········resolve({·done:·true,·value:·undefined·})\n······}\n······const·ondestroy·=·()·=>·onerr(new·Error('stream·destroyed'))\n······return·new·Promise<IteratorResult<RType>>((res,·rej)·=>·{\n········reject·=·rej\n········resolve·=·res\n········this.once(DESTROYED,·ondestroy)\n········this.once('error',·onerr)\n········this.once('end',·onend)\n········this.once('data',·ondata)\n······})\n····}\n\n····return·{\n······next,\n······throw:·stop,\n······return:·stop,\n······[Symbol.asyncIterator]()·{\n········return·this\n······},\n····}\n··}\n\n··/**\n···*·Synchronous·`for·of`·iteration.\n···*\n···*·The·iteration·will·terminate·when·the·internal·buffer·runs·out,·even\n···*·if·the·stream·has·not·yet·terminated.\n···*/\n··[Symbol.iterator]():·Generator<RType,·void,·void>·{\n····//·set·this·up·front,·in·case·the·consumer·doesn't·call·next()\n····//·right·away.\n····this[DISCARDED]·=·false\n····let·stopped·=·false\n····const·stop·=·():·IteratorReturnResult<void>·=>·{\n······this.pause()\n······this.off(ERROR,·stop)\n······this.off(DESTROYED,·stop)\n······this.off('end',·stop)\n······stopped·=·true\n······return·{·done:·true,·value:·undefined·}\n····}\n\n····const·next·=·():·IteratorResult<RType,·void>·=>·{\n······if·(stopped)·return·stop()\n······const·value·=·this.read()\n······return·value·===·null·?·stop()·:·{·done:·false,·value·}\n····}\n\n····this.once('end',·stop)\n····this.once(ERROR,·stop)\n····this.once(DESTROYED,·stop)\n\n····return·{\n······next,\n······throw:·stop,\n······return:·stop,\n······[Symbol.iterator]()·{\n········return·this\n······},\n····}\n··}\n\n··/**\n···*·Destroy·a·stream,·preventing·it·from·being·used·for·any·further·purpose.\n···*\n···*·If·the·stream·has·a·`close()`·method,·then·it·will·be·called·on\n···*·destruction.\n···*\n···*·After·destruction,·any·attempt·to·write·data,·read·data,·or·emit·most\n···*·events·will·be·ignored.\n···*\n···*·If·an·error·argument·is·provided,·then·it·will·be·emitted·in·an\n···*·'error'·event.\n···*/\n··destroy(er?:·unknown)·{\n····if·(this[DESTROYED])·{\n······if·(er)·this.emit('error',·er)\n······else·this.emit(DESTROYED)\n······return·this\n····}\n\n····this[DESTROYED]·=·true\n····this[DISCARDED]·=·true\n\n····//·throw·away·all·buffered·data,·it's·never·coming·out\n····this[BUFFER].length·=·0\n····this[BUFFERLENGTH]·=·0\n\n····const·wc·=·this·as·Minipass<RType,·WType,·Events>·&·{\n······close?:·()·=>·void\n····}\n····if·(typeof·wc.close·===·'function'·&&·!this[CLOSED])·wc.close()\n\n····if·(er)·this.emit('error',·er)\n····//·if·no·error·to·emit,·still·reject·pending·promises\n····else·this.emit(DESTROYED)\n\n····return·this\n··}\n\n··/**\n···*·Alias·for·{@link·isStream}\n···*\n···*·Former·export·location,·maintained·for·backwards·compatibility.\n···*\n···*·@deprecated\n···*/\n··static·get·isStream()·{\n····return·isStream\n··}\n}\n",
1004 ········"import·{·LRUCache·}·from·'lru-cache'\nimport·{·posix,·win32·}·from·'node:path'\n\nimport·{·fileURLToPath·}·from·'node:url'\n\nimport·{\n··lstatSync,\n··readdir·as·readdirCB,\n··readdirSync,\n··readlinkSync,\n··realpathSync·as·rps,\n}·from·'fs'\nimport·*·as·actualFS·from·'node:fs'\n\nconst·realpathSync·=·rps.native\n//·TODO:·test·perf·of·fs/promises·realpath·vs·realpathCB,\n//·since·the·promises·one·uses·realpath.native\n\nimport·{·lstat,·readdir,·readlink,·realpath·}·from·'node:fs/promises'\n\nimport·{·Minipass·}·from·'minipass'\nimport·type·{·Dirent,·Stats·}·from·'node:fs'\n\n/**\n·*·An·object·that·will·be·used·to·override·the·default·`fs`\n·*·methods.··Any·methods·that·are·not·overridden·will·use·Node's\n·*·built-in·implementations.\n·*\n·*·-·lstatSync\n·*·-·readdir·(callback·`withFileTypes`·Dirent·variant,·used·for\n·*···readdirCB·and·most·walks)\n·*·-·readdirSync\n·*·-·readlinkSync\n·*·-·realpathSync\n·*·-·promises:·Object·containing·the·following·async·methods:\n·*···-·lstat\n·*···-·readdir·(Dirent·variant·only)\n·*···-·readlink\n·*···-·realpath\n·*/\nexport·interface·FSOption·{\n··lstatSync?:·(path:·string)·=>·Stats\n··readdir?:·(\n····path:·string,\n····options:·{·withFileTypes:·true·},\n····cb:·(er:·NodeJS.ErrnoException·|·null,·entries?:·Dirent[])·=>·any,\n··)·=>·void\n··readdirSync?:·(\n····path:·string,\n····options:·{·withFileTypes:·true·},\n··)·=>·Dirent[]\n··readlinkSync?:·(path:·string)·=>·string\n··realpathSync?:·(path:·string)·=>·string\n··promises?:·{\n····lstat?:·(path:·string)·=>·Promise<Stats>\n····readdir?:·(\n······path:·string,\n······options:·{·withFileTypes:·true·},\n····)·=>·Promise<Dirent[]>\n····readlink?:·(path:·string)·=>·Promise<string>\n····realpath?:·(path:·string)·=>·Promise<string>\n····[k:·string]:·any\n··}\n··[k:·string]:·any\n}\n\ninterface·FSValue·{\n··lstatSync:·(path:·string)·=>·Stats\n··readdir:·(\n····path:·string,\n····options:·{·withFileTypes:·true·},\n····cb:·(er:·NodeJS.ErrnoException·|·null,·entries?:·Dirent[])·=>·any,\n··)·=>·void\n··readdirSync:·(path:·string,·options:·{·withFileTypes:·true·})·=>·Dirent[]\n··readlinkSync:·(path:·string)·=>·string\n··realpathSync:·(path:·string)·=>·string\n··promises:·{\n····lstat:·(path:·string)·=>·Promise<Stats>\n····readdir:·(\n······path:·string,\n······options:·{·withFileTypes:·true·},\n····)·=>·Promise<Dirent[]>\n····readlink:·(path:·string)·=>·Promise<string>\n····realpath:·(path:·string)·=>·Promise<string>\n····[k:·string]:·any\n··}\n··[k:·string]:·any\n}\n\nconst·defaultFS:·FSValue·=·{\n··lstatSync,\n··readdir:·readdirCB,\n··readdirSync,\n··readlinkSync,\n··realpathSync,\n··promises:·{\n····lstat,\n····readdir,\n····readlink,\n····realpath,\n··},\n}\n\n//·if·they·just·gave·us·require('fs')·then·use·our·default\nconst·fsFromOption·=·(fsOption?:·FSOption):·FSValue·=>\n··!fsOption·||·fsOption·===·defaultFS·||·fsOption·===·actualFS·?\n····defaultFS\n··:·{\n······...defaultFS,\n······...fsOption,\n······promises:·{\n········...defaultFS.promises,\n········...(fsOption.promises·||·{}),\n······},\n····}\n\n//·turn·something·like·//?/c:/·into·c:\\\nconst·uncDriveRegexp·=·/^\\\\\\\\\\?\\\\([a-z]:)\\\\?$/i\nconst·uncToDrive·=·(rootPath:·string):·string·=>\n··rootPath.replace(/\\//g,·'\\\\').replace(uncDriveRegexp,·'$1\\\\')\n\n//·windows·paths·are·separated·by·either·/·or·\\\nconst·eitherSep·=·/[\\\\\\/]/\n\nconst·UNKNOWN·=·0·//·may·not·even·exist,·for·all·we·know\nconst·IFIFO·=·0b0001\nconst·IFCHR·=·0b0010\nconst·IFDIR·=·0b0100\nconst·IFBLK·=·0b0110\nconst·IFREG·=·0b1000\nconst·IFLNK·=·0b1010\nconst·IFSOCK·=·0b1100\nconst·IFMT·=·0b1111\n\nexport·type·Type·=\n··|·'Unknown'\n··|·'FIFO'\n··|·'CharacterDevice'\n··|·'Directory'\n··|·'BlockDevice'\n··|·'File'\n··|·'SymbolicLink'\n··|·'Socket'\n\n//·mask·to·unset·low·4·bits\nconst·IFMT_UNKNOWN·=·~IFMT\n\n//·set·after·successfully·calling·readdir()·and·getting·entries.\nconst·READDIR_CALLED·=·0b0000_0001_0000\n//·set·after·a·successful·lstat()\nconst·LSTAT_CALLED·=·0b0000_0010_0000\n//·set·if·an·entry·(or·one·of·its·parents)·is·definitely·not·a·dir\nconst·ENOTDIR·=·0b0000_0100_0000\n//·set·if·an·entry·(or·one·of·its·parents)·does·not·exist\n//·(can·also·be·set·on·lstat·errors·like·EACCES·or·ENAMETOOLONG)\nconst·ENOENT·=·0b0000_1000_0000\n//·cannot·have·child·entries·--·also·verify·&IFMT·is·either·IFDIR·or·IFLNK\n//·set·if·we·fail·to·readlink\nconst·ENOREADLINK·=·0b0001_0000_0000\n//·set·if·we·know·realpath()·will·fail\nconst·ENOREALPATH·=·0b0010_0000_0000\n\nconst·ENOCHILD·=·ENOTDIR·|·ENOENT·|·ENOREALPATH\nconst·TYPEMASK·=·0b0011_1111_1111\n\nconst·entToType·=·(s:·Dirent·|·Stats)·=>\n··s.isFile()·?·IFREG\n··:·s.isDirectory()·?·IFDIR\n··:·s.isSymbolicLink()·?·IFLNK\n··:·s.isCharacterDevice()·?·IFCHR\n··:·s.isBlockDevice()·?·IFBLK\n··:·s.isSocket()·?·IFSOCK\n··:·s.isFIFO()·?·IFIFO\n··:·UNKNOWN\n\n//·normalize·unicode·path·names\nconst·normalizeCache·=·new·LRUCache<string,·string>({·max:·2·**·12·})\nconst·normalize·=·(s:·string)·=>·{\n··const·c·=·normalizeCache.get(s)\n··if·(c)·return·c\n··const·n·=·s.normalize('NFKD')\n··normalizeCache.set(s,·n)\n··return·n\n}\n\nconst·normalizeNocaseCache·=·new·LRUCache<string,·string>({·max:·2·**·12·})\nconst·normalizeNocase·=·(s:·string)·=>·{\n··const·c·=·normalizeNocaseCache.get(s)\n··if·(c)·return·c\n··const·n·=·normalize(s.toLowerCase())\n··normalizeNocaseCache.set(s,·n)\n··return·n\n}\n\n/**\n·*·Options·that·may·be·provided·to·the·Path·constructor\n·*/\nexport·interface·PathOpts·{\n··fullpath?:·string\n··relative?:·string\n··relativePosix?:·string\n··parent?:·PathBase\n··/**\n···*·See·{@link·FSOption}\n···*/\n··fs?:·FSOption\n}\n\n/**\n·*·An·LRUCache·for·storing·resolved·path·strings·or·Path·objects.\n·*·@internal\n·*/\nexport·class·ResolveCache·extends·LRUCache<string,·string>·{\n··constructor()·{\n····super({·max:·256·})\n··}\n}\n\n//·In·order·to·prevent·blowing·out·the·js·heap·by·allocating·hundreds·of\n//·thousands·of·Path·entries·when·walking·extremely·large·trees,·the·\"children\"\n//·in·this·tree·are·represented·by·storing·an·array·of·Path·entries·in·an\n//·LRUCache,·indexed·by·the·parent.··At·any·time,·Path.children()·may·return·an\n//·empty·array,·indicating·that·it·doesn't·know·about·any·of·its·children,·and\n//·thus·has·to·rebuild·that·cache.··This·is·fine,·it·just·means·that·we·don't\n//·benefit·as·much·from·having·the·cached·entries,·but·huge·directory·walks\n//·don't·blow·out·the·stack,·and·smaller·ones·are·still·as·fast·as·possible.\n//\n//It·does·impose·some·complexity·when·building·up·the·readdir·data,·because·we\n//need·to·pass·a·reference·to·the·children·array·that·we·started·with.\n\n/**\n·*·an·LRUCache·for·storing·child·entries.\n·*·@internal\n·*/\nexport·class·ChildrenCache·extends·LRUCache<PathBase,·Children>·{\n··constructor(maxSize:·number·=·16·*·1024)·{\n····super({\n······maxSize,\n······//·parent·+·children\n······sizeCalculation:·a·=>·a.length·+·1,\n····})\n··}\n}\n\n/**\n·*·Array·of·Path·objects,·plus·a·marker·indicating·the·first·provisional·entry\n·*\n·*·@internal\n·*/\nexport·type·Children·=·PathBase[]·&·{·provisional:·number·}\n\nconst·setAsCwd·=·Symbol('PathScurry·setAsCwd')\n\n/**\n·*·Path·objects·are·sort·of·like·a·super-powered\n·*·{@link·https://nodejs.org/docs/latest/api/fs.html#class-fsdirent·fs.Dirent}\n·*\n·*·Each·one·represents·a·single·filesystem·entry·on·disk,·which·may·or·may·not\n·*·exist.·It·includes·methods·for·reading·various·types·of·information·via\n·*·lstat,·readlink,·and·readdir,·and·caches·all·information·to·the·greatest\n·*·degree·possible.\n·*\n·*·Note·that·fs·operations·that·would·normally·throw·will·instead·return·an\n·*·\"empty\"·value.·This·is·in·order·to·prevent·excessive·overhead·from·error\n·*·stack·traces.\n·*/\nexport·abstract·class·PathBase·implements·Dirent·{\n··/**\n···*·the·basename·of·this·path\n···*\n···*·**Important**:·*always*·test·the·path·name·against·any·test·string\n···*·usingthe·{@link·isNamed}·method,·and·not·by·directly·comparing·this\n···*·string.·Otherwise,·unicode·path·strings·that·the·system·sees·as·identical\n···*·will·not·be·properly·treated·as·the·same·path,·leading·to·incorrect\n···*·behavior·and·possible·security·issues.\n···*/\n··name:·string\n··/**\n···*·the·Path·entry·corresponding·to·the·path·root.\n···*\n···*·@internal\n···*/\n··root:·PathBase\n··/**\n···*·All·roots·found·within·the·current·PathScurry·family\n···*\n···*·@internal\n···*/\n··roots:·{·[k:·string]:·PathBase·}\n··/**\n···*·a·reference·to·the·parent·path,·or·undefined·in·the·case·of·root·entries\n···*\n···*·@internal\n···*/\n··parent?:·PathBase\n··/**\n···*·boolean·indicating·whether·paths·are·compared·case-insensitively\n···*·@internal\n···*/\n··nocase:·boolean\n\n··/**\n···*·boolean·indicating·that·this·path·is·the·current·working·directory\n···*·of·the·PathScurry·collection·that·contains·it.\n···*/\n··isCWD:·boolean·=·false\n\n··/**\n···*·the·string·or·regexp·used·to·split·paths.·On·posix,·it·is·`'/'`,·and·on\n···*·windows·it·is·a·RegExp·matching·either·`'/'`·or·`'\\\\'`\n···*/\n··abstract·splitSep:·string·|·RegExp\n··/**\n···*·The·path·separator·string·to·use·when·joining·paths\n···*/\n··abstract·sep:·string\n\n··//·potential·default·fs·override\n··#fs:·FSValue\n\n··//·Stats·fields\n··#dev?:·number\n··get·dev()·{\n····return·this.#dev\n··}\n··#mode?:·number\n··get·mode()·{\n····return·this.#mode\n··}\n··#nlink?:·number\n··get·nlink()·{\n····return·this.#nlink\n··}\n··#uid?:·number\n··get·uid()·{\n····return·this.#uid\n··}\n··#gid?:·number\n··get·gid()·{\n····return·this.#gid\n··}\n··#rdev?:·number\n··get·rdev()·{\n····return·this.#rdev\n··}\n··#blksize?:·number\n··get·blksize()·{\n····return·this.#blksize\n··}\n··#ino?:·number\n··get·ino()·{\n····return·this.#ino\n··}\n··#size?:·number\n··get·size()·{\n····return·this.#size\n··}\n··#blocks?:·number\n··get·blocks()·{\n····return·this.#blocks\n··}\n··#atimeMs?:·number\n··get·atimeMs()·{\n····return·this.#atimeMs\n··}\n··#mtimeMs?:·number\n··get·mtimeMs()·{\n····return·this.#mtimeMs\n··}\n··#ctimeMs?:·number\n··get·ctimeMs()·{\n····return·this.#ctimeMs\n··}\n··#birthtimeMs?:·number\n··get·birthtimeMs()·{\n····return·this.#birthtimeMs\n··}\n··#atime?:·Date\n··get·atime()·{\n····return·this.#atime\n··}\n··#mtime?:·Date\n··get·mtime()·{\n····return·this.#mtime\n··}\n··#ctime?:·Date\n··get·ctime()·{\n····return·this.#ctime\n··}\n··#birthtime?:·Date\n··get·birthtime()·{\n····return·this.#birthtime\n··}\n\n··#matchName:·string\n··#depth?:·number\n··#fullpath?:·string\n··#fullpathPosix?:·string\n··#relative?:·string\n··#relativePosix?:·string\n··#type:·number\n··#children:·ChildrenCache\n··#linkTarget?:·PathBase\n··#realpath?:·PathBase\n\n··/**\n···*·This·property·is·for·compatibility·with·the·Dirent·class·as·of\n···*·Node·v20,·where·Dirent['parentPath']·refers·to·the·path·of·the\n···*·directory·that·was·passed·to·readdir.·For·root·entries,·it's·the·path\n···*·to·the·entry·itself.\n···*/\n··get·parentPath():·string·{\n····return·(this.parent·||·this).fullpath()\n··}\n\n··/*·c8·ignore·start·*/\n··/**\n···*·Deprecated·alias·for·Dirent['parentPath']·Somewhat·counterintuitively,\n···*·this·property·refers·to·the·*parent*·path,·not·the·path·object·itself.\n···*\n···*·@deprecated\n···*/\n··get·path():·string·{\n····return·this.parentPath\n··}\n··/*·c8·ignore·stop·*/\n\n··/**\n···*·Do·not·create·new·Path·objects·directly.··They·should·always·be·accessed\n···*·via·the·PathScurry·class·or·other·methods·on·the·Path·class.\n···*\n···*·@internal\n···*/\n··constructor(\n····name:·string,\n····type:·number·=·UNKNOWN,\n····root:·PathBase·|·undefined,\n····roots:·{·[k:·string]:·PathBase·},\n····nocase:·boolean,\n····children:·ChildrenCache,\n····opts:·PathOpts,\n··)·{\n····this.name·=·name\n····this.#matchName·=·nocase·?·normalizeNocase(name)·:·normalize(name)\n····this.#type·=·type·&·TYPEMASK\n····this.nocase·=·nocase\n····this.roots·=·roots\n····this.root·=·root·||·this\n····this.#children·=·children\n····this.#fullpath·=·opts.fullpath\n····this.#relative·=·opts.relative\n····this.#relativePosix·=·opts.relativePosix\n····this.parent·=·opts.parent\n····if·(this.parent)·{\n······this.#fs·=·this.parent.#fs\n····}·else·{\n······this.#fs·=·fsFromOption(opts.fs)\n····}\n··}\n\n··/**\n···*·Returns·the·depth·of·the·Path·object·from·its·root.\n···*\n···*·For·example,·a·path·at·`/foo/bar`·would·have·a·depth·of·2.\n···*/\n··depth():·number·{\n····if·(this.#depth·!==·undefined)·return·this.#depth\n····if·(!this.parent)·return·(this.#depth·=·0)\n····return·(this.#depth·=·this.parent.depth()·+·1)\n··}\n\n··/**\n···*·@internal\n···*/\n··abstract·getRootString(path:·string):·string\n··/**\n···*·@internal\n···*/\n··abstract·getRoot(rootPath:·string):·PathBase\n··/**\n···*·@internal\n···*/\n··abstract·newChild(name:·string,·type?:·number,·opts?:·PathOpts):·PathBase\n\n··/**\n···*·@internal\n···*/\n··childrenCache()·{\n····return·this.#children\n··}\n\n··/**\n···*·Get·the·Path·object·referenced·by·the·string·path,·resolved·from·this·Path\n···*/\n··resolve(path?:·string):·PathBase·{\n····if·(!path)·{\n······return·this\n····}\n····const·rootPath·=·this.getRootString(path)\n····const·dir·=·path.substring(rootPath.length)\n····const·dirParts·=·dir.split(this.splitSep)\n····const·result:·PathBase·=\n······rootPath·?\n········this.getRoot(rootPath).#resolveParts(dirParts)\n······:·this.#resolveParts(dirParts)\n····return·result\n··}\n\n··#resolveParts(dirParts:·string[])·{\n····let·p:·PathBase·=·this\n····for·(const·part·of·dirParts)·{\n······p·=·p.child(part)\n····}\n····return·p\n··}\n\n··/**\n···*·Returns·the·cached·children·Path·objects,·if·still·available.··If·they\n···*·have·fallen·out·of·the·cache,·then·returns·an·empty·array,·and·resets·the\n···*·READDIR_CALLED·bit,·so·that·future·calls·to·readdir()·will·require·an·fs\n···*·lookup.\n···*\n···*·@internal\n···*/\n··children():·Children·{\n····const·cached·=·this.#children.get(this)\n····if·(cached)·{\n······return·cached\n····}\n····const·children:·Children·=·Object.assign([],·{·provisional:·0·})\n····this.#children.set(this,·children)\n····this.#type·&=·~READDIR_CALLED\n····return·children\n··}\n\n··/**\n···*·Resolves·a·path·portion·and·returns·or·creates·the·child·Path.\n···*\n···*·Returns·`this`·if·pathPart·is·`''`·or·`'.'`,·or·`parent`·if·pathPart·is\n···*·`'..'`.\n···*\n···*·This·should·not·be·called·directly.··If·`pathPart`·contains·any·path\n···*·separators,·it·will·lead·to·unsafe·undefined·behavior.\n···*\n···*·Use·`Path.resolve()`·instead.\n···*\n···*·@internal\n···*/\n··child(pathPart:·string,·opts?:·PathOpts):·PathBase·{\n····if·(pathPart·===·''·||·pathPart·===·'.')·{\n······return·this\n····}\n····if·(pathPart·===·'..')·{\n······return·this.parent·||·this\n····}\n\n····//·find·the·child\n····const·children·=·this.children()\n····const·name·=\n······this.nocase·?·normalizeNocase(pathPart)·:·normalize(pathPart)\n····for·(const·p·of·children)·{\n······if·(p.#matchName·===·name)·{\n········return·p\n······}\n····}\n\n····//·didn't·find·it,·create·provisional·child,·since·it·might·not\n····//·actually·exist.··If·we·know·the·parent·isn't·a·dir,·then\n····//·in·fact·it·CAN'T·exist.\n····const·s·=·this.parent·?·this.sep·:·''\n····const·fullpath·=\n······this.#fullpath·?·this.#fullpath·+·s·+·pathPart·:·undefined\n····const·pchild·=·this.newChild(pathPart,·UNKNOWN,·{\n······...opts,\n······parent:·this,\n······fullpath,\n····})\n\n····if·(!this.canReaddir())·{\n······pchild.#type·|=·ENOENT\n····}\n\n····//·don't·have·to·update·provisional,·because·if·we·have·real·children,\n····//·then·provisional·is·set·to·children.length,·otherwise·a·lower·number\n····children.push(pchild)\n····return·pchild\n··}\n\n··/**\n···*·The·relative·path·from·the·cwd.·If·it·does·not·share·an·ancestor·with\n···*·the·cwd,·then·this·ends·up·being·equivalent·to·the·fullpath()\n···*/\n··relative():·string·{\n····if·(this.isCWD)·return·''\n····if·(this.#relative·!==·undefined)·{\n······return·this.#relative\n····}\n····const·name·=·this.name\n····const·p·=·this.parent\n····if·(!p)·{\n······return·(this.#relative·=·this.name)\n····}\n····const·pv·=·p.relative()\n····return·pv·+·(!pv·||·!p.parent·?·''·:·this.sep)·+·name\n··}\n\n··/**\n···*·The·relative·path·from·the·cwd,·using·/·as·the·path·separator.\n···*·If·it·does·not·share·an·ancestor·with\n···*·the·cwd,·then·this·ends·up·being·equivalent·to·the·fullpathPosix()\n···*·On·posix·systems,·this·is·identical·to·relative().\n···*/\n··relativePosix():·string·{\n····if·(this.sep·===·'/')·return·this.relative()\n····if·(this.isCWD)·return·''\n····if·(this.#relativePosix·!==·undefined)·return·this.#relativePosix\n····const·name·=·this.name\n····const·p·=·this.parent\n····if·(!p)·{\n······return·(this.#relativePosix·=·this.fullpathPosix())\n····}\n····const·pv·=·p.relativePosix()\n····return·pv·+·(!pv·||·!p.parent·?·''·:·'/')·+·name\n··}\n\n··/**\n···*·The·fully·resolved·path·string·for·this·Path·entry\n···*/\n··fullpath():·string·{\n····if·(this.#fullpath·!==·undefined)·{\n······return·this.#fullpath\n····}\n····const·name·=·this.name\n····const·p·=·this.parent\n····if·(!p)·{\n······return·(this.#fullpath·=·this.name)\n····}\n····const·pv·=·p.fullpath()\n····const·fp·=·pv·+·(!p.parent·?·''·:·this.sep)·+·name\n····return·(this.#fullpath·=·fp)\n··}\n\n··/**\n···*·On·platforms·other·than·windows,·this·is·identical·to·fullpath.\n···*\n···*·On·windows,·this·is·overridden·to·return·the·forward-slash·form·of·the\n···*·full·UNC·path.\n···*/\n··fullpathPosix():·string·{\n····if·(this.#fullpathPosix·!==·undefined)·return·this.#fullpathPosix\n····if·(this.sep·===·'/')·return·(this.#fullpathPosix·=·this.fullpath())\n····if·(!this.parent)·{\n······const·p·=·this.fullpath().replace(/\\\\/g,·'/')\n······if·(/^[a-z]:\\//i.test(p))·{\n········return·(this.#fullpathPosix·=·`//?/${p}`)\n······}·else·{\n········return·(this.#fullpathPosix·=·p)\n······}\n····}\n····const·p·=·this.parent\n····const·pfpp·=·p.fullpathPosix()\n····const·fpp·=·pfpp·+·(!pfpp·||·!p.parent·?·''·:·'/')·+·this.name\n····return·(this.#fullpathPosix·=·fpp)\n··}\n\n··/**\n···*·Is·the·Path·of·an·unknown·type?\n···*\n···*·Note·that·we·might·know·*something*·about·it·if·there·has·been·a·previous\n···*·filesystem·operation,·for·example·that·it·does·not·exist,·or·is·not·a\n···*·link,·or·whether·it·has·child·entries.\n···*/\n··isUnknown():·boolean·{\n····return·(this.#type·&·IFMT)·===·UNKNOWN\n··}\n\n··isType(type:·Type):·boolean·{\n····return·this[`is${type}`]()\n··}\n\n··getType():·Type·{\n····return·(\n······this.isUnknown()·?·'Unknown'\n······:·this.isDirectory()·?·'Directory'\n······:·this.isFile()·?·'File'\n······:·this.isSymbolicLink()·?·'SymbolicLink'\n······:·this.isFIFO()·?·'FIFO'\n······:·this.isCharacterDevice()·?·'CharacterDevice'\n······:·this.isBlockDevice()·?·'BlockDevice'\n······:·/*·c8·ignore·start·*/·this.isSocket()·?·'Socket'\n······:·'Unknown'\n····)\n····/*·c8·ignore·stop·*/\n··}\n\n··/**\n···*·Is·the·Path·a·regular·file?\n···*/\n··isFile():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFREG\n··}\n\n··/**\n···*·Is·the·Path·a·directory?\n···*/\n··isDirectory():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFDIR\n··}\n\n··/**\n···*·Is·the·path·a·character·device?\n···*/\n··isCharacterDevice():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFCHR\n··}\n\n··/**\n···*·Is·the·path·a·block·device?\n···*/\n··isBlockDevice():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFBLK\n··}\n\n··/**\n···*·Is·the·path·a·FIFO·pipe?\n···*/\n··isFIFO():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFIFO\n··}\n\n··/**\n···*·Is·the·path·a·socket?\n···*/\n··isSocket():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFSOCK\n··}\n\n··/**\n···*·Is·the·path·a·symbolic·link?\n···*/\n··isSymbolicLink():·boolean·{\n····return·(this.#type·&·IFLNK)·===·IFLNK\n··}\n\n··/**\n···*·Return·the·entry·if·it·has·been·subject·of·a·successful·lstat,·or\n···*·undefined·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·undefined·result·*could*·simply\n···*·mean·that·we·haven't·called·lstat·on·it.\n···*/\n··lstatCached():·PathBase·|·undefined·{\n····return·this.#type·&·LSTAT_CALLED·?·this·:·undefined\n··}\n\n··/**\n···*·Return·the·cached·link·target·if·the·entry·has·been·the·subject·of·a\n···*·successful·readlink,·or·undefined·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·undefined·result·*could*·just·mean·we\n···*·don't·have·any·cached·data.·Only·use·it·if·you·are·very·sure·that·a\n···*·readlink()·has·been·called·at·some·point.\n···*/\n··readlinkCached():·PathBase·|·undefined·{\n····return·this.#linkTarget\n··}\n\n··/**\n···*·Returns·the·cached·realpath·target·if·the·entry·has·been·the·subject\n···*·of·a·successful·realpath,·or·undefined·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·undefined·result·*could*·just·mean·we\n···*·don't·have·any·cached·data.·Only·use·it·if·you·are·very·sure·that·a\n···*·realpath()·has·been·called·at·some·point.\n···*/\n··realpathCached():·PathBase·|·undefined·{\n····return·this.#realpath\n··}\n\n··/**\n···*·Returns·the·cached·child·Path·entries·array·if·the·entry·has·been·the\n···*·subject·of·a·successful·readdir(),·or·[]·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·empty·array·*could*·just·mean·we\n···*·don't·have·any·cached·data.·Only·use·it·if·you·are·very·sure·that·a\n···*·readdir()·has·been·called·recently·enough·to·still·be·valid.\n···*/\n··readdirCached():·PathBase[]·{\n····const·children·=·this.children()\n····return·children.slice(0,·children.provisional)\n··}\n\n··/**\n···*·Return·true·if·it's·worth·trying·to·readlink.··Ie,·we·don't·(yet)·have\n···*·any·indication·that·readlink·will·definitely·fail.\n···*\n···*·Returns·false·if·the·path·is·known·to·not·be·a·symlink,·if·a·previous\n···*·readlink·failed,·or·if·the·entry·does·not·exist.\n···*/\n··canReadlink():·boolean·{\n····if·(this.#linkTarget)·return·true\n····if·(!this.parent)·return·false\n····//·cases·where·it·cannot·possibly·succeed\n····const·ifmt·=·this.#type·&·IFMT\n····return·!(\n······(ifmt·!==·UNKNOWN·&&·ifmt·!==·IFLNK)·||\n······this.#type·&·ENOREADLINK·||\n······this.#type·&·ENOENT\n····)\n··}\n\n··/**\n···*·Return·true·if·readdir·has·previously·been·successfully·called·on·this\n···*·path,·indicating·that·cachedReaddir()·is·likely·valid.\n···*/\n··calledReaddir():·boolean·{\n····return·!!(this.#type·&·READDIR_CALLED)\n··}\n\n··/**\n···*·Returns·true·if·the·path·is·known·to·not·exist.·That·is,·a·previous·lstat\n···*·or·readdir·failed·to·verify·its·existence·when·that·would·have·been\n···*·expected,·or·a·parent·entry·was·marked·either·enoent·or·enotdir.\n···*/\n··isENOENT():·boolean·{\n····return·!!(this.#type·&·ENOENT)\n··}\n\n··/**\n···*·Return·true·if·the·path·is·a·match·for·the·given·path·name.··This·handles\n···*·case·sensitivity·and·unicode·normalization.\n···*\n···*·Note:·even·on·case-sensitive·systems,·it·is·**not**·safe·to·test·the\n···*·equality·of·the·`.name`·property·to·determine·whether·a·given·pathname\n···*·matches,·due·to·unicode·normalization·mismatches.\n···*\n···*·Always·use·this·method·instead·of·testing·the·`path.name`·property\n···*·directly.\n···*/\n··isNamed(n:·string):·boolean·{\n····return·!this.nocase·?\n········this.#matchName·===·normalize(n)\n······:·this.#matchName·===·normalizeNocase(n)\n··}\n\n··/**\n···*·Return·the·Path·object·corresponding·to·the·target·of·a·symbolic·link.\n···*\n···*·If·the·Path·is·not·a·symbolic·link,·or·if·the·readlink·call·fails·for·any\n···*·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*/\n··async·readlink():·Promise<PathBase·|·undefined>·{\n····const·target·=·this.#linkTarget\n····if·(target)·{\n······return·target\n····}\n····if·(!this.canReadlink())·{\n······return·undefined\n····}\n····/*·c8·ignore·start·*/\n····//·already·covered·by·the·canReadlink·test,·here·for·ts·grumples\n····if·(!this.parent)·{\n······return·undefined\n····}\n····/*·c8·ignore·stop·*/\n····try·{\n······const·read·=·await·this.#fs.promises.readlink(this.fullpath())\n······const·linkTarget·=·(await·this.parent.realpath())?.resolve(read)\n······if·(linkTarget)·{\n········return·(this.#linkTarget·=·linkTarget)\n······}\n····}·catch·(er)·{\n······this.#readlinkFail((er·as·NodeJS.ErrnoException).code)\n······return·undefined\n····}\n··}\n\n··/**\n···*·Synchronous·{@link·PathBase.readlink}\n···*/\n··readlinkSync():·PathBase·|·undefined·{\n····const·target·=·this.#linkTarget\n····if·(target)·{\n······return·target\n····}\n····if·(!this.canReadlink())·{\n······return·undefined\n····}\n····/*·c8·ignore·start·*/\n····//·already·covered·by·the·canReadlink·test,·here·for·ts·grumples\n····if·(!this.parent)·{\n······return·undefined\n····}\n····/*·c8·ignore·stop·*/\n····try·{\n······const·read·=·this.#fs.readlinkSync(this.fullpath())\n······const·linkTarget·=·this.parent.realpathSync()?.resolve(read)\n······if·(linkTarget)·{\n········return·(this.#linkTarget·=·linkTarget)\n······}\n····}·catch·(er)·{\n······this.#readlinkFail((er·as·NodeJS.ErrnoException).code)\n······return·undefined\n····}\n··}\n\n··#readdirSuccess(children:·Children)·{\n····//·succeeded,·mark·readdir·called·bit\n····this.#type·|=·READDIR_CALLED\n····//·mark·all·remaining·provisional·children·as·ENOENT\n····for·(let·p·=·children.provisional;·p·<·children.length;·p++)·{\n······const·c·=·children[p]\n······if·(c)·c.#markENOENT()\n····}\n··}\n\n··#markENOENT()·{\n····//·mark·as·UNKNOWN·and·ENOENT\n····if·(this.#type·&·ENOENT)·return\n····this.#type·=·(this.#type·|·ENOENT)·&·IFMT_UNKNOWN\n····this.#markChildrenENOENT()\n··}\n\n··#markChildrenENOENT()·{\n····//·all·children·are·provisional·and·do·not·exist\n····const·children·=·this.children()\n····children.provisional·=·0\n····for·(const·p·of·children)·{\n······p.#markENOENT()\n····}\n··}\n\n··#markENOREALPATH()·{\n····this.#type·|=·ENOREALPATH\n····this.#markENOTDIR()\n··}\n\n··//·save·the·information·when·we·know·the·entry·is·not·a·dir\n··#markENOTDIR()·{\n····//·entry·is·not·a·directory,·so·any·children·can't·exist.\n····//·this·*should*·be·impossible,·since·any·children·created\n····//·after·it's·been·marked·ENOTDIR·should·be·marked·ENOENT,\n····//·so·it·won't·even·get·to·this·point.\n····/*·c8·ignore·start·*/\n····if·(this.#type·&·ENOTDIR)·return\n····/*·c8·ignore·stop·*/\n····let·t·=·this.#type\n····//·this·could·happen·if·we·stat·a·dir,·then·delete·it,\n····//·then·try·to·read·it·or·one·of·its·children.\n····if·((t·&·IFMT)·===·IFDIR)·t·&=·IFMT_UNKNOWN\n····this.#type·=·t·|·ENOTDIR\n····this.#markChildrenENOENT()\n··}\n\n··#readdirFail(code:·string·=·'')·{\n····//·markENOTDIR·and·markENOENT·also·set·provisional=0\n····if·(code·===·'ENOTDIR'·||·code·===·'EPERM')·{\n······this.#markENOTDIR()\n····}·else·if·(code·===·'ENOENT')·{\n······this.#markENOENT()\n····}·else·{\n······this.children().provisional·=·0\n····}\n··}\n\n··#lstatFail(code:·string·=·'')·{\n····//·Windows·just·raises·ENOENT·in·this·case,·disable·for·win·CI\n····/*·c8·ignore·start·*/\n····if·(code·===·'ENOTDIR')·{\n······//·already·know·it·has·a·parent·by·this·point\n······const·p·=·this.parent·as·PathBase\n······p.#markENOTDIR()\n····}·else·if·(code·===·'ENOENT')·{\n······/*·c8·ignore·stop·*/\n······this.#markENOENT()\n····}\n··}\n\n··#readlinkFail(code:·string·=·'')·{\n····let·ter·=·this.#type\n····ter·|=·ENOREADLINK\n····if·(code·===·'ENOENT')·ter·|=·ENOENT\n····//·windows·gets·a·weird·error·when·you·try·to·readlink·a·file\n····if·(code·===·'EINVAL'·||·code·===·'UNKNOWN')·{\n······//·exists,·but·not·a·symlink,·we·don't·know·WHAT·it·is,·so·remove\n······//·all·IFMT·bits.\n······ter·&=·IFMT_UNKNOWN\n····}\n····this.#type·=·ter\n····//·windows·just·gets·ENOENT·in·this·case.··We·do·cover·the·case,\n····//·just·disabled·because·it's·impossible·on·Windows·CI\n····/*·c8·ignore·start·*/\n····if·(code·===·'ENOTDIR'·&&·this.parent)·{\n······this.parent.#markENOTDIR()\n····}\n····/*·c8·ignore·stop·*/\n··}\n\n··#readdirAddChild(e:·Dirent,·c:·Children)·{\n····return·(\n······this.#readdirMaybePromoteChild(e,·c)·||\n······this.#readdirAddNewChild(e,·c)\n····)\n··}\n\n··#readdirAddNewChild(e:·Dirent,·c:·Children):·PathBase·{\n····//·alloc·new·entry·at·head,·so·it's·never·provisional\n····const·type·=·entToType(e)\n····const·child·=·this.newChild(e.name,·type,·{·parent:·this·})\n····const·ifmt·=·child.#type·&·IFMT\n····if·(ifmt·!==·IFDIR·&&·ifmt·!==·IFLNK·&&·ifmt·!==·UNKNOWN)·{\n······child.#type·|=·ENOTDIR\n····}\n····c.unshift(child)\n····c.provisional++\n····return·child\n··}\n\n··#readdirMaybePromoteChild(e:·Dirent,·c:·Children):·PathBase·|·undefined·{\n····for·(let·p·=·c.provisional;·p·<·c.length;·p++)·{\n······const·pchild·=·c[p]\n······const·name·=\n········this.nocase·?·normalizeNocase(e.name)·:·normalize(e.name)\n······if·(name·!==·pchild!.#matchName)·{\n········continue\n······}\n\n······return·this.#readdirPromoteChild(e,·pchild!,·p,·c)\n····}\n··}\n\n··#readdirPromoteChild(\n····e:·Dirent,\n····p:·PathBase,\n····index:·number,\n····c:·Children,\n··):·PathBase·{\n····const·v·=·p.name\n····//·retain·any·other·flags,·but·set·ifmt·from·dirent\n····p.#type·=·(p.#type·&·IFMT_UNKNOWN)·|·entToType(e)\n····//·case·sensitivity·fixing·when·we·learn·the·true·name.\n····if·(v·!==·e.name)·p.name·=·e.name\n\n····//·just·advance·provisional·index·(potentially·off·the·list),\n····//·otherwise·we·have·to·splice/pop·it·out·and·re-insert·at·head\n····if·(index·!==·c.provisional)·{\n······if·(index·===·c.length·-·1)·c.pop()\n······else·c.splice(index,·1)\n······c.unshift(p)\n····}\n····c.provisional++\n····return·p\n··}\n\n··/**\n···*·Call·lstat()·on·this·Path,·and·update·all·known·information·that·can·be\n···*·determined.\n···*\n···*·Note·that·unlike·`fs.lstat()`,·the·returned·value·does·not·contain·some\n···*·information,·such·as·`mode`,·`dev`,·`nlink`,·and·`ino`.··If·that\n···*·information·is·required,·you·will·need·to·call·`fs.lstat`·yourself.\n···*\n···*·If·the·Path·refers·to·a·nonexistent·file,·or·if·the·lstat·call·fails·for\n···*·any·reason,·`undefined`·is·returned.··Otherwise·the·updated·Path·object·is\n···*·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*/\n··async·lstat():·Promise<PathBase·|·undefined>·{\n····if·((this.#type·&·ENOENT)·===·0)·{\n······try·{\n········this.#applyStat(await·this.#fs.promises.lstat(this.fullpath()))\n········return·this\n······}·catch·(er)·{\n········this.#lstatFail((er·as·NodeJS.ErrnoException).code)\n······}\n····}\n··}\n\n··/**\n···*·synchronous·{@link·PathBase.lstat}\n···*/\n··lstatSync():·PathBase·|·undefined·{\n····if·((this.#type·&·ENOENT)·===·0)·{\n······try·{\n········this.#applyStat(this.#fs.lstatSync(this.fullpath()))\n········return·this\n······}·catch·(er)·{\n········this.#lstatFail((er·as·NodeJS.ErrnoException).code)\n······}\n····}\n··}\n\n··#applyStat(st:·Stats)·{\n····const·{\n······atime,\n······atimeMs,\n······birthtime,\n······birthtimeMs,\n······blksize,\n······blocks,\n······ctime,\n······ctimeMs,\n······dev,\n······gid,\n······ino,\n······mode,\n······mtime,\n······mtimeMs,\n······nlink,\n······rdev,\n······size,\n······uid,\n····}·=·st\n····this.#atime·=·atime\n····this.#atimeMs·=·atimeMs\n····this.#birthtime·=·birthtime\n····this.#birthtimeMs·=·birthtimeMs\n····this.#blksize·=·blksize\n····this.#blocks·=·blocks\n····this.#ctime·=·ctime\n····this.#ctimeMs·=·ctimeMs\n····this.#dev·=·dev\n····this.#gid·=·gid\n····this.#ino·=·ino\n····this.#mode·=·mode\n····this.#mtime·=·mtime\n····this.#mtimeMs·=·mtimeMs\n····this.#nlink·=·nlink\n····this.#rdev·=·rdev\n····this.#size·=·size\n····this.#uid·=·uid\n····const·ifmt·=·entToType(st)\n····//·retain·any·other·flags,·but·set·the·ifmt\n····this.#type·=·(this.#type·&·IFMT_UNKNOWN)·|·ifmt·|·LSTAT_CALLED\n····if·(ifmt·!==·UNKNOWN·&&·ifmt·!==·IFDIR·&&·ifmt·!==·IFLNK)·{\n······this.#type·|=·ENOTDIR\n····}\n··}\n\n··#onReaddirCB:·((\n····er:·NodeJS.ErrnoException·|·null,\n····entries:·Path[],\n··)·=>·any)[]·=·[]\n··#readdirCBInFlight:·boolean·=·false\n··#callOnReaddirCB(children:·Path[])·{\n····this.#readdirCBInFlight·=·false\n····const·cbs·=·this.#onReaddirCB.slice()\n····this.#onReaddirCB.length·=·0\n····cbs.forEach(cb·=>·cb(null,·children))\n··}\n\n··/**\n···*·Standard·node-style·callback·interface·to·get·list·of·directory·entries.\n···*\n···*·If·the·Path·cannot·or·does·not·contain·any·children,·then·an·empty·array\n···*·is·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*\n···*·@param·cb·The·callback·called·with·(er,·entries).··Note·that·the·`er`\n···*·param·is·somewhat·extraneous,·as·all·readdir()·errors·are·handled·and\n···*·simply·result·in·an·empty·set·of·entries·being·returned.\n···*·@param·allowZalgo·Boolean·indicating·that·immediately·known·results·should\n···*·*not*·be·deferred·with·`queueMicrotask`.·Defaults·to·`false`.·Release\n···*·zalgo·at·your·peril,·the·dark·pony·lord·is·devious·and·unforgiving.\n···*/\n··readdirCB(\n····cb:·(er:·NodeJS.ErrnoException·|·null,·entries:·PathBase[])·=>·any,\n····allowZalgo:·boolean·=·false,\n··):·void·{\n····if·(!this.canReaddir())·{\n······if·(allowZalgo)·cb(null,·[])\n······else·queueMicrotask(()·=>·cb(null,·[]))\n······return\n····}\n\n····const·children·=·this.children()\n····if·(this.calledReaddir())·{\n······const·c·=·children.slice(0,·children.provisional)\n······if·(allowZalgo)·cb(null,·c)\n······else·queueMicrotask(()·=>·cb(null,·c))\n······return\n····}\n\n····//·don't·have·to·worry·about·zalgo·at·this·point.\n····this.#onReaddirCB.push(cb)\n····if·(this.#readdirCBInFlight)·{\n······return\n····}\n····this.#readdirCBInFlight·=·true\n\n····//·else·read·the·directory,·fill·up·children\n····//·de-provisionalize·any·provisional·children.\n····const·fullpath·=·this.fullpath()\n····this.#fs.readdir(fullpath,·{·withFileTypes:·true·},·(er,·entries)·=>·{\n······if·(er)·{\n········this.#readdirFail((er·as·NodeJS.ErrnoException).code)\n········children.provisional·=·0\n······}·else·{\n········//·if·we·didn't·get·an·error,·we·always·get·entries.\n········//@ts-ignore\n········for·(const·e·of·entries)·{\n··········this.#readdirAddChild(e,·children)\n········}\n········this.#readdirSuccess(children)\n······}\n······this.#callOnReaddirCB(children.slice(0,·children.provisional))\n······return\n····})\n··}\n\n··#asyncReaddirInFlight?:·Promise<void>\n\n··/**\n···*·Return·an·array·of·known·child·entries.\n···*\n···*·If·the·Path·cannot·or·does·not·contain·any·children,·then·an·empty·array\n···*·is·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*/\n··async·readdir():·Promise<PathBase[]>·{\n····if·(!this.canReaddir())·{\n······return·[]\n····}\n\n····const·children·=·this.children()\n····if·(this.calledReaddir())·{\n······return·children.slice(0,·children.provisional)\n····}\n\n····//·else·read·the·directory,·fill·up·children\n····//·de-provisionalize·any·provisional·children.\n····const·fullpath·=·this.fullpath()\n····if·(this.#asyncReaddirInFlight)·{\n······await·this.#asyncReaddirInFlight\n····}·else·{\n······/*·c8·ignore·start·*/\n······let·resolve:·()·=>·void·=·()·=>·{}\n······/*·c8·ignore·stop·*/\n······this.#asyncReaddirInFlight·=·new·Promise<void>(\n········res·=>·(resolve·=·res),\n······)\n······try·{\n········for·(const·e·of·await·this.#fs.promises.readdir(fullpath,·{\n··········withFileTypes:·true,\n········}))·{\n··········this.#readdirAddChild(e,·children)\n········}\n········this.#readdirSuccess(children)\n······}·catch·(er)·{\n········this.#readdirFail((er·as·NodeJS.ErrnoException).code)\n········children.provisional·=·0\n······}\n······this.#asyncReaddirInFlight·=·undefined\n······resolve()\n····}\n····return·children.slice(0,·children.provisional)\n··}\n\n··/**\n···*·synchronous·{@link·PathBase.readdir}\n···*/\n··readdirSync():·PathBase[]·{\n····if·(!this.canReaddir())·{\n······return·[]\n····}\n\n····const·children·=·this.children()\n····if·(this.calledReaddir())·{\n······return·children.slice(0,·children.provisional)\n····}\n\n····//·else·read·the·directory,·fill·up·children\n····//·de-provisionalize·any·provisional·children.\n····const·fullpath·=·this.fullpath()\n····try·{\n······for·(const·e·of·this.#fs.readdirSync(fullpath,·{\n········withFileTypes:·true,\n······}))·{\n········this.#readdirAddChild(e,·children)\n······}\n······this.#readdirSuccess(children)\n····}·catch·(er)·{\n······this.#readdirFail((er·as·NodeJS.ErrnoException).code)\n······children.provisional·=·0\n····}\n····return·children.slice(0,·children.provisional)\n··}\n\n··canReaddir()·{\n····if·(this.#type·&·ENOCHILD)·return·false\n····const·ifmt·=·IFMT·&·this.#type\n····//·we·always·set·ENOTDIR·when·setting·IFMT,·so·should·be·impossible\n····/*·c8·ignore·start·*/\n····if·(!(ifmt·===·UNKNOWN·||·ifmt·===·IFDIR·||·ifmt·===·IFLNK))·{\n······return·false\n····}\n····/*·c8·ignore·stop·*/\n····return·true\n··}\n\n··shouldWalk(\n····dirs:·Set<PathBase·|·undefined>,\n····walkFilter?:·(e:·PathBase)·=>·boolean,\n··):·boolean·{\n····return·(\n······(this.#type·&·IFDIR)·===·IFDIR·&&\n······!(this.#type·&·ENOCHILD)·&&\n······!dirs.has(this)·&&\n······(!walkFilter·||·walkFilter(this))\n····)\n··}\n\n··/**\n···*·Return·the·Path·object·corresponding·to·path·as·resolved\n···*·by·realpath(3).\n···*\n···*·If·the·realpath·call·fails·for·any·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*·On·success,·returns·a·Path·object.\n···*/\n··async·realpath():·Promise<PathBase·|·undefined>·{\n····if·(this.#realpath)·return·this.#realpath\n····if·((ENOREALPATH·|·ENOREADLINK·|·ENOENT)·&·this.#type)·return·undefined\n····try·{\n······const·rp·=·await·this.#fs.promises.realpath(this.fullpath())\n······return·(this.#realpath·=·this.resolve(rp))\n····}·catch·(_)·{\n······this.#markENOREALPATH()\n····}\n··}\n\n··/**\n···*·Synchronous·{@link·realpath}\n···*/\n··realpathSync():·PathBase·|·undefined·{\n····if·(this.#realpath)·return·this.#realpath\n····if·((ENOREALPATH·|·ENOREADLINK·|·ENOENT)·&·this.#type)·return·undefined\n····try·{\n······const·rp·=·this.#fs.realpathSync(this.fullpath())\n······return·(this.#realpath·=·this.resolve(rp))\n····}·catch·(_)·{\n······this.#markENOREALPATH()\n····}\n··}\n\n··/**\n···*·Internal·method·to·mark·this·Path·object·as·the·scurry·cwd,\n···*·called·by·{@link·PathScurry#chdir}\n···*\n···*·@internal\n···*/\n··[setAsCwd](oldCwd:·PathBase):·void·{\n····if·(oldCwd·===·this)·return\n····oldCwd.isCWD·=·false\n····this.isCWD·=·true\n\n····const·changed·=·new·Set<PathBase>([])\n····let·rp·=·[]\n····let·p:·PathBase·=·this\n····while·(p·&&·p.parent)·{\n······changed.add(p)\n······p.#relative·=·rp.join(this.sep)\n······p.#relativePosix·=·rp.join('/')\n······p·=·p.parent\n······rp.push('..')\n····}\n····//·now·un-memoize·parents·of·old·cwd\n····p·=·oldCwd\n····while·(p·&&·p.parent·&&·!changed.has(p))·{\n······p.#relative·=·undefined\n······p.#relativePosix·=·undefined\n······p·=·p.parent\n····}\n··}\n}\n\n/**\n·*·Path·class·used·on·win32·systems\n·*\n·*·Uses·`'\\\\'`·as·the·path·separator·for·returned·paths,·either·`'\\\\'`·or·`'/'`\n·*·as·the·path·separator·for·parsing·paths.\n·*/\nexport·class·PathWin32·extends·PathBase·{\n··/**\n···*·Separator·for·generating·path·strings.\n···*/\n··sep:·'\\\\'·=·'\\\\'\n··/**\n···*·Separator·for·parsing·path·strings.\n···*/\n··splitSep:·RegExp·=·eitherSep\n\n··/**\n···*·Do·not·create·new·Path·objects·directly.··They·should·always·be·accessed\n···*·via·the·PathScurry·class·or·other·methods·on·the·Path·class.\n···*\n···*·@internal\n···*/\n··constructor(\n····name:·string,\n····type:·number·=·UNKNOWN,\n····root:·PathBase·|·undefined,\n····roots:·{·[k:·string]:·PathBase·},\n····nocase:·boolean,\n····children:·ChildrenCache,\n····opts:·PathOpts,\n··)·{\n····super(name,·type,·root,·roots,·nocase,·children,·opts)\n··}\n\n··/**\n···*·@internal\n···*/\n··newChild(name:·string,·type:·number·=·UNKNOWN,·opts:·PathOpts·=·{})·{\n····return·new·PathWin32(\n······name,\n······type,\n······this.root,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······opts,\n····)\n··}\n\n··/**\n···*·@internal\n···*/\n··getRootString(path:·string):·string·{\n····return·win32.parse(path).root\n··}\n\n··/**\n···*·@internal\n···*/\n··getRoot(rootPath:·string):·PathBase·{\n····rootPath·=·uncToDrive(rootPath.toUpperCase())\n····if·(rootPath·===·this.root.name)·{\n······return·this.root\n····}\n····//·ok,·not·that·one,·check·if·it·matches·another·we·know·about\n····for·(const·[compare,·root]·of·Object.entries(this.roots))·{\n······if·(this.sameRoot(rootPath,·compare))·{\n········return·(this.roots[rootPath]·=·root)\n······}\n····}\n····//·otherwise,·have·to·create·a·new·one.\n····return·(this.roots[rootPath]·=·new·PathScurryWin32(\n······rootPath,\n······this,\n····).root)\n··}\n\n··/**\n···*·@internal\n···*/\n··sameRoot(rootPath:·string,·compare:·string·=·this.root.name):·boolean·{\n····//·windows·can·(rarely)·have·case-sensitive·filesystem,·but\n····//·UNC·and·drive·letters·are·always·case-insensitive,·and·canonically\n····//·represented·uppercase.\n····rootPath·=·rootPath\n······.toUpperCase()\n······.replace(/\\//g,·'\\\\')\n······.replace(uncDriveRegexp,·'$1\\\\')\n····return·rootPath·===·compare\n··}\n}\n\n/**\n·*·Path·class·used·on·all·posix·systems.\n·*\n·*·Uses·`'/'`·as·the·path·separator.\n·*/\nexport·class·PathPosix·extends·PathBase·{\n··/**\n···*·separator·for·parsing·path·strings\n···*/\n··splitSep:·'/'·=·'/'\n··/**\n···*·separator·for·generating·path·strings\n···*/\n··sep:·'/'·=·'/'\n\n··/**\n···*·Do·not·create·new·Path·objects·directly.··They·should·always·be·accessed\n···*·via·the·PathScurry·class·or·other·methods·on·the·Path·class.\n···*\n···*·@internal\n···*/\n··constructor(\n····name:·string,\n····type:·number·=·UNKNOWN,\n····root:·PathBase·|·undefined,\n····roots:·{·[k:·string]:·PathBase·},\n····nocase:·boolean,\n····children:·ChildrenCache,\n····opts:·PathOpts,\n··)·{\n····super(name,·type,·root,·roots,·nocase,·children,·opts)\n··}\n\n··/**\n···*·@internal\n···*/\n··getRootString(path:·string):·string·{\n····return·path.startsWith('/')·?·'/'·:·''\n··}\n\n··/**\n···*·@internal\n···*/\n··getRoot(_rootPath:·string):·PathBase·{\n····return·this.root\n··}\n\n··/**\n···*·@internal\n···*/\n··newChild(name:·string,·type:·number·=·UNKNOWN,·opts:·PathOpts·=·{})·{\n····return·new·PathPosix(\n······name,\n······type,\n······this.root,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······opts,\n····)\n··}\n}\n\n/**\n·*·Options·that·may·be·provided·to·the·PathScurry·constructor\n·*/\nexport·interface·PathScurryOpts·{\n··/**\n···*·perform·case-insensitive·path·matching.·Default·based·on·platform\n···*·subclass.\n···*/\n··nocase?:·boolean\n··/**\n···*·Number·of·Path·entries·to·keep·in·the·cache·of·Path·child·references.\n···*\n···*·Setting·this·higher·than·65536·will·dramatically·increase·the·data\n···*·consumption·and·construction·time·overhead·of·each·PathScurry.\n···*\n···*·Setting·this·value·to·256·or·lower·will·significantly·reduce·the·data\n···*·consumption·and·construction·time·overhead,·but·may·also·reduce·resolve()\n···*·and·readdir()·performance·on·large·filesystems.\n···*\n···*·Default·`16384`.\n···*/\n··childrenCacheSize?:·number\n··/**\n···*·An·object·that·overrides·the·built-in·functions·from·the·fs·and\n···*·fs/promises·modules.\n···*\n···*·See·{@link·FSOption}\n···*/\n··fs?:·FSOption\n}\n\n/**\n·*·The·base·class·for·all·PathScurry·classes,·providing·the·interface·for·path\n·*·resolution·and·filesystem·operations.\n·*\n·*·Typically,·you·should·*not*·instantiate·this·class·directly,·but·rather·one\n·*·of·the·platform-specific·classes,·or·the·exported·{@link·PathScurry}·which\n·*·defaults·to·the·current·platform.\n·*/\nexport·abstract·class·PathScurryBase·{\n··/**\n···*·The·root·Path·entry·for·the·current·working·directory·of·this·Scurry\n···*/\n··root:·PathBase\n··/**\n···*·The·string·path·for·the·root·of·this·Scurry's·current·working·directory\n···*/\n··rootPath:·string\n··/**\n···*·A·collection·of·all·roots·encountered,·referenced·by·rootPath\n···*/\n··roots:·{·[k:·string]:·PathBase·}\n··/**\n···*·The·Path·entry·corresponding·to·this·PathScurry's·current·working·directory.\n···*/\n··cwd:·PathBase\n··#resolveCache:·ResolveCache\n··#resolvePosixCache:·ResolveCache\n··#children:·ChildrenCache\n··/**\n···*·Perform·path·comparisons·case-insensitively.\n···*\n···*·Defaults·true·on·Darwin·and·Windows·systems,·false·elsewhere.\n···*/\n··nocase:·boolean\n\n··/**\n···*·The·path·separator·used·for·parsing·paths\n···*\n···*·`'/'`·on·Posix·systems,·either·`'/'`·or·`'\\\\'`·on·Windows\n···*/\n··abstract·sep:·string·|·RegExp\n\n··#fs:·FSValue\n\n··/**\n···*·This·class·should·not·be·instantiated·directly.\n···*\n···*·Use·PathScurryWin32,·PathScurryDarwin,·PathScurryPosix,·or·PathScurry\n···*\n···*·@internal\n···*/\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····pathImpl:·typeof·win32·|·typeof·posix,\n····sep:·string·|·RegExp,\n····{\n······nocase,\n······childrenCacheSize·=·16·*·1024,\n······fs·=·defaultFS,\n····}:·PathScurryOpts·=·{},\n··)·{\n····this.#fs·=·fsFromOption(fs)\n····if·(cwd·instanceof·URL·||·cwd.startsWith('file://'))·{\n······cwd·=·fileURLToPath(cwd)\n····}\n····//·resolve·and·split·root,·and·then·add·to·the·store.\n····//·this·is·the·only·time·we·call·path.resolve()\n····const·cwdPath·=·pathImpl.resolve(cwd)\n····this.roots·=·Object.create(null)\n····this.rootPath·=·this.parseRootPath(cwdPath)\n····this.#resolveCache·=·new·ResolveCache()\n····this.#resolvePosixCache·=·new·ResolveCache()\n····this.#children·=·new·ChildrenCache(childrenCacheSize)\n\n····const·split·=·cwdPath.substring(this.rootPath.length).split(sep)\n····//·resolve('/')·leaves·'',·splits·to·[''],·we·don't·want·that.\n····if·(split.length·===·1·&&·!split[0])·{\n······split.pop()\n····}\n····/*·c8·ignore·start·*/\n····if·(nocase·===·undefined)·{\n······throw·new·TypeError(\n········'must·provide·nocase·setting·to·PathScurryBase·ctor',\n······)\n····}\n····/*·c8·ignore·stop·*/\n····this.nocase·=·nocase\n····this.root·=·this.newRoot(this.#fs)\n····this.roots[this.rootPath]·=·this.root\n····let·prev:·PathBase·=·this.root\n····let·len·=·split.length·-·1\n····const·joinSep·=·pathImpl.sep\n····let·abs·=·this.rootPath\n····let·sawFirst·=·false\n····for·(const·part·of·split)·{\n······const·l·=·len--\n······prev·=·prev.child(part,·{\n········relative:·new·Array(l).fill('..').join(joinSep),\n········relativePosix:·new·Array(l).fill('..').join('/'),\n········fullpath:·(abs·+=·(sawFirst·?·''·:·joinSep)·+·part),\n······})\n······sawFirst·=·true\n····}\n····this.cwd·=·prev\n··}\n\n··/**\n···*·Get·the·depth·of·a·provided·path,·string,·or·the·cwd\n···*/\n··depth(path:·Path·|·string·=·this.cwd):·number·{\n····if·(typeof·path·===·'string')·{\n······path·=·this.cwd.resolve(path)\n····}\n····return·path.depth()\n··}\n\n··/**\n···*·Parse·the·root·portion·of·a·path·string\n···*\n···*·@internal\n···*/\n··abstract·parseRootPath(dir:·string):·string\n··/**\n···*·create·a·new·Path·to·use·as·root·during·construction.\n···*\n···*·@internal\n···*/\n··abstract·newRoot(fs:·FSValue):·PathBase\n··/**\n···*·Determine·whether·a·given·path·string·is·absolute\n···*/\n··abstract·isAbsolute(p:·string):·boolean\n\n··/**\n···*·Return·the·cache·of·child·entries.··Exposed·so·subclasses·can·create\n···*·child·Path·objects·in·a·platform-specific·way.\n···*\n···*·@internal\n···*/\n··childrenCache()·{\n····return·this.#children\n··}\n\n··/**\n···*·Resolve·one·or·more·path·strings·to·a·resolved·string\n···*\n···*·Same·interface·as·require('path').resolve.\n···*\n···*·Much·faster·than·path.resolve()·when·called·multiple·times·for·the·same\n···*·path,·because·the·resolved·Path·objects·are·cached.··Much·slower\n···*·otherwise.\n···*/\n··resolve(...paths:·string[]):·string·{\n····//·first·figure·out·the·minimum·number·of·paths·we·have·to·test\n····//·we·always·start·at·cwd,·but·any·absolutes·will·bump·the·start\n····let·r·=·''\n····for·(let·i·=·paths.length·-·1;·i·>=·0;·i--)·{\n······const·p·=·paths[i]\n······if·(!p·||·p·===·'.')·continue\n······r·=·r·?·`${p}/${r}`·:·p\n······if·(this.isAbsolute(p))·{\n········break\n······}\n····}\n····const·cached·=·this.#resolveCache.get(r)\n····if·(cached·!==·undefined)·{\n······return·cached\n····}\n····const·result·=·this.cwd.resolve(r).fullpath()\n····this.#resolveCache.set(r,·result)\n····return·result\n··}\n\n··/**\n···*·Resolve·one·or·more·path·strings·to·a·resolved·string,·returning\n···*·the·posix·path.··Identical·to·.resolve()·on·posix·systems,·but·on\n···*·windows·will·return·a·forward-slash·separated·UNC·path.\n···*\n···*·Same·interface·as·require('path').resolve.\n···*\n···*·Much·faster·than·path.resolve()·when·called·multiple·times·for·the·same\n···*·path,·because·the·resolved·Path·objects·are·cached.··Much·slower\n···*·otherwise.\n···*/\n··resolvePosix(...paths:·string[]):·string·{\n····//·first·figure·out·the·minimum·number·of·paths·we·have·to·test\n····//·we·always·start·at·cwd,·but·any·absolutes·will·bump·the·start\n····let·r·=·''\n····for·(let·i·=·paths.length·-·1;·i·>=·0;·i--)·{\n······const·p·=·paths[i]\n······if·(!p·||·p·===·'.')·continue\n······r·=·r·?·`${p}/${r}`·:·p\n······if·(this.isAbsolute(p))·{\n········break\n······}\n····}\n····const·cached·=·this.#resolvePosixCache.get(r)\n····if·(cached·!==·undefined)·{\n······return·cached\n····}\n····const·result·=·this.cwd.resolve(r).fullpathPosix()\n····this.#resolvePosixCache.set(r,·result)\n····return·result\n··}\n\n··/**\n···*·find·the·relative·path·from·the·cwd·to·the·supplied·path·string·or·entry\n···*/\n··relative(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.relative()\n··}\n\n··/**\n···*·find·the·relative·path·from·the·cwd·to·the·supplied·path·string·or\n···*·entry,·using·/·as·the·path·delimiter,·even·on·Windows.\n···*/\n··relativePosix(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.relativePosix()\n··}\n\n··/**\n···*·Return·the·basename·for·the·provided·string·or·Path·object\n···*/\n··basename(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.name\n··}\n\n··/**\n···*·Return·the·dirname·for·the·provided·string·or·Path·object\n···*/\n··dirname(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·(entry.parent·||·entry).fullpath()\n··}\n\n··/**\n···*·Return·an·array·of·known·child·entries.\n···*\n···*·First·argument·may·be·either·a·string,·or·a·Path·object.\n···*\n···*·If·the·Path·cannot·or·does·not·contain·any·children,·then·an·empty·array\n···*·is·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*\n···*·Unlike·`fs.readdir()`,·the·`withFileTypes`·option·defaults·to·`true`.·Set\n···*·`{·withFileTypes:·false·}`·to·return·strings.\n···*/\n\n··readdir():·Promise<PathBase[]>\n··readdir(opts:·{·withFileTypes:·true·}):·Promise<PathBase[]>\n··readdir(opts:·{·withFileTypes:·false·}):·Promise<string[]>\n··readdir(opts:·{·withFileTypes:·boolean·}):·Promise<PathBase[]·|·string[]>\n··readdir(entry:·PathBase·|·string):·Promise<PathBase[]>\n··readdir(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·true·},\n··):·Promise<PathBase[]>\n··readdir(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·false·},\n··):·Promise<string[]>\n··readdir(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·boolean·},\n··):·Promise<PathBase[]·|·string[]>\n··async·readdir(\n····entry:·PathBase·|·string·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····opts:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·true,\n····},\n··):·Promise<PathBase[]·|·string[]>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{·withFileTypes·}·=·opts\n····if·(!entry.canReaddir())·{\n······return·[]\n····}·else·{\n······const·p·=·await·entry.readdir()\n······return·withFileTypes·?·p·:·p.map(e·=>·e.name)\n····}\n··}\n\n··/**\n···*·synchronous·{@link·PathScurryBase.readdir}\n···*/\n··readdirSync():·PathBase[]\n··readdirSync(opts:·{·withFileTypes:·true·}):·PathBase[]\n··readdirSync(opts:·{·withFileTypes:·false·}):·string[]\n··readdirSync(opts:·{·withFileTypes:·boolean·}):·PathBase[]·|·string[]\n··readdirSync(entry:·PathBase·|·string):·PathBase[]\n··readdirSync(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·true·},\n··):·PathBase[]\n··readdirSync(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·false·},\n··):·string[]\n··readdirSync(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·boolean·},\n··):·PathBase[]·|·string[]\n··readdirSync(\n····entry:·PathBase·|·string·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····opts:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·true,\n····},\n··):·PathBase[]·|·string[]·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{·withFileTypes·=·true·}·=·opts\n····if·(!entry.canReaddir())·{\n······return·[]\n····}·else·if·(withFileTypes)·{\n······return·entry.readdirSync()\n····}·else·{\n······return·entry.readdirSync().map(e·=>·e.name)\n····}\n··}\n\n··/**\n···*·Call·lstat()·on·the·string·or·Path·object,·and·update·all·known\n···*·information·that·can·be·determined.\n···*\n···*·Note·that·unlike·`fs.lstat()`,·the·returned·value·does·not·contain·some\n···*·information,·such·as·`mode`,·`dev`,·`nlink`,·and·`ino`.··If·that\n···*·information·is·required,·you·will·need·to·call·`fs.lstat`·yourself.\n···*\n···*·If·the·Path·refers·to·a·nonexistent·file,·or·if·the·lstat·call·fails·for\n···*·any·reason,·`undefined`·is·returned.··Otherwise·the·updated·Path·object·is\n···*·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*/\n··async·lstat(\n····entry:·string·|·PathBase·=·this.cwd,\n··):·Promise<PathBase·|·undefined>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.lstat()\n··}\n\n··/**\n···*·synchronous·{@link·PathScurryBase.lstat}\n···*/\n··lstatSync(entry:·string·|·PathBase·=·this.cwd):·PathBase·|·undefined·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.lstatSync()\n··}\n\n··/**\n···*·Return·the·Path·object·or·string·path·corresponding·to·the·target·of·a\n···*·symbolic·link.\n···*\n···*·If·the·path·is·not·a·symbolic·link,·or·if·the·readlink·call·fails·for·any\n···*·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*\n···*·`{withFileTypes}`·option·defaults·to·`false`.\n···*\n···*·On·success,·returns·a·Path·object·if·`withFileTypes`·option·is·true,\n···*·otherwise·a·string.\n···*/\n··readlink():·Promise<string·|·undefined>\n··readlink(opt:·{·withFileTypes:·false·}):·Promise<string·|·undefined>\n··readlink(opt:·{·withFileTypes:·true·}):·Promise<PathBase·|·undefined>\n··readlink(opt:·{\n····withFileTypes:·boolean\n··}):·Promise<PathBase·|·string·|·undefined>\n··readlink(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·Promise<string·|·undefined>\n··readlink(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·Promise<PathBase·|·undefined>\n··readlink(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·Promise<string·|·PathBase·|·undefined>\n··async·readlink(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·Promise<string·|·PathBase·|·undefined>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·await·entry.readlink()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··/**\n···*·synchronous·{@link·PathScurryBase.readlink}\n···*/\n··readlinkSync():·string·|·undefined\n··readlinkSync(opt:·{·withFileTypes:·false·}):·string·|·undefined\n··readlinkSync(opt:·{·withFileTypes:·true·}):·PathBase·|·undefined\n··readlinkSync(opt:·{\n····withFileTypes:·boolean\n··}):·PathBase·|·string·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·string·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·PathBase·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·string·|·PathBase·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·string·|·PathBase·|·undefined·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·entry.readlinkSync()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··/**\n···*·Return·the·Path·object·or·string·path·corresponding·to·path·as·resolved\n···*·by·realpath(3).\n···*\n···*·If·the·realpath·call·fails·for·any·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*\n···*·`{withFileTypes}`·option·defaults·to·`false`.\n···*\n···*·On·success,·returns·a·Path·object·if·`withFileTypes`·option·is·true,\n···*·otherwise·a·string.\n···*/\n··realpath():·Promise<string·|·undefined>\n··realpath(opt:·{·withFileTypes:·false·}):·Promise<string·|·undefined>\n··realpath(opt:·{·withFileTypes:·true·}):·Promise<PathBase·|·undefined>\n··realpath(opt:·{\n····withFileTypes:·boolean\n··}):·Promise<PathBase·|·string·|·undefined>\n··realpath(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·Promise<string·|·undefined>\n··realpath(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·Promise<PathBase·|·undefined>\n··realpath(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·Promise<string·|·PathBase·|·undefined>\n··async·realpath(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·Promise<string·|·PathBase·|·undefined>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·await·entry.realpath()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··realpathSync():·string·|·undefined\n··realpathSync(opt:·{·withFileTypes:·false·}):·string·|·undefined\n··realpathSync(opt:·{·withFileTypes:·true·}):·PathBase·|·undefined\n··realpathSync(opt:·{\n····withFileTypes:·boolean\n··}):·PathBase·|·string·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·string·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·PathBase·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·string·|·PathBase·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·string·|·PathBase·|·undefined·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·entry.realpathSync()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··/**\n···*·Asynchronously·walk·the·directory·tree,·returning·an·array·of\n···*·all·path·strings·or·Path·objects·found.\n···*\n···*·Note·that·this·will·be·extremely·memory-hungry·on·large·filesystems.\n···*·In·such·cases,·it·may·be·better·to·use·the·stream·or·async·iterator\n···*·walk·implementation.\n···*/\n··walk():·Promise<PathBase[]>\n··walk(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Promise<PathBase[]>\n··walk(opts:·WalkOptionsWithFileTypesFalse):·Promise<string[]>\n··walk(opts:·WalkOptions):·Promise<string[]·|·PathBase[]>\n··walk(entry:·string·|·PathBase):·Promise<PathBase[]>\n··walk(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Promise<PathBase[]>\n··walk(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Promise<string[]>\n··walk(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Promise<PathBase[]·|·string[]>\n··async·walk(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Promise<PathBase[]·|·string[]>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results:·(string·|·PathBase)[]·=·[]\n····if·(!filter·||·filter(entry))·{\n······results.push(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·dirs·=·new·Set<PathBase>()\n····const·walk·=·(\n······dir:·PathBase,\n······cb:·(er?:·NodeJS.ErrnoException)·=>·void,\n····)·=>·{\n······dirs.add(dir)\n······dir.readdirCB((er,·entries)·=>·{\n········/*·c8·ignore·start·*/\n········if·(er)·{\n··········return·cb(er)\n········}\n········/*·c8·ignore·stop·*/\n········let·len·=·entries.length\n········if·(!len)·return·cb()\n········const·next·=·()·=>·{\n··········if·(--len·===·0)·{\n············cb()\n··········}\n········}\n········for·(const·e·of·entries)·{\n··········if·(!filter·||·filter(e))·{\n············results.push(withFileTypes·?·e·:·e.fullpath())\n··········}\n··········if·(follow·&&·e.isSymbolicLink())·{\n············e.realpath()\n··············.then(r·=>·(r?.isUnknown()·?·r.lstat()·:·r))\n··············.then(r·=>\n················r?.shouldWalk(dirs,·walkFilter)·?·walk(r,·next)·:·next(),\n··············)\n··········}·else·{\n············if·(e.shouldWalk(dirs,·walkFilter))·{\n··············walk(e,·next)\n············}·else·{\n··············next()\n············}\n··········}\n········}\n······},·true)·//·zalgooooooo\n····}\n\n····const·start·=·entry\n····return·new·Promise<PathBase[]·|·string[]>((res,·rej)·=>·{\n······walk(start,·er·=>·{\n········/*·c8·ignore·start·*/\n········if·(er)·return·rej(er)\n········/*·c8·ignore·stop·*/\n········res(results·as·PathBase[]·|·string[])\n······})\n····})\n··}\n\n··/**\n···*·Synchronously·walk·the·directory·tree,·returning·an·array·of\n···*·all·path·strings·or·Path·objects·found.\n···*\n···*·Note·that·this·will·be·extremely·memory-hungry·on·large·filesystems.\n···*·In·such·cases,·it·may·be·better·to·use·the·stream·or·async·iterator\n···*·walk·implementation.\n···*/\n··walkSync():·PathBase[]\n··walkSync(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·PathBase[]\n··walkSync(opts:·WalkOptionsWithFileTypesFalse):·string[]\n··walkSync(opts:·WalkOptions):·string[]·|·PathBase[]\n··walkSync(entry:·string·|·PathBase):·PathBase[]\n··walkSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesUnset·|·WalkOptionsWithFileTypesTrue,\n··):·PathBase[]\n··walkSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·string[]\n··walkSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·PathBase[]·|·string[]\n··walkSync(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·PathBase[]·|·string[]·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results:·(string·|·PathBase)[]·=·[]\n····if·(!filter·||·filter(entry))·{\n······results.push(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·dirs·=·new·Set<PathBase>([entry])\n····for·(const·dir·of·dirs)·{\n······const·entries·=·dir.readdirSync()\n······for·(const·e·of·entries)·{\n········if·(!filter·||·filter(e))·{\n··········results.push(withFileTypes·?·e·:·e.fullpath())\n········}\n········let·r:·PathBase·|·undefined·=·e\n········if·(e.isSymbolicLink())·{\n··········if·(!(follow·&&·(r·=·e.realpathSync())))·continue\n··········if·(r.isUnknown())·r.lstatSync()\n········}\n········if·(r.shouldWalk(dirs,·walkFilter))·{\n··········dirs.add(r)\n········}\n······}\n····}\n····return·results·as·string[]·|·PathBase[]\n··}\n\n··/**\n···*·Support·for·`for·await`\n···*\n···*·Alias·for·{@link·PathScurryBase.iterate}\n···*\n···*·Note:·As·of·Node·19,·this·is·very·slow,·compared·to·other·methods·of\n···*·walking.··Consider·using·{@link·PathScurryBase.stream}·if·memory·overhead\n···*·and·backpressure·are·concerns,·or·{@link·PathScurryBase.walk}·if·not.\n···*/\n··[Symbol.asyncIterator]()·{\n····return·this.iterate()\n··}\n\n··/**\n···*·Async·generator·form·of·{@link·PathScurryBase.walk}\n···*\n···*·Note:·As·of·Node·19,·this·is·very·slow,·compared·to·other·methods·of\n···*·walking,·especially·if·most/all·of·the·directory·tree·has·been·previously\n···*·walked.··Consider·using·{@link·PathScurryBase.stream}·if·memory·overhead\n···*·and·backpressure·are·concerns,·or·{@link·PathScurryBase.walk}·if·not.\n···*/\n··iterate():·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·AsyncGenerator<string,·void,·void>\n··iterate(opts:·WalkOptions):·AsyncGenerator<string·|·PathBase,·void,·void>\n··iterate(entry:·string·|·PathBase):·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·AsyncGenerator<string,·void,·void>\n··iterate(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·AsyncGenerator<PathBase·|·string,·void,·void>\n··iterate(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····options:·WalkOptions·=·{},\n··):·AsyncGenerator<PathBase·|·string,·void,·void>·{\n····//·iterating·async·over·the·stream·is·significantly·more·performant,\n····//·especially·in·the·warm-cache·scenario,·because·it·buffers·up·directory\n····//·entries·in·the·background·instead·of·waiting·for·a·yield·for·each·one.\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······options·=·entry\n······entry·=·this.cwd\n····}\n····return·this.stream(entry,·options)[Symbol.asyncIterator]()\n··}\n\n··/**\n···*·Iterating·over·a·PathScurry·performs·a·synchronous·walk.\n···*\n···*·Alias·for·{@link·PathScurryBase.iterateSync}\n···*/\n··[Symbol.iterator]()·{\n····return·this.iterateSync()\n··}\n\n··iterateSync():·Generator<PathBase,·void,·void>\n··iterateSync(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Generator<PathBase,·void,·void>\n··iterateSync(\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Generator<string,·void,·void>\n··iterateSync(opts:·WalkOptions):·Generator<string·|·PathBase,·void,·void>\n··iterateSync(entry:·string·|·PathBase):·Generator<PathBase,·void,·void>\n··iterateSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Generator<PathBase,·void,·void>\n··iterateSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Generator<string,·void,·void>\n··iterateSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Generator<PathBase·|·string,·void,·void>\n··*iterateSync(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Generator<PathBase·|·string,·void,·void>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····if·(!filter·||·filter(entry))·{\n······yield·withFileTypes·?·entry·:·entry.fullpath()\n····}\n····const·dirs·=·new·Set<PathBase>([entry])\n····for·(const·dir·of·dirs)·{\n······const·entries·=·dir.readdirSync()\n······for·(const·e·of·entries)·{\n········if·(!filter·||·filter(e))·{\n··········yield·withFileTypes·?·e·:·e.fullpath()\n········}\n········let·r:·PathBase·|·undefined·=·e\n········if·(e.isSymbolicLink())·{\n··········if·(!(follow·&&·(r·=·e.realpathSync())))·continue\n··········if·(r.isUnknown())·r.lstatSync()\n········}\n········if·(r.shouldWalk(dirs,·walkFilter))·{\n··········dirs.add(r)\n········}\n······}\n····}\n··}\n\n··/**\n···*·Stream·form·of·{@link·PathScurryBase.walk}\n···*\n···*·Returns·a·Minipass·stream·that·emits·{@link·PathBase}·objects·by·default,\n···*·or·strings·if·`{·withFileTypes:·false·}`·is·set·in·the·options.\n···*/\n··stream():·Minipass<PathBase>\n··stream(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Minipass<PathBase>\n··stream(opts:·WalkOptionsWithFileTypesFalse):·Minipass<string>\n··stream(opts:·WalkOptions):·Minipass<string·|·PathBase>\n··stream(entry:·string·|·PathBase):·Minipass<PathBase>\n··stream(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesUnset·|·WalkOptionsWithFileTypesTrue,\n··):·Minipass<PathBase>\n··stream(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Minipass<string>\n··stream(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Minipass<string>·|·Minipass<PathBase>\n··stream(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Minipass<string>·|·Minipass<PathBase>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results·=·new·Minipass<string·|·PathBase>({·objectMode:·true·})\n····if·(!filter·||·filter(entry))·{\n······results.write(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·dirs·=·new·Set<PathBase>()\n····const·queue:·PathBase[]·=·[entry]\n····let·processing·=·0\n····const·process·=·()·=>·{\n······let·paused·=·false\n······while·(!paused)·{\n········const·dir·=·queue.shift()\n········if·(!dir)·{\n··········if·(processing·===·0)·results.end()\n··········return\n········}\n\n········processing++\n········dirs.add(dir)\n\n········const·onReaddir·=·(\n··········er:·null·|·NodeJS.ErrnoException,\n··········entries:·PathBase[],\n··········didRealpaths:·boolean·=·false,\n········)·=>·{\n··········/*·c8·ignore·start·*/\n··········if·(er)·return·results.emit('error',·er)\n··········/*·c8·ignore·stop·*/\n··········if·(follow·&&·!didRealpaths)·{\n············const·promises:·Promise<PathBase·|·undefined>[]·=·[]\n············for·(const·e·of·entries)·{\n··············if·(e.isSymbolicLink())·{\n················promises.push(\n··················e\n····················.realpath()\n····················.then((r:·PathBase·|·undefined)·=>\n······················r?.isUnknown()·?·r.lstat()·:·r,\n····················),\n················)\n··············}\n············}\n············if·(promises.length)·{\n··············Promise.all(promises).then(()·=>\n················onReaddir(null,·entries,·true),\n··············)\n··············return\n············}\n··········}\n\n··········for·(const·e·of·entries)·{\n············if·(e·&&·(!filter·||·filter(e)))·{\n··············if·(!results.write(withFileTypes·?·e·:·e.fullpath()))·{\n················paused·=·true\n··············}\n············}\n··········}\n\n··········processing--\n··········for·(const·e·of·entries)·{\n············const·r·=·e.realpathCached()·||·e\n············if·(r.shouldWalk(dirs,·walkFilter))·{\n··············queue.push(r)\n············}\n··········}\n··········if·(paused·&&·!results.flowing)·{\n············results.once('drain',·process)\n··········}·else·if·(!sync)·{\n············process()\n··········}\n········}\n\n········//·zalgo·containment\n········let·sync·=·true\n········dir.readdirCB(onReaddir,·true)\n········sync·=·false\n······}\n····}\n····process()\n····return·results·as·Minipass<string>·|·Minipass<PathBase>\n··}\n\n··/**\n···*·Synchronous·form·of·{@link·PathScurryBase.stream}\n···*\n···*·Returns·a·Minipass·stream·that·emits·{@link·PathBase}·objects·by·default,\n···*·or·strings·if·`{·withFileTypes:·false·}`·is·set·in·the·options.\n···*\n···*·Will·complete·the·walk·in·a·single·tick·if·the·stream·is·consumed·fully.\n···*·Otherwise,·will·pause·as·needed·for·stream·backpressure.\n···*/\n··streamSync():·Minipass<PathBase>\n··streamSync(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Minipass<PathBase>\n··streamSync(opts:·WalkOptionsWithFileTypesFalse):·Minipass<string>\n··streamSync(opts:·WalkOptions):·Minipass<string·|·PathBase>\n··streamSync(entry:·string·|·PathBase):·Minipass<PathBase>\n··streamSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesUnset·|·WalkOptionsWithFileTypesTrue,\n··):·Minipass<PathBase>\n··streamSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Minipass<string>\n··streamSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Minipass<string>·|·Minipass<PathBase>\n··streamSync(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Minipass<string>·|·Minipass<PathBase>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results·=·new·Minipass<string·|·PathBase>({·objectMode:·true·})\n····const·dirs·=·new·Set<PathBase>()\n····if·(!filter·||·filter(entry))·{\n······results.write(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·queue:·PathBase[]·=·[entry]\n····let·processing·=·0\n····const·process·=·()·=>·{\n······let·paused·=·false\n······while·(!paused)·{\n········const·dir·=·queue.shift()\n········if·(!dir)·{\n··········if·(processing·===·0)·results.end()\n··········return\n········}\n········processing++\n········dirs.add(dir)\n\n········const·entries·=·dir.readdirSync()\n········for·(const·e·of·entries)·{\n··········if·(!filter·||·filter(e))·{\n············if·(!results.write(withFileTypes·?·e·:·e.fullpath()))·{\n··············paused·=·true\n············}\n··········}\n········}\n········processing--\n········for·(const·e·of·entries)·{\n··········let·r:·PathBase·|·undefined·=·e\n··········if·(e.isSymbolicLink())·{\n············if·(!(follow·&&·(r·=·e.realpathSync())))·continue\n············if·(r.isUnknown())·r.lstatSync()\n··········}\n··········if·(r.shouldWalk(dirs,·walkFilter))·{\n············queue.push(r)\n··········}\n········}\n······}\n······if·(paused·&&·!results.flowing)·results.once('drain',·process)\n····}\n····process()\n····return·results·as·Minipass<string>·|·Minipass<PathBase>\n··}\n\n··chdir(path:·string·|·Path·=·this.cwd)·{\n····const·oldCwd·=·this.cwd\n····this.cwd·=·typeof·path·===·'string'·?·this.cwd.resolve(path)·:·path\n····this.cwd[setAsCwd](oldCwd)\n··}\n}\n\n/**\n·*·Options·provided·to·all·walk·methods.\n·*/\nexport·interface·WalkOptions·{\n··/**\n···*·Return·results·as·{@link·PathBase}·objects·rather·than·strings.\n···*·When·set·to·false,·results·are·fully·resolved·paths,·as·returned·by\n···*·{@link·PathBase.fullpath}.\n···*·@default·true\n···*/\n··withFileTypes?:·boolean\n\n··/**\n···*··Attempt·to·read·directory·entries·from·symbolic·links.·Otherwise,·only\n···*··actual·directories·are·traversed.·Regardless·of·this·setting,·a·given\n···*··target·path·will·only·ever·be·walked·once,·meaning·that·a·symbolic·link\n···*··to·a·previously·traversed·directory·will·never·be·followed.\n···*\n···*··Setting·this·imposes·a·slight·performance·penalty,·because·`readlink`\n···*··must·be·called·on·all·symbolic·links·encountered,·in·order·to·avoid\n···*··infinite·cycles.\n···*·@default·false\n···*/\n··follow?:·boolean\n\n··/**\n···*·Only·return·entries·where·the·provided·function·returns·true.\n···*\n···*·This·will·not·prevent·directories·from·being·traversed,·even·if·they·do\n···*·not·pass·the·filter,·though·it·will·prevent·directories·themselves·from\n···*·being·included·in·the·result·set.··See·{@link·walkFilter}\n···*\n···*·Asynchronous·functions·are·not·supported·here.\n···*\n···*·By·default,·if·no·filter·is·provided,·all·entries·and·traversed\n···*·directories·are·included.\n···*/\n··filter?:·(entry:·PathBase)·=>·boolean\n\n··/**\n···*·Only·traverse·directories·(and·in·the·case·of·{@link·follow}·being·set·to\n···*·true,·symbolic·links·to·directories)·if·the·provided·function·returns\n···*·true.\n···*\n···*·This·will·not·prevent·directories·from·being·included·in·the·result·set,\n···*·even·if·they·do·not·pass·the·supplied·filter·function.··See·{@link·filter}\n···*·to·do·that.\n···*\n···*·Asynchronous·functions·are·not·supported·here.\n···*/\n··walkFilter?:·(entry:·PathBase)·=>·boolean\n}\n\nexport·type·WalkOptionsWithFileTypesUnset·=·WalkOptions·&·{\n··withFileTypes?:·undefined\n}\nexport·type·WalkOptionsWithFileTypesTrue·=·WalkOptions·&·{\n··withFileTypes:·true\n}\nexport·type·WalkOptionsWithFileTypesFalse·=·WalkOptions·&·{\n··withFileTypes:·false\n}\n\n/**\n·*·Windows·implementation·of·{@link·PathScurryBase}\n·*\n·*·Defaults·to·case·insensitve,·uses·`'\\\\'`·to·generate·path·strings.··Uses\n·*·{@link·PathWin32}·for·Path·objects.\n·*/\nexport·class·PathScurryWin32·extends·PathScurryBase·{\n··/**\n···*·separator·for·generating·path·strings\n···*/\n··sep:·'\\\\'·=·'\\\\'\n\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····opts:·PathScurryOpts·=·{},\n··)·{\n····const·{·nocase·=·true·}·=·opts\n····super(cwd,·win32,·'\\\\',·{·...opts,·nocase·})\n····this.nocase·=·nocase\n····for·(let·p:·PathBase·|·undefined·=·this.cwd;·p;·p·=·p.parent)·{\n······p.nocase·=·this.nocase\n····}\n··}\n\n··/**\n···*·@internal\n···*/\n··parseRootPath(dir:·string):·string·{\n····//·if·the·path·starts·with·a·single·separator,·it's·not·a·UNC,·and·we'll\n····//·just·get·separator·as·the·root,·and·driveFromUNC·will·return·\\\n····//·In·that·case,·mount·\\·on·the·root·from·the·cwd.\n····return·win32.parse(dir).root.toUpperCase()\n··}\n\n··/**\n···*·@internal\n···*/\n··newRoot(fs:·FSValue)·{\n····return·new·PathWin32(\n······this.rootPath,\n······IFDIR,\n······undefined,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······{·fs·},\n····)\n··}\n\n··/**\n···*·Return·true·if·the·provided·path·string·is·an·absolute·path\n···*/\n··isAbsolute(p:·string):·boolean·{\n····return·(\n······p.startsWith('/')·||·p.startsWith('\\\\')·||·/^[a-z]:(\\/|\\\\)/i.test(p)\n····)\n··}\n}\n\n/**\n·*·{@link·PathScurryBase}·implementation·for·all·posix·systems·other·than·Darwin.\n·*\n·*·Defaults·to·case-sensitive·matching,·uses·`'/'`·to·generate·path·strings.\n·*\n·*·Uses·{@link·PathPosix}·for·Path·objects.\n·*/\nexport·class·PathScurryPosix·extends·PathScurryBase·{\n··/**\n···*·separator·for·generating·path·strings\n···*/\n··sep:·'/'·=·'/'\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····opts:·PathScurryOpts·=·{},\n··)·{\n····const·{·nocase·=·false·}·=·opts\n····super(cwd,·posix,·'/',·{·...opts,·nocase·})\n····this.nocase·=·nocase\n··}\n\n··/**\n···*·@internal\n···*/\n··parseRootPath(_dir:·string):·string·{\n····return·'/'\n··}\n\n··/**\n···*·@internal\n···*/\n··newRoot(fs:·FSValue)·{\n····return·new·PathPosix(\n······this.rootPath,\n······IFDIR,\n······undefined,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······{·fs·},\n····)\n··}\n\n··/**\n···*·Return·true·if·the·provided·path·string·is·an·absolute·path\n···*/\n··isAbsolute(p:·string):·boolean·{\n····return·p.startsWith('/')\n··}\n}\n\n/**\n·*·{@link·PathScurryBase}·implementation·for·Darwin·(macOS)·systems.\n·*\n·*·Defaults·to·case-insensitive·matching,·uses·`'/'`·for·generating·path\n·*·strings.\n·*\n·*·Uses·{@link·PathPosix}·for·Path·objects.\n·*/\nexport·class·PathScurryDarwin·extends·PathScurryPosix·{\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····opts:·PathScurryOpts·=·{},\n··)·{\n····const·{·nocase·=·true·}·=·opts\n····super(cwd,·{·...opts,·nocase·})\n··}\n}\n\n/**\n·*·Default·{@link·PathBase}·implementation·for·the·current·platform.\n·*\n·*·{@link·PathWin32}·on·Windows·systems,·{@link·PathPosix}·on·all·others.\n·*/\nexport·const·Path·=·process.platform·===·'win32'·?·PathWin32·:·PathPosix\nexport·type·Path·=·PathBase·|·InstanceType<typeof·Path>\n\n/**\n·*·Default·{@link·PathScurryBase}·implementation·for·the·current·platform.\n·*\n·*·{@link·PathScurryWin32}·on·Windows·systems,·{@link·PathScurryDarwin}·on\n·*·Darwin·(macOS)·systems,·{@link·PathScurryPosix}·on·all·others.\n·*/\nexport·const·PathScurry:\n··|·typeof·PathScurryWin32\n··|·typeof·PathScurryDarwin\n··|·typeof·PathScurryPosix·=\n··process.platform·===·'win32'·?·PathScurryWin32\n··:·process.platform·===·'darwin'·?·PathScurryDarwin\n··:·PathScurryPosix\nexport·type·PathScurry·=·PathScurryBase·|·InstanceType<typeof·PathScurry>\n",1005 ········"import·{·LRUCache·}·from·'lru-cache'\nimport·{·posix,·win32·}·from·'node:path'\n\nimport·{·fileURLToPath·}·from·'node:url'\n\nimport·{\n··lstatSync,\n··readdir·as·readdirCB,\n··readdirSync,\n··readlinkSync,\n··realpathSync·as·rps,\n}·from·'fs'\nimport·*·as·actualFS·from·'node:fs'\n\nconst·realpathSync·=·rps.native\n//·TODO:·test·perf·of·fs/promises·realpath·vs·realpathCB,\n//·since·the·promises·one·uses·realpath.native\n\nimport·{·lstat,·readdir,·readlink,·realpath·}·from·'node:fs/promises'\n\nimport·{·Minipass·}·from·'minipass'\nimport·type·{·Dirent,·Stats·}·from·'node:fs'\n\n/**\n·*·An·object·that·will·be·used·to·override·the·default·`fs`\n·*·methods.··Any·methods·that·are·not·overridden·will·use·Node's\n·*·built-in·implementations.\n·*\n·*·-·lstatSync\n·*·-·readdir·(callback·`withFileTypes`·Dirent·variant,·used·for\n·*···readdirCB·and·most·walks)\n·*·-·readdirSync\n·*·-·readlinkSync\n·*·-·realpathSync\n·*·-·promises:·Object·containing·the·following·async·methods:\n·*···-·lstat\n·*···-·readdir·(Dirent·variant·only)\n·*···-·readlink\n·*···-·realpath\n·*/\nexport·interface·FSOption·{\n··lstatSync?:·(path:·string)·=>·Stats\n··readdir?:·(\n····path:·string,\n····options:·{·withFileTypes:·true·},\n····cb:·(er:·NodeJS.ErrnoException·|·null,·entries?:·Dirent[])·=>·any,\n··)·=>·void\n··readdirSync?:·(\n····path:·string,\n····options:·{·withFileTypes:·true·},\n··)·=>·Dirent[]\n··readlinkSync?:·(path:·string)·=>·string\n··realpathSync?:·(path:·string)·=>·string\n··promises?:·{\n····lstat?:·(path:·string)·=>·Promise<Stats>\n····readdir?:·(\n······path:·string,\n······options:·{·withFileTypes:·true·},\n····)·=>·Promise<Dirent[]>\n····readlink?:·(path:·string)·=>·Promise<string>\n····realpath?:·(path:·string)·=>·Promise<string>\n····[k:·string]:·any\n··}\n··[k:·string]:·any\n}\n\ninterface·FSValue·{\n··lstatSync:·(path:·string)·=>·Stats\n··readdir:·(\n····path:·string,\n····options:·{·withFileTypes:·true·},\n····cb:·(er:·NodeJS.ErrnoException·|·null,·entries?:·Dirent[])·=>·any,\n··)·=>·void\n··readdirSync:·(path:·string,·options:·{·withFileTypes:·true·})·=>·Dirent[]\n··readlinkSync:·(path:·string)·=>·string\n··realpathSync:·(path:·string)·=>·string\n··promises:·{\n····lstat:·(path:·string)·=>·Promise<Stats>\n····readdir:·(\n······path:·string,\n······options:·{·withFileTypes:·true·},\n····)·=>·Promise<Dirent[]>\n····readlink:·(path:·string)·=>·Promise<string>\n····realpath:·(path:·string)·=>·Promise<string>\n····[k:·string]:·any\n··}\n··[k:·string]:·any\n}\n\nconst·defaultFS:·FSValue·=·{\n··lstatSync,\n··readdir:·readdirCB,\n··readdirSync,\n··readlinkSync,\n··realpathSync,\n··promises:·{\n····lstat,\n····readdir,\n····readlink,\n····realpath,\n··},\n}\n\n//·if·they·just·gave·us·require('fs')·then·use·our·default\nconst·fsFromOption·=·(fsOption?:·FSOption):·FSValue·=>\n··!fsOption·||·fsOption·===·defaultFS·||·fsOption·===·actualFS·?\n····defaultFS\n··:·{\n······...defaultFS,\n······...fsOption,\n······promises:·{\n········...defaultFS.promises,\n········...(fsOption.promises·||·{}),\n······},\n····}\n\n//·turn·something·like·//?/c:/·into·c:\\\nconst·uncDriveRegexp·=·/^\\\\\\\\\\?\\\\([a-z]:)\\\\?$/i\nconst·uncToDrive·=·(rootPath:·string):·string·=>\n··rootPath.replace(/\\//g,·'\\\\').replace(uncDriveRegexp,·'$1\\\\')\n\n//·windows·paths·are·separated·by·either·/·or·\\\nconst·eitherSep·=·/[\\\\\\/]/\n\nconst·UNKNOWN·=·0·//·may·not·even·exist,·for·all·we·know\nconst·IFIFO·=·0b0001\nconst·IFCHR·=·0b0010\nconst·IFDIR·=·0b0100\nconst·IFBLK·=·0b0110\nconst·IFREG·=·0b1000\nconst·IFLNK·=·0b1010\nconst·IFSOCK·=·0b1100\nconst·IFMT·=·0b1111\n\nexport·type·Type·=\n··|·'Unknown'\n··|·'FIFO'\n··|·'CharacterDevice'\n··|·'Directory'\n··|·'BlockDevice'\n··|·'File'\n··|·'SymbolicLink'\n··|·'Socket'\n\n//·mask·to·unset·low·4·bits\nconst·IFMT_UNKNOWN·=·~IFMT\n\n//·set·after·successfully·calling·readdir()·and·getting·entries.\nconst·READDIR_CALLED·=·0b0000_0001_0000\n//·set·after·a·successful·lstat()\nconst·LSTAT_CALLED·=·0b0000_0010_0000\n//·set·if·an·entry·(or·one·of·its·parents)·is·definitely·not·a·dir\nconst·ENOTDIR·=·0b0000_0100_0000\n//·set·if·an·entry·(or·one·of·its·parents)·does·not·exist\n//·(can·also·be·set·on·lstat·errors·like·EACCES·or·ENAMETOOLONG)\nconst·ENOENT·=·0b0000_1000_0000\n//·cannot·have·child·entries·--·also·verify·&IFMT·is·either·IFDIR·or·IFLNK\n//·set·if·we·fail·to·readlink\nconst·ENOREADLINK·=·0b0001_0000_0000\n//·set·if·we·know·realpath()·will·fail\nconst·ENOREALPATH·=·0b0010_0000_0000\n\nconst·ENOCHILD·=·ENOTDIR·|·ENOENT·|·ENOREALPATH\nconst·TYPEMASK·=·0b0011_1111_1111\n\nconst·entToType·=·(s:·Dirent·|·Stats)·=>\n··s.isFile()·?·IFREG\n··:·s.isDirectory()·?·IFDIR\n··:·s.isSymbolicLink()·?·IFLNK\n··:·s.isCharacterDevice()·?·IFCHR\n··:·s.isBlockDevice()·?·IFBLK\n··:·s.isSocket()·?·IFSOCK\n··:·s.isFIFO()·?·IFIFO\n··:·UNKNOWN\n\n//·normalize·unicode·path·names\nconst·normalizeCache·=·new·LRUCache<string,·string>({·max:·2·**·12·})\nconst·normalize·=·(s:·string)·=>·{\n··const·c·=·normalizeCache.get(s)\n··if·(c)·return·c\n··const·n·=·s.normalize('NFKD')\n··normalizeCache.set(s,·n)\n··return·n\n}\n\nconst·normalizeNocaseCache·=·new·LRUCache<string,·string>({·max:·2·**·12·})\nconst·normalizeNocase·=·(s:·string)·=>·{\n··const·c·=·normalizeNocaseCache.get(s)\n··if·(c)·return·c\n··const·n·=·normalize(s.toLowerCase())\n··normalizeNocaseCache.set(s,·n)\n··return·n\n}\n\n/**\n·*·Options·that·may·be·provided·to·the·Path·constructor\n·*/\nexport·interface·PathOpts·{\n··fullpath?:·string\n··relative?:·string\n··relativePosix?:·string\n··parent?:·PathBase\n··/**\n···*·See·{@link·FSOption}\n···*/\n··fs?:·FSOption\n}\n\n/**\n·*·An·LRUCache·for·storing·resolved·path·strings·or·Path·objects.\n·*·@internal\n·*/\nexport·class·ResolveCache·extends·LRUCache<string,·string>·{\n··constructor()·{\n····super({·max:·256·})\n··}\n}\n\n//·In·order·to·prevent·blowing·out·the·js·heap·by·allocating·hundreds·of\n//·thousands·of·Path·entries·when·walking·extremely·large·trees,·the·\"children\"\n//·in·this·tree·are·represented·by·storing·an·array·of·Path·entries·in·an\n//·LRUCache,·indexed·by·the·parent.··At·any·time,·Path.children()·may·return·an\n//·empty·array,·indicating·that·it·doesn't·know·about·any·of·its·children,·and\n//·thus·has·to·rebuild·that·cache.··This·is·fine,·it·just·means·that·we·don't\n//·benefit·as·much·from·having·the·cached·entries,·but·huge·directory·walks\n//·don't·blow·out·the·stack,·and·smaller·ones·are·still·as·fast·as·possible.\n//\n//It·does·impose·some·complexity·when·building·up·the·readdir·data,·because·we\n//need·to·pass·a·reference·to·the·children·array·that·we·started·with.\n\n/**\n·*·an·LRUCache·for·storing·child·entries.\n·*·@internal\n·*/\nexport·class·ChildrenCache·extends·LRUCache<PathBase,·Children>·{\n··constructor(maxSize:·number·=·16·*·1024)·{\n····super({\n······maxSize,\n······//·parent·+·children\n······sizeCalculation:·a·=>·a.length·+·1,\n····})\n··}\n}\n\n/**\n·*·Array·of·Path·objects,·plus·a·marker·indicating·the·first·provisional·entry\n·*\n·*·@internal\n·*/\nexport·type·Children·=·PathBase[]·&·{·provisional:·number·}\n\nconst·setAsCwd·=·Symbol('PathScurry·setAsCwd')\n\n/**\n·*·Path·objects·are·sort·of·like·a·super-powered\n·*·{@link·https://nodejs.org/docs/latest/api/fs.html#class-fsdirent·fs.Dirent}\n·*\n·*·Each·one·represents·a·single·filesystem·entry·on·disk,·which·may·or·may·not\n·*·exist.·It·includes·methods·for·reading·various·types·of·information·via\n·*·lstat,·readlink,·and·readdir,·and·caches·all·information·to·the·greatest\n·*·degree·possible.\n·*\n·*·Note·that·fs·operations·that·would·normally·throw·will·instead·return·an\n·*·\"empty\"·value.·This·is·in·order·to·prevent·excessive·overhead·from·error\n·*·stack·traces.\n·*/\nexport·abstract·class·PathBase·implements·Dirent·{\n··/**\n···*·the·basename·of·this·path\n···*\n···*·**Important**:·*always*·test·the·path·name·against·any·test·string\n···*·usingthe·{@link·isNamed}·method,·and·not·by·directly·comparing·this\n···*·string.·Otherwise,·unicode·path·strings·that·the·system·sees·as·identical\n···*·will·not·be·properly·treated·as·the·same·path,·leading·to·incorrect\n···*·behavior·and·possible·security·issues.\n···*/\n··name:·string\n··/**\n···*·the·Path·entry·corresponding·to·the·path·root.\n···*\n···*·@internal\n···*/\n··root:·PathBase\n··/**\n···*·All·roots·found·within·the·current·PathScurry·family\n···*\n···*·@internal\n···*/\n··roots:·{·[k:·string]:·PathBase·}\n··/**\n···*·a·reference·to·the·parent·path,·or·undefined·in·the·case·of·root·entries\n···*\n···*·@internal\n···*/\n··parent?:·PathBase\n··/**\n···*·boolean·indicating·whether·paths·are·compared·case-insensitively\n···*·@internal\n···*/\n··nocase:·boolean\n\n··/**\n···*·boolean·indicating·that·this·path·is·the·current·working·directory\n···*·of·the·PathScurry·collection·that·contains·it.\n···*/\n··isCWD:·boolean·=·false\n\n··/**\n···*·the·string·or·regexp·used·to·split·paths.·On·posix,·it·is·`'/'`,·and·on\n···*·windows·it·is·a·RegExp·matching·either·`'/'`·or·`'\\\\'`\n···*/\n··abstract·splitSep:·string·|·RegExp\n··/**\n···*·The·path·separator·string·to·use·when·joining·paths\n···*/\n··abstract·sep:·string\n\n··//·potential·default·fs·override\n··#fs:·FSValue\n\n··//·Stats·fields\n··#dev?:·number\n··get·dev()·{\n····return·this.#dev\n··}\n··#mode?:·number\n··get·mode()·{\n····return·this.#mode\n··}\n··#nlink?:·number\n··get·nlink()·{\n····return·this.#nlink\n··}\n··#uid?:·number\n··get·uid()·{\n····return·this.#uid\n··}\n··#gid?:·number\n··get·gid()·{\n····return·this.#gid\n··}\n··#rdev?:·number\n··get·rdev()·{\n····return·this.#rdev\n··}\n··#blksize?:·number\n··get·blksize()·{\n····return·this.#blksize\n··}\n··#ino?:·number\n··get·ino()·{\n····return·this.#ino\n··}\n··#size?:·number\n··get·size()·{\n····return·this.#size\n··}\n··#blocks?:·number\n··get·blocks()·{\n····return·this.#blocks\n··}\n··#atimeMs?:·number\n··get·atimeMs()·{\n····return·this.#atimeMs\n··}\n··#mtimeMs?:·number\n··get·mtimeMs()·{\n····return·this.#mtimeMs\n··}\n··#ctimeMs?:·number\n··get·ctimeMs()·{\n····return·this.#ctimeMs\n··}\n··#birthtimeMs?:·number\n··get·birthtimeMs()·{\n····return·this.#birthtimeMs\n··}\n··#atime?:·Date\n··get·atime()·{\n····return·this.#atime\n··}\n··#mtime?:·Date\n··get·mtime()·{\n····return·this.#mtime\n··}\n··#ctime?:·Date\n··get·ctime()·{\n····return·this.#ctime\n··}\n··#birthtime?:·Date\n··get·birthtime()·{\n····return·this.#birthtime\n··}\n\n··#matchName:·string\n··#depth?:·number\n··#fullpath?:·string\n··#fullpathPosix?:·string\n··#relative?:·string\n··#relativePosix?:·string\n··#type:·number\n··#children:·ChildrenCache\n··#linkTarget?:·PathBase\n··#realpath?:·PathBase\n\n··/**\n···*·This·property·is·for·compatibility·with·the·Dirent·class·as·of\n···*·Node·v20,·where·Dirent['parentPath']·refers·to·the·path·of·the\n···*·directory·that·was·passed·to·readdir.·For·root·entries,·it's·the·path\n···*·to·the·entry·itself.\n···*/\n··get·parentPath():·string·{\n····return·(this.parent·||·this).fullpath()\n··}\n\n··/*·c8·ignore·start·*/\n··/**\n···*·Deprecated·alias·for·Dirent['parentPath']·Somewhat·counterintuitively,\n···*·this·property·refers·to·the·*parent*·path,·not·the·path·object·itself.\n···*\n···*·@deprecated\n···*/\n··get·path():·string·{\n····return·this.parentPath\n··}\n··/*·c8·ignore·stop·*/\n\n··/**\n···*·Do·not·create·new·Path·objects·directly.··They·should·always·be·accessed\n···*·via·the·PathScurry·class·or·other·methods·on·the·Path·class.\n···*\n···*·@internal\n···*/\n··constructor(\n····name:·string,\n····type:·number·=·UNKNOWN,\n····root:·PathBase·|·undefined,\n····roots:·{·[k:·string]:·PathBase·},\n····nocase:·boolean,\n····children:·ChildrenCache,\n····opts:·PathOpts,\n··)·{\n····this.name·=·name\n····this.#matchName·=·nocase·?·normalizeNocase(name)·:·normalize(name)\n····this.#type·=·type·&·TYPEMASK\n····this.nocase·=·nocase\n····this.roots·=·roots\n····this.root·=·root·||·this\n····this.#children·=·children\n····this.#fullpath·=·opts.fullpath\n····this.#relative·=·opts.relative\n····this.#relativePosix·=·opts.relativePosix\n····this.parent·=·opts.parent\n····if·(this.parent)·{\n······this.#fs·=·this.parent.#fs\n····}·else·{\n······this.#fs·=·fsFromOption(opts.fs)\n····}\n··}\n\n··/**\n···*·Returns·the·depth·of·the·Path·object·from·its·root.\n···*\n···*·For·example,·a·path·at·`/foo/bar`·would·have·a·depth·of·2.\n···*/\n··depth():·number·{\n····if·(this.#depth·!==·undefined)·return·this.#depth\n····if·(!this.parent)·return·(this.#depth·=·0)\n····return·(this.#depth·=·this.parent.depth()·+·1)\n··}\n\n··/**\n···*·@internal\n···*/\n··abstract·getRootString(path:·string):·string\n··/**\n···*·@internal\n···*/\n··abstract·getRoot(rootPath:·string):·PathBase\n··/**\n···*·@internal\n···*/\n··abstract·newChild(name:·string,·type?:·number,·opts?:·PathOpts):·PathBase\n\n··/**\n···*·@internal\n···*/\n··childrenCache()·{\n····return·this.#children\n··}\n\n··/**\n···*·Get·the·Path·object·referenced·by·the·string·path,·resolved·from·this·Path\n···*/\n··resolve(path?:·string):·PathBase·{\n····if·(!path)·{\n······return·this\n····}\n····const·rootPath·=·this.getRootString(path)\n····const·dir·=·path.substring(rootPath.length)\n····const·dirParts·=·dir.split(this.splitSep)\n····const·result:·PathBase·=\n······rootPath·?\n········this.getRoot(rootPath).#resolveParts(dirParts)\n······:·this.#resolveParts(dirParts)\n····return·result\n··}\n\n··#resolveParts(dirParts:·string[])·{\n····let·p:·PathBase·=·this\n····for·(const·part·of·dirParts)·{\n······p·=·p.child(part)\n····}\n····return·p\n··}\n\n··/**\n···*·Returns·the·cached·children·Path·objects,·if·still·available.··If·they\n···*·have·fallen·out·of·the·cache,·then·returns·an·empty·array,·and·resets·the\n···*·READDIR_CALLED·bit,·so·that·future·calls·to·readdir()·will·require·an·fs\n···*·lookup.\n···*\n···*·@internal\n···*/\n··children():·Children·{\n····const·cached·=·this.#children.get(this)\n····if·(cached)·{\n······return·cached\n····}\n····const·children:·Children·=·Object.assign([],·{·provisional:·0·})\n····this.#children.set(this,·children)\n····this.#type·&=·~READDIR_CALLED\n····return·children\n··}\n\n··/**\n···*·Resolves·a·path·portion·and·returns·or·creates·the·child·Path.\n···*\n···*·Returns·`this`·if·pathPart·is·`''`·or·`'.'`,·or·`parent`·if·pathPart·is\n···*·`'..'`.\n···*\n···*·This·should·not·be·called·directly.··If·`pathPart`·contains·any·path\n···*·separators,·it·will·lead·to·unsafe·undefined·behavior.\n···*\n···*·Use·`Path.resolve()`·instead.\n···*\n···*·@internal\n···*/\n··child(pathPart:·string,·opts?:·PathOpts):·PathBase·{\n····if·(pathPart·===·''·||·pathPart·===·'.')·{\n······return·this\n····}\n····if·(pathPart·===·'..')·{\n······return·this.parent·||·this\n····}\n\n····//·find·the·child\n····const·children·=·this.children()\n····const·name·=\n······this.nocase·?·normalizeNocase(pathPart)·:·normalize(pathPart)\n····for·(const·p·of·children)·{\n······if·(p.#matchName·===·name)·{\n········return·p\n······}\n····}\n\n····//·didn't·find·it,·create·provisional·child,·since·it·might·not\n····//·actually·exist.··If·we·know·the·parent·isn't·a·dir,·then\n····//·in·fact·it·CAN'T·exist.\n····const·s·=·this.parent·?·this.sep·:·''\n····const·fullpath·=\n······this.#fullpath·?·this.#fullpath·+·s·+·pathPart·:·undefined\n····const·pchild·=·this.newChild(pathPart,·UNKNOWN,·{\n······...opts,\n······parent:·this,\n······fullpath,\n····})\n\n····if·(!this.canReaddir())·{\n······pchild.#type·|=·ENOENT\n····}\n\n····//·don't·have·to·update·provisional,·because·if·we·have·real·children,\n····//·then·provisional·is·set·to·children.length,·otherwise·a·lower·number\n····children.push(pchild)\n····return·pchild\n··}\n\n··/**\n···*·The·relative·path·from·the·cwd.·If·it·does·not·share·an·ancestor·with\n···*·the·cwd,·then·this·ends·up·being·equivalent·to·the·fullpath()\n···*/\n··relative():·string·{\n····if·(this.isCWD)·return·''\n····if·(this.#relative·!==·undefined)·{\n······return·this.#relative\n····}\n····const·name·=·this.name\n····const·p·=·this.parent\n····if·(!p)·{\n······return·(this.#relative·=·this.name)\n····}\n····const·pv·=·p.relative()\n····return·pv·+·(!pv·||·!p.parent·?·''·:·this.sep)·+·name\n··}\n\n··/**\n···*·The·relative·path·from·the·cwd,·using·/·as·the·path·separator.\n···*·If·it·does·not·share·an·ancestor·with\n···*·the·cwd,·then·this·ends·up·being·equivalent·to·the·fullpathPosix()\n···*·On·posix·systems,·this·is·identical·to·relative().\n···*/\n··relativePosix():·string·{\n····if·(this.sep·===·'/')·return·this.relative()\n····if·(this.isCWD)·return·''\n····if·(this.#relativePosix·!==·undefined)·return·this.#relativePosix\n····const·name·=·this.name\n····const·p·=·this.parent\n····if·(!p)·{\n······return·(this.#relativePosix·=·this.fullpathPosix())\n····}\n····const·pv·=·p.relativePosix()\n····return·pv·+·(!pv·||·!p.parent·?·''·:·'/')·+·name\n··}\n\n··/**\n···*·The·fully·resolved·path·string·for·this·Path·entry\n···*/\n··fullpath():·string·{\n····if·(this.#fullpath·!==·undefined)·{\n······return·this.#fullpath\n····}\n····const·name·=·this.name\n····const·p·=·this.parent\n····if·(!p)·{\n······return·(this.#fullpath·=·this.name)\n····}\n····const·pv·=·p.fullpath()\n····const·fp·=·pv·+·(!p.parent·?·''·:·this.sep)·+·name\n····return·(this.#fullpath·=·fp)\n··}\n\n··/**\n···*·On·platforms·other·than·windows,·this·is·identical·to·fullpath.\n···*\n···*·On·windows,·this·is·overridden·to·return·the·forward-slash·form·of·the\n···*·full·UNC·path.\n···*/\n··fullpathPosix():·string·{\n····if·(this.#fullpathPosix·!==·undefined)·return·this.#fullpathPosix\n····if·(this.sep·===·'/')·return·(this.#fullpathPosix·=·this.fullpath())\n····if·(!this.parent)·{\n······const·p·=·this.fullpath().replace(/\\\\/g,·'/')\n······if·(/^[a-z]:\\//i.test(p))·{\n········return·(this.#fullpathPosix·=·`//?/${p}`)\n······}·else·{\n········return·(this.#fullpathPosix·=·p)\n······}\n····}\n····const·p·=·this.parent\n····const·pfpp·=·p.fullpathPosix()\n····const·fpp·=·pfpp·+·(!pfpp·||·!p.parent·?·''·:·'/')·+·this.name\n····return·(this.#fullpathPosix·=·fpp)\n··}\n\n··/**\n···*·Is·the·Path·of·an·unknown·type?\n···*\n···*·Note·that·we·might·know·*something*·about·it·if·there·has·been·a·previous\n···*·filesystem·operation,·for·example·that·it·does·not·exist,·or·is·not·a\n···*·link,·or·whether·it·has·child·entries.\n···*/\n··isUnknown():·boolean·{\n····return·(this.#type·&·IFMT)·===·UNKNOWN\n··}\n\n··isType(type:·Type):·boolean·{\n····return·this[`is${type}`]()\n··}\n\n··getType():·Type·{\n····return·(\n······this.isUnknown()·?·'Unknown'\n······:·this.isDirectory()·?·'Directory'\n······:·this.isFile()·?·'File'\n······:·this.isSymbolicLink()·?·'SymbolicLink'\n······:·this.isFIFO()·?·'FIFO'\n······:·this.isCharacterDevice()·?·'CharacterDevice'\n······:·this.isBlockDevice()·?·'BlockDevice'\n······:·/*·c8·ignore·start·*/·this.isSocket()·?·'Socket'\n······:·'Unknown'\n····)\n····/*·c8·ignore·stop·*/\n··}\n\n··/**\n···*·Is·the·Path·a·regular·file?\n···*/\n··isFile():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFREG\n··}\n\n··/**\n···*·Is·the·Path·a·directory?\n···*/\n··isDirectory():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFDIR\n··}\n\n··/**\n···*·Is·the·path·a·character·device?\n···*/\n··isCharacterDevice():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFCHR\n··}\n\n··/**\n···*·Is·the·path·a·block·device?\n···*/\n··isBlockDevice():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFBLK\n··}\n\n··/**\n···*·Is·the·path·a·FIFO·pipe?\n···*/\n··isFIFO():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFIFO\n··}\n\n··/**\n···*·Is·the·path·a·socket?\n···*/\n··isSocket():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFSOCK\n··}\n\n··/**\n···*·Is·the·path·a·symbolic·link?\n···*/\n··isSymbolicLink():·boolean·{\n····return·(this.#type·&·IFLNK)·===·IFLNK\n··}\n\n··/**\n···*·Return·the·entry·if·it·has·been·subject·of·a·successful·lstat,·or\n···*·undefined·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·undefined·result·*could*·simply\n···*·mean·that·we·haven't·called·lstat·on·it.\n···*/\n··lstatCached():·PathBase·|·undefined·{\n····return·this.#type·&·LSTAT_CALLED·?·this·:·undefined\n··}\n\n··/**\n···*·Return·the·cached·link·target·if·the·entry·has·been·the·subject·of·a\n···*·successful·readlink,·or·undefined·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·undefined·result·*could*·just·mean·we\n···*·don't·have·any·cached·data.·Only·use·it·if·you·are·very·sure·that·a\n···*·readlink()·has·been·called·at·some·point.\n···*/\n··readlinkCached():·PathBase·|·undefined·{\n····return·this.#linkTarget\n··}\n\n··/**\n···*·Returns·the·cached·realpath·target·if·the·entry·has·been·the·subject\n···*·of·a·successful·realpath,·or·undefined·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·undefined·result·*could*·just·mean·we\n···*·don't·have·any·cached·data.·Only·use·it·if·you·are·very·sure·that·a\n···*·realpath()·has·been·called·at·some·point.\n···*/\n··realpathCached():·PathBase·|·undefined·{\n····return·this.#realpath\n··}\n\n··/**\n···*·Returns·the·cached·child·Path·entries·array·if·the·entry·has·been·the\n···*·subject·of·a·successful·readdir(),·or·[]·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·empty·array·*could*·just·mean·we\n···*·don't·have·any·cached·data.·Only·use·it·if·you·are·very·sure·that·a\n···*·readdir()·has·been·called·recently·enough·to·still·be·valid.\n···*/\n··readdirCached():·PathBase[]·{\n····const·children·=·this.children()\n····return·children.slice(0,·children.provisional)\n··}\n\n··/**\n···*·Return·true·if·it's·worth·trying·to·readlink.··Ie,·we·don't·(yet)·have\n···*·any·indication·that·readlink·will·definitely·fail.\n···*\n···*·Returns·false·if·the·path·is·known·to·not·be·a·symlink,·if·a·previous\n···*·readlink·failed,·or·if·the·entry·does·not·exist.\n···*/\n··canReadlink():·boolean·{\n····if·(this.#linkTarget)·return·true\n····if·(!this.parent)·return·false\n····//·cases·where·it·cannot·possibly·succeed\n····const·ifmt·=·this.#type·&·IFMT\n····return·!(\n······(ifmt·!==·UNKNOWN·&&·ifmt·!==·IFLNK)·||\n······this.#type·&·ENOREADLINK·||\n······this.#type·&·ENOENT\n····)\n··}\n\n··/**\n···*·Return·true·if·readdir·has·previously·been·successfully·called·on·this\n···*·path,·indicating·that·cachedReaddir()·is·likely·valid.\n···*/\n··calledReaddir():·boolean·{\n····return·!!(this.#type·&·READDIR_CALLED)\n··}\n\n··/**\n···*·Returns·true·if·the·path·is·known·to·not·exist.·That·is,·a·previous·lstat\n···*·or·readdir·failed·to·verify·its·existence·when·that·would·have·been\n···*·expected,·or·a·parent·entry·was·marked·either·enoent·or·enotdir.\n···*/\n··isENOENT():·boolean·{\n····return·!!(this.#type·&·ENOENT)\n··}\n\n··/**\n···*·Return·true·if·the·path·is·a·match·for·the·given·path·name.··This·handles\n···*·case·sensitivity·and·unicode·normalization.\n···*\n···*·Note:·even·on·case-sensitive·systems,·it·is·**not**·safe·to·test·the\n···*·equality·of·the·`.name`·property·to·determine·whether·a·given·pathname\n···*·matches,·due·to·unicode·normalization·mismatches.\n···*\n···*·Always·use·this·method·instead·of·testing·the·`path.name`·property\n···*·directly.\n···*/\n··isNamed(n:·string):·boolean·{\n····return·!this.nocase·?\n········this.#matchName·===·normalize(n)\n······:·this.#matchName·===·normalizeNocase(n)\n··}\n\n··/**\n···*·Return·the·Path·object·corresponding·to·the·target·of·a·symbolic·link.\n···*\n···*·If·the·Path·is·not·a·symbolic·link,·or·if·the·readlink·call·fails·for·any\n···*·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*/\n··async·readlink():·Promise<PathBase·|·undefined>·{\n····const·target·=·this.#linkTarget\n····if·(target)·{\n······return·target\n····}\n····if·(!this.canReadlink())·{\n······return·undefined\n····}\n····/*·c8·ignore·start·*/\n····//·already·covered·by·the·canReadlink·test,·here·for·ts·grumples\n····if·(!this.parent)·{\n······return·undefined\n····}\n····/*·c8·ignore·stop·*/\n····try·{\n······const·read·=·await·this.#fs.promises.readlink(this.fullpath())\n······const·linkTarget·=·(await·this.parent.realpath())?.resolve(read)\n······if·(linkTarget)·{\n········return·(this.#linkTarget·=·linkTarget)\n······}\n····}·catch·(er)·{\n······this.#readlinkFail((er·as·NodeJS.ErrnoException).code)\n······return·undefined\n····}\n··}\n\n··/**\n···*·Synchronous·{@link·PathBase.readlink}\n···*/\n··readlinkSync():·PathBase·|·undefined·{\n····const·target·=·this.#linkTarget\n····if·(target)·{\n······return·target\n····}\n····if·(!this.canReadlink())·{\n······return·undefined\n····}\n····/*·c8·ignore·start·*/\n····//·already·covered·by·the·canReadlink·test,·here·for·ts·grumples\n····if·(!this.parent)·{\n······return·undefined\n····}\n····/*·c8·ignore·stop·*/\n····try·{\n······const·read·=·this.#fs.readlinkSync(this.fullpath())\n······const·linkTarget·=·this.parent.realpathSync()?.resolve(read)\n······if·(linkTarget)·{\n········return·(this.#linkTarget·=·linkTarget)\n······}\n····}·catch·(er)·{\n······this.#readlinkFail((er·as·NodeJS.ErrnoException).code)\n······return·undefined\n····}\n··}\n\n··#readdirSuccess(children:·Children)·{\n····//·succeeded,·mark·readdir·called·bit\n····this.#type·|=·READDIR_CALLED\n····//·mark·all·remaining·provisional·children·as·ENOENT\n····for·(let·p·=·children.provisional;·p·<·children.length;·p++)·{\n······const·c·=·children[p]\n······if·(c)·c.#markENOENT()\n····}\n··}\n\n··#markENOENT()·{\n····//·mark·as·UNKNOWN·and·ENOENT\n····if·(this.#type·&·ENOENT)·return\n····this.#type·=·(this.#type·|·ENOENT)·&·IFMT_UNKNOWN\n····this.#markChildrenENOENT()\n··}\n\n··#markChildrenENOENT()·{\n····//·all·children·are·provisional·and·do·not·exist\n····const·children·=·this.children()\n····children.provisional·=·0\n····for·(const·p·of·children)·{\n······p.#markENOENT()\n····}\n··}\n\n··#markENOREALPATH()·{\n····this.#type·|=·ENOREALPATH\n····this.#markENOTDIR()\n··}\n\n··//·save·the·information·when·we·know·the·entry·is·not·a·dir\n··#markENOTDIR()·{\n····//·entry·is·not·a·directory,·so·any·children·can't·exist.\n····//·this·*should*·be·impossible,·since·any·children·created\n····//·after·it's·been·marked·ENOTDIR·should·be·marked·ENOENT,\n····//·so·it·won't·even·get·to·this·point.\n····/*·c8·ignore·start·*/\n····if·(this.#type·&·ENOTDIR)·return\n····/*·c8·ignore·stop·*/\n····let·t·=·this.#type\n····//·this·could·happen·if·we·stat·a·dir,·then·delete·it,\n····//·then·try·to·read·it·or·one·of·its·children.\n····if·((t·&·IFMT)·===·IFDIR)·t·&=·IFMT_UNKNOWN\n····this.#type·=·t·|·ENOTDIR\n····this.#markChildrenENOENT()\n··}\n\n··#readdirFail(code:·string·=·'')·{\n····//·markENOTDIR·and·markENOENT·also·set·provisional=0\n····if·(code·===·'ENOTDIR'·||·code·===·'EPERM')·{\n······this.#markENOTDIR()\n····}·else·if·(code·===·'ENOENT')·{\n······this.#markENOENT()\n····}·else·{\n······this.children().provisional·=·0\n····}\n··}\n\n··#lstatFail(code:·string·=·'')·{\n····//·Windows·just·raises·ENOENT·in·this·case,·disable·for·win·CI\n····/*·c8·ignore·start·*/\n····if·(code·===·'ENOTDIR')·{\n······//·already·know·it·has·a·parent·by·this·point\n······const·p·=·this.parent·as·PathBase\n······p.#markENOTDIR()\n····}·else·if·(code·===·'ENOENT')·{\n······/*·c8·ignore·stop·*/\n······this.#markENOENT()\n····}\n··}\n\n··#readlinkFail(code:·string·=·'')·{\n····let·ter·=·this.#type\n····ter·|=·ENOREADLINK\n····if·(code·===·'ENOENT')·ter·|=·ENOENT\n····//·windows·gets·a·weird·error·when·you·try·to·readlink·a·file\n····if·(code·===·'EINVAL'·||·code·===·'UNKNOWN')·{\n······//·exists,·but·not·a·symlink,·we·don't·know·WHAT·it·is,·so·remove\n······//·all·IFMT·bits.\n······ter·&=·IFMT_UNKNOWN\n····}\n····this.#type·=·ter\n····//·windows·just·gets·ENOENT·in·this·case.··We·do·cover·the·case,\n····//·just·disabled·because·it's·impossible·on·Windows·CI\n····/*·c8·ignore·start·*/\n····if·(code·===·'ENOTDIR'·&&·this.parent)·{\n······this.parent.#markENOTDIR()\n····}\n····/*·c8·ignore·stop·*/\n··}\n\n··#readdirAddChild(e:·Dirent,·c:·Children)·{\n····return·(\n······this.#readdirMaybePromoteChild(e,·c)·||\n······this.#readdirAddNewChild(e,·c)\n····)\n··}\n\n··#readdirAddNewChild(e:·Dirent,·c:·Children):·PathBase·{\n····//·alloc·new·entry·at·head,·so·it's·never·provisional\n····const·type·=·entToType(e)\n····const·child·=·this.newChild(e.name,·type,·{·parent:·this·})\n····const·ifmt·=·child.#type·&·IFMT\n····if·(ifmt·!==·IFDIR·&&·ifmt·!==·IFLNK·&&·ifmt·!==·UNKNOWN)·{\n······child.#type·|=·ENOTDIR\n····}\n····c.unshift(child)\n····c.provisional++\n····return·child\n··}\n\n··#readdirMaybePromoteChild(e:·Dirent,·c:·Children):·PathBase·|·undefined·{\n····for·(let·p·=·c.provisional;·p·<·c.length;·p++)·{\n······const·pchild·=·c[p]\n······const·name·=\n········this.nocase·?·normalizeNocase(e.name)·:·normalize(e.name)\n······if·(name·!==·pchild!.#matchName)·{\n········continue\n······}\n\n······return·this.#readdirPromoteChild(e,·pchild!,·p,·c)\n····}\n··}\n\n··#readdirPromoteChild(\n····e:·Dirent,\n····p:·PathBase,\n····index:·number,\n····c:·Children,\n··):·PathBase·{\n····const·v·=·p.name\n····//·retain·any·other·flags,·but·set·ifmt·from·dirent\n····p.#type·=·(p.#type·&·IFMT_UNKNOWN)·|·entToType(e)\n····//·case·sensitivity·fixing·when·we·learn·the·true·name.\n····if·(v·!==·e.name)·p.name·=·e.name\n\n····//·just·advance·provisional·index·(potentially·off·the·list),\n····//·otherwise·we·have·to·splice/pop·it·out·and·re-insert·at·head\n····if·(index·!==·c.provisional)·{\n······if·(index·===·c.length·-·1)·c.pop()\n······else·c.splice(index,·1)\n······c.unshift(p)\n····}\n····c.provisional++\n····return·p\n··}\n\n··/**\n···*·Call·lstat()·on·this·Path,·and·update·all·known·information·that·can·be\n···*·determined.\n···*\n···*·Note·that·unlike·`fs.lstat()`,·the·returned·value·does·not·contain·some\n···*·information,·such·as·`mode`,·`dev`,·`nlink`,·and·`ino`.··If·that\n···*·information·is·required,·you·will·need·to·call·`fs.lstat`·yourself.\n···*\n···*·If·the·Path·refers·to·a·nonexistent·file,·or·if·the·lstat·call·fails·for\n···*·any·reason,·`undefined`·is·returned.··Otherwise·the·updated·Path·object·is\n···*·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*/\n··async·lstat():·Promise<PathBase·|·undefined>·{\n····if·((this.#type·&·ENOENT)·===·0)·{\n······try·{\n········this.#applyStat(await·this.#fs.promises.lstat(this.fullpath()))\n········return·this\n······}·catch·(er)·{\n········this.#lstatFail((er·as·NodeJS.ErrnoException).code)\n······}\n····}\n··}\n\n··/**\n···*·synchronous·{@link·PathBase.lstat}\n···*/\n··lstatSync():·PathBase·|·undefined·{\n····if·((this.#type·&·ENOENT)·===·0)·{\n······try·{\n········this.#applyStat(this.#fs.lstatSync(this.fullpath()))\n········return·this\n······}·catch·(er)·{\n········this.#lstatFail((er·as·NodeJS.ErrnoException).code)\n······}\n····}\n··}\n\n··#applyStat(st:·Stats)·{\n····const·{\n······atime,\n······atimeMs,\n······birthtime,\n······birthtimeMs,\n······blksize,\n······blocks,\n······ctime,\n······ctimeMs,\n······dev,\n······gid,\n······ino,\n······mode,\n······mtime,\n······mtimeMs,\n······nlink,\n······rdev,\n······size,\n······uid,\n····}·=·st\n····this.#atime·=·atime\n····this.#atimeMs·=·atimeMs\n····this.#birthtime·=·birthtime\n····this.#birthtimeMs·=·birthtimeMs\n····this.#blksize·=·blksize\n····this.#blocks·=·blocks\n····this.#ctime·=·ctime\n····this.#ctimeMs·=·ctimeMs\n····this.#dev·=·dev\n····this.#gid·=·gid\n····this.#ino·=·ino\n····this.#mode·=·mode\n····this.#mtime·=·mtime\n····this.#mtimeMs·=·mtimeMs\n····this.#nlink·=·nlink\n····this.#rdev·=·rdev\n····this.#size·=·size\n····this.#uid·=·uid\n····const·ifmt·=·entToType(st)\n····//·retain·any·other·flags,·but·set·the·ifmt\n····this.#type·=·(this.#type·&·IFMT_UNKNOWN)·|·ifmt·|·LSTAT_CALLED\n····if·(ifmt·!==·UNKNOWN·&&·ifmt·!==·IFDIR·&&·ifmt·!==·IFLNK)·{\n······this.#type·|=·ENOTDIR\n····}\n··}\n\n··#onReaddirCB:·((\n····er:·NodeJS.ErrnoException·|·null,\n····entries:·Path[],\n··)·=>·any)[]·=·[]\n··#readdirCBInFlight:·boolean·=·false\n··#callOnReaddirCB(children:·Path[])·{\n····this.#readdirCBInFlight·=·false\n····const·cbs·=·this.#onReaddirCB.slice()\n····this.#onReaddirCB.length·=·0\n····cbs.forEach(cb·=>·cb(null,·children))\n··}\n\n··/**\n···*·Standard·node-style·callback·interface·to·get·list·of·directory·entries.\n···*\n···*·If·the·Path·cannot·or·does·not·contain·any·children,·then·an·empty·array\n···*·is·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*\n···*·@param·cb·The·callback·called·with·(er,·entries).··Note·that·the·`er`\n···*·param·is·somewhat·extraneous,·as·all·readdir()·errors·are·handled·and\n···*·simply·result·in·an·empty·set·of·entries·being·returned.\n···*·@param·allowZalgo·Boolean·indicating·that·immediately·known·results·should\n···*·*not*·be·deferred·with·`queueMicrotask`.·Defaults·to·`false`.·Release\n···*·zalgo·at·your·peril,·the·dark·pony·lord·is·devious·and·unforgiving.\n···*/\n··readdirCB(\n····cb:·(er:·NodeJS.ErrnoException·|·null,·entries:·PathBase[])·=>·any,\n····allowZalgo:·boolean·=·false,\n··):·void·{\n····if·(!this.canReaddir())·{\n······if·(allowZalgo)·cb(null,·[])\n······else·queueMicrotask(()·=>·cb(null,·[]))\n······return\n····}\n\n····const·children·=·this.children()\n····if·(this.calledReaddir())·{\n······const·c·=·children.slice(0,·children.provisional)\n······if·(allowZalgo)·cb(null,·c)\n······else·queueMicrotask(()·=>·cb(null,·c))\n······return\n····}\n\n····//·don't·have·to·worry·about·zalgo·at·this·point.\n····this.#onReaddirCB.push(cb)\n····if·(this.#readdirCBInFlight)·{\n······return\n····}\n····this.#readdirCBInFlight·=·true\n\n····//·else·read·the·directory,·fill·up·children\n····//·de-provisionalize·any·provisional·children.\n····const·fullpath·=·this.fullpath()\n····this.#fs.readdir(fullpath,·{·withFileTypes:·true·},·(er,·entries)·=>·{\n······if·(er)·{\n········this.#readdirFail((er·as·NodeJS.ErrnoException).code)\n········children.provisional·=·0\n······}·else·{\n········//·if·we·didn't·get·an·error,·we·always·get·entries.\n········//@ts-ignore\n········for·(const·e·of·entries)·{\n··········this.#readdirAddChild(e,·children)\n········}\n········this.#readdirSuccess(children)\n······}\n······this.#callOnReaddirCB(children.slice(0,·children.provisional))\n······return\n····})\n··}\n\n··#asyncReaddirInFlight?:·Promise<void>\n\n··/**\n···*·Return·an·array·of·known·child·entries.\n···*\n···*·If·the·Path·cannot·or·does·not·contain·any·children,·then·an·empty·array\n···*·is·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*/\n··async·readdir():·Promise<PathBase[]>·{\n····if·(!this.canReaddir())·{\n······return·[]\n····}\n\n····const·children·=·this.children()\n····if·(this.calledReaddir())·{\n······return·children.slice(0,·children.provisional)\n····}\n\n····//·else·read·the·directory,·fill·up·children\n····//·de-provisionalize·any·provisional·children.\n····const·fullpath·=·this.fullpath()\n····if·(this.#asyncReaddirInFlight)·{\n······await·this.#asyncReaddirInFlight\n····}·else·{\n······/*·c8·ignore·start·*/\n······let·resolve:·()·=>·void·=·()·=>·{}\n······/*·c8·ignore·stop·*/\n······this.#asyncReaddirInFlight·=·new·Promise<void>(\n········res·=>·(resolve·=·res),\n······)\n······try·{\n········for·(const·e·of·await·this.#fs.promises.readdir(fullpath,·{\n··········withFileTypes:·true,\n········}))·{\n··········this.#readdirAddChild(e,·children)\n········}\n········this.#readdirSuccess(children)\n······}·catch·(er)·{\n········this.#readdirFail((er·as·NodeJS.ErrnoException).code)\n········children.provisional·=·0\n······}\n······this.#asyncReaddirInFlight·=·undefined\n······resolve()\n····}\n····return·children.slice(0,·children.provisional)\n··}\n\n··/**\n···*·synchronous·{@link·PathBase.readdir}\n···*/\n··readdirSync():·PathBase[]·{\n····if·(!this.canReaddir())·{\n······return·[]\n····}\n\n····const·children·=·this.children()\n····if·(this.calledReaddir())·{\n······return·children.slice(0,·children.provisional)\n····}\n\n····//·else·read·the·directory,·fill·up·children\n····//·de-provisionalize·any·provisional·children.\n····const·fullpath·=·this.fullpath()\n····try·{\n······for·(const·e·of·this.#fs.readdirSync(fullpath,·{\n········withFileTypes:·true,\n······}))·{\n········this.#readdirAddChild(e,·children)\n······}\n······this.#readdirSuccess(children)\n····}·catch·(er)·{\n······this.#readdirFail((er·as·NodeJS.ErrnoException).code)\n······children.provisional·=·0\n····}\n····return·children.slice(0,·children.provisional)\n··}\n\n··canReaddir()·{\n····if·(this.#type·&·ENOCHILD)·return·false\n····const·ifmt·=·IFMT·&·this.#type\n····//·we·always·set·ENOTDIR·when·setting·IFMT,·so·should·be·impossible\n····/*·c8·ignore·start·*/\n····if·(!(ifmt·===·UNKNOWN·||·ifmt·===·IFDIR·||·ifmt·===·IFLNK))·{\n······return·false\n····}\n····/*·c8·ignore·stop·*/\n····return·true\n··}\n\n··shouldWalk(\n····dirs:·Set<PathBase·|·undefined>,\n····walkFilter?:·(e:·PathBase)·=>·boolean,\n··):·boolean·{\n····return·(\n······(this.#type·&·IFDIR)·===·IFDIR·&&\n······!(this.#type·&·ENOCHILD)·&&\n······!dirs.has(this)·&&\n······(!walkFilter·||·walkFilter(this))\n····)\n··}\n\n··/**\n···*·Return·the·Path·object·corresponding·to·path·as·resolved\n···*·by·realpath(3).\n···*\n···*·If·the·realpath·call·fails·for·any·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*·On·success,·returns·a·Path·object.\n···*/\n··async·realpath():·Promise<PathBase·|·undefined>·{\n····if·(this.#realpath)·return·this.#realpath\n····if·((ENOREALPATH·|·ENOREADLINK·|·ENOENT)·&·this.#type)·return·undefined\n····try·{\n······const·rp·=·await·this.#fs.promises.realpath(this.fullpath())\n······return·(this.#realpath·=·this.resolve(rp))\n····}·catch·(_)·{\n······this.#markENOREALPATH()\n····}\n··}\n\n··/**\n···*·Synchronous·{@link·realpath}\n···*/\n··realpathSync():·PathBase·|·undefined·{\n····if·(this.#realpath)·return·this.#realpath\n····if·((ENOREALPATH·|·ENOREADLINK·|·ENOENT)·&·this.#type)·return·undefined\n····try·{\n······const·rp·=·this.#fs.realpathSync(this.fullpath())\n······return·(this.#realpath·=·this.resolve(rp))\n····}·catch·(_)·{\n······this.#markENOREALPATH()\n····}\n··}\n\n··/**\n···*·Internal·method·to·mark·this·Path·object·as·the·scurry·cwd,\n···*·called·by·{@link·PathScurry#chdir}\n···*\n···*·@internal\n···*/\n··[setAsCwd](oldCwd:·PathBase):·void·{\n····if·(oldCwd·===·this)·return\n····oldCwd.isCWD·=·false\n····this.isCWD·=·true\n\n····const·changed·=·new·Set<PathBase>([])\n····let·rp·=·[]\n····let·p:·PathBase·=·this\n····while·(p·&&·p.parent)·{\n······changed.add(p)\n······p.#relative·=·rp.join(this.sep)\n······p.#relativePosix·=·rp.join('/')\n······p·=·p.parent\n······rp.push('..')\n····}\n····//·now·un-memoize·parents·of·old·cwd\n····p·=·oldCwd\n····while·(p·&&·p.parent·&&·!changed.has(p))·{\n······p.#relative·=·undefined\n······p.#relativePosix·=·undefined\n······p·=·p.parent\n····}\n··}\n}\n\n/**\n·*·Path·class·used·on·win32·systems\n·*\n·*·Uses·`'\\\\'`·as·the·path·separator·for·returned·paths,·either·`'\\\\'`·or·`'/'`\n·*·as·the·path·separator·for·parsing·paths.\n·*/\nexport·class·PathWin32·extends·PathBase·{\n··/**\n···*·Separator·for·generating·path·strings.\n···*/\n··sep:·'\\\\'·=·'\\\\'\n··/**\n···*·Separator·for·parsing·path·strings.\n···*/\n··splitSep:·RegExp·=·eitherSep\n\n··/**\n···*·Do·not·create·new·Path·objects·directly.··They·should·always·be·accessed\n···*·via·the·PathScurry·class·or·other·methods·on·the·Path·class.\n···*\n···*·@internal\n···*/\n··constructor(\n····name:·string,\n····type:·number·=·UNKNOWN,\n····root:·PathBase·|·undefined,\n····roots:·{·[k:·string]:·PathBase·},\n····nocase:·boolean,\n····children:·ChildrenCache,\n····opts:·PathOpts,\n··)·{\n····super(name,·type,·root,·roots,·nocase,·children,·opts)\n··}\n\n··/**\n···*·@internal\n···*/\n··newChild(name:·string,·type:·number·=·UNKNOWN,·opts:·PathOpts·=·{})·{\n····return·new·PathWin32(\n······name,\n······type,\n······this.root,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······opts,\n····)\n··}\n\n··/**\n···*·@internal\n···*/\n··getRootString(path:·string):·string·{\n····return·win32.parse(path).root\n··}\n\n··/**\n···*·@internal\n···*/\n··getRoot(rootPath:·string):·PathBase·{\n····rootPath·=·uncToDrive(rootPath.toUpperCase())\n····if·(rootPath·===·this.root.name)·{\n······return·this.root\n····}\n····//·ok,·not·that·one,·check·if·it·matches·another·we·know·about\n····for·(const·[compare,·root]·of·Object.entries(this.roots))·{\n······if·(this.sameRoot(rootPath,·compare))·{\n········return·(this.roots[rootPath]·=·root)\n······}\n····}\n····//·otherwise,·have·to·create·a·new·one.\n····return·(this.roots[rootPath]·=·new·PathScurryWin32(\n······rootPath,\n······this,\n····).root)\n··}\n\n··/**\n···*·@internal\n···*/\n··sameRoot(rootPath:·string,·compare:·string·=·this.root.name):·boolean·{\n····//·windows·can·(rarely)·have·case-sensitive·filesystem,·but\n····//·UNC·and·drive·letters·are·always·case-insensitive,·and·canonically\n····//·represented·uppercase.\n····rootPath·=·rootPath\n······.toUpperCase()\n······.replace(/\\//g,·'\\\\')\n······.replace(uncDriveRegexp,·'$1\\\\')\n····return·rootPath·===·compare\n··}\n}\n\n/**\n·*·Path·class·used·on·all·posix·systems.\n·*\n·*·Uses·`'/'`·as·the·path·separator.\n·*/\nexport·class·PathPosix·extends·PathBase·{\n··/**\n···*·separator·for·parsing·path·strings\n···*/\n··splitSep:·'/'·=·'/'\n··/**\n···*·separator·for·generating·path·strings\n···*/\n··sep:·'/'·=·'/'\n\n··/**\n···*·Do·not·create·new·Path·objects·directly.··They·should·always·be·accessed\n···*·via·the·PathScurry·class·or·other·methods·on·the·Path·class.\n···*\n···*·@internal\n···*/\n··constructor(\n····name:·string,\n····type:·number·=·UNKNOWN,\n····root:·PathBase·|·undefined,\n····roots:·{·[k:·string]:·PathBase·},\n····nocase:·boolean,\n····children:·ChildrenCache,\n····opts:·PathOpts,\n··)·{\n····super(name,·type,·root,·roots,·nocase,·children,·opts)\n··}\n\n··/**\n···*·@internal\n···*/\n··getRootString(path:·string):·string·{\n····return·path.startsWith('/')·?·'/'·:·''\n··}\n\n··/**\n···*·@internal\n···*/\n··getRoot(_rootPath:·string):·PathBase·{\n····return·this.root\n··}\n\n··/**\n···*·@internal\n···*/\n··newChild(name:·string,·type:·number·=·UNKNOWN,·opts:·PathOpts·=·{})·{\n····return·new·PathPosix(\n······name,\n······type,\n······this.root,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······opts,\n····)\n··}\n}\n\n/**\n·*·Options·that·may·be·provided·to·the·PathScurry·constructor\n·*/\nexport·interface·PathScurryOpts·{\n··/**\n···*·perform·case-insensitive·path·matching.·Default·based·on·platform\n···*·subclass.\n···*/\n··nocase?:·boolean\n··/**\n···*·Number·of·Path·entries·to·keep·in·the·cache·of·Path·child·references.\n···*\n···*·Setting·this·higher·than·65536·will·dramatically·increase·the·data\n···*·consumption·and·construction·time·overhead·of·each·PathScurry.\n···*\n···*·Setting·this·value·to·256·or·lower·will·significantly·reduce·the·data\n···*·consumption·and·construction·time·overhead,·but·may·also·reduce·resolve()\n···*·and·readdir()·performance·on·large·filesystems.\n···*\n···*·Default·`16384`.\n···*/\n··childrenCacheSize?:·number\n··/**\n···*·An·object·that·overrides·the·built-in·functions·from·the·fs·and\n···*·fs/promises·modules.\n···*\n···*·See·{@link·FSOption}\n···*/\n··fs?:·FSOption\n}\n\n/**\n·*·The·base·class·for·all·PathScurry·classes,·providing·the·interface·for·path\n·*·resolution·and·filesystem·operations.\n·*\n·*·Typically,·you·should·*not*·instantiate·this·class·directly,·but·rather·one\n·*·of·the·platform-specific·classes,·or·the·exported·{@link·PathScurry}·which\n·*·defaults·to·the·current·platform.\n·*/\nexport·abstract·class·PathScurryBase·{\n··/**\n···*·The·root·Path·entry·for·the·current·working·directory·of·this·Scurry\n···*/\n··root:·PathBase\n··/**\n···*·The·string·path·for·the·root·of·this·Scurry's·current·working·directory\n···*/\n··rootPath:·string\n··/**\n···*·A·collection·of·all·roots·encountered,·referenced·by·rootPath\n···*/\n··roots:·{·[k:·string]:·PathBase·}\n··/**\n···*·The·Path·entry·corresponding·to·this·PathScurry's·current·working·directory.\n···*/\n··cwd:·PathBase\n··#resolveCache:·ResolveCache\n··#resolvePosixCache:·ResolveCache\n··#children:·ChildrenCache\n··/**\n···*·Perform·path·comparisons·case-insensitively.\n···*\n···*·Defaults·true·on·Darwin·and·Windows·systems,·false·elsewhere.\n···*/\n··nocase:·boolean\n\n··/**\n···*·The·path·separator·used·for·parsing·paths\n···*\n···*·`'/'`·on·Posix·systems,·either·`'/'`·or·`'\\\\'`·on·Windows\n···*/\n··abstract·sep:·string·|·RegExp\n\n··#fs:·FSValue\n\n··/**\n···*·This·class·should·not·be·instantiated·directly.\n···*\n···*·Use·PathScurryWin32,·PathScurryDarwin,·PathScurryPosix,·or·PathScurry\n···*\n···*·@internal\n···*/\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····pathImpl:·typeof·win32·|·typeof·posix,\n····sep:·string·|·RegExp,\n····{\n······nocase,\n······childrenCacheSize·=·16·*·1024,\n······fs·=·defaultFS,\n····}:·PathScurryOpts·=·{},\n··)·{\n····this.#fs·=·fsFromOption(fs)\n····if·(cwd·instanceof·URL·||·cwd.startsWith('file://'))·{\n······cwd·=·fileURLToPath(cwd)\n····}\n····//·resolve·and·split·root,·and·then·add·to·the·store.\n····//·this·is·the·only·time·we·call·path.resolve()\n····const·cwdPath·=·pathImpl.resolve(cwd)\n····this.roots·=·Object.create(null)\n····this.rootPath·=·this.parseRootPath(cwdPath)\n····this.#resolveCache·=·new·ResolveCache()\n····this.#resolvePosixCache·=·new·ResolveCache()\n····this.#children·=·new·ChildrenCache(childrenCacheSize)\n\n····const·split·=·cwdPath.substring(this.rootPath.length).split(sep)\n····//·resolve('/')·leaves·'',·splits·to·[''],·we·don't·want·that.\n····if·(split.length·===·1·&&·!split[0])·{\n······split.pop()\n····}\n····/*·c8·ignore·start·*/\n····if·(nocase·===·undefined)·{\n······throw·new·TypeError(\n········'must·provide·nocase·setting·to·PathScurryBase·ctor',\n······)\n····}\n····/*·c8·ignore·stop·*/\n····this.nocase·=·nocase\n····this.root·=·this.newRoot(this.#fs)\n····this.roots[this.rootPath]·=·this.root\n····let·prev:·PathBase·=·this.root\n····let·len·=·split.length·-·1\n····const·joinSep·=·pathImpl.sep\n····let·abs·=·this.rootPath\n····let·sawFirst·=·false\n····for·(const·part·of·split)·{\n······const·l·=·len--\n······prev·=·prev.child(part,·{\n········relative:·new·Array(l).fill('..').join(joinSep),\n········relativePosix:·new·Array(l).fill('..').join('/'),\n········fullpath:·(abs·+=·(sawFirst·?·''·:·joinSep)·+·part),\n······})\n······sawFirst·=·true\n····}\n····this.cwd·=·prev\n··}\n\n··/**\n···*·Get·the·depth·of·a·provided·path,·string,·or·the·cwd\n···*/\n··depth(path:·Path·|·string·=·this.cwd):·number·{\n····if·(typeof·path·===·'string')·{\n······path·=·this.cwd.resolve(path)\n····}\n····return·path.depth()\n··}\n\n··/**\n···*·Parse·the·root·portion·of·a·path·string\n···*\n···*·@internal\n···*/\n··abstract·parseRootPath(dir:·string):·string\n··/**\n···*·create·a·new·Path·to·use·as·root·during·construction.\n···*\n···*·@internal\n···*/\n··abstract·newRoot(fs:·FSValue):·PathBase\n··/**\n···*·Determine·whether·a·given·path·string·is·absolute\n···*/\n··abstract·isAbsolute(p:·string):·boolean\n\n··/**\n···*·Return·the·cache·of·child·entries.··Exposed·so·subclasses·can·create\n···*·child·Path·objects·in·a·platform-specific·way.\n···*\n···*·@internal\n···*/\n··childrenCache()·{\n····return·this.#children\n··}\n\n··/**\n···*·Resolve·one·or·more·path·strings·to·a·resolved·string\n···*\n···*·Same·interface·as·require('path').resolve.\n···*\n···*·Much·faster·than·path.resolve()·when·called·multiple·times·for·the·same\n···*·path,·because·the·resolved·Path·objects·are·cached.··Much·slower\n···*·otherwise.\n···*/\n··resolve(...paths:·string[]):·string·{\n····//·first·figure·out·the·minimum·number·of·paths·we·have·to·test\n····//·we·always·start·at·cwd,·but·any·absolutes·will·bump·the·start\n····let·r·=·''\n····for·(let·i·=·paths.length·-·1;·i·>=·0;·i--)·{\n······const·p·=·paths[i]\n······if·(!p·||·p·===·'.')·continue\n······r·=·r·?·`${p}/${r}`·:·p\n······if·(this.isAbsolute(p))·{\n········break\n······}\n····}\n····const·cached·=·this.#resolveCache.get(r)\n····if·(cached·!==·undefined)·{\n······return·cached\n····}\n····const·result·=·this.cwd.resolve(r).fullpath()\n····this.#resolveCache.set(r,·result)\n····return·result\n··}\n\n··/**\n···*·Resolve·one·or·more·path·strings·to·a·resolved·string,·returning\n···*·the·posix·path.··Identical·to·.resolve()·on·posix·systems,·but·on\n···*·windows·will·return·a·forward-slash·separated·UNC·path.\n···*\n···*·Same·interface·as·require('path').resolve.\n···*\n···*·Much·faster·than·path.resolve()·when·called·multiple·times·for·the·same\n···*·path,·because·the·resolved·Path·objects·are·cached.··Much·slower\n···*·otherwise.\n···*/\n··resolvePosix(...paths:·string[]):·string·{\n····//·first·figure·out·the·minimum·number·of·paths·we·have·to·test\n····//·we·always·start·at·cwd,·but·any·absolutes·will·bump·the·start\n····let·r·=·''\n····for·(let·i·=·paths.length·-·1;·i·>=·0;·i--)·{\n······const·p·=·paths[i]\n······if·(!p·||·p·===·'.')·continue\n······r·=·r·?·`${p}/${r}`·:·p\n······if·(this.isAbsolute(p))·{\n········break\n······}\n····}\n····const·cached·=·this.#resolvePosixCache.get(r)\n····if·(cached·!==·undefined)·{\n······return·cached\n····}\n····const·result·=·this.cwd.resolve(r).fullpathPosix()\n····this.#resolvePosixCache.set(r,·result)\n····return·result\n··}\n\n··/**\n···*·find·the·relative·path·from·the·cwd·to·the·supplied·path·string·or·entry\n···*/\n··relative(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.relative()\n··}\n\n··/**\n···*·find·the·relative·path·from·the·cwd·to·the·supplied·path·string·or\n···*·entry,·using·/·as·the·path·delimiter,·even·on·Windows.\n···*/\n··relativePosix(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.relativePosix()\n··}\n\n··/**\n···*·Return·the·basename·for·the·provided·string·or·Path·object\n···*/\n··basename(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.name\n··}\n\n··/**\n···*·Return·the·dirname·for·the·provided·string·or·Path·object\n···*/\n··dirname(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·(entry.parent·||·entry).fullpath()\n··}\n\n··/**\n···*·Return·an·array·of·known·child·entries.\n···*\n···*·First·argument·may·be·either·a·string,·or·a·Path·object.\n···*\n···*·If·the·Path·cannot·or·does·not·contain·any·children,·then·an·empty·array\n···*·is·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*\n···*·Unlike·`fs.readdir()`,·the·`withFileTypes`·option·defaults·to·`true`.·Set\n···*·`{·withFileTypes:·false·}`·to·return·strings.\n···*/\n\n··readdir():·Promise<PathBase[]>\n··readdir(opts:·{·withFileTypes:·true·}):·Promise<PathBase[]>\n··readdir(opts:·{·withFileTypes:·false·}):·Promise<string[]>\n··readdir(opts:·{·withFileTypes:·boolean·}):·Promise<PathBase[]·|·string[]>\n··readdir(entry:·PathBase·|·string):·Promise<PathBase[]>\n··readdir(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·true·},\n··):·Promise<PathBase[]>\n··readdir(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·false·},\n··):·Promise<string[]>\n··readdir(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·boolean·},\n··):·Promise<PathBase[]·|·string[]>\n··async·readdir(\n····entry:·PathBase·|·string·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····opts:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·true,\n····},\n··):·Promise<PathBase[]·|·string[]>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{·withFileTypes·}·=·opts\n····if·(!entry.canReaddir())·{\n······return·[]\n····}·else·{\n······const·p·=·await·entry.readdir()\n······return·withFileTypes·?·p·:·p.map(e·=>·e.name)\n····}\n··}\n\n··/**\n···*·synchronous·{@link·PathScurryBase.readdir}\n···*/\n··readdirSync():·PathBase[]\n··readdirSync(opts:·{·withFileTypes:·true·}):·PathBase[]\n··readdirSync(opts:·{·withFileTypes:·false·}):·string[]\n··readdirSync(opts:·{·withFileTypes:·boolean·}):·PathBase[]·|·string[]\n··readdirSync(entry:·PathBase·|·string):·PathBase[]\n··readdirSync(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·true·},\n··):·PathBase[]\n··readdirSync(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·false·},\n··):·string[]\n··readdirSync(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·boolean·},\n··):·PathBase[]·|·string[]\n··readdirSync(\n····entry:·PathBase·|·string·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····opts:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·true,\n····},\n··):·PathBase[]·|·string[]·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{·withFileTypes·=·true·}·=·opts\n····if·(!entry.canReaddir())·{\n······return·[]\n····}·else·if·(withFileTypes)·{\n······return·entry.readdirSync()\n····}·else·{\n······return·entry.readdirSync().map(e·=>·e.name)\n····}\n··}\n\n··/**\n···*·Call·lstat()·on·the·string·or·Path·object,·and·update·all·known\n···*·information·that·can·be·determined.\n···*\n···*·Note·that·unlike·`fs.lstat()`,·the·returned·value·does·not·contain·some\n···*·information,·such·as·`mode`,·`dev`,·`nlink`,·and·`ino`.··If·that\n···*·information·is·required,·you·will·need·to·call·`fs.lstat`·yourself.\n···*\n···*·If·the·Path·refers·to·a·nonexistent·file,·or·if·the·lstat·call·fails·for\n···*·any·reason,·`undefined`·is·returned.··Otherwise·the·updated·Path·object·is\n···*·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*/\n··async·lstat(\n····entry:·string·|·PathBase·=·this.cwd,\n··):·Promise<PathBase·|·undefined>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.lstat()\n··}\n\n··/**\n···*·synchronous·{@link·PathScurryBase.lstat}\n···*/\n··lstatSync(entry:·string·|·PathBase·=·this.cwd):·PathBase·|·undefined·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.lstatSync()\n··}\n\n··/**\n···*·Return·the·Path·object·or·string·path·corresponding·to·the·target·of·a\n···*·symbolic·link.\n···*\n···*·If·the·path·is·not·a·symbolic·link,·or·if·the·readlink·call·fails·for·any\n···*·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*\n···*·`{withFileTypes}`·option·defaults·to·`false`.\n···*\n···*·On·success,·returns·a·Path·object·if·`withFileTypes`·option·is·true,\n···*·otherwise·a·string.\n···*/\n··readlink():·Promise<string·|·undefined>\n··readlink(opt:·{·withFileTypes:·false·}):·Promise<string·|·undefined>\n··readlink(opt:·{·withFileTypes:·true·}):·Promise<PathBase·|·undefined>\n··readlink(opt:·{\n····withFileTypes:·boolean\n··}):·Promise<PathBase·|·string·|·undefined>\n··readlink(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·Promise<string·|·undefined>\n··readlink(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·Promise<PathBase·|·undefined>\n··readlink(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·Promise<string·|·PathBase·|·undefined>\n··async·readlink(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·Promise<string·|·PathBase·|·undefined>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·await·entry.readlink()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··/**\n···*·synchronous·{@link·PathScurryBase.readlink}\n···*/\n··readlinkSync():·string·|·undefined\n··readlinkSync(opt:·{·withFileTypes:·false·}):·string·|·undefined\n··readlinkSync(opt:·{·withFileTypes:·true·}):·PathBase·|·undefined\n··readlinkSync(opt:·{\n····withFileTypes:·boolean\n··}):·PathBase·|·string·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·string·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·PathBase·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·string·|·PathBase·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·string·|·PathBase·|·undefined·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·entry.readlinkSync()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··/**\n···*·Return·the·Path·object·or·string·path·corresponding·to·path·as·resolved\n···*·by·realpath(3).\n···*\n···*·If·the·realpath·call·fails·for·any·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*\n···*·`{withFileTypes}`·option·defaults·to·`false`.\n···*\n···*·On·success,·returns·a·Path·object·if·`withFileTypes`·option·is·true,\n···*·otherwise·a·string.\n···*/\n··realpath():·Promise<string·|·undefined>\n··realpath(opt:·{·withFileTypes:·false·}):·Promise<string·|·undefined>\n··realpath(opt:·{·withFileTypes:·true·}):·Promise<PathBase·|·undefined>\n··realpath(opt:·{\n····withFileTypes:·boolean\n··}):·Promise<PathBase·|·string·|·undefined>\n··realpath(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·Promise<string·|·undefined>\n··realpath(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·Promise<PathBase·|·undefined>\n··realpath(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·Promise<string·|·PathBase·|·undefined>\n··async·realpath(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·Promise<string·|·PathBase·|·undefined>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·await·entry.realpath()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··realpathSync():·string·|·undefined\n··realpathSync(opt:·{·withFileTypes:·false·}):·string·|·undefined\n··realpathSync(opt:·{·withFileTypes:·true·}):·PathBase·|·undefined\n··realpathSync(opt:·{\n····withFileTypes:·boolean\n··}):·PathBase·|·string·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·string·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·PathBase·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·string·|·PathBase·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·string·|·PathBase·|·undefined·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·entry.realpathSync()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··/**\n···*·Asynchronously·walk·the·directory·tree,·returning·an·array·of\n···*·all·path·strings·or·Path·objects·found.\n···*\n···*·Note·that·this·will·be·extremely·memory-hungry·on·large·filesystems.\n···*·In·such·cases,·it·may·be·better·to·use·the·stream·or·async·iterator\n···*·walk·implementation.\n···*/\n··walk():·Promise<PathBase[]>\n··walk(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Promise<PathBase[]>\n··walk(opts:·WalkOptionsWithFileTypesFalse):·Promise<string[]>\n··walk(opts:·WalkOptions):·Promise<string[]·|·PathBase[]>\n··walk(entry:·string·|·PathBase):·Promise<PathBase[]>\n··walk(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Promise<PathBase[]>\n··walk(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Promise<string[]>\n··walk(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Promise<PathBase[]·|·string[]>\n··async·walk(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Promise<PathBase[]·|·string[]>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results:·(string·|·PathBase)[]·=·[]\n····if·(!filter·||·filter(entry))·{\n······results.push(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·dirs·=·new·Set<PathBase>()\n····const·walk·=·(\n······dir:·PathBase,\n······cb:·(er?:·NodeJS.ErrnoException)·=>·void,\n····)·=>·{\n······dirs.add(dir)\n······dir.readdirCB((er,·entries)·=>·{\n········/*·c8·ignore·start·*/\n········if·(er)·{\n··········return·cb(er)\n········}\n········/*·c8·ignore·stop·*/\n········let·len·=·entries.length\n········if·(!len)·return·cb()\n········const·next·=·()·=>·{\n··········if·(--len·===·0)·{\n············cb()\n··········}\n········}\n········for·(const·e·of·entries)·{\n··········if·(!filter·||·filter(e))·{\n············results.push(withFileTypes·?·e·:·e.fullpath())\n··········}\n··········if·(follow·&&·e.isSymbolicLink())·{\n············e.realpath()\n··············.then(r·=>·(r?.isUnknown()·?·r.lstat()·:·r))\n··············.then(r·=>\n················r?.shouldWalk(dirs,·walkFilter)·?·walk(r,·next)·:·next(),\n··············)\n··········}·else·{\n············if·(e.shouldWalk(dirs,·walkFilter))·{\n··············walk(e,·next)\n············}·else·{\n··············next()\n············}\n··········}\n········}\n······},·true)·//·zalgooooooo\n····}\n\n····const·start·=·entry\n····return·new·Promise<PathBase[]·|·string[]>((res,·rej)·=>·{\n······walk(start,·er·=>·{\n········/*·c8·ignore·start·*/\n········if·(er)·return·rej(er)\n········/*·c8·ignore·stop·*/\n········res(results·as·PathBase[]·|·string[])\n······})\n····})\n··}\n\n··/**\n···*·Synchronously·walk·the·directory·tree,·returning·an·array·of\n···*·all·path·strings·or·Path·objects·found.\n···*\n···*·Note·that·this·will·be·extremely·memory-hungry·on·large·filesystems.\n···*·In·such·cases,·it·may·be·better·to·use·the·stream·or·async·iterator\n···*·walk·implementation.\n···*/\n··walkSync():·PathBase[]\n··walkSync(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·PathBase[]\n··walkSync(opts:·WalkOptionsWithFileTypesFalse):·string[]\n··walkSync(opts:·WalkOptions):·string[]·|·PathBase[]\n··walkSync(entry:·string·|·PathBase):·PathBase[]\n··walkSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesUnset·|·WalkOptionsWithFileTypesTrue,\n··):·PathBase[]\n··walkSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·string[]\n··walkSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·PathBase[]·|·string[]\n··walkSync(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·PathBase[]·|·string[]·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results:·(string·|·PathBase)[]·=·[]\n····if·(!filter·||·filter(entry))·{\n······results.push(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·dirs·=·new·Set<PathBase>([entry])\n····for·(const·dir·of·dirs)·{\n······const·entries·=·dir.readdirSync()\n······for·(const·e·of·entries)·{\n········if·(!filter·||·filter(e))·{\n··········results.push(withFileTypes·?·e·:·e.fullpath())\n········}\n········let·r:·PathBase·|·undefined·=·e\n········if·(e.isSymbolicLink())·{\n··········if·(!(follow·&&·(r·=·e.realpathSync())))·continue\n··········if·(r.isUnknown())·r.lstatSync()\n········}\n········if·(r.shouldWalk(dirs,·walkFilter))·{\n··········dirs.add(r)\n········}\n······}\n····}\n····return·results·as·string[]·|·PathBase[]\n··}\n\n··/**\n···*·Support·for·`for·await`\n···*\n···*·Alias·for·{@link·PathScurryBase.iterate}\n···*\n···*·Note:·As·of·Node·19,·this·is·very·slow,·compared·to·other·methods·of\n···*·walking.··Consider·using·{@link·PathScurryBase.stream}·if·memory·overhead\n···*·and·backpressure·are·concerns,·or·{@link·PathScurryBase.walk}·if·not.\n···*/\n··[Symbol.asyncIterator]()·{\n····return·this.iterate()\n··}\n\n··/**\n···*·Async·generator·form·of·{@link·PathScurryBase.walk}\n···*\n···*·Note:·As·of·Node·19,·this·is·very·slow,·compared·to·other·methods·of\n···*·walking,·especially·if·most/all·of·the·directory·tree·has·been·previously\n···*·walked.··Consider·using·{@link·PathScurryBase.stream}·if·memory·overhead\n···*·and·backpressure·are·concerns,·or·{@link·PathScurryBase.walk}·if·not.\n···*/\n··iterate():·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·AsyncGenerator<string,·void,·void>\n··iterate(opts:·WalkOptions):·AsyncGenerator<string·|·PathBase,·void,·void>\n··iterate(entry:·string·|·PathBase):·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·AsyncGenerator<string,·void,·void>\n··iterate(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·AsyncGenerator<PathBase·|·string,·void,·void>\n··iterate(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····options:·WalkOptions·=·{},\n··):·AsyncGenerator<PathBase·|·string,·void,·void>·{\n····//·iterating·async·over·the·stream·is·significantly·more·performant,\n····//·especially·in·the·warm-cache·scenario,·because·it·buffers·up·directory\n····//·entries·in·the·background·instead·of·waiting·for·a·yield·for·each·one.\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······options·=·entry\n······entry·=·this.cwd\n····}\n····return·this.stream(entry,·options)[Symbol.asyncIterator]()\n··}\n\n··/**\n···*·Iterating·over·a·PathScurry·performs·a·synchronous·walk.\n···*\n···*·Alias·for·{@link·PathScurryBase.iterateSync}\n···*/\n··[Symbol.iterator]()·{\n····return·this.iterateSync()\n··}\n\n··iterateSync():·Generator<PathBase,·void,·void>\n··iterateSync(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Generator<PathBase,·void,·void>\n··iterateSync(\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Generator<string,·void,·void>\n··iterateSync(opts:·WalkOptions):·Generator<string·|·PathBase,·void,·void>\n··iterateSync(entry:·string·|·PathBase):·Generator<PathBase,·void,·void>\n··iterateSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Generator<PathBase,·void,·void>\n··iterateSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Generator<string,·void,·void>\n··iterateSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Generator<PathBase·|·string,·void,·void>\n··*iterateSync(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Generator<PathBase·|·string,·void,·void>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····if·(!filter·||·filter(entry))·{\n······yield·withFileTypes·?·entry·:·entry.fullpath()\n····}\n····const·dirs·=·new·Set<PathBase>([entry])\n····for·(const·dir·of·dirs)·{\n······const·entries·=·dir.readdirSync()\n······for·(const·e·of·entries)·{\n········if·(!filter·||·filter(e))·{\n··········yield·withFileTypes·?·e·:·e.fullpath()\n········}\n········let·r:·PathBase·|·undefined·=·e\n········if·(e.isSymbolicLink())·{\n··········if·(!(follow·&&·(r·=·e.realpathSync())))·continue\n··········if·(r.isUnknown())·r.lstatSync()\n········}\n········if·(r.shouldWalk(dirs,·walkFilter))·{\n··········dirs.add(r)\n········}\n······}\n····}\n··}\n\n··/**\n···*·Stream·form·of·{@link·PathScurryBase.walk}\n···*\n···*·Returns·a·Minipass·stream·that·emits·{@link·PathBase}·objects·by·default,\n···*·or·strings·if·`{·withFileTypes:·false·}`·is·set·in·the·options.\n···*/\n··stream():·Minipass<PathBase>\n··stream(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Minipass<PathBase>\n··stream(opts:·WalkOptionsWithFileTypesFalse):·Minipass<string>\n··stream(opts:·WalkOptions):·Minipass<string·|·PathBase>\n··stream(entry:·string·|·PathBase):·Minipass<PathBase>\n··stream(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesUnset·|·WalkOptionsWithFileTypesTrue,\n··):·Minipass<PathBase>\n··stream(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Minipass<string>\n··stream(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Minipass<string>·|·Minipass<PathBase>\n··stream(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Minipass<string>·|·Minipass<PathBase>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results·=·new·Minipass<string·|·PathBase>({·objectMode:·true·})\n····if·(!filter·||·filter(entry))·{\n······results.write(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·dirs·=·new·Set<PathBase>()\n····const·queue:·PathBase[]·=·[entry]\n····let·processing·=·0\n····const·process·=·()·=>·{\n······let·paused·=·false\n······while·(!paused)·{\n········const·dir·=·queue.shift()\n········if·(!dir)·{\n··········if·(processing·===·0)·results.end()\n··········return\n········}\n\n········processing++\n········dirs.add(dir)\n\n········const·onReaddir·=·(\n··········er:·null·|·NodeJS.ErrnoException,\n··········entries:·PathBase[],\n··········didRealpaths:·boolean·=·false,\n········)·=>·{\n··········/*·c8·ignore·start·*/\n··········if·(er)·return·results.emit('error',·er)\n··········/*·c8·ignore·stop·*/\n··········if·(follow·&&·!didRealpaths)·{\n············const·promises:·Promise<PathBase·|·undefined>[]·=·[]\n············for·(const·e·of·entries)·{\n··············if·(e.isSymbolicLink())·{\n················promises.push(\n··················e\n····················.realpath()\n····················.then((r:·PathBase·|·undefined)·=>\n······················r?.isUnknown()·?·r.lstat()·:·r,\n····················),\n················)\n··············}\n············}\n············if·(promises.length)·{\n··············Promise.all(promises).then(()·=>\n················onReaddir(null,·entries,·true),\n··············)\n··············return\n············}\n··········}\n\n··········for·(const·e·of·entries)·{\n············if·(e·&&·(!filter·||·filter(e)))·{\n··············if·(!results.write(withFileTypes·?·e·:·e.fullpath()))·{\n················paused·=·true\n··············}\n············}\n··········}\n\n··········processing--\n··········for·(const·e·of·entries)·{\n············const·r·=·e.realpathCached()·||·e\n············if·(r.shouldWalk(dirs,·walkFilter))·{\n··············queue.push(r)\n············}\n··········}\n··········if·(paused·&&·!results.flowing)·{\n············results.once('drain',·process)\n··········}·else·if·(!sync)·{\n············process()\n··········}\n········}\n\n········//·zalgo·containment\n········let·sync·=·true\n········dir.readdirCB(onReaddir,·true)\n········sync·=·false\n······}\n····}\n····process()\n····return·results·as·Minipass<string>·|·Minipass<PathBase>\n··}\n\n··/**\n···*·Synchronous·form·of·{@link·PathScurryBase.stream}\n···*\n···*·Returns·a·Minipass·stream·that·emits·{@link·PathBase}·objects·by·default,\n···*·or·strings·if·`{·withFileTypes:·false·}`·is·set·in·the·options.\n···*\n···*·Will·complete·the·walk·in·a·single·tick·if·the·stream·is·consumed·fully.\n···*·Otherwise,·will·pause·as·needed·for·stream·backpressure.\n···*/\n··streamSync():·Minipass<PathBase>\n··streamSync(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Minipass<PathBase>\n··streamSync(opts:·WalkOptionsWithFileTypesFalse):·Minipass<string>\n··streamSync(opts:·WalkOptions):·Minipass<string·|·PathBase>\n··streamSync(entry:·string·|·PathBase):·Minipass<PathBase>\n··streamSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesUnset·|·WalkOptionsWithFileTypesTrue,\n··):·Minipass<PathBase>\n··streamSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Minipass<string>\n··streamSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Minipass<string>·|·Minipass<PathBase>\n··streamSync(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Minipass<string>·|·Minipass<PathBase>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results·=·new·Minipass<string·|·PathBase>({·objectMode:·true·})\n····const·dirs·=·new·Set<PathBase>()\n····if·(!filter·||·filter(entry))·{\n······results.write(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·queue:·PathBase[]·=·[entry]\n····let·processing·=·0\n····const·process·=·()·=>·{\n······let·paused·=·false\n······while·(!paused)·{\n········const·dir·=·queue.shift()\n········if·(!dir)·{\n··········if·(processing·===·0)·results.end()\n··········return\n········}\n········processing++\n········dirs.add(dir)\n\n········const·entries·=·dir.readdirSync()\n········for·(const·e·of·entries)·{\n··········if·(!filter·||·filter(e))·{\n············if·(!results.write(withFileTypes·?·e·:·e.fullpath()))·{\n··············paused·=·true\n············}\n··········}\n········}\n········processing--\n········for·(const·e·of·entries)·{\n··········let·r:·PathBase·|·undefined·=·e\n··········if·(e.isSymbolicLink())·{\n············if·(!(follow·&&·(r·=·e.realpathSync())))·continue\n············if·(r.isUnknown())·r.lstatSync()\n··········}\n··········if·(r.shouldWalk(dirs,·walkFilter))·{\n············queue.push(r)\n··········}\n········}\n······}\n······if·(paused·&&·!results.flowing)·results.once('drain',·process)\n····}\n····process()\n····return·results·as·Minipass<string>·|·Minipass<PathBase>\n··}\n\n··chdir(path:·string·|·Path·=·this.cwd)·{\n····const·oldCwd·=·this.cwd\n····this.cwd·=·typeof·path·===·'string'·?·this.cwd.resolve(path)·:·path\n····this.cwd[setAsCwd](oldCwd)\n··}\n}\n\n/**\n·*·Options·provided·to·all·walk·methods.\n·*/\nexport·interface·WalkOptions·{\n··/**\n···*·Return·results·as·{@link·PathBase}·objects·rather·than·strings.\n···*·When·set·to·false,·results·are·fully·resolved·paths,·as·returned·by\n···*·{@link·PathBase.fullpath}.\n···*·@default·true\n···*/\n··withFileTypes?:·boolean\n\n··/**\n···*··Attempt·to·read·directory·entries·from·symbolic·links.·Otherwise,·only\n···*··actual·directories·are·traversed.·Regardless·of·this·setting,·a·given\n···*··target·path·will·only·ever·be·walked·once,·meaning·that·a·symbolic·link\n···*··to·a·previously·traversed·directory·will·never·be·followed.\n···*\n···*··Setting·this·imposes·a·slight·performance·penalty,·because·`readlink`\n···*··must·be·called·on·all·symbolic·links·encountered,·in·order·to·avoid\n···*··infinite·cycles.\n···*·@default·false\n···*/\n··follow?:·boolean\n\n··/**\n···*·Only·return·entries·where·the·provided·function·returns·true.\n···*\n···*·This·will·not·prevent·directories·from·being·traversed,·even·if·they·do\n···*·not·pass·the·filter,·though·it·will·prevent·directories·themselves·from\n···*·being·included·in·the·result·set.··See·{@link·walkFilter}\n···*\n···*·Asynchronous·functions·are·not·supported·here.\n···*\n···*·By·default,·if·no·filter·is·provided,·all·entries·and·traversed\n···*·directories·are·included.\n···*/\n··filter?:·(entry:·PathBase)·=>·boolean\n\n··/**\n···*·Only·traverse·directories·(and·in·the·case·of·{@link·follow}·being·set·to\n···*·true,·symbolic·links·to·directories)·if·the·provided·function·returns\n···*·true.\n···*\n···*·This·will·not·prevent·directories·from·being·included·in·the·result·set,\n···*·even·if·they·do·not·pass·the·supplied·filter·function.··See·{@link·filter}\n···*·to·do·that.\n···*\n···*·Asynchronous·functions·are·not·supported·here.\n···*/\n··walkFilter?:·(entry:·PathBase)·=>·boolean\n}\n\nexport·type·WalkOptionsWithFileTypesUnset·=·WalkOptions·&·{\n··withFileTypes?:·undefined\n}\nexport·type·WalkOptionsWithFileTypesTrue·=·WalkOptions·&·{\n··withFileTypes:·true\n}\nexport·type·WalkOptionsWithFileTypesFalse·=·WalkOptions·&·{\n··withFileTypes:·false\n}\n\n/**\n·*·Windows·implementation·of·{@link·PathScurryBase}\n·*\n·*·Defaults·to·case·insensitve,·uses·`'\\\\'`·to·generate·path·strings.··Uses\n·*·{@link·PathWin32}·for·Path·objects.\n·*/\nexport·class·PathScurryWin32·extends·PathScurryBase·{\n··/**\n···*·separator·for·generating·path·strings\n···*/\n··sep:·'\\\\'·=·'\\\\'\n\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····opts:·PathScurryOpts·=·{},\n··)·{\n····const·{·nocase·=·true·}·=·opts\n····super(cwd,·win32,·'\\\\',·{·...opts,·nocase·})\n····this.nocase·=·nocase\n····for·(let·p:·PathBase·|·undefined·=·this.cwd;·p;·p·=·p.parent)·{\n······p.nocase·=·this.nocase\n····}\n··}\n\n··/**\n···*·@internal\n···*/\n··parseRootPath(dir:·string):·string·{\n····//·if·the·path·starts·with·a·single·separator,·it's·not·a·UNC,·and·we'll\n····//·just·get·separator·as·the·root,·and·driveFromUNC·will·return·\\\n····//·In·that·case,·mount·\\·on·the·root·from·the·cwd.\n····return·win32.parse(dir).root.toUpperCase()\n··}\n\n··/**\n···*·@internal\n···*/\n··newRoot(fs:·FSValue)·{\n····return·new·PathWin32(\n······this.rootPath,\n······IFDIR,\n······undefined,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······{·fs·},\n····)\n··}\n\n··/**\n···*·Return·true·if·the·provided·path·string·is·an·absolute·path\n···*/\n··isAbsolute(p:·string):·boolean·{\n····return·(\n······p.startsWith('/')·||·p.startsWith('\\\\')·||·/^[a-z]:(\\/|\\\\)/i.test(p)\n····)\n··}\n}\n\n/**\n·*·{@link·PathScurryBase}·implementation·for·all·posix·systems·other·than·Darwin.\n·*\n·*·Defaults·to·case-sensitive·matching,·uses·`'/'`·to·generate·path·strings.\n·*\n·*·Uses·{@link·PathPosix}·for·Path·objects.\n·*/\nexport·class·PathScurryPosix·extends·PathScurryBase·{\n··/**\n···*·separator·for·generating·path·strings\n···*/\n··sep:·'/'·=·'/'\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····opts:·PathScurryOpts·=·{},\n··)·{\n····const·{·nocase·=·false·}·=·opts\n····super(cwd,·posix,·'/',·{·...opts,·nocase·})\n····this.nocase·=·nocase\n··}\n\n··/**\n···*·@internal\n···*/\n··parseRootPath(_dir:·string):·string·{\n····return·'/'\n··}\n\n··/**\n···*·@internal\n···*/\n··newRoot(fs:·FSValue)·{\n····return·new·PathPosix(\n······this.rootPath,\n······IFDIR,\n······undefined,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······{·fs·},\n····)\n··}\n\n··/**\n···*·Return·true·if·the·provided·path·string·is·an·absolute·path\n···*/\n··isAbsolute(p:·string):·boolean·{\n····return·p.startsWith('/')\n··}\n}\n\n/**\n·*·{@link·PathScurryBase}·implementation·for·Darwin·(macOS)·systems.\n·*\n·*·Defaults·to·case-insensitive·matching,·uses·`'/'`·for·generating·path\n·*·strings.\n·*\n·*·Uses·{@link·PathPosix}·for·Path·objects.\n·*/\nexport·class·PathScurryDarwin·extends·PathScurryPosix·{\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····opts:·PathScurryOpts·=·{},\n··)·{\n····const·{·nocase·=·true·}·=·opts\n····super(cwd,·{·...opts,·nocase·})\n··}\n}\n\n/**\n·*·Default·{@link·PathBase}·implementation·for·the·current·platform.\n·*\n·*·{@link·PathWin32}·on·Windows·systems,·{@link·PathPosix}·on·all·others.\n·*/\nexport·const·Path·=·process.platform·===·'win32'·?·PathWin32·:·PathPosix\nexport·type·Path·=·PathBase·|·InstanceType<typeof·Path>\n\n/**\n·*·Default·{@link·PathScurryBase}·implementation·for·the·current·platform.\n·*\n·*·{@link·PathScurryWin32}·on·Windows·systems,·{@link·PathScurryDarwin}·on\n·*·Darwin·(macOS)·systems,·{@link·PathScurryPosix}·on·all·others.\n·*/\nexport·const·PathScurry:\n··|·typeof·PathScurryWin32\n··|·typeof·PathScurryDarwin\n··|·typeof·PathScurryPosix·=\n··process.platform·===·'win32'·?·PathScurryWin32\n··:·process.platform·===·'darwin'·?·PathScurryDarwin\n··:·PathScurryPosix\nexport·type·PathScurry·=·PathScurryBase·|·InstanceType<typeof·PathScurry>\n",
1005 ········"//·this·is·just·a·very·light·wrapper·around·2·arrays·with·an·offset·index\n\nimport·{·GLOBSTAR·}·from·'minimatch'\nexport·type·MMPattern·=·string·|·RegExp·|·typeof·GLOBSTAR\n\n//·an·array·of·length·>=·1\nexport·type·PatternList·=·[p:·MMPattern,·...rest:·MMPattern[]]\nexport·type·UNCPatternList·=·[\n··p0:·'',\n··p1:·'',\n··p2:·string,\n··p3:·string,\n··...rest:·MMPattern[],\n]\nexport·type·DrivePatternList·=·[p0:·string,·...rest:·MMPattern[]]\nexport·type·AbsolutePatternList·=·[p0:·'',·...rest:·MMPattern[]]\nexport·type·GlobList·=·[p:·string,·...rest:·string[]]\n\nconst·isPatternList·=·(pl:·MMPattern[]):·pl·is·PatternList·=>\n··pl.length·>=·1\nconst·isGlobList·=·(gl:·string[]):·gl·is·GlobList·=>·gl.length·>=·1\n\n/**\n·*·An·immutable-ish·view·on·an·array·of·glob·parts·and·their·parsed\n·*·results\n·*/\nexport·class·Pattern·{\n··readonly·#patternList:·PatternList\n··readonly·#globList:·GlobList\n··readonly·#index:·number\n··readonly·length:·number\n··readonly·#platform:·NodeJS.Platform\n··#rest?:·Pattern·|·null\n··#globString?:·string\n··#isDrive?:·boolean\n··#isUNC?:·boolean\n··#isAbsolute?:·boolean\n··#followGlobstar:·boolean·=·true\n\n··constructor(\n····patternList:·MMPattern[],\n····globList:·string[],\n····index:·number,\n····platform:·NodeJS.Platform,\n··)·{\n····if·(!isPatternList(patternList))·{\n······throw·new·TypeError('empty·pattern·list')\n····}\n····if·(!isGlobList(globList))·{\n······throw·new·TypeError('empty·glob·list')\n····}\n····if·(globList.length·!==·patternList.length)·{\n······throw·new·TypeError('mismatched·pattern·list·and·glob·list·lengths')\n····}\n····this.length·=·patternList.length\n····if·(index·<·0·||·index·>=·this.length)·{\n······throw·new·TypeError('index·out·of·range')\n····}\n····this.#patternList·=·patternList\n····this.#globList·=·globList\n····this.#index·=·index\n····this.#platform·=·platform\n\n····//·normalize·root·entries·of·absolute·patterns·on·initial·creation.\n····if·(this.#index·===·0)·{\n······//·c:·=>·['c:/']\n······//·C:/·=>·['C:/']\n······//·C:/x·=>·['C:/',·'x']\n······//·//host/share·=>·['//host/share/']\n······//·//host/share/·=>·['//host/share/']\n······//·//host/share/x·=>·['//host/share/',·'x']\n······//·/etc·=>·['/',·'etc']\n······//·/·=>·['/']\n······if·(this.isUNC())·{\n········//·''·/·''·/·'host'·/·'share'\n········const·[p0,·p1,·p2,·p3,·...prest]·=·this.#patternList\n········const·[g0,·g1,·g2,·g3,·...grest]·=·this.#globList\n········if·(prest[0]·===·'')·{\n··········//·ends·in·/\n··········prest.shift()\n··········grest.shift()\n········}\n········const·p·=·[p0,·p1,·p2,·p3,·''].join('/')\n········const·g·=·[g0,·g1,·g2,·g3,·''].join('/')\n········this.#patternList·=·[p,·...prest]\n········this.#globList·=·[g,·...grest]\n········this.length·=·this.#patternList.length\n······}·else·if·(this.isDrive()·||·this.isAbsolute())·{\n········const·[p1,·...prest]·=·this.#patternList\n········const·[g1,·...grest]·=·this.#globList\n········if·(prest[0]·===·'')·{\n··········//·ends·in·/\n··········prest.shift()\n··········grest.shift()\n········}\n········const·p·=·(p1·as·string)·+·'/'\n········const·g·=·g1·+·'/'\n········this.#patternList·=·[p,·...prest]\n········this.#globList·=·[g,·...grest]\n········this.length·=·this.#patternList.length\n······}\n····}\n··}\n\n··/**\n···*·The·first·entry·in·the·parsed·list·of·patterns\n···*/\n··pattern():·MMPattern·{\n····return·this.#patternList[this.#index]·as·MMPattern\n··}\n\n··/**\n···*·true·of·if·pattern()·returns·a·string\n···*/\n··isString():·boolean·{\n····return·typeof·this.#patternList[this.#index]·===·'string'\n··}\n··/**\n···*·true·of·if·pattern()·returns·GLOBSTAR\n···*/\n··isGlobstar():·boolean·{\n····return·this.#patternList[this.#index]·===·GLOBSTAR\n··}\n··/**\n···*·true·if·pattern()·returns·a·regexp\n···*/\n··isRegExp():·boolean·{\n····return·this.#patternList[this.#index]·instanceof·RegExp\n··}\n\n··/**\n···*·The·/-joined·set·of·glob·parts·that·make·up·this·pattern\n···*/\n··globString():·string·{\n····return·(this.#globString·=\n······this.#globString·||\n······(this.#index·===·0·?\n········this.isAbsolute()·?\n··········this.#globList[0]·+·this.#globList.slice(1).join('/')\n········:·this.#globList.join('/')\n······:·this.#globList.slice(this.#index).join('/')))\n··}\n\n··/**\n···*·true·if·there·are·more·pattern·parts·after·this·one\n···*/\n··hasMore():·boolean·{\n····return·this.length·>·this.#index·+·1\n··}\n\n··/**\n···*·The·rest·of·the·pattern·after·this·part,·or·null·if·this·is·the·end\n···*/\n··rest():·Pattern·|·null·{\n····if·(this.#rest·!==·undefined)·return·this.#rest\n····if·(!this.hasMore())·return·(this.#rest·=·null)\n····this.#rest·=·new·Pattern(\n······this.#patternList,\n······this.#globList,\n······this.#index·+·1,\n······this.#platform,\n····)\n····this.#rest.#isAbsolute·=·this.#isAbsolute\n····this.#rest.#isUNC·=·this.#isUNC\n····this.#rest.#isDrive·=·this.#isDrive\n····return·this.#rest\n··}\n\n··/**\n···*·true·if·the·pattern·represents·a·//unc/path/·on·windows\n···*/\n··isUNC():·boolean·{\n····const·pl·=·this.#patternList\n····return·this.#isUNC·!==·undefined·?\n········this.#isUNC\n······:·(this.#isUNC·=\n··········this.#platform·===·'win32'·&&\n··········this.#index·===·0·&&\n··········pl[0]·===·''·&&\n··········pl[1]·===·''·&&\n··········typeof·pl[2]·===·'string'·&&\n··········!!pl[2]·&&\n··········typeof·pl[3]·===·'string'·&&\n··········!!pl[3])\n··}\n\n··//·pattern·like·C:/...\n··//·split·=·['C:',·...]\n··//·XXX:·would·be·nice·to·handle·patterns·like·`c:*`·to·test·the·cwd\n··//·in·c:·for·*,·but·I·don't·know·of·a·way·to·even·figure·out·what·that\n··//·cwd·is·without·actually·chdir'ing·into·it?\n··/**\n···*·True·if·the·pattern·starts·with·a·drive·letter·on·Windows\n···*/\n··isDrive():·boolean·{\n····const·pl·=·this.#patternList\n····return·this.#isDrive·!==·undefined·?\n········this.#isDrive\n······:·(this.#isDrive·=\n··········this.#platform·===·'win32'·&&\n··········this.#index·===·0·&&\n··········this.length·>·1·&&\n··········typeof·pl[0]·===·'string'·&&\n··········/^[a-z]:$/i.test(pl[0]))\n··}\n\n··//·pattern·=·'/'·or·'/...'·or·'/x/...'\n··//·split·=·['',·'']·or·['',·...]·or·['',·'x',·...]\n··//·Drive·and·UNC·both·considered·absolute·on·windows\n··/**\n···*·True·if·the·pattern·is·rooted·on·an·absolute·path\n···*/\n··isAbsolute():·boolean·{\n····const·pl·=·this.#patternList\n····return·this.#isAbsolute·!==·undefined·?\n········this.#isAbsolute\n······:·(this.#isAbsolute·=\n··········(pl[0]·===·''·&&·pl.length·>·1)·||\n··········this.isDrive()·||\n··········this.isUNC())\n··}\n\n··/**\n···*·consume·the·root·of·the·pattern,·and·return·it\n···*/\n··root():·string·{\n····const·p·=·this.#patternList[0]\n····return·(\n········typeof·p·===·'string'·&&·this.isAbsolute()·&&·this.#index·===·0\n······)·?\n········p\n······:·''\n··}\n\n··/**\n···*·Check·to·see·if·the·current·globstar·pattern·is·allowed·to·follow\n···*·a·symbolic·link.\n···*/\n··checkFollowGlobstar():·boolean·{\n····return·!(\n······this.#index·===·0·||\n······!this.isGlobstar()·||\n······!this.#followGlobstar\n····)\n··}\n\n··/**\n···*·Mark·that·the·current·globstar·pattern·is·following·a·symbolic·link\n···*/\n··markFollowGlobstar():·boolean·{\n····if·(this.#index·===·0·||·!this.isGlobstar()·||·!this.#followGlobstar)\n······return·false\n····this.#followGlobstar·=·false\n····return·true\n··}\n}\n",1006 ········"//·this·is·just·a·very·light·wrapper·around·2·arrays·with·an·offset·index\n\nimport·{·GLOBSTAR·}·from·'minimatch'\nexport·type·MMPattern·=·string·|·RegExp·|·typeof·GLOBSTAR\n\n//·an·array·of·length·>=·1\nexport·type·PatternList·=·[p:·MMPattern,·...rest:·MMPattern[]]\nexport·type·UNCPatternList·=·[\n··p0:·'',\n··p1:·'',\n··p2:·string,\n··p3:·string,\n··...rest:·MMPattern[],\n]\nexport·type·DrivePatternList·=·[p0:·string,·...rest:·MMPattern[]]\nexport·type·AbsolutePatternList·=·[p0:·'',·...rest:·MMPattern[]]\nexport·type·GlobList·=·[p:·string,·...rest:·string[]]\n\nconst·isPatternList·=·(pl:·MMPattern[]):·pl·is·PatternList·=>\n··pl.length·>=·1\nconst·isGlobList·=·(gl:·string[]):·gl·is·GlobList·=>·gl.length·>=·1\n\n/**\n·*·An·immutable-ish·view·on·an·array·of·glob·parts·and·their·parsed\n·*·results\n·*/\nexport·class·Pattern·{\n··readonly·#patternList:·PatternList\n··readonly·#globList:·GlobList\n··readonly·#index:·number\n··readonly·length:·number\n··readonly·#platform:·NodeJS.Platform\n··#rest?:·Pattern·|·null\n··#globString?:·string\n··#isDrive?:·boolean\n··#isUNC?:·boolean\n··#isAbsolute?:·boolean\n··#followGlobstar:·boolean·=·true\n\n··constructor(\n····patternList:·MMPattern[],\n····globList:·string[],\n····index:·number,\n····platform:·NodeJS.Platform,\n··)·{\n····if·(!isPatternList(patternList))·{\n······throw·new·TypeError('empty·pattern·list')\n····}\n····if·(!isGlobList(globList))·{\n······throw·new·TypeError('empty·glob·list')\n····}\n····if·(globList.length·!==·patternList.length)·{\n······throw·new·TypeError('mismatched·pattern·list·and·glob·list·lengths')\n····}\n····this.length·=·patternList.length\n····if·(index·<·0·||·index·>=·this.length)·{\n······throw·new·TypeError('index·out·of·range')\n····}\n····this.#patternList·=·patternList\n····this.#globList·=·globList\n····this.#index·=·index\n····this.#platform·=·platform\n\n····//·normalize·root·entries·of·absolute·patterns·on·initial·creation.\n····if·(this.#index·===·0)·{\n······//·c:·=>·['c:/']\n······//·C:/·=>·['C:/']\n······//·C:/x·=>·['C:/',·'x']\n······//·//host/share·=>·['//host/share/']\n······//·//host/share/·=>·['//host/share/']\n······//·//host/share/x·=>·['//host/share/',·'x']\n······//·/etc·=>·['/',·'etc']\n······//·/·=>·['/']\n······if·(this.isUNC())·{\n········//·''·/·''·/·'host'·/·'share'\n········const·[p0,·p1,·p2,·p3,·...prest]·=·this.#patternList\n········const·[g0,·g1,·g2,·g3,·...grest]·=·this.#globList\n········if·(prest[0]·===·'')·{\n··········//·ends·in·/\n··········prest.shift()\n··········grest.shift()\n········}\n········const·p·=·[p0,·p1,·p2,·p3,·''].join('/')\n········const·g·=·[g0,·g1,·g2,·g3,·''].join('/')\n········this.#patternList·=·[p,·...prest]\n········this.#globList·=·[g,·...grest]\n········this.length·=·this.#patternList.length\n······}·else·if·(this.isDrive()·||·this.isAbsolute())·{\n········const·[p1,·...prest]·=·this.#patternList\n········const·[g1,·...grest]·=·this.#globList\n········if·(prest[0]·===·'')·{\n··········//·ends·in·/\n··········prest.shift()\n··········grest.shift()\n········}\n········const·p·=·(p1·as·string)·+·'/'\n········const·g·=·g1·+·'/'\n········this.#patternList·=·[p,·...prest]\n········this.#globList·=·[g,·...grest]\n········this.length·=·this.#patternList.length\n······}\n····}\n··}\n\n··/**\n···*·The·first·entry·in·the·parsed·list·of·patterns\n···*/\n··pattern():·MMPattern·{\n····return·this.#patternList[this.#index]·as·MMPattern\n··}\n\n··/**\n···*·true·of·if·pattern()·returns·a·string\n···*/\n··isString():·boolean·{\n····return·typeof·this.#patternList[this.#index]·===·'string'\n··}\n··/**\n···*·true·of·if·pattern()·returns·GLOBSTAR\n···*/\n··isGlobstar():·boolean·{\n····return·this.#patternList[this.#index]·===·GLOBSTAR\n··}\n··/**\n···*·true·if·pattern()·returns·a·regexp\n···*/\n··isRegExp():·boolean·{\n····return·this.#patternList[this.#index]·instanceof·RegExp\n··}\n\n··/**\n···*·The·/-joined·set·of·glob·parts·that·make·up·this·pattern\n···*/\n··globString():·string·{\n····return·(this.#globString·=\n······this.#globString·||\n······(this.#index·===·0·?\n········this.isAbsolute()·?\n··········this.#globList[0]·+·this.#globList.slice(1).join('/')\n········:·this.#globList.join('/')\n······:·this.#globList.slice(this.#index).join('/')))\n··}\n\n··/**\n···*·true·if·there·are·more·pattern·parts·after·this·one\n···*/\n··hasMore():·boolean·{\n····return·this.length·>·this.#index·+·1\n··}\n\n··/**\n···*·The·rest·of·the·pattern·after·this·part,·or·null·if·this·is·the·end\n···*/\n··rest():·Pattern·|·null·{\n····if·(this.#rest·!==·undefined)·return·this.#rest\n····if·(!this.hasMore())·return·(this.#rest·=·null)\n····this.#rest·=·new·Pattern(\n······this.#patternList,\n······this.#globList,\n······this.#index·+·1,\n······this.#platform,\n····)\n····this.#rest.#isAbsolute·=·this.#isAbsolute\n····this.#rest.#isUNC·=·this.#isUNC\n····this.#rest.#isDrive·=·this.#isDrive\n····return·this.#rest\n··}\n\n··/**\n···*·true·if·the·pattern·represents·a·//unc/path/·on·windows\n···*/\n··isUNC():·boolean·{\n····const·pl·=·this.#patternList\n····return·this.#isUNC·!==·undefined·?\n········this.#isUNC\n······:·(this.#isUNC·=\n··········this.#platform·===·'win32'·&&\n··········this.#index·===·0·&&\n··········pl[0]·===·''·&&\n··········pl[1]·===·''·&&\n··········typeof·pl[2]·===·'string'·&&\n··········!!pl[2]·&&\n··········typeof·pl[3]·===·'string'·&&\n··········!!pl[3])\n··}\n\n··//·pattern·like·C:/...\n··//·split·=·['C:',·...]\n··//·XXX:·would·be·nice·to·handle·patterns·like·`c:*`·to·test·the·cwd\n··//·in·c:·for·*,·but·I·don't·know·of·a·way·to·even·figure·out·what·that\n··//·cwd·is·without·actually·chdir'ing·into·it?\n··/**\n···*·True·if·the·pattern·starts·with·a·drive·letter·on·Windows\n···*/\n··isDrive():·boolean·{\n····const·pl·=·this.#patternList\n····return·this.#isDrive·!==·undefined·?\n········this.#isDrive\n······:·(this.#isDrive·=\n··········this.#platform·===·'win32'·&&\n··········this.#index·===·0·&&\n··········this.length·>·1·&&\n··········typeof·pl[0]·===·'string'·&&\n··········/^[a-z]:$/i.test(pl[0]))\n··}\n\n··//·pattern·=·'/'·or·'/...'·or·'/x/...'\n··//·split·=·['',·'']·or·['',·...]·or·['',·'x',·...]\n··//·Drive·and·UNC·both·considered·absolute·on·windows\n··/**\n···*·True·if·the·pattern·is·rooted·on·an·absolute·path\n···*/\n··isAbsolute():·boolean·{\n····const·pl·=·this.#patternList\n····return·this.#isAbsolute·!==·undefined·?\n········this.#isAbsolute\n······:·(this.#isAbsolute·=\n··········(pl[0]·===·''·&&·pl.length·>·1)·||\n··········this.isDrive()·||\n··········this.isUNC())\n··}\n\n··/**\n···*·consume·the·root·of·the·pattern,·and·return·it\n···*/\n··root():·string·{\n····const·p·=·this.#patternList[0]\n····return·(\n········typeof·p·===·'string'·&&·this.isAbsolute()·&&·this.#index·===·0\n······)·?\n········p\n······:·''\n··}\n\n··/**\n···*·Check·to·see·if·the·current·globstar·pattern·is·allowed·to·follow\n···*·a·symbolic·link.\n···*/\n··checkFollowGlobstar():·boolean·{\n····return·!(\n······this.#index·===·0·||\n······!this.isGlobstar()·||\n······!this.#followGlobstar\n····)\n··}\n\n··/**\n···*·Mark·that·the·current·globstar·pattern·is·following·a·symbolic·link\n···*/\n··markFollowGlobstar():·boolean·{\n····if·(this.#index·===·0·||·!this.isGlobstar()·||·!this.#followGlobstar)\n······return·false\n····this.#followGlobstar·=·false\n····return·true\n··}\n}\n",
1006 ········"//·give·it·a·pattern,·and·it'll·be·able·to·tell·you·if\n//·a·given·path·should·be·ignored.\n//·Ignoring·a·path·ignores·its·children·if·the·pattern·ends·in·/**\n//·Ignores·are·always·parsed·in·dot:true·mode\n\nimport·{·Minimatch,·MinimatchOptions·}·from·'minimatch'\nimport·{·Path·}·from·'path-scurry'\nimport·{·Pattern·}·from·'./pattern.js'\nimport·{·GlobWalkerOpts·}·from·'./walker.js'\n\nexport·interface·IgnoreLike·{\n··ignored?:·(p:·Path)·=>·boolean\n··childrenIgnored?:·(p:·Path)·=>·boolean\n··add?:·(ignore:·string)·=>·void\n}\n\nconst·defaultPlatform:·NodeJS.Platform·=\n··(\n····typeof·process·===·'object'·&&\n····process·&&\n····typeof·process.platform·===·'string'\n··)·?\n····process.platform\n··:·'linux'\n\n/**\n·*·Class·used·to·process·ignored·patterns\n·*/\nexport·class·Ignore·implements·IgnoreLike·{\n··relative:·Minimatch[]\n··relativeChildren:·Minimatch[]\n··absolute:·Minimatch[]\n··absoluteChildren:·Minimatch[]\n··platform:·NodeJS.Platform\n··mmopts:·MinimatchOptions\n\n··constructor(\n····ignored:·string[],\n····{\n······nobrace,\n······nocase,\n······noext,\n······noglobstar,\n······platform·=·defaultPlatform,\n····}:·GlobWalkerOpts,\n··)·{\n····this.relative·=·[]\n····this.absolute·=·[]\n····this.relativeChildren·=·[]\n····this.absoluteChildren·=·[]\n····this.platform·=·platform\n····this.mmopts·=·{\n······dot:·true,\n······nobrace,\n······nocase,\n······noext,\n······noglobstar,\n······optimizationLevel:·2,\n······platform,\n······nocomment:·true,\n······nonegate:·true,\n····}\n····for·(const·ign·of·ignored)·this.add(ign)\n··}\n\n··add(ign:·string)·{\n····//·this·is·a·little·weird,·but·it·gives·us·a·clean·set·of·optimized\n····//·minimatch·matchers,·without·getting·tripped·up·if·one·of·them\n····//·ends·in·/**·inside·a·brace·section,·and·it's·only·inefficient·at\n····//·the·start·of·the·walk,·not·along·it.\n····//·It'd·be·nice·if·the·Pattern·class·just·had·a·.test()·method,·but\n····//·handling·globstars·is·a·bit·of·a·pita,·and·that·code·already·lives\n····//·in·minimatch·anyway.\n····//·Another·way·would·be·if·maybe·Minimatch·could·take·its·set/globParts\n····//·as·an·option,·and·then·we·could·at·least·just·use·Pattern·to·test\n····//·for·absolute-ness.\n····//·Yet·another·way,·Minimatch·could·take·an·array·of·glob·strings,·and\n····//·a·cwd·option,·and·do·the·right·thing.\n····const·mm·=·new·Minimatch(ign,·this.mmopts)\n····for·(let·i·=·0;·i·<·mm.set.length;·i++)·{\n······const·parsed·=·mm.set[i]\n······const·globParts·=·mm.globParts[i]\n······/*·c8·ignore·start·*/\n······if·(!parsed·||·!globParts)·{\n········throw·new·Error('invalid·pattern·object')\n······}\n······//·strip·off·leading·./·portions\n······//·https://github.com/isaacs/node-glob/issues/570\n······while·(parsed[0]·===·'.'·&&·globParts[0]·===·'.')·{\n········parsed.shift()\n········globParts.shift()\n······}\n······/*·c8·ignore·stop·*/\n······const·p·=·new·Pattern(parsed,·globParts,·0,·this.platform)\n······const·m·=·new·Minimatch(p.globString(),·this.mmopts)\n······const·children·=·globParts[globParts.length·-·1]·===·'**'\n······const·absolute·=·p.isAbsolute()\n······if·(absolute)·this.absolute.push(m)\n······else·this.relative.push(m)\n······if·(children)·{\n········if·(absolute)·this.absoluteChildren.push(m)\n········else·this.relativeChildren.push(m)\n······}\n····}\n··}\n\n··ignored(p:·Path):·boolean·{\n····const·fullpath·=·p.fullpath()\n····const·fullpaths·=·`${fullpath}/`\n····const·relative·=·p.relative()·||·'.'\n····const·relatives·=·`${relative}/`\n····for·(const·m·of·this.relative)·{\n······if·(m.match(relative)·||·m.match(relatives))·return·true\n····}\n····for·(const·m·of·this.absolute)·{\n······if·(m.match(fullpath)·||·m.match(fullpaths))·return·true\n····}\n····return·false\n··}\n\n··childrenIgnored(p:·Path):·boolean·{\n····const·fullpath·=·p.fullpath()·+·'/'\n····const·relative·=·(p.relative()·||·'.')·+·'/'\n····for·(const·m·of·this.relativeChildren)·{\n······if·(m.match(relative))·return·true\n····}\n····for·(const·m·of·this.absoluteChildren)·{\n······if·(m.match(fullpath))·return·true\n····}\n····return·false\n··}\n}\n",1007 ········"//·give·it·a·pattern,·and·it'll·be·able·to·tell·you·if\n//·a·given·path·should·be·ignored.\n//·Ignoring·a·path·ignores·its·children·if·the·pattern·ends·in·/**\n//·Ignores·are·always·parsed·in·dot:true·mode\n\nimport·{·Minimatch,·MinimatchOptions·}·from·'minimatch'\nimport·{·Path·}·from·'path-scurry'\nimport·{·Pattern·}·from·'./pattern.js'\nimport·{·GlobWalkerOpts·}·from·'./walker.js'\n\nexport·interface·IgnoreLike·{\n··ignored?:·(p:·Path)·=>·boolean\n··childrenIgnored?:·(p:·Path)·=>·boolean\n··add?:·(ignore:·string)·=>·void\n}\n\nconst·defaultPlatform:·NodeJS.Platform·=\n··(\n····typeof·process·===·'object'·&&\n····process·&&\n····typeof·process.platform·===·'string'\n··)·?\n····process.platform\n··:·'linux'\n\n/**\n·*·Class·used·to·process·ignored·patterns\n·*/\nexport·class·Ignore·implements·IgnoreLike·{\n··relative:·Minimatch[]\n··relativeChildren:·Minimatch[]\n··absolute:·Minimatch[]\n··absoluteChildren:·Minimatch[]\n··platform:·NodeJS.Platform\n··mmopts:·MinimatchOptions\n\n··constructor(\n····ignored:·string[],\n····{\n······nobrace,\n······nocase,\n······noext,\n······noglobstar,\n······platform·=·defaultPlatform,\n····}:·GlobWalkerOpts,\n··)·{\n····this.relative·=·[]\n····this.absolute·=·[]\n····this.relativeChildren·=·[]\n····this.absoluteChildren·=·[]\n····this.platform·=·platform\n····this.mmopts·=·{\n······dot:·true,\n······nobrace,\n······nocase,\n······noext,\n······noglobstar,\n······optimizationLevel:·2,\n······platform,\n······nocomment:·true,\n······nonegate:·true,\n····}\n····for·(const·ign·of·ignored)·this.add(ign)\n··}\n\n··add(ign:·string)·{\n····//·this·is·a·little·weird,·but·it·gives·us·a·clean·set·of·optimized\n····//·minimatch·matchers,·without·getting·tripped·up·if·one·of·them\n····//·ends·in·/**·inside·a·brace·section,·and·it's·only·inefficient·at\n····//·the·start·of·the·walk,·not·along·it.\n····//·It'd·be·nice·if·the·Pattern·class·just·had·a·.test()·method,·but\n····//·handling·globstars·is·a·bit·of·a·pita,·and·that·code·already·lives\n····//·in·minimatch·anyway.\n····//·Another·way·would·be·if·maybe·Minimatch·could·take·its·set/globParts\n····//·as·an·option,·and·then·we·could·at·least·just·use·Pattern·to·test\n····//·for·absolute-ness.\n····//·Yet·another·way,·Minimatch·could·take·an·array·of·glob·strings,·and\n····//·a·cwd·option,·and·do·the·right·thing.\n····const·mm·=·new·Minimatch(ign,·this.mmopts)\n····for·(let·i·=·0;·i·<·mm.set.length;·i++)·{\n······const·parsed·=·mm.set[i]\n······const·globParts·=·mm.globParts[i]\n······/*·c8·ignore·start·*/\n······if·(!parsed·||·!globParts)·{\n········throw·new·Error('invalid·pattern·object')\n······}\n······//·strip·off·leading·./·portions\n······//·https://github.com/isaacs/node-glob/issues/570\n······while·(parsed[0]·===·'.'·&&·globParts[0]·===·'.')·{\n········parsed.shift()\n········globParts.shift()\n······}\n······/*·c8·ignore·stop·*/\n······const·p·=·new·Pattern(parsed,·globParts,·0,·this.platform)\n······const·m·=·new·Minimatch(p.globString(),·this.mmopts)\n······const·children·=·globParts[globParts.length·-·1]·===·'**'\n······const·absolute·=·p.isAbsolute()\n······if·(absolute)·this.absolute.push(m)\n······else·this.relative.push(m)\n······if·(children)·{\n········if·(absolute)·this.absoluteChildren.push(m)\n········else·this.relativeChildren.push(m)\n······}\n····}\n··}\n\n··ignored(p:·Path):·boolean·{\n····const·fullpath·=·p.fullpath()\n····const·fullpaths·=·`${fullpath}/`\n····const·relative·=·p.relative()·||·'.'\n····const·relatives·=·`${relative}/`\n····for·(const·m·of·this.relative)·{\n······if·(m.match(relative)·||·m.match(relatives))·return·true\n····}\n····for·(const·m·of·this.absolute)·{\n······if·(m.match(fullpath)·||·m.match(fullpaths))·return·true\n····}\n····return·false\n··}\n\n··childrenIgnored(p:·Path):·boolean·{\n····const·fullpath·=·p.fullpath()·+·'/'\n····const·relative·=·(p.relative()·||·'.')·+·'/'\n····for·(const·m·of·this.relativeChildren)·{\n······if·(m.match(relative))·return·true\n····}\n····for·(const·m·of·this.absoluteChildren)·{\n······if·(m.match(fullpath))·return·true\n····}\n····return·false\n··}\n}\n",
1007 ········"//·synchronous·utility·for·filtering·entries·and·calculating·subwalks\n\nimport·{·GLOBSTAR,·MMRegExp·}·from·'minimatch'\nimport·{·Path·}·from·'path-scurry'\nimport·{·MMPattern,·Pattern·}·from·'./pattern.js'\nimport·{·GlobWalkerOpts·}·from·'./walker.js'\n\n/**\n·*·A·cache·of·which·patterns·have·been·processed·for·a·given·Path\n·*/\nexport·class·HasWalkedCache·{\n··store:·Map<string,·Set<string>>\n··constructor(store:·Map<string,·Set<string>>·=·new·Map())·{\n····this.store·=·store\n··}\n··copy()·{\n····return·new·HasWalkedCache(new·Map(this.store))\n··}\n··hasWalked(target:·Path,·pattern:·Pattern)·{\n····return·this.store.get(target.fullpath())?.has(pattern.globString())\n··}\n··storeWalked(target:·Path,·pattern:·Pattern)·{\n····const·fullpath·=·target.fullpath()\n····const·cached·=·this.store.get(fullpath)\n····if·(cached)·cached.add(pattern.globString())\n····else·this.store.set(fullpath,·new·Set([pattern.globString()]))\n··}\n}\n\n/**\n·*·A·record·of·which·paths·have·been·matched·in·a·given·walk·step,\n·*·and·whether·they·only·are·considered·a·match·if·they·are·a·directory,\n·*·and·whether·their·absolute·or·relative·path·should·be·returned.\n·*/\nexport·class·MatchRecord·{\n··store:·Map<Path,·number>·=·new·Map()\n··add(target:·Path,·absolute:·boolean,·ifDir:·boolean)·{\n····const·n·=·(absolute·?·2·:·0)·|·(ifDir·?·1·:·0)\n····const·current·=·this.store.get(target)\n····this.store.set(target,·current·===·undefined·?·n·:·n·&·current)\n··}\n··//·match,·absolute,·ifdir\n··entries():·[Path,·boolean,·boolean][]·{\n····return·[...this.store.entries()].map(([path,·n])·=>·[\n······path,\n······!!(n·&·2),\n······!!(n·&·1),\n····])\n··}\n}\n\n/**\n·*·A·collection·of·patterns·that·must·be·processed·in·a·subsequent·step\n·*·for·a·given·path.\n·*/\nexport·class·SubWalks·{\n··store:·Map<Path,·Pattern[]>·=·new·Map()\n··add(target:·Path,·pattern:·Pattern)·{\n····if·(!target.canReaddir())·{\n······return\n····}\n····const·subs·=·this.store.get(target)\n····if·(subs)·{\n······if·(!subs.find(p·=>·p.globString()·===·pattern.globString()))·{\n········subs.push(pattern)\n······}\n····}·else·this.store.set(target,·[pattern])\n··}\n··get(target:·Path):·Pattern[]·{\n····const·subs·=·this.store.get(target)\n····/*·c8·ignore·start·*/\n····if·(!subs)·{\n······throw·new·Error('attempting·to·walk·unknown·path')\n····}\n····/*·c8·ignore·stop·*/\n····return·subs\n··}\n··entries():·[Path,·Pattern[]][]·{\n····return·this.keys().map(k·=>·[k,·this.store.get(k)·as·Pattern[]])\n··}\n··keys():·Path[]·{\n····return·[...this.store.keys()].filter(t·=>·t.canReaddir())\n··}\n}\n\n/**\n·*·The·class·that·processes·patterns·for·a·given·path.\n·*\n·*·Handles·child·entry·filtering,·and·determining·whether·a·path's\n·*·directory·contents·must·be·read.\n·*/\nexport·class·Processor·{\n··hasWalkedCache:·HasWalkedCache\n··matches·=·new·MatchRecord()\n··subwalks·=·new·SubWalks()\n··patterns?:·Pattern[]\n··follow:·boolean\n··dot:·boolean\n··opts:·GlobWalkerOpts\n\n··constructor(opts:·GlobWalkerOpts,·hasWalkedCache?:·HasWalkedCache)·{\n····this.opts·=·opts\n····this.follow·=·!!opts.follow\n····this.dot·=·!!opts.dot\n····this.hasWalkedCache·=\n······hasWalkedCache·?·hasWalkedCache.copy()·:·new·HasWalkedCache()\n··}\n\n··processPatterns(target:·Path,·patterns:·Pattern[])·{\n····this.patterns·=·patterns\n····const·processingSet:·[Path,·Pattern][]·=·patterns.map(p·=>·[target,·p])\n\n····//·map·of·paths·to·the·magic-starting·subwalks·they·need·to·walk\n····//·first·item·in·patterns·is·the·filter\n\n····for·(let·[t,·pattern]·of·processingSet)·{\n······this.hasWalkedCache.storeWalked(t,·pattern)\n\n······const·root·=·pattern.root()\n······const·absolute·=·pattern.isAbsolute()·&&·this.opts.absolute·!==·false\n\n······//·start·absolute·patterns·at·root\n······if·(root)·{\n········t·=·t.resolve(\n··········root·===·'/'·&&·this.opts.root·!==·undefined·?\n············this.opts.root\n··········:·root,\n········)\n········const·rest·=·pattern.rest()\n········if·(!rest)·{\n··········this.matches.add(t,·true,·false)\n··········continue\n········}·else·{\n··········pattern·=·rest\n········}\n······}\n\n······if·(t.isENOENT())·continue\n\n······let·p:·MMPattern\n······let·rest:·Pattern·|·null\n······let·changed·=·false\n······while·(\n········typeof·(p·=·pattern.pattern())·===·'string'·&&\n········(rest·=·pattern.rest())\n······)·{\n········const·c·=·t.resolve(p)\n········t·=·c\n········pattern·=·rest\n········changed·=·true\n······}\n······p·=·pattern.pattern()\n······rest·=·pattern.rest()\n······if·(changed)·{\n········if·(this.hasWalkedCache.hasWalked(t,·pattern))·continue\n········this.hasWalkedCache.storeWalked(t,·pattern)\n······}\n\n······//·now·we·have·either·a·final·string·for·a·known·entry,\n······//·more·strings·for·an·unknown·entry,\n······//·or·a·pattern·starting·with·magic,·mounted·on·t.\n······if·(typeof·p·===·'string')·{\n········//·must·not·be·final·entry,·otherwise·we·would·have\n········//·concatenated·it·earlier.\n········const·ifDir·=·p·===·'..'·||·p·===·''·||·p·===·'.'\n········this.matches.add(t.resolve(p),·absolute,·ifDir)\n········continue\n······}·else·if·(p·===·GLOBSTAR)·{\n········//·if·no·rest,·match·and·subwalk·pattern\n········//·if·rest,·process·rest·and·subwalk·pattern\n········//·if·it's·a·symlink,·but·we·didn't·get·here·by·way·of·a\n········//·globstar·match·(meaning·it's·the·first·time·THIS·globstar\n········//·has·traversed·a·symlink),·then·we·follow·it.·Otherwise,·stop.\n········if·(\n··········!t.isSymbolicLink()·||\n··········this.follow·||\n··········pattern.checkFollowGlobstar()\n········)·{\n··········this.subwalks.add(t,·pattern)\n········}\n········const·rp·=·rest?.pattern()\n········const·rrest·=·rest?.rest()\n········if·(!rest·||·((rp·===·''·||·rp·===·'.')·&&·!rrest))·{\n··········//·only·HAS·to·be·a·dir·if·it·ends·in·**/·or·**/.\n··········//·but·ending·in·**·will·match·files·as·well.\n··········this.matches.add(t,·absolute,·rp·===·''·||·rp·===·'.')\n········}·else·{\n··········if·(rp·===·'..')·{\n············//·this·would·mean·you're·matching·**/..·at·the·fs·root,\n············//·and·no·thanks,·I'm·not·gonna·test·that·specific·case.\n············/*·c8·ignore·start·*/\n············const·tp·=·t.parent·||·t\n············/*·c8·ignore·stop·*/\n············if·(!rrest)·this.matches.add(tp,·absolute,·true)\n············else·if·(!this.hasWalkedCache.hasWalked(tp,·rrest))·{\n··············this.subwalks.add(tp,·rrest)\n············}\n··········}\n········}\n······}·else·if·(p·instanceof·RegExp)·{\n········this.subwalks.add(t,·pattern)\n······}\n····}\n\n····return·this\n··}\n\n··subwalkTargets():·Path[]·{\n····return·this.subwalks.keys()\n··}\n\n··child()·{\n····return·new·Processor(this.opts,·this.hasWalkedCache)\n··}\n\n··//·return·a·new·Processor·containing·the·subwalks·for·each\n··//·child·entry,·and·a·set·of·matches,·and\n··//·a·hasWalkedCache·that's·a·copy·of·this·one\n··//·then·we're·going·to·call\n··filterEntries(parent:·Path,·entries:·Path[]):·Processor·{\n····const·patterns·=·this.subwalks.get(parent)\n····//·put·matches·and·entry·walks·into·the·results·processor\n····const·results·=·this.child()\n····for·(const·e·of·entries)·{\n······for·(const·pattern·of·patterns)·{\n········const·absolute·=·pattern.isAbsolute()\n········const·p·=·pattern.pattern()\n········const·rest·=·pattern.rest()\n········if·(p·===·GLOBSTAR)·{\n··········results.testGlobstar(e,·pattern,·rest,·absolute)\n········}·else·if·(p·instanceof·RegExp)·{\n··········results.testRegExp(e,·p,·rest,·absolute)\n········}·else·{\n··········results.testString(e,·p,·rest,·absolute)\n········}\n······}\n····}\n····return·results\n··}\n\n··testGlobstar(\n····e:·Path,\n····pattern:·Pattern,\n····rest:·Pattern·|·null,\n····absolute:·boolean,\n··)·{\n····if·(this.dot·||·!e.name.startsWith('.'))·{\n······if·(!pattern.hasMore())·{\n········this.matches.add(e,·absolute,·false)\n······}\n······if·(e.canReaddir())·{\n········//·if·we're·in·follow·mode·or·it's·not·a·symlink,·just·keep\n········//·testing·the·same·pattern.·If·there's·more·after·the·globstar,\n········//·then·this·symlink·consumes·the·globstar.·If·not,·then·we·can\n········//·follow·at·most·ONE·symlink·along·the·way,·so·we·mark·it,·which\n········//·also·checks·to·ensure·that·it·wasn't·already·marked.\n········if·(this.follow·||·!e.isSymbolicLink())·{\n··········this.subwalks.add(e,·pattern)\n········}·else·if·(e.isSymbolicLink())·{\n··········if·(rest·&&·pattern.checkFollowGlobstar())·{\n············this.subwalks.add(e,·rest)\n··········}·else·if·(pattern.markFollowGlobstar())·{\n············this.subwalks.add(e,·pattern)\n··········}\n········}\n······}\n····}\n····//·if·the·NEXT·thing·matches·this·entry,·then·also·add\n····//·the·rest.\n····if·(rest)·{\n······const·rp·=·rest.pattern()\n······if·(\n········typeof·rp·===·'string'·&&\n········//·dots·and·empty·were·handled·already\n········rp·!==·'..'·&&\n········rp·!==·''·&&\n········rp·!==·'.'\n······)·{\n········this.testString(e,·rp,·rest.rest(),·absolute)\n······}·else·if·(rp·===·'..')·{\n········/*·c8·ignore·start·*/\n········const·ep·=·e.parent·||·e\n········/*·c8·ignore·stop·*/\n········this.subwalks.add(ep,·rest)\n······}·else·if·(rp·instanceof·RegExp)·{\n········this.testRegExp(e,·rp,·rest.rest(),·absolute)\n······}\n····}\n··}\n\n··testRegExp(\n····e:·Path,\n····p:·MMRegExp,\n····rest:·Pattern·|·null,\n····absolute:·boolean,\n··)·{\n····if·(!p.test(e.name))·return\n····if·(!rest)·{\n······this.matches.add(e,·absolute,·false)\n····}·else·{\n······this.subwalks.add(e,·rest)\n····}\n··}\n\n··testString(e:·Path,·p:·string,·rest:·Pattern·|·null,·absolute:·boolean)·{\n····//·should·never·happen?\n····if·(!e.isNamed(p))·return\n····if·(!rest)·{\n······this.matches.add(e,·absolute,·false)\n····}·else·{\n······this.subwalks.add(e,·rest)\n····}\n··}\n}\n",1008 ········"//·synchronous·utility·for·filtering·entries·and·calculating·subwalks\n\nimport·{·GLOBSTAR,·MMRegExp·}·from·'minimatch'\nimport·{·Path·}·from·'path-scurry'\nimport·{·MMPattern,·Pattern·}·from·'./pattern.js'\nimport·{·GlobWalkerOpts·}·from·'./walker.js'\n\n/**\n·*·A·cache·of·which·patterns·have·been·processed·for·a·given·Path\n·*/\nexport·class·HasWalkedCache·{\n··store:·Map<string,·Set<string>>\n··constructor(store:·Map<string,·Set<string>>·=·new·Map())·{\n····this.store·=·store\n··}\n··copy()·{\n····return·new·HasWalkedCache(new·Map(this.store))\n··}\n··hasWalked(target:·Path,·pattern:·Pattern)·{\n····return·this.store.get(target.fullpath())?.has(pattern.globString())\n··}\n··storeWalked(target:·Path,·pattern:·Pattern)·{\n····const·fullpath·=·target.fullpath()\n····const·cached·=·this.store.get(fullpath)\n····if·(cached)·cached.add(pattern.globString())\n····else·this.store.set(fullpath,·new·Set([pattern.globString()]))\n··}\n}\n\n/**\n·*·A·record·of·which·paths·have·been·matched·in·a·given·walk·step,\n·*·and·whether·they·only·are·considered·a·match·if·they·are·a·directory,\n·*·and·whether·their·absolute·or·relative·path·should·be·returned.\n·*/\nexport·class·MatchRecord·{\n··store:·Map<Path,·number>·=·new·Map()\n··add(target:·Path,·absolute:·boolean,·ifDir:·boolean)·{\n····const·n·=·(absolute·?·2·:·0)·|·(ifDir·?·1·:·0)\n····const·current·=·this.store.get(target)\n····this.store.set(target,·current·===·undefined·?·n·:·n·&·current)\n··}\n··//·match,·absolute,·ifdir\n··entries():·[Path,·boolean,·boolean][]·{\n····return·[...this.store.entries()].map(([path,·n])·=>·[\n······path,\n······!!(n·&·2),\n······!!(n·&·1),\n····])\n··}\n}\n\n/**\n·*·A·collection·of·patterns·that·must·be·processed·in·a·subsequent·step\n·*·for·a·given·path.\n·*/\nexport·class·SubWalks·{\n··store:·Map<Path,·Pattern[]>·=·new·Map()\n··add(target:·Path,·pattern:·Pattern)·{\n····if·(!target.canReaddir())·{\n······return\n····}\n····const·subs·=·this.store.get(target)\n····if·(subs)·{\n······if·(!subs.find(p·=>·p.globString()·===·pattern.globString()))·{\n········subs.push(pattern)\n······}\n····}·else·this.store.set(target,·[pattern])\n··}\n··get(target:·Path):·Pattern[]·{\n····const·subs·=·this.store.get(target)\n····/*·c8·ignore·start·*/\n····if·(!subs)·{\n······throw·new·Error('attempting·to·walk·unknown·path')\n····}\n····/*·c8·ignore·stop·*/\n····return·subs\n··}\n··entries():·[Path,·Pattern[]][]·{\n····return·this.keys().map(k·=>·[k,·this.store.get(k)·as·Pattern[]])\n··}\n··keys():·Path[]·{\n····return·[...this.store.keys()].filter(t·=>·t.canReaddir())\n··}\n}\n\n/**\n·*·The·class·that·processes·patterns·for·a·given·path.\n·*\n·*·Handles·child·entry·filtering,·and·determining·whether·a·path's\n·*·directory·contents·must·be·read.\n·*/\nexport·class·Processor·{\n··hasWalkedCache:·HasWalkedCache\n··matches·=·new·MatchRecord()\n··subwalks·=·new·SubWalks()\n··patterns?:·Pattern[]\n··follow:·boolean\n··dot:·boolean\n··opts:·GlobWalkerOpts\n\n··constructor(opts:·GlobWalkerOpts,·hasWalkedCache?:·HasWalkedCache)·{\n····this.opts·=·opts\n····this.follow·=·!!opts.follow\n····this.dot·=·!!opts.dot\n····this.hasWalkedCache·=\n······hasWalkedCache·?·hasWalkedCache.copy()·:·new·HasWalkedCache()\n··}\n\n··processPatterns(target:·Path,·patterns:·Pattern[])·{\n····this.patterns·=·patterns\n····const·processingSet:·[Path,·Pattern][]·=·patterns.map(p·=>·[target,·p])\n\n····//·map·of·paths·to·the·magic-starting·subwalks·they·need·to·walk\n····//·first·item·in·patterns·is·the·filter\n\n····for·(let·[t,·pattern]·of·processingSet)·{\n······this.hasWalkedCache.storeWalked(t,·pattern)\n\n······const·root·=·pattern.root()\n······const·absolute·=·pattern.isAbsolute()·&&·this.opts.absolute·!==·false\n\n······//·start·absolute·patterns·at·root\n······if·(root)·{\n········t·=·t.resolve(\n··········root·===·'/'·&&·this.opts.root·!==·undefined·?\n············this.opts.root\n··········:·root,\n········)\n········const·rest·=·pattern.rest()\n········if·(!rest)·{\n··········this.matches.add(t,·true,·false)\n··········continue\n········}·else·{\n··········pattern·=·rest\n········}\n······}\n\n······if·(t.isENOENT())·continue\n\n······let·p:·MMPattern\n······let·rest:·Pattern·|·null\n······let·changed·=·false\n······while·(\n········typeof·(p·=·pattern.pattern())·===·'string'·&&\n········(rest·=·pattern.rest())\n······)·{\n········const·c·=·t.resolve(p)\n········t·=·c\n········pattern·=·rest\n········changed·=·true\n······}\n······p·=·pattern.pattern()\n······rest·=·pattern.rest()\n······if·(changed)·{\n········if·(this.hasWalkedCache.hasWalked(t,·pattern))·continue\n········this.hasWalkedCache.storeWalked(t,·pattern)\n······}\n\n······//·now·we·have·either·a·final·string·for·a·known·entry,\n······//·more·strings·for·an·unknown·entry,\n······//·or·a·pattern·starting·with·magic,·mounted·on·t.\n······if·(typeof·p·===·'string')·{\n········//·must·not·be·final·entry,·otherwise·we·would·have\n········//·concatenated·it·earlier.\n········const·ifDir·=·p·===·'..'·||·p·===·''·||·p·===·'.'\n········this.matches.add(t.resolve(p),·absolute,·ifDir)\n········continue\n······}·else·if·(p·===·GLOBSTAR)·{\n········//·if·no·rest,·match·and·subwalk·pattern\n········//·if·rest,·process·rest·and·subwalk·pattern\n········//·if·it's·a·symlink,·but·we·didn't·get·here·by·way·of·a\n········//·globstar·match·(meaning·it's·the·first·time·THIS·globstar\n········//·has·traversed·a·symlink),·then·we·follow·it.·Otherwise,·stop.\n········if·(\n··········!t.isSymbolicLink()·||\n··········this.follow·||\n··········pattern.checkFollowGlobstar()\n········)·{\n··········this.subwalks.add(t,·pattern)\n········}\n········const·rp·=·rest?.pattern()\n········const·rrest·=·rest?.rest()\n········if·(!rest·||·((rp·===·''·||·rp·===·'.')·&&·!rrest))·{\n··········//·only·HAS·to·be·a·dir·if·it·ends·in·**/·or·**/.\n··········//·but·ending·in·**·will·match·files·as·well.\n··········this.matches.add(t,·absolute,·rp·===·''·||·rp·===·'.')\n········}·else·{\n··········if·(rp·===·'..')·{\n············//·this·would·mean·you're·matching·**/..·at·the·fs·root,\n············//·and·no·thanks,·I'm·not·gonna·test·that·specific·case.\n············/*·c8·ignore·start·*/\n············const·tp·=·t.parent·||·t\n············/*·c8·ignore·stop·*/\n············if·(!rrest)·this.matches.add(tp,·absolute,·true)\n············else·if·(!this.hasWalkedCache.hasWalked(tp,·rrest))·{\n··············this.subwalks.add(tp,·rrest)\n············}\n··········}\n········}\n······}·else·if·(p·instanceof·RegExp)·{\n········this.subwalks.add(t,·pattern)\n······}\n····}\n\n····return·this\n··}\n\n··subwalkTargets():·Path[]·{\n····return·this.subwalks.keys()\n··}\n\n··child()·{\n····return·new·Processor(this.opts,·this.hasWalkedCache)\n··}\n\n··//·return·a·new·Processor·containing·the·subwalks·for·each\n··//·child·entry,·and·a·set·of·matches,·and\n··//·a·hasWalkedCache·that's·a·copy·of·this·one\n··//·then·we're·going·to·call\n··filterEntries(parent:·Path,·entries:·Path[]):·Processor·{\n····const·patterns·=·this.subwalks.get(parent)\n····//·put·matches·and·entry·walks·into·the·results·processor\n····const·results·=·this.child()\n····for·(const·e·of·entries)·{\n······for·(const·pattern·of·patterns)·{\n········const·absolute·=·pattern.isAbsolute()\n········const·p·=·pattern.pattern()\n········const·rest·=·pattern.rest()\n········if·(p·===·GLOBSTAR)·{\n··········results.testGlobstar(e,·pattern,·rest,·absolute)\n········}·else·if·(p·instanceof·RegExp)·{\n··········results.testRegExp(e,·p,·rest,·absolute)\n········}·else·{\n··········results.testString(e,·p,·rest,·absolute)\n········}\n······}\n····}\n····return·results\n··}\n\n··testGlobstar(\n····e:·Path,\n····pattern:·Pattern,\n····rest:·Pattern·|·null,\n····absolute:·boolean,\n··)·{\n····if·(this.dot·||·!e.name.startsWith('.'))·{\n······if·(!pattern.hasMore())·{\n········this.matches.add(e,·absolute,·false)\n······}\n······if·(e.canReaddir())·{\n········//·if·we're·in·follow·mode·or·it's·not·a·symlink,·just·keep\n········//·testing·the·same·pattern.·If·there's·more·after·the·globstar,\n········//·then·this·symlink·consumes·the·globstar.·If·not,·then·we·can\n········//·follow·at·most·ONE·symlink·along·the·way,·so·we·mark·it,·which\n········//·also·checks·to·ensure·that·it·wasn't·already·marked.\n········if·(this.follow·||·!e.isSymbolicLink())·{\n··········this.subwalks.add(e,·pattern)\n········}·else·if·(e.isSymbolicLink())·{\n··········if·(rest·&&·pattern.checkFollowGlobstar())·{\n············this.subwalks.add(e,·rest)\n··········}·else·if·(pattern.markFollowGlobstar())·{\n············this.subwalks.add(e,·pattern)\n··········}\n········}\n······}\n····}\n····//·if·the·NEXT·thing·matches·this·entry,·then·also·add\n····//·the·rest.\n····if·(rest)·{\n······const·rp·=·rest.pattern()\n······if·(\n········typeof·rp·===·'string'·&&\n········//·dots·and·empty·were·handled·already\n········rp·!==·'..'·&&\n········rp·!==·''·&&\n········rp·!==·'.'\n······)·{\n········this.testString(e,·rp,·rest.rest(),·absolute)\n······}·else·if·(rp·===·'..')·{\n········/*·c8·ignore·start·*/\n········const·ep·=·e.parent·||·e\n········/*·c8·ignore·stop·*/\n········this.subwalks.add(ep,·rest)\n······}·else·if·(rp·instanceof·RegExp)·{\n········this.testRegExp(e,·rp,·rest.rest(),·absolute)\n······}\n····}\n··}\n\n··testRegExp(\n····e:·Path,\n····p:·MMRegExp,\n····rest:·Pattern·|·null,\n····absolute:·boolean,\n··)·{\n····if·(!p.test(e.name))·return\n····if·(!rest)·{\n······this.matches.add(e,·absolute,·false)\n····}·else·{\n······this.subwalks.add(e,·rest)\n····}\n··}\n\n··testString(e:·Path,·p:·string,·rest:·Pattern·|·null,·absolute:·boolean)·{\n····//·should·never·happen?\n····if·(!e.isNamed(p))·return\n····if·(!rest)·{\n······this.matches.add(e,·absolute,·false)\n····}·else·{\n······this.subwalks.add(e,·rest)\n····}\n··}\n}\n",
1008 ········"/**\n·*·Single-use·utility·classes·to·provide·functionality·to·the·{@link·Glob}\n·*·methods.\n·*\n·*·@module\n·*/\nimport·{·Minipass·}·from·'minipass'\nimport·{·Path·}·from·'path-scurry'\nimport·{·Ignore,·IgnoreLike·}·from·'./ignore.js'\n\n//·XXX·can·we·somehow·make·it·so·that·it·NEVER·processes·a·given·path·more·than\n//·once,·enough·that·the·match·set·tracking·is·no·longer·needed?··that'd·speed\n//·things·up·a·lot.··Or·maybe·bring·back·nounique,·and·skip·it·in·that·case?\n\n//·a·single·minimatch·set·entry·with·1·or·more·parts\nimport·{·Pattern·}·from·'./pattern.js'\nimport·{·Processor·}·from·'./processor.js'\n\nexport·interface·GlobWalkerOpts·{\n··absolute?:·boolean\n··allowWindowsEscape?:·boolean\n··cwd?:·string·|·URL\n··dot?:·boolean\n··dotRelative?:·boolean\n··follow?:·boolean\n··ignore?:·string·|·string[]·|·IgnoreLike\n··mark?:·boolean\n··matchBase?:·boolean\n··//·Note:·maxDepth·here·means·\"maximum·actual·Path.depth()\",\n··//·not·\"maximum·depth·beyond·cwd\"\n··maxDepth?:·number\n··nobrace?:·boolean\n··nocase?:·boolean\n··nodir?:·boolean\n··noext?:·boolean\n··noglobstar?:·boolean\n··platform?:·NodeJS.Platform\n··posix?:·boolean\n··realpath?:·boolean\n··root?:·string\n··stat?:·boolean\n··signal?:·AbortSignal\n··windowsPathsNoEscape?:·boolean\n··withFileTypes?:·boolean\n··includeChildMatches?:·boolean\n}\n\nexport·type·GWOFileTypesTrue·=·GlobWalkerOpts·&·{\n··withFileTypes:·true\n}\nexport·type·GWOFileTypesFalse·=·GlobWalkerOpts·&·{\n··withFileTypes:·false\n}\nexport·type·GWOFileTypesUnset·=·GlobWalkerOpts·&·{\n··withFileTypes?:·undefined\n}\n\nexport·type·Result<O·extends·GlobWalkerOpts>·=\n··O·extends·GWOFileTypesTrue·?·Path\n··:·O·extends·GWOFileTypesFalse·?·string\n··:·O·extends·GWOFileTypesUnset·?·string\n··:·Path·|·string\n\nexport·type·Matches<O·extends·GlobWalkerOpts>·=\n··O·extends·GWOFileTypesTrue·?·Set<Path>\n··:·O·extends·GWOFileTypesFalse·?·Set<string>\n··:·O·extends·GWOFileTypesUnset·?·Set<string>\n··:·Set<Path·|·string>\n\nexport·type·MatchStream<O·extends·GlobWalkerOpts>·=·Minipass<\n··Result<O>,\n··Result<O>\n>\n\nconst·makeIgnore·=·(\n··ignore:·string·|·string[]·|·IgnoreLike,\n··opts:·GlobWalkerOpts,\n):·IgnoreLike·=>\n··typeof·ignore·===·'string'·?·new·Ignore([ignore],·opts)\n··:·Array.isArray(ignore)·?·new·Ignore(ignore,·opts)\n··:·ignore\n\n/**\n·*·basic·walking·utilities·that·all·the·glob·walker·types·use\n·*/\nexport·abstract·class·GlobUtil<O·extends·GlobWalkerOpts·=·GlobWalkerOpts>·{\n··path:·Path\n··patterns:·Pattern[]\n··opts:·O\n··seen:·Set<Path>·=·new·Set<Path>()\n··paused:·boolean·=·false\n··aborted:·boolean·=·false\n··#onResume:·(()·=>·any)[]·=·[]\n··#ignore?:·IgnoreLike\n··#sep:·'\\\\'·|·'/'\n··signal?:·AbortSignal\n··maxDepth:·number\n··includeChildMatches:·boolean\n\n··constructor(patterns:·Pattern[],·path:·Path,·opts:·O)\n··constructor(patterns:·Pattern[],·path:·Path,·opts:·O)·{\n····this.patterns·=·patterns\n····this.path·=·path\n····this.opts·=·opts\n····this.#sep·=·!opts.posix·&&·opts.platform·===·'win32'·?·'\\\\'·:·'/'\n····this.includeChildMatches·=·opts.includeChildMatches·!==·false\n····if·(opts.ignore·||·!this.includeChildMatches)·{\n······this.#ignore·=·makeIgnore(opts.ignore·??·[],·opts)\n······if·(\n········!this.includeChildMatches·&&\n········typeof·this.#ignore.add·!==·'function'\n······)·{\n········const·m·=·'cannot·ignore·child·matches,·ignore·lacks·add()·method.'\n········throw·new·Error(m)\n······}\n····}\n····//·ignore,·always·set·with·maxDepth,·but·it's·optional·on·the\n····//·GlobOptions·type\n····/*·c8·ignore·start·*/\n····this.maxDepth·=·opts.maxDepth·||·Infinity\n····/*·c8·ignore·stop·*/\n····if·(opts.signal)·{\n······this.signal·=·opts.signal\n······this.signal.addEventListener('abort',·()·=>·{\n········this.#onResume.length·=·0\n······})\n····}\n··}\n\n··#ignored(path:·Path):·boolean·{\n····return·this.seen.has(path)·||·!!this.#ignore?.ignored?.(path)\n··}\n··#childrenIgnored(path:·Path):·boolean·{\n····return·!!this.#ignore?.childrenIgnored?.(path)\n··}\n\n··//·backpressure·mechanism\n··pause()·{\n····this.paused·=·true\n··}\n··resume()·{\n····/*·c8·ignore·start·*/\n····if·(this.signal?.aborted)·return\n····/*·c8·ignore·stop·*/\n····this.paused·=·false\n····let·fn:·(()·=>·any)·|·undefined·=·undefined\n····while·(!this.paused·&&·(fn·=·this.#onResume.shift()))·{\n······fn()\n····}\n··}\n··onResume(fn:·()·=>·any)·{\n····if·(this.signal?.aborted)·return\n····/*·c8·ignore·start·*/\n····if·(!this.paused)·{\n······fn()\n····}·else·{\n······/*·c8·ignore·stop·*/\n······this.#onResume.push(fn)\n····}\n··}\n\n··//·do·the·requisite·realpath/stat·checking,·and·return·the·path\n··//·to·add·or·undefined·to·filter·it·out.\n··async·matchCheck(e:·Path,·ifDir:·boolean):·Promise<Path·|·undefined>·{\n····if·(ifDir·&&·this.opts.nodir)·return·undefined\n····let·rpc:·Path·|·undefined\n····if·(this.opts.realpath)·{\n······rpc·=·e.realpathCached()·||·(await·e.realpath())\n······if·(!rpc)·return·undefined\n······e·=·rpc\n····}\n····const·needStat·=·e.isUnknown()·||·this.opts.stat\n····const·s·=·needStat·?·await·e.lstat()·:·e\n····if·(this.opts.follow·&&·this.opts.nodir·&&·s?.isSymbolicLink())·{\n······const·target·=·await·s.realpath()\n······/*·c8·ignore·start·*/\n······if·(target·&&·(target.isUnknown()·||·this.opts.stat))·{\n········await·target.lstat()\n······}\n······/*·c8·ignore·stop·*/\n····}\n····return·this.matchCheckTest(s,·ifDir)\n··}\n\n··matchCheckTest(e:·Path·|·undefined,·ifDir:·boolean):·Path·|·undefined·{\n····return·(\n········e·&&\n··········(this.maxDepth·===·Infinity·||·e.depth()·<=·this.maxDepth)·&&\n··········(!ifDir·||·e.canReaddir())·&&\n··········(!this.opts.nodir·||·!e.isDirectory())·&&\n··········(!this.opts.nodir·||\n············!this.opts.follow·||\n············!e.isSymbolicLink()·||\n············!e.realpathCached()?.isDirectory())·&&\n··········!this.#ignored(e)\n······)·?\n········e\n······:·undefined\n··}\n\n··matchCheckSync(e:·Path,·ifDir:·boolean):·Path·|·undefined·{\n····if·(ifDir·&&·this.opts.nodir)·return·undefined\n····let·rpc:·Path·|·undefined\n····if·(this.opts.realpath)·{\n······rpc·=·e.realpathCached()·||·e.realpathSync()\n······if·(!rpc)·return·undefined\n······e·=·rpc\n····}\n····const·needStat·=·e.isUnknown()·||·this.opts.stat\n····const·s·=·needStat·?·e.lstatSync()·:·e\n····if·(this.opts.follow·&&·this.opts.nodir·&&·s?.isSymbolicLink())·{\n······const·target·=·s.realpathSync()\n······if·(target·&&·(target?.isUnknown()·||·this.opts.stat))·{\n········target.lstatSync()\n······}\n····}\n····return·this.matchCheckTest(s,·ifDir)\n··}\n\n··abstract·matchEmit(p:·Result<O>):·void\n··abstract·matchEmit(p:·string·|·Path):·void\n\n··matchFinish(e:·Path,·absolute:·boolean)·{\n····if·(this.#ignored(e))·return\n····//·we·know·we·have·an·ignore·if·this·is·false,·but·TS·doesn't\n····if·(!this.includeChildMatches·&&·this.#ignore?.add)·{\n······const·ign·=·`${e.relativePosix()}/**`\n······this.#ignore.add(ign)\n····}\n····const·abs·=\n······this.opts.absolute·===·undefined·?·absolute·:·this.opts.absolute\n····this.seen.add(e)\n····const·mark·=·this.opts.mark·&&·e.isDirectory()·?·this.#sep·:·''\n····//·ok,·we·have·what·we·need!\n····if·(this.opts.withFileTypes)·{\n······this.matchEmit(e)\n····}·else·if·(abs)·{\n······const·abs·=·this.opts.posix·?·e.fullpathPosix()·:·e.fullpath()\n······this.matchEmit(abs·+·mark)\n····}·else·{\n······const·rel·=·this.opts.posix·?·e.relativePosix()·:·e.relative()\n······const·pre·=\n········this.opts.dotRelative·&&·!rel.startsWith('..'·+·this.#sep)·?\n··········'.'·+·this.#sep\n········:·''\n······this.matchEmit(!rel·?·'.'·+·mark·:·pre·+·rel·+·mark)\n····}\n··}\n\n··async·match(e:·Path,·absolute:·boolean,·ifDir:·boolean):·Promise<void>·{\n····const·p·=·await·this.matchCheck(e,·ifDir)\n····if·(p)·this.matchFinish(p,·absolute)\n··}\n\n··matchSync(e:·Path,·absolute:·boolean,·ifDir:·boolean):·void·{\n····const·p·=·this.matchCheckSync(e,·ifDir)\n····if·(p)·this.matchFinish(p,·absolute)\n··}\n\n··walkCB(target:·Path,·patterns:·Pattern[],·cb:·()·=>·any)·{\n····/*·c8·ignore·start·*/\n····if·(this.signal?.aborted)·cb()\n····/*·c8·ignore·stop·*/\n····this.walkCB2(target,·patterns,·new·Processor(this.opts),·cb)\n··}\n\n··walkCB2(\n····target:·Path,\n····patterns:·Pattern[],\n····processor:·Processor,\n····cb:·()·=>·any,\n··)·{\n····if·(this.#childrenIgnored(target))·return·cb()\n····if·(this.signal?.aborted)·cb()\n····if·(this.paused)·{\n······this.onResume(()·=>·this.walkCB2(target,·patterns,·processor,·cb))\n······return\n····}\n····processor.processPatterns(target,·patterns)\n\n····//·done·processing.··all·of·the·above·is·sync,·can·be·abstracted·out.\n····//·subwalks·is·a·map·of·paths·to·the·entry·filters·they·need\n····//·matches·is·a·map·of·paths·to·[absolute,·ifDir]·tuples.\n····let·tasks·=·1\n····const·next·=·()·=>·{\n······if·(--tasks·===·0)·cb()\n····}\n\n····for·(const·[m,·absolute,·ifDir]·of·processor.matches.entries())·{\n······if·(this.#ignored(m))·continue\n······tasks++\n······this.match(m,·absolute,·ifDir).then(()·=>·next())\n····}\n\n····for·(const·t·of·processor.subwalkTargets())·{\n······if·(this.maxDepth·!==·Infinity·&&·t.depth()·>=·this.maxDepth)·{\n········continue\n······}\n······tasks++\n······const·childrenCached·=·t.readdirCached()\n······if·(t.calledReaddir())\n········this.walkCB3(t,·childrenCached,·processor,·next)\n······else·{\n········t.readdirCB(\n··········(_,·entries)·=>·this.walkCB3(t,·entries,·processor,·next),\n··········true,\n········)\n······}\n····}\n\n····next()\n··}\n\n··walkCB3(\n····target:·Path,\n····entries:·Path[],\n····processor:·Processor,\n····cb:·()·=>·any,\n··)·{\n····processor·=·processor.filterEntries(target,·entries)\n\n····let·tasks·=·1\n····const·next·=·()·=>·{\n······if·(--tasks·===·0)·cb()\n····}\n\n····for·(const·[m,·absolute,·ifDir]·of·processor.matches.entries())·{\n······if·(this.#ignored(m))·continue\n······tasks++\n······this.match(m,·absolute,·ifDir).then(()·=>·next())\n····}\n····for·(const·[target,·patterns]·of·processor.subwalks.entries())·{\n······tasks++\n······this.walkCB2(target,·patterns,·processor.child(),·next)\n····}\n\n····next()\n··}\n\n··walkCBSync(target:·Path,·patterns:·Pattern[],·cb:·()·=>·any)·{\n····/*·c8·ignore·start·*/\n····if·(this.signal?.aborted)·cb()\n····/*·c8·ignore·stop·*/\n····this.walkCB2Sync(target,·patterns,·new·Processor(this.opts),·cb)\n··}\n\n··walkCB2Sync(\n····target:·Path,\n····patterns:·Pattern[],\n····processor:·Processor,\n····cb:·()·=>·any,\n··)·{\n····if·(this.#childrenIgnored(target))·return·cb()\n····if·(this.signal?.aborted)·cb()\n····if·(this.paused)·{\n······this.onResume(()·=>\n········this.walkCB2Sync(target,·patterns,·processor,·cb),\n······)\n······return\n····}\n····processor.processPatterns(target,·patterns)\n\n····//·done·processing.··all·of·the·above·is·sync,·can·be·abstracted·out.\n····//·subwalks·is·a·map·of·paths·to·the·entry·filters·they·need\n····//·matches·is·a·map·of·paths·to·[absolute,·ifDir]·tuples.\n····let·tasks·=·1\n····const·next·=·()·=>·{\n······if·(--tasks·===·0)·cb()\n····}\n\n····for·(const·[m,·absolute,·ifDir]·of·processor.matches.entries())·{\n······if·(this.#ignored(m))·continue\n······this.matchSync(m,·absolute,·ifDir)\n····}\n\n····for·(const·t·of·processor.subwalkTargets())·{\n······if·(this.maxDepth·!==·Infinity·&&·t.depth()·>=·this.maxDepth)·{\n········continue\n······}\n······tasks++\n······const·children·=·t.readdirSync()\n······this.walkCB3Sync(t,·children,·processor,·next)\n····}\n\n····next()\n··}\n\n··walkCB3Sync(\n····target:·Path,\n····entries:·Path[],\n····processor:·Processor,\n····cb:·()·=>·any,\n··)·{\n····processor·=·processor.filterEntries(target,·entries)\n\n····let·tasks·=·1\n····const·next·=·()·=>·{\n······if·(--tasks·===·0)·cb()\n····}\n\n····for·(const·[m,·absolute,·ifDir]·of·processor.matches.entries())·{\n······if·(this.#ignored(m))·continue\n······this.matchSync(m,·absolute,·ifDir)\n····}\n····for·(const·[target,·patterns]·of·processor.subwalks.entries())·{\n······tasks++\n······this.walkCB2Sync(target,·patterns,·processor.child(),·next)\n····}\n\n····next()\n··}\n}\n\nexport·class·GlobWalker<\n··O·extends·GlobWalkerOpts·=·GlobWalkerOpts,\n>·extends·GlobUtil<O>·{\n··matches·=·new·Set<Result<O>>()\n\n··constructor(patterns:·Pattern[],·path:·Path,·opts:·O)·{\n····super(patterns,·path,·opts)\n··}\n\n··matchEmit(e:·Result<O>):·void·{\n····this.matches.add(e)\n··}\n\n··async·walk():·Promise<Set<Result<O>>>·{\n····if·(this.signal?.aborted)·throw·this.signal.reason\n····if·(this.path.isUnknown())·{\n······await·this.path.lstat()\n····}\n····await·new·Promise((res,·rej)·=>·{\n······this.walkCB(this.path,·this.patterns,·()·=>·{\n········if·(this.signal?.aborted)·{\n··········rej(this.signal.reason)\n········}·else·{\n··········res(this.matches)\n········}\n······})\n····})\n····return·this.matches\n··}\n\n··walkSync():·Set<Result<O>>·{\n····if·(this.signal?.aborted)·throw·this.signal.reason\n····if·(this.path.isUnknown())·{\n······this.path.lstatSync()\n····}\n····//·nothing·for·the·callback·to·do,·because·this·never·pauses\n····this.walkCBSync(this.path,·this.patterns,·()·=>·{\n······if·(this.signal?.aborted)·throw·this.signal.reason\n····})\n····return·this.matches\n··}\n}\n\nexport·class·GlobStream<\n··O·extends·GlobWalkerOpts·=·GlobWalkerOpts,\n>·extends·GlobUtil<O>·{\n··results:·Minipass<Result<O>,·Result<O>>\n\n··constructor(patterns:·Pattern[],·path:·Path,·opts:·O)·{\n····super(patterns,·path,·opts)\n····this.results·=·new·Minipass<Result<O>,·Result<O>>({\n······signal:·this.signal,\n······objectMode:·true,\n····})\n····this.results.on('drain',·()·=>·this.resume())\n····this.results.on('resume',·()·=>·this.resume())\n··}\n\n··matchEmit(e:·Result<O>):·void·{\n····this.results.write(e)\n····if·(!this.results.flowing)·this.pause()\n··}\n\n··stream():·MatchStream<O>·{\n····const·target·=·this.path\n····if·(target.isUnknown())·{\n······target.lstat().then(()·=>·{\n········this.walkCB(target,·this.patterns,·()·=>·this.results.end())\n······})\n····}·else·{\n······this.walkCB(target,·this.patterns,·()·=>·this.results.end())\n····}\n····return·this.results\n··}\n\n··streamSync():·MatchStream<O>·{\n····if·(this.path.isUnknown())·{\n······this.path.lstatSync()\n····}\n····this.walkCBSync(this.path,·this.patterns,·()·=>·this.results.end())\n····return·this.results\n··}\n}\n",1009 ········"/**\n·*·Single-use·utility·classes·to·provide·functionality·to·the·{@link·Glob}\n·*·methods.\n·*\n·*·@module\n·*/\nimport·{·Minipass·}·from·'minipass'\nimport·{·Path·}·from·'path-scurry'\nimport·{·Ignore,·IgnoreLike·}·from·'./ignore.js'\n\n//·XXX·can·we·somehow·make·it·so·that·it·NEVER·processes·a·given·path·more·than\n//·once,·enough·that·the·match·set·tracking·is·no·longer·needed?··that'd·speed\n//·things·up·a·lot.··Or·maybe·bring·back·nounique,·and·skip·it·in·that·case?\n\n//·a·single·minimatch·set·entry·with·1·or·more·parts\nimport·{·Pattern·}·from·'./pattern.js'\nimport·{·Processor·}·from·'./processor.js'\n\nexport·interface·GlobWalkerOpts·{\n··absolute?:·boolean\n··allowWindowsEscape?:·boolean\n··cwd?:·string·|·URL\n··dot?:·boolean\n··dotRelative?:·boolean\n··follow?:·boolean\n··ignore?:·string·|·string[]·|·IgnoreLike\n··mark?:·boolean\n··matchBase?:·boolean\n··//·Note:·maxDepth·here·means·\"maximum·actual·Path.depth()\",\n··//·not·\"maximum·depth·beyond·cwd\"\n··maxDepth?:·number\n··nobrace?:·boolean\n··nocase?:·boolean\n··nodir?:·boolean\n··noext?:·boolean\n··noglobstar?:·boolean\n··platform?:·NodeJS.Platform\n··posix?:·boolean\n··realpath?:·boolean\n··root?:·string\n··stat?:·boolean\n··signal?:·AbortSignal\n··windowsPathsNoEscape?:·boolean\n··withFileTypes?:·boolean\n··includeChildMatches?:·boolean\n}\n\nexport·type·GWOFileTypesTrue·=·GlobWalkerOpts·&·{\n··withFileTypes:·true\n}\nexport·type·GWOFileTypesFalse·=·GlobWalkerOpts·&·{\n··withFileTypes:·false\n}\nexport·type·GWOFileTypesUnset·=·GlobWalkerOpts·&·{\n··withFileTypes?:·undefined\n}\n\nexport·type·Result<O·extends·GlobWalkerOpts>·=\n··O·extends·GWOFileTypesTrue·?·Path\n··:·O·extends·GWOFileTypesFalse·?·string\n··:·O·extends·GWOFileTypesUnset·?·string\n··:·Path·|·string\n\nexport·type·Matches<O·extends·GlobWalkerOpts>·=\n··O·extends·GWOFileTypesTrue·?·Set<Path>\n··:·O·extends·GWOFileTypesFalse·?·Set<string>\n··:·O·extends·GWOFileTypesUnset·?·Set<string>\n··:·Set<Path·|·string>\n\nexport·type·MatchStream<O·extends·GlobWalkerOpts>·=·Minipass<\n··Result<O>,\n··Result<O>\n>\n\nconst·makeIgnore·=·(\n··ignore:·string·|·string[]·|·IgnoreLike,\n··opts:·GlobWalkerOpts,\n):·IgnoreLike·=>\n··typeof·ignore·===·'string'·?·new·Ignore([ignore],·opts)\n··:·Array.isArray(ignore)·?·new·Ignore(ignore,·opts)\n··:·ignore\n\n/**\n·*·basic·walking·utilities·that·all·the·glob·walker·types·use\n·*/\nexport·abstract·class·GlobUtil<O·extends·GlobWalkerOpts·=·GlobWalkerOpts>·{\n··path:·Path\n··patterns:·Pattern[]\n··opts:·O\n··seen:·Set<Path>·=·new·Set<Path>()\n··paused:·boolean·=·false\n··aborted:·boolean·=·false\n··#onResume:·(()·=>·any)[]·=·[]\n··#ignore?:·IgnoreLike\n··#sep:·'\\\\'·|·'/'\n··signal?:·AbortSignal\n··maxDepth:·number\n··includeChildMatches:·boolean\n\n··constructor(patterns:·Pattern[],·path:·Path,·opts:·O)\n··constructor(patterns:·Pattern[],·path:·Path,·opts:·O)·{\n····this.patterns·=·patterns\n····this.path·=·path\n····this.opts·=·opts\n····this.#sep·=·!opts.posix·&&·opts.platform·===·'win32'·?·'\\\\'·:·'/'\n····this.includeChildMatches·=·opts.includeChildMatches·!==·false\n····if·(opts.ignore·||·!this.includeChildMatches)·{\n······this.#ignore·=·makeIgnore(opts.ignore·??·[],·opts)\n······if·(\n········!this.includeChildMatches·&&\n········typeof·this.#ignore.add·!==·'function'\n······)·{\n········const·m·=·'cannot·ignore·child·matches,·ignore·lacks·add()·method.'\n········throw·new·Error(m)\n······}\n····}\n····//·ignore,·always·set·with·maxDepth,·but·it's·optional·on·the\n····//·GlobOptions·type\n····/*·c8·ignore·start·*/\n····this.maxDepth·=·opts.maxDepth·||·Infinity\n····/*·c8·ignore·stop·*/\n····if·(opts.signal)·{\n······this.signal·=·opts.signal\n······this.signal.addEventListener('abort',·()·=>·{\n········this.#onResume.length·=·0\n······})\n····}\n··}\n\n··#ignored(path:·Path):·boolean·{\n····return·this.seen.has(path)·||·!!this.#ignore?.ignored?.(path)\n··}\n··#childrenIgnored(path:·Path):·boolean·{\n····return·!!this.#ignore?.childrenIgnored?.(path)\n··}\n\n··//·backpressure·mechanism\n··pause()·{\n····this.paused·=·true\n··}\n··resume()·{\n····/*·c8·ignore·start·*/\n····if·(this.signal?.aborted)·return\n····/*·c8·ignore·stop·*/\n····this.paused·=·false\n····let·fn:·(()·=>·any)·|·undefined·=·undefined\n····while·(!this.paused·&&·(fn·=·this.#onResume.shift()))·{\n······fn()\n····}\n··}\n··onResume(fn:·()·=>·any)·{\n····if·(this.signal?.aborted)·return\n····/*·c8·ignore·start·*/\n····if·(!this.paused)·{\n······fn()\n····}·else·{\n······/*·c8·ignore·stop·*/\n······this.#onResume.push(fn)\n····}\n··}\n\n··//·do·the·requisite·realpath/stat·checking,·and·return·the·path\n··//·to·add·or·undefined·to·filter·it·out.\n··async·matchCheck(e:·Path,·ifDir:·boolean):·Promise<Path·|·undefined>·{\n····if·(ifDir·&&·this.opts.nodir)·return·undefined\n····let·rpc:·Path·|·undefined\n····if·(this.opts.realpath)·{\n······rpc·=·e.realpathCached()·||·(await·e.realpath())\n······if·(!rpc)·return·undefined\n······e·=·rpc\n····}\n····const·needStat·=·e.isUnknown()·||·this.opts.stat\n····const·s·=·needStat·?·await·e.lstat()·:·e\n····if·(this.opts.follow·&&·this.opts.nodir·&&·s?.isSymbolicLink())·{\n······const·target·=·await·s.realpath()\n······/*·c8·ignore·start·*/\n······if·(target·&&·(target.isUnknown()·||·this.opts.stat))·{\n········await·target.lstat()\n······}\n······/*·c8·ignore·stop·*/\n····}\n····return·this.matchCheckTest(s,·ifDir)\n··}\n\n··matchCheckTest(e:·Path·|·undefined,·ifDir:·boolean):·Path·|·undefined·{\n····return·(\n········e·&&\n··········(this.maxDepth·===·Infinity·||·e.depth()·<=·this.maxDepth)·&&\n··········(!ifDir·||·e.canReaddir())·&&\n··········(!this.opts.nodir·||·!e.isDirectory())·&&\n··········(!this.opts.nodir·||\n············!this.opts.follow·||\n············!e.isSymbolicLink()·||\n············!e.realpathCached()?.isDirectory())·&&\n··········!this.#ignored(e)\n······)·?\n········e\n······:·undefined\n··}\n\n··matchCheckSync(e:·Path,·ifDir:·boolean):·Path·|·undefined·{\n····if·(ifDir·&&·this.opts.nodir)·return·undefined\n····let·rpc:·Path·|·undefined\n····if·(this.opts.realpath)·{\n······rpc·=·e.realpathCached()·||·e.realpathSync()\n······if·(!rpc)·return·undefined\n······e·=·rpc\n····}\n····const·needStat·=·e.isUnknown()·||·this.opts.stat\n····const·s·=·needStat·?·e.lstatSync()·:·e\n····if·(this.opts.follow·&&·this.opts.nodir·&&·s?.isSymbolicLink())·{\n······const·target·=·s.realpathSync()\n······if·(target·&&·(target?.isUnknown()·||·this.opts.stat))·{\n········target.lstatSync()\n······}\n····}\n····return·this.matchCheckTest(s,·ifDir)\n··}\n\n··abstract·matchEmit(p:·Result<O>):·void\n··abstract·matchEmit(p:·string·|·Path):·void\n\n··matchFinish(e:·Path,·absolute:·boolean)·{\n····if·(this.#ignored(e))·return\n····//·we·know·we·have·an·ignore·if·this·is·false,·but·TS·doesn't\n····if·(!this.includeChildMatches·&&·this.#ignore?.add)·{\n······const·ign·=·`${e.relativePosix()}/**`\n······this.#ignore.add(ign)\n····}\n····const·abs·=\n······this.opts.absolute·===·undefined·?·absolute·:·this.opts.absolute\n····this.seen.add(e)\n····const·mark·=·this.opts.mark·&&·e.isDirectory()·?·this.#sep·:·''\n····//·ok,·we·have·what·we·need!\n····if·(this.opts.withFileTypes)·{\n······this.matchEmit(e)\n····}·else·if·(abs)·{\n······const·abs·=·this.opts.posix·?·e.fullpathPosix()·:·e.fullpath()\n······this.matchEmit(abs·+·mark)\n····}·else·{\n······const·rel·=·this.opts.posix·?·e.relativePosix()·:·e.relative()\n······const·pre·=\n········this.opts.dotRelative·&&·!rel.startsWith('..'·+·this.#sep)·?\n··········'.'·+·this.#sep\n········:·''\n······this.matchEmit(!rel·?·'.'·+·mark·:·pre·+·rel·+·mark)\n····}\n··}\n\n··async·match(e:·Path,·absolute:·boolean,·ifDir:·boolean):·Promise<void>·{\n····const·p·=·await·this.matchCheck(e,·ifDir)\n····if·(p)·this.matchFinish(p,·absolute)\n··}\n\n··matchSync(e:·Path,·absolute:·boolean,·ifDir:·boolean):·void·{\n····const·p·=·this.matchCheckSync(e,·ifDir)\n····if·(p)·this.matchFinish(p,·absolute)\n··}\n\n··walkCB(target:·Path,·patterns:·Pattern[],·cb:·()·=>·any)·{\n····/*·c8·ignore·start·*/\n····if·(this.signal?.aborted)·cb()\n····/*·c8·ignore·stop·*/\n····this.walkCB2(target,·patterns,·new·Processor(this.opts),·cb)\n··}\n\n··walkCB2(\n····target:·Path,\n····patterns:·Pattern[],\n····processor:·Processor,\n····cb:·()·=>·any,\n··)·{\n····if·(this.#childrenIgnored(target))·return·cb()\n····if·(this.signal?.aborted)·cb()\n····if·(this.paused)·{\n······this.onResume(()·=>·this.walkCB2(target,·patterns,·processor,·cb))\n······return\n····}\n····processor.processPatterns(target,·patterns)\n\n····//·done·processing.··all·of·the·above·is·sync,·can·be·abstracted·out.\n····//·subwalks·is·a·map·of·paths·to·the·entry·filters·they·need\n····//·matches·is·a·map·of·paths·to·[absolute,·ifDir]·tuples.\n····let·tasks·=·1\n····const·next·=·()·=>·{\n······if·(--tasks·===·0)·cb()\n····}\n\n····for·(const·[m,·absolute,·ifDir]·of·processor.matches.entries())·{\n······if·(this.#ignored(m))·continue\n······tasks++\n······this.match(m,·absolute,·ifDir).then(()·=>·next())\n····}\n\n····for·(const·t·of·processor.subwalkTargets())·{\n······if·(this.maxDepth·!==·Infinity·&&·t.depth()·>=·this.maxDepth)·{\n········continue\n······}\n······tasks++\n······const·childrenCached·=·t.readdirCached()\n······if·(t.calledReaddir())\n········this.walkCB3(t,·childrenCached,·processor,·next)\n······else·{\n········t.readdirCB(\n··········(_,·entries)·=>·this.walkCB3(t,·entries,·processor,·next),\n··········true,\n········)\n······}\n····}\n\n····next()\n··}\n\n··walkCB3(\n····target:·Path,\n····entries:·Path[],\n····processor:·Processor,\n····cb:·()·=>·any,\n··)·{\n····processor·=·processor.filterEntries(target,·entries)\n\n····let·tasks·=·1\n····const·next·=·()·=>·{\n······if·(--tasks·===·0)·cb()\n····}\n\n····for·(const·[m,·absolute,·ifDir]·of·processor.matches.entries())·{\n······if·(this.#ignored(m))·continue\n······tasks++\n······this.match(m,·absolute,·ifDir).then(()·=>·next())\n····}\n····for·(const·[target,·patterns]·of·processor.subwalks.entries())·{\n······tasks++\n······this.walkCB2(target,·patterns,·processor.child(),·next)\n····}\n\n····next()\n··}\n\n··walkCBSync(target:·Path,·patterns:·Pattern[],·cb:·()·=>·any)·{\n····/*·c8·ignore·start·*/\n····if·(this.signal?.aborted)·cb()\n····/*·c8·ignore·stop·*/\n····this.walkCB2Sync(target,·patterns,·new·Processor(this.opts),·cb)\n··}\n\n··walkCB2Sync(\n····target:·Path,\n····patterns:·Pattern[],\n····processor:·Processor,\n····cb:·()·=>·any,\n··)·{\n····if·(this.#childrenIgnored(target))·return·cb()\n····if·(this.signal?.aborted)·cb()\n····if·(this.paused)·{\n······this.onResume(()·=>\n········this.walkCB2Sync(target,·patterns,·processor,·cb),\n······)\n······return\n····}\n····processor.processPatterns(target,·patterns)\n\n····//·done·processing.··all·of·the·above·is·sync,·can·be·abstracted·out.\n····//·subwalks·is·a·map·of·paths·to·the·entry·filters·they·need\n····//·matches·is·a·map·of·paths·to·[absolute,·ifDir]·tuples.\n····let·tasks·=·1\n····const·next·=·()·=>·{\n······if·(--tasks·===·0)·cb()\n····}\n\n····for·(const·[m,·absolute,·ifDir]·of·processor.matches.entries())·{\n······if·(this.#ignored(m))·continue\n······this.matchSync(m,·absolute,·ifDir)\n····}\n\n····for·(const·t·of·processor.subwalkTargets())·{\n······if·(this.maxDepth·!==·Infinity·&&·t.depth()·>=·this.maxDepth)·{\n········continue\n······}\n······tasks++\n······const·children·=·t.readdirSync()\n······this.walkCB3Sync(t,·children,·processor,·next)\n····}\n\n····next()\n··}\n\n··walkCB3Sync(\n····target:·Path,\n····entries:·Path[],\n····processor:·Processor,\n····cb:·()·=>·any,\n··)·{\n····processor·=·processor.filterEntries(target,·entries)\n\n····let·tasks·=·1\n····const·next·=·()·=>·{\n······if·(--tasks·===·0)·cb()\n····}\n\n····for·(const·[m,·absolute,·ifDir]·of·processor.matches.entries())·{\n······if·(this.#ignored(m))·continue\n······this.matchSync(m,·absolute,·ifDir)\n····}\n····for·(const·[target,·patterns]·of·processor.subwalks.entries())·{\n······tasks++\n······this.walkCB2Sync(target,·patterns,·processor.child(),·next)\n····}\n\n····next()\n··}\n}\n\nexport·class·GlobWalker<\n··O·extends·GlobWalkerOpts·=·GlobWalkerOpts,\n>·extends·GlobUtil<O>·{\n··matches·=·new·Set<Result<O>>()\n\n··constructor(patterns:·Pattern[],·path:·Path,·opts:·O)·{\n····super(patterns,·path,·opts)\n··}\n\n··matchEmit(e:·Result<O>):·void·{\n····this.matches.add(e)\n··}\n\n··async·walk():·Promise<Set<Result<O>>>·{\n····if·(this.signal?.aborted)·throw·this.signal.reason\n····if·(this.path.isUnknown())·{\n······await·this.path.lstat()\n····}\n····await·new·Promise((res,·rej)·=>·{\n······this.walkCB(this.path,·this.patterns,·()·=>·{\n········if·(this.signal?.aborted)·{\n··········rej(this.signal.reason)\n········}·else·{\n··········res(this.matches)\n········}\n······})\n····})\n····return·this.matches\n··}\n\n··walkSync():·Set<Result<O>>·{\n····if·(this.signal?.aborted)·throw·this.signal.reason\n····if·(this.path.isUnknown())·{\n······this.path.lstatSync()\n····}\n····//·nothing·for·the·callback·to·do,·because·this·never·pauses\n····this.walkCBSync(this.path,·this.patterns,·()·=>·{\n······if·(this.signal?.aborted)·throw·this.signal.reason\n····})\n····return·this.matches\n··}\n}\n\nexport·class·GlobStream<\n··O·extends·GlobWalkerOpts·=·GlobWalkerOpts,\n>·extends·GlobUtil<O>·{\n··results:·Minipass<Result<O>,·Result<O>>\n\n··constructor(patterns:·Pattern[],·path:·Path,·opts:·O)·{\n····super(patterns,·path,·opts)\n····this.results·=·new·Minipass<Result<O>,·Result<O>>({\n······signal:·this.signal,\n······objectMode:·true,\n····})\n····this.results.on('drain',·()·=>·this.resume())\n····this.results.on('resume',·()·=>·this.resume())\n··}\n\n··matchEmit(e:·Result<O>):·void·{\n····this.results.write(e)\n····if·(!this.results.flowing)·this.pause()\n··}\n\n··stream():·MatchStream<O>·{\n····const·target·=·this.path\n····if·(target.isUnknown())·{\n······target.lstat().then(()·=>·{\n········this.walkCB(target,·this.patterns,·()·=>·this.results.end())\n······})\n····}·else·{\n······this.walkCB(target,·this.patterns,·()·=>·this.results.end())\n····}\n····return·this.results\n··}\n\n··streamSync():·MatchStream<O>·{\n····if·(this.path.isUnknown())·{\n······this.path.lstatSync()\n····}\n····this.walkCBSync(this.path,·this.patterns,·()·=>·this.results.end())\n····return·this.results\n··}\n}\n",
589 KB
lib/node_modules/@capacitor/cli/node_modules/glob/dist/esm/index.min.js
'js-beautify' not available in path. Falling back to binary comparison.
    
Offset 787, 4370 lines modifiedOffset 787, 4372 lines modified
00003120:·6174·6368·2873·2c69·2c4e·286e·2c72·2929··atch(s,i,N(n,r))00003120:·6174·6368·2873·2c69·2c4e·286e·2c72·2929··atch(s,i,N(n,r))
00003130:·2c73·6570·3a74·2e73·6570·2c47·4c4f·4253··,sep:t.sep,GLOBS00003130:·2c73·6570·3a74·2e73·6570·2c47·4c4f·4253··,sep:t.sep,GLOBS
00003140:·5441·523a·417d·297d·3b4f·2e64·6566·6175··TAR:A})};O.defau00003140:·5441·523a·417d·297d·3b4f·2e64·6566·6175··TAR:A})};O.defau
00003150:·6c74·733d·5a73·3b76·6172·206b·653d·286e··lts=Zs;var·ke=(n00003150:·6c74·733d·5a73·3b76·6172·206b·653d·286e··lts=Zs;var·ke=(n
00003160:·2c74·3d7b·7d29·3d3e·2861·7428·6e29·2c74··,t={})=>(at(n),t00003160:·2c74·3d7b·7d29·3d3e·2861·7428·6e29·2c74··,t={})=>(at(n),t
00003170:·2e6e·6f62·7261·6365·7c7c·212f·5c7b·283f··.nobrace||!/\{(?00003170:·2e6e·6f62·7261·6365·7c7c·212f·5c7b·283f··.nobrace||!/\{(?
Diff chunk too large, falling back to line-by-line diff (805 lines added, 805 lines removed)
00003180:·3a28·3f21·5c7b·292e·292a·5c7d·2f2e·7465··:(?!\{).)*\}/.te00003180:·3a28·3f21·5c7b·292e·292a·5c7d·2f2e·7465··:(?!\{).)*\}/.te
00003190:·7374·286e·293f·5b6e·5d3a·6765·286e·2929··st(n)?[n]:ge(n))00003190:·7374·286e·293f·5b6e·5d3a·6765·286e·2c7b··st(n)?[n]:ge(n,{
000031a0:·3b4f·2e62·7261·6365·4578·7061·6e64·3d6b··;O.braceExpand=k000031a0:·6d61·783a·742e·6272·6163·6545·7870·616e··max:t.braceExpan
000031b0:·653b·7661·7220·5173·3d28·6e2c·743d·7b7d··e;var·Qs=(n,t={}000031b0:·644d·6178·7d29·293b·4f2e·6272·6163·6545··dMax}));O.braceE
000031c0:·293d·3e6e·6577·2044·286e·2c74·292e·6d61··)=>new·D(n,t).ma000031c0:·7870·616e·643d·6b65·3b76·6172·2051·733d··xpand=ke;var·Qs=
000031d0:·6b65·5265·2829·3b4f·2e6d·616b·6552·653d··keRe();O.makeRe=000031d0:·286e·2c74·3d7b·7d29·3d3e·6e65·7720·4428··(n,t={})=>new·D(
000031e0:·5173·3b76·6172·2074·693d·286e·2c74·2c65··Qs;var·ti=(n,t,e000031e0:·6e2c·7429·2e6d·616b·6552·6528·293b·4f2e··n,t).makeRe();O.
000031f0:·3d7b·7d29·3d3e·7b6c·6574·2073·3d6e·6577··={})=>{let·s=new000031f0:·6d61·6b65·5265·3d51·733b·7661·7220·7469··makeRe=Qs;var·ti
00003200:·2044·2874·2c65·293b·7265·7475·726e·206e···D(t,e);return·n00003200:·3d28·6e2c·742c·653d·7b7d·293d·3e7b·6c65··=(n,t,e={})=>{le
00003210:·3d6e·2e66·696c·7465·7228·693d·3e73·2e6d··=n.filter(i=>s.m00003210:·7420·733d·6e65·7720·4428·742c·6529·3b72··t·s=new·D(t,e);r
00003220:·6174·6368·2869·2929·2c73·2e6f·7074·696f··atch(i)),s.optio00003220:·6574·7572·6e20·6e3d·6e2e·6669·6c74·6572··eturn·n=n.filter
00003230:·6e73·2e6e·6f6e·756c·6c26·2621·6e2e·6c65··ns.nonull&&!n.le00003230:·2869·3d3e·732e·6d61·7463·6828·6929·292c··(i=>s.match(i)),
00003240:·6e67·7468·2626·6e2e·7075·7368·2874·292c··ngth&&n.push(t),00003240:·732e·6f70·7469·6f6e·732e·6e6f·6e75·6c6c··s.options.nonull
00003250:·6e7d·3b4f·2e6d·6174·6368·3d74·693b·7661··n};O.match=ti;va00003250:·2626·216e·2e6c·656e·6774·6826·266e·2e70··&&!n.length&&n.p
00003260:·7220·7665·3d2f·5b3f·2a5d·7c5b·2b40·215d··r·ve=/[?*]|[+@!]00003260:·7573·6828·7429·2c6e·7d3b·4f2e·6d61·7463··ush(t),n};O.matc
00003270:·5c28·2e2a·3f5c·297c·5c5b·7c5c·5d2f·2c65··\(.*?\)|\[|\]/,e00003270:·683d·7469·3b76·6172·2076·653d·2f5b·3f2a··h=ti;var·ve=/[?*
00003280:·693d·6e3d·3e6e·2e72·6570·6c61·6365·282f··i=n=>n.replace(/00003280:·5d7c·5b2b·4021·5d5c·282e·2a3f·5c29·7c5c··]|[+@!]\(.*?\)|\
00003290:·5b2d·5b5c·5d7b·7d28·292a·2b3f·2e2c·5c5c··[-[\]{}()*+?.,\\00003290:·5b7c·5c5d·2f2c·6569·3d6e·3d3e·6e2e·7265··[|\]/,ei=n=>n.re
000032a0:·5e24·7c23·5c73·5d2f·672c·225c·5c24·2622··^$|#\s]/g,"\\$&"000032a0:·706c·6163·6528·2f5b·2d5b·5c5d·7b7d·2829··place(/[-[\]{}()
000032b0:·292c·443d·636c·6173·737b·6f70·7469·6f6e··),D=class{option000032b0:·2a2b·3f2e·2c5c·5c5e·247c·235c·735d·2f67··*+?.,\\^$|#\s]/g
000032c0:·733b·7365·743b·7061·7474·6572·6e3b·7769··s;set;pattern;wi000032c0:·2c22·5c5c·2426·2229·2c44·3d63·6c61·7373··,"\\$&"),D=class
000032d0:·6e64·6f77·7350·6174·6873·4e6f·4573·6361··ndowsPathsNoEsca000032d0:·7b6f·7074·696f·6e73·3b73·6574·3b70·6174··{options;set;pat
000032e0:·7065·3b6e·6f6e·6567·6174·653b·6e65·6761··pe;nonegate;nega000032e0:·7465·726e·3b77·696e·646f·7773·5061·7468··tern;windowsPath
000032f0:·7465·3b63·6f6d·6d65·6e74·3b65·6d70·7479··te;comment;empty000032f0:·734e·6f45·7363·6170·653b·6e6f·6e65·6761··sNoEscape;nonega
00003300:·3b70·7265·7365·7276·654d·756c·7469·706c··;preserveMultipl00003300:·7465·3b6e·6567·6174·653b·636f·6d6d·656e··te;negate;commen
00003310:·6553·6c61·7368·6573·3b70·6172·7469·616c··eSlashes;partial00003310:·743b·656d·7074·793b·7072·6573·6572·7665··t;empty;preserve
00003320:·3b67·6c6f·6253·6574·3b67·6c6f·6250·6172··;globSet;globPar00003320:·4d75·6c74·6970·6c65·536c·6173·6865·733b··MultipleSlashes;
00003330:·7473·3b6e·6f63·6173·653b·6973·5769·6e64··ts;nocase;isWind00003330:·7061·7274·6961·6c3b·676c·6f62·5365·743b··partial;globSet;
00003340:·6f77·733b·706c·6174·666f·726d·3b77·696e··ows;platform;win00003340:·676c·6f62·5061·7274·733b·6e6f·6361·7365··globParts;nocase
00003350:·646f·7773·4e6f·4d61·6769·6352·6f6f·743b··dowsNoMagicRoot;00003350:·3b69·7357·696e·646f·7773·3b70·6c61·7466··;isWindows;platf
00003360:·7265·6765·7870·3b63·6f6e·7374·7275·6374··regexp;construct00003360:·6f72·6d3b·7769·6e64·6f77·734e·6f4d·6167··orm;windowsNoMag
00003370:·6f72·2874·2c65·3d7b·7d29·7b61·7428·7429··or(t,e={}){at(t)00003370:·6963·526f·6f74·3b72·6567·6578·703b·636f··icRoot;regexp;co
00003380:·2c65·3d65·7c7c·7b7d·2c74·6869·732e·6f70··,e=e||{},this.op00003380:·6e73·7472·7563·746f·7228·742c·653d·7b7d··nstructor(t,e={}
00003390:·7469·6f6e·733d·652c·7468·6973·2e70·6174··tions=e,this.pat00003390:·297b·6174·2874·292c·653d·657c·7c7b·7d2c··){at(t),e=e||{},
000033a0:·7465·726e·3d74·2c74·6869·732e·706c·6174··tern=t,this.plat000033a0:·7468·6973·2e6f·7074·696f·6e73·3d65·2c74··this.options=e,t
000033b0:·666f·726d·3d65·2e70·6c61·7466·6f72·6d7c··form=e.platform|000033b0:·6869·732e·7061·7474·6572·6e3d·742c·7468··his.pattern=t,th
000033c0:·7c41·652c·7468·6973·2e69·7357·696e·646f··|Ae,this.isWindo000033c0:·6973·2e70·6c61·7466·6f72·6d3d·652e·706c··is.platform=e.pl
000033d0:·7773·3d74·6869·732e·706c·6174·666f·726d··ws=this.platform000033d0:·6174·666f·726d·7c7c·4165·2c74·6869·732e··atform||Ae,this.
000033e0:·3d3d·3d22·7769·6e33·3222·2c74·6869·732e··==="win32",this.000033e0:·6973·5769·6e64·6f77·733d·7468·6973·2e70··isWindows=this.p
000033f0:·7769·6e64·6f77·7350·6174·6873·4e6f·4573··windowsPathsNoEs000033f0:·6c61·7466·6f72·6d3d·3d3d·2277·696e·3332··latform==="win32
00003400:·6361·7065·3d21·2165·2e77·696e·646f·7773··cape=!!e.windows00003400:·223b·6c65·7420·733d·2261·6c6c·6f77·5769··";let·s="allowWi
00003410:·5061·7468·734e·6f45·7363·6170·657c·7c65··PathsNoEscape||e00003410:·6e64·6f77·7345·7363·6170·6522·3b74·6869··ndowsEscape";thi
00003420:·2e61·6c6c·6f77·5769·6e64·6f77·7345·7363··.allowWindowsEsc00003420:·732e·7769·6e64·6f77·7350·6174·6873·4e6f··s.windowsPathsNo
00003430:·6170·653d·3d3d·2131·2c74·6869·732e·7769··ape===!1,this.wi00003430:·4573·6361·7065·3d21·2165·2e77·696e·646f··Escape=!!e.windo
00003440:·6e64·6f77·7350·6174·6873·4e6f·4573·6361··ndowsPathsNoEsca00003440:·7773·5061·7468·734e·6f45·7363·6170·657c··wsPathsNoEscape|
00003450:·7065·2626·2874·6869·732e·7061·7474·6572··pe&&(this.patter00003450:·7c65·5b73·5d3d·3d3d·2131·2c74·6869·732e··|e[s]===!1,this.
00003460:·6e3d·7468·6973·2e70·6174·7465·726e·2e72··n=this.pattern.r00003460:·7769·6e64·6f77·7350·6174·6873·4e6f·4573··windowsPathsNoEs
00003470:·6570·6c61·6365·282f·5c5c·2f67·2c22·2f22··eplace(/\\/g,"/"00003470:·6361·7065·2626·2874·6869·732e·7061·7474··cape&&(this.patt
00003480:·2929·2c74·6869·732e·7072·6573·6572·7665··)),this.preserve00003480:·6572·6e3d·7468·6973·2e70·6174·7465·726e··ern=this.pattern
00003490:·4d75·6c74·6970·6c65·536c·6173·6865·733d··MultipleSlashes=00003490:·2e72·6570·6c61·6365·282f·5c5c·2f67·2c22··.replace(/\\/g,"
000034a0:·2121·652e·7072·6573·6572·7665·4d75·6c74··!!e.preserveMult000034a0:·2f22·2929·2c74·6869·732e·7072·6573·6572··/")),this.preser
000034b0:·6970·6c65·536c·6173·6865·732c·7468·6973··ipleSlashes,this000034b0:·7665·4d75·6c74·6970·6c65·536c·6173·6865··veMultipleSlashe
000034c0:·2e72·6567·6578·703d·6e75·6c6c·2c74·6869··.regexp=null,thi000034c0:·733d·2121·652e·7072·6573·6572·7665·4d75··s=!!e.preserveMu
000034d0:·732e·6e65·6761·7465·3d21·312c·7468·6973··s.negate=!1,this000034d0:·6c74·6970·6c65·536c·6173·6865·732c·7468··ltipleSlashes,th
000034e0:·2e6e·6f6e·6567·6174·653d·2121·652e·6e6f··.nonegate=!!e.no000034e0:·6973·2e72·6567·6578·703d·6e75·6c6c·2c74··is.regexp=null,t
000034f0:·6e65·6761·7465·2c74·6869·732e·636f·6d6d··negate,this.comm000034f0:·6869·732e·6e65·6761·7465·3d21·312c·7468··his.negate=!1,th
00003500:·656e·743d·2131·2c74·6869·732e·656d·7074··ent=!1,this.empt00003500:·6973·2e6e·6f6e·6567·6174·653d·2121·652e··is.nonegate=!!e.
00003510:·793d·2131·2c74·6869·732e·7061·7274·6961··y=!1,this.partia00003510:·6e6f·6e65·6761·7465·2c74·6869·732e·636f··nonegate,this.co
00003520:·6c3d·2121·652e·7061·7274·6961·6c2c·7468··l=!!e.partial,th00003520:·6d6d·656e·743d·2131·2c74·6869·732e·656d··mment=!1,this.em
00003530:·6973·2e6e·6f63·6173·653d·2121·7468·6973··is.nocase=!!this00003530:·7074·793d·2131·2c74·6869·732e·7061·7274··pty=!1,this.part
00003540:·2e6f·7074·696f·6e73·2e6e·6f63·6173·652c··.options.nocase,00003540:·6961·6c3d·2121·652e·7061·7274·6961·6c2c··ial=!!e.partial,
00003550:·7468·6973·2e77·696e·646f·7773·4e6f·4d61··this.windowsNoMa00003550:·7468·6973·2e6e·6f63·6173·653d·2121·7468··this.nocase=!!th
00003560:·6769·6352·6f6f·743d·652e·7769·6e64·6f77··gicRoot=e.window00003560:·6973·2e6f·7074·696f·6e73·2e6e·6f63·6173··is.options.nocas
00003570:·734e·6f4d·6167·6963·526f·6f74·213d·3d76··sNoMagicRoot!==v00003570:·652c·7468·6973·2e77·696e·646f·7773·4e6f··e,this.windowsNo
00003580:·6f69·6420·303f·652e·7769·6e64·6f77·734e··oid·0?e.windowsN00003580:·4d61·6769·6352·6f6f·743d·652e·7769·6e64··MagicRoot=e.wind
00003590:·6f4d·6167·6963·526f·6f74·3a21·2128·7468··oMagicRoot:!!(th00003590:·6f77·734e·6f4d·6167·6963·526f·6f74·213d··owsNoMagicRoot!=
000035a0:·6973·2e69·7357·696e·646f·7773·2626·7468··is.isWindows&&th000035a0:·3d76·6f69·6420·303f·652e·7769·6e64·6f77··=void·0?e.window
000035b0:·6973·2e6e·6f63·6173·6529·2c74·6869·732e··is.nocase),this.000035b0:·734e·6f4d·6167·6963·526f·6f74·3a21·2128··sNoMagicRoot:!!(
000035c0:·676c·6f62·5365·743d·5b5d·2c74·6869·732e··globSet=[],this.000035c0:·7468·6973·2e69·7357·696e·646f·7773·2626··this.isWindows&&
000035d0:·676c·6f62·5061·7274·733d·5b5d·2c74·6869··globParts=[],thi000035d0:·7468·6973·2e6e·6f63·6173·6529·2c74·6869··this.nocase),thi
000035e0:·732e·7365·743d·5b5d·2c74·6869·732e·6d61··s.set=[],this.ma000035e0:·732e·676c·6f62·5365·743d·5b5d·2c74·6869··s.globSet=[],thi
000035f0:·6b65·2829·7d68·6173·4d61·6769·6328·297b··ke()}hasMagic(){000035f0:·732e·676c·6f62·5061·7274·733d·5b5d·2c74··s.globParts=[],t
00003600:·6966·2874·6869·732e·6f70·7469·6f6e·732e··if(this.options.00003600:·6869·732e·7365·743d·5b5d·2c74·6869·732e··his.set=[],this.
00003610:·6d61·6769·6361·6c42·7261·6365·7326·2674··magicalBraces&&t00003610:·6d61·6b65·2829·7d68·6173·4d61·6769·6328··make()}hasMagic(
00003620:·6869·732e·7365·742e·6c65·6e67·7468·3e31··his.set.length>100003620:·297b·6966·2874·6869·732e·6f70·7469·6f6e··){if(this.option
00003630:·2972·6574·7572·6e21·303b·666f·7228·6c65··)return!0;for(le00003630:·732e·6d61·6769·6361·6c42·7261·6365·7326··s.magicalBraces&
00003640:·7420·7420·6f66·2074·6869·732e·7365·7429··t·t·of·this.set)00003640:·2674·6869·732e·7365·742e·6c65·6e67·7468··&this.set.length
00003650:·666f·7228·6c65·7420·6520·6f66·2074·2969··for(let·e·of·t)i00003650:·3e31·2972·6574·7572·6e21·303b·666f·7228··>1)return!0;for(
00003660:·6628·7479·7065·6f66·2065·213d·2273·7472··f(typeof·e!="str00003660:·6c65·7420·7420·6f66·2074·6869·732e·7365··let·t·of·this.se
00003670:·696e·6722·2972·6574·7572·6e21·303b·7265··ing")return!0;re00003670:·7429·666f·7228·6c65·7420·6520·6f66·2074··t)for(let·e·of·t
00003680:·7475·726e·2131·7d64·6562·7567·282e·2e2e··turn!1}debug(...00003680:·2969·6628·7479·7065·6f66·2065·213d·2273··)if(typeof·e!="s
00003690:·7429·7b7d·6d61·6b65·2829·7b6c·6574·2074··t){}make(){let·t00003690:·7472·696e·6722·2972·6574·7572·6e21·303b··tring")return!0;
000036a0:·3d74·6869·732e·7061·7474·6572·6e2c·653d··=this.pattern,e=000036a0:·7265·7475·726e·2131·7d64·6562·7567·282e··return!1}debug(.
000036b0:·7468·6973·2e6f·7074·696f·6e73·3b69·6628··this.options;if(000036b0:·2e2e·7429·7b7d·6d61·6b65·2829·7b6c·6574··..t){}make(){let
000036c0:·2165·2e6e·6f63·6f6d·6d65·6e74·2626·742e··!e.nocomment&&t.000036c0:·2074·3d74·6869·732e·7061·7474·6572·6e2c···t=this.pattern,
000036d0:·6368·6172·4174·2830·293d·3d3d·2223·2229··charAt(0)==="#")000036d0:·653d·7468·6973·2e6f·7074·696f·6e73·3b69··e=this.options;i
000036e0:·7b74·6869·732e·636f·6d6d·656e·743d·2130··{this.comment=!0000036e0:·6628·2165·2e6e·6f63·6f6d·6d65·6e74·2626··f(!e.nocomment&&
000036f0:·3b72·6574·7572·6e7d·6966·2821·7429·7b74··;return}if(!t){t000036f0:·742e·6368·6172·4174·2830·293d·3d3d·2223··t.charAt(0)==="#
00003700:·6869·732e·656d·7074·793d·2130·3b72·6574··his.empty=!0;ret00003700:·2229·7b74·6869·732e·636f·6d6d·656e·743d··"){this.comment=
00003710:·7572·6e7d·7468·6973·2e70·6172·7365·4e65··urn}this.parseNe00003710:·2130·3b72·6574·7572·6e7d·6966·2821·7429··!0;return}if(!t)
00003720:·6761·7465·2829·2c74·6869·732e·676c·6f62··gate(),this.glob00003720:·7b74·6869·732e·656d·7074·793d·2130·3b72··{this.empty=!0;r
00003730:·5365·743d·5b2e·2e2e·6e65·7720·5365·7428··Set=[...new·Set(00003730:·6574·7572·6e7d·7468·6973·2e70·6172·7365··eturn}this.parse
Max diff block lines reached; 490769/602437 bytes (81.46%) of diff not shown.
635 KB
lib/node_modules/@capacitor/cli/node_modules/glob/dist/esm/index.min.js.map
635 KB
Pretty-printed
    
Offset 1, 9 lines modifiedOffset 1, 9 lines modified
1 {1 {
2 ····"mappings":·"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[·...·truncated·by·diffoscope;·len:·27630,·SHA:·18228ba0fbce97a1cbc5dc0914c55f598623698c1be353add03f50a7b438d9c3·...·]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",2 ····"mappings":·"AAAO,IAAMA,GAAW,CACtBC,EACAC,EACAC,IACE,CACF,IAAMC,EAAKH,aAAa,OAASI,GAAWJ,EAAGE,CAAG,EAAIF,EAChDK,EAAKJ,aAAa,OAASG,GAAWH,EAAGC,CAAG,EAAID,EAEhD,EAAIE,IAAO,MAAQE,GAAM,MAAQC,GAAMH,EAAIE,EAAIH,CAAG,EAExD,OACE,GAAK,CACH,MAAO,EAAE,CAAC,EACV,IAAK,EAAE,CAAC,EACR,IAAKA,EAAI,MAAM,EAAG,EAAE,CAAC,CAAC,EACtB,KAAMA,EAAI,MAAM,EAAE,CAAC,EAAIC,EAAG,OAAQ,EAAE,CAAC,CAAC,EACtC,KAAMD,EAAI,MAAM,EAAE,CAAC,EAAIG,EAAG,MAAM,EAGtC,EAEMD,GAAa,CAACG,EAAaL,IAAe,CAC9C,IAAMM,EAAIN,EAAI,MAAMK,CAAG,EACvB,OAAOC,EAAIA,EAAE,CAAC,EAAI,IACpB,EAEaF,GAAQ,CACnBN,EACAC,EACAC,IACgC,CAChC,IAAIO,EACFC,EACAC,EACAC,EACAC,EACEC,EAAKZ,EAAI,QAAQF,CAAC,EAClBe,EAAKb,EAAI,QAAQD,EAAGa,EAAK,CAAC,EAC1BE,EAAIF,EAER,GAAIA,GAAM,GAAKC,EAAK,EAAG,CACrB,GAAIf,IAAMC,EACR,MAAO,CAACa,EAAIC,CAAE,EAKhB,IAHAN,EAAO,CAAA,EACPE,EAAOT,EAAI,OAEJc,GAAK,GAAK,CAACH,GAAQ,CACxB,GAAIG,IAAMF,EACRL,EAAK,KAAKO,CAAC,EACXF,EAAKZ,EAAI,QAAQF,EAAGgB,EAAI,CAAC,UAChBP,EAAK,SAAW,EAAG,CAC5B,IAAMQ,EAAIR,EAAK,IAAG,EACdQ,IAAM,SAAWJ,EAAS,CAACI,EAAGF,CAAE,EACtC,MACEL,EAAMD,EAAK,IAAG,EACVC,IAAQ,QAAaA,EAAMC,IAC7BA,EAAOD,EACPE,EAAQG,GAGVA,EAAKb,EAAI,QAAQD,EAAGe,EAAI,CAAC,EAG3BA,EAAIF,EAAKC,GAAMD,GAAM,EAAIA,EAAKC,CAChC,CAEIN,EAAK,QAAUG,IAAU,SAC3BC,EAAS,CAACF,EAAMC,CAAK,EAEzB,CAEA,OAAOC,CACT,ECvEA,IAAMK,GAAW,UAAY,KAAK,OAAM,EAAK,KACvCC,GAAU,SAAW,KAAK,OAAM,EAAK,KACrCC,GAAW,UAAY,KAAK,OAAM,EAAK,KACvCC,GAAW,UAAY,KAAK,OAAM,EAAK,KACvCC,GAAY,WAAa,KAAK,OAAM,EAAK,KACzCC,GAAkB,IAAI,OAAOL,GAAU,GAAG,EAC1CM,GAAiB,IAAI,OAAOL,GAAS,GAAG,EACxCM,GAAkB,IAAI,OAAOL,GAAU,GAAG,EAC1CM,GAAkB,IAAI,OAAOL,GAAU,GAAG,EAC1CM,GAAmB,IAAI,OAAOL,GAAW,GAAG,EAC5CM,GAAe,QACfC,GAAc,OACdC,GAAe,OACfC,GAAe,OACfC,GAAgB,OAETC,GAAgB,IAE7B,SAASC,GAAQC,EAAW,CAC1B,OAAQ,MAAMA,CAAU,EAAwBA,EAAI,WAAW,CAAC,EAApC,SAASA,EAAK,EAAE,CAC9C,CAEA,SAASC,GAAaD,EAAW,CAC/B,OAAOA,EACJ,QAAQP,GAAcV,EAAQ,EAC9B,QAAQW,GAAaV,EAAO,EAC5B,QAAQW,GAAcV,EAAQ,EAC9B,QAAQW,GAAcV,EAAQ,EAC9B,QAAQW,GAAeV,EAAS,CACrC,CAEA,SAASe,GAAeF,EAAW,CACjC,OAAOA,EACJ,QAAQZ,GAAiB,IAAI,EAC7B,QAAQC,GAAgB,GAAG,EAC3B,QAAQC,GAAiB,GAAG,EAC5B,QAAQC,GAAiB,GAAG,EAC5B,QAAQC,GAAkB,GAAG,CAClC,CAOA,SAASW,GAAgBH,EAAW,CAClC,GAAI,CAACA,EACH,MAAO,CAAC,EAAE,EAGZ,IAAMI,EAAkB,CAAA,EAClBC,EAAIC,GAAS,IAAK,IAAKN,CAAG,EAEhC,GAAI,CAACK,EACH,OAAOL,EAAI,MAAM,GAAG,EAGtB,GAAM,CAAE,IAAAO,EAAK,KAAAC,EAAM,KAAAC,CAAI,EAAKJ,EACtBK,EAAIH,EAAI,MAAM,GAAG,EAEvBG,EAAEA,EAAE,OAAS,CAAC,GAAK,IAAMF,EAAO,IAChC,IAAMG,EAAYR,GAAgBM,CAAI,EACtC,OAAIA,EAAK,SACLC,EAAEA,EAAE,OAAS,CAAC,GAAgBC,EAAU,MAAK,EAC/CD,EAAE,KAAK,MAAMA,EAAGC,CAAS,GAG3BP,EAAM,KAAK,MAAMA,EAAOM,CAAC,EAElBN,CACT,CAMM,SAAUQ,GAAOZ,EAAaa,EAAiC,CAAA,EAAE,CACrE,GAAI,CAACb,EACH,MAAO,CAAA,EAGT,GAAM,CAAE,IAAAc,EAAMhB,EAAa,EAAKe,EAQhC,OAAIb,EAAI,MAAM,EAAG,CAAC,IAAM,OACtBA,EAAM,SAAWA,EAAI,MAAM,CAAC,GAGvBe,GAAQd,GAAaD,CAAG,EAAGc,EAAK,EAAI,EAAE,IAAIZ,EAAc,CACjE,CAEA,SAASc,GAAQhB,EAAW,CAC1B,MAAO,IAAMA,EAAM,GACrB,CAEA,SAASiB,GAASC,EAAU,CAC1B,MAAO,SAAS,KAAKA,CAAE,CACzB,CAEA,SAASC,GAAIC,EAAWC,EAAS,CAC/B,OAAOD,GAAKC,CACd,CAEA,SAASC,GAAIF,EAAWC,EAAS,CAC/B,OAAOD,GAAKC,CACd,CAEA,SAASN,GAAQf,EAAac,EAAaS,EAAc,CAEvD,IAAMC,EAAuB,CAAA,EAEvBnB,EAAIC,GAAS,IAAK,IAAKN,CAAG,EAChC,GAAI,CAACK,EAAG,MAAO,CAACL,CAAG,EAGnB,IAAMO,EAAMF,EAAE,IACRI,EAAiBJ,EAAE,KAAK,OAASU,GAAQV,EAAE,KAAMS,EAAK,EAAK,EAAI,CAAC,EAAE,EAExE,GAAI,MAAM,KAAKT,EAAE,GAAG,EAClB,QAASoB,EAAI,EAAGA,EAAIhB,EAAK,QAAUgB,EAAIX,EAAKW,IAAK,CAC/C,IAAMC,EAAYnB,EAAM,IAAMF,EAAE,KAAO,IAAMI,EAAKgB,CAAC,EACnDD,EAAW,KAAKE,CAAS,CAC3B,KACK,CACL,IAAMC,EAAoB,iCAAiC,KAAKtB,EAAE,IAAI,EAChEuB,EAAkB,uCAAuC,KAC7DvB,EAAE,IAAI,EAEFwB,EAAaF,GAAqBC,EAClCE,EAAYzB,EAAE,KAAK,QAAQ,GAAG,GAAK,EACzC,GAAI,CAACwB,GAAc,CAACC,EAElB,OAAIzB,EAAE,KAAK,MAAM,YAAY,GAC3BL,EAAMK,EAAE,IAAM,IAAMA,EAAE,KAAOpB,GAAWoB,EAAE,KACnCU,GAAQf,EAAKc,EAAK,EAAI,GAExB,CAACd,CAAG,EAGb,IAAI+B,EACJ,GAAIF,EACFE,EAAI1B,EAAE,KAAK,MAAM,MAAM,UAEvB0B,EAAI5B,GAAgBE,EAAE,IAAI,EACtB0B,EAAE,SAAW,GAAKA,EAAE,CAAC,IAAM,SAE7BA,EAAIhB,GAAQgB,EAAE,CAAC,EAAGjB,EAAK,EAAK,EAAE,IAAIE,EAAO,EAGrCe,EAAE,SAAW,GACf,OAAOtB,EAAK,IAAIC,GAAKL,EAAE,IAAM0B,EAAE,CAAC,EAAIrB,CAAC,EAQ3C,IAAIsB,EAEJ,GAAIH,GAAcE,EAAE,CAAC,IAAM,QAAaA,EAAE,CAAC,IAAM,OAAW,CAC1D,IAAME,EAAIlC,GAAQgC,EAAE,CAAC,CAAC,EAChBV,EAAItB,GAAQgC,EAAE,CAAC,CAAC,EAChBG,EAAQ,KAAK,IAAIH,EAAE,CAAC,EAAE,OAAQA,EAAE,CAAC,EAAE,MAAM,EAC3CI,EACFJ,EAAE,SAAW,GAAKA,EAAE,CAAC,IAAM,OAAY,KAAK,IAAIhC,GAAQgC,EAAE,CAAC,CAAC,CAAC,EAAI,EAC/DK,EAAOjB,GACKE,EAAIY,IAElBE,GAAQ,GACRC,EAAOd,IAET,IAAMe,EAAMN,EAAE,KAAKd,EAAQ,EAE3Be,EAAI,CAAA,EAEJ,QAASZ,EAAIa,EAAGG,EAAKhB,EAAGC,CAAC,EAAGD,GAAKe,EAAM,CACrC,IAAIG,EACJ,GAAIV,EACFU,EAAI,OAAO,aAAalB,CAAC,EACrBkB,IAAM,OACRA,EAAI,YAGNA,EAAI,OAAOlB,CAAC,EACRiB,EAAK,CACP,IAAME,EAAOL,EAAQI,EAAE,OACvB,GAAIC,EAAO,EAAG,CACZ,IAAMC,EAAI,IAAI,MAAMD,EAAO,CAAC,EAAE,KAAK,GAAG,EAClCnB,EAAI,EACNkB,EAAI,IAAME,EAAIF,EAAE,MAAM,CAAC,EAEvBA,EAAIE,EAAIF,CAEZ,CACF,CAEFN,EAAE,KAAKM,CAAC,CACV,CACF,KAAO,CACLN,EAAI,CAAA,EAEJ,QAASS,EAAI,EAAGA,EAAIV,EAAE,OAAQU,IAC5BT,EAAE,KAAK,MAAMA,EAAGjB,GAAQgB,EAAEU,CAAC,EAAa3B,EAAK,EAAK,CAAC,CAEvD,CAEA,QAAS2B,EAAI,EAAGA,EAAIT,EAAE,OAAQS,IAC5B,QAAShB,EAAI,EAAGA,EAAIhB,EAAK,QAAUe,EAAW,OAASV,EAAKW,IAAK,CAC/D,IAAMC,EAAYnB,EAAMyB,EAAES,CAAC,EAAIhC,EAAKgB,CAAC,GACjC,CAACF,GAASM,GAAcH,IAC1BF,EAAW,KAAKE,CAAS,CAE7B,CAEJ,CAEA,OAAOF,CACT,CChOO,IAAMkB,GACXC,GAC6B,CAC7B,GAAI,OAAOA,GAAY,SACrB,MAAM,IAAI,UAAU,iBAAiB,EAGvC,GAAIA,EAAQ,OAAS,MACnB,MAAM,IAAI,UAAU,qBAAqB,CAE7C,ECPA,IAAMC,GACJ,CACE,YAAa,CAAC,uBAAwB,EAAI,EAC1C,YAAa,CAAC,gBAAiB,EAAI,EACnC,YAAa,CAAC,cAAyB,EAAK,EAC5C,YAAa,CAAC,aAAc,EAAI,EAChC,YAAa,CAAC,UAAW,EAAI,EAC7B,YAAa,CAAC,UAAW,EAAI,EAC7B,YAAa,CAAC,eAAgB,GAAM,EAAI,EACxC,YAAa,CAAC,UAAW,EAAI,EAC7B,YAAa,CAAC,SAAU,EAAI,EAC5B,YAA[·...·truncated·by·diffoscope;·len:·27669,·SHA:·cb0438e356e79318bbee90f2033fa10c09166f23d5c6480020d51068fa809b8d·...·]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",
3 ····"names":·[3 ····"names":·[
4 ········"balanced",4 ········"balanced",
5 ········"a",5 ········"a",
6 ········"b",6 ········"b",
7 ········"str",7 ········"str",
8 ········"ma",8 ········"ma",
9 ········"maybeMatch",9 ········"maybeMatch",
Offset 246, 14 lines modifiedOffset 246, 15 lines modified
246 ········"expand",246 ········"expand",
247 ········"makeRe",247 ········"makeRe",
248 ········"match",248 ········"match",
249 ········"mm",249 ········"mm",
250 ········"globMagic",250 ········"globMagic",
251 ········"regExpEscape",251 ········"regExpEscape",
252 ········"s",252 ········"s",
 253 ········"awe",
253 ········"part",254 ········"part",
254 ········"_",255 ········"_",
255 ········"args",256 ········"args",
256 ········"rawGlobParts",257 ········"rawGlobParts",
257 ········"set",258 ········"set",
258 ········"__",259 ········"__",
259 ········"isUNC",260 ········"isUNC",
Offset 986, 16 lines modifiedOffset 987, 16 lines modified
986 ········"sync",987 ········"sync",
987 ········"glob",988 ········"glob",
988 ········"hasMagic",989 ········"hasMagic",
989 ········"escape",990 ········"escape",
990 ········"unescape"991 ········"unescape"
991 ····],992 ····],
992 ····"sources":·[993 ····"sources":·[
993 ········"../../node_modules/@isaacs/balanced-match/src/index.ts",994 ········"../../node_modules/minimatch/node_modules/balanced-match/src/index.ts",
994 ········"../../node_modules/@isaacs/brace-expansion/src/index.ts",995 ········"../../node_modules/minimatch/node_modules/brace-expansion/src/index.ts",
995 ········"../../node_modules/minimatch/src/assert-valid-pattern.ts",996 ········"../../node_modules/minimatch/src/assert-valid-pattern.ts",
996 ········"../../node_modules/minimatch/src/brace-expressions.ts",997 ········"../../node_modules/minimatch/src/brace-expressions.ts",
997 ········"../../node_modules/minimatch/src/unescape.ts",998 ········"../../node_modules/minimatch/src/unescape.ts",
998 ········"../../node_modules/minimatch/src/ast.ts",999 ········"../../node_modules/minimatch/src/ast.ts",
999 ········"../../node_modules/minimatch/src/escape.ts",1000 ········"../../node_modules/minimatch/src/escape.ts",
1000 ········"../../node_modules/minimatch/src/index.ts",1001 ········"../../node_modules/minimatch/src/index.ts",
1001 ········"../../src/glob.ts",1002 ········"../../src/glob.ts",
Offset 1007, 21 lines modifiedOffset 1008, 21 lines modified
1007 ········"../../src/processor.ts",1008 ········"../../src/processor.ts",
1008 ········"../../src/walker.ts",1009 ········"../../src/walker.ts",
1009 ········"../../src/has-magic.ts",1010 ········"../../src/has-magic.ts",
1010 ········"../../src/index.ts"1011 ········"../../src/index.ts"
1011 ····],1012 ····],
1012 ····"sourcesContent":·[1013 ····"sourcesContent":·[
1013 ········"export·const·balanced·=·(\n··a:·string·|·RegExp,\n··b:·string·|·RegExp,\n··str:·string,\n)·=>·{\n··const·ma·=·a·instanceof·RegExp·?·maybeMatch(a,·str)·:·a\n··const·mb·=·b·instanceof·RegExp·?·maybeMatch(b,·str)·:·b\n\n··const·r·=·ma·!==·null·&&·mb·!=·null·&&·range(ma,·mb,·str)\n\n··return·(\n····r·&&·{\n······start:·r[0],\n······end:·r[1],\n······pre:·str.slice(0,·r[0]),\n······body:·str.slice(r[0]·+·ma.length,·r[1]),\n······post:·str.slice(r[1]·+·mb.length),\n····}\n··)\n}\n\nconst·maybeMatch·=·(reg:·RegExp,·str:·string)·=>·{\n··const·m·=·str.match(reg)\n··return·m·?·m[0]·:·null\n}\n\nexport·const·range·=·(\n··a:·string,\n··b:·string,\n··str:·string,\n):·undefined·|·[number,·number]·=>·{\n··let·begs:·number[],\n····beg:·number·|·undefined,\n····left:·number,\n····right:·number·|·undefined·=·undefined,\n····result:·undefined·|·[number,·number]\n··let·ai·=·str.indexOf(a)\n··let·bi·=·str.indexOf(b,·ai·+·1)\n··let·i·=·ai\n\n··if·(ai·>=·0·&&·bi·>·0)·{\n····if·(a·===·b)·{\n······return·[ai,·bi]\n····}\n····begs·=·[]\n····left·=·str.length\n\n····while·(i·>=·0·&&·!result)·{\n······if·(i·===·ai)·{\n········begs.push(i)\n········ai·=·str.indexOf(a,·i·+·1)\n······}·else·if·(begs.length·===·1)·{\n········const·r·=·begs.pop()\n········if·(r·!==·undefined)·result·=·[r,·bi]\n······}·else·{\n········beg·=·begs.pop()\n········if·(beg·!==·undefined·&&·beg·<·left)·{\n··········left·=·beg\n··········right·=·bi\n········}\n\n········bi·=·str.indexOf(b,·i·+·1)\n······}\n\n······i·=·ai·<·bi·&&·ai·>=·0·?·ai·:·bi\n····}\n\n····if·(begs.length·&&·right·!==·undefined)·{\n······result·=·[left,·right]\n····}\n··}\n\n··return·result\n}\n",1014 ········"export·const·balanced·=·(\n··a:·string·|·RegExp,\n··b:·string·|·RegExp,\n··str:·string,\n)·=>·{\n··const·ma·=·a·instanceof·RegExp·?·maybeMatch(a,·str)·:·a\n··const·mb·=·b·instanceof·RegExp·?·maybeMatch(b,·str)·:·b\n\n··const·r·=·ma·!==·null·&&·mb·!=·null·&&·range(ma,·mb,·str)\n\n··return·(\n····r·&&·{\n······start:·r[0],\n······end:·r[1],\n······pre:·str.slice(0,·r[0]),\n······body:·str.slice(r[0]·+·ma.length,·r[1]),\n······post:·str.slice(r[1]·+·mb.length),\n····}\n··)\n}\n\nconst·maybeMatch·=·(reg:·RegExp,·str:·string)·=>·{\n··const·m·=·str.match(reg)\n··return·m·?·m[0]·:·null\n}\n\nexport·const·range·=·(\n··a:·string,\n··b:·string,\n··str:·string,\n):·undefined·|·[number,·number]·=>·{\n··let·begs:·number[],\n····beg:·number·|·undefined,\n····left:·number,\n····right:·number·|·undefined·=·undefined,\n····result:·undefined·|·[number,·number]\n··let·ai·=·str.indexOf(a)\n··let·bi·=·str.indexOf(b,·ai·+·1)\n··let·i·=·ai\n\n··if·(ai·>=·0·&&·bi·>·0)·{\n····if·(a·===·b)·{\n······return·[ai,·bi]\n····}\n····begs·=·[]\n····left·=·str.length\n\n····while·(i·>=·0·&&·!result)·{\n······if·(i·===·ai)·{\n········begs.push(i)\n········ai·=·str.indexOf(a,·i·+·1)\n······}·else·if·(begs.length·===·1)·{\n········const·r·=·begs.pop()\n········if·(r·!==·undefined)·result·=·[r,·bi]\n······}·else·{\n········beg·=·begs.pop()\n········if·(beg·!==·undefined·&&·beg·<·left)·{\n··········left·=·beg\n··········right·=·bi\n········}\n\n········bi·=·str.indexOf(b,·i·+·1)\n······}\n\n······i·=·ai·<·bi·&&·ai·>=·0·?·ai·:·bi\n····}\n\n····if·(begs.length·&&·right·!==·undefined)·{\n······result·=·[left,·right]\n····}\n··}\n\n··return·result\n}\n",
1014 ········"import·{·balanced·}·from·'@isaacs/balanced-match'\n\nconst·escSlash·=·'\\0SLASH'·+·Math.random()·+·'\\0'\nconst·escOpen·=·'\\0OPEN'·+·Math.random()·+·'\\0'\nconst·escClose·=·'\\0CLOSE'·+·Math.random()·+·'\\0'\nconst·escComma·=·'\\0COMMA'·+·Math.random()·+·'\\0'\nconst·escPeriod·=·'\\0PERIOD'·+·Math.random()·+·'\\0'\nconst·escSlashPattern·=·new·RegExp(escSlash,·'g')\nconst·escOpenPattern·=·new·RegExp(escOpen,·'g')\nconst·escClosePattern·=·new·RegExp(escClose,·'g')\nconst·escCommaPattern·=·new·RegExp(escComma,·'g')\nconst·escPeriodPattern·=·new·RegExp(escPeriod,·'g')\nconst·slashPattern·=·/\\\\\\\\/g\nconst·openPattern·=·/\\\\{/g\nconst·closePattern·=·/\\\\}/g\nconst·commaPattern·=·/\\\\,/g\nconst·periodPattern·=·/\\\\./g\n\nexport·const·EXPANSION_MAX·=·100_000\n\nfunction·numeric(str:·string)·{\n··return·!isNaN(str·as·any)·?·parseInt(str,·10)·:·str.charCodeAt(0)\n}\n\nfunction·escapeBraces(str:·string)·{\n··return·str\n····.replace(slashPattern,·escSlash)\n····.replace(openPattern,·escOpen)\n····.replace(closePattern,·escClose)\n····.replace(commaPattern,·escComma)\n····.replace(periodPattern,·escPeriod)\n}\n\nfunction·unescapeBraces(str:·string)·{\n··return·str\n····.replace(escSlashPattern,·'\\\\')\n····.replace(escOpenPattern,·'{')\n····.replace(escClosePattern,·'}')\n····.replace(escCommaPattern,·',')\n····.replace(escPeriodPattern,·'.')\n}\n\n/**\n·*·Basically·just·str.split(\",\"),·but·handling·cases\n·*·where·we·have·nested·braced·sections,·which·should·be\n·*·treated·as·individual·members,·like·{a,{b,c},d}\n·*/\nfunction·parseCommaParts(str:·string)·{\n··if·(!str)·{\n····return·['']\n··}\n\n··const·parts:·string[]·=·[]\n··const·m·=·balanced('{',·'}',·str)\n\n··if·(!m)·{\n····return·str.split(',')\n··}\n\n··const·{·pre,·body,·post·}·=·m\n··const·p·=·pre.split(',')\n\n··p[p.length·-·1]·+=·'{'·+·body·+·'}'\n··const·postParts·=·parseCommaParts(post)\n··if·(post.length)·{\n····;(p[p.length·-·1]·as·string)·+=·postParts.shift()\n····p.push.apply(p,·postParts)\n··}\n\n··parts.push.apply(parts,·p)\n\n··return·parts\n}\n\nexport·type·BraceExpansionOptions·=·{\n··max?:·number\n}\n\nexport·function·expand(str:·string,·options:·BraceExpansionOptions·=·{})·{\n··if·(!str)·{\n····return·[]\n··}\n\n··const·{·max·=·EXPANSION_MAX·}·=·options\n\n··//·I·don't·know·why·Bash·4.3·does·this,·but·it·does.\n··//·Anything·starting·with·{}·will·have·the·first·two·bytes·preserved\n··//·but·*only*·at·the·top·level,·so·{},a}b·will·not·expand·to·anything,\n··//·but·a{},b}c·will·be·expanded·to·[a}c,abc].\n··//·One·could·argue·that·this·is·a·bug·in·Bash,·but·since·the·goal·of\n··//·this·module·is·to·match·Bash's·rules,·we·escape·a·leading·{}\n··if·(str.slice(0,·2)·===·'{}')·{\n····str·=·'\\\\{\\\\}'·+·str.slice(2)\n··}\n\n··return·expand_(escapeBraces(str),·max,·true).map(unescapeBraces)\n}\n\nfunction·embrace(str:·string)·{\n··return·'{'·+·str·+·'}'\n}\n\nfunction·isPadded(el:·string)·{\n··return·/^-?0\\d/.test(el)\n}\n\nfunction·lte(i:·number,·y:·number)·{\n··return·i·<=·y\n}\n\nfunction·gte(i:·number,·y:·number)·{\n··return·i·>=·y\n}\n\nfunction·expand_(str:·string,·max:·number,·isTop:·boolean):·string[]·{\n··/**·@type·{string[]}·*/\n··const·expansions:·string[]·=·[]\n\n··const·m·=·balanced('{',·'}',·str)\n··if·(!m)·return·[str]\n\n··//·no·need·to·expand·pre,·since·it·is·guaranteed·to·be·free·of·brace-sets\n··const·pre·=·m.pre\n··const·post:·string[]·=·m.post.length·?·expand_(m.post,·max,·false)·:·['']\n\n··if·(/\\$$/.test(m.pre))·{\n····for·(let·k·=·0;·k·<·post.length·&&·k·<·max;·k++)·{\n······const·expansion·=·pre·+·'{'·+·m.body·+·'}'·+·post[k]\n······expansions.push(expansion)\n····}\n··}·else·{\n····const·isNumericSequence·=·/^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body)\n····const·isAlphaSequence·=·/^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(\n······m.body,\n····)\n····const·isSequence·=·isNumericSequence·||·isAlphaSequence\n····const·isOptions·=·m.body.indexOf(',')·>=·0\n····if·(!isSequence·&&·!isOptions)·{\n······//·{a},b}\n······if·(m.post.match(/,(?!,).*\\}/))·{\n········str·=·m.pre·+·'{'·+·m.body·+·escClose·+·m.post\n········return·expand_(str,·max,·true)\n······}\n······return·[str]\n····}\n\n····let·n:·string[]\n····if·(isSequence)·{\n······n·=·m.body.split(/\\.\\./)\n····}·else·{\n······n·=·parseCommaParts(m.body)\n······if·(n.length·===·1·&&·n[0]·!==·undefined)·{\n········//·x{{a,b}}y·==>·x{a}y·x{b}y\n········n·=·expand_(n[0],·max,·false).map(embrace)\n········//XXX·is·this·necessary?·Can't·seem·to·hit·it·in·tests.\n········/*·c8·ignore·start·*/\n········if·(n.length·===·1)·{\n··········return·post.map(p·=>·m.pre·+·n[0]·+·p)\n········}\n········/*·c8·ignore·stop·*/\n······}\n····}\n\n····//·at·this·point,·n·is·the·parts,·and·we·know·it's·not·a·comma·set\n····//·with·a·single·entry.\n····let·N:·string[]\n\n····if·(isSequence·&&·n[0]·!==·undefined·&&·n[1]·!==·undefined)·{\n······const·x·=·numeric(n[0])\n······const·y·=·numeric(n[1])\n······const·width·=·Math.max(n[0].length,·n[1].length)\n······let·incr·=\n········n.length·===·3·&&·n[2]·!==·undefined·?·Math.abs(numeric(n[2]))·:·1\n······let·test·=·lte\n······const·reverse·=·y·<·x\n······if·(reverse)·{\n········incr·*=·-1\n········test·=·gte\n······}\n······const·pad·=·n.some(isPadded)\n\n······N·=·[]\n\n······for·(let·i·=·x;·test(i,·y);·i·+=·incr)·{\n········let·c\n········if·(isAlphaSequence)·{\n··········c·=·String.fromCharCode(i)\n··········if·(c·===·'\\\\')·{\n············c·=·''\n··········}\n········}·else·{\n··········c·=·String(i)\n··········if·(pad)·{\n············const·need·=·width·-·c.length\n············if·(need·>·0)·{\n··············const·z·=·new·Array(need·+·1).join('0')\n··············if·(i·<·0)·{\n················c·=·'-'·+·z·+·c.slice(1)\n··············}·else·{\n················c·=·z·+·c\n··············}\n············}\n··········}\n········}\n········N.push(c)\n······}\n····}·else·{\n······N·=·[]\n\n······for·(let·j·=·0;·j·<·n.length;·j++)·{\n········N.push.apply(N,·expand_(n[j]·as·string,·max,·false))\n······}\n····}\n\n····for·(let·j·=·0;·j·<·N.length;·j++)·{\n······for·(let·k·=·0;·k·<·post.length·&&·expansions.length·<·max;·k++)·{\n········const·expansion·=·pre·+·N[j]·+·post[k]\n········if·(!isTop·||·isSequence·||·expansion)·{\n··········expansions.push(expansion)\n········}\n······}\n····}\n··}\n\n··return·expansions\n}\n",1015 ········"import·{·balanced·}·from·'balanced-match'\n\nconst·escSlash·=·'\\0SLASH'·+·Math.random()·+·'\\0'\nconst·escOpen·=·'\\0OPEN'·+·Math.random()·+·'\\0'\nconst·escClose·=·'\\0CLOSE'·+·Math.random()·+·'\\0'\nconst·escComma·=·'\\0COMMA'·+·Math.random()·+·'\\0'\nconst·escPeriod·=·'\\0PERIOD'·+·Math.random()·+·'\\0'\nconst·escSlashPattern·=·new·RegExp(escSlash,·'g')\nconst·escOpenPattern·=·new·RegExp(escOpen,·'g')\nconst·escClosePattern·=·new·RegExp(escClose,·'g')\nconst·escCommaPattern·=·new·RegExp(escComma,·'g')\nconst·escPeriodPattern·=·new·RegExp(escPeriod,·'g')\nconst·slashPattern·=·/\\\\\\\\/g\nconst·openPattern·=·/\\\\{/g\nconst·closePattern·=·/\\\\}/g\nconst·commaPattern·=·/\\\\,/g\nconst·periodPattern·=·/\\\\./g\n\nexport·const·EXPANSION_MAX·=·100_000\n\nfunction·numeric(str:·string)·{\n··return·!isNaN(str·as·any)·?·parseInt(str,·10)·:·str.charCodeAt(0)\n}\n\nfunction·escapeBraces(str:·string)·{\n··return·str\n····.replace(slashPattern,·escSlash)\n····.replace(openPattern,·escOpen)\n····.replace(closePattern,·escClose)\n····.replace(commaPattern,·escComma)\n····.replace(periodPattern,·escPeriod)\n}\n\nfunction·unescapeBraces(str:·string)·{\n··return·str\n····.replace(escSlashPattern,·'\\\\')\n····.replace(escOpenPattern,·'{')\n····.replace(escClosePattern,·'}')\n····.replace(escCommaPattern,·',')\n····.replace(escPeriodPattern,·'.')\n}\n\n/**\n·*·Basically·just·str.split(\",\"),·but·handling·cases\n·*·where·we·have·nested·braced·sections,·which·should·be\n·*·treated·as·individual·members,·like·{a,{b,c},d}\n·*/\nfunction·parseCommaParts(str:·string)·{\n··if·(!str)·{\n····return·['']\n··}\n\n··const·parts:·string[]·=·[]\n··const·m·=·balanced('{',·'}',·str)\n\n··if·(!m)·{\n····return·str.split(',')\n··}\n\n··const·{·pre,·body,·post·}·=·m\n··const·p·=·pre.split(',')\n\n··p[p.length·-·1]·+=·'{'·+·body·+·'}'\n··const·postParts·=·parseCommaParts(post)\n··if·(post.length)·{\n····;(p[p.length·-·1]·as·string)·+=·postParts.shift()\n····p.push.apply(p,·postParts)\n··}\n\n··parts.push.apply(parts,·p)\n\n··return·parts\n}\n\nexport·type·BraceExpansionOptions·=·{\n··max?:·number\n}\n\nexport·function·expand(str:·string,·options:·BraceExpansionOptions·=·{})·{\n··if·(!str)·{\n····return·[]\n··}\n\n··const·{·max·=·EXPANSION_MAX·}·=·options\n\n··//·I·don't·know·why·Bash·4.3·does·this,·but·it·does.\n··//·Anything·starting·with·{}·will·have·the·first·two·bytes·preserved\n··//·but·*only*·at·the·top·level,·so·{},a}b·will·not·expand·to·anything,\n··//·but·a{},b}c·will·be·expanded·to·[a}c,abc].\n··//·One·could·argue·that·this·is·a·bug·in·Bash,·but·since·the·goal·of\n··//·this·module·is·to·match·Bash's·rules,·we·escape·a·leading·{}\n··if·(str.slice(0,·2)·===·'{}')·{\n····str·=·'\\\\{\\\\}'·+·str.slice(2)\n··}\n\n··return·expand_(escapeBraces(str),·max,·true).map(unescapeBraces)\n}\n\nfunction·embrace(str:·string)·{\n··return·'{'·+·str·+·'}'\n}\n\nfunction·isPadded(el:·string)·{\n··return·/^-?0\\d/.test(el)\n}\n\nfunction·lte(i:·number,·y:·number)·{\n··return·i·<=·y\n}\n\nfunction·gte(i:·number,·y:·number)·{\n··return·i·>=·y\n}\n\nfunction·expand_(str:·string,·max:·number,·isTop:·boolean):·string[]·{\n··/**·@type·{string[]}·*/\n··const·expansions:·string[]·=·[]\n\n··const·m·=·balanced('{',·'}',·str)\n··if·(!m)·return·[str]\n\n··//·no·need·to·expand·pre,·since·it·is·guaranteed·to·be·free·of·brace-sets\n··const·pre·=·m.pre\n··const·post:·string[]·=·m.post.length·?·expand_(m.post,·max,·false)·:·['']\n\n··if·(/\\$$/.test(m.pre))·{\n····for·(let·k·=·0;·k·<·post.length·&&·k·<·max;·k++)·{\n······const·expansion·=·pre·+·'{'·+·m.body·+·'}'·+·post[k]\n······expansions.push(expansion)\n····}\n··}·else·{\n····const·isNumericSequence·=·/^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body)\n····const·isAlphaSequence·=·/^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(\n······m.body,\n····)\n····const·isSequence·=·isNumericSequence·||·isAlphaSequence\n····const·isOptions·=·m.body.indexOf(',')·>=·0\n····if·(!isSequence·&&·!isOptions)·{\n······//·{a},b}\n······if·(m.post.match(/,(?!,).*\\}/))·{\n········str·=·m.pre·+·'{'·+·m.body·+·escClose·+·m.post\n········return·expand_(str,·max,·true)\n······}\n······return·[str]\n····}\n\n····let·n:·string[]\n····if·(isSequence)·{\n······n·=·m.body.split(/\\.\\./)\n····}·else·{\n······n·=·parseCommaParts(m.body)\n······if·(n.length·===·1·&&·n[0]·!==·undefined)·{\n········//·x{{a,b}}y·==>·x{a}y·x{b}y\n········n·=·expand_(n[0],·max,·false).map(embrace)\n········//XXX·is·this·necessary?·Can't·seem·to·hit·it·in·tests.\n········/*·c8·ignore·start·*/\n········if·(n.length·===·1)·{\n··········return·post.map(p·=>·m.pre·+·n[0]·+·p)\n········}\n········/*·c8·ignore·stop·*/\n······}\n····}\n\n····//·at·this·point,·n·is·the·parts,·and·we·know·it's·not·a·comma·set\n····//·with·a·single·entry.\n····let·N:·string[]\n\n····if·(isSequence·&&·n[0]·!==·undefined·&&·n[1]·!==·undefined)·{\n······const·x·=·numeric(n[0])\n······const·y·=·numeric(n[1])\n······const·width·=·Math.max(n[0].length,·n[1].length)\n······let·incr·=\n········n.length·===·3·&&·n[2]·!==·undefined·?·Math.abs(numeric(n[2]))·:·1\n······let·test·=·lte\n······const·reverse·=·y·<·x\n······if·(reverse)·{\n········incr·*=·-1\n········test·=·gte\n······}\n······const·pad·=·n.some(isPadded)\n\n······N·=·[]\n\n······for·(let·i·=·x;·test(i,·y);·i·+=·incr)·{\n········let·c\n········if·(isAlphaSequence)·{\n··········c·=·String.fromCharCode(i)\n··········if·(c·===·'\\\\')·{\n············c·=·''\n··········}\n········}·else·{\n··········c·=·String(i)\n··········if·(pad)·{\n············const·need·=·width·-·c.length\n············if·(need·>·0)·{\n··············const·z·=·new·Array(need·+·1).join('0')\n··············if·(i·<·0)·{\n················c·=·'-'·+·z·+·c.slice(1)\n··············}·else·{\n················c·=·z·+·c\n··············}\n············}\n··········}\n········}\n········N.push(c)\n······}\n····}·else·{\n······N·=·[]\n\n······for·(let·j·=·0;·j·<·n.length;·j++)·{\n········N.push.apply(N,·expand_(n[j]·as·string,·max,·false))\n······}\n····}\n\n····for·(let·j·=·0;·j·<·N.length;·j++)·{\n······for·(let·k·=·0;·k·<·post.length·&&·expansions.length·<·max;·k++)·{\n········const·expansion·=·pre·+·N[j]·+·post[k]\n········if·(!isTop·||·isSequence·||·expansion)·{\n··········expansions.push(expansion)\n········}\n······}\n····}\n··}\n\n··return·expansions\n}\n",
1015 ········"const·MAX_PATTERN_LENGTH·=·1024·*·64\nexport·const·assertValidPattern:·(pattern:·any)·=>·void·=·(\n··pattern:·any,\n):·asserts·pattern·is·string·=>·{\n··if·(typeof·pattern·!==·'string')·{\n····throw·new·TypeError('invalid·pattern')\n··}\n\n··if·(pattern.length·>·MAX_PATTERN_LENGTH)·{\n····throw·new·TypeError('pattern·is·too·long')\n··}\n}\n",1016 ········"const·MAX_PATTERN_LENGTH·=·1024·*·64\nexport·const·assertValidPattern:·(pattern:·any)·=>·void·=·(\n··pattern:·any,\n):·asserts·pattern·is·string·=>·{\n··if·(typeof·pattern·!==·'string')·{\n····throw·new·TypeError('invalid·pattern')\n··}\n\n··if·(pattern.length·>·MAX_PATTERN_LENGTH)·{\n····throw·new·TypeError('pattern·is·too·long')\n··}\n}\n",
1016 ········"//·translate·the·various·posix·character·classes·into·unicode·properties\n//·this·works·across·all·unicode·locales\n\n//·{·<posix·class>:·[<translation>,·/u·flag·required,·negated]\nconst·posixClasses:·{·[k:·string]:·[e:·string,·u:·boolean,·n?:·boolean]·}·=·{\n··'[:alnum:]':·['\\\\p{L}\\\\p{Nl}\\\\p{Nd}',·true],\n··'[:alpha:]':·['\\\\p{L}\\\\p{Nl}',·true],\n··'[:ascii:]':·['\\\\x'·+·'00-\\\\x'·+·'7f',·false],\n··'[:blank:]':·['\\\\p{Zs}\\\\t',·true],\n··'[:cntrl:]':·['\\\\p{Cc}',·true],\n··'[:digit:]':·['\\\[·...·truncated·by·diffoscope;·len:·4898,·SHA:·13a1dfc74d3273d3922499c68d9adc9c371dce365b5f6b03f6a9d6f42d6f20ad·...·]····:·snegs\n\n··return·[comb,·uflag,·endPos·-·pos,·true]\n}\n",1017 ········"//·translate·the·various·posix·character·classes·into·unicode·properties\n//·this·works·across·all·unicode·locales\n\n//·{·<posix·class>:·[<translation>,·/u·flag·required,·negated]\nconst·posixClasses:·{·[k:·string]:·[e:·string,·u:·boolean,·n?:·boolean]·}·=\n··{\n····'[:alnum:]':·['\\\\p{L}\\\\p{Nl}\\\\p{Nd}',·true],\n····'[:alpha:]':·['\\\\p{L}\\\\p{Nl}',·true],\n····'[:ascii:]':·['\\\\x'·+·'00-\\\\x'·+·'7f',·false],\n····'[:blank:]':·['\\\\p{Zs}\\\\t',·true],\n····'[:cntrl:]':·['\\\\p{Cc}',·true],\n····'[:[·...·truncated·by·diffoscope;·len:·4909,·SHA:·c54fbd093a03e50b1156577f01ca078c2ac52f0cbcaa02a2ccf5b582d7da406b·...·]····:·snegs\n\n··return·[comb,·uflag,·endPos·-·pos,·true]\n}\n",
1017 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Un-escape·a·string·that·has·been·escaped·with·{@link·escape}.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}·option·is·used,·then\n·*·square-bracket·escapes·are·removed,·but·not·backslash·escapes.\n·*\n·*·For·example,·it·will·turn·the·string·`'[*]'`·into·`*`,·but·it·will·not\n·*·turn·`'\\\\*'`·into·`'*'`,·because·`\\`·is·a·path·separator·in\n·*·`windowsPathsNoEscape`·mode.\n·*\n·*·When·`windowsPathsNoEscape`·is·not·set,·then·both·square-bracket·escapes·and\n·*·backslash·escapes·are·removed.\n·*\n·*·Slashes·(and·backslashes·in·`windowsPathsNoEscape`·mode)·cannot·be·escaped\n·*·or·unescaped.\n·*\n·*·When·`magicalBraces`·is·not·set,·escapes·of·braces·(`{`·and·`}`)·will·not·be\n·*·unescaped.\n·*/\n\nexport·const·unescape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·true,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape\n······?·s.replace(/\\[([^\\/\\\\])\\]/g,·'$1')\n······:·s\n··········.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g,·'$1$2')\n··········.replace(/\\\\([^\\/])/g,·'$1')\n··}\n··return·windowsPathsNoEscape\n····?·s.replace(/\\[([^\\/\\\\{}])\\]/g,·'$1')\n····:·s\n········.replace(/((?!\\\\).|^)\\[([^\\/\\\\{}])\\]/g,·'$1$2')\n········.replace(/\\\\([^\\/{}])/g,·'$1')\n}\n",1018 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Un-escape·a·string·that·has·been·escaped·with·{@link·escape}.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}·option·is·used,·then\n·*·square-bracket·escapes·are·removed,·but·not·backslash·escapes.\n·*\n·*·For·example,·it·will·turn·the·string·`'[*]'`·into·`*`,·but·it·will·not\n·*·turn·`'\\\\*'`·into·`'*'`,·because·`\\`·is·a·path·separator·in\n·*·`windowsPathsNoEscape`·mode.\n·*\n·*·When·`windowsPathsNoEscape`·is·not·set,·then·both·square-bracket·escapes·and\n·*·backslash·escapes·are·removed.\n·*\n·*·Slashes·(and·backslashes·in·`windowsPathsNoEscape`·mode)·cannot·be·escaped\n·*·or·unescaped.\n·*\n·*·When·`magicalBraces`·is·not·set,·escapes·of·braces·(`{`·and·`}`)·will·not·be\n·*·unescaped.\n·*/\n\nexport·const·unescape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·true,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape·?\n········s.replace(/\\[([^\\/\\\\])\\]/g,·'$1')\n······:·s\n··········.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g,·'$1$2')\n··········.replace(/\\\\([^\\/])/g,·'$1')\n··}\n··return·windowsPathsNoEscape·?\n······s.replace(/\\[([^\\/\\\\{}])\\]/g,·'$1')\n····:·s\n········.replace(/((?!\\\\).|^)\\[([^\\/\\\\{}])\\]/g,·'$1$2')\n········.replace(/\\\\([^\\/{}])/g,·'$1')\n}\n",
1018 ········"//·parse·a·single·path·portion\n\nimport·{·parseClass·}·from·'./brace-expressions.js'\nimport·{·MinimatchOptions,·MMRegExp·}·from·'./index.js'\nimport·{·unescape·}·from·'./unescape.js'\n\n//·classes·[]·are·handled·by·the·parseClass·method\n//·for·positive·extglobs,·we·sub-parse·the·contents,·and·combine,\n//·with·the·appropriate·regexp·close.\n//·for·negative·extglobs,·we·sub-parse·the·contents,·but·then\n//·have·to·include·the·rest·of·the·pattern,·then·the·parent,·etc.,\n//·as·the·thing·that·cannot·be·because·RegExp·negative·lookaheads\n//·are·different·from·globs.\n//\n//·So·for·example:\n//·a@(i|w!(x|y)z|j)b·=>·^a(i|w((!?(x|y)zb).*)z|j)b$\n//···1···2·3···4·5·6······1···2····3···46······5·6\n//\n//·Assembling·the·extglob·requires·not·just·the·negated·patterns·themselves,\n//·but·also·anything·following·the·negative·patterns·up·to·the·boundary\n//·of·the·current·pattern,·plus·anything·following·in·the·parent·pattern.\n//\n//\n//·So,·first,·we·parse·the·string·into·an·AST·of·extglobs,·without·turning\n//·anything·into·regexps·yet.\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y']},·'z'],·['j']]},·'b']\n//\n//·Then,·for·all·the·negative·extglobs,·we·append·whatever·comes·after·in\n//·each·parent·as·their·tail\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y'],·'z',·'b'},·'z'],·['j']]},·'b']\n//\n//·Lastly,·we·turn·each·of·these·pieces·into·a·regexp,·and·join\n//\n//·································v-----·.*·because·there's·more·following,\n//·································v····v··otherwise,·.+·because·it·must·be\n//·································v····v··*something*·there.\n//·['^a',·{@·['i',·'w(?:(!?(?:x|y).*zb$).*)z',·'j'·]},·'b$']\n//···copy·what·follows·into·here--^^^^^\n//·['^a',·'(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)',·'b$']\n//·['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport·type·ExtglobType·=·'!'·|·'?'·|·'+'·|·'*'·|·'@'\nconst·types·=·new·Set<ExtglobType>(['!',·'?',·'+',·'*',·'@'])\nconst·isExtglobType·=·(c:·string):·c·is·ExtglobType·=>\n··types.has(c·as·ExtglobType)\n\n//·Patterns·that·get·prepended·to·bind·to·the·start·of·either·the\n//·entire·string,·or·just·a·single·path·portion,·to·prevent·dots\n//·and/or·traversal·patterns,·when·needed.\n//·Exts·don't·need·the·^·or·/·bit,·because·the·root·binds·that·already.\nconst·startNoTraversal·=·'(?!(?:^|/)\\\\.\\\\.?(?:$|/))'\nconst·startNoDot·=·'(?!\\\\.)'\n\n//·characters·that·indicate·a·start·of·pattern·needs·the·\"no·dots\"·bit,\n//·because·a·dot·*might*·be·matched.·(·is·not·in·the·list,·because·in\n//·the·case·of·a·child·extglob,·it·will·handle·the·prevention·itself.\nconst·addPatternStart·=·new·Set(['[',·'.'])\n//·cases·where·traversal·is·A-OK,·no·dot·prevention·needed\nconst·justDots·=·new·Set(['..',·'.'])\nconst·reSpecials·=·new·Set('().*{}+?[]^$\\\\!')\nconst·regExpEscape·=·(s:·string)·=>\n··s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,·'\\\\$&')\n\n//·any·single·thing·other·than·/\nconst·qmark·=·'[^/]'\n\n//·*·=>·any·number·of·characters\nconst·star·=·qmark·+·'*?'\n//·use·+·when·we·need·to·ensure·that·*something*·matches,·because·the·*·is\n//·the·only·thing·in·the·path·portion.\nconst·starNoEmpty·=·qmark·+·'+?'\n\n//·remove·the·\\·chars·that·we·added·if·we·end·up·doing·a·nonmagic·compare\n//·const·deslash·=·(s:·string)·=>·s.replace(/\\\\(.)/g,·'$1')\n\nexport·class·AST·{\n··type:·ExtglobType·|·null\n··readonly·#root:·AST\n\n··#hasMagic?:·boolean\n··#uflag:·boolean·=·false\n··#parts:·(string·|·AST)[]·=·[]\n··readonly·#parent?:·AST\n··readonly·#parentIndex:·number\n··#negs:·AST[]\n··#filledNegs:·boolean·=·false\n··#options:·MinimatchOptions\n··#toString?:·string\n··//·set·to·true·if·it's·an·extglob·with·no·children\n··//·(which·really·means·one·child·of·'')\n··#emptyExt:·boolean·=·false\n\n··constructor(\n····type:·ExtglobType·|·null,\n····parent?:·AST,\n····options:·MinimatchOptions·=·{},\n··)·{\n····this.type·=·type\n····//·extglobs·are·inherently·magical\n····if·(type)·this.#hasMagic·=·true\n····this.#parent·=·parent\n····this.#root·=·this.#parent·?·this.#parent.#root·:·this\n····this.#options·=·this.#root·===·this·?·options·:·this.#root.#options\n····this.#negs·=·this.#root·===·this·?·[]·:·this.#root.#negs\n····if·(type·===·'!'·&&·!this.#root.#filledNegs)·this.#negs.push(this)\n····this.#parentIndex·=·this.#parent·?·this.#parent.#parts.length·:·0\n··}\n\n··get·hasMagic():·boolean·|·undefined·{\n····/*·c8·ignore·start·*/\n····if·(this.#hasMagic·!==·undefined)·return·this.#hasMagic\n····/*·c8·ignore·stop·*/\n····for·(const·p·of·this.#parts)·{\n······if·(typeof·p·===·'string')·continue\n······if·(p.type·||·p.hasMagic)·return·(this.#hasMagic·=·true)\n····}\n····//·note:·will·be·undefined·until·we·generate·the·regexp·src·and·find·out\n····return·this.#hasMagic\n··}\n\n··//·reconstructs·the·pattern\n··toString():·string·{\n····if·(this.#toString·!==·undefined)·return·this.#toString\n····if·(!this.type)·{\n······return·(this.#toString·=·this.#parts.map(p·=>·String(p)).join(''))\n····}·else·{\n······return·(this.#toString·=\n········this.type·+·'('·+·this.#parts.map(p·=>·String(p)).join('|')·+·')')\n····}\n··}\n\n··#fillNegs()·{\n····/*·c8·ignore·start·*/\n····if·(this·!==·this.#root)·throw·new·Error('should·only·call·on·root')\n····if·(this.#filledNegs)·return·this\n····/*·c8·ignore·stop·*/\n\n····//·call·toString()·once·to·fill·this·out\n····this.toString()\n····this.#filledNegs·=·true\n····let·n:·AST·|·undefined\n····while·((n·=·this.#negs.pop()))·{\n······if·(n.type·!==·'!')·continue\n······//·walk·up·the·tree,·appending·everthing·that·comes·AFTER·parentIndex\n······let·p:·AST·|·undefined·=·n\n······let·pp·=·p.#parent\n······while·(pp)·{\n········for·(\n··········let·i·=·p.#parentIndex·+·1;\n··········!pp.type·&&·i·<·pp.#parts.length;\n··········i++\n········)·{\n··········for·(const·part·of·n.#parts)·{\n············/*·c8·ignore·start·*/\n············if·(typeof·part·===·'string')·{\n··············throw·new·Error('string·part·in·extglob·AST??')\n············}\n············/*·c8·ignore·stop·*/\n············part.copyIn(pp.#parts[i])\n··········}\n········}\n········p·=·pp\n········pp·=·p.#parent\n······}\n····}\n····return·this\n··}\n\n··push(...parts:·(string·|·AST)[])·{\n····for·(const·p·of·parts)·{\n······if·(p·===·'')·continue\n······/*·c8·ignore·start·*/\n······if·(typeof·p·!==·'string'·&&·!(p·instanceof·AST·&&·p.#parent·===·this))·{\n········throw·new·Error('invalid·part:·'·+·p)\n······}\n······/*·c8·ignore·stop·*/\n······this.#parts.push(p)\n····}\n··}\n\n··toJSON()·{\n····const·ret:·any[]·=\n······this.type·===·nu[·...·truncated·by·diffoscope;·len:·13851,·SHA:·e61762108f1a7decad6655bb52ba0836b806c0f15d4ccc03e4e7a1856470844c·...·]········:·`)${this.type}`\n······final·=·start·+·body·+·close\n····}\n····return·[\n······final,\n······unescape(body),\n······(this.#hasMagic·=·!!this.#hasMagic),\n······this.#uflag,\n····]\n··}\n\n··#partsToRegExp(dot:·boolean)·{\n····return·this.#parts\n······.map(p·=>·{\n········//·extglob·ASTs·should·only·contain·parent·ASTs\n········/*·c8·ignore·start·*/\n········if·(typeof·p·===·'string')·{\n··········throw·new·Error('string·type·in·extglob·ast??')\n········}\n········/*·c8·ignore·stop·*/\n········//·can·ignore·hasMagic,·because·extglobs·are·already·always·magic\n········const·[re,·_,·_hasMagic,·uflag]·=·p.toRegExpSource(dot)\n········this.#uflag·=·this.#uflag·||·uflag\n········return·re\n······})\n······.filter(p·=>·!(this.isStart()·&&·this.isEnd())·||·!!p)\n······.join('|')\n··}\n\n··static·#parseGlob(\n····glob:·string,\n····hasMagic:·boolean·|·undefined,\n····noEmpty:·boolean·=·false,\n··):·[re:·string,·body:·string,·hasMagic:·boolean,·uflag:·boolean]·{\n····let·escaping·=·false\n····let·re·=·''\n····let·uflag·=·false\n····for·(let·i·=·0;·i·<·glob.length;·i++)·{\n······const·c·=·glob.charAt(i)\n······if·(escaping)·{\n········escaping·=·false\n········re·+=·(reSpecials.has(c)·?·'\\\\'·:·'')·+·c\n········continue\n······}\n······if·(c·===·'\\\\')·{\n········if·(i·===·glob.length·-·1)·{\n··········re·+=·'\\\\\\\\'\n········}·else·{\n··········escaping·=·true\n········}\n········continue\n······}\n······if·(c·===·'[')·{\n········const·[src,·needUflag,·consumed,·magic]·=·parseClass(glob,·i)\n········if·(consumed)·{\n··········re·+=·src\n··········uflag·=·uflag·||·needUflag\n··········i·+=·consumed·-·1\n··········hasMagic·=·hasMagic·||·magic\n··········continue\n········}\n······}\n······if·(c·===·'*')·{\n········re·+=·noEmpty·&&·glob·===·'*'·?·starNoEmpty·:·star\n········hasMagic·=·true\n········continue\n······}\n······if·(c·===·'?')·{\n········re·+=·qmark\n········hasMagic·=·true\n········continue\n······}\n······re·+=·regExpEscape(c)\n····}\n····return·[re,·unescape(glob),·!!hasMagic,·uflag]\n··}\n}\n",1019 ········"//·parse·a·single·path·portion\n\nimport·{·parseClass·}·from·'./brace-expressions.js'\nimport·{·MinimatchOptions,·MMRegExp·}·from·'./index.js'\nimport·{·unescape·}·from·'./unescape.js'\n\n//·classes·[]·are·handled·by·the·parseClass·method\n//·for·positive·extglobs,·we·sub-parse·the·contents,·and·combine,\n//·with·the·appropriate·regexp·close.\n//·for·negative·extglobs,·we·sub-parse·the·contents,·but·then\n//·have·to·include·the·rest·of·the·pattern,·then·the·parent,·etc.,\n//·as·the·thing·that·cannot·be·because·RegExp·negative·lookaheads\n//·are·different·from·globs.\n//\n//·So·for·example:\n//·a@(i|w!(x|y)z|j)b·=>·^a(i|w((!?(x|y)zb).*)z|j)b$\n//···1···2·3···4·5·6······1···2····3···46······5·6\n//\n//·Assembling·the·extglob·requires·not·just·the·negated·patterns·themselves,\n//·but·also·anything·following·the·negative·patterns·up·to·the·boundary\n//·of·the·current·pattern,·plus·anything·following·in·the·parent·pattern.\n//\n//\n//·So,·first,·we·parse·the·string·into·an·AST·of·extglobs,·without·turning\n//·anything·into·regexps·yet.\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y']},·'z'],·['j']]},·'b']\n//\n//·Then,·for·all·the·negative·extglobs,·we·append·whatever·comes·after·in\n//·each·parent·as·their·tail\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y'],·'z',·'b'},·'z'],·['j']]},·'b']\n//\n//·Lastly,·we·turn·each·of·these·pieces·into·a·regexp,·and·join\n//\n//·································v-----·.*·because·there's·more·following,\n//·································v····v··otherwise,·.+·because·it·must·be\n//·································v····v··*something*·there.\n//·['^a',·{@·['i',·'w(?:(!?(?:x|y).*zb$).*)z',·'j'·]},·'b$']\n//···copy·what·follows·into·here--^^^^^\n//·['^a',·'(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)',·'b$']\n//·['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport·type·ExtglobType·=·'!'·|·'?'·|·'+'·|·'*'·|·'@'\nconst·types·=·new·Set<ExtglobType>(['!',·'?',·'+',·'*',·'@'])\nconst·isExtglobType·=·(c:·string):·c·is·ExtglobType·=>\n··types.has(c·as·ExtglobType)\n\n//·Patterns·that·get·prepended·to·bind·to·the·start·of·either·the\n//·entire·string,·or·just·a·single·path·portion,·to·prevent·dots\n//·and/or·traversal·patterns,·when·needed.\n//·Exts·don't·need·the·^·or·/·bit,·because·the·root·binds·that·already.\nconst·startNoTraversal·=·'(?!(?:^|/)\\\\.\\\\.?(?:$|/))'\nconst·startNoDot·=·'(?!\\\\.)'\n\n//·characters·that·indicate·a·start·of·pattern·needs·the·\"no·dots\"·bit,\n//·because·a·dot·*might*·be·matched.·(·is·not·in·the·list,·because·in\n//·the·case·of·a·child·extglob,·it·will·handle·the·prevention·itself.\nconst·addPatternStart·=·new·Set(['[',·'.'])\n//·cases·where·traversal·is·A-OK,·no·dot·prevention·needed\nconst·justDots·=·new·Set(['..',·'.'])\nconst·reSpecials·=·new·Set('().*{}+?[]^$\\\\!')\nconst·regExpEscape·=·(s:·string)·=>\n··s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,·'\\\\$&')\n\n//·any·single·thing·other·than·/\nconst·qmark·=·'[^/]'\n\n//·*·=>·any·number·of·characters\nconst·star·=·qmark·+·'*?'\n//·use·+·when·we·need·to·ensure·that·*something*·matches,·because·the·*·is\n//·the·only·thing·in·the·path·portion.\nconst·starNoEmpty·=·qmark·+·'+?'\n\n//·remove·the·\\·chars·that·we·added·if·we·end·up·doing·a·nonmagic·compare\n//·const·deslash·=·(s:·string)·=>·s.replace(/\\\\(.)/g,·'$1')\n\nexport·class·AST·{\n··type:·ExtglobType·|·null\n··readonly·#root:·AST\n\n··#hasMagic?:·boolean\n··#uflag:·boolean·=·false\n··#parts:·(string·|·AST)[]·=·[]\n··readonly·#parent?:·AST\n··readonly·#parentIndex:·number\n··#negs:·AST[]\n··#filledNegs:·boolean·=·false\n··#options:·MinimatchOptions\n··#toString?:·string\n··//·set·to·true·if·it's·an·extglob·with·no·children\n··//·(which·really·means·one·child·of·'')\n··#emptyExt:·boolean·=·false\n\n··constructor(\n····type:·ExtglobType·|·null,\n····parent?:·AST,\n····options:·MinimatchOptions·=·{},\n··)·{\n····this.type·=·type\n····//·extglobs·are·inherently·magical\n····if·(type)·this.#hasMagic·=·true\n····this.#parent·=·parent\n····this.#root·=·this.#parent·?·this.#parent.#root·:·this\n····this.#options·=·this.#root·===·this·?·options·:·this.#root.#options\n····this.#negs·=·this.#root·===·this·?·[]·:·this.#root.#negs\n····if·(type·===·'!'·&&·!this.#root.#filledNegs)·this.#negs.push(this)\n····this.#parentIndex·=·this.#parent·?·this.#parent.#parts.length·:·0\n··}\n\n··get·hasMagic():·boolean·|·undefined·{\n····/*·c8·ignore·start·*/\n····if·(this.#hasMagic·!==·undefined)·return·this.#hasMagic\n····/*·c8·ignore·stop·*/\n····for·(const·p·of·this.#parts)·{\n······if·(typeof·p·===·'string')·continue\n······if·(p.type·||·p.hasMagic)·return·(this.#hasMagic·=·true)\n····}\n····//·note:·will·be·undefined·until·we·generate·the·regexp·src·and·find·out\n····return·this.#hasMagic\n··}\n\n··//·reconstructs·the·pattern\n··toString():·string·{\n····if·(this.#toString·!==·undefined)·return·this.#toString\n····if·(!this.type)·{\n······return·(this.#toString·=·this.#parts.map(p·=>·String(p)).join(''))\n····}·else·{\n······return·(this.#toString·=\n········this.type·+·'('·+·this.#parts.map(p·=>·String(p)).join('|')·+·')')\n····}\n··}\n\n··#fillNegs()·{\n····/*·c8·ignore·start·*/\n····if·(this·!==·this.#root)·throw·new·Error('should·only·call·on·root')\n····if·(this.#filledNegs)·return·this\n····/*·c8·ignore·stop·*/\n\n····//·call·toString()·once·to·fill·this·out\n····this.toString()\n····this.#filledNegs·=·true\n····let·n:·AST·|·undefined\n····while·((n·=·this.#negs.pop()))·{\n······if·(n.type·!==·'!')·continue\n······//·walk·up·the·tree,·appending·everthing·that·comes·AFTER·parentIndex\n······let·p:·AST·|·undefined·=·n\n······let·pp·=·p.#parent\n······while·(pp)·{\n········for·(\n··········let·i·=·p.#parentIndex·+·1;\n··········!pp.type·&&·i·<·pp.#parts.length;\n··········i++\n········)·{\n··········for·(const·part·of·n.#parts)·{\n············/*·c8·ignore·start·*/\n············if·(typeof·part·===·'string')·{\n··············throw·new·Error('string·part·in·extglob·AST??')\n············}\n············/*·c8·ignore·stop·*/\n············part.copyIn(pp.#parts[i])\n··········}\n········}\n········p·=·pp\n········pp·=·p.#parent\n······}\n····}\n····return·this\n··}\n\n··push(...parts:·(string·|·AST)[])·{\n····for·(const·p·of·parts)·{\n······if·(p·===·'')·continue\n······/*·c8·ignore·start·*/\n······if·(\n········typeof·p·!==·'string'·&&\n········!(p·instanceof·AST·&&·p.#parent·===·this)\n······)·{\n········throw·new·Error('invalid·part:·'·+·p)\n······}\n······/*·c8·ignore·stop·*/\n······this.#parts.push(p)\n····}\n··}\n\n··toJSON()·{\n····const·ret:·any[[·...·truncated·by·diffoscope;·len:·13839,·SHA:·c03f87d94904207bdd65f1429cda15924b156fe87d650492b981186ea82c35d0·...·]········:·`)${this.type}`\n······final·=·start·+·body·+·close\n····}\n····return·[\n······final,\n······unescape(body),\n······(this.#hasMagic·=·!!this.#hasMagic),\n······this.#uflag,\n····]\n··}\n\n··#partsToRegExp(dot:·boolean)·{\n····return·this.#parts\n······.map(p·=>·{\n········//·extglob·ASTs·should·only·contain·parent·ASTs\n········/*·c8·ignore·start·*/\n········if·(typeof·p·===·'string')·{\n··········throw·new·Error('string·type·in·extglob·ast??')\n········}\n········/*·c8·ignore·stop·*/\n········//·can·ignore·hasMagic,·because·extglobs·are·already·always·magic\n········const·[re,·_,·_hasMagic,·uflag]·=·p.toRegExpSource(dot)\n········this.#uflag·=·this.#uflag·||·uflag\n········return·re\n······})\n······.filter(p·=>·!(this.isStart()·&&·this.isEnd())·||·!!p)\n······.join('|')\n··}\n\n··static·#parseGlob(\n····glob:·string,\n····hasMagic:·boolean·|·undefined,\n····noEmpty:·boolean·=·false,\n··):·[re:·string,·body:·string,·hasMagic:·boolean,·uflag:·boolean]·{\n····let·escaping·=·false\n····let·re·=·''\n····let·uflag·=·false\n····for·(let·i·=·0;·i·<·glob.length;·i++)·{\n······const·c·=·glob.charAt(i)\n······if·(escaping)·{\n········escaping·=·false\n········re·+=·(reSpecials.has(c)·?·'\\\\'·:·'')·+·c\n········continue\n······}\n······if·(c·===·'\\\\')·{\n········if·(i·===·glob.length·-·1)·{\n··········re·+=·'\\\\\\\\'\n········}·else·{\n··········escaping·=·true\n········}\n········continue\n······}\n······if·(c·===·'[')·{\n········const·[src,·needUflag,·consumed,·magic]·=·parseClass(glob,·i)\n········if·(consumed)·{\n··········re·+=·src\n··········uflag·=·uflag·||·needUflag\n··········i·+=·consumed·-·1\n··········hasMagic·=·hasMagic·||·magic\n··········continue\n········}\n······}\n······if·(c·===·'*')·{\n········re·+=·noEmpty·&&·glob·===·'*'·?·starNoEmpty·:·star\n········hasMagic·=·true\n········continue\n······}\n······if·(c·===·'?')·{\n········re·+=·qmark\n········hasMagic·=·true\n········continue\n······}\n······re·+=·regExpEscape(c)\n····}\n····return·[re,·unescape(glob),·!!hasMagic,·uflag]\n··}\n}\n",
1019 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Escape·all·magic·characters·in·a·glob·pattern.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}\n·*·option·is·used,·then·characters·are·escaped·by·wrapping·in·`[]`,·because\n·*·a·magic·character·wrapped·in·a·character·class·can·only·be·satisfied·by\n·*·that·exact·character.··In·this·mode,·`\\`·is·_not_·escaped,·because·it·is\n·*·not·interpreted·as·a·magic·character,·but·instead·as·a·path·separator.\n·*\n·*·If·the·{@link·MinimatchOptions.magicalBraces}·option·is·used,\n·*·then·braces·(`{`·and·`}`)·will·be·escaped.\n·*/\nexport·const·escape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·false,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··//·don't·need·to·escape·+@!·because·we·escape·the·parens\n··//·that·make·those·magic,·and·escaping·!·as·[!]·isn't·valid,\n··//·because·[!]]·is·a·valid·glob·class·meaning·not·']'.\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape\n······?·s.replace(/[?*()[\\]{}]/g,·'[$&]')\n······:·s.replace(/[?*()[\\]\\\\{}]/g,·'\\\\$&')\n··}\n··return·windowsPathsNoEscape\n····?·s.replace(/[?*()[\\]]/g,·'[$&]')\n····:·s.replace(/[?*()[\\]\\\\]/g,·'\\\\$&')\n}\n",1020 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Escape·all·magic·characters·in·a·glob·pattern.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}\n·*·option·is·used,·then·characters·are·escaped·by·wrapping·in·`[]`,·because\n·*·a·magic·character·wrapped·in·a·character·class·can·only·be·satisfied·by\n·*·that·exact·character.··In·this·mode,·`\\`·is·_not_·escaped,·because·it·is\n·*·not·interpreted·as·a·magic·character,·but·instead·as·a·path·separator.\n·*\n·*·If·the·{@link·MinimatchOptions.magicalBraces}·option·is·used,\n·*·then·braces·(`{`·and·`}`)·will·be·escaped.\n·*/\nexport·const·escape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·false,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··//·don't·need·to·escape·+@!·because·we·escape·the·parens\n··//·that·make·those·magic,·and·escaping·!·as·[!]·isn't·valid,\n··//·because·[!]]·is·a·valid·glob·class·meaning·not·']'.\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape·?\n········s.replace(/[?*()[\\]{}]/g,·'[$&]')\n······:·s.replace(/[?*()[\\]\\\\{}]/g,·'\\\\$&')\n··}\n··return·windowsPathsNoEscape·?\n······s.replace(/[?*()[\\]]/g,·'[$&]')\n····:·s.replace(/[?*()[\\]\\\\]/g,·'\\\\$&')\n}\n",
1020 ········"import·{·expand·}·from·'@isaacs/brace-expansion'\nimport·{·assertValidPattern·}·from·'./assert-valid-pattern.js'\nimport·{·AST,·ExtglobType·}·from·'./ast.js'\nimport·{·escape·}·from·'./escape.js'\nimport·{·unescape·}·from·'./unescape.js'\n\nexport·type·Platform·=\n··|·'aix'\n··|·[·...·truncated·by·diffoscope;·len:·33302,·SHA:·fbe1afcb1dc67843b89cf686da1470b3d1b6cdd1753e8d3bd989e06d87569cfb·...·]\n········})·as·(string·|·typeof·GLOBSTAR)[]\n········pp.forEach((p,·i)·=>·{\n··········const·next·=·pp[i·+·1]\n··········const·prev·=·pp[i·-·1]\n··········if·(p·!==·GLOBSTAR·||·prev·===·GLOBSTAR)·{\n············return\n··········}\n··········if·(prev·===·undefined)·{\n············if·(next·!==·undefined·&&·next·!==·GLOBSTAR)·{\n··············pp[i·+·1]·=·'(?:\\\\/|'·+·twoStar·+·'\\\\/)?'·+·next\n············}·else·{\n··············pp[i]·=·twoStar\n············}\n··········}·else·if·(next·===·undefined)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·')?'\n··········}·else·if·(next·!==·GLOBSTAR)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·'\\\\/)'·+·next\n············pp[i·+·1]·=·GLOBSTAR\n··········}\n········})\n········const·filtered·=·pp.filter(p·=>·p·!==·GLOBSTAR)\n\n········//·For·partial·matches,·we·need·to·make·the·pattern·match\n········//·any·prefix·of·the·full·path.·We·do·this·by·generating\n········//·alternative·patterns·that·match·progressively·longer·prefixes.\n········if·(this.partial·&&·filtered.length·>=·1)·{\n··········const·prefixes:·string[]·=·[]\n··········for·(let·i·=·1;·i·<=·filtered.length;·i++)·{\n············prefixes.push(filtered.slice(0,·i).join('/'))\n··········}\n··········return·'(?:'·+·prefixes.join('|')·+·')'\n········}\n\n········return·filtered.join('/')\n······})\n······.join('|')\n\n····//·need·to·wrap·in·parens·if·we·had·more·than·one·thing·with·|,\n····//·otherwise·only·the·first·will·be·anchored·to·^·and·the·last·to·$\n····const·[open,·close]·=·set.length·>·1·?·['(?:',·')']·:·['',·'']\n····//·must·match·entire·pattern\n····//·ending·in·a·*·or·**·will·make·it·less·strict.\n····re·=·'^'·+·open·+·re·+·close·+·'$'\n\n····//·In·partial·mode,·'/'·should·always·match·as·it's·a·valid·prefix·for·any·pattern\n····if·(this.partial)·{\n······re·=·'^(?:\\\\/|'·+·open·+·re.slice(1,·-1)·+·close·+·')$'\n····}\n\n····//·can·match·anything,·as·long·as·it's·not·this.\n····if·(this.negate)·re·=·'^(?!'·+·re·+·').+$'\n\n····try·{\n······this.regexp·=·new·RegExp(re,·[...flags].join(''))\n······/*·c8·ignore·start·*/\n····}·catch·(ex)·{\n······//·should·be·impossible\n······this.regexp·=·false\n····}\n····/*·c8·ignore·stop·*/\n····return·this.regexp\n··}\n\n··slashSplit(p:·string)·{\n····//·if·p·starts·with·//·on·windows,·we·preserve·that\n····//·so·that·UNC·paths·aren't·broken.··Otherwise,·any·number·of\n····//·/·characters·are·coalesced·into·one,·unless\n····//·preserveMultipleSlashes·is·set·to·true.\n····if·(this.preserveMultipleSlashes)·{\n······return·p.split('/')\n····}·else·if·(this.isWindows·&&·/^\\/\\/[^\\/]+/.test(p))·{\n······//·add·an·extra·''·for·the·one·we·lose\n······return·['',·...p.split(/\\/+/)]\n····}·else·{\n······return·p.split(/\\/+/)\n····}\n··}\n\n··match(f:·string,·partial·=·this.partial)·{\n····this.debug('match',·f,·this.pattern)\n····//·short-circuit·in·the·case·of·busted·things.\n····//·comments,·etc.\n····if·(this.comment)·{\n······return·false\n····}\n····if·(this.empty)·{\n······return·f·===·''\n····}\n\n····if·(f·===·'/'·&&·partial)·{\n······return·true\n····}\n\n····const·options·=·this.options\n\n····//·windows:·need·to·use·/,·not·\\\n····if·(this.isWindows)·{\n······f·=·f.split('\\\\').join('/')\n····}\n\n····//·treat·the·test·path·as·a·set·of·pathparts.\n····const·ff·=·this.slashSplit(f)\n····this.debug(this.pattern,·'split',·ff)\n\n····//·just·ONE·of·the·pattern·sets·in·this.set·needs·to·match\n····//·in·order·for·it·to·be·valid.··If·negating,·then·just·one\n····//·match·means·that·we·have·failed.\n····//·Either·way,·return·on·the·first·hit.\n\n····const·set·=·this.set\n····this.debug(this.pattern,·'set',·set)\n\n····//·Find·the·basename·of·the·path·by·looking·for·the·last·non-empty·segment\n····let·filename:·string·=·ff[ff.length·-·1]\n····if·(!filename)·{\n······for·(let·i·=·ff.length·-·2;·!filename·&&·i·>=·0;·i--)·{\n········filename·=·ff[i]\n······}\n····}\n\n····for·(let·i·=·0;·i·<·set.length;·i++)·{\n······const·pattern·=·set[i]\n······let·file·=·ff\n······if·(options.matchBase·&&·pattern.length·===·1)·{\n········file·=·[filename]\n······}\n······const·hit·=·this.matchOne(file,·pattern,·partial)\n······if·(hit)·{\n········if·(options.flipNegate)·{\n··········return·true\n········}\n········return·!this.negate\n······}\n····}\n\n····//·didn't·get·any·hits.··this·is·success·if·it's·a·negative\n····//·pattern,·failure·otherwise.\n····if·(options.flipNegate)·{\n······return·false\n····}\n····return·this.negate\n··}\n\n··static·defaults(def:·MinimatchOptions)·{\n····return·minimatch.defaults(def).Minimatch\n··}\n}\n/*·c8·ignore·start·*/\nexport·{·AST·}·from·'./ast.js'\nexport·{·escape·}·from·'./escape.js'\nexport·{·unescape·}·from·'./unescape.js'\n/*·c8·ignore·stop·*/\nminimatch.AST·=·AST\nminimatch.Minimatch·=·Minimatch\nminimatch.escape·=·escape\nminimatch.unescape·=·unescape\n",1021 ········"import·{·expand·}·from·'brace-expansion'\nimport·{·assertValidPattern·}·from·'./assert-valid-pattern.js'\nimport·{·AST,·ExtglobType·}·from·'./ast.js'\nimport·{·escape·}·from·'./escape.js'\nimport·{·unescape·}·from·'./unescape.js'\n\nexport·type·Platform·=\n··|·'aix'\n··|·'android[·...·truncated·by·diffoscope;·len:·35634,·SHA:·088c0bb0c76a1c9de4d12356f21cd67974d7db533a8bc603782b69bda1d27a3e·...·]\n········})·as·(string·|·typeof·GLOBSTAR)[]\n········pp.forEach((p,·i)·=>·{\n··········const·next·=·pp[i·+·1]\n··········const·prev·=·pp[i·-·1]\n··········if·(p·!==·GLOBSTAR·||·prev·===·GLOBSTAR)·{\n············return\n··········}\n··········if·(prev·===·undefined)·{\n············if·(next·!==·undefined·&&·next·!==·GLOBSTAR)·{\n··············pp[i·+·1]·=·'(?:\\\\/|'·+·twoStar·+·'\\\\/)?'·+·next\n············}·else·{\n··············pp[i]·=·twoStar\n············}\n··········}·else·if·(next·===·undefined)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·')?'\n··········}·else·if·(next·!==·GLOBSTAR)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·'\\\\/)'·+·next\n············pp[i·+·1]·=·GLOBSTAR\n··········}\n········})\n········const·filtered·=·pp.filter(p·=>·p·!==·GLOBSTAR)\n\n········//·For·partial·matches,·we·need·to·make·the·pattern·match\n········//·any·prefix·of·the·full·path.·We·do·this·by·generating\n········//·alternative·patterns·that·match·progressively·longer·prefixes.\n········if·(this.partial·&&·filtered.length·>=·1)·{\n··········const·prefixes:·string[]·=·[]\n··········for·(let·i·=·1;·i·<=·filtered.length;·i++)·{\n············prefixes.push(filtered.slice(0,·i).join('/'))\n··········}\n··········return·'(?:'·+·prefixes.join('|')·+·')'\n········}\n\n········return·filtered.join('/')\n······})\n······.join('|')\n\n····//·need·to·wrap·in·parens·if·we·had·more·than·one·thing·with·|,\n····//·otherwise·only·the·first·will·be·anchored·to·^·and·the·last·to·$\n····const·[open,·close]·=·set.length·>·1·?·['(?:',·')']·:·['',·'']\n····//·must·match·entire·pattern\n····//·ending·in·a·*·or·**·will·make·it·less·strict.\n····re·=·'^'·+·open·+·re·+·close·+·'$'\n\n····//·In·partial·mode,·'/'·should·always·match·as·it's·a·valid·prefix·for·any·pattern\n····if·(this.partial)·{\n······re·=·'^(?:\\\\/|'·+·open·+·re.slice(1,·-1)·+·close·+·')$'\n····}\n\n····//·can·match·anything,·as·long·as·it's·not·this.\n····if·(this.negate)·re·=·'^(?!'·+·re·+·').+$'\n\n····try·{\n······this.regexp·=·new·RegExp(re,·[...flags].join(''))\n······/*·c8·ignore·start·*/\n····}·catch·(ex)·{\n······//·should·be·impossible\n······this.regexp·=·false\n····}\n····/*·c8·ignore·stop·*/\n····return·this.regexp\n··}\n\n··slashSplit(p:·string)·{\n····//·if·p·starts·with·//·on·windows,·we·preserve·that\n····//·so·that·UNC·paths·aren't·broken.··Otherwise,·any·number·of\n····//·/·characters·are·coalesced·into·one,·unless\n····//·preserveMultipleSlashes·is·set·to·true.\n····if·(this.preserveMultipleSlashes)·{\n······return·p.split('/')\n····}·else·if·(this.isWindows·&&·/^\\/\\/[^\\/]+/.test(p))·{\n······//·add·an·extra·''·for·the·one·we·lose\n······return·['',·...p.split(/\\/+/)]\n····}·else·{\n······return·p.split(/\\/+/)\n····}\n··}\n\n··match(f:·string,·partial·=·this.partial)·{\n····this.debug('match',·f,·this.pattern)\n····//·short-circuit·in·the·case·of·busted·things.\n····//·comments,·etc.\n····if·(this.comment)·{\n······return·false\n····}\n····if·(this.empty)·{\n······return·f·===·''\n····}\n\n····if·(f·===·'/'·&&·partial)·{\n······return·true\n····}\n\n····const·options·=·this.options\n\n····//·windows:·need·to·use·/,·not·\\\n····if·(this.isWindows)·{\n······f·=·f.split('\\\\').join('/')\n····}\n\n····//·treat·the·test·path·as·a·set·of·pathparts.\n····const·ff·=·this.slashSplit(f)\n····this.debug(this.pattern,·'split',·ff)\n\n····//·just·ONE·of·the·pattern·sets·in·this.set·needs·to·match\n····//·in·order·for·it·to·be·valid.··If·negating,·then·just·one\n····//·match·means·that·we·have·failed.\n····//·Either·way,·return·on·the·first·hit.\n\n····const·set·=·this.set\n····this.debug(this.pattern,·'set',·set)\n\n····//·Find·the·basename·of·the·path·by·looking·for·the·last·non-empty·segment\n····let·filename:·string·=·ff[ff.length·-·1]\n····if·(!filename)·{\n······for·(let·i·=·ff.length·-·2;·!filename·&&·i·>=·0;·i--)·{\n········filename·=·ff[i]\n······}\n····}\n\n····for·(let·i·=·0;·i·<·set.length;·i++)·{\n······const·pattern·=·set[i]\n······let·file·=·ff\n······if·(options.matchBase·&&·pattern.length·===·1)·{\n········file·=·[filename]\n······}\n······const·hit·=·this.matchOne(file,·pattern,·partial)\n······if·(hit)·{\n········if·(options.flipNegate)·{\n··········return·true\n········}\n········return·!this.negate\n······}\n····}\n\n····//·didn't·get·any·hits.··this·is·success·if·it's·a·negative\n····//·pattern,·failure·otherwise.\n····if·(options.flipNegate)·{\n······return·false\n····}\n····return·this.negate\n··}\n\n··static·defaults(def:·MinimatchOptions)·{\n····return·minimatch.defaults(def).Minimatch\n··}\n}\n/*·c8·ignore·start·*/\nexport·{·AST·}·from·'./ast.js'\nexport·{·escape·}·from·'./escape.js'\nexport·{·unescape·}·from·'./unescape.js'\n/*·c8·ignore·stop·*/\nminimatch.AST·=·AST\nminimatch.Minimatch·=·Minimatch\nminimatch.escape·=·escape\nminimatch.unescape·=·unescape\n",
1021 ········"import·{·Minimatch,·MinimatchOptions·}·from·'minimatch'\nimport·{·Minipass·}·from·'minipass'\nimport·{·fileURLToPath·}·from·'node:url'\nimport·{\n··FSOption,\n··Path,\n··PathScurry,\n··PathScurryDarwin,\n··PathScurryPosix,\n··PathScurryWin32,\n}·from·'path-scurry'\nimport·{·IgnoreLike·}·from·'./ignore.js'\nimport·{·Pattern·}·from·'./pattern.js'\nimport·{·GlobStream,·GlobWalker·}·from·'./walker.js'\n\nexport·type·MatchSet·=·Minimatch['set']\nexport·type·GlobParts·=·Exclude<Minimatch['globParts'],·undefined>\n\n//·if·no·process·global,·just·call·it·linux.\n//·so·we·default·to·case-sensitive,·/·separators\nconst·defaultPlatform:·NodeJS.Platform·=\n··(\n····typeof·process·===·'object'·&&\n····process·&&\n····typeof·process.platform·===·'string'\n··)·?\n····process.platform\n··:·'linux'\n\n/**\n·*·A·`GlobOptions`·object·may·be·provided·to·any·of·the·exported·methods,·and\n·*·must·be·provided·to·the·`Glob`·constructor.\n·*\n·*·All·options·are·optional,·boolean,·and·false·by·default,·unless·otherwise\n·*·noted.\n·*\n·*·All·resolved·options·are·added·to·the·Glob·object·as·properties.\n·*\n·*·If·you·are·running·many·`glob`·operations,·you·can·pass·a·Glob·object·as·the\n·*·`options`·argument·to·a·subsequent·operation·to·share·the·previously·loaded\n·*·cache.\n·*/\nexport·interface·GlobOptions·{\n··/**\n···*·Set·to·`true`·to·always·receive·absolute·paths·for\n···*·matched·files.·Set·to·`false`·to·always·return·relative·paths.\n···*\n···*·When·this·option·is·not·set,·absolute·paths·are·returned·for·patterns\n···*·that·are·absolute,·and·otherwise·paths·are·returned·that·are·relative\n···*·to·the·`cwd`·setting.\n···*\n···*·This·does·_not_·make·an·extra·system·call·to·get\n···*·the·realpath,·it·only·does·string·path·resolution.\n···*\n···*·Conflicts·with·{@link·withFileTypes}\n···*/\n··absolute?:·boolean\n\n··/**\n···*·Set·to·false·to·enable·{@link·windowsPathsNoEscape}\n···*\n···*·@deprecated\n···*/\n··allowWindowsEscape?:·boolean\n\n··/**\n···*·The·current·working·directory·in·which·to·search.·Defaults·to\n···*·`process.cwd()`.\n···*\n···*·May·be·eiher·a·string·path·or·a·`file://`·URL·object·or·string.\n···*/\n··cwd?:·string·|·URL\n\n··/**\n···*·Include·`.dot`·files·in·normal·matches·and·`globstar`\n···*·matches.·Note·that·an·explicit·dot·in·a·portion·of·the·pattern\n···*·will·always·match·dot·files.\n···*/\n··dot?:·boolean\n\n··/**\n···*·Prepend·all·relative·path·strings·with·`./`·(or·`.\\`·on·Windows).\n···*\n···*·Without·this·option,·returned·relative·paths·are·\"bare\",·so·instead·of\n···*·returning·`'./foo/bar'`,·they·are·returned·as·`'foo/bar'`.\n···*\n···*·Relative·patterns·starting·with·`'../'`·are·not·prepended·with·`./`,·even\n···*·if·this·option·is·set.\n···*/\n··dotRelative?:·boolean\n\n··/**\n···*·Follow·symlinked·directories·when·expanding·`**`\n···*·patterns.·This·can·result·in·a·lot·of·duplicate·references·in\n···*·the·presence·of·cyclic·links,·and·make·performance·quite·bad.\n···*\n···*·By·default,·a·`**`·in·a·pattern·will·follow·1·symbolic·link·if\n···*·it·is·not·the·first·item·in·the·pattern,·or·none·if·it·is·the\n···*·first·item·in·the·pattern,·following·the·same·behavior·as·Bash.\n···*/\n··follow?:·boolean\n\n··/**\n···*·string·or·string[],·or·an·object·with·`ignored`·and·`childrenIgnored`\n···*·methods.\n···*\n···*·If·a·string·or·string[]·is·provided,·then·this·is·treated·as·a·glob\n···*·pattern·or·array·of·glob·patterns·to·exclude·from·matches.·To·ignore·all\n···*·children·within·a·directory,·as·well·as·the·entry·itself,·append·`'/**'`\n···*·to·the·ignore·pattern.\n···*\n···*·**Note**·`ignore`·patterns·are·_always_·in·`dot:true`·mode,·regardless·of\n···*·any·other·settings.\n···*\n···*·If·an·object·is·provided·that·has·`ignored(path)`·and/or\n···*·`childrenIgnored(path)`·methods,·then·these·methods·will·be·called·to\n···*·determine·whether·any·Path·is·a·match·or·if·its·children·should·be\n···*·traversed,·respectively.\n···*/\n··ignore?:·string·|·string[]·|·IgnoreLike\n\n··/**\n···*·Treat·brace·expansion·like·`{a,b}`·as·a·\"magic\"·pattern.·Has·no\n···*·effect·if·{@link·nobrace}·is·set.\n···*\n···*·Only·has·effect·on·the·{@link·hasMagic}·function.\n···*/\n··magicalBraces?:·boolean\n\n··/**\n···*·Add·a·`/`·character·to·directory·matches.·Note·that·this·requires\n···*·additional·stat·calls·in·some·cases.\n···*/\n··mark?:·boolean\n\n··/**\n···*·Perform·a·basename-only·match·if·the·pattern·does·not·contain·any·slash\n···*·characters.·That·is,·`*.js`·would·be·treated·as·equivalent·to\n···*·`**\\/*.js`,·matching·all·js·files·in·all·directories.\n···*/\n··matchBase?:·boolean\n\n··/**\n···*·Limit·the·directory·traversal·to·a·given·depth·below·the·cwd.\n···*·Note·that·this·does·NOT·prevent·traversal·to·sibling·folders,\n···*·root·patterns,·and·so·on.·It·only·limits·the·maximum·folder·depth\n···*·that·the·walk·will·descend,·relative·to·the·cwd.\n···*/\n··maxDepth?:·number\n\n··/**\n···*·Do·not·expand·`{a,b}`·and·`{1..3}`·brace·sets.\n···*/\n··nobrace?:·boolean\n\n··/**\n···*·Perform·a·case-insensitive·match.·This·defaults·to·`true`·on·macOS·and\n···*·Windows·systems,·and·`false`·on·all·others.\n···*\n···*·**Note**·`nocase`·should·only·be·explicitly·set·when·it·is\n···*·known·that·the·filesystem's·case·sensitivity·differs·from·the\n···*·platform·default.·If·set·`true`·on·case-sensitive·file\n···*·systems,·or·`false`·on·case-insensitive·file·systems,·then·the\n···*·walk·may·return·more·or·less·results·than·expected.\n···*/\n··nocase?:·boolean\n\n··/**\n···*·Do·not·match·directories,·only·files.·(Note:·to·match\n···*·_only_·directories,·put·a·`/`·at·the·end·of·the·pattern.)\n···*/\n··nodir?:·boolean\n\n··/**\n···*·Do·not·match·\"extglob\"·patterns·such·as·`+(a|b)`.\n···*/\n··noext?:·boolean\n\n··/**\n···*·Do·not·match·`**`·against·multiple·filenames.·(Ie,·treat·it·as·a·normal\n···*·`*`·instead.)\n···*\n···*·Conflicts·with·{@link·matchBase}\n···*/\n··noglobstar?:·boolean\n\n··/**\n···*·Defaults·to·value·of·`process.platform`·if·available,·or·`'linux'`·if\n···*·not.·Setting·`platform:'win32'`·on·non-Windows·systems·may·cause·strange\n···*·behavior.\n···*/\n··platform?:·NodeJS.Platform\n\n··/**\n···*·Set·to·true·to·call·`fs.realpath`·on·all·of·the\n···*·results.·In·the·case·of·an·entry·that·cannot·be·resolved,·the\n···*·entry·is·omitted.·This·incurs·a·slight·performance·penalty,·of\n···*·course,·because·of·the·added·system·calls.\n···*/\n··realpath?:·boolean\n\n··/**\n···*\n···*·A·string·path·resolved·against·the·`cwd`·option,·which\n···*·is·used·as·the·starting·point·for·absolute·patterns·that·start\n···*·with·`/`,·(but·not·drive·letters·or·UNC·paths·on·Windows).\n···*\n···*·Note·that·this·_doesn't_·necessarily·limit·the·walk·to·the\n···*·`root`·directory,·and·doesn't·affect·the·cwd·starting·point·for\n···*·non-absolute·patterns.·A·pattern·containing·`..`·will·still·be\n···*·able·to·traverse·out·of·the·root·directory,·if·it·is·not·an\n···*·actual·root·directory·on·the·filesystem,·and·any·non-absolute\n···*·patterns·will·be·matched·in·the·`cwd`.·For·example,·the\n···*·pattern·`/../*`·with·`{root:'/some/path'}`·will·return·all\n···*·files·in·`/some`,·not·all·files·in·`/some/path`.·The·pattern\n···*·`*`·with·`{root:'/some/path'}`·will·return·all·the·entries·in\n···*·the·cwd,·not·the·entries·in·`/some/path`.\n···*\n···*·To·start·absolute·and·non-absolute·patterns·in·the·same\n···*·path,·you·can·use·`{root:''}`.·However,·be·aware·that·on\n···*·Windows·systems,·a·pattern·like·`x:/*`·or·`//host/share/*`·will\n···*·_always_·start·in·the·`x:/`·or·`//host/share`·directory,\n···*·regardless·of·the·`root`·setting.\n···*/\n··root?:·string\n\n··/**\n···*·A·[PathScurry](http://npm.im/path-scurry)·object·used\n···*·to·traverse·the·file·system.·If·the·`nocase`·option·is·set\n···*·explicitly,·then·any·provided·`scurry`·object·must·match·this\n···*·setting.\n···*/\n··scurry?:·PathScurry\n\n··/**\n···*·Call·`lstat()`·on·all·entries,·whether·required·or·not·to·determine\n···*·if·it's·a·valid·match.·When·used·with·{@link·withFileTypes},·this·means\n···*·that·matches·will·include·data·such·as·modified·time,·permissions,·and\n···*·so·on.··Note·that·this·will·incur·a·performance·cost·due·to·the·added\n···*·system·calls.\n···*/\n··stat?:·boolean\n\n··/**\n···*·An·AbortSignal·which·will·cancel·the·Glob·walk·when\n···*·triggered.\n···*/\n··signal?:·AbortSignal\n\n··/**\n···*·Use·`\\\\`·as·a·path·separator·_only_,·and\n···*··_never_·as·an·escape·character.·If·set,·all·`\\\\`·characters·are\n···*··replaced·with·`/`·in·the·pattern.\n···*\n···*··Note·that·this·makes·it·**impossible**·to·match·against·paths\n···*··containing·literal·glob·pattern·characters,·but·allows·matching\n···*··with·patterns·constructed·using·`path.join()`·and\n···*··`path.resolve()`·on·Windows·platforms,·mimicking·the·(buggy!)\n···*··behavior·of·Glob·v7·and·before·on·Windows.·Please·use·with\n···*··caution,·and·be·mindful·of·[the·caveat·below·about·Windows\n···*··paths](#windows).·(For·legacy·reasons,·this·is·also·set·if\n···*··`allowWindowsEscape`·is·set·to·the·exact·value·`false`.)\n···*/\n··windowsPathsNoEscape?:·boolean\n\n··/**\n···*·Return·[PathScurry](http://npm.im/path-scurry)\n···*·`Path`·objects·instead·of·strings.·These·are·similar·to·a\n···*·NodeJS·`Dirent`·object,·but·with·additional·methods·and\n···*·properties.\n···*\n···*·Conflicts·with·{@link·absolute}\n···*/\n··withFileTypes?:·boolean\n\n··/**\n···*·An·fs·implementation·to·override·some·or·all·of·the·defaults.··See\n···*·http://npm.im/path-scurry·for·details·about·what·can·be·overridden.\n···*/\n··fs?:·FSOption\n\n··/**\n···*·Just·passed·along·to·Minimatch.··Note·that·this·makes·all·pattern\n···*·matching·operations·slower·and·*extremely*·noisy.\n···*/\n··debug?:·boolean\n\n··/**\n···*·Return·`/`·delimited·paths,·even·on·Windows.\n···*\n···*·On·posix·systems,·this·has·no·effect.··But,·on·Windows,·it·means·that\n···*·paths·will·be·`/`·delimited,·and·absolute·paths·will·be·their·full\n···*·resolved·UNC·forms,·eg·instead·of·`'C:\\\\foo\\\\bar'`,·it·would·return\n···*·`'//?/C:/foo/bar'`\n···*/\n··posix?:·boolean\n\n··/**\n···*·Do·not·match·any·children·of·any·matches.·For·example,·the·pattern\n···*·`**\\/foo`·would·match·`a/foo`,·but·not·`a/foo/b/foo`·in·this·mode.\n···*\n···*·This·is·especially·useful·for·cases·like·\"find·all·`node_modules`\n···*·folders,·but·not·the·ones·in·`node_modules`\".\n···*\n···*·In·order·to·support·this,·the·`Ignore`·implementation·must·support·an\n···*·`add(pattern:·string)`·method.·If·using·the·default·`Ignore`·class,·then\n···*·this·is·fine,·but·if·this·is·set·to·`false`,·and·a·custom·`Ignore`·is\n···*·provided·that·does·not·have·an·`add()`·method,·then·it·will·throw·an\n···*·error.\n···*\n···*·**Caveat**·It·*only*·ignores·matches·that·would·be·a·descendant·of·a\n···*·previous·match,·and·only·if·that·descendant·is·matched·*after*·the\n···*·ancestor·is·encountered.·Since·the·file·system·walk·happens·in\n···*·indeterminate·order,·it's·possible·that·a·match·will·already·be·added\n···*·before·its·ancestor,·if·multiple·or·braced·patterns·are·used.\n···*\n···*·For·example:\n···*\n···*·```ts\n···*·const·results·=·await·glob([\n···*···//·likely·to·match·first,·since·it's·just·a·stat\n···*···'a/b/c/d/e/f',\n···*\n···*···//·this·pattern·is·more·complicated!·It·must·to·various·readdir()\n···*···//·calls·and·test·the·results·against·a·regular·expression,·and·that\n···*···//·is·certainly·going·to·take·a·little·bit·longer.\n···*···//\n···*···//·So,·later·on,·it·encounters·a·match·at·'a/b/c/d/e',·but·it's·too\n···*···//·late·to·ignore·a/b/c/d/e/f,·because·it's·already·been·emitted.\n···*···'a/[bdf]/?/[a-z]/*',\n···*·],·{·includeChildMatches:·false·})\n···*·```\n···*\n···*·It's·best·to·only·set·this·to·`false`·if·you·can·be·reasonably·sure·that\n···*·no·components·of·the·pattern·will·potentially·match·one·another's·file\n···*·system·descendants,·or·if·the·occasional·included·child·entry·will·not\n···*·cause·problems.\n···*\n···*·@default·true\n···*/\n··includeChildMatches?:·boolean\n}\n\nexport·type·GlobOptionsWithFileTypesTrue·=·GlobOptions·&·{\n··withFileTypes:·true\n··//·string·options·not·relevant·if·returning·Path·objects.\n··absolute?:·undefined\n··mark?:·undefined\n··posix?:·undefined\n}\n\nexport·type·GlobOptionsWithFileTypesFalse·=·GlobOptions·&·{\n··withFileTypes?:·false\n}\n\nexport·type·GlobOptionsWithFileTypesUnset·=·GlobOptions·&·{\n··withFileTypes?:·undefined\n}\n\nexport·type·Result<Opts>·=\n··Opts·extends·GlobOptionsWithFileTypesTrue·?·Path\n··:·Opts·extends·GlobOptionsWithFileTypesFalse·?·string\n··:·Opts·extends·GlobOptionsWithFileTypesUnset·?·string\n··:·string·|·Path\nexport·type·Results<Opts>·=·Result<Opts>[]\n\nexport·type·FileTypes<Opts>·=\n··Opts·extends·GlobOptionsWithFileTypesTrue·?·true\n··:·Opts·extends·GlobOptionsWithFileTypesFalse·?·false\n··:·Opts·extends·GlobOptionsWithFileTypesUnset·?·false\n··:·boolean\n\n/**\n·*·An·object·that·can·perform·glob·pattern·traversals.\n·*/\nexport·class·Glob<Opts·extends·GlobOptions>·implements·GlobOptions·{\n··absolute?:·boolean\n··cwd:·string\n··root?:·string\n··dot:·boolean\n··dotRelative:·boolean\n··follow:·boolean\n··ignore?:·string·|·string[]·|·IgnoreLike\n··magicalBraces:·boolean\n··mark?:·boolean\n··matchBase:·boolean\n··maxDepth:·number\n··nobrace:·boolean\n··nocase:·boolean\n··nodir:·boolean\n··noext:·boolean\n··noglobstar:·boolean\n··pattern:·string[]\n··platform:·NodeJS.Platform\n··realpath:·boolean\n··scurry:·PathScurry\n··stat:·boolean\n··signal?:·AbortSignal\n··windowsPathsNoEscape:·boolean\n··withFileTypes:·FileTypes<Opts>\n··includeChildMatches:·boolean\n\n··/**\n···*·The·options·provided·to·the·constructor.\n···*/\n··opts:·Opts\n\n··/**\n···*·An·array·of·parsed·immutable·{@link·Pattern}·objects.\n···*/\n··patterns:·Pattern[]\n\n··/**\n···*·All·options·are·stored·as·properties·on·the·`Glob`·object.\n···*\n···*·See·{@link·GlobOptions}·for·full·options·descriptions.\n···*\n···*·Note·that·a·previous·`Glob`·object·can·be·passed·as·the\n···*·`GlobOptions`·to·another·`Glob`·instantiation·to·re-use·settings\n···*·and·caches·with·a·new·pattern.\n···*\n···*·Traversal·functions·can·be·called·multiple·times·to·run·the·walk\n···*·again.\n···*/\n··constructor(pattern:·string·|·string[],·opts:·Opts)·{\n····/*·c8·ignore·start·*/\n····if·(!opts)·throw·new·TypeError('glob·options·required')\n····/*·c8·ignore·stop·*/\n····this.withFileTypes·=·!!opts.withFileTypes·as·FileTypes<Opts>\n····this.signal·=·opts.signal\n····this.follow·=·!!opts.follow\n····this.dot·=·!!opts.dot\n····this.dotRelative·=·!!opts.dotRelative\n····this.nodir·=·!!opts.nodir\n····this.mark·=·!!opts.mark\n····if·(!opts.cwd)·{\n······this.cwd·=·''\n····}·else·if·(opts.cwd·instanceof·URL·||·opts.cwd.startsWith('file://'))·{\n······opts.cwd·=·fileURLToPath(opts.cwd)\n····}\n····this.cwd·=·opts.cwd·||·''\n····this.root·=·opts.root\n····this.magicalBraces·=·!!opts.magicalBraces\n····this.nobrace·=·!!opts.nobrace\n····this.noext·=·!!opts.noext\n····this.realpath·=·!!opts.realpath\n····this.absolute·=·opts.absolute\n····this.includeChildMatches·=·opts.includeChildMatches·!==·false\n\n····this.noglobstar·=·!!opts.noglobstar\n····this.matchBase·=·!!opts.matchBase\n····this.maxDepth·=\n······typeof·opts.maxDepth·===·'number'·?·opts.maxDepth·:·Infinity\n····this.stat·=·!!opts.stat\n····this.ignore·=·opts.ignore\n\n····if·(this.withFileTypes·&&·this.absolute·!==·undefined)·{\n······throw·new·Error('cannot·set·absolute·and·withFileTypes:true')\n····}\n\n····if·(typeof·pattern·===·'string')·{\n······pattern·=·[pattern]\n····}\n\n····this.windowsPathsNoEscape·=\n······!!opts.windowsPathsNoEscape·||\n······(opts·as·{·allowWindowsEscape?:·boolean·}).allowWindowsEscape·===\n········false\n\n····if·(this.windowsPathsNoEscape)·{\n······pattern·=·pattern.map(p·=>·p.replace(/\\\\/g,·'/'))\n····}\n\n····if·(this.matchBase)·{\n······if·(opts.noglobstar)·{\n········throw·new·TypeError('base·matching·requires·globstar')\n······}\n······pattern·=·pattern.map(p·=>·(p.includes('/')·?·p·:·`./**/${p}`))\n····}\n\n····this.pattern·=·pattern\n\n····this.platform·=·opts.platform·||·defaultPlatform\n····this.opts·=·{·...opts,·platform:·this.platform·}\n····if·(opts.scurry)·{\n······this.scurry·=·opts.scurry\n······if·(\n········opts.nocase·!==·undefined·&&\n········opts.nocase·!==·opts.scurry.nocase\n······)·{\n········throw·new·Error('nocase·option·contradicts·provided·scurry·option')\n······}\n····}·else·{\n······const·Scurry·=\n········opts.platform·===·'win32'·?·PathScurryWin32\n········:·opts.platform·===·'darwin'·?·PathScurryDarwin\n········:·opts.platform·?·PathScurryPosix\n········:·PathScurry\n······this.scurry·=·new·Scurry(this.cwd,·{\n········nocase:·opts.nocase,\n········fs:·opts.fs,\n······})\n····}\n····this.nocase·=·this.scurry.nocase\n\n····//·If·you·do·nocase:true·on·a·case-sensitive·file·system,·then\n····//·we·need·to·use·regexps·instead·of·strings·for·non-magic\n····//·path·portions,·because·statting·`aBc`·won't·return·results\n····//·for·the·file·`AbC`·for·example.\n····const·nocaseMagicOnly·=\n······this.platform·===·'darwin'·||·this.platform·===·'win32'\n\n····const·mmo:·MinimatchOptions·=·{\n······//·default·nocase·based·on·platform\n······...opts,\n······dot:·this.dot,\n······matchBase:·this.matchBase,\n······nobrace:·this.nobrace,\n······nocase:·this.nocase,\n······nocaseMagicOnly,\n······nocomment:·true,\n······noext:·this.noext,\n······nonegate:·true,\n······optimizationLevel:·2,\n······platform:·this.platform,\n······windowsPathsNoEscape:·this.windowsPathsNoEscape,\n······debug:·!!this.opts.debug,\n····}\n\n····const·mms·=·this.pattern.map(p·=>·new·Minimatch(p,·mmo))\n····const·[matchSet,·globParts]·=·mms.reduce(\n······(set:·[MatchSet,·GlobParts],·m)·=>·{\n········set[0].push(...m.set)\n········set[1].push(...m.globParts)\n········return·set\n······},\n······[[],·[]],\n····)\n····this.patterns·=·matchSet.map((set,·i)·=>·{\n······const·g·=·globParts[i]\n······/*·c8·ignore·start·*/\n······if·(!g)·throw·new·Error('invalid·pattern·object')\n······/*·c8·ignore·stop·*/\n······return·new·Pattern(set,·g,·0,·this.platform)\n····})\n··}\n\n··/**\n···*·Returns·a·Promise·that·resolves·to·the·results·array.\n···*/\n··async·walk():·Promise<Results<Opts>>\n··async·walk():·Promise<(string·|·Path)[]>·{\n····//·Walkers·always·return·array·of·Path·objects,·so·we·just·have·to\n····//·coerce·them·into·the·right·shape.··It·will·have·already·called\n····//·realpath()·if·the·option·was·set·to·do·so,·so·we·know·that's·cached.\n····//·start·out·knowing·the·cwd,·at·least\n····return·[\n······...(await·new·GlobWalker(this.patterns,·this.scurry.cwd,·{\n········...this.opts,\n········maxDepth:\n··········this.maxDepth·!==·Infinity·?\n············this.maxDepth·+·this.scurry.cwd.depth()\n··········:·Infinity,\n········platform:·this.platform,\n········nocase:·this.nocase,\n········includeChildMatches:·this.includeChildMatches,\n······}).walk()),\n····]\n··}\n\n··/**\n···*·synchronous·{@link·Glob.walk}\n···*/\n··walkSync():·Results<Opts>\n··walkSync():·(string·|·Path)[]·{\n····return·[\n······...new·GlobWalker(this.patterns,·this.scurry.cwd,·{\n········...this.opts,\n········maxDepth:\n··········this.maxDepth·!==·Infinity·?\n············this.maxDepth·+·this.scurry.cwd.depth()\n··········:·Infinity,\n········platform:·this.platform,\n········nocase:·this.nocase,\n········includeChildMatches:·this.includeChildMatches,\n······}).walkSync(),\n····]\n··}\n\n··/**\n···*·Stream·results·asynchronously.\n···*/\n··stream():·Minipass<Result<Opts>,·Result<Opts>>\n··stream():·Minipass<string·|·Path,·string·|·Path>·{\n····return·new·GlobStream(this.patterns,·this.scurry.cwd,·{\n······...this.opts,\n······maxDepth:\n········this.maxDepth·!==·Infinity·?\n··········this.maxDepth·+·this.scurry.cwd.depth()\n········:·Infinity,\n······platform:·this.platform,\n······nocase:·this.nocase,\n······includeChildMatches:·this.includeChildMatches,\n····}).stream()\n··}\n\n··/**\n···*·Stream·results·synchronously.\n···*/\n··streamSync():·Minipass<Result<Opts>,·Result<Opts>>\n··streamSync():·Minipass<string·|·Path,·string·|·Path>·{\n····return·new·GlobStream(this.patterns,·this.scurry.cwd,·{\n······...this.opts,\n······maxDepth:\n········this.maxDepth·!==·Infinity·?\n··········this.maxDepth·+·this.scurry.cwd.depth()\n········:·Infinity,\n······platform:·this.platform,\n······nocase:·this.nocase,\n······includeChildMatches:·this.includeChildMatches,\n····}).streamSync()\n··}\n\n··/**\n···*·Default·sync·iteration·function.·Returns·a·Generator·that\n···*·iterates·over·the·results.\n···*/\n··iterateSync():·Generator<Result<Opts>,·void,·void>·{\n····return·this.streamSync()[Symbol.iterator]()\n··}\n··[Symbol.iterator]()·{\n····return·this.iterateSync()\n··}\n\n··/**\n···*·Default·async·iteration·function.·Returns·an·AsyncGenerator·that\n···*·iterates·over·the·results.\n···*/\n··iterate():·AsyncGenerator<Result<Opts>,·void,·void>·{\n····return·this.stream()[Symbol.asyncIterator]()\n··}\n··[Symbol.asyncIterator]()·{\n····return·this.iterate()\n··}\n}\n",1022 ········"import·{·Minimatch,·MinimatchOptions·}·from·'minimatch'\nimport·{·Minipass·}·from·'minipass'\nimport·{·fileURLToPath·}·from·'node:url'\nimport·{\n··FSOption,\n··Path,\n··PathScurry,\n··PathScurryDarwin,\n··PathScurryPosix,\n··PathScurryWin32,\n}·from·'path-scurry'\nimport·{·IgnoreLike·}·from·'./ignore.js'\nimport·{·Pattern·}·from·'./pattern.js'\nimport·{·GlobStream,·GlobWalker·}·from·'./walker.js'\n\nexport·type·MatchSet·=·Minimatch['set']\nexport·type·GlobParts·=·Exclude<Minimatch['globParts'],·undefined>\n\n//·if·no·process·global,·just·call·it·linux.\n//·so·we·default·to·case-sensitive,·/·separators\nconst·defaultPlatform:·NodeJS.Platform·=\n··(\n····typeof·process·===·'object'·&&\n····process·&&\n····typeof·process.platform·===·'string'\n··)·?\n····process.platform\n··:·'linux'\n\n/**\n·*·A·`GlobOptions`·object·may·be·provided·to·any·of·the·exported·methods,·and\n·*·must·be·provided·to·the·`Glob`·constructor.\n·*\n·*·All·options·are·optional,·boolean,·and·false·by·default,·unless·otherwise\n·*·noted.\n·*\n·*·All·resolved·options·are·added·to·the·Glob·object·as·properties.\n·*\n·*·If·you·are·running·many·`glob`·operations,·you·can·pass·a·Glob·object·as·the\n·*·`options`·argument·to·a·subsequent·operation·to·share·the·previously·loaded\n·*·cache.\n·*/\nexport·interface·GlobOptions·{\n··/**\n···*·Set·to·`true`·to·always·receive·absolute·paths·for\n···*·matched·files.·Set·to·`false`·to·always·return·relative·paths.\n···*\n···*·When·this·option·is·not·set,·absolute·paths·are·returned·for·patterns\n···*·that·are·absolute,·and·otherwise·paths·are·returned·that·are·relative\n···*·to·the·`cwd`·setting.\n···*\n···*·This·does·_not_·make·an·extra·system·call·to·get\n···*·the·realpath,·it·only·does·string·path·resolution.\n···*\n···*·Conflicts·with·{@link·withFileTypes}\n···*/\n··absolute?:·boolean\n\n··/**\n···*·Set·to·false·to·enable·{@link·windowsPathsNoEscape}\n···*\n···*·@deprecated\n···*/\n··allowWindowsEscape?:·boolean\n\n··/**\n···*·The·current·working·directory·in·which·to·search.·Defaults·to\n···*·`process.cwd()`.\n···*\n···*·May·be·eiher·a·string·path·or·a·`file://`·URL·object·or·string.\n···*/\n··cwd?:·string·|·URL\n\n··/**\n···*·Include·`.dot`·files·in·normal·matches·and·`globstar`\n···*·matches.·Note·that·an·explicit·dot·in·a·portion·of·the·pattern\n···*·will·always·match·dot·files.\n···*/\n··dot?:·boolean\n\n··/**\n···*·Prepend·all·relative·path·strings·with·`./`·(or·`.\\`·on·Windows).\n···*\n···*·Without·this·option,·returned·relative·paths·are·\"bare\",·so·instead·of\n···*·returning·`'./foo/bar'`,·they·are·returned·as·`'foo/bar'`.\n···*\n···*·Relative·patterns·starting·with·`'../'`·are·not·prepended·with·`./`,·even\n···*·if·this·option·is·set.\n···*/\n··dotRelative?:·boolean\n\n··/**\n···*·Follow·symlinked·directories·when·expanding·`**`\n···*·patterns.·This·can·result·in·a·lot·of·duplicate·references·in\n···*·the·presence·of·cyclic·links,·and·make·performance·quite·bad.\n···*\n···*·By·default,·a·`**`·in·a·pattern·will·follow·1·symbolic·link·if\n···*·it·is·not·the·first·item·in·the·pattern,·or·none·if·it·is·the\n···*·first·item·in·the·pattern,·following·the·same·behavior·as·Bash.\n···*/\n··follow?:·boolean\n\n··/**\n···*·string·or·string[],·or·an·object·with·`ignored`·and·`childrenIgnored`\n···*·methods.\n···*\n···*·If·a·string·or·string[]·is·provided,·then·this·is·treated·as·a·glob\n···*·pattern·or·array·of·glob·patterns·to·exclude·from·matches.·To·ignore·all\n···*·children·within·a·directory,·as·well·as·the·entry·itself,·append·`'/**'`\n···*·to·the·ignore·pattern.\n···*\n···*·**Note**·`ignore`·patterns·are·_always_·in·`dot:true`·mode,·regardless·of\n···*·any·other·settings.\n···*\n···*·If·an·object·is·provided·that·has·`ignored(path)`·and/or\n···*·`childrenIgnored(path)`·methods,·then·these·methods·will·be·called·to\n···*·determine·whether·any·Path·is·a·match·or·if·its·children·should·be\n···*·traversed,·respectively.\n···*/\n··ignore?:·string·|·string[]·|·IgnoreLike\n\n··/**\n···*·Treat·brace·expansion·like·`{a,b}`·as·a·\"magic\"·pattern.·Has·no\n···*·effect·if·{@link·nobrace}·is·set.\n···*\n···*·Only·has·effect·on·the·{@link·hasMagic}·function.\n···*/\n··magicalBraces?:·boolean\n\n··/**\n···*·Add·a·`/`·character·to·directory·matches.·Note·that·this·requires\n···*·additional·stat·calls·in·some·cases.\n···*/\n··mark?:·boolean\n\n··/**\n···*·Perform·a·basename-only·match·if·the·pattern·does·not·contain·any·slash\n···*·characters.·That·is,·`*.js`·would·be·treated·as·equivalent·to\n···*·`**\\/*.js`,·matching·all·js·files·in·all·directories.\n···*/\n··matchBase?:·boolean\n\n··/**\n···*·Limit·the·directory·traversal·to·a·given·depth·below·the·cwd.\n···*·Note·that·this·does·NOT·prevent·traversal·to·sibling·folders,\n···*·root·patterns,·and·so·on.·It·only·limits·the·maximum·folder·depth\n···*·that·the·walk·will·descend,·relative·to·the·cwd.\n···*/\n··maxDepth?:·number\n\n··/**\n···*·Do·not·expand·`{a,b}`·and·`{1..3}`·brace·sets.\n···*/\n··nobrace?:·boolean\n\n··/**\n···*·Perform·a·case-insensitive·match.·This·defaults·to·`true`·on·macOS·and\n···*·Windows·systems,·and·`false`·on·all·others.\n···*\n···*·**Note**·`nocase`·should·only·be·explicitly·set·when·it·is\n···*·known·that·the·filesystem's·case·sensitivity·differs·from·the\n···*·platform·default.·If·set·`true`·on·case-sensitive·file\n···*·systems,·or·`false`·on·case-insensitive·file·systems,·then·the\n···*·walk·may·return·more·or·less·results·than·expected.\n···*/\n··nocase?:·boolean\n\n··/**\n···*·Do·not·match·directories,·only·files.·(Note:·to·match\n···*·_only_·directories,·put·a·`/`·at·the·end·of·the·pattern.)\n···*/\n··nodir?:·boolean\n\n··/**\n···*·Do·not·match·\"extglob\"·patterns·such·as·`+(a|b)`.\n···*/\n··noext?:·boolean\n\n··/**\n···*·Do·not·match·`**`·against·multiple·filenames.·(Ie,·treat·it·as·a·normal\n···*·`*`·instead.)\n···*\n···*·Conflicts·with·{@link·matchBase}\n···*/\n··noglobstar?:·boolean\n\n··/**\n···*·Defaults·to·value·of·`process.platform`·if·available,·or·`'linux'`·if\n···*·not.·Setting·`platform:'win32'`·on·non-Windows·systems·may·cause·strange\n···*·behavior.\n···*/\n··platform?:·NodeJS.Platform\n\n··/**\n···*·Set·to·true·to·call·`fs.realpath`·on·all·of·the\n···*·results.·In·the·case·of·an·entry·that·cannot·be·resolved,·the\n···*·entry·is·omitted.·This·incurs·a·slight·performance·penalty,·of\n···*·course,·because·of·the·added·system·calls.\n···*/\n··realpath?:·boolean\n\n··/**\n···*\n···*·A·string·path·resolved·against·the·`cwd`·option,·which\n···*·is·used·as·the·starting·point·for·absolute·patterns·that·start\n···*·with·`/`,·(but·not·drive·letters·or·UNC·paths·on·Windows).\n···*\n···*·Note·that·this·_doesn't_·necessarily·limit·the·walk·to·the\n···*·`root`·directory,·and·doesn't·affect·the·cwd·starting·point·for\n···*·non-absolute·patterns.·A·pattern·containing·`..`·will·still·be\n···*·able·to·traverse·out·of·the·root·directory,·if·it·is·not·an\n···*·actual·root·directory·on·the·filesystem,·and·any·non-absolute\n···*·patterns·will·be·matched·in·the·`cwd`.·For·example,·the\n···*·pattern·`/../*`·with·`{root:'/some/path'}`·will·return·all\n···*·files·in·`/some`,·not·all·files·in·`/some/path`.·The·pattern\n···*·`*`·with·`{root:'/some/path'}`·will·return·all·the·entries·in\n···*·the·cwd,·not·the·entries·in·`/some/path`.\n···*\n···*·To·start·absolute·and·non-absolute·patterns·in·the·same\n···*·path,·you·can·use·`{root:''}`.·However,·be·aware·that·on\n···*·Windows·systems,·a·pattern·like·`x:/*`·or·`//host/share/*`·will\n···*·_always_·start·in·the·`x:/`·or·`//host/share`·directory,\n···*·regardless·of·the·`root`·setting.\n···*/\n··root?:·string\n\n··/**\n···*·A·[PathScurry](http://npm.im/path-scurry)·object·used\n···*·to·traverse·the·file·system.·If·the·`nocase`·option·is·set\n···*·explicitly,·then·any·provided·`scurry`·object·must·match·this\n···*·setting.\n···*/\n··scurry?:·PathScurry\n\n··/**\n···*·Call·`lstat()`·on·all·entries,·whether·required·or·not·to·determine\n···*·if·it's·a·valid·match.·When·used·with·{@link·withFileTypes},·this·means\n···*·that·matches·will·include·data·such·as·modified·time,·permissions,·and\n···*·so·on.··Note·that·this·will·incur·a·performance·cost·due·to·the·added\n···*·system·calls.\n···*/\n··stat?:·boolean\n\n··/**\n···*·An·AbortSignal·which·will·cancel·the·Glob·walk·when\n···*·triggered.\n···*/\n··signal?:·AbortSignal\n\n··/**\n···*·Use·`\\\\`·as·a·path·separator·_only_,·and\n···*··_never_·as·an·escape·character.·If·set,·all·`\\\\`·characters·are\n···*··replaced·with·`/`·in·the·pattern.\n···*\n···*··Note·that·this·makes·it·**impossible**·to·match·against·paths\n···*··containing·literal·glob·pattern·characters,·but·allows·matching\n···*··with·patterns·constructed·using·`path.join()`·and\n···*··`path.resolve()`·on·Windows·platforms,·mimicking·the·(buggy!)\n···*··behavior·of·Glob·v7·and·before·on·Windows.·Please·use·with\n···*··caution,·and·be·mindful·of·[the·caveat·below·about·Windows\n···*··paths](#windows).·(For·legacy·reasons,·this·is·also·set·if\n···*··`allowWindowsEscape`·is·set·to·the·exact·value·`false`.)\n···*/\n··windowsPathsNoEscape?:·boolean\n\n··/**\n···*·Return·[PathScurry](http://npm.im/path-scurry)\n···*·`Path`·objects·instead·of·strings.·These·are·similar·to·a\n···*·NodeJS·`Dirent`·object,·but·with·additional·methods·and\n···*·properties.\n···*\n···*·Conflicts·with·{@link·absolute}\n···*/\n··withFileTypes?:·boolean\n\n··/**\n···*·An·fs·implementation·to·override·some·or·all·of·the·defaults.··See\n···*·http://npm.im/path-scurry·for·details·about·what·can·be·overridden.\n···*/\n··fs?:·FSOption\n\n··/**\n···*·Just·passed·along·to·Minimatch.··Note·that·this·makes·all·pattern\n···*·matching·operations·slower·and·*extremely*·noisy.\n···*/\n··debug?:·boolean\n\n··/**\n···*·Return·`/`·delimited·paths,·even·on·Windows.\n···*\n···*·On·posix·systems,·this·has·no·effect.··But,·on·Windows,·it·means·that\n···*·paths·will·be·`/`·delimited,·and·absolute·paths·will·be·their·full\n···*·resolved·UNC·forms,·eg·instead·of·`'C:\\\\foo\\\\bar'`,·it·would·return\n···*·`'//?/C:/foo/bar'`\n···*/\n··posix?:·boolean\n\n··/**\n···*·Do·not·match·any·children·of·any·matches.·For·example,·the·pattern\n···*·`**\\/foo`·would·match·`a/foo`,·but·not·`a/foo/b/foo`·in·this·mode.\n···*\n···*·This·is·especially·useful·for·cases·like·\"find·all·`node_modules`\n···*·folders,·but·not·the·ones·in·`node_modules`\".\n···*\n···*·In·order·to·support·this,·the·`Ignore`·implementation·must·support·an\n···*·`add(pattern:·string)`·method.·If·using·the·default·`Ignore`·class,·then\n···*·this·is·fine,·but·if·this·is·set·to·`false`,·and·a·custom·`Ignore`·is\n···*·provided·that·does·not·have·an·`add()`·method,·then·it·will·throw·an\n···*·error.\n···*\n···*·**Caveat**·It·*only*·ignores·matches·that·would·be·a·descendant·of·a\n···*·previous·match,·and·only·if·that·descendant·is·matched·*after*·the\n···*·ancestor·is·encountered.·Since·the·file·system·walk·happens·in\n···*·indeterminate·order,·it's·possible·that·a·match·will·already·be·added\n···*·before·its·ancestor,·if·multiple·or·braced·patterns·are·used.\n···*\n···*·For·example:\n···*\n···*·```ts\n···*·const·results·=·await·glob([\n···*···//·likely·to·match·first,·since·it's·just·a·stat\n···*···'a/b/c/d/e/f',\n···*\n···*···//·this·pattern·is·more·complicated!·It·must·to·various·readdir()\n···*···//·calls·and·test·the·results·against·a·regular·expression,·and·that\n···*···//·is·certainly·going·to·take·a·little·bit·longer.\n···*···//\n···*···//·So,·later·on,·it·encounters·a·match·at·'a/b/c/d/e',·but·it's·too\n···*···//·late·to·ignore·a/b/c/d/e/f,·because·it's·already·been·emitted.\n···*···'a/[bdf]/?/[a-z]/*',\n···*·],·{·includeChildMatches:·false·})\n···*·```\n···*\n···*·It's·best·to·only·set·this·to·`false`·if·you·can·be·reasonably·sure·that\n···*·no·components·of·the·pattern·will·potentially·match·one·another's·file\n···*·system·descendants,·or·if·the·occasional·included·child·entry·will·not\n···*·cause·problems.\n···*\n···*·@default·true\n···*/\n··includeChildMatches?:·boolean\n}\n\nexport·type·GlobOptionsWithFileTypesTrue·=·GlobOptions·&·{\n··withFileTypes:·true\n··//·string·options·not·relevant·if·returning·Path·objects.\n··absolute?:·undefined\n··mark?:·undefined\n··posix?:·undefined\n}\n\nexport·type·GlobOptionsWithFileTypesFalse·=·GlobOptions·&·{\n··withFileTypes?:·false\n}\n\nexport·type·GlobOptionsWithFileTypesUnset·=·GlobOptions·&·{\n··withFileTypes?:·undefined\n}\n\nexport·type·Result<Opts>·=\n··Opts·extends·GlobOptionsWithFileTypesTrue·?·Path\n··:·Opts·extends·GlobOptionsWithFileTypesFalse·?·string\n··:·Opts·extends·GlobOptionsWithFileTypesUnset·?·string\n··:·string·|·Path\nexport·type·Results<Opts>·=·Result<Opts>[]\n\nexport·type·FileTypes<Opts>·=\n··Opts·extends·GlobOptionsWithFileTypesTrue·?·true\n··:·Opts·extends·GlobOptionsWithFileTypesFalse·?·false\n··:·Opts·extends·GlobOptionsWithFileTypesUnset·?·false\n··:·boolean\n\n/**\n·*·An·object·that·can·perform·glob·pattern·traversals.\n·*/\nexport·class·Glob<Opts·extends·GlobOptions>·implements·GlobOptions·{\n··absolute?:·boolean\n··cwd:·string\n··root?:·string\n··dot:·boolean\n··dotRelative:·boolean\n··follow:·boolean\n··ignore?:·string·|·string[]·|·IgnoreLike\n··magicalBraces:·boolean\n··mark?:·boolean\n··matchBase:·boolean\n··maxDepth:·number\n··nobrace:·boolean\n··nocase:·boolean\n··nodir:·boolean\n··noext:·boolean\n··noglobstar:·boolean\n··pattern:·string[]\n··platform:·NodeJS.Platform\n··realpath:·boolean\n··scurry:·PathScurry\n··stat:·boolean\n··signal?:·AbortSignal\n··windowsPathsNoEscape:·boolean\n··withFileTypes:·FileTypes<Opts>\n··includeChildMatches:·boolean\n\n··/**\n···*·The·options·provided·to·the·constructor.\n···*/\n··opts:·Opts\n\n··/**\n···*·An·array·of·parsed·immutable·{@link·Pattern}·objects.\n···*/\n··patterns:·Pattern[]\n\n··/**\n···*·All·options·are·stored·as·properties·on·the·`Glob`·object.\n···*\n···*·See·{@link·GlobOptions}·for·full·options·descriptions.\n···*\n···*·Note·that·a·previous·`Glob`·object·can·be·passed·as·the\n···*·`GlobOptions`·to·another·`Glob`·instantiation·to·re-use·settings\n···*·and·caches·with·a·new·pattern.\n···*\n···*·Traversal·functions·can·be·called·multiple·times·to·run·the·walk\n···*·again.\n···*/\n··constructor(pattern:·string·|·string[],·opts:·Opts)·{\n····/*·c8·ignore·start·*/\n····if·(!opts)·throw·new·TypeError('glob·options·required')\n····/*·c8·ignore·stop·*/\n····this.withFileTypes·=·!!opts.withFileTypes·as·FileTypes<Opts>\n····this.signal·=·opts.signal\n····this.follow·=·!!opts.follow\n····this.dot·=·!!opts.dot\n····this.dotRelative·=·!!opts.dotRelative\n····this.nodir·=·!!opts.nodir\n····this.mark·=·!!opts.mark\n····if·(!opts.cwd)·{\n······this.cwd·=·''\n····}·else·if·(opts.cwd·instanceof·URL·||·opts.cwd.startsWith('file://'))·{\n······opts.cwd·=·fileURLToPath(opts.cwd)\n····}\n····this.cwd·=·opts.cwd·||·''\n····this.root·=·opts.root\n····this.magicalBraces·=·!!opts.magicalBraces\n····this.nobrace·=·!!opts.nobrace\n····this.noext·=·!!opts.noext\n····this.realpath·=·!!opts.realpath\n····this.absolute·=·opts.absolute\n····this.includeChildMatches·=·opts.includeChildMatches·!==·false\n\n····this.noglobstar·=·!!opts.noglobstar\n····this.matchBase·=·!!opts.matchBase\n····this.maxDepth·=\n······typeof·opts.maxDepth·===·'number'·?·opts.maxDepth·:·Infinity\n····this.stat·=·!!opts.stat\n····this.ignore·=·opts.ignore\n\n····if·(this.withFileTypes·&&·this.absolute·!==·undefined)·{\n······throw·new·Error('cannot·set·absolute·and·withFileTypes:true')\n····}\n\n····if·(typeof·pattern·===·'string')·{\n······pattern·=·[pattern]\n····}\n\n····this.windowsPathsNoEscape·=\n······!!opts.windowsPathsNoEscape·||\n······(opts·as·{·allowWindowsEscape?:·boolean·}).allowWindowsEscape·===\n········false\n\n····if·(this.windowsPathsNoEscape)·{\n······pattern·=·pattern.map(p·=>·p.replace(/\\\\/g,·'/'))\n····}\n\n····if·(this.matchBase)·{\n······if·(opts.noglobstar)·{\n········throw·new·TypeError('base·matching·requires·globstar')\n······}\n······pattern·=·pattern.map(p·=>·(p.includes('/')·?·p·:·`./**/${p}`))\n····}\n\n····this.pattern·=·pattern\n\n····this.platform·=·opts.platform·||·defaultPlatform\n····this.opts·=·{·...opts,·platform:·this.platform·}\n····if·(opts.scurry)·{\n······this.scurry·=·opts.scurry\n······if·(\n········opts.nocase·!==·undefined·&&\n········opts.nocase·!==·opts.scurry.nocase\n······)·{\n········throw·new·Error('nocase·option·contradicts·provided·scurry·option')\n······}\n····}·else·{\n······const·Scurry·=\n········opts.platform·===·'win32'·?·PathScurryWin32\n········:·opts.platform·===·'darwin'·?·PathScurryDarwin\n········:·opts.platform·?·PathScurryPosix\n········:·PathScurry\n······this.scurry·=·new·Scurry(this.cwd,·{\n········nocase:·opts.nocase,\n········fs:·opts.fs,\n······})\n····}\n····this.nocase·=·this.scurry.nocase\n\n····//·If·you·do·nocase:true·on·a·case-sensitive·file·system,·then\n····//·we·need·to·use·regexps·instead·of·strings·for·non-magic\n····//·path·portions,·because·statting·`aBc`·won't·return·results\n····//·for·the·file·`AbC`·for·example.\n····const·nocaseMagicOnly·=\n······this.platform·===·'darwin'·||·this.platform·===·'win32'\n\n····const·mmo:·MinimatchOptions·=·{\n······//·default·nocase·based·on·platform\n······...opts,\n······dot:·this.dot,\n······matchBase:·this.matchBase,\n······nobrace:·this.nobrace,\n······nocase:·this.nocase,\n······nocaseMagicOnly,\n······nocomment:·true,\n······noext:·this.noext,\n······nonegate:·true,\n······optimizationLevel:·2,\n······platform:·this.platform,\n······windowsPathsNoEscape:·this.windowsPathsNoEscape,\n······debug:·!!this.opts.debug,\n····}\n\n····const·mms·=·this.pattern.map(p·=>·new·Minimatch(p,·mmo))\n····const·[matchSet,·globParts]·=·mms.reduce(\n······(set:·[MatchSet,·GlobParts],·m)·=>·{\n········set[0].push(...m.set)\n········set[1].push(...m.globParts)\n········return·set\n······},\n······[[],·[]],\n····)\n····this.patterns·=·matchSet.map((set,·i)·=>·{\n······const·g·=·globParts[i]\n······/*·c8·ignore·start·*/\n······if·(!g)·throw·new·Error('invalid·pattern·object')\n······/*·c8·ignore·stop·*/\n······return·new·Pattern(set,·g,·0,·this.platform)\n····})\n··}\n\n··/**\n···*·Returns·a·Promise·that·resolves·to·the·results·array.\n···*/\n··async·walk():·Promise<Results<Opts>>\n··async·walk():·Promise<(string·|·Path)[]>·{\n····//·Walkers·always·return·array·of·Path·objects,·so·we·just·have·to\n····//·coerce·them·into·the·right·shape.··It·will·have·already·called\n····//·realpath()·if·the·option·was·set·to·do·so,·so·we·know·that's·cached.\n····//·start·out·knowing·the·cwd,·at·least\n····return·[\n······...(await·new·GlobWalker(this.patterns,·this.scurry.cwd,·{\n········...this.opts,\n········maxDepth:\n··········this.maxDepth·!==·Infinity·?\n············this.maxDepth·+·this.scurry.cwd.depth()\n··········:·Infinity,\n········platform:·this.platform,\n········nocase:·this.nocase,\n········includeChildMatches:·this.includeChildMatches,\n······}).walk()),\n····]\n··}\n\n··/**\n···*·synchronous·{@link·Glob.walk}\n···*/\n··walkSync():·Results<Opts>\n··walkSync():·(string·|·Path)[]·{\n····return·[\n······...new·GlobWalker(this.patterns,·this.scurry.cwd,·{\n········...this.opts,\n········maxDepth:\n··········this.maxDepth·!==·Infinity·?\n············this.maxDepth·+·this.scurry.cwd.depth()\n··········:·Infinity,\n········platform:·this.platform,\n········nocase:·this.nocase,\n········includeChildMatches:·this.includeChildMatches,\n······}).walkSync(),\n····]\n··}\n\n··/**\n···*·Stream·results·asynchronously.\n···*/\n··stream():·Minipass<Result<Opts>,·Result<Opts>>\n··stream():·Minipass<string·|·Path,·string·|·Path>·{\n····return·new·GlobStream(this.patterns,·this.scurry.cwd,·{\n······...this.opts,\n······maxDepth:\n········this.maxDepth·!==·Infinity·?\n··········this.maxDepth·+·this.scurry.cwd.depth()\n········:·Infinity,\n······platform:·this.platform,\n······nocase:·this.nocase,\n······includeChildMatches:·this.includeChildMatches,\n····}).stream()\n··}\n\n··/**\n···*·Stream·results·synchronously.\n···*/\n··streamSync():·Minipass<Result<Opts>,·Result<Opts>>\n··streamSync():·Minipass<string·|·Path,·string·|·Path>·{\n····return·new·GlobStream(this.patterns,·this.scurry.cwd,·{\n······...this.opts,\n······maxDepth:\n········this.maxDepth·!==·Infinity·?\n··········this.maxDepth·+·this.scurry.cwd.depth()\n········:·Infinity,\n······platform:·this.platform,\n······nocase:·this.nocase,\n······includeChildMatches:·this.includeChildMatches,\n····}).streamSync()\n··}\n\n··/**\n···*·Default·sync·iteration·function.·Returns·a·Generator·that\n···*·iterates·over·the·results.\n···*/\n··iterateSync():·Generator<Result<Opts>,·void,·void>·{\n····return·this.streamSync()[Symbol.iterator]()\n··}\n··[Symbol.iterator]()·{\n····return·this.iterateSync()\n··}\n\n··/**\n···*·Default·async·iteration·function.·Returns·an·AsyncGenerator·that\n···*·iterates·over·the·results.\n···*/\n··iterate():·AsyncGenerator<Result<Opts>,·void,·void>·{\n····return·this.stream()[Symbol.asyncIterator]()\n··}\n··[Symbol.asyncIterator]()·{\n····return·this.iterate()\n··}\n}\n",
1022 ········"/**\n·*·@module·LRUCache\n·*/\n\n//·module-private·names·and·types\n//·this·provides·the·default·Perf·object·source.\n//·it·can·be·passed·in·via·configuration·to·override·it\n//·for·a·single·LRU·object.\nexport·type·Perf·=·{·now:·()·=>·number·}\nconst·defaultPerf:·Perf·=\n··(\n····typeof·performance·===·'object'·&&\n····performance·&&\n····typeof·performance.now·===·'function'\n··)·?\n····performance\n··:·Date\n\nconst·warned·=·new·Set<string>()\n\n//·either·a·function·or·a·class\ntype·ForC·=·((...a:·any[])·=>·any)·|·{·new·(...a:·any[]):·any·}\n\n/*·c8·ignore·start·*/\nconst·PROCESS·=·(\n··typeof·process·===·'object'·&&·!!process·?\n····process\n··:·{})·as·{·[k:·string]:·any·}\n/*·c8·ignore·start·*/\n\nconst·emitWarning·=·(\n··msg:·string,\n··type:·string,\n··code:·string,\n··fn:·ForC,\n)·=>·{\n··typeof·PROCESS.emitWarning·===·'function'·?\n····PROCESS.emitWarning(msg,·type,·code,·fn)\n··:·console.error(`[${code}]·${type}:·${msg}`)\n}\n\nlet·AC·=·globalThis.AbortController\nlet·AS·=·globalThis.AbortSignal\n\n/*·c8·ignore·start·*/\nif·(typeof·AC·===·'undefined')·{\n··//@ts-ignore\n··AS·=·class·AbortSignal·{\n····onabort?:·(...a:·any[])·=>·any\n····_onabort:·((...a:·any[])·=>·any)[]·=·[]\n····reason?:·any\n····aborted:·boolean·=·false\n····addEventListener(_:·string,·fn:·(...a:·any[])·=>·any)·{\n······this._onabort.push(fn)\n····}\n··}\n··//@ts-ignore\n··AC·=·class·AbortController·{\n····constructor()·{\n······warnACPolyfill()\n····}\n····signal·=·new·AS()\n····abort(reason:·any)·{\n······if·(this.signal.aborted)·return\n······//@ts-ignore\n······this.signal.reason·=·reason\n······//@ts-ignore\n······this.signal.aborted·=·true\n······//@ts-ignore\n······for·(const·fn·of·this.signal._onabort)·{\n········fn(reason)\n······}\n······this.signal.onabort?.(reason)\n····}\n··}\n··let·printACPolyfillWarning·=\n····PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING·!==·'1'\n··const·warnACPolyfill·=·()·=>·{\n····if·(!printACPolyfillWarning)·return\n····printACPolyfillWarning·=·false\n····emitWarning(\n······'AbortController·is·not·defined.·If·using·lru-cache·in·'·+\n········'node·14,·load·an·AbortController·polyfill·from·the·'·+\n········'`node-abort-controller`·package.·A·minimal·polyfill·is·'·+\n········'provided·for·use·by·LRUCache.fetch(),·but·it·should·not·be·'·+\n········'relied·upon·in·other·contexts·(eg,·passing·it·to·other·APIs·that·'·+\n········'use·AbortController/AbortSignal·might·have·undesirable·effects).·'·+\n········'You·may·disable·this·with·LRU_CACHE_IGNORE_AC_WARNING=1·in·the·env.',\n······'NO_ABORT_CONTROLLER',\n······'ENOTSUP',\n······warnACPolyfill,\n····)\n··}\n}\n/*·c8·ignore·stop·*/\n\nconst·shouldWarn·=·(code:·string)·=>·!warned.has(code)\n\nconst·TYPE·=·Symbol('type')\nexport·type·PosInt·=·number·&·{·[TYPE]:·'Positive·Integer'·}\nexport·type·Index·=·number·&·{·[TYPE]:·'LRUCache·Index'·}\n\nconst·isPosInt·=·(n:·any):·n·is·PosInt·=>\n··n·&&·n·===·Math.floor(n)·&&·n·>·0·&&·isFinite(n)\n\nexport·type·UintArray·=·Uint8Array·|·Uint16Array·|·Uint32Array\nexport·type·NumberArray·=·UintArray·|·number[]\n\n/*·c8·ignore·start·*/\n//·This·is·a·little·bit·ridiculous,·tbh.\n//·The·maximum·array·length·is·2^32-1·or·thereabouts·on·most·JS·impls.\n//·And·well·before·that·point,·you're·caching·the·entire·world,·I·mean,\n//·that's·~32GB·of·just·integers·for·the·next/prev·links,·plus·whatever\n//·else·to·hold·that·many·keys·and·values.··Just·filling·the·memory·with\n//·zeroes·at·init·time·is·brutal·when·you·get·that·big.\n//·But·why·not·be·complete?\n//·Maybe·in·the·future,·these·limits·will·have·expanded.\nconst·getUintArray·=·(max:·number)·=>\n··!isPosInt(max)·?·null\n··:·max·<=·Math.pow(2,·8)·?·Uint8Array\n··:·max·<=·Math.pow(2,·16)·?·Uint16Array\n··:·max·<=·Math.pow(2,·32)·?·Uint32Array\n··:·max·<=·Number.MAX_SAFE_INTEGER·?·ZeroArray\n··:·null\n/*·c8·ignore·stop·*/\n\nclass·ZeroArray·extends·Array<number>·{\n··constructor(size:·number)·{\n····super(size)\n····this.fill(0)\n··}\n}\nexport·type·{·ZeroArray·}\nexport·type·{·Stack·}\n\nexport·type·StackLike·=·Stack·|·Index[]\nclass·Stack·{\n··heap:·NumberArray\n··length:·number\n··//·private·constructor\n··static·#constructing:·boolean·=·false\n··static·create(max:·number):·StackLike·{\n····const·HeapCls·=·getUintArray(max)\n····if·(!HeapCls)·return·[]\n····Stack.#constructing·=·true\n····const·s·=·new·Stack(max,·HeapCls)\n····Stack.#constructing·=·false\n····return·s\n··}\n··constructor(max:·number,·HeapCls:·{·new·(n:·number):·NumberArray·})·{\n····/*·c8·ignore·start·*/\n····if·(!Stack.#constructing)·{\n······throw·new·TypeError('instantiate·Stack·using·Stack.create(n)')\n····}\n····/*·c8·ignore·stop·*/\n····this.heap·=·new·HeapCls(max)\n····this.length·=·0\n··}\n··push(n:·Index)·{\n····this.heap[this.length++]·=·n\n··}\n··pop():·Index·{\n····return·this.heap[--this.length]·as·Index\n··}\n}\n\n/**\n·*·Promise·representing·an·in-progress·{@link·LRUCache#fetch}·call\n·*/\nexport·type·BackgroundFetch<V>·=·Promise<V·|·undefined>·&·{\n··__returned:·BackgroundFetch<V>·|·undefined\n··__abortController:·AbortController\n··__staleWhileFetching:·V·|·undefined\n}\n\nexport·type·DisposeTask<K,·V>·=·[\n··value:·V,\n··key:·K,\n··reason:·LRUCache.DisposeReason,\n]\n\nexport·namespace·LRUCache·{\n··/**\n···*·An·integer·greater·than·0,·reflecting·the·calculated·size·of·items\n···*/\n··export·type·Size·=·number\n\n··/**\n···*·Integer·greater·than·0,·representing·some·number·of·milliseconds,·or·the\n···*·time·at·which·a·TTL·started·counting·from.\n···*/\n··export·type·Milliseconds·=·number\n\n··/**\n···*·An·integer·greater·than·0,·reflecting·a·number·of·items\n···*/\n··export·type·Count·=·number\n\n··/**\n···*·The·reason·why·an·item·was·removed·from·the·cache,·passed\n···*·to·the·{@link·Disposer}·methods.\n···*\n···*·-·`evict`:·The·item·was·evicted·because·it·is·the·least·recently·used,\n···*···and·the·cache·is·full.\n···*·-·`set`:·A·new·value·was·set,·overwriting·the·old·value·being·disposed.\n···*·-·`delete`:·The·item·was·explicitly·deleted,·either·by·calling\n···*···{@link·LRUCache#delete},·{@link·LRUCache#clear},·or\n···*···{@link·LRUCache#set}·with·an·undefined·value.\n···*·-·`expire`:·The·item·was·removed·due·to·exceeding·its·TTL.\n···*·-·`fetch`:·A·{@link·OptionsBase#fetchMethod}·operation·returned\n···*···`undefined`·or·was·aborted,·causing·the·item·to·be·deleted.\n···*/\n··export·type·DisposeReason·=\n····|·'evict'\n····|·'set'\n····|·'delete'\n····|·'expire'\n····|·'fetch'\n··/**\n···*·A·method·called·upon·item·removal,·passed·as·the\n···*·{@link·OptionsBase.dispose}·and/or\n···*·{@link·OptionsBase.disposeAfter}·options.\n···*/\n··export·type·Disposer<K,·V>·=·(\n····value:·V,\n····key:·K,\n····reason:·DisposeReason,\n··)·=>·void\n\n··/**\n···*·The·reason·why·an·item·was·added·to·the·cache,·passed\n···*·to·the·{@link·Inserter}·methods.\n···*\n···*·-·`add`:·the·item·was·not·found·in·the·cache,·and·was·added\n···*·-·`update`:·the·item·was·in·the·cache,·with·the·same·value·provided\n···*·-·`replace`:·the·item·was·in·the·cache,·and·replaced\n···*/\n··export·type·InsertReason·=·'add'·|·'update'·|·'replace'\n\n··/**\n···*·A·method·called·upon·item·insertion,·passed·as·the\n···*·{@link·OptionsBase.insert}\n···*/\n··export·type·Inserter<K,·V>·=·(\n····value:·V,\n····key:·K,\n····reason:·InsertReason,\n··)·=>·void\n\n··/**\n···*·A·function·that·returns·the·effective·calculated·size\n···*·of·an·entry·in·the·cache.\n···*/\n··export·type·SizeCalculator<K,·V>·=·(value:·V,·key:·K)·=>·Size\n\n··/**\n···*·Options·provided·to·the\n···*·{@link·OptionsBase.fetchMethod}·function.\n···*/\n··export·interface·FetcherOptions<K,·V,·FC·=·unknown>·{\n····signal:·AbortSignal\n····options:·FetcherFetchOptions<K,·V,·FC>\n····/**\n·····*·Object·provided·in·the·{@link·FetchOptions.context}·option·to\n·····*·{@link·LRUCache#fetch}\n·····*/\n····context:·FC\n··}\n\n··/**\n···*·Occasionally,·it·may·be·useful·to·track·the·internal·behavior·of·the\n···*·cache,·particularly·for·logging,·debugging,·or·for·behavior·within·the\n···*·`fetchMethod`.·To·do·this,·you·can·pass·a·`status`·object·to·the\n···*·{@link·LRUCache#fetch},·{@link·LRUCache#get},·{@link·LRUCache#set},\n···*·{@link·LRUCache#memo},·and·{@link·LRUCache#has}·methods.\n···*\n···*·The·`status`·option·should·be·a·plain·JavaScript·object.·The·following\n···*·fields·will·be·set·on·it·appropriately,·depending·on·the·situation.\n···*/\n··export·interface·Status<V>·{\n····/**\n·····*·The·status·of·a·set()·operation.\n·····*\n·····*·-·add:·the·item·was·not·found·in·the·cache,·and·was·added\n·····*·-·update:·the·item·was·in·the·cache,·with·the·same·value·provided\n·····*·-·replace:·the·item·was·in·the·cache,·and·replaced\n·····*·-·miss:·the·item·was·not·added·to·the·cache·for·some·reason\n·····*/\n····set?:·'add'·|·'update'·|·'replace'·|·'miss'\n\n····/**\n·····*·the·ttl·stored·for·the·item,·or·undefined·if·ttls·are·not·used.\n·····*/\n····ttl?:·Milliseconds\n\n····/**\n·····*·the·start·time·for·the·item,·or·undefined·if·ttls·are·not·used.\n·····*/\n····start?:·Milliseconds\n\n····/**\n·····*·The·timestamp·used·for·TTL·calculation\n·····*/\n····now?:·Milliseconds\n\n····/**\n·····*·the·remaining·ttl·for·the·item,·or·undefined·if·ttls·are·not·used.\n·····*/\n····remainingTTL?:·Milliseconds\n\n····/**\n·····*·The·calculated·size·for·the·item,·if·sizes·are·used.\n·····*/\n····entrySize?:·Size\n\n····/**\n·····*·The·total·calculated·size·of·the·cache,·if·sizes·are·used.\n·····*/\n····totalCalculatedSize?:·Size\n\n····/**\n·····*·A·flag·indicating·that·the·item·was·not·stored,·due·to·exceeding·the\n·····*·{@link·OptionsBase.maxEntrySize}\n·····*/\n····maxEntrySizeExceeded?:·true\n\n····/**\n·····*·The·old·value,·specified·in·the·case·of·`set:'update'`·or\n·····*·`set:'replace'`\n·····*/\n····oldValue?:·V\n\n····/**\n·····*·The·results·of·a·{@link·LRUCache#has}·operation\n·····*\n·····*·-·hit:·the·item·was·found·in·the·cache\n·····*·-·stale:·the·item·was·found·in·the·cache,·but·is·stale\n·····*·-·miss:·the·item·was·not·found·in·the·cache\n·····*/\n····has?:·'hit'·|·'stale'·|·'miss'\n\n····/**\n·····*·The·status·of·a·{@link·LRUCache#fetch}·operation.\n·····*·Note·that·this·can·change·as·the·underlying·fetch()·moves·through\n·····*·various·states.\n·····*\n·····*·-·inflight:·there·is·another·fetch()·for·this·key·which·is·in·process\n·····*·-·get:·there·is·no·{@link·OptionsBase.fetchMethod},·so\n·····*···{@link·LRUCache#get}·was·called.\n·····*·-·miss:·the·item·is·not·in·cache,·and·will·be·fetched.\n·····*·-·hit:·the·item·is·in·the·cache,·and·was·resolved·immediately.\n·····*·-·stale:·the·item·is·in·the·cache,·but·stale.\n·····*·-·refresh:·the·item·is·in·the·cache,·and·not·stale,·but\n·····*···{@link·FetchOptions.forceRefresh}·was·specified.\n·····*/\n····fetch?:·'get'·|·'inflight'·|·'miss'·|·'hit'·|·'stale'·|·'refresh'\n\n····/**\n·····*·The·{@link·OptionsBase.fetchMethod}·was·called\n·····*/\n····fetchDispatched?:·true\n\n····/**\n·····*·The·cached·value·was·updated·after·a·successful·call·to\n·····*·{@link·OptionsBase.fetchMethod}\n·····*/\n····fetchUpdated?:·true\n\n····/**\n·····*·The·reason·for·a·fetch()·rejection.··Either·the·error·raised·by·the\n·····*·{@link·OptionsBase.fetchMethod},·or·the·reason·for·an\n·····*·AbortSignal.\n·····*/\n····fetchError?:·Error\n\n····/**\n·····*·The·fetch·received·an·abort·signal\n·····*/\n····fetchAborted?:·true\n\n····/**\n·····*·The·abort·signal·received·was·ignored,·and·the·fetch·was·allowed·to\n·····*·continue.\n·····*/\n····fetchAbortIgnored?:·true\n\n····/**\n·····*·The·fetchMethod·promise·resolved·successfully\n·····*/\n····fetchResolved?:·true\n\n····/**\n·····*·The·fetchMethod·promise·was·rejected\n·····*/\n····fetchRejected?:·true\n\n····/**\n·····*·The·status·of·a·{@link·LRUCache#get}·operation.\n·····*\n·····*·-·fetching:·The·item·is·currently·being·fetched.··If·a·previous·value\n·····*···is·present·and·allowed,·that·will·be·returned.\n·····*·-·stale:·The·item·is·in·the·cache,·and·is·stale.\n·····*·-·hit:·the·item·is·in·the·cache\n·····*·-·miss:·the·item·is·not·in·the·cache\n·····*/\n····get?:·'stale'·|·'hit'·|·'miss'\n\n····/**\n·····*·A·fetch·or·get·operation·returned·a·stale·value.\n·····*/\n····returnedStale?:·true\n··}\n\n··/**\n···*·options·which·override·the·options·set·in·the·LRUCache·constructor\n···*·when·calling·{@link·LRUCache#fetch}.\n···*\n···*·This·is·the·union·of·{@link·GetOptions}·and·{@link·SetOptions},·plus\n···*·{@link·OptionsBase.noDeleteOnFetchRejection},\n···*·{@link·OptionsBase.allowStaleOnFetchRejection},\n···*·{@link·FetchOptions.forceRefresh},·and\n···*·{@link·FetcherOptions.context}\n···*\n···*·Any·of·these·may·be·modified·in·the·{@link·OptionsBase.fetchMethod}\n···*·function,·but·the·{@link·GetOptions}·fields·will·of·course·have·no\n···*·effect,·as·the·{@link·LRUCache#get}·call·already·happened·by·the·time\n···*·the·fetchMethod·is·called.\n···*/\n··export·interface·FetcherFetchOptions<K,·V,·FC·=·unknown>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······|·'allowStale'\n······|·'updateAgeOnGet'\n······|·'noDeleteOnStaleGet'\n······|·'sizeCalculation'\n······|·'ttl'\n······|·'noDisposeOnSet'\n······|·'noUpdateTTL'\n······|·'noDeleteOnFetchRejection'\n······|·'allowStaleOnFetchRejection'\n······|·'ignoreFetchAbort'\n······|·'allowStaleOnFetchAbort'\n····>·{\n····status?:·Status<V>\n····size?:·Size\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#fetch}·method.\n···*/\n··export·interface·FetchOptions<K,·V,·FC>\n····extends·FetcherFetchOptions<K,·V,·FC>·{\n····/**\n·····*·Set·to·true·to·force·a·re-load·of·the·existing·data,·even·if·it\n·····*·is·not·yet·stale.\n·····*/\n····forceRefresh?:·boolean\n····/**\n·····*·Context·provided·to·the·{@link·OptionsBase.fetchMethod}·as\n·····*·the·{@link·FetcherOptions.context}·param.\n·····*\n·····*·If·the·FC·type·is·specified·as·unknown·(the·default),\n·····*·undefined·or·void,·then·this·is·optional.··Otherwise,·it·will\n·····*·be·required.\n·····*/\n····context?:·FC\n····signal?:·AbortSignal\n····status?:·Status<V>\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#fetch}·when·the·FC·type·is·something\n···*·other·than·`unknown`,·`undefined`,·or·`void`\n···*/\n··export·interface·FetchOptionsWithContext<K,·V,·FC>\n····extends·FetchOptions<K,·V,·FC>·{\n····context:·FC\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#fetch}·when·the·FC·type·is\n···*·`undefined`·or·`void`\n···*/\n··export·interface·FetchOptionsNoContext<K,·V>\n····extends·FetchOptions<K,·V,·undefined>·{\n····context?:·undefined\n··}\n\n··export·interface·MemoOptions<K,·V,·FC·=·unknown>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······|·'allowStale'\n······|·'updateAgeOnGet'\n······|·'noDeleteOnStaleGet'\n······|·'sizeCalculation'\n······|·'ttl'\n······|·'noDisposeOnSet'\n······|·'noUpdateTTL'\n······|·'noDeleteOnFetchRejection'\n······|·'allowStaleOnFetchRejection'\n······|·'ignoreFetchAbort'\n······|·'allowStaleOnFetchAbort'\n····>·{\n····/**\n·····*·Set·to·true·to·force·a·re-load·of·the·existing·data,·even·if·it\n·····*·is·not·yet·stale.\n·····*/\n····forceRefresh?:·boolean\n····/**\n·····*·Context·provided·to·the·{@link·OptionsBase.memoMethod}·as\n·····*·the·{@link·MemoizerOptions.context}·param.\n·····*\n·····*·If·the·FC·type·is·specified·as·unknown·(the·default),\n·····*·undefined·or·void,·then·this·is·optional.··Otherwise,·it·will\n·····*·be·required.\n·····*/\n····context?:·FC\n····status?:·Status<V>\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#memo}·when·the·FC·type·is·something\n···*·other·than·`unknown`,·`undefined`,·or·`void`\n···*/\n··export·interface·MemoOptionsWithContext<K,·V,·FC>\n····extends·MemoOptions<K,·V,·FC>·{\n····context:·FC\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#memo}·when·the·FC·type·is\n···*·`undefined`·or·`void`\n···*/\n··export·interface·MemoOptionsNoContext<K,·V>\n····extends·MemoOptions<K,·V,·undefined>·{\n····context?:·undefined\n··}\n\n··/**\n···*·Options·provided·to·the\n···*·{@link·OptionsBase.memoMethod}·function.\n···*/\n··export·interface·MemoizerOptions<K,·V,·FC·=·unknown>·{\n····options:·MemoizerMemoOptions<K,·V,·FC>\n····/**\n·····*·Object·provided·in·the·{@link·MemoOptions.context}·option·to\n·····*·{@link·LRUCache#memo}\n·····*/\n····context:·FC\n··}\n\n··/**\n···*·options·which·override·the·options·set·in·the·LRUCache·constructor\n···*·when·calling·{@link·LRUCache#memo}.\n···*\n···*·This·is·the·union·of·{@link·GetOptions}·and·{@link·SetOptions},·plus\n···*·{@link·MemoOptions.forceRefresh},·and\n···*·{@link·MemoOptions.context}\n···*\n···*·Any·of·these·may·be·modified·in·the·{@link·OptionsBase.memoMethod}\n···*·function,·but·the·{@link·GetOptions}·fields·will·of·course·have·no\n···*·effect,·as·the·{@link·LRUCache#get}·call·already·happened·by·the·time\n···*·the·memoMethod·is·called.\n···*/\n··export·interface·MemoizerMemoOptions<K,·V,·FC·=·unknown>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······|·'allowStale'\n······|·'updateAgeOnGet'\n······|·'noDeleteOnStaleGet'\n······|·'sizeCalculation'\n······|·'ttl'\n······|·'noDisposeOnSet'\n······|·'noUpdateTTL'\n····>·{\n····status?:·Status<V>\n····size?:·Size\n····start?:·Milliseconds\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#has}·method.\n···*/\n··export·interface·HasOptions<K,·V,·FC>\n····extends·Pick<OptionsBase<K,·V,·FC>,·'updateAgeOnHas'>·{\n····status?:·Status<V>\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#get}·method.\n···*/\n··export·interface·GetOptions<K,·V,·FC>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······'allowStale'·|·'updateAgeOnGet'·|·'noDeleteOnStaleGet'\n····>·{\n····status?:·Status<V>\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#peek}·method.\n···*/\n··export·interface·PeekOptions<K,·V,·FC>\n····extends·Pick<OptionsBase<K,·V,·FC>,·'allowStale'>·{}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#set}·method.\n···*/\n··export·interface·SetOptions<K,·V,·FC>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······'sizeCalculation'·|·'ttl'·|·'noDisposeOnSet'·|·'noUpdateTTL'\n····>·{\n····/**\n·····*·If·size·tracking·is·enabled,·then·setting·an·explicit·size\n·····*·in·the·{@link·LRUCache#set}·call·will·prevent·calling·the\n·····*·{@link·OptionsBase.sizeCalculation}·function.\n·····*/\n····size?:·Size\n····/**\n·····*·If·TTL·tracking·is·enabled,·then·setting·an·explicit·start\n·····*·time·in·the·{@link·LRUCache#set}·call·will·override·the\n·····*·default·time·from·`performance.now()`·or·`Date.now()`.\n·····*\n·····*·Note·that·it·must·be·a·valid·value·for·whichever·time-tracking\n·····*·method·is·in·use.\n·····*/\n····start?:·Milliseconds\n····status?:·Status<V>\n··}\n\n··/**\n···*·The·type·signature·for·the·{@link·OptionsBase.fetchMethod}·option.\n···*/\n··export·type·Fetcher<K,·V,·FC·=·unknown>·=·(\n····key:·K,\n····staleValue:·V·|·undefined,\n····options:·FetcherOptions<K,·V,·FC>,\n··)·=>·Promise<V·|·undefined·|·void>·|·V·|·undefined·|·void\n\n··/**\n···*·the·type·signature·for·the·{@link·OptionsBase.memoMethod}·option.\n···*/\n··export·type·Memoizer<K,·V,·FC·=·unknown>·=·(\n····key:·K,\n····staleValue:·V·|·undefined,\n····options:·MemoizerOptions<K,·V,·FC>,\n··)·=>·V\n\n··/**\n···*·Options·which·may·be·passed·to·the·{@link·LRUCache}·constructor.\n···*\n···*·Most·of·these·may·be·overridden·in·the·various·options·that·use\n···*·them.\n···*\n···*·Despite·all·being·technically·optional,·the·constructor·requires·that\n···*·a·cache·is·at·minimum·limited·by·one·or·more·of·{@link·OptionsBase.max},\n···*·{@link·OptionsBase.ttl},·or·{@link·OptionsBase.maxSize}.\n···*\n···*·If·{@link·OptionsBase.ttl}·is·used·alone,·then·it·is·strongly·advised\n···*·(and·in·fact·required·by·the·type·definitions·here)·that·the·cache\n···*·also·set·{@link·OptionsBase.ttlAutopurge},·to·prevent·potentially\n···*·unbounded·storage.\n···*\n···*·All·options·are·also·available·on·the·{@link·LRUCache}·instance,·making\n···*·it·safe·to·pass·an·LRUCache·instance·as·the·options·argumemnt·to\n···*·make·another·empty·cache·of·the·same·type.\n···*\n···*·Some·options·are·marked·as·read-only,·because·changing·them·after\n···*·instantiation·is·not·safe.·Changing·any·of·the·other·options·will·of\n···*·course·only·have·an·effect·on·subsequent·method·calls.\n···*/\n··export·interface·OptionsBase<K,·V,·FC>·{\n····/**\n·····*·The·maximum·number·of·items·to·store·in·the·cache·before·evicting\n·····*·old·entries.·This·is·read-only·on·the·{@link·LRUCache}·instance,\n·····*·and·may·not·be·overridden.\n·····*\n·····*·If·set,·then·storage·space·will·be·pre-allocated·at·construction\n·····*·time,·and·the·cache·will·perform·significantly·faster.\n·····*\n·····*·Note·that·significantly·fewer·items·may·be·stored,·if\n·····*·{@link·OptionsBase.maxSize}·and/or·{@link·OptionsBase.ttl}·are·also\n·····*·set.\n·····*\n·····*·**It·is·strongly·recommended·to·set·a·`max`·to·prevent·unbounded·growth\n·····*·of·the·cache.**\n·····*/\n····max?:·Count\n\n····/**\n·····*·Max·time·in·milliseconds·for·items·to·live·in·cache·before·they·are\n·····*·considered·stale.··Note·that·stale·items·are·NOT·preemptively·removed·by\n·····*·default,·and·MAY·live·in·the·cache,·contributing·to·its·LRU·max,·long\n·····*·after·they·have·expired,·unless·{@link·OptionsBase.ttlAutopurge}·is\n·····*·set.\n·····*\n·····*·If·set·to·`0`·(the·default·value),·then·that·means·\"do·not·track\n·····*·TTL\",·not·\"expire·immediately\".\n·····*\n·····*·Also,·as·this·cache·is·optimized·for·LRU/MRU·operations,·some·of\n·····*·the·staleness/TTL·checks·will·reduce·performance,·as·they·will·incur\n·····*·overhead·by·deleting·items.\n·····*\n·····*·This·is·not·primarily·a·TTL·cache,·and·does·not·make·strong·TTL\n·····*·guarantees.·There·is·no·pre-emptive·pruning·of·expired·items,·but·you\n·····*·_may_·set·a·TTL·on·the·cache,·and·it·will·treat·expired·items·as·missing\n·····*·when·they·are·fetched,·and·delete·them.\n·····*\n·····*·Optional,·but·must·be·a·non-negative·integer·in·ms·if·specified.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.set()`.\n·····*\n·····*·At·least·one·of·`max`,·`maxSize`,·or·`TTL`·is·required.·This·must·be·a\n·····*·positive·integer·if·set.\n·····*\n·····*·Even·if·ttl·tracking·is·enabled,·**it·is·strongly·recommended·to·set·a\n·····*·`max`·to·prevent·unbounded·growth·of·the·cache.**\n·····*\n·····*·If·ttl·tracking·is·enabled,·and·`max`·and·`maxSize`·are·not·set,\n·····*·and·`ttlAutopurge`·is·not·set,·then·a·warning·will·be·emitted\n·····*·cautioning·about·the·potential·for·unbounded·memory·consumption.\n·····*·(The·TypeScript·definitions·will·also·discourage·this.)\n·····*/\n····ttl?:·Milliseconds\n\n····/**\n·····*·Minimum·amount·of·time·in·ms·in·which·to·check·for·staleness.\n·····*·Defaults·to·1,·which·means·that·the·current·time·is·checked\n·····*·at·most·once·per·millisecond.\n·····*\n·····*·Set·to·0·to·check·the·current·time·every·time·staleness·is·tested.\n·····*·(This·reduces·performance,·and·is·theoretically·unnecessary.)\n·····*\n·····*·Setting·this·to·a·higher·value·will·improve·performance·somewhat\n·····*·while·using·ttl·tracking,·albeit·at·the·expense·of·keeping·stale\n·····*·items·around·a·bit·longer·than·their·TTLs·would·indicate.\n·····*\n·····*·@default·1\n·····*/\n····ttlResolution?:·Milliseconds\n\n····/**\n·····*·Preemptively·remove·stale·items·from·the·cache.\n·····*\n·····*·Note·that·this·may·*significantly*·degrade·performance,·especially·if\n·····*·the·cache·is·storing·a·large·number·of·items.·It·is·almost·always·best\n·····*·to·just·leave·the·stale·items·in·the·cache,·and·let·them·fall·out·as·new\n·····*·items·are·added.\n·····*\n·····*·Note·that·this·means·that·{@link·OptionsBase.allowStale}·is·a·bit\n·····*·pointless,·as·stale·items·will·be·deleted·almost·as·soon·as·they\n·····*·expire.\n·····*\n·····*·Use·with·caution!\n·····*/\n····ttlAutopurge?:·boolean\n\n····/**\n·····*·When·using·time-expiring·entries·with·`ttl`,·setting·this·to·`true`·will\n·····*·make·each·item's·age·reset·to·0·whenever·it·is·retrieved·from·cache·with\n·····*·{@link·LRUCache#get},·causing·it·to·not·expire.·(It·can·still·fall·out\n·····*·of·cache·based·on·recency·of·use,·of·course.)\n·····*\n·····*·Has·no·effect·if·{@link·OptionsBase.ttl}·is·not·set.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.get()`.\n·····*/\n····updateAgeOnGet?:·boolean\n\n····/**\n·····*·When·using·time-expiring·entries·with·`ttl`,·setting·this·to·`true`·will\n·····*·make·each·item's·age·reset·to·0·whenever·its·presence·in·the·cache·is\n·····*·checked·with·{@link·LRUCache#has},·causing·it·to·not·expire.·(It·can\n·····*·still·fall·out·of·cache·based·on·recency·of·use,·of·course.)\n·····*\n·····*·Has·no·effect·if·{@link·OptionsBase.ttl}·is·not·set.\n·····*/\n····updateAgeOnHas?:·boolean\n\n····/**\n·····*·Allow·{@link·LRUCache#get}·and·{@link·LRUCache#fetch}·calls·to·return\n·····*·stale·data,·if·available.\n·····*\n·····*·By·default,·if·you·set·`ttl`,·stale·items·will·only·be·deleted·from·the\n·····*·cache·when·you·`get(key)`.·That·is,·it's·not·preemptively·pruning·items,\n·····*·unless·{@link·OptionsBase.ttlAutopurge}·is·set.\n·····*\n·····*·If·you·set·`allowStale:true`,·it'll·return·the·stale·value·*as·well·as*\n·····*·deleting·it.·If·you·don't·set·this,·then·it'll·return·`undefined`·when\n·····*·you·try·to·get·a·stale·entry.\n·····*\n·····*·Note·that·when·a·stale·entry·is·fetched,·_even·if·it·is·returned·due·to\n·····*·`allowStale`·being·set_,·it·is·removed·from·the·cache·immediately.·You\n·····*·can·suppress·this·behavior·by·setting\n·····*·{@link·OptionsBase.noDeleteOnStaleGet},·either·in·the·constructor,·or·in\n·····*·the·options·provided·to·{@link·LRUCache#get}.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.get()`.\n·····*·The·`cache.has()`·method·will·always·return·`false`·for·stale·items.\n·····*\n·····*·Only·relevant·if·a·ttl·is·set.\n·····*/\n····allowStale?:·boolean\n\n····/**\n·····*·Function·that·is·called·on·items·when·they·are·dropped·from·the\n·····*·cache,·as·`dispose(value,·key,·reason)`.\n·····*\n·····*·This·can·be·handy·if·you·want·to·close·file·descriptors·or·do\n·····*·other·cleanup·tasks·when·items·are·no·longer·stored·in·the·cache.\n·····*\n·····*·**NOTE**:·It·is·called·_before_·the·item·has·been·fully·removed\n·····*·from·the·cache,·so·if·you·want·to·put·it·right·back·in,·you·need\n·····*·to·wait·until·the·next·tick.·If·you·try·to·add·it·back·in·during\n·····*·the·`dispose()`·function·call,·it·will·break·things·in·subtle·and\n·····*·weird·ways.\n·····*\n·····*·Unlike·several·other·options,·this·may·_not_·be·overridden·by\n·····*·passing·an·option·to·`set()`,·for·performance·reasons.\n·····*\n·····*·The·`reason`·will·be·one·of·the·following·strings,·corresponding\n·····*·to·the·reason·for·the·item's·deletion:\n·····*\n·····*·-·`evict`·Item·was·evicted·to·make·space·for·a·new·addition\n·····*·-·`set`·Item·was·overwritten·by·a·new·value\n·····*·-·`expire`·Item·expired·its·TTL\n·····*·-·`fetch`·Item·was·deleted·due·to·a·failed·or·aborted·fetch,·or·a\n·····*···fetchMethod·returning·`undefined.\n·····*·-·`delete`·Item·was·removed·by·explicit·`cache.delete(key)`,\n·····*···`cache.clear()`,·or·`cache.set(key,·undefined)`.\n·····*/\n····dispose?:·Disposer<K,·V>\n\n····/**\n·····*·Function·that·is·called·when·new·items·are·inserted·into·the·cache,\n·····*·as·`onInsert(value,·key,·reason)`.\n·····*\n·····*·This·can·be·useful·if·you·need·to·perform·actions·when·an·item·is\n·····*·added,·such·as·logging·or·tracking·insertions.\n·····*\n·····*·Unlike·some·other·options,·this·may·_not_·be·overridden·by·passing\n·····*·an·option·to·`set()`,·for·performance·and·consistency·reasons.\n·····*/\n····onInsert?:·Inserter<K,·V>\n\n····/**\n·····*·The·same·as·{@link·OptionsBase.dispose},·but·called·*after*·the·entry\n·····*·is·completely·removed·and·the·cache·is·once·again·in·a·clean·state.\n·····*\n·····*·It·is·safe·to·add·an·item·right·back·into·the·cache·at·this·point.\n·····*·However,·note·that·it·is·*very*·easy·to·inadvertently·create·infinite\n·····*·recursion·this·way.\n·····*/\n····disposeAfter?:·Disposer<K,·V>\n\n····/**\n·····*·Set·to·true·to·suppress·calling·the\n·····*·{@link·OptionsBase.dispose}·function·if·the·entry·key·is\n·····*·still·accessible·within·the·cache.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to\n·····*·{@link·LRUCache#set}.\n·····*\n·····*·Only·relevant·if·`dispose`·or·`disposeAfter`·are·set.\n·····*/\n····noDisposeOnSet?:·boolean\n\n····/**\n·····*·Boolean·flag·to·tell·the·cache·to·not·update·the·TTL·when·setting·a·new\n·····*·value·for·an·existing·key·(ie,·when·updating·a·value·rather·than\n·····*·inserting·a·new·value).··Note·that·the·TTL·value·is·_always_·set·(if\n·····*·provided)·when·adding·a·new·entry·into·the·cache.\n·····*\n·····*·Has·no·effect·if·a·{@link·OptionsBase.ttl}·is·not·set.\n·····*\n·····*·May·be·passed·as·an·option·to·{@link·LRUCache#set}.\n·····*/\n····noUpdateTTL?:·boolean\n\n····/**\n·····*·Set·to·a·positive·integer·to·track·the·sizes·of·items·added·to·the\n·····*·cache,·and·automatically·evict·items·in·order·to·stay·below·this·size.\n·····*·Note·that·this·may·result·in·fewer·than·`max`·items·being·stored.\n·····*\n·····*·Attempting·to·add·an·item·to·the·cache·whose·calculated·size·is·greater\n·····*·that·this·amount·will·be·a·no-op.·The·item·will·not·be·cached,·and·no\n·····*·other·items·will·be·evicted.\n·····*\n·····*·Optional,·must·be·a·positive·integer·if·provided.\n·····*\n·····*·Sets·`maxEntrySize`·to·the·same·value,·unless·a·different·value·is\n·····*·provided·for·`maxEntrySize`.\n·····*\n·····*·At·least·one·of·`max`,·`maxSize`,·or·`TTL`·is·required.·This·must·be·a\n·····*·positive·integer·if·set.\n·····*\n·····*·Even·if·size·tracking·is·enabled,·**it·is·strongly·recommended·to·set·a\n·····*·`max`·to·prevent·unbounded·growth·of·the·cache.**\n·····*\n·····*·Note·also·that·size·tracking·can·negatively·impact·performance,\n·····*·though·for·most·cases,·only·minimally.\n·····*/\n····maxSize?:·Size\n\n····/**\n·····*·The·maximum·allowed·size·for·any·single·item·in·the·cache.\n·····*\n·····*·If·a·larger·item·is·passed·to·{@link·LRUCache#set}·or·returned·by·a\n·····*·{@link·OptionsBase.fetchMethod}·or·{@link·OptionsBase.memoMethod},·then\n·····*·it·will·not·be·stored·in·the·cache.\n·····*\n·····*·Attempting·to·add·an·item·whose·calculated·size·is·greater·than\n·····*·this·amount·will·not·cache·the·item·or·evict·any·old·items,·but\n·····*·WILL·delete·an·existing·value·if·one·is·already·present.\n·····*\n·····*·Optional,·must·be·a·positive·integer·if·provided.·Defaults·to\n·····*·the·value·of·`maxSize`·if·provided.\n·····*/\n····maxEntrySize?:·Size\n\n····/**\n·····*·A·function·that·returns·a·number·indicating·the·item's·size.\n·····*\n·····*·Requires·{@link·OptionsBase.maxSize}·to·be·set.\n·····*\n·····*·If·not·provided,·and·{@link·OptionsBase.maxSize}·or\n·····*·{@link·OptionsBase.maxEntrySize}·are·set,·then·all\n·····*·{@link·LRUCache#set}·calls·**must**·provide·an·explicit\n·····*·{@link·SetOptions.size}·or·sizeCalculation·param.\n·····*/\n····sizeCalculation?:·SizeCalculator<K,·V>\n\n····/**\n·····*·Method·that·provides·the·implementation·for·{@link·LRUCache#fetch}\n·····*\n·····*·```ts\n·····*·fetchMethod(key,·staleValue,·{·signal,·options,·context·})\n·····*·```\n·····*\n·····*·If·`fetchMethod`·is·not·provided,·then·`cache.fetch(key)`·is·equivalent\n·····*·to·`Promise.resolve(cache.get(key))`.\n·····*\n·····*·If·at·any·time,·`signal.aborted`·is·set·to·`true`,·or·if·the\n·····*·`signal.onabort`·method·is·called,·or·if·it·emits·an·`'abort'`·event\n·····*·which·you·can·listen·to·with·`addEventListener`,·then·that·means·that\n·····*·the·fetch·should·be·abandoned.·This·may·be·passed·along·to·async\n·····*·functions·aware·of·AbortController/AbortSignal·behavior.\n·····*\n·····*·The·`fetchMethod`·should·**only**·return·`undefined`·or·a·Promise\n·····*·resolving·to·`undefined`·if·the·AbortController·signaled·an·`abort`\n·····*·event.·In·all·other·cases,·it·should·return·or·resolve·to·a·value\n·····*·suitable·for·adding·to·the·cache.\n·····*\n·····*·The·`options`·object·is·a·union·of·the·options·that·may·be·provided·to\n·····*·`set()`·and·`get()`.·If·they·are·modified,·then·that·will·result·in\n·····*·modifying·the·settings·to·`cache.set()`·when·the·value·is·resolved,·and\n·····*·in·the·case·of\n·····*·{@link·OptionsBase.noDeleteOnFetchRejection}·and\n·····*·{@link·OptionsBase.allowStaleOnFetchRejection},·the·handling·of\n·····*·`fetchMethod`·failures.\n·····*\n·····*·For·example,·a·DNS·cache·may·update·the·TTL·based·on·the·value·returned\n·····*·from·a·remote·DNS·server·by·changing·`options.ttl`·in·the·`fetchMethod`.\n·····*/\n····fetchMethod?:·Fetcher<K,·V,·FC>\n\n····/**\n·····*·Method·that·provides·the·implementation·for·{@link·LRUCache#memo}\n·····*/\n····memoMethod?:·Memoizer<K,·V,·FC>\n\n····/**\n·····*·Set·to·true·to·suppress·the·deletion·of·stale·data·when·a\n·····*·{@link·OptionsBase.fetchMethod}·returns·a·rejected·promise.\n·····*/\n····noDeleteOnFetchRejection?:·boolean\n\n····/**\n·····*·Do·not·delete·stale·items·when·they·are·retrieved·with\n·····*·{@link·LRUCache#get}.\n·····*\n·····*·Note·that·the·`get`·return·value·will·still·be·`undefined`\n·····*·unless·{@link·OptionsBase.allowStale}·is·true.\n·····*\n·····*·When·using·time-expiring·entries·with·`ttl`,·by·default·stale\n·····*·items·will·be·removed·from·the·cache·when·the·key·is·accessed\n·····*·with·`cache.get()`.\n·····*\n·····*·Setting·this·option·will·cause·stale·items·to·remain·in·the·cache,·until\n·····*·they·are·explicitly·deleted·with·`cache.delete(key)`,·or·retrieved·with\n·····*·`noDeleteOnStaleGet`·set·to·`false`.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.get()`.\n·····*\n·····*·Only·relevant·if·a·ttl·is·used.\n·····*/\n····noDeleteOnStaleGet?:·boolean\n\n····/**\n·····*·Set·to·true·to·allow·returning·stale·data·when·a\n·····*·{@link·OptionsBase.fetchMethod}·throws·an·error·or·returns·a·rejected\n·····*·promise.\n·····*\n·····*·This·differs·from·using·{@link·OptionsBase.allowStale}·in·that·stale\n·····*·data·will·ONLY·be·returned·in·the·case·that·the·{@link·LRUCache#fetch}\n·····*·fails,·not·any·other·times.\n·····*\n·····*·If·a·`fetchMethod`·fails,·and·there·is·no·stale·value·available,·the\n·····*·`fetch()`·will·resolve·to·`undefined`.·Ie,·all·`fetchMethod`·errors·are\n·····*·suppressed.\n·····*\n·····*·Implies·`noDeleteOnFetchRejection`.\n·····*\n·····*·This·may·be·set·in·calls·to·`fetch()`,·or·defaulted·on·the·constructor,\n·····*·or·overridden·by·modifying·the·options·object·in·the·`fetchMethod`.\n·····*/\n····allowStaleOnFetchRejection?:·boolean\n\n····/**\n·····*·Set·to·true·to·return·a·stale·value·from·the·cache·when·the\n·····*·`AbortSignal`·passed·to·the·{@link·OptionsBase.fetchMethod}·dispatches\n·····*·an·`'abort'`·event,·whether·user-triggered,·or·due·to·internal·cache\n·····*·behavior.\n·····*\n·····*·Unless·{@link·OptionsBase.ignoreFetchAbort}·is·also·set,·the·underlying\n·····*·{@link·OptionsBase.fetchMethod}·will·still·be·considered·canceled,·and\n·····*·any·value·it·returns·will·be·ignored·and·not·cached.\n·····*\n·····*·Caveat:·since·fetches·are·aborted·when·a·new·value·is·explicitly\n·····*·set·in·the·cache,·this·can·lead·to·fetch·returning·a·stale·value,\n·····*·since·that·was·the·fallback·value·_at·the·moment·the·`fetch()`·was\n·····*·initiated_,·even·though·the·new·updated·value·is·now·present·in\n·····*·the·cache.\n·····*\n·····*·For·example:\n·····*\n·····*·```ts\n·····*·const·cache·=·new·LRUCache<string,·any>({\n·····*···ttl:·100,\n·····*···fetchMethod:·async·(url,·oldValue,·{·signal·})·=>··{\n·····*·····const·res·=·await·fetch(url,·{·signal·})\n·····*·····return·await·res.json()\n·····*···}\n·····*·})\n·····*·cache.set('https://example.com/',·{·some:·'data'·})\n·····*·//·100ms·go·by...\n·····*·const·result·=·cache.fetch('https://example.com/')\n·····*·cache.set('https://example.com/',·{·other:·'thing'·})\n·····*·console.log(await·result)·//·{·some:·'data'·}\n·····*·console.log(cache.get('https://example.com/'))·//·{·other:·'thing'·}\n·····*·```\n·····*/\n····allowStaleOnFetchAbort?:·boolean\n\n····/**\n·····*·Set·to·true·to·ignore·the·`abort`·event·emitted·by·the·`AbortSignal`\n·····*·object·passed·to·{@link·OptionsBase.fetchMethod},·and·still·cache·the\n·····*·resulting·resolution·value,·as·long·as·it·is·not·`undefined`.\n·····*\n·····*·When·used·on·its·own,·this·means·aborted·{@link·LRUCache#fetch}·calls\n·····*·are·not·immediately·resolved·or·rejected·when·they·are·aborted,·and\n·····*·instead·take·the·full·time·to·await.\n·····*\n·····*·When·used·with·{@link·OptionsBase.allowStaleOnFetchAbort},·aborted\n·····*·{@link·LRUCache#fetch}·calls·will·resolve·immediately·to·their·stale\n·····*·cached·value·or·`undefined`,·and·will·continue·to·process·and·eventually\n·····*·update·the·cache·when·they·resolve,·as·long·as·the·resulting·value·is\n·····*·not·`undefined`,·thus·supporting·a·\"return·stale·on·timeout·while\n·····*·refreshing\"·mechanism·by·passing·`AbortSignal.timeout(n)`·as·the·signal.\n·····*\n·····*·For·example:\n·····*\n·····*·```ts\n·····*·const·c·=·new·LRUCache({\n·····*···ttl:·100,\n·····*···ignoreFetchAbort:·true,\n·····*···allowStaleOnFetchAbort:·true,\n·····*···fetchMethod:·async·(key,·oldValue,·{·signal·})·=>·{\n·····*·····//·note:·do·NOT·pass·the·signal·to·fetch()!\n·····*·····//·let's·say·this·fetch·can·take·a·long·time.\n·····*·····const·res·=·await·fetch(`https://slow-backend-server/${key}`)\n·····*·····return·await·res.json()\n·····*···},\n·····*·})\n·····*\n·····*·//·this·will·return·the·stale·value·after·100ms,·while·still\n·····*·//·updating·in·the·background·for·next·time.\n·····*·const·val·=·await·c.fetch('key',·{·signal:·AbortSignal.timeout(100)·})\n·····*·```\n·····*\n·····*·**Note**:·regardless·of·this·setting,·an·`abort`·event·_is·still\n·····*·emitted·on·the·`AbortSignal`·object_,·so·may·result·in·invalid·results\n·····*·when·passed·to·other·underlying·APIs·that·use·AbortSignals.\n·····*\n·····*·This·may·be·overridden·in·the·{@link·OptionsBase.fetchMethod}·or·the\n·····*·call·to·{@link·LRUCache#fetch}.\n·····*/\n····ignoreFetchAbort?:·boolean\n\n····/**\n·····*·In·some·cases,·you·may·want·to·swap·out·the·performance/Date·object\n·····*·used·for·TTL·tracking.·This·should·almost·certainly·NOT·be·done·in\n·····*·production·environments!\n·····*\n·····*·This·value·defaults·to·`global.performance`·if·it·has·a·`now()`·method,\n·····*·or·the·`global.Date`·object·otherwise.\n·····*/\n····perf?:·Perf\n··}\n\n··export·interface·OptionsMaxLimit<K,·V,·FC>\n····extends·OptionsBase<K,·V,·FC>·{\n····max:·Count\n··}\n··export·interface·OptionsTTLLimit<K,·V,·FC>\n····extends·OptionsBase<K,·V,·FC>·{\n····ttl:·Milliseconds\n····ttlAutopurge:·boolean\n··}\n··export·interface·OptionsSizeLimit<K,·V,·FC>\n····extends·OptionsBase<K,·V,·FC>·{\n····maxSize:·Size\n··}\n\n··/**\n···*·The·valid·safe·options·for·the·{@link·LRUCache}·constructor\n···*/\n··export·type·Options<K,·V,·FC>·=\n····|·OptionsMaxLimit<K,·V,·FC>\n····|·OptionsSizeLimit<K,·V,·FC>\n····|·OptionsTTLLimit<K,·V,·FC>\n\n··/**\n···*·Entry·objects·used·by·{@link·LRUCache#load}·and·{@link·LRUCache#dump},\n···*·and·returned·by·{@link·LRUCache#info}.\n···*/\n··export·interface·Entry<V>·{\n····value:·V\n····ttl?:·Milliseconds\n····size?:·Size\n····start?:·Milliseconds\n··}\n}\n\n/**\n·*·Default·export,·the·thing·you're·using·this·module·to·get.\n·*\n·*·The·`K`·and·`V`·types·define·the·key·and·value·types,·respectively.·The\n·*·optional·`FC`·type·defines·the·type·of·the·`context`·object·passed·to\n·*·`cache.fetch()`·and·`cache.memo()`.\n·*\n·*·Keys·and·values·**must·not**·be·`null`·or·`undefined`.\n·*\n·*·All·properties·from·the·options·object·(with·the·exception·of·`max`,\n·*·`maxSize`,·`fetchMethod`,·`memoMethod`,·`dispose`·and·`disposeAfter`)·are\n·*·added·as·normal·public·members.·(The·listed·options·are·read-only·getters.)\n·*\n·*·Changing·any·of·these·will·alter·the·defaults·for·subsequent·method·calls.\n·*/\nexport·class·LRUCache<K·extends·{},·V·extends·{},·FC·=·unknown>·{\n··//·options·that·cannot·be·changed·without·disaster\n··readonly·#max:·LRUCache.Count\n··readonly·#maxSize:·LRUCache.Size\n··readonly·#dispose?:·LRUCache.Disposer<K,·V>\n··readonly·#onInsert?:·LRUCache.Inserter<K,·V>\n··readonly·#disposeAfter?:·LRUCache.Disposer<K,·V>\n··readonly·#fetchMethod?:·LRUCache.Fetcher<K,·V,·FC>\n··readonly·#memoMethod?:·LRUCache.Memoizer<K,·V,·FC>\n··readonly·#perf:·Perf\n\n··/**\n···*·{@link·LRUCache.OptionsBase.perf}\n···*/\n··get·perf()·{\n····return·this.#perf\n··}\n\n··/**\n···*·{@link·LRUCache.OptionsBase.ttl}\n···*/\n··ttl:·LRUCache.Milliseconds\n\n··/**\n···*·{@link·LRUCache.OptionsBase.ttlResolution}\n···*/\n··ttlResolution:·LRUCache.Milliseconds\n··/**\n···*·{@link·LRUCache.OptionsBase.ttlAutopurge}\n···*/\n··ttlAutopurge:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.updateAgeOnGet}\n···*/\n··updateAgeOnGet:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.updateAgeOnHas}\n···*/\n··updateAgeOnHas:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.allowStale}\n···*/\n··allowStale:·boolean\n\n··/**\n···*·{@link·LRUCache.OptionsBase.noDisposeOnSet}\n···*/\n··noDisposeOnSet:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.noUpdateTTL}\n···*/\n··noUpdateTTL:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.maxEntrySize}\n···*/\n··maxEntrySize:·LRUCache.Size\n··/**\n···*·{@link·LRUCache.OptionsBase.sizeCalculation}\n···*/\n··sizeCalculation?:·LRUCache.SizeCalculator<K,·V>\n··/**\n···*·{@link·LRUCache.OptionsBase.noDeleteOnFetchRejection}\n···*/\n··noDeleteOnFetchRejection:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.noDeleteOnStaleGet}\n···*/\n··noDeleteOnStaleGet:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.allowStaleOnFetchAbort}\n···*/\n··allowStaleOnFetchAbort:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.allowStaleOnFetchRejection}\n···*/\n··allowStaleOnFetchRejection:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.ignoreFetchAbort}\n···*/\n··ignoreFetchAbort:·boolean\n\n··//·computed·properties\n··#size:·LRUCache.Count\n··#calculatedSize:·LRUCache.Size\n··#keyMap:·Map<K,·Index>\n··#keyList:·(K·|·undefined)[]\n··#valList:·(V·|·BackgroundFetch<V>·|·undefined)[]\n··#next:·NumberArray\n··#prev:·NumberArray\n··#head:·Index\n··#tail:·Index\n··#free:·StackLike\n··#disposed?:·DisposeTask<K,·V>[]\n··#sizes?:·ZeroArray\n··#starts?:·ZeroArray\n··#ttls?:·ZeroArray\n··#autopurgeTimers?:·(undefined·|·ReturnType<typeof·setTimeout>)[]\n\n··#hasDispose:·boolean\n··#hasFetchMethod:·boolean\n··#hasDisposeAfter:·boolean\n··#hasOnInsert:·boolean\n\n··/**\n···*·Do·not·call·this·method·unless·you·need·to·inspect·the\n···*·inner·workings·of·the·cache.··If·anything·returned·by·this\n···*·object·is·modified·in·any·way,·strange·breakage·may·occur.\n···*\n···*·These·fields·are·private·for·a·reason!\n···*\n···*·@internal\n···*/\n··static·unsafeExposeInternals<\n····K·extends·{},\n····V·extends·{},\n····FC·extends·unknown·=·unknown,\n··>(c:·LRUCache<K,·V,·FC>)·{\n····return·{\n······//·properties\n······starts:·c.#starts,\n······ttls:·c.#ttls,\n······autopurgeTimers:·c.#autopurgeTimers,\n······sizes:·c.#sizes,\n······keyMap:·c.#keyMap·as·Map<K,·number>,\n······keyList:·c.#keyList,\n······valList:·c.#valList,\n······next:·c.#next,\n······prev:·c.#prev,\n······get·head()·{\n········return·c.#head\n······},\n······get·tail()·{\n········return·c.#tail\n······},\n······free:·c.#free,\n······//·methods\n······isBackgroundFetch:·(p:·any)·=>·c.#isBackgroundFetch(p),\n······backgroundFetch:·(\n········k:·K,\n········index:·number·|·undefined,\n········options:·LRUCache.FetchOptions<K,·V,·FC>,\n········context:·any,\n······):·BackgroundFetch<V>·=>\n········c.#backgroundFetch(\n··········k,\n··········index·as·Index·|·undefined,\n··········options,\n··········context,\n········),\n······moveToTail:·(index:·number):·void·=>·c.#moveToTail(index·as·Index),\n······indexes:·(options?:·{·allowStale:·boolean·})·=>·c.#indexes(options),\n······rindexes:·(options?:·{·allowStale:·boolean·})·=>\n········c.#rindexes(options),\n······isStale:·(index:·number·|·undefined)·=>·c.#isStale(index·as·Index),\n····}\n··}\n\n··//·Protected·read-only·members\n\n··/**\n···*·{@link·LRUCache.OptionsBase.max}·(read-only)\n···*/\n··get·max():·LRUCache.Count·{\n····return·this.#max\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.maxSize}·(read-only)\n···*/\n··get·maxSize():·LRUCache.Count·{\n····return·this.#maxSize\n··}\n··/**\n···*·The·total·computed·size·of·items·in·the·cache·(read-only)\n···*/\n··get·calculatedSize():·LRUCache.Size·{\n····return·this.#calculatedSize\n··}\n··/**\n···*·The·number·of·items·stored·in·the·cache·(read-only)\n···*/\n··get·size():·LRUCache.Count·{\n····return·this.#size\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.fetchMethod}·(read-only)\n···*/\n··get·fetchMethod():·LRUCache.Fetcher<K,·V,·FC>·|·undefined·{\n····return·this.#fetchMethod\n··}\n··get·memoMethod():·LRUCache.Memoizer<K,·V,·FC>·|·undefined·{\n····return·this.#memoMethod\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.dispose}·(read-only)\n···*/\n··get·dispose()·{\n····return·this.#dispose\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.onInsert}·(read-only)\n···*/\n··get·onInsert()·{\n····return·this.#onInsert\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.disposeAfter}·(read-only)\n···*/\n··get·disposeAfter()·{\n····return·this.#disposeAfter\n··}\n\n··constructor(options:·LRUCache.Options<K,·V,·FC>·|·LRUCache<K,·V,·FC>)·{\n····const·{\n······max·=·0,\n······ttl,\n······ttlResolution·=·1,\n······ttlAutopurge,\n······updateAgeOnGet,\n······updateAgeOnHas,\n······allowStale,\n······dispose,\n······onInsert,\n······disposeAfter,\n······noDisposeOnSet,\n······noUpdateTTL,\n······maxSize·=·0,\n······maxEntrySize·=·0,\n······sizeCalculation,\n······fetchMethod,\n······memoMethod,\n······noDeleteOnFetchRejection,\n······noDeleteOnStaleGet,\n······allowStaleOnFetchRejection,\n······allowStaleOnFetchAbort,\n······ignoreFetchAbort,\n······perf,\n····}·=·options\n\n····if·(perf·!==·undefined)·{\n······if·(typeof·perf?.now·!==·'function')·{\n········throw·new·TypeError(\n··········'perf·option·must·have·a·now()·method·if·specified',\n········)\n······}\n····}\n\n····this.#perf·=·perf·??·defaultPerf\n\n····if·(max·!==·0·&&·!isPosInt(max))·{\n······throw·new·TypeError('max·option·must·be·a·nonnegative·integer')\n····}\n\n····const·UintArray·=·max·?·getUintArray(max)·:·Array\n····if·(!UintArray)·{\n······throw·new·Error('invalid·max·value:·'·+·max)\n····}\n\n····this.#max·=·max\n····this.#maxSize·=·maxSize\n····this.maxEntrySize·=·maxEntrySize·||·this.#maxSize\n····this.sizeCalculation·=·sizeCalculation\n····if·(this.sizeCalculation)·{\n······if·(!this.#maxSize·&&·!this.maxEntrySize)·{\n········throw·new·TypeError(\n··········'cannot·set·sizeCalculation·without·setting·maxSize·or·maxEntrySize',\n········)\n······}\n······if·(typeof·this.sizeCalculation·!==·'function')·{\n········throw·new·TypeError('sizeCalculation·set·to·non-function')\n······}\n····}\n\n····if·(memoMethod·!==·undefined·&&·typeof·memoMethod·!==·'function')·{\n······throw·new·TypeError('memoMethod·must·be·a·function·if·defined')\n····}\n····this.#memoMethod·=·memoMethod\n\n····if·(fetchMethod·!==·undefined·&&·typeof·fetchMethod·!==·'function')·{\n······throw·new·TypeError('fetchMethod·must·be·a·function·if·specified')\n····}\n····this.#fetchMethod·=·fetchMethod\n····this.#hasFetchMethod·=·!!fetchMethod\n\n····this.#keyMap·=·new·Map()\n····this.#keyList·=·new·Array(max).fill(undefined)\n····this.#valList·=·new·Array(max).fill(undefined)\n····this.#next·=·new·UintArray(max)\n····this.#prev·=·new·UintArray(max)\n····this.#head·=·0·as·Index\n····this.#tail·=·0·as·Index\n····this.#free·=·Stack.create(max)\n····this.#size·=·0\n····this.#calculatedSize·=·0\n\n····if·(typeof·dispose·===·'function')·{\n······this.#dispose·=·dispose\n····}\n····if·(typeof·onInsert·===·'function')·{\n······this.#onInsert·=·onInsert\n····}\n····if·(typeof·disposeAfter·===·'function')·{\n······this.#disposeAfter·=·disposeAfter\n······this.#disposed·=·[]\n····}·else·{\n······this.#disposeAfter·=·undefined\n······this.#disposed·=·undefined\n····}\n····this.#hasDispose·=·!!this.#dispose\n····this.#hasOnInsert·=·!!this.#onInsert\n····this.#hasDisposeAfter·=·!!this.#disposeAfter\n\n····this.noDisposeOnSet·=·!!noDisposeOnSet\n····this.noUpdateTTL·=·!!noUpdateTTL\n····this.noDeleteOnFetchRejection·=·!!noDeleteOnFetchRejection\n····this.allowStaleOnFetchRejection·=·!!allowStaleOnFetchRejection\n····this.allowStaleOnFetchAbort·=·!!allowStaleOnFetchAbort\n····this.ignoreFetchAbort·=·!!ignoreFetchAbort\n\n····//·NB:·maxEntrySize·is·set·to·maxSize·if·it's·set\n····if·(this.maxEntrySize·!==·0)·{\n······if·(this.#maxSize·!==·0)·{\n········if·(!isPosInt(this.#maxSize))·{\n··········throw·new·TypeError(\n············'maxSize·must·be·a·positive·integer·if·specified',\n··········)\n········}\n······}\n······if·(!isPosInt(this.maxEntrySize))·{\n········throw·new·TypeError(\n··········'maxEntrySize·must·be·a·positive·integer·if·specified',\n········)\n······}\n······this.#initializeSizeTracking()\n····}\n\n····this.allowStale·=·!!allowStale\n····this.noDeleteOnStaleGet·=·!!noDeleteOnStaleGet\n····this.updateAgeOnGet·=·!!updateAgeOnGet\n····this.updateAgeOnHas·=·!!updateAgeOnHas\n····this.ttlResolution·=\n······isPosInt(ttlResolution)·||·ttlResolution·===·0·?·ttlResolution·:·1\n····this.ttlAutopurge·=·!!ttlAutopurge\n····this.ttl·=·ttl·||·0\n····if·(this.ttl)·{\n······if·(!isPosInt(this.ttl))·{\n········throw·new·TypeError('ttl·must·be·a·positive·integer·if·specified')\n······}\n······this.#initializeTTLTracking()\n····}\n\n····//·do·not·allow·completely·unbounded·caches\n····if·(this.#max·===·0·&&·this.ttl·===·0·&&·this.#maxSize·===·0)·{\n······throw·new·TypeError(\n········'At·least·one·of·max,·maxSize,·or·ttl·is·required',\n······)\n····}\n····if·(!this.ttlAutopurge·&&·!this.#max·&&·!this.#maxSize)·{\n······const·code·=·'LRU_CACHE_UNBOUNDED'\n······if·(shouldWarn(code))·{\n········warned.add(code)\n········const·msg·=\n··········'TTL·caching·without·ttlAutopurge,·max,·or·maxSize·can·'·+\n··········'result·in·unbounded·memory·consumption.'\n········emitWarning(msg,·'UnboundedCacheWarning',·code,·LRUCache)\n······}\n····}\n··}\n\n··/**\n···*·Return·the·number·of·ms·left·in·the·item's·TTL.·If·item·is·not·in·cache,\n···*·returns·`0`.·Returns·`Infinity`·if·item·is·in·cache·without·a·defined·TTL.\n···*/\n··getRemainingTTL(key:·K)·{\n····return·this.#keyMap.has(key)·?·Infinity·:·0\n··}\n\n··#initializeTTLTracking()·{\n····const·ttls·=·new·ZeroArray(this.#max)\n····const·starts·=·new·ZeroArray(this.#max)\n····this.#ttls·=·ttls\n····this.#starts·=·starts\n····const·purgeTimers·=\n······this.ttlAutopurge·?\n········new·Array<undefined·|·ReturnType<typeof·setTimeout>>(this.#max)\n······:·undefined\n····this.#autopurgeTimers·=·purgeTimers\n\n····this.#setItemTTL·=·(index,·ttl,·start·=·this.#perf.now())·=>·{\n······starts[index]·=·ttl·!==·0·?·start·:·0\n······ttls[index]·=·ttl\n······//·clear·out·the·purge·timer·if·we're·setting·TTL·to·0,·and\n······//·previously·had·a·ttl·purge·timer·running,·so·it·doesn't\n······//·fire·unnecessarily.\n······if·(purgeTimers?.[index])·{\n········clearTimeout(purgeTimers[index])\n········purgeTimers[index]·=·undefined\n······}\n······if·(ttl·!==·0·&&·purgeTimers)·{\n········const·t·=·setTimeout(()·=>·{\n··········if·(this.#isStale(index))·{\n············this.#delete(this.#keyList[index]·as·K,·'expire')\n··········}\n········},·ttl·+·1)\n········//·unref()·not·supported·on·all·platforms\n········/*·c8·ignore·start·*/\n········if·(t.unref)·{\n··········t.unref()\n········}\n········/*·c8·ignore·stop·*/\n········purgeTimers[index]·=·t\n······}\n····}\n\n····this.#updateItemAge·=·index·=>·{\n······starts[index]·=·ttls[index]·!==·0·?·this.#perf.now()·:·0\n····}\n\n····this.#statusTTL·=·(status,·index)·=>·{\n······if·(ttls[index])·{\n········const·ttl·=·ttls[index]\n········const·start·=·starts[index]\n········/*·c8·ignore·next·*/\n········if·(!ttl·||·!start)·return\n········status.ttl·=·ttl\n········status.start·=·start\n········status.now·=·cachedNow·||·getNow()\n········const·age·=·status.now·-·start\n········status.remainingTTL·=·ttl·-·age\n······}\n····}\n\n····//·debounce·calls·to·perf.now()·to·1s·so·we're·not·hitting\n····//·that·costly·call·repeatedly.\n····let·cachedNow·=·0\n····const·getNow·=·()·=>·{\n······const·n·=·this.#perf.now()\n······if·(this.ttlResolution·>·0)·{\n········cachedNow·=·n\n········const·t·=·setTimeout(()·=>·(cachedNow·=·0),·this.ttlResolution)\n········//·not·available·on·all·platforms\n········/*·c8·ignore·start·*/\n········if·(t.unref)·{\n··········t.unref()\n········}\n········/*·c8·ignore·stop·*/\n······}\n······return·n\n····}\n\n····this.getRemainingTTL·=·key·=>·{\n······const·index·=·this.#keyMap.get(key)\n······if·(index·===·undefined)·{\n········return·0\n······}\n······const·ttl·=·ttls[index]\n······const·start·=·starts[index]\n······if·(!ttl·||·!start)·{\n········return·Infinity\n······}\n······const·age·=·(cachedNow·||·getNow())·-·start\n······return·ttl·-·age\n····}\n\n····this.#isStale·=·index·=>·{\n······const·s·=·starts[index]\n······const·t·=·ttls[index]\n······return·!!t·&&·!!s·&&·(cachedNow·||·getNow())·-·s·>·t\n····}\n··}\n\n··//·conditionally·set·private·methods·related·to·TTL\n··#updateItemAge:·(index:·Index)·=>·void·=·()·=>·{}\n··#statusTTL:·(status:·LRUCache.Status<V>,·index:·Index)·=>·void·=·()·=>·{}\n··#setItemTTL:·(\n····index:·Index,\n····ttl:·LRUCache.Milliseconds,\n····start?:·LRUCache.Milliseconds,\n····//·ignore·because·we·never·call·this·if·we're·not·already·in·TTL·mode\n····/*·c8·ignore·start·*/\n··)·=>·void·=·()·=>·{}\n··/*·c8·ignore·stop·*/\n\n··#isStale:·(index:·Index)·=>·boolean·=·()·=>·false\n\n··#initializeSizeTracking()·{\n····const·sizes·=·new·ZeroArray(this.#max)\n····this.#calculatedSize·=·0\n····this.#sizes·=·sizes\n····this.#removeItemSize·=·index·=>·{\n······this.#calculatedSize·-=·sizes[index]·as·number\n······sizes[index]·=·0\n····}\n····this.#requireSize·=·(k,·v,·size,·sizeCalculation)·=>·{\n······//·provisionally·accept·background·fetches.\n······//·actual·value·size·will·be·checked·when·they·return.\n······if·(this.#isBackgroundFetch(v))·{\n········return·0\n······}\n······if·(!isPosInt(size))·{\n········if·(sizeCalculation)·{\n··········if·(typeof·sizeCalculation·!==·'function')·{\n············throw·new·TypeError('sizeCalculation·must·be·a·function')\n··········}\n··········size·=·sizeCalculation(v,·k)\n··········if·(!isPosInt(size))·{\n············throw·new·TypeError(\n··············'sizeCalculation·return·invalid·(expect·positive·integer)',\n············)\n··········}\n········}·else·{\n··········throw·new·TypeError(\n············'invalid·size·value·(must·be·positive·integer).·'·+\n··············'When·maxSize·or·maxEntrySize·is·used,·sizeCalculation·'·+\n··············'or·size·must·be·set.',\n··········)\n········}\n······}\n······return·size\n····}\n····this.#addItemSize·=·(\n······index:·Index,\n······size:·LRUCache.Size,\n······status?:·LRUCache.Status<V>,\n····)·=>·{\n······sizes[index]·=·size\n······if·(this.#maxSize)·{\n········const·maxSize·=·this.#maxSize·-·(sizes[index]·as·number)\n········while·(this.#calculatedSize·>·maxSize)·{\n··········this.#evict(true)\n········}\n······}\n······this.#calculatedSize·+=·sizes[index]·as·number\n······if·(status)·{\n········status.entrySize·=·size\n········status.totalCalculatedSize·=·this.#calculatedSize\n······}\n····}\n··}\n\n··#removeItemSize:·(index:·Index)·=>·void·=·_i·=>·{}\n··#addItemSize:·(\n····index:·Index,\n····size:·LRUCache.Size,\n····status?:·LRUCache.Status<V>,\n··)·=>·void·=·(_i,·_s,·_st)·=>·{}\n··#requireSize:·(\n····k:·K,\n····v:·V·|·BackgroundFetch<V>,\n····size?:·LRUCache.Size,\n····sizeCalculation?:·LRUCache.SizeCalculator<K,·V>,\n··)·=>·LRUCache.Size·=·(\n····_k:·K,\n····_v:·V·|·BackgroundFetch<V>,\n····size?:·LRUCache.Size,\n····sizeCalculation?:·LRUCache.SizeCalculator<K,·V>,\n··)·=>·{\n····if·(size·||·sizeCalculation)·{\n······throw·new·TypeError(\n········'cannot·set·size·without·setting·maxSize·or·maxEntrySize·on·cache',\n······)\n····}\n····return·0\n··};\n\n··*#indexes({·allowStale·=·this.allowStale·}·=·{})·{\n····if·(this.#size)·{\n······for·(let·i·=·this.#tail;·true;·)·{\n········if·(!this.#isValidIndex(i))·{\n··········break\n········}\n········if·(allowStale·||·!this.#isStale(i))·{\n··········yield·i\n········}\n········if·(i·===·this.#head)·{\n··········break\n········}·else·{\n··········i·=·this.#prev[i]·as·Index\n········}\n······}\n····}\n··}\n\n··*#rindexes({·allowStale·=·this.allowStale·}·=·{})·{\n····if·(this.#size)·{\n······for·(let·i·=·this.#head;·true;·)·{\n········if·(!this.#isValidIndex(i))·{\n··········break\n········}\n········if·(allowStale·||·!this.#isStale(i))·{\n··········yield·i\n········}\n········if·(i·===·this.#tail)·{\n··········break\n········}·else·{\n··········i·=·this.#next[i]·as·Index\n········}\n······}\n····}\n··}\n\n··#isValidIndex(index:·Index)·{\n····return·(\n······index·!==·undefined·&&\n······this.#keyMap.get(this.#keyList[index]·as·K)·===·index\n····)\n··}\n\n··/**\n···*·Return·a·generator·yielding·`[key,·value]`·pairs,\n···*·in·order·from·most·recently·used·to·least·recently·used.\n···*/\n··*entries()·{\n····for·(const·i·of·this.#indexes())·{\n······if·(\n········this.#valList[i]·!==·undefined·&&\n········this.#keyList[i]·!==·undefined·&&\n········!this.#isBackgroundFetch(this.#valList[i])\n······)·{\n········yield·[this.#keyList[i],·this.#valList[i]]·as·[K,·V]\n······}\n····}\n··}\n\n··/**\n···*·Inverse·order·version·of·{@link·LRUCache.entries}\n···*\n···*·Return·a·generator·yielding·`[key,·value]`·pairs,\n···*·in·order·from·least·recently·used·to·most·recently·used.\n···*/\n··*rentries()·{\n····for·(const·i·of·this.#rindexes())·{\n······if·(\n········this.#valList[i]·!==·undefined·&&\n········this.#keyList[i]·!==·undefined·&&\n········!this.#isBackgroundFetch(this.#valList[i])\n······)·{\n········yield·[this.#keyList[i],·this.#valList[i]]\n······}\n····}\n··}\n\n··/**\n···*·Return·a·generator·yielding·the·keys·in·the·cache,\n···*·in·order·from·most·recently·used·to·least·recently·used.\n···*/\n··*keys()·{\n····for·(const·i·of·this.#indexes())·{\n······const·k·=·this.#keyList[i]\n······if·(k·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·k\n······}\n····}\n··}\n\n··/**\n···*·Inverse·order·version·of·{@link·LRUCache.keys}\n···*\n···*·Return·a·generator·yielding·the·keys·in·the·cache,\n···*·in·order·from·least·recently·used·to·most·recently·used.\n···*/\n··*rkeys()·{\n····for·(const·i·of·this.#rindexes())·{\n······const·k·=·this.#keyList[i]\n······if·(k·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·k\n······}\n····}\n··}\n\n··/**\n···*·Return·a·generator·yielding·the·values·in·the·cache,\n···*·in·order·from·most·recently·used·to·least·recently·used.\n···*/\n··*values()·{\n····for·(const·i·of·this.#indexes())·{\n······const·v·=·this.#valList[i]\n······if·(v·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·this.#valList[i]·as·V\n······}\n····}\n··}\n\n··/**\n···*·Inverse·order·version·of·{@link·LRUCache.values}\n···*\n···*·Return·a·generator·yielding·the·values·in·the·cache,\n···*·in·order·from·least·recently·used·to·most·recently·used.\n···*/\n··*rvalues()·{\n····for·(const·i·of·this.#rindexes())·{\n······const·v·=·this.#valList[i]\n······if·(v·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·this.#valList[i]\n······}\n····}\n··}\n\n··/**\n···*·Iterating·over·the·cache·itself·yields·the·same·results·as\n···*·{@link·LRUCache.entries}\n···*/\n··[Symbol.iterator]()·{\n····return·this.entries()\n··}\n\n··/**\n···*·A·String·value·that·is·used·in·the·creation·of·the·default·string\n···*·description·of·an·object.·Called·by·the·built-in·method\n···*·`Object.prototype.toString`.\n···*/\n··[Symbol.toStringTag]·=·'LRUCache'\n\n··/**\n···*·Find·a·value·for·which·the·supplied·fn·method·returns·a·truthy·value,\n···*·similar·to·`Array.find()`.·fn·is·called·as·`fn(value,·key,·cache)`.\n···*/\n··find(\n····fn:·(v:·V,·k:·K,·self:·LRUCache<K,·V,·FC>)·=>·boolean,\n····getOptions:·LRUCache.GetOptions<K,·V,·FC>·=·{},\n··)·{\n····for·(const·i·of·this.#indexes())·{\n······const·v·=·this.#valList[i]\n······const·value·=·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined)·continue\n······if·(fn(value,·this.#keyList[i]·as·K,·this))·{\n········return·this.get(this.#keyList[i]·as·K,·getOptions)\n······}\n····}\n··}\n\n··/**\n···*·Call·the·supplied·function·on·each·item·in·the·cache,·in·order·from·most\n···*·recently·used·to·least·recently·used.\n···*\n···*·`fn`·is·called·as·`fn(value,·key,·cache)`.\n···*\n···*·If·`thisp`·is·provided,·function·will·be·called·in·the·`this`-context·of\n···*·the·provided·object,·or·the·cache·if·no·`thisp`·object·is·provided.\n···*\n···*·Does·not·update·age·or·recenty·of·use,·or·iterate·over·stale·values.\n···*/\n··forEach(\n····fn:·(v:·V,·k:·K,·self:·LRUCache<K,·V,·FC>)·=>·any,\n····thisp:·any·=·this,\n··)·{\n····for·(const·i·of·this.#indexes())·{\n······const·v·=·this.#valList[i]\n······const·value·=·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined)·continue\n······fn.call(thisp,·value,·this.#keyList[i]·as·K,·this)\n····}\n··}\n\n··/**\n···*·The·same·as·{@link·LRUCache.forEach}·but·items·are·iterated·over·in\n···*·reverse·order.··(ie,·less·recently·used·items·are·iterated·over·first.)\n···*/\n··rforEach(\n····fn:·(v:·V,·k:·K,·self:·LRUCache<K,·V,·FC>)·=>·any,\n····thisp:·any·=·this,\n··)·{\n····for·(const·i·of·this.#rindexes())·{\n······const·v·=·this.#valList[i]\n······const·value·=·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined)·continue\n······fn.call(thisp,·value,·this.#keyList[i]·as·K,·this)\n····}\n··}\n\n··/**\n···*·Delete·any·stale·entries.·Returns·true·if·anything·was·removed,\n···*·false·otherwise.\n···*/\n··purgeStale()·{\n····let·deleted·=·false\n····for·(const·i·of·this.#rindexes({·allowStale:·true·}))·{\n······if·(this.#isStale(i))·{\n········this.#delete(this.#keyList[i]·as·K,·'expire')\n········deleted·=·true\n······}\n····}\n····return·deleted\n··}\n\n··/**\n···*·Get·the·extended·info·about·a·given·entry,·to·get·its·value,·size,·and\n···*·TTL·info·simultaneously.·Returns·`undefined`·if·the·key·is·not·present.\n···*\n···*·Unlike·{@link·LRUCache#dump},·which·is·designed·to·be·portable·and·survive\n···*·serialization,·the·`start`·value·is·always·the·current·timestamp,·and·the\n···*·`ttl`·is·a·calculated·remaining·time·to·live·(negative·if·expired).\n···*\n···*·Always·returns·stale·values,·if·their·info·is·found·in·the·cache,·so·be\n···*·sure·to·check·for·expirations·(ie,·a·negative·{@link·LRUCache.Entry#ttl})\n···*·if·relevant.\n···*/\n··info(key:·K):·LRUCache.Entry<V>·|·undefined·{\n····const·i·=·this.#keyMap.get(key)\n····if·(i·===·undefined)·return·undefined\n····const·v·=·this.#valList[i]\n····/*·c8·ignore·start·-·this·isn't·tested·for·the·info·function,\n·····*·but·it's·the·same·logic·as·found·in·other·places.·*/\n····const·value:·V·|·undefined·=\n······this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n····if·(value·===·undefined)·return·undefined\n····/*·c8·ignore·end·*/\n····const·entry:·LRUCache.Entry<V>·=·{·value·}\n····if·(this.#ttls·&&·this.#starts)·{\n······const·ttl·=·this.#ttls[i]\n······const·start·=·this.#starts[i]\n······if·(ttl·&&·start)·{\n········const·remain·=·ttl·-·(this.#perf.now()·-·start)\n········entry.ttl·=·remain\n········entry.start·=·Date.now()\n······}\n····}\n····if·(this.#sizes)·{\n······entry.size·=·this.#sizes[i]\n····}\n····return·entry\n··}\n\n··/**\n···*·Return·an·array·of·[key,·{@link·LRUCache.Entry}]·tuples·which·can·be\n···*·passed·to·{@link·LRUCache#load}.\n···*\n···*·The·`start`·fields·are·calculated·relative·to·a·portable·`Date.now()`\n···*·timestamp,·even·if·`performance.now()`·is·available.\n···*\n···*·Stale·entries·are·always·included·in·the·`dump`,·even·if\n···*·{@link·LRUCache.OptionsBase.allowStale}·is·false.\n···*\n···*·Note:·this·returns·an·actual·array,·not·a·generator,·so·it·can·be·more\n···*·easily·passed·around.\n···*/\n··dump()·{\n····const·arr:·[K,·LRUCache.Entry<V>][]·=·[]\n····for·(const·i·of·this.#indexes({·allowStale:·true·}))·{\n······const·key·=·this.#keyList[i]\n······const·v·=·this.#valList[i]\n······const·value:·V·|·undefined·=\n········this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined·||·key·===·undefined)·continue\n······const·entry:·LRUCache.Entry<V>·=·{·value·}\n······if·(this.#ttls·&&·this.#starts)·{\n········entry.ttl·=·this.#ttls[i]\n········//·always·dump·the·start·relative·to·a·portable·timestamp\n········//·it's·ok·for·this·to·be·a·bit·slow,·it's·a·rare·operation.\n········const·age·=·this.#perf.now()·-·(this.#starts[i]·as·number)\n········entry.start·=·Math.floor(Date.now()·-·age)\n······}\n······if·(this.#sizes)·{\n········entry.size·=·this.#sizes[i]\n······}\n······arr.unshift([key,·entry])\n····}\n····return·arr\n··}\n\n··/**\n···*·Reset·the·cache·and·load·in·the·items·in·entries·in·the·order·listed.\n···*\n···*·The·shape·of·the·resulting·cache·may·be·different·if·the·same·options·are\n···*·not·used·in·both·caches.\n···*\n···*·The·`start`·fields·are·assumed·to·be·calculated·relative·to·a·portable\n···*·`Date.now()`·timestamp,·even·if·`performance.now()`·is·available.\n···*/\n··load(arr:·[K,·LRUCache.Entry<V>][])·{\n····this.clear()\n····for·(const·[key,·entry]·of·arr)·{\n······if·(entry.start)·{\n········//·entry.start·is·a·portable·timestamp,·but·we·may·be·using\n········//·node's·performance.now(),·so·calculate·the·offset,·so·that\n········//·we·get·the·intended·remaining·TTL,·no·matter·how·long·it's\n········//·been·on·ice.\n········//\n········//·it's·ok·for·this·to·be·a·bit·slow,·it's·a·rare·operation.\n········const·age·=·Date.now()·-·entry.start\n········entry.start·=·this.#perf.now()·-·age\n······}\n······this.set(key,·entry.value,·entry)\n····}\n··}\n\n··/**\n···*·Add·a·value·to·the·cache.\n···*\n···*·Note:·if·`undefined`·is·specified·as·a·value,·this·is·an·alias·for\n···*·{@link·LRUCache#delete}\n···*\n···*·Fields·on·the·{@link·LRUCache.SetOptions}·options·param·will·override\n···*·their·corresponding·values·in·the·constructor·options·for·the·scope\n···*·of·this·single·`set()`·operation.\n···*\n···*·If·`start`·is·provided,·then·that·will·set·the·effective·start\n···*·time·for·the·TTL·calculation.·Note·that·this·must·be·a·previous\n···*·value·of·`performance.now()`·if·supported,·or·a·previous·value·of\n···*·`Date.now()`·if·not.\n···*\n···*·Options·object·may·also·include·`size`,·which·will·prevent\n···*·calling·the·`sizeCalculation`·function·and·just·use·the·specified\n···*·number·if·it·is·a·positive·integer,·and·`noDisposeOnSet`·which\n···*·will·prevent·calling·a·`dispose`·function·in·the·case·of\n···*·overwrites.\n···*\n···*·If·the·`size`·(or·return·value·of·`sizeCalculation`)·for·a·given\n···*·entry·is·greater·than·`maxEntrySize`,·then·the·item·will·not·be\n···*·added·to·the·cache.\n···*\n···*·Will·update·the·recency·of·the·entry.\n···*\n···*·If·the·value·is·`undefined`,·then·this·is·an·alias·for\n···*·`cache.delete(key)`.·`undefined`·is·never·stored·in·the·cache.\n···*/\n··set(\n····k:·K,\n····v:·V·|·BackgroundFetch<V>·|·undefined,\n····setOptions:·LRUCache.SetOptions<K,·V,·FC>·=·{},\n··)·{\n····if·(v·===·undefined)·{\n······this.delete(k)\n······return·this\n····}\n····const·{\n······ttl·=·this.ttl,\n······start,\n······noDisposeOnSet·=·this.noDisposeOnSet,\n······sizeCalculation·=·this.sizeCalculation,\n······status,\n····}·=·setOptions\n····let·{·noUpdateTTL·=·this.noUpdateTTL·}·=·setOptions\n\n····const·size·=·this.#requireSize(\n······k,\n······v,\n······setOptions.size·||·0,\n······sizeCalculation,\n····)\n····//·if·the·item·doesn't·fit,·don't·do·anything\n····//·NB:·maxEntrySize·set·to·maxSize·by·default\n····if·(this.maxEntrySize·&&·size·>·this.maxEntrySize)·{\n······if·(status)·{\n········status.set·=·'miss'\n········status.maxEntrySizeExceeded·=·true\n······}\n······//·have·to·delete,·in·case·something·is·there·already.\n······this.#delete(k,·'set')\n······return·this\n····}\n····let·index·=·this.#size·===·0·?·undefined·:·this.#keyMap.get(k)\n····if·(index·===·undefined)·{\n······//·addition\n······index·=·(\n········this.#size·===·0·?·this.#tail\n········:·this.#free.length·!==·0·?·this.#free.pop()\n········:·this.#size·===·this.#max·?·this.#evict(false)\n········:·this.#size)·as·Index\n······this.#keyList[index]·=·k\n······this.#valList[index]·=·v\n······this.#keyMap.set(k,·index)\n······this.#next[this.#tail]·=·index\n······this.#prev[index]·=·this.#tail\n······this.#tail·=·index\n······this.#size++\n······this.#addItemSize(index,·size,·status)\n······if·(status)·status.set·=·'add'\n······noUpdateTTL·=·false\n······if·(this.#hasOnInsert)·{\n········this.#onInsert?.(v·as·V,·k,·'add')\n······}\n····}·else·{\n······//·update\n······this.#moveToTail(index)\n······const·oldVal·=·this.#valList[index]·as·V·|·BackgroundFetch<V>\n······if·(v·!==·oldVal)·{\n········if·(this.#hasFetchMethod·&&·this.#isBackgroundFetch(oldVal))·{\n··········oldVal.__abortController.abort(new·Error('replaced'))\n··········const·{·__staleWhileFetching:·s·}·=·oldVal\n··········if·(s·!==·undefined·&&·!noDisposeOnSet)·{\n············if·(this.#hasDispose)·{\n··············this.#dispose?.(s·as·V,·k,·'set')\n············}\n············if·(this.#hasDisposeAfter)·{\n··············this.#disposed?.push([s·as·V,·k,·'set'])\n············}\n··········}\n········}·else·if·(!noDisposeOnSet)·{\n··········if·(this.#hasDispose)·{\n············this.#dispose?.(oldVal·as·V,·k,·'set')\n··········}\n··········if·(this.#hasDisposeAfter)·{\n············this.#disposed?.push([oldVal·as·V,·k,·'set'])\n··········}\n········}\n········this.#removeItemSize(index)\n········this.#addItemSize(index,·size,·status)\n········this.#valList[index]·=·v\n········if·(status)·{\n··········status.set·=·'replace'\n··········const·oldValue·=\n············oldVal·&&·this.#isBackgroundFetch(oldVal)·?\n··············oldVal.__staleWhileFetching\n············:·oldVal\n··········if·(oldValue·!==·undefined)·status.oldValue·=·oldValue\n········}\n······}·else·if·(status)·{\n········status.set·=·'update'\n······}\n\n······if·(this.#hasOnInsert)·{\n········this.onInsert?.(v·as·V,·k,·v·===·oldVal·?·'update'·:·'replace')\n······}\n····}\n····if·(ttl·!==·0·&&·!this.#ttls)·{\n······this.#initializeTTLTracking()\n····}\n····if·(this.#ttls)·{\n······if·(!noUpdateTTL)·{\n········this.#setItemTTL(index,·ttl,·start)\n······}\n······if·(status)·this.#statusTTL(status,·index)\n····}\n····if·(!noDisposeOnSet·&&·this.#hasDisposeAfter·&&·this.#disposed)·{\n······const·dt·=·this.#disposed\n······let·task:·DisposeTask<K,·V>·|·undefined\n······while·((task·=·dt?.shift()))·{\n········this.#disposeAfter?.(...task)\n······}\n····}\n····return·this\n··}\n\n··/**\n···*·Evict·the·least·recently·used·item,·returning·its·value·or\n···*·`undefined`·if·cache·is·empty.\n···*/\n··pop():·V·|·undefined·{\n····try·{\n······while·(this.#size)·{\n········const·val·=·this.#valList[this.#head]\n········this.#evict(true)\n········if·(this.#isBackgroundFetch(val))·{\n··········if·(val.__staleWhileFetching)·{\n············return·val.__staleWhileFetching\n··········}\n········}·else·if·(val·!==·undefined)·{\n··········return·val\n········}\n······}\n····}·finally·{\n······if·(this.#hasDisposeAfter·&&·this.#disposed)·{\n········const·dt·=·this.#disposed\n········let·task:·DisposeTask<K,·V>·|·undefined\n········while·((task·=·dt?.shift()))·{\n··········this.#disposeAfter?.(...task)\n········}\n······}\n····}\n··}\n\n··#evict(free:·boolean)·{\n····const·head·=·this.#head\n····const·k·=·this.#keyList[head]·as·K\n····const·v·=·this.#valList[head]·as·V\n····if·(this.#hasFetchMethod·&&·this.#isBackgroundFetch(v))·{\n······v.__abortController.abort(new·Error('evicted'))\n····}·else·if·(this.#hasDispose·||·this.#hasDisposeAfter)·{\n······if·(this.#hasDispose)·{\n········this.#dispose?.(v,·k,·'evict')\n······}\n······if·(this.#hasDisposeAfter)·{\n········this.#disposed?.push([v,·k,·'evict'])\n······}\n····}\n····this.#removeItemSize(head)\n····if·(this.#autopurgeTimers?.[head])·{\n······clearTimeout(this.#autopurgeTimers[head])\n······this.#autopurgeTimers[head]·=·undefined\n····}\n····//·if·we·aren't·about·to·use·the·index,·then·null·these·out\n····if·(free)·{\n······this.#keyList[head]·=·undefined\n······this.#valList[head]·=·undefined\n······this.#free.push(head)\n····}\n····if·(this.#size·===·1)·{\n······this.#head·=·this.#tail·=·0·as·Index\n······this.#free.length·=·0\n····}·else·{\n······this.#head·=·this.#next[head]·as·Index\n····}\n····this.#keyMap.delete(k)\n····this.#size--\n····return·head\n··}\n\n··/**\n···*·Check·if·a·key·is·in·the·cache,·without·updating·the·recency·of·use.\n···*·Will·return·false·if·the·item·is·stale,·even·though·it·is·technically\n···*·in·the·cache.\n···*\n···*·Check·if·a·key·is·in·the·cache,·without·updating·the·recency·of\n···*·use.·Age·is·updated·if·{@link·LRUCache.OptionsBase.updateAgeOnHas}·is·set\n···*·to·`true`·in·either·the·options·or·the·constructor.\n···*\n···*·Will·return·`false`·if·the·item·is·stale,·even·though·it·is·technically·in\n···*·the·cache.·The·difference·can·be·determined·(if·it·matters)·by·using·a\n···*·`status`·argument,·and·inspecting·the·`has`·field.\n···*\n···*·Will·not·update·item·age·unless\n···*·{@link·LRUCache.OptionsBase.updateAgeOnHas}·is·set.\n···*/\n··has(k:·K,·hasOptions:·LRUCache.HasOptions<K,·V,·FC>·=·{})·{\n····const·{·updateAgeOnHas·=·this.updateAgeOnHas,·status·}·=·hasOptions\n····const·index·=·this.#keyMap.get(k)\n····if·(index·!==·undefined)·{\n······const·v·=·this.#valList[index]\n······if·(\n········this.#isBackgroundFetch(v)·&&\n········v.__staleWhileFetching·===·undefined\n······)·{\n········return·false\n······}\n······if·(!this.#isStale(index))·{\n········if·(updateAgeOnHas)·{\n··········this.#updateItemAge(index)\n········}\n········if·(status)·{\n··········status.has·=·'hit'\n··········this.#statusTTL(status,·index)\n········}\n········return·true\n······}·else·if·(status)·{\n········status.has·=·'stale'\n········this.#statusTTL(status,·index)\n······}\n····}·else·if·(status)·{\n······status.has·=·'miss'\n····}\n····return·false\n··}\n\n··/**\n···*·Like·{@link·LRUCache#get}·but·doesn't·update·recency·or·delete·stale\n···*·items.\n···*\n···*·Returns·`undefined`·if·the·item·is·stale,·unless\n···*·{@link·LRUCache.OptionsBase.allowStale}·is·set.\n···*/\n··peek(k:·K,·peekOptions:·LRUCache.PeekOptions<K,·V,·FC>·=·{})·{\n····const·{·allowStale·=·this.allowStale·}·=·peekOptions\n····const·index·=·this.#keyMap.get(k)\n····if·(index·===·undefined·||·(!allowStale·&&·this.#isStale(index)))·{\n······return\n····}\n····const·v·=·this.#valList[index]\n····//·either·stale·and·allowed,·or·forcing·a·refresh·of·non-stale·value\n····return·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n··}\n\n··#backgroundFetch(\n····k:·K,\n····index:·Index·|·undefined,\n····options:·LRUCache.FetchOptions<K,·V,·FC>,\n····context:·any,\n··):·BackgroundFetch<V>·{\n····const·v·=·index·===·undefined·?·undefined·:·this.#valList[index]\n····if·(this.#isBackgroundFetch(v))·{\n······return·v\n····}\n\n····const·ac·=·new·AC()\n····const·{·signal·}·=·options\n····//·when/if·our·AC·signals,·then·stop·listening·to·theirs.\n····signal?.addEventListener('abort',·()·=>·ac.abort(signal.reason),·{\n······signal:·ac.signal,\n····})\n\n····const·fetchOpts·=·{\n······signal:·ac.signal,\n······options,\n······context,\n····}\n\n····const·cb·=·(v:·V·|·undefined,·updateCache·=·false):·V·|·undefined·=>·{\n······const·{·aborted·}·=·ac.signal\n······const·ignoreAbort·=·options.ignoreFetchAbort·&&·v·!==·undefined\n······const·proceed·=·options.ignoreFetchAbort·||\n········!!(options.allowStaleOnFetchAbort·&&·v·!==·undefined)\n······if·(options.status)·{\n········if·(aborted·&&·!updateCache)·{\n··········options.status.fetchAborted·=·true\n··········options.status.fetchError·=·ac.signal.reason\n··········if·(ignoreAbort)·options.status.fetchAbortIgnored·=·true\n········}·else·{\n··········options.status.fetchResolved·=·true\n········}\n······}\n······if·(aborted·&&·!ignoreAbort·&&·!updateCache)·{\n········return·fetchFail(ac.signal.reason,·proceed)\n······}\n······//·either·we·didn't·abort,·and·are·still·here,·or·we·did,·and·ignored\n······const·bf·=·p·as·BackgroundFetch<V>\n······//·if·nothing·else·has·been·written·there·but·we're·set·to·update·the\n······//·cache·and·ignore·the·abort,·or·if·it's·still·pending·on·this·specific\n······//·background·request,·then·write·it·to·the·cache.\n······const·vl·=·this.#valList[index·as·Index]\n······if·(vl·===·p·||·(ignoreAbort·&&·updateCache·&&·vl·===·undefined))·{\n········if·(v·===·undefined)·{\n··········if·(bf.__staleWhileFetching·!==·undefined)·{\n············this.#valList[index·as·Index]·=·bf.__staleWhileFetching\n··········}·else·{\n············this.#delete(k,·'fetch')\n··········}\n········}·else·{\n··········if·(options.status)·options.status.fetchUpdated·=·true\n··········this.set(k,·v,·fetchOpts.options)\n········}\n······}\n······return·v\n····}\n\n····const·eb·=·(er:·any)·=>·{\n······if·(options.status)·{\n········options.status.fetchRejected·=·true\n········options.status.fetchError·=·er\n······}\n······//·do·not·pass·go,·do·not·collect·$200\n······return·fetchFail(er,·false)\n····}\n\n····const·fetchFail·=·(er:·any,·proceed:·boolean):·V·|·undefined·=>·{\n······const·{·aborted·}·=·ac.signal\n······const·allowStaleAborted·=·aborted·&&·options.allowStaleOnFetchAbort\n······const·allowStale·=\n········allowStaleAborted·||·options.allowStaleOnFetchRejection\n······const·noDelete·=·allowStale·||·options.noDeleteOnFetchRejection\n······const·bf·=·p·as·BackgroundFetch<V>\n······if·(this.#valList[index·as·Index]·===·p)·{\n········//·if·we·allow·stale·on·fetch·rejections,·then·we·need·to·ensure·that\n········//·the·stale·value·is·not·removed·from·the·cache·when·the·fetch·fails.\n········const·del·=·!noDelete·||\n··········!proceed·&&·bf.__staleWhileFetching·===·undefined\n········if·(del)·{\n··········this.#delete(k,·'fetch')\n········}·else·if·(!allowStaleAborted)·{\n··········//·still·replace·the·*promise*·with·the·stale·value,\n··········//·since·we·are·done·with·the·promise·at·this·point.\n··········//·leave·it·untouched·if·we're·still·waiting·for·an\n··········//·aborted·background·fetch·that·hasn't·yet·returned.\n··········this.#valList[index·as·Index]·=·bf.__staleWhileFetching\n········}\n······}\n······if·(allowStale)·{\n········if·(options.status·&&·bf.__staleWhileFetching·!==·undefined)·{\n··········options.status.returnedStale·=·true\n········}\n········return·bf.__staleWhileFetching\n······}·else·if·(bf.__returned·===·bf)·{\n········throw·er\n······}\n····}\n\n····const·pcall·=·(\n······res:·(v:·V·|·undefined)·=>·void,\n······rej:·(e:·any)·=>·void,\n····)·=>·{\n······const·fmp·=·this.#fetchMethod?.(k,·v,·fetchOpts)\n······if·(fmp·&&·fmp·instanceof·Promise)·{\n········fmp.then(v·=>·res(v·===·undefined·?·undefined·:·v),·rej)\n······}\n······//·ignored,·we·go·until·we·finish,·regardless.\n······//·defer·check·until·we·are·actually·aborting,\n······//·so·fetchMethod·can·override.\n······ac.signal.addEventListener('abort',·()·=>·{\n········if·(!options.ignoreFetchAbort·||·options.allowStaleOnFetchAbort)·{\n··········res(undefined)\n··········//·when·it·eventually·resolves,·update·the·cache.\n··········if·(options.allowStaleOnFetchAbort)·{\n············res·=·v·=>·cb(v,·true)\n··········}\n········}\n······})\n····}\n\n····if·(options.status)·options.status.fetchDispatched·=·true\n····const·p·=·new·Promise(pcall).then(cb,·eb)\n····const·bf:·BackgroundFetch<V>·=·Object.assign(p,·{\n······__abortController:·ac,\n······__staleWhileFetching:·v,\n······__returned:·undefined,\n····})\n\n····if·(index·===·undefined)·{\n······//·internal,·don't·expose·status.\n······this.set(k,·bf,·{·...fetchOpts.options,·status:·undefined·})\n······index·=·this.#keyMap.get(k)\n····}·else·{\n······this.#valList[index]·=·bf\n····}\n····return·bf\n··}\n\n··#isBackgroundFetch(p:·any):·p·is·BackgroundFetch<V>·{\n····if·(!this.#hasFetchMethod)·return·false\n····const·b·=·p·as·BackgroundFetch<V>\n····return·(\n······!!b·&&\n······b·instanceof·Promise·&&\n······b.hasOwnProperty('__staleWhileFetching')·&&\n······b.__abortController·instanceof·AC\n····)\n··}\n\n··/**\n···*·Make·an·asynchronous·cached·fetch·using·the\n···*·{@link·LRUCache.OptionsBase.fetchMethod}·function.\n···*\n···*·If·the·value·is·in·the·cache·and·not·stale,·then·the·returned\n···*·Promise·resolves·to·the·value.\n···*\n···*·If·not·in·the·cache,·or·beyond·its·TTL·staleness,·then\n···*·`fetchMethod(key,·staleValue,·{·options,·signal,·context·})`·is\n···*·called,·and·the·value·returned·will·be·added·to·the·cache·once\n···*·resolved.\n···*\n···*·If·called·with·`allowStale`,·and·an·asynchronous·fetch·is\n···*·currently·in·progress·to·reload·a·stale·value,·then·the·former\n···*·stale·value·will·be·returned.\n···*\n···*·If·called·with·`forceRefresh`,·then·the·cached·item·will·be\n···*·re-fetched,·even·if·it·is·not·stale.·However,·if·`allowStale`·is·also\n···*·set,·then·the·old·value·will·still·be·returned.·This·is·useful\n···*·in·cases·where·you·want·to·force·a·reload·of·a·cached·value.·If\n···*·a·background·fetch·is·already·in·progress,·then·`forceRefresh`\n···*·has·no·effect.\n···*\n···*·If·multiple·fetches·for·the·same·key·are·issued,·then·they·will·all·be\n···*·coalesced·into·a·single·call·to·fetchMethod.\n···*\n···*·Note·that·this·means·that·handling·options·such·as\n···*·{@link·LRUCache.OptionsBase.allowStaleOnFetchAbort},\n···*·{@link·LRUCache.FetchOptions.signal},\n···*·and·{@link·LRUCache.OptionsBase.allowStaleOnFetchRejection}·will·be\n···*·determined·by·the·FIRST·fetch()·call·for·a·given·key.\n···*\n···*·This·is·a·known·(fixable)·shortcoming·which·will·be·addresed·on·when\n···*·someone·complains·about·it,·as·the·fix·would·involve·added·complexity·and\n···*·may·not·be·worth·the·costs·for·this·edge·case.\n···*\n···*·If·{@link·LRUCache.OptionsBase.fetchMethod}·is·not·specified,·then·this·is\n···*·effectively·an·alias·for·`Promise.resolve(cache.get(key))`.\n···*\n···*·When·the·fetch·method·resolves·to·a·value,·if·the·fetch·has·not\n···*·been·aborted·due·to·deletion,·eviction,·or·being·overwritten,\n···*·then·it·is·added·to·the·cache·using·the·options·provided.\n···*\n···*·If·the·key·is·evicted·or·deleted·before·the·`fetchMethod`\n···*·resolves,·then·the·AbortSignal·passed·to·the·`fetchMethod`·will\n···*·receive·an·`abort`·event,·and·the·promise·returned·by·`fetch()`\n···*·will·reject·with·the·reason·for·the·abort.\n···*\n···*·If·a·`signal`·is·passed·to·the·`fetch()`·call,·then·aborting·the\n···*·signal·will·abort·the·fetch·and·cause·the·`fetch()`·promise·to\n···*·reject·with·the·reason·provided.\n···*\n···*·**Setting·`context`**\n···*\n···*·If·an·`FC`·type·is·set·to·a·type·other·than·`unknown`,·`void`,·or\n···*·`undefined`·in·the·{@link·LRUCache}·constructor,·then·all\n···*·calls·to·`cache.fetch()`·_must_·provide·a·`context`·option.·If\n···*·set·to·`undefined`·or·`void`,·then·calls·to·fetch·_must·not_\n···*·provide·a·`context`·option.\n···*\n···*·The·`context`·param·allows·you·to·provide·arbitrary·data·that\n···*·might·be·relevant·in·the·course·of·fetching·the·data.·It·is·only\n···*·relevant·for·the·course·of·a·single·`fetch()`·operation,·and\n···*·discarded·afterwards.\n···*\n···*·**Note:·`fetch()`·calls·are·inflight-unique**\n···*\n···*·If·you·call·`fetch()`·multiple·times·with·the·same·key·value,\n···*·then·every·call·after·the·first·will·resolve·on·the·same\n···*·promise<sup>1</sup>,\n···*·_even·if·they·have·different·settings·that·would·otherwise·change\n···*·the·behavior·of·the·fetch_,·such·as·`noDeleteOnFetchRejection`\n···*·or·`ignoreFetchAbort`.\n···*\n···*·In·most·cases,·this·is·not·a·problem·(in·fact,·only·fetching\n···*·something·once·is·what·you·probably·want,·if·you're·caching·in\n···*·the·first·place).·If·you·are·changing·the·fetch()·options\n···*·dramatically·between·runs,·there's·a·good·chance·that·you·might\n···*·be·trying·to·fit·divergent·semantics·into·a·single·object,·and\n···*·would·be·better·off·with·multiple·cache·instances.\n···*\n···*·**1**:·Ie,·they're·not·the·\"same·Promise\",·but·they·resolve·at\n···*·the·same·time,·because·they're·both·waiting·on·the·same\n···*·underlying·fetchMethod·response.\n···*/\n\n··fetch(\n····k:·K,\n····fetchOptions:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·LRUCache.FetchOptionsWithContext<K,·V,·FC>,\n··):·Promise<undefined·|·V>\n\n··//·this·overload·not·allowed·if·context·is·required\n··fetch(\n····k:·unknown·extends·FC·?·K\n····:·FC·extends·undefined·|·void·?·K\n····:·never,\n····fetchOptions?:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·never,\n··):·Promise<undefined·|·V>\n\n··async·fetch(\n····k:·K,\n····fetchOptions:·LRUCache.FetchOptions<K,·V,·FC>·=·{},\n··):·Promise<undefined·|·V>·{\n····const·{\n······//·get·options\n······allowStale·=·this.allowStale,\n······updateAgeOnGet·=·this.updateAgeOnGet,\n······noDeleteOnStaleGet·=·this.noDeleteOnStaleGet,\n······//·set·options\n······ttl·=·this.ttl,\n······noDisposeOnSet·=·this.noDisposeOnSet,\n······size·=·0,\n······sizeCalculation·=·this.sizeCalculation,\n······noUpdateTTL·=·this.noUpdateTTL,\n······//·fetch·exclusive·options\n······noDeleteOnFetchRejection·=·this.noDeleteOnFetchRejection,\n······allowStaleOnFetchRejection·=·this.allowStaleOnFetchRejection,\n······ignoreFetchAbort·=·this.ignoreFetchAbort,\n······allowStaleOnFetchAbort·=·this.allowStaleOnFetchAbort,\n······context,\n······forceRefresh·=·false,\n······status,\n······signal,\n····}·=·fetchOptions\n\n····if·(!this.#hasFetchMethod)·{\n······if·(status)·status.fetch·=·'get'\n······return·this.get(k,·{\n········allowStale,\n········updateAgeOnGet,\n········noDeleteOnStaleGet,\n········status,\n······})\n····}\n\n····const·options·=·{\n······allowStale,\n······updateAgeOnGet,\n······noDeleteOnStaleGet,\n······ttl,\n······noDisposeOnSet,\n······size,\n······sizeCalculation,\n······noUpdateTTL,\n······noDeleteOnFetchRejection,\n······allowStaleOnFetchRejection,\n······allowStaleOnFetchAbort,\n······ignoreFetchAbort,\n······status,\n······signal,\n····}\n\n····let·index·=·this.#keyMap.get(k)\n····if·(index·===·undefined)·{\n······if·(status)·status.fetch·=·'miss'\n······const·p·=·this.#backgroundFetch(k,·index,·options,·context)\n······return·(p.__returned·=·p)\n····}·else·{\n······//·in·cache,·maybe·already·fetching\n······const·v·=·this.#valList[index]\n······if·(this.#isBackgroundFetch(v))·{\n········const·stale·=·allowStale·&&·v.__staleWhileFetching·!==·undefined\n········if·(status)·{\n··········status.fetch·=·'inflight'\n··········if·(stale)·status.returnedStale·=·true\n········}\n········return·stale·?·v.__staleWhileFetching·:·(v.__returned·=·v)\n······}\n\n······//·if·we·force·a·refresh,·that·means·do·NOT·serve·the·cached·value,\n······//·unless·we·are·already·in·the·process·of·refreshing·the·cache.\n······const·isStale·=·this.#isStale(index)\n······if·(!forceRefresh·&&·!isStale)·{\n········if·(status)·status.fetch·=·'hit'\n········this.#moveToTail(index)\n········if·(updateAgeOnGet)·{\n··········this.#updateItemAge(index)\n········}\n········if·(status)·this.#statusTTL(status,·index)\n········return·v\n······}\n\n······//·ok,·it·is·stale·or·a·forced·refresh,·and·not·already·fetching.\n······//·refresh·the·cache.\n······const·p·=·this.#backgroundFetch(k,·index,·options,·context)\n······const·hasStale·=·p.__staleWhileFetching·!==·undefined\n······const·staleVal·=·hasStale·&&·allowStale\n······if·(status)·{\n········status.fetch·=·isStale·?·'stale'·:·'refresh'\n········if·(staleVal·&&·isStale)·status.returnedStale·=·true\n······}\n······return·staleVal·?·p.__staleWhileFetching·:·(p.__returned·=·p)\n····}\n··}\n\n··/**\n···*·In·some·cases,·`cache.fetch()`·may·resolve·to·`undefined`,·either·because\n···*·a·{@link·LRUCache.OptionsBase#fetchMethod}·was·not·provided·(turning\n···*·`cache.fetch(k)`·into·just·an·async·wrapper·around·`cache.get(k)`)·or\n···*·because·`ignoreFetchAbort`·was·specified·(either·to·the·constructor·or\n···*·in·the·{@link·LRUCache.FetchOptions}).·Also,·the\n···*·{@link·LRUCache.OptionsBase.fetchMethod}·may·return·`undefined`·or·`void`,·making\n···*·the·test·even·more·complicated.\n···*\n···*·Because·inferring·the·cases·where·`undefined`·might·be·returned·are·so\n···*·cumbersome,·but·testing·for·`undefined`·can·also·be·annoying,·this·method\n···*·can·be·used,·which·will·reject·if·`this.fetch()`·resolves·to·undefined.\n···*/\n··forceFetch(\n····k:·K,\n····fetchOptions:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·LRUCache.FetchOptionsWithContext<K,·V,·FC>,\n··):·Promise<V>\n··//·this·overload·not·allowed·if·context·is·required\n··forceFetch(\n····k:·unknown·extends·FC·?·K\n····:·FC·extends·undefined·|·void·?·K\n····:·never,\n····fetchOptions?:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·never,\n··):·Promise<V>\n··async·forceFetch(\n····k:·K,\n····fetchOptions:·LRUCache.FetchOptions<K,·V,·FC>·=·{},\n··):·Promise<V>·{\n····const·v·=·await·this.fetch(\n······k,\n······fetchOptions·as·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n······:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n······:·LRUCache.FetchOptionsWithContext<K,·V,·FC>,\n····)\n····if·(v·===·undefined)·throw·new·Error('fetch()·returned·undefined')\n····return·v\n··}\n\n··/**\n···*·If·the·key·is·found·in·the·cache,·then·this·is·equivalent·to\n···*·{@link·LRUCache#get}.·If·not,·in·the·cache,·then·calculate·the·value·using\n···*·the·{@link·LRUCache.OptionsBase.memoMethod},·and·add·it·to·the·cache.\n···*\n···*·If·an·`FC`·type·is·set·to·a·type·other·than·`unknown`,·`void`,·or\n···*·`undefined`·in·the·LRUCache·constructor,·then·all·calls·to·`cache.memo()`\n···*·_must_·provide·a·`context`·option.·If·set·to·`undefined`·or·`void`,·then\n···*·calls·to·memo·_must·not_·provide·a·`context`·option.\n···*\n···*·The·`context`·param·allows·you·to·provide·arbitrary·data·that·might·be\n···*·relevant·in·the·course·of·fetching·the·data.·It·is·only·relevant·for·the\n···*·course·of·a·single·`memo()`·operation,·and·discarded·afterwards.\n···*/\n··memo(\n····k:·K,\n····memoOptions:·unknown·extends·FC·?·LRUCache.MemoOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.MemoOptionsNoContext<K,·V>\n····:·LRUCache.MemoOptionsWithContext<K,·V,·FC>,\n··):·V\n··//·this·overload·not·allowed·if·context·is·required\n··memo(\n····k:·unknown·extends·FC·?·K\n····:·FC·extends·undefined·|·void·?·K\n····:·never,\n····memoOptions?:·unknown·extends·FC·?·LRUCache.MemoOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.MemoOptionsNoContext<K,·V>\n····:·never,\n··):·V\n··memo(k:·K,·memoOptions:·LRUCache.MemoOptions<K,·V,·FC>·=·{})·{\n····const·memoMethod·=·this.#memoMethod\n····if·(!memoMethod)·{\n······throw·new·Error('no·memoMethod·provided·to·constructor')\n····}\n····const·{·context,·forceRefresh,·...options·}·=·memoOptions\n····const·v·=·this.get(k,·options)\n····if·(!forceRefresh·&&·v·!==·undefined)·return·v\n····const·vv·=·memoMethod(k,·v,·{\n······options,\n······context,\n····}·as·LRUCache.MemoizerOptions<K,·V,·FC>)\n····this.set(k,·vv,·options)\n····return·vv\n··}\n\n··/**\n···*·Return·a·value·from·the·cache.·Will·update·the·recency·of·the·cache\n···*·entry·found.\n···*\n···*·If·the·key·is·not·found,·get()·will·return·`undefined`.\n···*/\n··get(k:·K,·getOptions:·LRUCache.GetOptions<K,·V,·FC>·=·{})·{\n····const·{\n······allowStale·=·this.allowStale,\n······updateAgeOnGet·=·this.updateAgeOnGet,\n······noDeleteOnStaleGet·=·this.noDeleteOnStaleGet,\n······status,\n····}·=·getOptions\n····const·index·=·this.#keyMap.get(k)\n····if·(index·!==·undefined)·{\n······const·value·=·this.#valList[index]\n······const·fetching·=·this.#isBackgroundFetch(value)\n······if·(status)·this.#statusTTL(status,·index)\n······if·(this.#isStale(index))·{\n········if·(status)·status.get·=·'stale'\n········//·delete·only·if·not·an·in-flight·background·fetch\n········if·(!fetching)·{\n··········if·(!noDeleteOnStaleGet)·{\n············this.#delete(k,·'expire')\n··········}\n··········if·(status·&&·allowStale)·status.returnedStale·=·true\n··········return·allowStale·?·value·:·undefined\n········}·else·{\n··········if·(\n············status·&&\n············allowStale·&&\n············value.__staleWhileFetching·!==·undefined\n··········)·{\n············status.returnedStale·=·true\n··········}\n··········return·allowStale·?·value.__staleWhileFetching·:·undefined\n········}\n······}·else·{\n········if·(status)·status.get·=·'hit'\n········//·if·we're·currently·fetching·it,·we·don't·actually·have·it·yet\n········//·it's·not·stale,·which·means·this·isn't·a·staleWhileRefetching.\n········//·If·it's·not·stale,·and·fetching,·AND·has·a·__staleWhileFetching\n········//·value,·then·that·means·the·user·fetched·with·{forceRefresh:true},\n········//·so·it's·safe·to·return·that·value.\n········if·(fetching)·{\n··········return·value.__staleWhileFetching\n········}\n········this.#moveToTail(index)\n········if·(updateAgeOnGet)·{\n··········this.#updateItemAge(index)\n········}\n········return·value\n······}\n····}·else·if·(status)·{\n······status.get·=·'miss'\n····}\n··}\n\n··#connect(p:·Index,·n:·Index)·{\n····this.#prev[n]·=·p\n····this.#next[p]·=·n\n··}\n\n··#moveToTail(index:·Index):·void·{\n····//·if·tail·already,·nothing·to·do\n····//·if·head,·move·head·to·next[index]\n····//·else\n····//···move·next[prev[index]]·to·next[index]·(head·has·no·prev)\n····//···move·prev[next[index]]·to·prev[index]\n····//·prev[index]·=·tail\n····//·next[tail]·=·index\n····//·tail·=·index\n····if·(index·!==·this.#tail)·{\n······if·(index·===·this.#head)·{\n········this.#head·=·this.#next[index]·as·Index\n······}·else·{\n········this.#connect(\n··········this.#prev[index]·as·Index,\n··········this.#next[index]·as·Index,\n········)\n······}\n······this.#connect(this.#tail,·index)\n······this.#tail·=·index\n····}\n··}\n\n··/**\n···*·Deletes·a·key·out·of·the·cache.\n···*\n···*·Returns·true·if·the·key·was·deleted,·false·otherwise.\n···*/\n··delete(k:·K)·{\n····return·this.#delete(k,·'delete')\n··}\n\n··#delete(k:·K,·reason:·LRUCache.DisposeReason)·{\n····let·deleted·=·false\n····if·(this.#size·!==·0)·{\n······const·index·=·this.#keyMap.get(k)\n······if·(index·!==·undefined)·{\n········if·(this.#autopurgeTimers?.[index])·{\n··········clearTimeout(this.#autopurgeTimers?.[index])\n··········this.#autopurgeTimers[index]·=·undefined\n········}\n········deleted·=·true\n········if·(this.#size·===·1)·{\n··········this.#clear(reason)\n········}·else·{\n··········this.#removeItemSize(index)\n··········const·v·=·this.#valList[index]\n··········if·(this.#isBackgroundFetch(v))·{\n············v.__abortController.abort(new·Error('deleted'))\n··········}·else·if·(this.#hasDispose·||·this.#hasDisposeAfter)·{\n············if·(this.#hasDispose)·{\n··············this.#dispose?.(v·as·V,·k,·reason)\n············}\n············if·(this.#hasDisposeAfter)·{\n··············this.#disposed?.push([v·as·V,·k,·reason])\n············}\n··········}\n··········this.#keyMap.delete(k)\n··········this.#keyList[index]·=·undefined\n··········this.#valList[index]·=·undefined\n··········if·(index·===·this.#tail)·{\n············this.#tail·=·this.#prev[index]·as·Index\n··········}·else·if·(index·===·this.#head)·{\n············this.#head·=·this.#next[index]·as·Index\n··········}·else·{\n············const·pi·=·this.#prev[index]·as·number\n············this.#next[pi]·=·this.#next[index]·as·number\n············const·ni·=·this.#next[index]·as·number\n············this.#prev[ni]·=·this.#prev[index]·as·number\n··········}\n··········this.#size--\n··········this.#free.push(index)\n········}\n······}\n····}\n····if·(this.#hasDisposeAfter·&&·this.#disposed?.length)·{\n······const·dt·=·this.#disposed\n······let·task:·DisposeTask<K,·V>·|·undefined\n······while·((task·=·dt?.shift()))·{\n········this.#disposeAfter?.(...task)\n······}\n····}\n····return·deleted\n··}\n\n··/**\n···*·Clear·the·cache·entirely,·throwing·away·all·values.\n···*/\n··clear()·{\n····return·this.#clear('delete')\n··}\n··#clear(reason:·LRUCache.DisposeReason)·{\n····for·(const·index·of·this.#rindexes({·allowStale:·true·}))·{\n······const·v·=·this.#valList[index]\n······if·(this.#isBackgroundFetch(v))·{\n········v.__abortController.abort(new·Error('deleted'))\n······}·else·{\n········const·k·=·this.#keyList[index]\n········if·(this.#hasDispose)·{\n··········this.#dispose?.(v·as·V,·k·as·K,·reason)\n········}\n········if·(this.#hasDisposeAfter)·{\n··········this.#disposed?.push([v·as·V,·k·as·K,·reason])\n········}\n······}\n····}\n\n····this.#keyMap.clear()\n····this.#valList.fill(undefined)\n····this.#keyList.fill(undefined)\n····if·(this.#ttls·&&·this.#starts)·{\n······this.#ttls.fill(0)\n······this.#starts.fill(0)\n······for·(const·t·of·this.#autopurgeTimers·??·[])·{\n········if·(t·!==·undefined)·clearTimeout(t)\n······}\n······this.#autopurgeTimers?.fill(undefined)\n····}\n····if·(this.#sizes)·{\n······this.#sizes.fill(0)\n····}\n····this.#head·=·0·as·Index\n····this.#tail·=·0·as·Index\n····this.#free.length·=·0\n····this.#calculatedSize·=·0\n····this.#size·=·0\n····if·(this.#hasDisposeAfter·&&·this.#disposed)·{\n······const·dt·=·this.#disposed\n······let·task:·DisposeTask<K,·V>·|·undefined\n······while·((task·=·dt?.shift()))·{\n········this.#disposeAfter?.(...task)\n······}\n····}\n··}\n}\n",1023 ········"/**\n·*·@module·LRUCache\n·*/\n\n//·module-private·names·and·types\n//·this·provides·the·default·Perf·object·source.\n//·it·can·be·passed·in·via·configuration·to·override·it\n//·for·a·single·LRU·object.\nexport·type·Perf·=·{·now:·()·=>·number·}\nconst·defaultPerf:·Perf·=\n··(\n····typeof·performance·===·'object'·&&\n····performance·&&\n····typeof·performance.now·===·'function'\n··)·?\n····performance\n··:·Date\n\nconst·warned·=·new·Set<string>()\n\n//·either·a·function·or·a·class\ntype·ForC·=·((...a:·any[])·=>·any)·|·{·new·(...a:·any[]):·any·}\n\n/*·c8·ignore·start·*/\nconst·PROCESS·=·(\n··typeof·process·===·'object'·&&·!!process·?\n····process\n··:·{})·as·{·[k:·string]:·any·}\n/*·c8·ignore·start·*/\n\nconst·emitWarning·=·(\n··msg:·string,\n··type:·string,\n··code:·string,\n··fn:·ForC,\n)·=>·{\n··typeof·PROCESS.emitWarning·===·'function'·?\n····PROCESS.emitWarning(msg,·type,·code,·fn)\n··:·console.error(`[${code}]·${type}:·${msg}`)\n}\n\nlet·AC·=·globalThis.AbortController\nlet·AS·=·globalThis.AbortSignal\n\n/*·c8·ignore·start·*/\nif·(typeof·AC·===·'undefined')·{\n··//@ts-ignore\n··AS·=·class·AbortSignal·{\n····onabort?:·(...a:·any[])·=>·any\n····_onabort:·((...a:·any[])·=>·any)[]·=·[]\n····reason?:·any\n····aborted:·boolean·=·false\n····addEventListener(_:·string,·fn:·(...a:·any[])·=>·any)·{\n······this._onabort.push(fn)\n····}\n··}\n··//@ts-ignore\n··AC·=·class·AbortController·{\n····constructor()·{\n······warnACPolyfill()\n····}\n····signal·=·new·AS()\n····abort(reason:·any)·{\n······if·(this.signal.aborted)·return\n······//@ts-ignore\n······this.signal.reason·=·reason\n······//@ts-ignore\n······this.signal.aborted·=·true\n······//@ts-ignore\n······for·(const·fn·of·this.signal._onabort)·{\n········fn(reason)\n······}\n······this.signal.onabort?.(reason)\n····}\n··}\n··let·printACPolyfillWarning·=\n····PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING·!==·'1'\n··const·warnACPolyfill·=·()·=>·{\n····if·(!printACPolyfillWarning)·return\n····printACPolyfillWarning·=·false\n····emitWarning(\n······'AbortController·is·not·defined.·If·using·lru-cache·in·'·+\n········'node·14,·load·an·AbortController·polyfill·from·the·'·+\n········'`node-abort-controller`·package.·A·minimal·polyfill·is·'·+\n········'provided·for·use·by·LRUCache.fetch(),·but·it·should·not·be·'·+\n········'relied·upon·in·other·contexts·(eg,·passing·it·to·other·APIs·that·'·+\n········'use·AbortController/AbortSignal·might·have·undesirable·effects).·'·+\n········'You·may·disable·this·with·LRU_CACHE_IGNORE_AC_WARNING=1·in·the·env.',\n······'NO_ABORT_CONTROLLER',\n······'ENOTSUP',\n······warnACPolyfill,\n····)\n··}\n}\n/*·c8·ignore·stop·*/\n\nconst·shouldWarn·=·(code:·string)·=>·!warned.has(code)\n\nconst·TYPE·=·Symbol('type')\nexport·type·PosInt·=·number·&·{·[TYPE]:·'Positive·Integer'·}\nexport·type·Index·=·number·&·{·[TYPE]:·'LRUCache·Index'·}\n\nconst·isPosInt·=·(n:·any):·n·is·PosInt·=>\n··n·&&·n·===·Math.floor(n)·&&·n·>·0·&&·isFinite(n)\n\nexport·type·UintArray·=·Uint8Array·|·Uint16Array·|·Uint32Array\nexport·type·NumberArray·=·UintArray·|·number[]\n\n/*·c8·ignore·start·*/\n//·This·is·a·little·bit·ridiculous,·tbh.\n//·The·maximum·array·length·is·2^32-1·or·thereabouts·on·most·JS·impls.\n//·And·well·before·that·point,·you're·caching·the·entire·world,·I·mean,\n//·that's·~32GB·of·just·integers·for·the·next/prev·links,·plus·whatever\n//·else·to·hold·that·many·keys·and·values.··Just·filling·the·memory·with\n//·zeroes·at·init·time·is·brutal·when·you·get·that·big.\n//·But·why·not·be·complete?\n//·Maybe·in·the·future,·these·limits·will·have·expanded.\nconst·getUintArray·=·(max:·number)·=>\n··!isPosInt(max)·?·null\n··:·max·<=·Math.pow(2,·8)·?·Uint8Array\n··:·max·<=·Math.pow(2,·16)·?·Uint16Array\n··:·max·<=·Math.pow(2,·32)·?·Uint32Array\n··:·max·<=·Number.MAX_SAFE_INTEGER·?·ZeroArray\n··:·null\n/*·c8·ignore·stop·*/\n\nclass·ZeroArray·extends·Array<number>·{\n··constructor(size:·number)·{\n····super(size)\n····this.fill(0)\n··}\n}\nexport·type·{·ZeroArray·}\nexport·type·{·Stack·}\n\nexport·type·StackLike·=·Stack·|·Index[]\nclass·Stack·{\n··heap:·NumberArray\n··length:·number\n··//·private·constructor\n··static·#constructing:·boolean·=·false\n··static·create(max:·number):·StackLike·{\n····const·HeapCls·=·getUintArray(max)\n····if·(!HeapCls)·return·[]\n····Stack.#constructing·=·true\n····const·s·=·new·Stack(max,·HeapCls)\n····Stack.#constructing·=·false\n····return·s\n··}\n··constructor(max:·number,·HeapCls:·{·new·(n:·number):·NumberArray·})·{\n····/*·c8·ignore·start·*/\n····if·(!Stack.#constructing)·{\n······throw·new·TypeError('instantiate·Stack·using·Stack.create(n)')\n····}\n····/*·c8·ignore·stop·*/\n····this.heap·=·new·HeapCls(max)\n····this.length·=·0\n··}\n··push(n:·Index)·{\n····this.heap[this.length++]·=·n\n··}\n··pop():·Index·{\n····return·this.heap[--this.length]·as·Index\n··}\n}\n\n/**\n·*·Promise·representing·an·in-progress·{@link·LRUCache#fetch}·call\n·*/\nexport·type·BackgroundFetch<V>·=·Promise<V·|·undefined>·&·{\n··__returned:·BackgroundFetch<V>·|·undefined\n··__abortController:·AbortController\n··__staleWhileFetching:·V·|·undefined\n}\n\nexport·type·DisposeTask<K,·V>·=·[\n··value:·V,\n··key:·K,\n··reason:·LRUCache.DisposeReason,\n]\n\nexport·namespace·LRUCache·{\n··/**\n···*·An·integer·greater·than·0,·reflecting·the·calculated·size·of·items\n···*/\n··export·type·Size·=·number\n\n··/**\n···*·Integer·greater·than·0,·representing·some·number·of·milliseconds,·or·the\n···*·time·at·which·a·TTL·started·counting·from.\n···*/\n··export·type·Milliseconds·=·number\n\n··/**\n···*·An·integer·greater·than·0,·reflecting·a·number·of·items\n···*/\n··export·type·Count·=·number\n\n··/**\n···*·The·reason·why·an·item·was·removed·from·the·cache,·passed\n···*·to·the·{@link·Disposer}·methods.\n···*\n···*·-·`evict`:·The·item·was·evicted·because·it·is·the·least·recently·used,\n···*···and·the·cache·is·full.\n···*·-·`set`:·A·new·value·was·set,·overwriting·the·old·value·being·disposed.\n···*·-·`delete`:·The·item·was·explicitly·deleted,·either·by·calling\n···*···{@link·LRUCache#delete},·{@link·LRUCache#clear},·or\n···*···{@link·LRUCache#set}·with·an·undefined·value.\n···*·-·`expire`:·The·item·was·removed·due·to·exceeding·its·TTL.\n···*·-·`fetch`:·A·{@link·OptionsBase#fetchMethod}·operation·returned\n···*···`undefined`·or·was·aborted,·causing·the·item·to·be·deleted.\n···*/\n··export·type·DisposeReason·=\n····|·'evict'\n····|·'set'\n····|·'delete'\n····|·'expire'\n····|·'fetch'\n··/**\n···*·A·method·called·upon·item·removal,·passed·as·the\n···*·{@link·OptionsBase.dispose}·and/or\n···*·{@link·OptionsBase.disposeAfter}·options.\n···*/\n··export·type·Disposer<K,·V>·=·(\n····value:·V,\n····key:·K,\n····reason:·DisposeReason,\n··)·=>·void\n\n··/**\n···*·The·reason·why·an·item·was·added·to·the·cache,·passed\n···*·to·the·{@link·Inserter}·methods.\n···*\n···*·-·`add`:·the·item·was·not·found·in·the·cache,·and·was·added\n···*·-·`update`:·the·item·was·in·the·cache,·with·the·same·value·provided\n···*·-·`replace`:·the·item·was·in·the·cache,·and·replaced\n···*/\n··export·type·InsertReason·=·'add'·|·'update'·|·'replace'\n\n··/**\n···*·A·method·called·upon·item·insertion,·passed·as·the\n···*·{@link·OptionsBase.insert}\n···*/\n··export·type·Inserter<K,·V>·=·(\n····value:·V,\n····key:·K,\n····reason:·InsertReason,\n··)·=>·void\n\n··/**\n···*·A·function·that·returns·the·effective·calculated·size\n···*·of·an·entry·in·the·cache.\n···*/\n··export·type·SizeCalculator<K,·V>·=·(value:·V,·key:·K)·=>·Size\n\n··/**\n···*·Options·provided·to·the\n···*·{@link·OptionsBase.fetchMethod}·function.\n···*/\n··export·interface·FetcherOptions<K,·V,·FC·=·unknown>·{\n····signal:·AbortSignal\n····options:·FetcherFetchOptions<K,·V,·FC>\n····/**\n·····*·Object·provided·in·the·{@link·FetchOptions.context}·option·to\n·····*·{@link·LRUCache#fetch}\n·····*/\n····context:·FC\n··}\n\n··/**\n···*·Occasionally,·it·may·be·useful·to·track·the·internal·behavior·of·the\n···*·cache,·particularly·for·logging,·debugging,·or·for·behavior·within·the\n···*·`fetchMethod`.·To·do·this,·you·can·pass·a·`status`·object·to·the\n···*·{@link·LRUCache#fetch},·{@link·LRUCache#get},·{@link·LRUCache#set},\n···*·{@link·LRUCache#memo},·and·{@link·LRUCache#has}·methods.\n···*\n···*·The·`status`·option·should·be·a·plain·JavaScript·object.·The·following\n···*·fields·will·be·set·on·it·appropriately,·depending·on·the·situation.\n···*/\n··export·interface·Status<V>·{\n····/**\n·····*·The·status·of·a·set()·operation.\n·····*\n·····*·-·add:·the·item·was·not·found·in·the·cache,·and·was·added\n·····*·-·update:·the·item·was·in·the·cache,·with·the·same·value·provided\n·····*·-·replace:·the·item·was·in·the·cache,·and·replaced\n·····*·-·miss:·the·item·was·not·added·to·the·cache·for·some·reason\n·····*/\n····set?:·'add'·|·'update'·|·'replace'·|·'miss'\n\n····/**\n·····*·the·ttl·stored·for·the·item,·or·undefined·if·ttls·are·not·used.\n·····*/\n····ttl?:·Milliseconds\n\n····/**\n·····*·the·start·time·for·the·item,·or·undefined·if·ttls·are·not·used.\n·····*/\n····start?:·Milliseconds\n\n····/**\n·····*·The·timestamp·used·for·TTL·calculation\n·····*/\n····now?:·Milliseconds\n\n····/**\n·····*·the·remaining·ttl·for·the·item,·or·undefined·if·ttls·are·not·used.\n·····*/\n····remainingTTL?:·Milliseconds\n\n····/**\n·····*·The·calculated·size·for·the·item,·if·sizes·are·used.\n·····*/\n····entrySize?:·Size\n\n····/**\n·····*·The·total·calculated·size·of·the·cache,·if·sizes·are·used.\n·····*/\n····totalCalculatedSize?:·Size\n\n····/**\n·····*·A·flag·indicating·that·the·item·was·not·stored,·due·to·exceeding·the\n·····*·{@link·OptionsBase.maxEntrySize}\n·····*/\n····maxEntrySizeExceeded?:·true\n\n····/**\n·····*·The·old·value,·specified·in·the·case·of·`set:'update'`·or\n·····*·`set:'replace'`\n·····*/\n····oldValue?:·V\n\n····/**\n·····*·The·results·of·a·{@link·LRUCache#has}·operation\n·····*\n·····*·-·hit:·the·item·was·found·in·the·cache\n·····*·-·stale:·the·item·was·found·in·the·cache,·but·is·stale\n·····*·-·miss:·the·item·was·not·found·in·the·cache\n·····*/\n····has?:·'hit'·|·'stale'·|·'miss'\n\n····/**\n·····*·The·status·of·a·{@link·LRUCache#fetch}·operation.\n·····*·Note·that·this·can·change·as·the·underlying·fetch()·moves·through\n·····*·various·states.\n·····*\n·····*·-·inflight:·there·is·another·fetch()·for·this·key·which·is·in·process\n·····*·-·get:·there·is·no·{@link·OptionsBase.fetchMethod},·so\n·····*···{@link·LRUCache#get}·was·called.\n·····*·-·miss:·the·item·is·not·in·cache,·and·will·be·fetched.\n·····*·-·hit:·the·item·is·in·the·cache,·and·was·resolved·immediately.\n·····*·-·stale:·the·item·is·in·the·cache,·but·stale.\n·····*·-·refresh:·the·item·is·in·the·cache,·and·not·stale,·but\n·····*···{@link·FetchOptions.forceRefresh}·was·specified.\n·····*/\n····fetch?:·'get'·|·'inflight'·|·'miss'·|·'hit'·|·'stale'·|·'refresh'\n\n····/**\n·····*·The·{@link·OptionsBase.fetchMethod}·was·called\n·····*/\n····fetchDispatched?:·true\n\n····/**\n·····*·The·cached·value·was·updated·after·a·successful·call·to\n·····*·{@link·OptionsBase.fetchMethod}\n·····*/\n····fetchUpdated?:·true\n\n····/**\n·····*·The·reason·for·a·fetch()·rejection.··Either·the·error·raised·by·the\n·····*·{@link·OptionsBase.fetchMethod},·or·the·reason·for·an\n·····*·AbortSignal.\n·····*/\n····fetchError?:·Error\n\n····/**\n·····*·The·fetch·received·an·abort·signal\n·····*/\n····fetchAborted?:·true\n\n····/**\n·····*·The·abort·signal·received·was·ignored,·and·the·fetch·was·allowed·to\n·····*·continue.\n·····*/\n····fetchAbortIgnored?:·true\n\n····/**\n·····*·The·fetchMethod·promise·resolved·successfully\n·····*/\n····fetchResolved?:·true\n\n····/**\n·····*·The·fetchMethod·promise·was·rejected\n·····*/\n····fetchRejected?:·true\n\n····/**\n·····*·The·status·of·a·{@link·LRUCache#get}·operation.\n·····*\n·····*·-·fetching:·The·item·is·currently·being·fetched.··If·a·previous·value\n·····*···is·present·and·allowed,·that·will·be·returned.\n·····*·-·stale:·The·item·is·in·the·cache,·and·is·stale.\n·····*·-·hit:·the·item·is·in·the·cache\n·····*·-·miss:·the·item·is·not·in·the·cache\n·····*/\n····get?:·'stale'·|·'hit'·|·'miss'\n\n····/**\n·····*·A·fetch·or·get·operation·returned·a·stale·value.\n·····*/\n····returnedStale?:·true\n··}\n\n··/**\n···*·options·which·override·the·options·set·in·the·LRUCache·constructor\n···*·when·calling·{@link·LRUCache#fetch}.\n···*\n···*·This·is·the·union·of·{@link·GetOptions}·and·{@link·SetOptions},·plus\n···*·{@link·OptionsBase.noDeleteOnFetchRejection},\n···*·{@link·OptionsBase.allowStaleOnFetchRejection},\n···*·{@link·FetchOptions.forceRefresh},·and\n···*·{@link·FetcherOptions.context}\n···*\n···*·Any·of·these·may·be·modified·in·the·{@link·OptionsBase.fetchMethod}\n···*·function,·but·the·{@link·GetOptions}·fields·will·of·course·have·no\n···*·effect,·as·the·{@link·LRUCache#get}·call·already·happened·by·the·time\n···*·the·fetchMethod·is·called.\n···*/\n··export·interface·FetcherFetchOptions<K,·V,·FC·=·unknown>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······|·'allowStale'\n······|·'updateAgeOnGet'\n······|·'noDeleteOnStaleGet'\n······|·'sizeCalculation'\n······|·'ttl'\n······|·'noDisposeOnSet'\n······|·'noUpdateTTL'\n······|·'noDeleteOnFetchRejection'\n······|·'allowStaleOnFetchRejection'\n······|·'ignoreFetchAbort'\n······|·'allowStaleOnFetchAbort'\n····>·{\n····status?:·Status<V>\n····size?:·Size\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#fetch}·method.\n···*/\n··export·interface·FetchOptions<K,·V,·FC>\n····extends·FetcherFetchOptions<K,·V,·FC>·{\n····/**\n·····*·Set·to·true·to·force·a·re-load·of·the·existing·data,·even·if·it\n·····*·is·not·yet·stale.\n·····*/\n····forceRefresh?:·boolean\n····/**\n·····*·Context·provided·to·the·{@link·OptionsBase.fetchMethod}·as\n·····*·the·{@link·FetcherOptions.context}·param.\n·····*\n·····*·If·the·FC·type·is·specified·as·unknown·(the·default),\n·····*·undefined·or·void,·then·this·is·optional.··Otherwise,·it·will\n·····*·be·required.\n·····*/\n····context?:·FC\n····signal?:·AbortSignal\n····status?:·Status<V>\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#fetch}·when·the·FC·type·is·something\n···*·other·than·`unknown`,·`undefined`,·or·`void`\n···*/\n··export·interface·FetchOptionsWithContext<K,·V,·FC>\n····extends·FetchOptions<K,·V,·FC>·{\n····context:·FC\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#fetch}·when·the·FC·type·is\n···*·`undefined`·or·`void`\n···*/\n··export·interface·FetchOptionsNoContext<K,·V>\n····extends·FetchOptions<K,·V,·undefined>·{\n····context?:·undefined\n··}\n\n··export·interface·MemoOptions<K,·V,·FC·=·unknown>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······|·'allowStale'\n······|·'updateAgeOnGet'\n······|·'noDeleteOnStaleGet'\n······|·'sizeCalculation'\n······|·'ttl'\n······|·'noDisposeOnSet'\n······|·'noUpdateTTL'\n······|·'noDeleteOnFetchRejection'\n······|·'allowStaleOnFetchRejection'\n······|·'ignoreFetchAbort'\n······|·'allowStaleOnFetchAbort'\n····>·{\n····/**\n·····*·Set·to·true·to·force·a·re-load·of·the·existing·data,·even·if·it\n·····*·is·not·yet·stale.\n·····*/\n····forceRefresh?:·boolean\n····/**\n·····*·Context·provided·to·the·{@link·OptionsBase.memoMethod}·as\n·····*·the·{@link·MemoizerOptions.context}·param.\n·····*\n·····*·If·the·FC·type·is·specified·as·unknown·(the·default),\n·····*·undefined·or·void,·then·this·is·optional.··Otherwise,·it·will\n·····*·be·required.\n·····*/\n····context?:·FC\n····status?:·Status<V>\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#memo}·when·the·FC·type·is·something\n···*·other·than·`unknown`,·`undefined`,·or·`void`\n···*/\n··export·interface·MemoOptionsWithContext<K,·V,·FC>\n····extends·MemoOptions<K,·V,·FC>·{\n····context:·FC\n··}\n··/**\n···*·Options·provided·to·{@link·LRUCache#memo}·when·the·FC·type·is\n···*·`undefined`·or·`void`\n···*/\n··export·interface·MemoOptionsNoContext<K,·V>\n····extends·MemoOptions<K,·V,·undefined>·{\n····context?:·undefined\n··}\n\n··/**\n···*·Options·provided·to·the\n···*·{@link·OptionsBase.memoMethod}·function.\n···*/\n··export·interface·MemoizerOptions<K,·V,·FC·=·unknown>·{\n····options:·MemoizerMemoOptions<K,·V,·FC>\n····/**\n·····*·Object·provided·in·the·{@link·MemoOptions.context}·option·to\n·····*·{@link·LRUCache#memo}\n·····*/\n····context:·FC\n··}\n\n··/**\n···*·options·which·override·the·options·set·in·the·LRUCache·constructor\n···*·when·calling·{@link·LRUCache#memo}.\n···*\n···*·This·is·the·union·of·{@link·GetOptions}·and·{@link·SetOptions},·plus\n···*·{@link·MemoOptions.forceRefresh},·and\n···*·{@link·MemoOptions.context}\n···*\n···*·Any·of·these·may·be·modified·in·the·{@link·OptionsBase.memoMethod}\n···*·function,·but·the·{@link·GetOptions}·fields·will·of·course·have·no\n···*·effect,·as·the·{@link·LRUCache#get}·call·already·happened·by·the·time\n···*·the·memoMethod·is·called.\n···*/\n··export·interface·MemoizerMemoOptions<K,·V,·FC·=·unknown>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······|·'allowStale'\n······|·'updateAgeOnGet'\n······|·'noDeleteOnStaleGet'\n······|·'sizeCalculation'\n······|·'ttl'\n······|·'noDisposeOnSet'\n······|·'noUpdateTTL'\n····>·{\n····status?:·Status<V>\n····size?:·Size\n····start?:·Milliseconds\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#has}·method.\n···*/\n··export·interface·HasOptions<K,·V,·FC>\n····extends·Pick<OptionsBase<K,·V,·FC>,·'updateAgeOnHas'>·{\n····status?:·Status<V>\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#get}·method.\n···*/\n··export·interface·GetOptions<K,·V,·FC>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······'allowStale'·|·'updateAgeOnGet'·|·'noDeleteOnStaleGet'\n····>·{\n····status?:·Status<V>\n··}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#peek}·method.\n···*/\n··export·interface·PeekOptions<K,·V,·FC>\n····extends·Pick<OptionsBase<K,·V,·FC>,·'allowStale'>·{}\n\n··/**\n···*·Options·that·may·be·passed·to·the·{@link·LRUCache#set}·method.\n···*/\n··export·interface·SetOptions<K,·V,·FC>\n····extends·Pick<\n······OptionsBase<K,·V,·FC>,\n······'sizeCalculation'·|·'ttl'·|·'noDisposeOnSet'·|·'noUpdateTTL'\n····>·{\n····/**\n·····*·If·size·tracking·is·enabled,·then·setting·an·explicit·size\n·····*·in·the·{@link·LRUCache#set}·call·will·prevent·calling·the\n·····*·{@link·OptionsBase.sizeCalculation}·function.\n·····*/\n····size?:·Size\n····/**\n·····*·If·TTL·tracking·is·enabled,·then·setting·an·explicit·start\n·····*·time·in·the·{@link·LRUCache#set}·call·will·override·the\n·····*·default·time·from·`performance.now()`·or·`Date.now()`.\n·····*\n·····*·Note·that·it·must·be·a·valid·value·for·whichever·time-tracking\n·····*·method·is·in·use.\n·····*/\n····start?:·Milliseconds\n····status?:·Status<V>\n··}\n\n··/**\n···*·The·type·signature·for·the·{@link·OptionsBase.fetchMethod}·option.\n···*/\n··export·type·Fetcher<K,·V,·FC·=·unknown>·=·(\n····key:·K,\n····staleValue:·V·|·undefined,\n····options:·FetcherOptions<K,·V,·FC>,\n··)·=>·Promise<V·|·undefined·|·void>·|·V·|·undefined·|·void\n\n··/**\n···*·the·type·signature·for·the·{@link·OptionsBase.memoMethod}·option.\n···*/\n··export·type·Memoizer<K,·V,·FC·=·unknown>·=·(\n····key:·K,\n····staleValue:·V·|·undefined,\n····options:·MemoizerOptions<K,·V,·FC>,\n··)·=>·V\n\n··/**\n···*·Options·which·may·be·passed·to·the·{@link·LRUCache}·constructor.\n···*\n···*·Most·of·these·may·be·overridden·in·the·various·options·that·use\n···*·them.\n···*\n···*·Despite·all·being·technically·optional,·the·constructor·requires·that\n···*·a·cache·is·at·minimum·limited·by·one·or·more·of·{@link·OptionsBase.max},\n···*·{@link·OptionsBase.ttl},·or·{@link·OptionsBase.maxSize}.\n···*\n···*·If·{@link·OptionsBase.ttl}·is·used·alone,·then·it·is·strongly·advised\n···*·(and·in·fact·required·by·the·type·definitions·here)·that·the·cache\n···*·also·set·{@link·OptionsBase.ttlAutopurge},·to·prevent·potentially\n···*·unbounded·storage.\n···*\n···*·All·options·are·also·available·on·the·{@link·LRUCache}·instance,·making\n···*·it·safe·to·pass·an·LRUCache·instance·as·the·options·argumemnt·to\n···*·make·another·empty·cache·of·the·same·type.\n···*\n···*·Some·options·are·marked·as·read-only,·because·changing·them·after\n···*·instantiation·is·not·safe.·Changing·any·of·the·other·options·will·of\n···*·course·only·have·an·effect·on·subsequent·method·calls.\n···*/\n··export·interface·OptionsBase<K,·V,·FC>·{\n····/**\n·····*·The·maximum·number·of·items·to·store·in·the·cache·before·evicting\n·····*·old·entries.·This·is·read-only·on·the·{@link·LRUCache}·instance,\n·····*·and·may·not·be·overridden.\n·····*\n·····*·If·set,·then·storage·space·will·be·pre-allocated·at·construction\n·····*·time,·and·the·cache·will·perform·significantly·faster.\n·····*\n·····*·Note·that·significantly·fewer·items·may·be·stored,·if\n·····*·{@link·OptionsBase.maxSize}·and/or·{@link·OptionsBase.ttl}·are·also\n·····*·set.\n·····*\n·····*·**It·is·strongly·recommended·to·set·a·`max`·to·prevent·unbounded·growth\n·····*·of·the·cache.**\n·····*/\n····max?:·Count\n\n····/**\n·····*·Max·time·in·milliseconds·for·items·to·live·in·cache·before·they·are\n·····*·considered·stale.··Note·that·stale·items·are·NOT·preemptively·removed·by\n·····*·default,·and·MAY·live·in·the·cache,·contributing·to·its·LRU·max,·long\n·····*·after·they·have·expired,·unless·{@link·OptionsBase.ttlAutopurge}·is\n·····*·set.\n·····*\n·····*·If·set·to·`0`·(the·default·value),·then·that·means·\"do·not·track\n·····*·TTL\",·not·\"expire·immediately\".\n·····*\n·····*·Also,·as·this·cache·is·optimized·for·LRU/MRU·operations,·some·of\n·····*·the·staleness/TTL·checks·will·reduce·performance,·as·they·will·incur\n·····*·overhead·by·deleting·items.\n·····*\n·····*·This·is·not·primarily·a·TTL·cache,·and·does·not·make·strong·TTL\n·····*·guarantees.·There·is·no·pre-emptive·pruning·of·expired·items,·but·you\n·····*·_may_·set·a·TTL·on·the·cache,·and·it·will·treat·expired·items·as·missing\n·····*·when·they·are·fetched,·and·delete·them.\n·····*\n·····*·Optional,·but·must·be·a·non-negative·integer·in·ms·if·specified.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.set()`.\n·····*\n·····*·At·least·one·of·`max`,·`maxSize`,·or·`TTL`·is·required.·This·must·be·a\n·····*·positive·integer·if·set.\n·····*\n·····*·Even·if·ttl·tracking·is·enabled,·**it·is·strongly·recommended·to·set·a\n·····*·`max`·to·prevent·unbounded·growth·of·the·cache.**\n·····*\n·····*·If·ttl·tracking·is·enabled,·and·`max`·and·`maxSize`·are·not·set,\n·····*·and·`ttlAutopurge`·is·not·set,·then·a·warning·will·be·emitted\n·····*·cautioning·about·the·potential·for·unbounded·memory·consumption.\n·····*·(The·TypeScript·definitions·will·also·discourage·this.)\n·····*/\n····ttl?:·Milliseconds\n\n····/**\n·····*·Minimum·amount·of·time·in·ms·in·which·to·check·for·staleness.\n·····*·Defaults·to·1,·which·means·that·the·current·time·is·checked\n·····*·at·most·once·per·millisecond.\n·····*\n·····*·Set·to·0·to·check·the·current·time·every·time·staleness·is·tested.\n·····*·(This·reduces·performance,·and·is·theoretically·unnecessary.)\n·····*\n·····*·Setting·this·to·a·higher·value·will·improve·performance·somewhat\n·····*·while·using·ttl·tracking,·albeit·at·the·expense·of·keeping·stale\n·····*·items·around·a·bit·longer·than·their·TTLs·would·indicate.\n·····*\n·····*·@default·1\n·····*/\n····ttlResolution?:·Milliseconds\n\n····/**\n·····*·Preemptively·remove·stale·items·from·the·cache.\n·····*\n·····*·Note·that·this·may·*significantly*·degrade·performance,·especially·if\n·····*·the·cache·is·storing·a·large·number·of·items.·It·is·almost·always·best\n·····*·to·just·leave·the·stale·items·in·the·cache,·and·let·them·fall·out·as·new\n·····*·items·are·added.\n·····*\n·····*·Note·that·this·means·that·{@link·OptionsBase.allowStale}·is·a·bit\n·····*·pointless,·as·stale·items·will·be·deleted·almost·as·soon·as·they\n·····*·expire.\n·····*\n·····*·Use·with·caution!\n·····*/\n····ttlAutopurge?:·boolean\n\n····/**\n·····*·When·using·time-expiring·entries·with·`ttl`,·setting·this·to·`true`·will\n·····*·make·each·item's·age·reset·to·0·whenever·it·is·retrieved·from·cache·with\n·····*·{@link·LRUCache#get},·causing·it·to·not·expire.·(It·can·still·fall·out\n·····*·of·cache·based·on·recency·of·use,·of·course.)\n·····*\n·····*·Has·no·effect·if·{@link·OptionsBase.ttl}·is·not·set.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.get()`.\n·····*/\n····updateAgeOnGet?:·boolean\n\n····/**\n·····*·When·using·time-expiring·entries·with·`ttl`,·setting·this·to·`true`·will\n·····*·make·each·item's·age·reset·to·0·whenever·its·presence·in·the·cache·is\n·····*·checked·with·{@link·LRUCache#has},·causing·it·to·not·expire.·(It·can\n·····*·still·fall·out·of·cache·based·on·recency·of·use,·of·course.)\n·····*\n·····*·Has·no·effect·if·{@link·OptionsBase.ttl}·is·not·set.\n·····*/\n····updateAgeOnHas?:·boolean\n\n····/**\n·····*·Allow·{@link·LRUCache#get}·and·{@link·LRUCache#fetch}·calls·to·return\n·····*·stale·data,·if·available.\n·····*\n·····*·By·default,·if·you·set·`ttl`,·stale·items·will·only·be·deleted·from·the\n·····*·cache·when·you·`get(key)`.·That·is,·it's·not·preemptively·pruning·items,\n·····*·unless·{@link·OptionsBase.ttlAutopurge}·is·set.\n·····*\n·····*·If·you·set·`allowStale:true`,·it'll·return·the·stale·value·*as·well·as*\n·····*·deleting·it.·If·you·don't·set·this,·then·it'll·return·`undefined`·when\n·····*·you·try·to·get·a·stale·entry.\n·····*\n·····*·Note·that·when·a·stale·entry·is·fetched,·_even·if·it·is·returned·due·to\n·····*·`allowStale`·being·set_,·it·is·removed·from·the·cache·immediately.·You\n·····*·can·suppress·this·behavior·by·setting\n·····*·{@link·OptionsBase.noDeleteOnStaleGet},·either·in·the·constructor,·or·in\n·····*·the·options·provided·to·{@link·LRUCache#get}.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.get()`.\n·····*·The·`cache.has()`·method·will·always·return·`false`·for·stale·items.\n·····*\n·····*·Only·relevant·if·a·ttl·is·set.\n·····*/\n····allowStale?:·boolean\n\n····/**\n·····*·Function·that·is·called·on·items·when·they·are·dropped·from·the\n·····*·cache,·as·`dispose(value,·key,·reason)`.\n·····*\n·····*·This·can·be·handy·if·you·want·to·close·file·descriptors·or·do\n·····*·other·cleanup·tasks·when·items·are·no·longer·stored·in·the·cache.\n·····*\n·····*·**NOTE**:·It·is·called·_before_·the·item·has·been·fully·removed\n·····*·from·the·cache,·so·if·you·want·to·put·it·right·back·in,·you·need\n·····*·to·wait·until·the·next·tick.·If·you·try·to·add·it·back·in·during\n·····*·the·`dispose()`·function·call,·it·will·break·things·in·subtle·and\n·····*·weird·ways.\n·····*\n·····*·Unlike·several·other·options,·this·may·_not_·be·overridden·by\n·····*·passing·an·option·to·`set()`,·for·performance·reasons.\n·····*\n·····*·The·`reason`·will·be·one·of·the·following·strings,·corresponding\n·····*·to·the·reason·for·the·item's·deletion:\n·····*\n·····*·-·`evict`·Item·was·evicted·to·make·space·for·a·new·addition\n·····*·-·`set`·Item·was·overwritten·by·a·new·value\n·····*·-·`expire`·Item·expired·its·TTL\n·····*·-·`fetch`·Item·was·deleted·due·to·a·failed·or·aborted·fetch,·or·a\n·····*···fetchMethod·returning·`undefined.\n·····*·-·`delete`·Item·was·removed·by·explicit·`cache.delete(key)`,\n·····*···`cache.clear()`,·or·`cache.set(key,·undefined)`.\n·····*/\n····dispose?:·Disposer<K,·V>\n\n····/**\n·····*·Function·that·is·called·when·new·items·are·inserted·into·the·cache,\n·····*·as·`onInsert(value,·key,·reason)`.\n·····*\n·····*·This·can·be·useful·if·you·need·to·perform·actions·when·an·item·is\n·····*·added,·such·as·logging·or·tracking·insertions.\n·····*\n·····*·Unlike·some·other·options,·this·may·_not_·be·overridden·by·passing\n·····*·an·option·to·`set()`,·for·performance·and·consistency·reasons.\n·····*/\n····onInsert?:·Inserter<K,·V>\n\n····/**\n·····*·The·same·as·{@link·OptionsBase.dispose},·but·called·*after*·the·entry\n·····*·is·completely·removed·and·the·cache·is·once·again·in·a·clean·state.\n·····*\n·····*·It·is·safe·to·add·an·item·right·back·into·the·cache·at·this·point.\n·····*·However,·note·that·it·is·*very*·easy·to·inadvertently·create·infinite\n·····*·recursion·this·way.\n·····*/\n····disposeAfter?:·Disposer<K,·V>\n\n····/**\n·····*·Set·to·true·to·suppress·calling·the\n·····*·{@link·OptionsBase.dispose}·function·if·the·entry·key·is\n·····*·still·accessible·within·the·cache.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to\n·····*·{@link·LRUCache#set}.\n·····*\n·····*·Only·relevant·if·`dispose`·or·`disposeAfter`·are·set.\n·····*/\n····noDisposeOnSet?:·boolean\n\n····/**\n·····*·Boolean·flag·to·tell·the·cache·to·not·update·the·TTL·when·setting·a·new\n·····*·value·for·an·existing·key·(ie,·when·updating·a·value·rather·than\n·····*·inserting·a·new·value).··Note·that·the·TTL·value·is·_always_·set·(if\n·····*·provided)·when·adding·a·new·entry·into·the·cache.\n·····*\n·····*·Has·no·effect·if·a·{@link·OptionsBase.ttl}·is·not·set.\n·····*\n·····*·May·be·passed·as·an·option·to·{@link·LRUCache#set}.\n·····*/\n····noUpdateTTL?:·boolean\n\n····/**\n·····*·Set·to·a·positive·integer·to·track·the·sizes·of·items·added·to·the\n·····*·cache,·and·automatically·evict·items·in·order·to·stay·below·this·size.\n·····*·Note·that·this·may·result·in·fewer·than·`max`·items·being·stored.\n·····*\n·····*·Attempting·to·add·an·item·to·the·cache·whose·calculated·size·is·greater\n·····*·that·this·amount·will·be·a·no-op.·The·item·will·not·be·cached,·and·no\n·····*·other·items·will·be·evicted.\n·····*\n·····*·Optional,·must·be·a·positive·integer·if·provided.\n·····*\n·····*·Sets·`maxEntrySize`·to·the·same·value,·unless·a·different·value·is\n·····*·provided·for·`maxEntrySize`.\n·····*\n·····*·At·least·one·of·`max`,·`maxSize`,·or·`TTL`·is·required.·This·must·be·a\n·····*·positive·integer·if·set.\n·····*\n·····*·Even·if·size·tracking·is·enabled,·**it·is·strongly·recommended·to·set·a\n·····*·`max`·to·prevent·unbounded·growth·of·the·cache.**\n·····*\n·····*·Note·also·that·size·tracking·can·negatively·impact·performance,\n·····*·though·for·most·cases,·only·minimally.\n·····*/\n····maxSize?:·Size\n\n····/**\n·····*·The·maximum·allowed·size·for·any·single·item·in·the·cache.\n·····*\n·····*·If·a·larger·item·is·passed·to·{@link·LRUCache#set}·or·returned·by·a\n·····*·{@link·OptionsBase.fetchMethod}·or·{@link·OptionsBase.memoMethod},·then\n·····*·it·will·not·be·stored·in·the·cache.\n·····*\n·····*·Attempting·to·add·an·item·whose·calculated·size·is·greater·than\n·····*·this·amount·will·not·cache·the·item·or·evict·any·old·items,·but\n·····*·WILL·delete·an·existing·value·if·one·is·already·present.\n·····*\n·····*·Optional,·must·be·a·positive·integer·if·provided.·Defaults·to\n·····*·the·value·of·`maxSize`·if·provided.\n·····*/\n····maxEntrySize?:·Size\n\n····/**\n·····*·A·function·that·returns·a·number·indicating·the·item's·size.\n·····*\n·····*·Requires·{@link·OptionsBase.maxSize}·to·be·set.\n·····*\n·····*·If·not·provided,·and·{@link·OptionsBase.maxSize}·or\n·····*·{@link·OptionsBase.maxEntrySize}·are·set,·then·all\n·····*·{@link·LRUCache#set}·calls·**must**·provide·an·explicit\n·····*·{@link·SetOptions.size}·or·sizeCalculation·param.\n·····*/\n····sizeCalculation?:·SizeCalculator<K,·V>\n\n····/**\n·····*·Method·that·provides·the·implementation·for·{@link·LRUCache#fetch}\n·····*\n·····*·```ts\n·····*·fetchMethod(key,·staleValue,·{·signal,·options,·context·})\n·····*·```\n·····*\n·····*·If·`fetchMethod`·is·not·provided,·then·`cache.fetch(key)`·is·equivalent\n·····*·to·`Promise.resolve(cache.get(key))`.\n·····*\n·····*·If·at·any·time,·`signal.aborted`·is·set·to·`true`,·or·if·the\n·····*·`signal.onabort`·method·is·called,·or·if·it·emits·an·`'abort'`·event\n·····*·which·you·can·listen·to·with·`addEventListener`,·then·that·means·that\n·····*·the·fetch·should·be·abandoned.·This·may·be·passed·along·to·async\n·····*·functions·aware·of·AbortController/AbortSignal·behavior.\n·····*\n·····*·The·`fetchMethod`·should·**only**·return·`undefined`·or·a·Promise\n·····*·resolving·to·`undefined`·if·the·AbortController·signaled·an·`abort`\n·····*·event.·In·all·other·cases,·it·should·return·or·resolve·to·a·value\n·····*·suitable·for·adding·to·the·cache.\n·····*\n·····*·The·`options`·object·is·a·union·of·the·options·that·may·be·provided·to\n·····*·`set()`·and·`get()`.·If·they·are·modified,·then·that·will·result·in\n·····*·modifying·the·settings·to·`cache.set()`·when·the·value·is·resolved,·and\n·····*·in·the·case·of\n·····*·{@link·OptionsBase.noDeleteOnFetchRejection}·and\n·····*·{@link·OptionsBase.allowStaleOnFetchRejection},·the·handling·of\n·····*·`fetchMethod`·failures.\n·····*\n·····*·For·example,·a·DNS·cache·may·update·the·TTL·based·on·the·value·returned\n·····*·from·a·remote·DNS·server·by·changing·`options.ttl`·in·the·`fetchMethod`.\n·····*/\n····fetchMethod?:·Fetcher<K,·V,·FC>\n\n····/**\n·····*·Method·that·provides·the·implementation·for·{@link·LRUCache#memo}\n·····*/\n····memoMethod?:·Memoizer<K,·V,·FC>\n\n····/**\n·····*·Set·to·true·to·suppress·the·deletion·of·stale·data·when·a\n·····*·{@link·OptionsBase.fetchMethod}·returns·a·rejected·promise.\n·····*/\n····noDeleteOnFetchRejection?:·boolean\n\n····/**\n·····*·Do·not·delete·stale·items·when·they·are·retrieved·with\n·····*·{@link·LRUCache#get}.\n·····*\n·····*·Note·that·the·`get`·return·value·will·still·be·`undefined`\n·····*·unless·{@link·OptionsBase.allowStale}·is·true.\n·····*\n·····*·When·using·time-expiring·entries·with·`ttl`,·by·default·stale\n·····*·items·will·be·removed·from·the·cache·when·the·key·is·accessed\n·····*·with·`cache.get()`.\n·····*\n·····*·Setting·this·option·will·cause·stale·items·to·remain·in·the·cache,·until\n·····*·they·are·explicitly·deleted·with·`cache.delete(key)`,·or·retrieved·with\n·····*·`noDeleteOnStaleGet`·set·to·`false`.\n·····*\n·····*·This·may·be·overridden·by·passing·an·options·object·to·`cache.get()`.\n·····*\n·····*·Only·relevant·if·a·ttl·is·used.\n·····*/\n····noDeleteOnStaleGet?:·boolean\n\n····/**\n·····*·Set·to·true·to·allow·returning·stale·data·when·a\n·····*·{@link·OptionsBase.fetchMethod}·throws·an·error·or·returns·a·rejected\n·····*·promise.\n·····*\n·····*·This·differs·from·using·{@link·OptionsBase.allowStale}·in·that·stale\n·····*·data·will·ONLY·be·returned·in·the·case·that·the·{@link·LRUCache#fetch}\n·····*·fails,·not·any·other·times.\n·····*\n·····*·If·a·`fetchMethod`·fails,·and·there·is·no·stale·value·available,·the\n·····*·`fetch()`·will·resolve·to·`undefined`.·Ie,·all·`fetchMethod`·errors·are\n·····*·suppressed.\n·····*\n·····*·Implies·`noDeleteOnFetchRejection`.\n·····*\n·····*·This·may·be·set·in·calls·to·`fetch()`,·or·defaulted·on·the·constructor,\n·····*·or·overridden·by·modifying·the·options·object·in·the·`fetchMethod`.\n·····*/\n····allowStaleOnFetchRejection?:·boolean\n\n····/**\n·····*·Set·to·true·to·return·a·stale·value·from·the·cache·when·the\n·····*·`AbortSignal`·passed·to·the·{@link·OptionsBase.fetchMethod}·dispatches\n·····*·an·`'abort'`·event,·whether·user-triggered,·or·due·to·internal·cache\n·····*·behavior.\n·····*\n·····*·Unless·{@link·OptionsBase.ignoreFetchAbort}·is·also·set,·the·underlying\n·····*·{@link·OptionsBase.fetchMethod}·will·still·be·considered·canceled,·and\n·····*·any·value·it·returns·will·be·ignored·and·not·cached.\n·····*\n·····*·Caveat:·since·fetches·are·aborted·when·a·new·value·is·explicitly\n·····*·set·in·the·cache,·this·can·lead·to·fetch·returning·a·stale·value,\n·····*·since·that·was·the·fallback·value·_at·the·moment·the·`fetch()`·was\n·····*·initiated_,·even·though·the·new·updated·value·is·now·present·in\n·····*·the·cache.\n·····*\n·····*·For·example:\n·····*\n·····*·```ts\n·····*·const·cache·=·new·LRUCache<string,·any>({\n·····*···ttl:·100,\n·····*···fetchMethod:·async·(url,·oldValue,·{·signal·})·=>··{\n·····*·····const·res·=·await·fetch(url,·{·signal·})\n·····*·····return·await·res.json()\n·····*···}\n·····*·})\n·····*·cache.set('https://example.com/',·{·some:·'data'·})\n·····*·//·100ms·go·by...\n·····*·const·result·=·cache.fetch('https://example.com/')\n·····*·cache.set('https://example.com/',·{·other:·'thing'·})\n·····*·console.log(await·result)·//·{·some:·'data'·}\n·····*·console.log(cache.get('https://example.com/'))·//·{·other:·'thing'·}\n·····*·```\n·····*/\n····allowStaleOnFetchAbort?:·boolean\n\n····/**\n·····*·Set·to·true·to·ignore·the·`abort`·event·emitted·by·the·`AbortSignal`\n·····*·object·passed·to·{@link·OptionsBase.fetchMethod},·and·still·cache·the\n·····*·resulting·resolution·value,·as·long·as·it·is·not·`undefined`.\n·····*\n·····*·When·used·on·its·own,·this·means·aborted·{@link·LRUCache#fetch}·calls\n·····*·are·not·immediately·resolved·or·rejected·when·they·are·aborted,·and\n·····*·instead·take·the·full·time·to·await.\n·····*\n·····*·When·used·with·{@link·OptionsBase.allowStaleOnFetchAbort},·aborted\n·····*·{@link·LRUCache#fetch}·calls·will·resolve·immediately·to·their·stale\n·····*·cached·value·or·`undefined`,·and·will·continue·to·process·and·eventually\n·····*·update·the·cache·when·they·resolve,·as·long·as·the·resulting·value·is\n·····*·not·`undefined`,·thus·supporting·a·\"return·stale·on·timeout·while\n·····*·refreshing\"·mechanism·by·passing·`AbortSignal.timeout(n)`·as·the·signal.\n·····*\n·····*·For·example:\n·····*\n·····*·```ts\n·····*·const·c·=·new·LRUCache({\n·····*···ttl:·100,\n·····*···ignoreFetchAbort:·true,\n·····*···allowStaleOnFetchAbort:·true,\n·····*···fetchMethod:·async·(key,·oldValue,·{·signal·})·=>·{\n·····*·····//·note:·do·NOT·pass·the·signal·to·fetch()!\n·····*·····//·let's·say·this·fetch·can·take·a·long·time.\n·····*·····const·res·=·await·fetch(`https://slow-backend-server/${key}`)\n·····*·····return·await·res.json()\n·····*···},\n·····*·})\n·····*\n·····*·//·this·will·return·the·stale·value·after·100ms,·while·still\n·····*·//·updating·in·the·background·for·next·time.\n·····*·const·val·=·await·c.fetch('key',·{·signal:·AbortSignal.timeout(100)·})\n·····*·```\n·····*\n·····*·**Note**:·regardless·of·this·setting,·an·`abort`·event·_is·still\n·····*·emitted·on·the·`AbortSignal`·object_,·so·may·result·in·invalid·results\n·····*·when·passed·to·other·underlying·APIs·that·use·AbortSignals.\n·····*\n·····*·This·may·be·overridden·in·the·{@link·OptionsBase.fetchMethod}·or·the\n·····*·call·to·{@link·LRUCache#fetch}.\n·····*/\n····ignoreFetchAbort?:·boolean\n\n····/**\n·····*·In·some·cases,·you·may·want·to·swap·out·the·performance/Date·object\n·····*·used·for·TTL·tracking.·This·should·almost·certainly·NOT·be·done·in\n·····*·production·environments!\n·····*\n·····*·This·value·defaults·to·`global.performance`·if·it·has·a·`now()`·method,\n·····*·or·the·`global.Date`·object·otherwise.\n·····*/\n····perf?:·Perf\n··}\n\n··export·interface·OptionsMaxLimit<K,·V,·FC>\n····extends·OptionsBase<K,·V,·FC>·{\n····max:·Count\n··}\n··export·interface·OptionsTTLLimit<K,·V,·FC>\n····extends·OptionsBase<K,·V,·FC>·{\n····ttl:·Milliseconds\n····ttlAutopurge:·boolean\n··}\n··export·interface·OptionsSizeLimit<K,·V,·FC>\n····extends·OptionsBase<K,·V,·FC>·{\n····maxSize:·Size\n··}\n\n··/**\n···*·The·valid·safe·options·for·the·{@link·LRUCache}·constructor\n···*/\n··export·type·Options<K,·V,·FC>·=\n····|·OptionsMaxLimit<K,·V,·FC>\n····|·OptionsSizeLimit<K,·V,·FC>\n····|·OptionsTTLLimit<K,·V,·FC>\n\n··/**\n···*·Entry·objects·used·by·{@link·LRUCache#load}·and·{@link·LRUCache#dump},\n···*·and·returned·by·{@link·LRUCache#info}.\n···*/\n··export·interface·Entry<V>·{\n····value:·V\n····ttl?:·Milliseconds\n····size?:·Size\n····start?:·Milliseconds\n··}\n}\n\n/**\n·*·Default·export,·the·thing·you're·using·this·module·to·get.\n·*\n·*·The·`K`·and·`V`·types·define·the·key·and·value·types,·respectively.·The\n·*·optional·`FC`·type·defines·the·type·of·the·`context`·object·passed·to\n·*·`cache.fetch()`·and·`cache.memo()`.\n·*\n·*·Keys·and·values·**must·not**·be·`null`·or·`undefined`.\n·*\n·*·All·properties·from·the·options·object·(with·the·exception·of·`max`,\n·*·`maxSize`,·`fetchMethod`,·`memoMethod`,·`dispose`·and·`disposeAfter`)·are\n·*·added·as·normal·public·members.·(The·listed·options·are·read-only·getters.)\n·*\n·*·Changing·any·of·these·will·alter·the·defaults·for·subsequent·method·calls.\n·*/\nexport·class·LRUCache<K·extends·{},·V·extends·{},·FC·=·unknown>·{\n··//·options·that·cannot·be·changed·without·disaster\n··readonly·#max:·LRUCache.Count\n··readonly·#maxSize:·LRUCache.Size\n··readonly·#dispose?:·LRUCache.Disposer<K,·V>\n··readonly·#onInsert?:·LRUCache.Inserter<K,·V>\n··readonly·#disposeAfter?:·LRUCache.Disposer<K,·V>\n··readonly·#fetchMethod?:·LRUCache.Fetcher<K,·V,·FC>\n··readonly·#memoMethod?:·LRUCache.Memoizer<K,·V,·FC>\n··readonly·#perf:·Perf\n\n··/**\n···*·{@link·LRUCache.OptionsBase.perf}\n···*/\n··get·perf()·{\n····return·this.#perf\n··}\n\n··/**\n···*·{@link·LRUCache.OptionsBase.ttl}\n···*/\n··ttl:·LRUCache.Milliseconds\n\n··/**\n···*·{@link·LRUCache.OptionsBase.ttlResolution}\n···*/\n··ttlResolution:·LRUCache.Milliseconds\n··/**\n···*·{@link·LRUCache.OptionsBase.ttlAutopurge}\n···*/\n··ttlAutopurge:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.updateAgeOnGet}\n···*/\n··updateAgeOnGet:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.updateAgeOnHas}\n···*/\n··updateAgeOnHas:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.allowStale}\n···*/\n··allowStale:·boolean\n\n··/**\n···*·{@link·LRUCache.OptionsBase.noDisposeOnSet}\n···*/\n··noDisposeOnSet:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.noUpdateTTL}\n···*/\n··noUpdateTTL:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.maxEntrySize}\n···*/\n··maxEntrySize:·LRUCache.Size\n··/**\n···*·{@link·LRUCache.OptionsBase.sizeCalculation}\n···*/\n··sizeCalculation?:·LRUCache.SizeCalculator<K,·V>\n··/**\n···*·{@link·LRUCache.OptionsBase.noDeleteOnFetchRejection}\n···*/\n··noDeleteOnFetchRejection:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.noDeleteOnStaleGet}\n···*/\n··noDeleteOnStaleGet:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.allowStaleOnFetchAbort}\n···*/\n··allowStaleOnFetchAbort:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.allowStaleOnFetchRejection}\n···*/\n··allowStaleOnFetchRejection:·boolean\n··/**\n···*·{@link·LRUCache.OptionsBase.ignoreFetchAbort}\n···*/\n··ignoreFetchAbort:·boolean\n\n··//·computed·properties\n··#size:·LRUCache.Count\n··#calculatedSize:·LRUCache.Size\n··#keyMap:·Map<K,·Index>\n··#keyList:·(K·|·undefined)[]\n··#valList:·(V·|·BackgroundFetch<V>·|·undefined)[]\n··#next:·NumberArray\n··#prev:·NumberArray\n··#head:·Index\n··#tail:·Index\n··#free:·StackLike\n··#disposed?:·DisposeTask<K,·V>[]\n··#sizes?:·ZeroArray\n··#starts?:·ZeroArray\n··#ttls?:·ZeroArray\n··#autopurgeTimers?:·(undefined·|·ReturnType<typeof·setTimeout>)[]\n\n··#hasDispose:·boolean\n··#hasFetchMethod:·boolean\n··#hasDisposeAfter:·boolean\n··#hasOnInsert:·boolean\n\n··/**\n···*·Do·not·call·this·method·unless·you·need·to·inspect·the\n···*·inner·workings·of·the·cache.··If·anything·returned·by·this\n···*·object·is·modified·in·any·way,·strange·breakage·may·occur.\n···*\n···*·These·fields·are·private·for·a·reason!\n···*\n···*·@internal\n···*/\n··static·unsafeExposeInternals<\n····K·extends·{},\n····V·extends·{},\n····FC·extends·unknown·=·unknown,\n··>(c:·LRUCache<K,·V,·FC>)·{\n····return·{\n······//·properties\n······starts:·c.#starts,\n······ttls:·c.#ttls,\n······autopurgeTimers:·c.#autopurgeTimers,\n······sizes:·c.#sizes,\n······keyMap:·c.#keyMap·as·Map<K,·number>,\n······keyList:·c.#keyList,\n······valList:·c.#valList,\n······next:·c.#next,\n······prev:·c.#prev,\n······get·head()·{\n········return·c.#head\n······},\n······get·tail()·{\n········return·c.#tail\n······},\n······free:·c.#free,\n······//·methods\n······isBackgroundFetch:·(p:·any)·=>·c.#isBackgroundFetch(p),\n······backgroundFetch:·(\n········k:·K,\n········index:·number·|·undefined,\n········options:·LRUCache.FetchOptions<K,·V,·FC>,\n········context:·any,\n······):·BackgroundFetch<V>·=>\n········c.#backgroundFetch(\n··········k,\n··········index·as·Index·|·undefined,\n··········options,\n··········context,\n········),\n······moveToTail:·(index:·number):·void·=>·c.#moveToTail(index·as·Index),\n······indexes:·(options?:·{·allowStale:·boolean·})·=>·c.#indexes(options),\n······rindexes:·(options?:·{·allowStale:·boolean·})·=>\n········c.#rindexes(options),\n······isStale:·(index:·number·|·undefined)·=>·c.#isStale(index·as·Index),\n····}\n··}\n\n··//·Protected·read-only·members\n\n··/**\n···*·{@link·LRUCache.OptionsBase.max}·(read-only)\n···*/\n··get·max():·LRUCache.Count·{\n····return·this.#max\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.maxSize}·(read-only)\n···*/\n··get·maxSize():·LRUCache.Count·{\n····return·this.#maxSize\n··}\n··/**\n···*·The·total·computed·size·of·items·in·the·cache·(read-only)\n···*/\n··get·calculatedSize():·LRUCache.Size·{\n····return·this.#calculatedSize\n··}\n··/**\n···*·The·number·of·items·stored·in·the·cache·(read-only)\n···*/\n··get·size():·LRUCache.Count·{\n····return·this.#size\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.fetchMethod}·(read-only)\n···*/\n··get·fetchMethod():·LRUCache.Fetcher<K,·V,·FC>·|·undefined·{\n····return·this.#fetchMethod\n··}\n··get·memoMethod():·LRUCache.Memoizer<K,·V,·FC>·|·undefined·{\n····return·this.#memoMethod\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.dispose}·(read-only)\n···*/\n··get·dispose()·{\n····return·this.#dispose\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.onInsert}·(read-only)\n···*/\n··get·onInsert()·{\n····return·this.#onInsert\n··}\n··/**\n···*·{@link·LRUCache.OptionsBase.disposeAfter}·(read-only)\n···*/\n··get·disposeAfter()·{\n····return·this.#disposeAfter\n··}\n\n··constructor(options:·LRUCache.Options<K,·V,·FC>·|·LRUCache<K,·V,·FC>)·{\n····const·{\n······max·=·0,\n······ttl,\n······ttlResolution·=·1,\n······ttlAutopurge,\n······updateAgeOnGet,\n······updateAgeOnHas,\n······allowStale,\n······dispose,\n······onInsert,\n······disposeAfter,\n······noDisposeOnSet,\n······noUpdateTTL,\n······maxSize·=·0,\n······maxEntrySize·=·0,\n······sizeCalculation,\n······fetchMethod,\n······memoMethod,\n······noDeleteOnFetchRejection,\n······noDeleteOnStaleGet,\n······allowStaleOnFetchRejection,\n······allowStaleOnFetchAbort,\n······ignoreFetchAbort,\n······perf,\n····}·=·options\n\n····if·(perf·!==·undefined)·{\n······if·(typeof·perf?.now·!==·'function')·{\n········throw·new·TypeError(\n··········'perf·option·must·have·a·now()·method·if·specified',\n········)\n······}\n····}\n\n····this.#perf·=·perf·??·defaultPerf\n\n····if·(max·!==·0·&&·!isPosInt(max))·{\n······throw·new·TypeError('max·option·must·be·a·nonnegative·integer')\n····}\n\n····const·UintArray·=·max·?·getUintArray(max)·:·Array\n····if·(!UintArray)·{\n······throw·new·Error('invalid·max·value:·'·+·max)\n····}\n\n····this.#max·=·max\n····this.#maxSize·=·maxSize\n····this.maxEntrySize·=·maxEntrySize·||·this.#maxSize\n····this.sizeCalculation·=·sizeCalculation\n····if·(this.sizeCalculation)·{\n······if·(!this.#maxSize·&&·!this.maxEntrySize)·{\n········throw·new·TypeError(\n··········'cannot·set·sizeCalculation·without·setting·maxSize·or·maxEntrySize',\n········)\n······}\n······if·(typeof·this.sizeCalculation·!==·'function')·{\n········throw·new·TypeError('sizeCalculation·set·to·non-function')\n······}\n····}\n\n····if·(memoMethod·!==·undefined·&&·typeof·memoMethod·!==·'function')·{\n······throw·new·TypeError('memoMethod·must·be·a·function·if·defined')\n····}\n····this.#memoMethod·=·memoMethod\n\n····if·(fetchMethod·!==·undefined·&&·typeof·fetchMethod·!==·'function')·{\n······throw·new·TypeError('fetchMethod·must·be·a·function·if·specified')\n····}\n····this.#fetchMethod·=·fetchMethod\n····this.#hasFetchMethod·=·!!fetchMethod\n\n····this.#keyMap·=·new·Map()\n····this.#keyList·=·new·Array(max).fill(undefined)\n····this.#valList·=·new·Array(max).fill(undefined)\n····this.#next·=·new·UintArray(max)\n····this.#prev·=·new·UintArray(max)\n····this.#head·=·0·as·Index\n····this.#tail·=·0·as·Index\n····this.#free·=·Stack.create(max)\n····this.#size·=·0\n····this.#calculatedSize·=·0\n\n····if·(typeof·dispose·===·'function')·{\n······this.#dispose·=·dispose\n····}\n····if·(typeof·onInsert·===·'function')·{\n······this.#onInsert·=·onInsert\n····}\n····if·(typeof·disposeAfter·===·'function')·{\n······this.#disposeAfter·=·disposeAfter\n······this.#disposed·=·[]\n····}·else·{\n······this.#disposeAfter·=·undefined\n······this.#disposed·=·undefined\n····}\n····this.#hasDispose·=·!!this.#dispose\n····this.#hasOnInsert·=·!!this.#onInsert\n····this.#hasDisposeAfter·=·!!this.#disposeAfter\n\n····this.noDisposeOnSet·=·!!noDisposeOnSet\n····this.noUpdateTTL·=·!!noUpdateTTL\n····this.noDeleteOnFetchRejection·=·!!noDeleteOnFetchRejection\n····this.allowStaleOnFetchRejection·=·!!allowStaleOnFetchRejection\n····this.allowStaleOnFetchAbort·=·!!allowStaleOnFetchAbort\n····this.ignoreFetchAbort·=·!!ignoreFetchAbort\n\n····//·NB:·maxEntrySize·is·set·to·maxSize·if·it's·set\n····if·(this.maxEntrySize·!==·0)·{\n······if·(this.#maxSize·!==·0)·{\n········if·(!isPosInt(this.#maxSize))·{\n··········throw·new·TypeError(\n············'maxSize·must·be·a·positive·integer·if·specified',\n··········)\n········}\n······}\n······if·(!isPosInt(this.maxEntrySize))·{\n········throw·new·TypeError(\n··········'maxEntrySize·must·be·a·positive·integer·if·specified',\n········)\n······}\n······this.#initializeSizeTracking()\n····}\n\n····this.allowStale·=·!!allowStale\n····this.noDeleteOnStaleGet·=·!!noDeleteOnStaleGet\n····this.updateAgeOnGet·=·!!updateAgeOnGet\n····this.updateAgeOnHas·=·!!updateAgeOnHas\n····this.ttlResolution·=\n······isPosInt(ttlResolution)·||·ttlResolution·===·0·?·ttlResolution·:·1\n····this.ttlAutopurge·=·!!ttlAutopurge\n····this.ttl·=·ttl·||·0\n····if·(this.ttl)·{\n······if·(!isPosInt(this.ttl))·{\n········throw·new·TypeError('ttl·must·be·a·positive·integer·if·specified')\n······}\n······this.#initializeTTLTracking()\n····}\n\n····//·do·not·allow·completely·unbounded·caches\n····if·(this.#max·===·0·&&·this.ttl·===·0·&&·this.#maxSize·===·0)·{\n······throw·new·TypeError(\n········'At·least·one·of·max,·maxSize,·or·ttl·is·required',\n······)\n····}\n····if·(!this.ttlAutopurge·&&·!this.#max·&&·!this.#maxSize)·{\n······const·code·=·'LRU_CACHE_UNBOUNDED'\n······if·(shouldWarn(code))·{\n········warned.add(code)\n········const·msg·=\n··········'TTL·caching·without·ttlAutopurge,·max,·or·maxSize·can·'·+\n··········'result·in·unbounded·memory·consumption.'\n········emitWarning(msg,·'UnboundedCacheWarning',·code,·LRUCache)\n······}\n····}\n··}\n\n··/**\n···*·Return·the·number·of·ms·left·in·the·item's·TTL.·If·item·is·not·in·cache,\n···*·returns·`0`.·Returns·`Infinity`·if·item·is·in·cache·without·a·defined·TTL.\n···*/\n··getRemainingTTL(key:·K)·{\n····return·this.#keyMap.has(key)·?·Infinity·:·0\n··}\n\n··#initializeTTLTracking()·{\n····const·ttls·=·new·ZeroArray(this.#max)\n····const·starts·=·new·ZeroArray(this.#max)\n····this.#ttls·=·ttls\n····this.#starts·=·starts\n····const·purgeTimers·=\n······this.ttlAutopurge·?\n········new·Array<undefined·|·ReturnType<typeof·setTimeout>>(this.#max)\n······:·undefined\n····this.#autopurgeTimers·=·purgeTimers\n\n····this.#setItemTTL·=·(index,·ttl,·start·=·this.#perf.now())·=>·{\n······starts[index]·=·ttl·!==·0·?·start·:·0\n······ttls[index]·=·ttl\n······//·clear·out·the·purge·timer·if·we're·setting·TTL·to·0,·and\n······//·previously·had·a·ttl·purge·timer·running,·so·it·doesn't\n······//·fire·unnecessarily.\n······if·(purgeTimers?.[index])·{\n········clearTimeout(purgeTimers[index])\n········purgeTimers[index]·=·undefined\n······}\n······if·(ttl·!==·0·&&·purgeTimers)·{\n········const·t·=·setTimeout(()·=>·{\n··········if·(this.#isStale(index))·{\n············this.#delete(this.#keyList[index]·as·K,·'expire')\n··········}\n········},·ttl·+·1)\n········//·unref()·not·supported·on·all·platforms\n········/*·c8·ignore·start·*/\n········if·(t.unref)·{\n··········t.unref()\n········}\n········/*·c8·ignore·stop·*/\n········purgeTimers[index]·=·t\n······}\n····}\n\n····this.#updateItemAge·=·index·=>·{\n······starts[index]·=·ttls[index]·!==·0·?·this.#perf.now()·:·0\n····}\n\n····this.#statusTTL·=·(status,·index)·=>·{\n······if·(ttls[index])·{\n········const·ttl·=·ttls[index]\n········const·start·=·starts[index]\n········/*·c8·ignore·next·*/\n········if·(!ttl·||·!start)·return\n········status.ttl·=·ttl\n········status.start·=·start\n········status.now·=·cachedNow·||·getNow()\n········const·age·=·status.now·-·start\n········status.remainingTTL·=·ttl·-·age\n······}\n····}\n\n····//·debounce·calls·to·perf.now()·to·1s·so·we're·not·hitting\n····//·that·costly·call·repeatedly.\n····let·cachedNow·=·0\n····const·getNow·=·()·=>·{\n······const·n·=·this.#perf.now()\n······if·(this.ttlResolution·>·0)·{\n········cachedNow·=·n\n········const·t·=·setTimeout(()·=>·(cachedNow·=·0),·this.ttlResolution)\n········//·not·available·on·all·platforms\n········/*·c8·ignore·start·*/\n········if·(t.unref)·{\n··········t.unref()\n········}\n········/*·c8·ignore·stop·*/\n······}\n······return·n\n····}\n\n····this.getRemainingTTL·=·key·=>·{\n······const·index·=·this.#keyMap.get(key)\n······if·(index·===·undefined)·{\n········return·0\n······}\n······const·ttl·=·ttls[index]\n······const·start·=·starts[index]\n······if·(!ttl·||·!start)·{\n········return·Infinity\n······}\n······const·age·=·(cachedNow·||·getNow())·-·start\n······return·ttl·-·age\n····}\n\n····this.#isStale·=·index·=>·{\n······const·s·=·starts[index]\n······const·t·=·ttls[index]\n······return·!!t·&&·!!s·&&·(cachedNow·||·getNow())·-·s·>·t\n····}\n··}\n\n··//·conditionally·set·private·methods·related·to·TTL\n··#updateItemAge:·(index:·Index)·=>·void·=·()·=>·{}\n··#statusTTL:·(status:·LRUCache.Status<V>,·index:·Index)·=>·void·=·()·=>·{}\n··#setItemTTL:·(\n····index:·Index,\n····ttl:·LRUCache.Milliseconds,\n····start?:·LRUCache.Milliseconds,\n····//·ignore·because·we·never·call·this·if·we're·not·already·in·TTL·mode\n····/*·c8·ignore·start·*/\n··)·=>·void·=·()·=>·{}\n··/*·c8·ignore·stop·*/\n\n··#isStale:·(index:·Index)·=>·boolean·=·()·=>·false\n\n··#initializeSizeTracking()·{\n····const·sizes·=·new·ZeroArray(this.#max)\n····this.#calculatedSize·=·0\n····this.#sizes·=·sizes\n····this.#removeItemSize·=·index·=>·{\n······this.#calculatedSize·-=·sizes[index]·as·number\n······sizes[index]·=·0\n····}\n····this.#requireSize·=·(k,·v,·size,·sizeCalculation)·=>·{\n······//·provisionally·accept·background·fetches.\n······//·actual·value·size·will·be·checked·when·they·return.\n······if·(this.#isBackgroundFetch(v))·{\n········return·0\n······}\n······if·(!isPosInt(size))·{\n········if·(sizeCalculation)·{\n··········if·(typeof·sizeCalculation·!==·'function')·{\n············throw·new·TypeError('sizeCalculation·must·be·a·function')\n··········}\n··········size·=·sizeCalculation(v,·k)\n··········if·(!isPosInt(size))·{\n············throw·new·TypeError(\n··············'sizeCalculation·return·invalid·(expect·positive·integer)',\n············)\n··········}\n········}·else·{\n··········throw·new·TypeError(\n············'invalid·size·value·(must·be·positive·integer).·'·+\n··············'When·maxSize·or·maxEntrySize·is·used,·sizeCalculation·'·+\n··············'or·size·must·be·set.',\n··········)\n········}\n······}\n······return·size\n····}\n····this.#addItemSize·=·(\n······index:·Index,\n······size:·LRUCache.Size,\n······status?:·LRUCache.Status<V>,\n····)·=>·{\n······sizes[index]·=·size\n······if·(this.#maxSize)·{\n········const·maxSize·=·this.#maxSize·-·(sizes[index]·as·number)\n········while·(this.#calculatedSize·>·maxSize)·{\n··········this.#evict(true)\n········}\n······}\n······this.#calculatedSize·+=·sizes[index]·as·number\n······if·(status)·{\n········status.entrySize·=·size\n········status.totalCalculatedSize·=·this.#calculatedSize\n······}\n····}\n··}\n\n··#removeItemSize:·(index:·Index)·=>·void·=·_i·=>·{}\n··#addItemSize:·(\n····index:·Index,\n····size:·LRUCache.Size,\n····status?:·LRUCache.Status<V>,\n··)·=>·void·=·(_i,·_s,·_st)·=>·{}\n··#requireSize:·(\n····k:·K,\n····v:·V·|·BackgroundFetch<V>,\n····size?:·LRUCache.Size,\n····sizeCalculation?:·LRUCache.SizeCalculator<K,·V>,\n··)·=>·LRUCache.Size·=·(\n····_k:·K,\n····_v:·V·|·BackgroundFetch<V>,\n····size?:·LRUCache.Size,\n····sizeCalculation?:·LRUCache.SizeCalculator<K,·V>,\n··)·=>·{\n····if·(size·||·sizeCalculation)·{\n······throw·new·TypeError(\n········'cannot·set·size·without·setting·maxSize·or·maxEntrySize·on·cache',\n······)\n····}\n····return·0\n··};\n\n··*#indexes({·allowStale·=·this.allowStale·}·=·{})·{\n····if·(this.#size)·{\n······for·(let·i·=·this.#tail;·true;·)·{\n········if·(!this.#isValidIndex(i))·{\n··········break\n········}\n········if·(allowStale·||·!this.#isStale(i))·{\n··········yield·i\n········}\n········if·(i·===·this.#head)·{\n··········break\n········}·else·{\n··········i·=·this.#prev[i]·as·Index\n········}\n······}\n····}\n··}\n\n··*#rindexes({·allowStale·=·this.allowStale·}·=·{})·{\n····if·(this.#size)·{\n······for·(let·i·=·this.#head;·true;·)·{\n········if·(!this.#isValidIndex(i))·{\n··········break\n········}\n········if·(allowStale·||·!this.#isStale(i))·{\n··········yield·i\n········}\n········if·(i·===·this.#tail)·{\n··········break\n········}·else·{\n··········i·=·this.#next[i]·as·Index\n········}\n······}\n····}\n··}\n\n··#isValidIndex(index:·Index)·{\n····return·(\n······index·!==·undefined·&&\n······this.#keyMap.get(this.#keyList[index]·as·K)·===·index\n····)\n··}\n\n··/**\n···*·Return·a·generator·yielding·`[key,·value]`·pairs,\n···*·in·order·from·most·recently·used·to·least·recently·used.\n···*/\n··*entries()·{\n····for·(const·i·of·this.#indexes())·{\n······if·(\n········this.#valList[i]·!==·undefined·&&\n········this.#keyList[i]·!==·undefined·&&\n········!this.#isBackgroundFetch(this.#valList[i])\n······)·{\n········yield·[this.#keyList[i],·this.#valList[i]]·as·[K,·V]\n······}\n····}\n··}\n\n··/**\n···*·Inverse·order·version·of·{@link·LRUCache.entries}\n···*\n···*·Return·a·generator·yielding·`[key,·value]`·pairs,\n···*·in·order·from·least·recently·used·to·most·recently·used.\n···*/\n··*rentries()·{\n····for·(const·i·of·this.#rindexes())·{\n······if·(\n········this.#valList[i]·!==·undefined·&&\n········this.#keyList[i]·!==·undefined·&&\n········!this.#isBackgroundFetch(this.#valList[i])\n······)·{\n········yield·[this.#keyList[i],·this.#valList[i]]\n······}\n····}\n··}\n\n··/**\n···*·Return·a·generator·yielding·the·keys·in·the·cache,\n···*·in·order·from·most·recently·used·to·least·recently·used.\n···*/\n··*keys()·{\n····for·(const·i·of·this.#indexes())·{\n······const·k·=·this.#keyList[i]\n······if·(k·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·k\n······}\n····}\n··}\n\n··/**\n···*·Inverse·order·version·of·{@link·LRUCache.keys}\n···*\n···*·Return·a·generator·yielding·the·keys·in·the·cache,\n···*·in·order·from·least·recently·used·to·most·recently·used.\n···*/\n··*rkeys()·{\n····for·(const·i·of·this.#rindexes())·{\n······const·k·=·this.#keyList[i]\n······if·(k·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·k\n······}\n····}\n··}\n\n··/**\n···*·Return·a·generator·yielding·the·values·in·the·cache,\n···*·in·order·from·most·recently·used·to·least·recently·used.\n···*/\n··*values()·{\n····for·(const·i·of·this.#indexes())·{\n······const·v·=·this.#valList[i]\n······if·(v·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·this.#valList[i]·as·V\n······}\n····}\n··}\n\n··/**\n···*·Inverse·order·version·of·{@link·LRUCache.values}\n···*\n···*·Return·a·generator·yielding·the·values·in·the·cache,\n···*·in·order·from·least·recently·used·to·most·recently·used.\n···*/\n··*rvalues()·{\n····for·(const·i·of·this.#rindexes())·{\n······const·v·=·this.#valList[i]\n······if·(v·!==·undefined·&&·!this.#isBackgroundFetch(this.#valList[i]))·{\n········yield·this.#valList[i]\n······}\n····}\n··}\n\n··/**\n···*·Iterating·over·the·cache·itself·yields·the·same·results·as\n···*·{@link·LRUCache.entries}\n···*/\n··[Symbol.iterator]()·{\n····return·this.entries()\n··}\n\n··/**\n···*·A·String·value·that·is·used·in·the·creation·of·the·default·string\n···*·description·of·an·object.·Called·by·the·built-in·method\n···*·`Object.prototype.toString`.\n···*/\n··[Symbol.toStringTag]·=·'LRUCache'\n\n··/**\n···*·Find·a·value·for·which·the·supplied·fn·method·returns·a·truthy·value,\n···*·similar·to·`Array.find()`.·fn·is·called·as·`fn(value,·key,·cache)`.\n···*/\n··find(\n····fn:·(v:·V,·k:·K,·self:·LRUCache<K,·V,·FC>)·=>·boolean,\n····getOptions:·LRUCache.GetOptions<K,·V,·FC>·=·{},\n··)·{\n····for·(const·i·of·this.#indexes())·{\n······const·v·=·this.#valList[i]\n······const·value·=·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined)·continue\n······if·(fn(value,·this.#keyList[i]·as·K,·this))·{\n········return·this.get(this.#keyList[i]·as·K,·getOptions)\n······}\n····}\n··}\n\n··/**\n···*·Call·the·supplied·function·on·each·item·in·the·cache,·in·order·from·most\n···*·recently·used·to·least·recently·used.\n···*\n···*·`fn`·is·called·as·`fn(value,·key,·cache)`.\n···*\n···*·If·`thisp`·is·provided,·function·will·be·called·in·the·`this`-context·of\n···*·the·provided·object,·or·the·cache·if·no·`thisp`·object·is·provided.\n···*\n···*·Does·not·update·age·or·recenty·of·use,·or·iterate·over·stale·values.\n···*/\n··forEach(\n····fn:·(v:·V,·k:·K,·self:·LRUCache<K,·V,·FC>)·=>·any,\n····thisp:·any·=·this,\n··)·{\n····for·(const·i·of·this.#indexes())·{\n······const·v·=·this.#valList[i]\n······const·value·=·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined)·continue\n······fn.call(thisp,·value,·this.#keyList[i]·as·K,·this)\n····}\n··}\n\n··/**\n···*·The·same·as·{@link·LRUCache.forEach}·but·items·are·iterated·over·in\n···*·reverse·order.··(ie,·less·recently·used·items·are·iterated·over·first.)\n···*/\n··rforEach(\n····fn:·(v:·V,·k:·K,·self:·LRUCache<K,·V,·FC>)·=>·any,\n····thisp:·any·=·this,\n··)·{\n····for·(const·i·of·this.#rindexes())·{\n······const·v·=·this.#valList[i]\n······const·value·=·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined)·continue\n······fn.call(thisp,·value,·this.#keyList[i]·as·K,·this)\n····}\n··}\n\n··/**\n···*·Delete·any·stale·entries.·Returns·true·if·anything·was·removed,\n···*·false·otherwise.\n···*/\n··purgeStale()·{\n····let·deleted·=·false\n····for·(const·i·of·this.#rindexes({·allowStale:·true·}))·{\n······if·(this.#isStale(i))·{\n········this.#delete(this.#keyList[i]·as·K,·'expire')\n········deleted·=·true\n······}\n····}\n····return·deleted\n··}\n\n··/**\n···*·Get·the·extended·info·about·a·given·entry,·to·get·its·value,·size,·and\n···*·TTL·info·simultaneously.·Returns·`undefined`·if·the·key·is·not·present.\n···*\n···*·Unlike·{@link·LRUCache#dump},·which·is·designed·to·be·portable·and·survive\n···*·serialization,·the·`start`·value·is·always·the·current·timestamp,·and·the\n···*·`ttl`·is·a·calculated·remaining·time·to·live·(negative·if·expired).\n···*\n···*·Always·returns·stale·values,·if·their·info·is·found·in·the·cache,·so·be\n···*·sure·to·check·for·expirations·(ie,·a·negative·{@link·LRUCache.Entry#ttl})\n···*·if·relevant.\n···*/\n··info(key:·K):·LRUCache.Entry<V>·|·undefined·{\n····const·i·=·this.#keyMap.get(key)\n····if·(i·===·undefined)·return·undefined\n····const·v·=·this.#valList[i]\n····/*·c8·ignore·start·-·this·isn't·tested·for·the·info·function,\n·····*·but·it's·the·same·logic·as·found·in·other·places.·*/\n····const·value:·V·|·undefined·=\n······this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n····if·(value·===·undefined)·return·undefined\n····/*·c8·ignore·end·*/\n····const·entry:·LRUCache.Entry<V>·=·{·value·}\n····if·(this.#ttls·&&·this.#starts)·{\n······const·ttl·=·this.#ttls[i]\n······const·start·=·this.#starts[i]\n······if·(ttl·&&·start)·{\n········const·remain·=·ttl·-·(this.#perf.now()·-·start)\n········entry.ttl·=·remain\n········entry.start·=·Date.now()\n······}\n····}\n····if·(this.#sizes)·{\n······entry.size·=·this.#sizes[i]\n····}\n····return·entry\n··}\n\n··/**\n···*·Return·an·array·of·[key,·{@link·LRUCache.Entry}]·tuples·which·can·be\n···*·passed·to·{@link·LRUCache#load}.\n···*\n···*·The·`start`·fields·are·calculated·relative·to·a·portable·`Date.now()`\n···*·timestamp,·even·if·`performance.now()`·is·available.\n···*\n···*·Stale·entries·are·always·included·in·the·`dump`,·even·if\n···*·{@link·LRUCache.OptionsBase.allowStale}·is·false.\n···*\n···*·Note:·this·returns·an·actual·array,·not·a·generator,·so·it·can·be·more\n···*·easily·passed·around.\n···*/\n··dump()·{\n····const·arr:·[K,·LRUCache.Entry<V>][]·=·[]\n····for·(const·i·of·this.#indexes({·allowStale:·true·}))·{\n······const·key·=·this.#keyList[i]\n······const·v·=·this.#valList[i]\n······const·value:·V·|·undefined·=\n········this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n······if·(value·===·undefined·||·key·===·undefined)·continue\n······const·entry:·LRUCache.Entry<V>·=·{·value·}\n······if·(this.#ttls·&&·this.#starts)·{\n········entry.ttl·=·this.#ttls[i]\n········//·always·dump·the·start·relative·to·a·portable·timestamp\n········//·it's·ok·for·this·to·be·a·bit·slow,·it's·a·rare·operation.\n········const·age·=·this.#perf.now()·-·(this.#starts[i]·as·number)\n········entry.start·=·Math.floor(Date.now()·-·age)\n······}\n······if·(this.#sizes)·{\n········entry.size·=·this.#sizes[i]\n······}\n······arr.unshift([key,·entry])\n····}\n····return·arr\n··}\n\n··/**\n···*·Reset·the·cache·and·load·in·the·items·in·entries·in·the·order·listed.\n···*\n···*·The·shape·of·the·resulting·cache·may·be·different·if·the·same·options·are\n···*·not·used·in·both·caches.\n···*\n···*·The·`start`·fields·are·assumed·to·be·calculated·relative·to·a·portable\n···*·`Date.now()`·timestamp,·even·if·`performance.now()`·is·available.\n···*/\n··load(arr:·[K,·LRUCache.Entry<V>][])·{\n····this.clear()\n····for·(const·[key,·entry]·of·arr)·{\n······if·(entry.start)·{\n········//·entry.start·is·a·portable·timestamp,·but·we·may·be·using\n········//·node's·performance.now(),·so·calculate·the·offset,·so·that\n········//·we·get·the·intended·remaining·TTL,·no·matter·how·long·it's\n········//·been·on·ice.\n········//\n········//·it's·ok·for·this·to·be·a·bit·slow,·it's·a·rare·operation.\n········const·age·=·Date.now()·-·entry.start\n········entry.start·=·this.#perf.now()·-·age\n······}\n······this.set(key,·entry.value,·entry)\n····}\n··}\n\n··/**\n···*·Add·a·value·to·the·cache.\n···*\n···*·Note:·if·`undefined`·is·specified·as·a·value,·this·is·an·alias·for\n···*·{@link·LRUCache#delete}\n···*\n···*·Fields·on·the·{@link·LRUCache.SetOptions}·options·param·will·override\n···*·their·corresponding·values·in·the·constructor·options·for·the·scope\n···*·of·this·single·`set()`·operation.\n···*\n···*·If·`start`·is·provided,·then·that·will·set·the·effective·start\n···*·time·for·the·TTL·calculation.·Note·that·this·must·be·a·previous\n···*·value·of·`performance.now()`·if·supported,·or·a·previous·value·of\n···*·`Date.now()`·if·not.\n···*\n···*·Options·object·may·also·include·`size`,·which·will·prevent\n···*·calling·the·`sizeCalculation`·function·and·just·use·the·specified\n···*·number·if·it·is·a·positive·integer,·and·`noDisposeOnSet`·which\n···*·will·prevent·calling·a·`dispose`·function·in·the·case·of\n···*·overwrites.\n···*\n···*·If·the·`size`·(or·return·value·of·`sizeCalculation`)·for·a·given\n···*·entry·is·greater·than·`maxEntrySize`,·then·the·item·will·not·be\n···*·added·to·the·cache.\n···*\n···*·Will·update·the·recency·of·the·entry.\n···*\n···*·If·the·value·is·`undefined`,·then·this·is·an·alias·for\n···*·`cache.delete(key)`.·`undefined`·is·never·stored·in·the·cache.\n···*/\n··set(\n····k:·K,\n····v:·V·|·BackgroundFetch<V>·|·undefined,\n····setOptions:·LRUCache.SetOptions<K,·V,·FC>·=·{},\n··)·{\n····if·(v·===·undefined)·{\n······this.delete(k)\n······return·this\n····}\n····const·{\n······ttl·=·this.ttl,\n······start,\n······noDisposeOnSet·=·this.noDisposeOnSet,\n······sizeCalculation·=·this.sizeCalculation,\n······status,\n····}·=·setOptions\n····let·{·noUpdateTTL·=·this.noUpdateTTL·}·=·setOptions\n\n····const·size·=·this.#requireSize(\n······k,\n······v,\n······setOptions.size·||·0,\n······sizeCalculation,\n····)\n····//·if·the·item·doesn't·fit,·don't·do·anything\n····//·NB:·maxEntrySize·set·to·maxSize·by·default\n····if·(this.maxEntrySize·&&·size·>·this.maxEntrySize)·{\n······if·(status)·{\n········status.set·=·'miss'\n········status.maxEntrySizeExceeded·=·true\n······}\n······//·have·to·delete,·in·case·something·is·there·already.\n······this.#delete(k,·'set')\n······return·this\n····}\n····let·index·=·this.#size·===·0·?·undefined·:·this.#keyMap.get(k)\n····if·(index·===·undefined)·{\n······//·addition\n······index·=·(\n········this.#size·===·0·?·this.#tail\n········:·this.#free.length·!==·0·?·this.#free.pop()\n········:·this.#size·===·this.#max·?·this.#evict(false)\n········:·this.#size)·as·Index\n······this.#keyList[index]·=·k\n······this.#valList[index]·=·v\n······this.#keyMap.set(k,·index)\n······this.#next[this.#tail]·=·index\n······this.#prev[index]·=·this.#tail\n······this.#tail·=·index\n······this.#size++\n······this.#addItemSize(index,·size,·status)\n······if·(status)·status.set·=·'add'\n······noUpdateTTL·=·false\n······if·(this.#hasOnInsert)·{\n········this.#onInsert?.(v·as·V,·k,·'add')\n······}\n····}·else·{\n······//·update\n······this.#moveToTail(index)\n······const·oldVal·=·this.#valList[index]·as·V·|·BackgroundFetch<V>\n······if·(v·!==·oldVal)·{\n········if·(this.#hasFetchMethod·&&·this.#isBackgroundFetch(oldVal))·{\n··········oldVal.__abortController.abort(new·Error('replaced'))\n··········const·{·__staleWhileFetching:·s·}·=·oldVal\n··········if·(s·!==·undefined·&&·!noDisposeOnSet)·{\n············if·(this.#hasDispose)·{\n··············this.#dispose?.(s·as·V,·k,·'set')\n············}\n············if·(this.#hasDisposeAfter)·{\n··············this.#disposed?.push([s·as·V,·k,·'set'])\n············}\n··········}\n········}·else·if·(!noDisposeOnSet)·{\n··········if·(this.#hasDispose)·{\n············this.#dispose?.(oldVal·as·V,·k,·'set')\n··········}\n··········if·(this.#hasDisposeAfter)·{\n············this.#disposed?.push([oldVal·as·V,·k,·'set'])\n··········}\n········}\n········this.#removeItemSize(index)\n········this.#addItemSize(index,·size,·status)\n········this.#valList[index]·=·v\n········if·(status)·{\n··········status.set·=·'replace'\n··········const·oldValue·=\n············oldVal·&&·this.#isBackgroundFetch(oldVal)·?\n··············oldVal.__staleWhileFetching\n············:·oldVal\n··········if·(oldValue·!==·undefined)·status.oldValue·=·oldValue\n········}\n······}·else·if·(status)·{\n········status.set·=·'update'\n······}\n\n······if·(this.#hasOnInsert)·{\n········this.onInsert?.(v·as·V,·k,·v·===·oldVal·?·'update'·:·'replace')\n······}\n····}\n····if·(ttl·!==·0·&&·!this.#ttls)·{\n······this.#initializeTTLTracking()\n····}\n····if·(this.#ttls)·{\n······if·(!noUpdateTTL)·{\n········this.#setItemTTL(index,·ttl,·start)\n······}\n······if·(status)·this.#statusTTL(status,·index)\n····}\n····if·(!noDisposeOnSet·&&·this.#hasDisposeAfter·&&·this.#disposed)·{\n······const·dt·=·this.#disposed\n······let·task:·DisposeTask<K,·V>·|·undefined\n······while·((task·=·dt?.shift()))·{\n········this.#disposeAfter?.(...task)\n······}\n····}\n····return·this\n··}\n\n··/**\n···*·Evict·the·least·recently·used·item,·returning·its·value·or\n···*·`undefined`·if·cache·is·empty.\n···*/\n··pop():·V·|·undefined·{\n····try·{\n······while·(this.#size)·{\n········const·val·=·this.#valList[this.#head]\n········this.#evict(true)\n········if·(this.#isBackgroundFetch(val))·{\n··········if·(val.__staleWhileFetching)·{\n············return·val.__staleWhileFetching\n··········}\n········}·else·if·(val·!==·undefined)·{\n··········return·val\n········}\n······}\n····}·finally·{\n······if·(this.#hasDisposeAfter·&&·this.#disposed)·{\n········const·dt·=·this.#disposed\n········let·task:·DisposeTask<K,·V>·|·undefined\n········while·((task·=·dt?.shift()))·{\n··········this.#disposeAfter?.(...task)\n········}\n······}\n····}\n··}\n\n··#evict(free:·boolean)·{\n····const·head·=·this.#head\n····const·k·=·this.#keyList[head]·as·K\n····const·v·=·this.#valList[head]·as·V\n····if·(this.#hasFetchMethod·&&·this.#isBackgroundFetch(v))·{\n······v.__abortController.abort(new·Error('evicted'))\n····}·else·if·(this.#hasDispose·||·this.#hasDisposeAfter)·{\n······if·(this.#hasDispose)·{\n········this.#dispose?.(v,·k,·'evict')\n······}\n······if·(this.#hasDisposeAfter)·{\n········this.#disposed?.push([v,·k,·'evict'])\n······}\n····}\n····this.#removeItemSize(head)\n····if·(this.#autopurgeTimers?.[head])·{\n······clearTimeout(this.#autopurgeTimers[head])\n······this.#autopurgeTimers[head]·=·undefined\n····}\n····//·if·we·aren't·about·to·use·the·index,·then·null·these·out\n····if·(free)·{\n······this.#keyList[head]·=·undefined\n······this.#valList[head]·=·undefined\n······this.#free.push(head)\n····}\n····if·(this.#size·===·1)·{\n······this.#head·=·this.#tail·=·0·as·Index\n······this.#free.length·=·0\n····}·else·{\n······this.#head·=·this.#next[head]·as·Index\n····}\n····this.#keyMap.delete(k)\n····this.#size--\n····return·head\n··}\n\n··/**\n···*·Check·if·a·key·is·in·the·cache,·without·updating·the·recency·of·use.\n···*·Will·return·false·if·the·item·is·stale,·even·though·it·is·technically\n···*·in·the·cache.\n···*\n···*·Check·if·a·key·is·in·the·cache,·without·updating·the·recency·of\n···*·use.·Age·is·updated·if·{@link·LRUCache.OptionsBase.updateAgeOnHas}·is·set\n···*·to·`true`·in·either·the·options·or·the·constructor.\n···*\n···*·Will·return·`false`·if·the·item·is·stale,·even·though·it·is·technically·in\n···*·the·cache.·The·difference·can·be·determined·(if·it·matters)·by·using·a\n···*·`status`·argument,·and·inspecting·the·`has`·field.\n···*\n···*·Will·not·update·item·age·unless\n···*·{@link·LRUCache.OptionsBase.updateAgeOnHas}·is·set.\n···*/\n··has(k:·K,·hasOptions:·LRUCache.HasOptions<K,·V,·FC>·=·{})·{\n····const·{·updateAgeOnHas·=·this.updateAgeOnHas,·status·}·=·hasOptions\n····const·index·=·this.#keyMap.get(k)\n····if·(index·!==·undefined)·{\n······const·v·=·this.#valList[index]\n······if·(\n········this.#isBackgroundFetch(v)·&&\n········v.__staleWhileFetching·===·undefined\n······)·{\n········return·false\n······}\n······if·(!this.#isStale(index))·{\n········if·(updateAgeOnHas)·{\n··········this.#updateItemAge(index)\n········}\n········if·(status)·{\n··········status.has·=·'hit'\n··········this.#statusTTL(status,·index)\n········}\n········return·true\n······}·else·if·(status)·{\n········status.has·=·'stale'\n········this.#statusTTL(status,·index)\n······}\n····}·else·if·(status)·{\n······status.has·=·'miss'\n····}\n····return·false\n··}\n\n··/**\n···*·Like·{@link·LRUCache#get}·but·doesn't·update·recency·or·delete·stale\n···*·items.\n···*\n···*·Returns·`undefined`·if·the·item·is·stale,·unless\n···*·{@link·LRUCache.OptionsBase.allowStale}·is·set.\n···*/\n··peek(k:·K,·peekOptions:·LRUCache.PeekOptions<K,·V,·FC>·=·{})·{\n····const·{·allowStale·=·this.allowStale·}·=·peekOptions\n····const·index·=·this.#keyMap.get(k)\n····if·(index·===·undefined·||·(!allowStale·&&·this.#isStale(index)))·{\n······return\n····}\n····const·v·=·this.#valList[index]\n····//·either·stale·and·allowed,·or·forcing·a·refresh·of·non-stale·value\n····return·this.#isBackgroundFetch(v)·?·v.__staleWhileFetching·:·v\n··}\n\n··#backgroundFetch(\n····k:·K,\n····index:·Index·|·undefined,\n····options:·LRUCache.FetchOptions<K,·V,·FC>,\n····context:·any,\n··):·BackgroundFetch<V>·{\n····const·v·=·index·===·undefined·?·undefined·:·this.#valList[index]\n····if·(this.#isBackgroundFetch(v))·{\n······return·v\n····}\n\n····const·ac·=·new·AC()\n····const·{·signal·}·=·options\n····//·when/if·our·AC·signals,·then·stop·listening·to·theirs.\n····signal?.addEventListener('abort',·()·=>·ac.abort(signal.reason),·{\n······signal:·ac.signal,\n····})\n\n····const·fetchOpts·=·{\n······signal:·ac.signal,\n······options,\n······context,\n····}\n\n····const·cb·=·(v:·V·|·undefined,·updateCache·=·false):·V·|·undefined·=>·{\n······const·{·aborted·}·=·ac.signal\n······const·ignoreAbort·=·options.ignoreFetchAbort·&&·v·!==·undefined\n······const·proceed·=·options.ignoreFetchAbort·||\n········!!(options.allowStaleOnFetchAbort·&&·v·!==·undefined)\n······if·(options.status)·{\n········if·(aborted·&&·!updateCache)·{\n··········options.status.fetchAborted·=·true\n··········options.status.fetchError·=·ac.signal.reason\n··········if·(ignoreAbort)·options.status.fetchAbortIgnored·=·true\n········}·else·{\n··········options.status.fetchResolved·=·true\n········}\n······}\n······if·(aborted·&&·!ignoreAbort·&&·!updateCache)·{\n········return·fetchFail(ac.signal.reason,·proceed)\n······}\n······//·either·we·didn't·abort,·and·are·still·here,·or·we·did,·and·ignored\n······const·bf·=·p·as·BackgroundFetch<V>\n······//·if·nothing·else·has·been·written·there·but·we're·set·to·update·the\n······//·cache·and·ignore·the·abort,·or·if·it's·still·pending·on·this·specific\n······//·background·request,·then·write·it·to·the·cache.\n······const·vl·=·this.#valList[index·as·Index]\n······if·(vl·===·p·||·(ignoreAbort·&&·updateCache·&&·vl·===·undefined))·{\n········if·(v·===·undefined)·{\n··········if·(bf.__staleWhileFetching·!==·undefined)·{\n············this.#valList[index·as·Index]·=·bf.__staleWhileFetching\n··········}·else·{\n············this.#delete(k,·'fetch')\n··········}\n········}·else·{\n··········if·(options.status)·options.status.fetchUpdated·=·true\n··········this.set(k,·v,·fetchOpts.options)\n········}\n······}\n······return·v\n····}\n\n····const·eb·=·(er:·any)·=>·{\n······if·(options.status)·{\n········options.status.fetchRejected·=·true\n········options.status.fetchError·=·er\n······}\n······//·do·not·pass·go,·do·not·collect·$200\n······return·fetchFail(er,·false)\n····}\n\n····const·fetchFail·=·(er:·any,·proceed:·boolean):·V·|·undefined·=>·{\n······const·{·aborted·}·=·ac.signal\n······const·allowStaleAborted·=·aborted·&&·options.allowStaleOnFetchAbort\n······const·allowStale·=\n········allowStaleAborted·||·options.allowStaleOnFetchRejection\n······const·noDelete·=·allowStale·||·options.noDeleteOnFetchRejection\n······const·bf·=·p·as·BackgroundFetch<V>\n······if·(this.#valList[index·as·Index]·===·p)·{\n········//·if·we·allow·stale·on·fetch·rejections,·then·we·need·to·ensure·that\n········//·the·stale·value·is·not·removed·from·the·cache·when·the·fetch·fails.\n········const·del·=·!noDelete·||\n··········!proceed·&&·bf.__staleWhileFetching·===·undefined\n········if·(del)·{\n··········this.#delete(k,·'fetch')\n········}·else·if·(!allowStaleAborted)·{\n··········//·still·replace·the·*promise*·with·the·stale·value,\n··········//·since·we·are·done·with·the·promise·at·this·point.\n··········//·leave·it·untouched·if·we're·still·waiting·for·an\n··········//·aborted·background·fetch·that·hasn't·yet·returned.\n··········this.#valList[index·as·Index]·=·bf.__staleWhileFetching\n········}\n······}\n······if·(allowStale)·{\n········if·(options.status·&&·bf.__staleWhileFetching·!==·undefined)·{\n··········options.status.returnedStale·=·true\n········}\n········return·bf.__staleWhileFetching\n······}·else·if·(bf.__returned·===·bf)·{\n········throw·er\n······}\n····}\n\n····const·pcall·=·(\n······res:·(v:·V·|·undefined)·=>·void,\n······rej:·(e:·any)·=>·void,\n····)·=>·{\n······const·fmp·=·this.#fetchMethod?.(k,·v,·fetchOpts)\n······if·(fmp·&&·fmp·instanceof·Promise)·{\n········fmp.then(v·=>·res(v·===·undefined·?·undefined·:·v),·rej)\n······}\n······//·ignored,·we·go·until·we·finish,·regardless.\n······//·defer·check·until·we·are·actually·aborting,\n······//·so·fetchMethod·can·override.\n······ac.signal.addEventListener('abort',·()·=>·{\n········if·(!options.ignoreFetchAbort·||·options.allowStaleOnFetchAbort)·{\n··········res(undefined)\n··········//·when·it·eventually·resolves,·update·the·cache.\n··········if·(options.allowStaleOnFetchAbort)·{\n············res·=·v·=>·cb(v,·true)\n··········}\n········}\n······})\n····}\n\n····if·(options.status)·options.status.fetchDispatched·=·true\n····const·p·=·new·Promise(pcall).then(cb,·eb)\n····const·bf:·BackgroundFetch<V>·=·Object.assign(p,·{\n······__abortController:·ac,\n······__staleWhileFetching:·v,\n······__returned:·undefined,\n····})\n\n····if·(index·===·undefined)·{\n······//·internal,·don't·expose·status.\n······this.set(k,·bf,·{·...fetchOpts.options,·status:·undefined·})\n······index·=·this.#keyMap.get(k)\n····}·else·{\n······this.#valList[index]·=·bf\n····}\n····return·bf\n··}\n\n··#isBackgroundFetch(p:·any):·p·is·BackgroundFetch<V>·{\n····if·(!this.#hasFetchMethod)·return·false\n····const·b·=·p·as·BackgroundFetch<V>\n····return·(\n······!!b·&&\n······b·instanceof·Promise·&&\n······b.hasOwnProperty('__staleWhileFetching')·&&\n······b.__abortController·instanceof·AC\n····)\n··}\n\n··/**\n···*·Make·an·asynchronous·cached·fetch·using·the\n···*·{@link·LRUCache.OptionsBase.fetchMethod}·function.\n···*\n···*·If·the·value·is·in·the·cache·and·not·stale,·then·the·returned\n···*·Promise·resolves·to·the·value.\n···*\n···*·If·not·in·the·cache,·or·beyond·its·TTL·staleness,·then\n···*·`fetchMethod(key,·staleValue,·{·options,·signal,·context·})`·is\n···*·called,·and·the·value·returned·will·be·added·to·the·cache·once\n···*·resolved.\n···*\n···*·If·called·with·`allowStale`,·and·an·asynchronous·fetch·is\n···*·currently·in·progress·to·reload·a·stale·value,·then·the·former\n···*·stale·value·will·be·returned.\n···*\n···*·If·called·with·`forceRefresh`,·then·the·cached·item·will·be\n···*·re-fetched,·even·if·it·is·not·stale.·However,·if·`allowStale`·is·also\n···*·set,·then·the·old·value·will·still·be·returned.·This·is·useful\n···*·in·cases·where·you·want·to·force·a·reload·of·a·cached·value.·If\n···*·a·background·fetch·is·already·in·progress,·then·`forceRefresh`\n···*·has·no·effect.\n···*\n···*·If·multiple·fetches·for·the·same·key·are·issued,·then·they·will·all·be\n···*·coalesced·into·a·single·call·to·fetchMethod.\n···*\n···*·Note·that·this·means·that·handling·options·such·as\n···*·{@link·LRUCache.OptionsBase.allowStaleOnFetchAbort},\n···*·{@link·LRUCache.FetchOptions.signal},\n···*·and·{@link·LRUCache.OptionsBase.allowStaleOnFetchRejection}·will·be\n···*·determined·by·the·FIRST·fetch()·call·for·a·given·key.\n···*\n···*·This·is·a·known·(fixable)·shortcoming·which·will·be·addresed·on·when\n···*·someone·complains·about·it,·as·the·fix·would·involve·added·complexity·and\n···*·may·not·be·worth·the·costs·for·this·edge·case.\n···*\n···*·If·{@link·LRUCache.OptionsBase.fetchMethod}·is·not·specified,·then·this·is\n···*·effectively·an·alias·for·`Promise.resolve(cache.get(key))`.\n···*\n···*·When·the·fetch·method·resolves·to·a·value,·if·the·fetch·has·not\n···*·been·aborted·due·to·deletion,·eviction,·or·being·overwritten,\n···*·then·it·is·added·to·the·cache·using·the·options·provided.\n···*\n···*·If·the·key·is·evicted·or·deleted·before·the·`fetchMethod`\n···*·resolves,·then·the·AbortSignal·passed·to·the·`fetchMethod`·will\n···*·receive·an·`abort`·event,·and·the·promise·returned·by·`fetch()`\n···*·will·reject·with·the·reason·for·the·abort.\n···*\n···*·If·a·`signal`·is·passed·to·the·`fetch()`·call,·then·aborting·the\n···*·signal·will·abort·the·fetch·and·cause·the·`fetch()`·promise·to\n···*·reject·with·the·reason·provided.\n···*\n···*·**Setting·`context`**\n···*\n···*·If·an·`FC`·type·is·set·to·a·type·other·than·`unknown`,·`void`,·or\n···*·`undefined`·in·the·{@link·LRUCache}·constructor,·then·all\n···*·calls·to·`cache.fetch()`·_must_·provide·a·`context`·option.·If\n···*·set·to·`undefined`·or·`void`,·then·calls·to·fetch·_must·not_\n···*·provide·a·`context`·option.\n···*\n···*·The·`context`·param·allows·you·to·provide·arbitrary·data·that\n···*·might·be·relevant·in·the·course·of·fetching·the·data.·It·is·only\n···*·relevant·for·the·course·of·a·single·`fetch()`·operation,·and\n···*·discarded·afterwards.\n···*\n···*·**Note:·`fetch()`·calls·are·inflight-unique**\n···*\n···*·If·you·call·`fetch()`·multiple·times·with·the·same·key·value,\n···*·then·every·call·after·the·first·will·resolve·on·the·same\n···*·promise<sup>1</sup>,\n···*·_even·if·they·have·different·settings·that·would·otherwise·change\n···*·the·behavior·of·the·fetch_,·such·as·`noDeleteOnFetchRejection`\n···*·or·`ignoreFetchAbort`.\n···*\n···*·In·most·cases,·this·is·not·a·problem·(in·fact,·only·fetching\n···*·something·once·is·what·you·probably·want,·if·you're·caching·in\n···*·the·first·place).·If·you·are·changing·the·fetch()·options\n···*·dramatically·between·runs,·there's·a·good·chance·that·you·might\n···*·be·trying·to·fit·divergent·semantics·into·a·single·object,·and\n···*·would·be·better·off·with·multiple·cache·instances.\n···*\n···*·**1**:·Ie,·they're·not·the·\"same·Promise\",·but·they·resolve·at\n···*·the·same·time,·because·they're·both·waiting·on·the·same\n···*·underlying·fetchMethod·response.\n···*/\n\n··fetch(\n····k:·K,\n····fetchOptions:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·LRUCache.FetchOptionsWithContext<K,·V,·FC>,\n··):·Promise<undefined·|·V>\n\n··//·this·overload·not·allowed·if·context·is·required\n··fetch(\n····k:·unknown·extends·FC·?·K\n····:·FC·extends·undefined·|·void·?·K\n····:·never,\n····fetchOptions?:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·never,\n··):·Promise<undefined·|·V>\n\n··async·fetch(\n····k:·K,\n····fetchOptions:·LRUCache.FetchOptions<K,·V,·FC>·=·{},\n··):·Promise<undefined·|·V>·{\n····const·{\n······//·get·options\n······allowStale·=·this.allowStale,\n······updateAgeOnGet·=·this.updateAgeOnGet,\n······noDeleteOnStaleGet·=·this.noDeleteOnStaleGet,\n······//·set·options\n······ttl·=·this.ttl,\n······noDisposeOnSet·=·this.noDisposeOnSet,\n······size·=·0,\n······sizeCalculation·=·this.sizeCalculation,\n······noUpdateTTL·=·this.noUpdateTTL,\n······//·fetch·exclusive·options\n······noDeleteOnFetchRejection·=·this.noDeleteOnFetchRejection,\n······allowStaleOnFetchRejection·=·this.allowStaleOnFetchRejection,\n······ignoreFetchAbort·=·this.ignoreFetchAbort,\n······allowStaleOnFetchAbort·=·this.allowStaleOnFetchAbort,\n······context,\n······forceRefresh·=·false,\n······status,\n······signal,\n····}·=·fetchOptions\n\n····if·(!this.#hasFetchMethod)·{\n······if·(status)·status.fetch·=·'get'\n······return·this.get(k,·{\n········allowStale,\n········updateAgeOnGet,\n········noDeleteOnStaleGet,\n········status,\n······})\n····}\n\n····const·options·=·{\n······allowStale,\n······updateAgeOnGet,\n······noDeleteOnStaleGet,\n······ttl,\n······noDisposeOnSet,\n······size,\n······sizeCalculation,\n······noUpdateTTL,\n······noDeleteOnFetchRejection,\n······allowStaleOnFetchRejection,\n······allowStaleOnFetchAbort,\n······ignoreFetchAbort,\n······status,\n······signal,\n····}\n\n····let·index·=·this.#keyMap.get(k)\n····if·(index·===·undefined)·{\n······if·(status)·status.fetch·=·'miss'\n······const·p·=·this.#backgroundFetch(k,·index,·options,·context)\n······return·(p.__returned·=·p)\n····}·else·{\n······//·in·cache,·maybe·already·fetching\n······const·v·=·this.#valList[index]\n······if·(this.#isBackgroundFetch(v))·{\n········const·stale·=·allowStale·&&·v.__staleWhileFetching·!==·undefined\n········if·(status)·{\n··········status.fetch·=·'inflight'\n··········if·(stale)·status.returnedStale·=·true\n········}\n········return·stale·?·v.__staleWhileFetching·:·(v.__returned·=·v)\n······}\n\n······//·if·we·force·a·refresh,·that·means·do·NOT·serve·the·cached·value,\n······//·unless·we·are·already·in·the·process·of·refreshing·the·cache.\n······const·isStale·=·this.#isStale(index)\n······if·(!forceRefresh·&&·!isStale)·{\n········if·(status)·status.fetch·=·'hit'\n········this.#moveToTail(index)\n········if·(updateAgeOnGet)·{\n··········this.#updateItemAge(index)\n········}\n········if·(status)·this.#statusTTL(status,·index)\n········return·v\n······}\n\n······//·ok,·it·is·stale·or·a·forced·refresh,·and·not·already·fetching.\n······//·refresh·the·cache.\n······const·p·=·this.#backgroundFetch(k,·index,·options,·context)\n······const·hasStale·=·p.__staleWhileFetching·!==·undefined\n······const·staleVal·=·hasStale·&&·allowStale\n······if·(status)·{\n········status.fetch·=·isStale·?·'stale'·:·'refresh'\n········if·(staleVal·&&·isStale)·status.returnedStale·=·true\n······}\n······return·staleVal·?·p.__staleWhileFetching·:·(p.__returned·=·p)\n····}\n··}\n\n··/**\n···*·In·some·cases,·`cache.fetch()`·may·resolve·to·`undefined`,·either·because\n···*·a·{@link·LRUCache.OptionsBase#fetchMethod}·was·not·provided·(turning\n···*·`cache.fetch(k)`·into·just·an·async·wrapper·around·`cache.get(k)`)·or\n···*·because·`ignoreFetchAbort`·was·specified·(either·to·the·constructor·or\n···*·in·the·{@link·LRUCache.FetchOptions}).·Also,·the\n···*·{@link·LRUCache.OptionsBase.fetchMethod}·may·return·`undefined`·or·`void`,·making\n···*·the·test·even·more·complicated.\n···*\n···*·Because·inferring·the·cases·where·`undefined`·might·be·returned·are·so\n···*·cumbersome,·but·testing·for·`undefined`·can·also·be·annoying,·this·method\n···*·can·be·used,·which·will·reject·if·`this.fetch()`·resolves·to·undefined.\n···*/\n··forceFetch(\n····k:·K,\n····fetchOptions:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·LRUCache.FetchOptionsWithContext<K,·V,·FC>,\n··):·Promise<V>\n··//·this·overload·not·allowed·if·context·is·required\n··forceFetch(\n····k:·unknown·extends·FC·?·K\n····:·FC·extends·undefined·|·void·?·K\n····:·never,\n····fetchOptions?:·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n····:·never,\n··):·Promise<V>\n··async·forceFetch(\n····k:·K,\n····fetchOptions:·LRUCache.FetchOptions<K,·V,·FC>·=·{},\n··):·Promise<V>·{\n····const·v·=·await·this.fetch(\n······k,\n······fetchOptions·as·unknown·extends·FC·?·LRUCache.FetchOptions<K,·V,·FC>\n······:·FC·extends·undefined·|·void·?·LRUCache.FetchOptionsNoContext<K,·V>\n······:·LRUCache.FetchOptionsWithContext<K,·V,·FC>,\n····)\n····if·(v·===·undefined)·throw·new·Error('fetch()·returned·undefined')\n····return·v\n··}\n\n··/**\n···*·If·the·key·is·found·in·the·cache,·then·this·is·equivalent·to\n···*·{@link·LRUCache#get}.·If·not,·in·the·cache,·then·calculate·the·value·using\n···*·the·{@link·LRUCache.OptionsBase.memoMethod},·and·add·it·to·the·cache.\n···*\n···*·If·an·`FC`·type·is·set·to·a·type·other·than·`unknown`,·`void`,·or\n···*·`undefined`·in·the·LRUCache·constructor,·then·all·calls·to·`cache.memo()`\n···*·_must_·provide·a·`context`·option.·If·set·to·`undefined`·or·`void`,·then\n···*·calls·to·memo·_must·not_·provide·a·`context`·option.\n···*\n···*·The·`context`·param·allows·you·to·provide·arbitrary·data·that·might·be\n···*·relevant·in·the·course·of·fetching·the·data.·It·is·only·relevant·for·the\n···*·course·of·a·single·`memo()`·operation,·and·discarded·afterwards.\n···*/\n··memo(\n····k:·K,\n····memoOptions:·unknown·extends·FC·?·LRUCache.MemoOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.MemoOptionsNoContext<K,·V>\n····:·LRUCache.MemoOptionsWithContext<K,·V,·FC>,\n··):·V\n··//·this·overload·not·allowed·if·context·is·required\n··memo(\n····k:·unknown·extends·FC·?·K\n····:·FC·extends·undefined·|·void·?·K\n····:·never,\n····memoOptions?:·unknown·extends·FC·?·LRUCache.MemoOptions<K,·V,·FC>\n····:·FC·extends·undefined·|·void·?·LRUCache.MemoOptionsNoContext<K,·V>\n····:·never,\n··):·V\n··memo(k:·K,·memoOptions:·LRUCache.MemoOptions<K,·V,·FC>·=·{})·{\n····const·memoMethod·=·this.#memoMethod\n····if·(!memoMethod)·{\n······throw·new·Error('no·memoMethod·provided·to·constructor')\n····}\n····const·{·context,·forceRefresh,·...options·}·=·memoOptions\n····const·v·=·this.get(k,·options)\n····if·(!forceRefresh·&&·v·!==·undefined)·return·v\n····const·vv·=·memoMethod(k,·v,·{\n······options,\n······context,\n····}·as·LRUCache.MemoizerOptions<K,·V,·FC>)\n····this.set(k,·vv,·options)\n····return·vv\n··}\n\n··/**\n···*·Return·a·value·from·the·cache.·Will·update·the·recency·of·the·cache\n···*·entry·found.\n···*\n···*·If·the·key·is·not·found,·get()·will·return·`undefined`.\n···*/\n··get(k:·K,·getOptions:·LRUCache.GetOptions<K,·V,·FC>·=·{})·{\n····const·{\n······allowStale·=·this.allowStale,\n······updateAgeOnGet·=·this.updateAgeOnGet,\n······noDeleteOnStaleGet·=·this.noDeleteOnStaleGet,\n······status,\n····}·=·getOptions\n····const·index·=·this.#keyMap.get(k)\n····if·(index·!==·undefined)·{\n······const·value·=·this.#valList[index]\n······const·fetching·=·this.#isBackgroundFetch(value)\n······if·(status)·this.#statusTTL(status,·index)\n······if·(this.#isStale(index))·{\n········if·(status)·status.get·=·'stale'\n········//·delete·only·if·not·an·in-flight·background·fetch\n········if·(!fetching)·{\n··········if·(!noDeleteOnStaleGet)·{\n············this.#delete(k,·'expire')\n··········}\n··········if·(status·&&·allowStale)·status.returnedStale·=·true\n··········return·allowStale·?·value·:·undefined\n········}·else·{\n··········if·(\n············status·&&\n············allowStale·&&\n············value.__staleWhileFetching·!==·undefined\n··········)·{\n············status.returnedStale·=·true\n··········}\n··········return·allowStale·?·value.__staleWhileFetching·:·undefined\n········}\n······}·else·{\n········if·(status)·status.get·=·'hit'\n········//·if·we're·currently·fetching·it,·we·don't·actually·have·it·yet\n········//·it's·not·stale,·which·means·this·isn't·a·staleWhileRefetching.\n········//·If·it's·not·stale,·and·fetching,·AND·has·a·__staleWhileFetching\n········//·value,·then·that·means·the·user·fetched·with·{forceRefresh:true},\n········//·so·it's·safe·to·return·that·value.\n········if·(fetching)·{\n··········return·value.__staleWhileFetching\n········}\n········this.#moveToTail(index)\n········if·(updateAgeOnGet)·{\n··········this.#updateItemAge(index)\n········}\n········return·value\n······}\n····}·else·if·(status)·{\n······status.get·=·'miss'\n····}\n··}\n\n··#connect(p:·Index,·n:·Index)·{\n····this.#prev[n]·=·p\n····this.#next[p]·=·n\n··}\n\n··#moveToTail(index:·Index):·void·{\n····//·if·tail·already,·nothing·to·do\n····//·if·head,·move·head·to·next[index]\n····//·else\n····//···move·next[prev[index]]·to·next[index]·(head·has·no·prev)\n····//···move·prev[next[index]]·to·prev[index]\n····//·prev[index]·=·tail\n····//·next[tail]·=·index\n····//·tail·=·index\n····if·(index·!==·this.#tail)·{\n······if·(index·===·this.#head)·{\n········this.#head·=·this.#next[index]·as·Index\n······}·else·{\n········this.#connect(\n··········this.#prev[index]·as·Index,\n··········this.#next[index]·as·Index,\n········)\n······}\n······this.#connect(this.#tail,·index)\n······this.#tail·=·index\n····}\n··}\n\n··/**\n···*·Deletes·a·key·out·of·the·cache.\n···*\n···*·Returns·true·if·the·key·was·deleted,·false·otherwise.\n···*/\n··delete(k:·K)·{\n····return·this.#delete(k,·'delete')\n··}\n\n··#delete(k:·K,·reason:·LRUCache.DisposeReason)·{\n····let·deleted·=·false\n····if·(this.#size·!==·0)·{\n······const·index·=·this.#keyMap.get(k)\n······if·(index·!==·undefined)·{\n········if·(this.#autopurgeTimers?.[index])·{\n··········clearTimeout(this.#autopurgeTimers?.[index])\n··········this.#autopurgeTimers[index]·=·undefined\n········}\n········deleted·=·true\n········if·(this.#size·===·1)·{\n··········this.#clear(reason)\n········}·else·{\n··········this.#removeItemSize(index)\n··········const·v·=·this.#valList[index]\n··········if·(this.#isBackgroundFetch(v))·{\n············v.__abortController.abort(new·Error('deleted'))\n··········}·else·if·(this.#hasDispose·||·this.#hasDisposeAfter)·{\n············if·(this.#hasDispose)·{\n··············this.#dispose?.(v·as·V,·k,·reason)\n············}\n············if·(this.#hasDisposeAfter)·{\n··············this.#disposed?.push([v·as·V,·k,·reason])\n············}\n··········}\n··········this.#keyMap.delete(k)\n··········this.#keyList[index]·=·undefined\n··········this.#valList[index]·=·undefined\n··········if·(index·===·this.#tail)·{\n············this.#tail·=·this.#prev[index]·as·Index\n··········}·else·if·(index·===·this.#head)·{\n············this.#head·=·this.#next[index]·as·Index\n··········}·else·{\n············const·pi·=·this.#prev[index]·as·number\n············this.#next[pi]·=·this.#next[index]·as·number\n············const·ni·=·this.#next[index]·as·number\n············this.#prev[ni]·=·this.#prev[index]·as·number\n··········}\n··········this.#size--\n··········this.#free.push(index)\n········}\n······}\n····}\n····if·(this.#hasDisposeAfter·&&·this.#disposed?.length)·{\n······const·dt·=·this.#disposed\n······let·task:·DisposeTask<K,·V>·|·undefined\n······while·((task·=·dt?.shift()))·{\n········this.#disposeAfter?.(...task)\n······}\n····}\n····return·deleted\n··}\n\n··/**\n···*·Clear·the·cache·entirely,·throwing·away·all·values.\n···*/\n··clear()·{\n····return·this.#clear('delete')\n··}\n··#clear(reason:·LRUCache.DisposeReason)·{\n····for·(const·index·of·this.#rindexes({·allowStale:·true·}))·{\n······const·v·=·this.#valList[index]\n······if·(this.#isBackgroundFetch(v))·{\n········v.__abortController.abort(new·Error('deleted'))\n······}·else·{\n········const·k·=·this.#keyList[index]\n········if·(this.#hasDispose)·{\n··········this.#dispose?.(v·as·V,·k·as·K,·reason)\n········}\n········if·(this.#hasDisposeAfter)·{\n··········this.#disposed?.push([v·as·V,·k·as·K,·reason])\n········}\n······}\n····}\n\n····this.#keyMap.clear()\n····this.#valList.fill(undefined)\n····this.#keyList.fill(undefined)\n····if·(this.#ttls·&&·this.#starts)·{\n······this.#ttls.fill(0)\n······this.#starts.fill(0)\n······for·(const·t·of·this.#autopurgeTimers·??·[])·{\n········if·(t·!==·undefined)·clearTimeout(t)\n······}\n······this.#autopurgeTimers?.fill(undefined)\n····}\n····if·(this.#sizes)·{\n······this.#sizes.fill(0)\n····}\n····this.#head·=·0·as·Index\n····this.#tail·=·0·as·Index\n····this.#free.length·=·0\n····this.#calculatedSize·=·0\n····this.#size·=·0\n····if·(this.#hasDisposeAfter·&&·this.#disposed)·{\n······const·dt·=·this.#disposed\n······let·task:·DisposeTask<K,·V>·|·undefined\n······while·((task·=·dt?.shift()))·{\n········this.#disposeAfter?.(...task)\n······}\n····}\n··}\n}\n",
1023 ········"import·{·LRUCache·}·from·'lru-cache'\nimport·{·posix,·win32·}·from·'node:path'\n\nimport·{·fileURLToPath·}·from·'node:url'\n\nimport·{\n··lstatSync,\n··readdir·as·readdirCB,\n··readdirSync,\n··readlinkSync,\n··realpathSync·as·rps,\n}·from·'fs'\nimport·*·as·actualFS·from·'node:fs'\n\nconst·realpathSync·=·rps.native\n//·TODO:·test·perf·of·fs/promises·realpath·vs·realpathCB,\n//·since·the·promises·one·uses·realpath.native\n\nimport·{·lstat,·readdir,·readlink,·realpath·}·from·'node:fs/promises'\n\nimport·{·Minipass·}·from·'minipass'\nimport·type·{·Dirent,·Stats·}·from·'node:fs'\n\n/**\n·*·An·object·that·will·be·used·to·override·the·default·`fs`\n·*·methods.··Any·methods·that·are·not·overridden·will·use·Node's\n·*·built-in·implementations.\n·*\n·*·-·lstatSync\n·*·-·readdir·(callback·`withFileTypes`·Dirent·variant,·used·for\n·*···readdirCB·and·most·walks)\n·*·-·readdirSync\n·*·-·readlinkSync\n·*·-·realpathSync\n·*·-·promises:·Object·containing·the·following·async·methods:\n·*···-·lstat\n·*···-·readdir·(Dirent·variant·only)\n·*···-·readlink\n·*···-·realpath\n·*/\nexport·interface·FSOption·{\n··lstatSync?:·(path:·string)·=>·Stats\n··readdir?:·(\n····path:·string,\n····options:·{·withFileTypes:·true·},\n····cb:·(er:·NodeJS.ErrnoException·|·null,·entries?:·Dirent[])·=>·any,\n··)·=>·void\n··readdirSync?:·(\n····path:·string,\n····options:·{·withFileTypes:·true·},\n··)·=>·Dirent[]\n··readlinkSync?:·(path:·string)·=>·string\n··realpathSync?:·(path:·string)·=>·string\n··promises?:·{\n····lstat?:·(path:·string)·=>·Promise<Stats>\n····readdir?:·(\n······path:·string,\n······options:·{·withFileTypes:·true·},\n····)·=>·Promise<Dirent[]>\n····readlink?:·(path:·string)·=>·Promise<string>\n····realpath?:·(path:·string)·=>·Promise<string>\n····[k:·string]:·any\n··}\n··[k:·string]:·any\n}\n\ninterface·FSValue·{\n··lstatSync:·(path:·string)·=>·Stats\n··readdir:·(\n····path:·string,\n····options:·{·withFileTypes:·true·},\n····cb:·(er:·NodeJS.ErrnoException·|·null,·entries?:·Dirent[])·=>·any,\n··)·=>·void\n··readdirSync:·(path:·string,·options:·{·withFileTypes:·true·})·=>·Dirent[]\n··readlinkSync:·(path:·string)·=>·string\n··realpathSync:·(path:·string)·=>·string\n··promises:·{\n····lstat:·(path:·string)·=>·Promise<Stats>\n····readdir:·(\n······path:·string,\n······options:·{·withFileTypes:·true·},\n····)·=>·Promise<Dirent[]>\n····readlink:·(path:·string)·=>·Promise<string>\n····realpath:·(path:·string)·=>·Promise<string>\n····[k:·string]:·any\n··}\n··[k:·string]:·any\n}\n\nconst·defaultFS:·FSValue·=·{\n··lstatSync,\n··readdir:·readdirCB,\n··readdirSync,\n··readlinkSync,\n··realpathSync,\n··promises:·{\n····lstat,\n····readdir,\n····readlink,\n····realpath,\n··},\n}\n\n//·if·they·just·gave·us·require('fs')·then·use·our·default\nconst·fsFromOption·=·(fsOption?:·FSOption):·FSValue·=>\n··!fsOption·||·fsOption·===·defaultFS·||·fsOption·===·actualFS·?\n····defaultFS\n··:·{\n······...defaultFS,\n······...fsOption,\n······promises:·{\n········...defaultFS.promises,\n········...(fsOption.promises·||·{}),\n······},\n····}\n\n//·turn·something·like·//?/c:/·into·c:\\\nconst·uncDriveRegexp·=·/^\\\\\\\\\\?\\\\([a-z]:)\\\\?$/i\nconst·uncToDrive·=·(rootPath:·string):·string·=>\n··rootPath.replace(/\\//g,·'\\\\').replace(uncDriveRegexp,·'$1\\\\')\n\n//·windows·paths·are·separated·by·either·/·or·\\\nconst·eitherSep·=·/[\\\\\\/]/\n\nconst·UNKNOWN·=·0·//·may·not·even·exist,·for·all·we·know\nconst·IFIFO·=·0b0001\nconst·IFCHR·=·0b0010\nconst·IFDIR·=·0b0100\nconst·IFBLK·=·0b0110\nconst·IFREG·=·0b1000\nconst·IFLNK·=·0b1010\nconst·IFSOCK·=·0b1100\nconst·IFMT·=·0b1111\n\nexport·type·Type·=\n··|·'Unknown'\n··|·'FIFO'\n··|·'CharacterDevice'\n··|·'Directory'\n··|·'BlockDevice'\n··|·'File'\n··|·'SymbolicLink'\n··|·'Socket'\n\n//·mask·to·unset·low·4·bits\nconst·IFMT_UNKNOWN·=·~IFMT\n\n//·set·after·successfully·calling·readdir()·and·getting·entries.\nconst·READDIR_CALLED·=·0b0000_0001_0000\n//·set·after·a·successful·lstat()\nconst·LSTAT_CALLED·=·0b0000_0010_0000\n//·set·if·an·entry·(or·one·of·its·parents)·is·definitely·not·a·dir\nconst·ENOTDIR·=·0b0000_0100_0000\n//·set·if·an·entry·(or·one·of·its·parents)·does·not·exist\n//·(can·also·be·set·on·lstat·errors·like·EACCES·or·ENAMETOOLONG)\nconst·ENOENT·=·0b0000_1000_0000\n//·cannot·have·child·entries·--·also·verify·&IFMT·is·either·IFDIR·or·IFLNK\n//·set·if·we·fail·to·readlink\nconst·ENOREADLINK·=·0b0001_0000_0000\n//·set·if·we·know·realpath()·will·fail\nconst·ENOREALPATH·=·0b0010_0000_0000\n\nconst·ENOCHILD·=·ENOTDIR·|·ENOENT·|·ENOREALPATH\nconst·TYPEMASK·=·0b0011_1111_1111\n\nconst·entToType·=·(s:·Dirent·|·Stats)·=>\n··s.isFile()·?·IFREG\n··:·s.isDirectory()·?·IFDIR\n··:·s.isSymbolicLink()·?·IFLNK\n··:·s.isCharacterDevice()·?·IFCHR\n··:·s.isBlockDevice()·?·IFBLK\n··:·s.isSocket()·?·IFSOCK\n··:·s.isFIFO()·?·IFIFO\n··:·UNKNOWN\n\n//·normalize·unicode·path·names\nconst·normalizeCache·=·new·LRUCache<string,·string>({·max:·2·**·12·})\nconst·normalize·=·(s:·string)·=>·{\n··const·c·=·normalizeCache.get(s)\n··if·(c)·return·c\n··const·n·=·s.normalize('NFKD')\n··normalizeCache.set(s,·n)\n··return·n\n}\n\nconst·normalizeNocaseCache·=·new·LRUCache<string,·string>({·max:·2·**·12·})\nconst·normalizeNocase·=·(s:·string)·=>·{\n··const·c·=·normalizeNocaseCache.get(s)\n··if·(c)·return·c\n··const·n·=·normalize(s.toLowerCase())\n··normalizeNocaseCache.set(s,·n)\n··return·n\n}\n\n/**\n·*·Options·that·may·be·provided·to·the·Path·constructor\n·*/\nexport·interface·PathOpts·{\n··fullpath?:·string\n··relative?:·string\n··relativePosix?:·string\n··parent?:·PathBase\n··/**\n···*·See·{@link·FSOption}\n···*/\n··fs?:·FSOption\n}\n\n/**\n·*·An·LRUCache·for·storing·resolved·path·strings·or·Path·objects.\n·*·@internal\n·*/\nexport·class·ResolveCache·extends·LRUCache<string,·string>·{\n··constructor()·{\n····super({·max:·256·})\n··}\n}\n\n//·In·order·to·prevent·blowing·out·the·js·heap·by·allocating·hundreds·of\n//·thousands·of·Path·entries·when·walking·extremely·large·trees,·the·\"children\"\n//·in·this·tree·are·represented·by·storing·an·array·of·Path·entries·in·an\n//·LRUCache,·indexed·by·the·parent.··At·any·time,·Path.children()·may·return·an\n//·empty·array,·indicating·that·it·doesn't·know·about·any·of·its·children,·and\n//·thus·has·to·rebuild·that·cache.··This·is·fine,·it·just·means·that·we·don't\n//·benefit·as·much·from·having·the·cached·entries,·but·huge·directory·walks\n//·don't·blow·out·the·stack,·and·smaller·ones·are·still·as·fast·as·possible.\n//\n//It·does·impose·some·complexity·when·building·up·the·readdir·data,·because·we\n//need·to·pass·a·reference·to·the·children·array·that·we·started·with.\n\n/**\n·*·an·LRUCache·for·storing·child·entries.\n·*·@internal\n·*/\nexport·class·ChildrenCache·extends·LRUCache<PathBase,·Children>·{\n··constructor(maxSize:·number·=·16·*·1024)·{\n····super({\n······maxSize,\n······//·parent·+·children\n······sizeCalculation:·a·=>·a.length·+·1,\n····})\n··}\n}\n\n/**\n·*·Array·of·Path·objects,·plus·a·marker·indicating·the·first·provisional·entry\n·*\n·*·@internal\n·*/\nexport·type·Children·=·PathBase[]·&·{·provisional:·number·}\n\nconst·setAsCwd·=·Symbol('PathScurry·setAsCwd')\n\n/**\n·*·Path·objects·are·sort·of·like·a·super-powered\n·*·{@link·https://nodejs.org/docs/latest/api/fs.html#class-fsdirent·fs.Dirent}\n·*\n·*·Each·one·represents·a·single·filesystem·entry·on·disk,·which·may·or·may·not\n·*·exist.·It·includes·methods·for·reading·various·types·of·information·via\n·*·lstat,·readlink,·and·readdir,·and·caches·all·information·to·the·greatest\n·*·degree·possible.\n·*\n·*·Note·that·fs·operations·that·would·normally·throw·will·instead·return·an\n·*·\"empty\"·value.·This·is·in·order·to·prevent·excessive·overhead·from·error\n·*·stack·traces.\n·*/\nexport·abstract·class·PathBase·implements·Dirent·{\n··/**\n···*·the·basename·of·this·path\n···*\n···*·**Important**:·*always*·test·the·path·name·against·any·test·string\n···*·usingthe·{@link·isNamed}·method,·and·not·by·directly·comparing·this\n···*·string.·Otherwise,·unicode·path·strings·that·the·system·sees·as·identical\n···*·will·not·be·properly·treated·as·the·same·path,·leading·to·incorrect\n···*·behavior·and·possible·security·issues.\n···*/\n··name:·string\n··/**\n···*·the·Path·entry·corresponding·to·the·path·root.\n···*\n···*·@internal\n···*/\n··root:·PathBase\n··/**\n···*·All·roots·found·within·the·current·PathScurry·family\n···*\n···*·@internal\n···*/\n··roots:·{·[k:·string]:·PathBase·}\n··/**\n···*·a·reference·to·the·parent·path,·or·undefined·in·the·case·of·root·entries\n···*\n···*·@internal\n···*/\n··parent?:·PathBase\n··/**\n···*·boolean·indicating·whether·paths·are·compared·case-insensitively\n···*·@internal\n···*/\n··nocase:·boolean\n\n··/**\n···*·boolean·indicating·that·this·path·is·the·current·working·directory\n···*·of·the·PathScurry·collection·that·contains·it.\n···*/\n··isCWD:·boolean·=·false\n\n··/**\n···*·the·string·or·regexp·used·to·split·paths.·On·posix,·it·is·`'/'`,·and·on\n···*·windows·it·is·a·RegExp·matching·either·`'/'`·or·`'\\\\'`\n···*/\n··abstract·splitSep:·string·|·RegExp\n··/**\n···*·The·path·separator·string·to·use·when·joining·paths\n···*/\n··abstract·sep:·string\n\n··//·potential·default·fs·override\n··#fs:·FSValue\n\n··//·Stats·fields\n··#dev?:·number\n··get·dev()·{\n····return·this.#dev\n··}\n··#mode?:·number\n··get·mode()·{\n····return·this.#mode\n··}\n··#nlink?:·number\n··get·nlink()·{\n····return·this.#nlink\n··}\n··#uid?:·number\n··get·uid()·{\n····return·this.#uid\n··}\n··#gid?:·number\n··get·gid()·{\n····return·this.#gid\n··}\n··#rdev?:·number\n··get·rdev()·{\n····return·this.#rdev\n··}\n··#blksize?:·number\n··get·blksize()·{\n····return·this.#blksize\n··}\n··#ino?:·number\n··get·ino()·{\n····return·this.#ino\n··}\n··#size?:·number\n··get·size()·{\n····return·this.#size\n··}\n··#blocks?:·number\n··get·blocks()·{\n····return·this.#blocks\n··}\n··#atimeMs?:·number\n··get·atimeMs()·{\n····return·this.#atimeMs\n··}\n··#mtimeMs?:·number\n··get·mtimeMs()·{\n····return·this.#mtimeMs\n··}\n··#ctimeMs?:·number\n··get·ctimeMs()·{\n····return·this.#ctimeMs\n··}\n··#birthtimeMs?:·number\n··get·birthtimeMs()·{\n····return·this.#birthtimeMs\n··}\n··#atime?:·Date\n··get·atime()·{\n····return·this.#atime\n··}\n··#mtime?:·Date\n··get·mtime()·{\n····return·this.#mtime\n··}\n··#ctime?:·Date\n··get·ctime()·{\n····return·this.#ctime\n··}\n··#birthtime?:·Date\n··get·birthtime()·{\n····return·this.#birthtime\n··}\n\n··#matchName:·string\n··#depth?:·number\n··#fullpath?:·string\n··#fullpathPosix?:·string\n··#relative?:·string\n··#relativePosix?:·string\n··#type:·number\n··#children:·ChildrenCache\n··#linkTarget?:·PathBase\n··#realpath?:·PathBase\n\n··/**\n···*·This·property·is·for·compatibility·with·the·Dirent·class·as·of\n···*·Node·v20,·where·Dirent['parentPath']·refers·to·the·path·of·the\n···*·directory·that·was·passed·to·readdir.·For·root·entries,·it's·the·path\n···*·to·the·entry·itself.\n···*/\n··get·parentPath():·string·{\n····return·(this.parent·||·this).fullpath()\n··}\n\n··/*·c8·ignore·start·*/\n··/**\n···*·Deprecated·alias·for·Dirent['parentPath']·Somewhat·counterintuitively,\n···*·this·property·refers·to·the·*parent*·path,·not·the·path·object·itself.\n···*\n···*·@deprecated\n···*/\n··get·path():·string·{\n····return·this.parentPath\n··}\n··/*·c8·ignore·stop·*/\n\n··/**\n···*·Do·not·create·new·Path·objects·directly.··They·should·always·be·accessed\n···*·via·the·PathScurry·class·or·other·methods·on·the·Path·class.\n···*\n···*·@internal\n···*/\n··constructor(\n····name:·string,\n····type:·number·=·UNKNOWN,\n····root:·PathBase·|·undefined,\n····roots:·{·[k:·string]:·PathBase·},\n····nocase:·boolean,\n····children:·ChildrenCache,\n····opts:·PathOpts,\n··)·{\n····this.name·=·name\n····this.#matchName·=·nocase·?·normalizeNocase(name)·:·normalize(name)\n····this.#type·=·type·&·TYPEMASK\n····this.nocase·=·nocase\n····this.roots·=·roots\n····this.root·=·root·||·this\n····this.#children·=·children\n····this.#fullpath·=·opts.fullpath\n····this.#relative·=·opts.relative\n····this.#relativePosix·=·opts.relativePosix\n····this.parent·=·opts.parent\n····if·(this.parent)·{\n······this.#fs·=·this.parent.#fs\n····}·else·{\n······this.#fs·=·fsFromOption(opts.fs)\n····}\n··}\n\n··/**\n···*·Returns·the·depth·of·the·Path·object·from·its·root.\n···*\n···*·For·example,·a·path·at·`/foo/bar`·would·have·a·depth·of·2.\n···*/\n··depth():·number·{\n····if·(this.#depth·!==·undefined)·return·this.#depth\n····if·(!this.parent)·return·(this.#depth·=·0)\n····return·(this.#depth·=·this.parent.depth()·+·1)\n··}\n\n··/**\n···*·@internal\n···*/\n··abstract·getRootString(path:·string):·string\n··/**\n···*·@internal\n···*/\n··abstract·getRoot(rootPath:·string):·PathBase\n··/**\n···*·@internal\n···*/\n··abstract·newChild(name:·string,·type?:·number,·opts?:·PathOpts):·PathBase\n\n··/**\n···*·@internal\n···*/\n··childrenCache()·{\n····return·this.#children\n··}\n\n··/**\n···*·Get·the·Path·object·referenced·by·the·string·path,·resolved·from·this·Path\n···*/\n··resolve(path?:·string):·PathBase·{\n····if·(!path)·{\n······return·this\n····}\n····const·rootPath·=·this.getRootString(path)\n····const·dir·=·path.substring(rootPath.length)\n····const·dirParts·=·dir.split(this.splitSep)\n····const·result:·PathBase·=\n······rootPath·?\n········this.getRoot(rootPath).#resolveParts(dirParts)\n······:·this.#resolveParts(dirParts)\n····return·result\n··}\n\n··#resolveParts(dirParts:·string[])·{\n····let·p:·PathBase·=·this\n····for·(const·part·of·dirParts)·{\n······p·=·p.child(part)\n····}\n····return·p\n··}\n\n··/**\n···*·Returns·the·cached·children·Path·objects,·if·still·available.··If·they\n···*·have·fallen·out·of·the·cache,·then·returns·an·empty·array,·and·resets·the\n···*·READDIR_CALLED·bit,·so·that·future·calls·to·readdir()·will·require·an·fs\n···*·lookup.\n···*\n···*·@internal\n···*/\n··children():·Children·{\n····const·cached·=·this.#children.get(this)\n····if·(cached)·{\n······return·cached\n····}\n····const·children:·Children·=·Object.assign([],·{·provisional:·0·})\n····this.#children.set(this,·children)\n····this.#type·&=·~READDIR_CALLED\n····return·children\n··}\n\n··/**\n···*·Resolves·a·path·portion·and·returns·or·creates·the·child·Path.\n···*\n···*·Returns·`this`·if·pathPart·is·`''`·or·`'.'`,·or·`parent`·if·pathPart·is\n···*·`'..'`.\n···*\n···*·This·should·not·be·called·directly.··If·`pathPart`·contains·any·path\n···*·separators,·it·will·lead·to·unsafe·undefined·behavior.\n···*\n···*·Use·`Path.resolve()`·instead.\n···*\n···*·@internal\n···*/\n··child(pathPart:·string,·opts?:·PathOpts):·PathBase·{\n····if·(pathPart·===·''·||·pathPart·===·'.')·{\n······return·this\n····}\n····if·(pathPart·===·'..')·{\n······return·this.parent·||·this\n····}\n\n····//·find·the·child\n····const·children·=·this.children()\n····const·name·=\n······this.nocase·?·normalizeNocase(pathPart)·:·normalize(pathPart)\n····for·(const·p·of·children)·{\n······if·(p.#matchName·===·name)·{\n········return·p\n······}\n····}\n\n····//·didn't·find·it,·create·provisional·child,·since·it·might·not\n····//·actually·exist.··If·we·know·the·parent·isn't·a·dir,·then\n····//·in·fact·it·CAN'T·exist.\n····const·s·=·this.parent·?·this.sep·:·''\n····const·fullpath·=\n······this.#fullpath·?·this.#fullpath·+·s·+·pathPart·:·undefined\n····const·pchild·=·this.newChild(pathPart,·UNKNOWN,·{\n······...opts,\n······parent:·this,\n······fullpath,\n····})\n\n····if·(!this.canReaddir())·{\n······pchild.#type·|=·ENOENT\n····}\n\n····//·don't·have·to·update·provisional,·because·if·we·have·real·children,\n····//·then·provisional·is·set·to·children.length,·otherwise·a·lower·number\n····children.push(pchild)\n····return·pchild\n··}\n\n··/**\n···*·The·relative·path·from·the·cwd.·If·it·does·not·share·an·ancestor·with\n···*·the·cwd,·then·this·ends·up·being·equivalent·to·the·fullpath()\n···*/\n··relative():·string·{\n····if·(this.isCWD)·return·''\n····if·(this.#relative·!==·undefined)·{\n······return·this.#relative\n····}\n····const·name·=·this.name\n····const·p·=·this.parent\n····if·(!p)·{\n······return·(this.#relative·=·this.name)\n····}\n····const·pv·=·p.relative()\n····return·pv·+·(!pv·||·!p.parent·?·''·:·this.sep)·+·name\n··}\n\n··/**\n···*·The·relative·path·from·the·cwd,·using·/·as·the·path·separator.\n···*·If·it·does·not·share·an·ancestor·with\n···*·the·cwd,·then·this·ends·up·being·equivalent·to·the·fullpathPosix()\n···*·On·posix·systems,·this·is·identical·to·relative().\n···*/\n··relativePosix():·string·{\n····if·(this.sep·===·'/')·return·this.relative()\n····if·(this.isCWD)·return·''\n····if·(this.#relativePosix·!==·undefined)·return·this.#relativePosix\n····const·name·=·this.name\n····const·p·=·this.parent\n····if·(!p)·{\n······return·(this.#relativePosix·=·this.fullpathPosix())\n····}\n····const·pv·=·p.relativePosix()\n····return·pv·+·(!pv·||·!p.parent·?·''·:·'/')·+·name\n··}\n\n··/**\n···*·The·fully·resolved·path·string·for·this·Path·entry\n···*/\n··fullpath():·string·{\n····if·(this.#fullpath·!==·undefined)·{\n······return·this.#fullpath\n····}\n····const·name·=·this.name\n····const·p·=·this.parent\n····if·(!p)·{\n······return·(this.#fullpath·=·this.name)\n····}\n····const·pv·=·p.fullpath()\n····const·fp·=·pv·+·(!p.parent·?·''·:·this.sep)·+·name\n····return·(this.#fullpath·=·fp)\n··}\n\n··/**\n···*·On·platforms·other·than·windows,·this·is·identical·to·fullpath.\n···*\n···*·On·windows,·this·is·overridden·to·return·the·forward-slash·form·of·the\n···*·full·UNC·path.\n···*/\n··fullpathPosix():·string·{\n····if·(this.#fullpathPosix·!==·undefined)·return·this.#fullpathPosix\n····if·(this.sep·===·'/')·return·(this.#fullpathPosix·=·this.fullpath())\n····if·(!this.parent)·{\n······const·p·=·this.fullpath().replace(/\\\\/g,·'/')\n······if·(/^[a-z]:\\//i.test(p))·{\n········return·(this.#fullpathPosix·=·`//?/${p}`)\n······}·else·{\n········return·(this.#fullpathPosix·=·p)\n······}\n····}\n····const·p·=·this.parent\n····const·pfpp·=·p.fullpathPosix()\n····const·fpp·=·pfpp·+·(!pfpp·||·!p.parent·?·''·:·'/')·+·this.name\n····return·(this.#fullpathPosix·=·fpp)\n··}\n\n··/**\n···*·Is·the·Path·of·an·unknown·type?\n···*\n···*·Note·that·we·might·know·*something*·about·it·if·there·has·been·a·previous\n···*·filesystem·operation,·for·example·that·it·does·not·exist,·or·is·not·a\n···*·link,·or·whether·it·has·child·entries.\n···*/\n··isUnknown():·boolean·{\n····return·(this.#type·&·IFMT)·===·UNKNOWN\n··}\n\n··isType(type:·Type):·boolean·{\n····return·this[`is${type}`]()\n··}\n\n··getType():·Type·{\n····return·(\n······this.isUnknown()·?·'Unknown'\n······:·this.isDirectory()·?·'Directory'\n······:·this.isFile()·?·'File'\n······:·this.isSymbolicLink()·?·'SymbolicLink'\n······:·this.isFIFO()·?·'FIFO'\n······:·this.isCharacterDevice()·?·'CharacterDevice'\n······:·this.isBlockDevice()·?·'BlockDevice'\n······:·/*·c8·ignore·start·*/·this.isSocket()·?·'Socket'\n······:·'Unknown'\n····)\n····/*·c8·ignore·stop·*/\n··}\n\n··/**\n···*·Is·the·Path·a·regular·file?\n···*/\n··isFile():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFREG\n··}\n\n··/**\n···*·Is·the·Path·a·directory?\n···*/\n··isDirectory():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFDIR\n··}\n\n··/**\n···*·Is·the·path·a·character·device?\n···*/\n··isCharacterDevice():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFCHR\n··}\n\n··/**\n···*·Is·the·path·a·block·device?\n···*/\n··isBlockDevice():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFBLK\n··}\n\n··/**\n···*·Is·the·path·a·FIFO·pipe?\n···*/\n··isFIFO():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFIFO\n··}\n\n··/**\n···*·Is·the·path·a·socket?\n···*/\n··isSocket():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFSOCK\n··}\n\n··/**\n···*·Is·the·path·a·symbolic·link?\n···*/\n··isSymbolicLink():·boolean·{\n····return·(this.#type·&·IFLNK)·===·IFLNK\n··}\n\n··/**\n···*·Return·the·entry·if·it·has·been·subject·of·a·successful·lstat,·or\n···*·undefined·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·undefined·result·*could*·simply\n···*·mean·that·we·haven't·called·lstat·on·it.\n···*/\n··lstatCached():·PathBase·|·undefined·{\n····return·this.#type·&·LSTAT_CALLED·?·this·:·undefined\n··}\n\n··/**\n···*·Return·the·cached·link·target·if·the·entry·has·been·the·subject·of·a\n···*·successful·readlink,·or·undefined·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·undefined·result·*could*·just·mean·we\n···*·don't·have·any·cached·data.·Only·use·it·if·you·are·very·sure·that·a\n···*·readlink()·has·been·called·at·some·point.\n···*/\n··readlinkCached():·PathBase·|·undefined·{\n····return·this.#linkTarget\n··}\n\n··/**\n···*·Returns·the·cached·realpath·target·if·the·entry·has·been·the·subject\n···*·of·a·successful·realpath,·or·undefined·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·undefined·result·*could*·just·mean·we\n···*·don't·have·any·cached·data.·Only·use·it·if·you·are·very·sure·that·a\n···*·realpath()·has·been·called·at·some·point.\n···*/\n··realpathCached():·PathBase·|·undefined·{\n····return·this.#realpath\n··}\n\n··/**\n···*·Returns·the·cached·child·Path·entries·array·if·the·entry·has·been·the\n···*·subject·of·a·successful·readdir(),·or·[]·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·empty·array·*could*·just·mean·we\n···*·don't·have·any·cached·data.·Only·use·it·if·you·are·very·sure·that·a\n···*·readdir()·has·been·called·recently·enough·to·still·be·valid.\n···*/\n··readdirCached():·PathBase[]·{\n····const·children·=·this.children()\n····return·children.slice(0,·children.provisional)\n··}\n\n··/**\n···*·Return·true·if·it's·worth·trying·to·readlink.··Ie,·we·don't·(yet)·have\n···*·any·indication·that·readlink·will·definitely·fail.\n···*\n···*·Returns·false·if·the·path·is·known·to·not·be·a·symlink,·if·a·previous\n···*·readlink·failed,·or·if·the·entry·does·not·exist.\n···*/\n··canReadlink():·boolean·{\n····if·(this.#linkTarget)·return·true\n····if·(!this.parent)·return·false\n····//·cases·where·it·cannot·possibly·succeed\n····const·ifmt·=·this.#type·&·IFMT\n····return·!(\n······(ifmt·!==·UNKNOWN·&&·ifmt·!==·IFLNK)·||\n······this.#type·&·ENOREADLINK·||\n······this.#type·&·ENOENT\n····)\n··}\n\n··/**\n···*·Return·true·if·readdir·has·previously·been·successfully·called·on·this\n···*·path,·indicating·that·cachedReaddir()·is·likely·valid.\n···*/\n··calledReaddir():·boolean·{\n····return·!!(this.#type·&·READDIR_CALLED)\n··}\n\n··/**\n···*·Returns·true·if·the·path·is·known·to·not·exist.·That·is,·a·previous·lstat\n···*·or·readdir·failed·to·verify·its·existence·when·that·would·have·been\n···*·expected,·or·a·parent·entry·was·marked·either·enoent·or·enotdir.\n···*/\n··isENOENT():·boolean·{\n····return·!!(this.#type·&·ENOENT)\n··}\n\n··/**\n···*·Return·true·if·the·path·is·a·match·for·the·given·path·name.··This·handles\n···*·case·sensitivity·and·unicode·normalization.\n···*\n···*·Note:·even·on·case-sensitive·systems,·it·is·**not**·safe·to·test·the\n···*·equality·of·the·`.name`·property·to·determine·whether·a·given·pathname\n···*·matches,·due·to·unicode·normalization·mismatches.\n···*\n···*·Always·use·this·method·instead·of·testing·the·`path.name`·property\n···*·directly.\n···*/\n··isNamed(n:·string):·boolean·{\n····return·!this.nocase·?\n········this.#matchName·===·normalize(n)\n······:·this.#matchName·===·normalizeNocase(n)\n··}\n\n··/**\n···*·Return·the·Path·object·corresponding·to·the·target·of·a·symbolic·link.\n···*\n···*·If·the·Path·is·not·a·symbolic·link,·or·if·the·readlink·call·fails·for·any\n···*·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*/\n··async·readlink():·Promise<PathBase·|·undefined>·{\n····const·target·=·this.#linkTarget\n····if·(target)·{\n······return·target\n····}\n····if·(!this.canReadlink())·{\n······return·undefined\n····}\n····/*·c8·ignore·start·*/\n····//·already·covered·by·the·canReadlink·test,·here·for·ts·grumples\n····if·(!this.parent)·{\n······return·undefined\n····}\n····/*·c8·ignore·stop·*/\n····try·{\n······const·read·=·await·this.#fs.promises.readlink(this.fullpath())\n······const·linkTarget·=·(await·this.parent.realpath())?.resolve(read)\n······if·(linkTarget)·{\n········return·(this.#linkTarget·=·linkTarget)\n······}\n····}·catch·(er)·{\n······this.#readlinkFail((er·as·NodeJS.ErrnoException).code)\n······return·undefined\n····}\n··}\n\n··/**\n···*·Synchronous·{@link·PathBase.readlink}\n···*/\n··readlinkSync():·PathBase·|·undefined·{\n····const·target·=·this.#linkTarget\n····if·(target)·{\n······return·target\n····}\n····if·(!this.canReadlink())·{\n······return·undefined\n····}\n····/*·c8·ignore·start·*/\n····//·already·covered·by·the·canReadlink·test,·here·for·ts·grumples\n····if·(!this.parent)·{\n······return·undefined\n····}\n····/*·c8·ignore·stop·*/\n····try·{\n······const·read·=·this.#fs.readlinkSync(this.fullpath())\n······const·linkTarget·=·this.parent.realpathSync()?.resolve(read)\n······if·(linkTarget)·{\n········return·(this.#linkTarget·=·linkTarget)\n······}\n····}·catch·(er)·{\n······this.#readlinkFail((er·as·NodeJS.ErrnoException).code)\n······return·undefined\n····}\n··}\n\n··#readdirSuccess(children:·Children)·{\n····//·succeeded,·mark·readdir·called·bit\n····this.#type·|=·READDIR_CALLED\n····//·mark·all·remaining·provisional·children·as·ENOENT\n····for·(let·p·=·children.provisional;·p·<·children.length;·p++)·{\n······const·c·=·children[p]\n······if·(c)·c.#markENOENT()\n····}\n··}\n\n··#markENOENT()·{\n····//·mark·as·UNKNOWN·and·ENOENT\n····if·(this.#type·&·ENOENT)·return\n····this.#type·=·(this.#type·|·ENOENT)·&·IFMT_UNKNOWN\n····this.#markChildrenENOENT()\n··}\n\n··#markChildrenENOENT()·{\n····//·all·children·are·provisional·and·do·not·exist\n····const·children·=·this.children()\n····children.provisional·=·0\n····for·(const·p·of·children)·{\n······p.#markENOENT()\n····}\n··}\n\n··#markENOREALPATH()·{\n····this.#type·|=·ENOREALPATH\n····this.#markENOTDIR()\n··}\n\n··//·save·the·information·when·we·know·the·entry·is·not·a·dir\n··#markENOTDIR()·{\n····//·entry·is·not·a·directory,·so·any·children·can't·exist.\n····//·this·*should*·be·impossible,·since·any·children·created\n····//·after·it's·been·marked·ENOTDIR·should·be·marked·ENOENT,\n····//·so·it·won't·even·get·to·this·point.\n····/*·c8·ignore·start·*/\n····if·(this.#type·&·ENOTDIR)·return\n····/*·c8·ignore·stop·*/\n····let·t·=·this.#type\n····//·this·could·happen·if·we·stat·a·dir,·then·delete·it,\n····//·then·try·to·read·it·or·one·of·its·children.\n····if·((t·&·IFMT)·===·IFDIR)·t·&=·IFMT_UNKNOWN\n····this.#type·=·t·|·ENOTDIR\n····this.#markChildrenENOENT()\n··}\n\n··#readdirFail(code:·string·=·'')·{\n····//·markENOTDIR·and·markENOENT·also·set·provisional=0\n····if·(code·===·'ENOTDIR'·||·code·===·'EPERM')·{\n······this.#markENOTDIR()\n····}·else·if·(code·===·'ENOENT')·{\n······this.#markENOENT()\n····}·else·{\n······this.children().provisional·=·0\n····}\n··}\n\n··#lstatFail(code:·string·=·'')·{\n····//·Windows·just·raises·ENOENT·in·this·case,·disable·for·win·CI\n····/*·c8·ignore·start·*/\n····if·(code·===·'ENOTDIR')·{\n······//·already·know·it·has·a·parent·by·this·point\n······const·p·=·this.parent·as·PathBase\n······p.#markENOTDIR()\n····}·else·if·(code·===·'ENOENT')·{\n······/*·c8·ignore·stop·*/\n······this.#markENOENT()\n····}\n··}\n\n··#readlinkFail(code:·string·=·'')·{\n····let·ter·=·this.#type\n····ter·|=·ENOREADLINK\n····if·(code·===·'ENOENT')·ter·|=·ENOENT\n····//·windows·gets·a·weird·error·when·you·try·to·readlink·a·file\n····if·(code·===·'EINVAL'·||·code·===·'UNKNOWN')·{\n······//·exists,·but·not·a·symlink,·we·don't·know·WHAT·it·is,·so·remove\n······//·all·IFMT·bits.\n······ter·&=·IFMT_UNKNOWN\n····}\n····this.#type·=·ter\n····//·windows·just·gets·ENOENT·in·this·case.··We·do·cover·the·case,\n····//·just·disabled·because·it's·impossible·on·Windows·CI\n····/*·c8·ignore·start·*/\n····if·(code·===·'ENOTDIR'·&&·this.parent)·{\n······this.parent.#markENOTDIR()\n····}\n····/*·c8·ignore·stop·*/\n··}\n\n··#readdirAddChild(e:·Dirent,·c:·Children)·{\n····return·(\n······this.#readdirMaybePromoteChild(e,·c)·||\n······this.#readdirAddNewChild(e,·c)\n····)\n··}\n\n··#readdirAddNewChild(e:·Dirent,·c:·Children):·PathBase·{\n····//·alloc·new·entry·at·head,·so·it's·never·provisional\n····const·type·=·entToType(e)\n····const·child·=·this.newChild(e.name,·type,·{·parent:·this·})\n····const·ifmt·=·child.#type·&·IFMT\n····if·(ifmt·!==·IFDIR·&&·ifmt·!==·IFLNK·&&·ifmt·!==·UNKNOWN)·{\n······child.#type·|=·ENOTDIR\n····}\n····c.unshift(child)\n····c.provisional++\n····return·child\n··}\n\n··#readdirMaybePromoteChild(e:·Dirent,·c:·Children):·PathBase·|·undefined·{\n····for·(let·p·=·c.provisional;·p·<·c.length;·p++)·{\n······const·pchild·=·c[p]\n······const·name·=\n········this.nocase·?·normalizeNocase(e.name)·:·normalize(e.name)\n······if·(name·!==·pchild!.#matchName)·{\n········continue\n······}\n\n······return·this.#readdirPromoteChild(e,·pchild!,·p,·c)\n····}\n··}\n\n··#readdirPromoteChild(\n····e:·Dirent,\n····p:·PathBase,\n····index:·number,\n····c:·Children,\n··):·PathBase·{\n····const·v·=·p.name\n····//·retain·any·other·flags,·but·set·ifmt·from·dirent\n····p.#type·=·(p.#type·&·IFMT_UNKNOWN)·|·entToType(e)\n····//·case·sensitivity·fixing·when·we·learn·the·true·name.\n····if·(v·!==·e.name)·p.name·=·e.name\n\n····//·just·advance·provisional·index·(potentially·off·the·list),\n····//·otherwise·we·have·to·splice/pop·it·out·and·re-insert·at·head\n····if·(index·!==·c.provisional)·{\n······if·(index·===·c.length·-·1)·c.pop()\n······else·c.splice(index,·1)\n······c.unshift(p)\n····}\n····c.provisional++\n····return·p\n··}\n\n··/**\n···*·Call·lstat()·on·this·Path,·and·update·all·known·information·that·can·be\n···*·determined.\n···*\n···*·Note·that·unlike·`fs.lstat()`,·the·returned·value·does·not·contain·some\n···*·information,·such·as·`mode`,·`dev`,·`nlink`,·and·`ino`.··If·that\n···*·information·is·required,·you·will·need·to·call·`fs.lstat`·yourself.\n···*\n···*·If·the·Path·refers·to·a·nonexistent·file,·or·if·the·lstat·call·fails·for\n···*·any·reason,·`undefined`·is·returned.··Otherwise·the·updated·Path·object·is\n···*·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*/\n··async·lstat():·Promise<PathBase·|·undefined>·{\n····if·((this.#type·&·ENOENT)·===·0)·{\n······try·{\n········this.#applyStat(await·this.#fs.promises.lstat(this.fullpath()))\n········return·this\n······}·catch·(er)·{\n········this.#lstatFail((er·as·NodeJS.ErrnoException).code)\n······}\n····}\n··}\n\n··/**\n···*·synchronous·{@link·PathBase.lstat}\n···*/\n··lstatSync():·PathBase·|·undefined·{\n····if·((this.#type·&·ENOENT)·===·0)·{\n······try·{\n········this.#applyStat(this.#fs.lstatSync(this.fullpath()))\n········return·this\n······}·catch·(er)·{\n········this.#lstatFail((er·as·NodeJS.ErrnoException).code)\n······}\n····}\n··}\n\n··#applyStat(st:·Stats)·{\n····const·{\n······atime,\n······atimeMs,\n······birthtime,\n······birthtimeMs,\n······blksize,\n······blocks,\n······ctime,\n······ctimeMs,\n······dev,\n······gid,\n······ino,\n······mode,\n······mtime,\n······mtimeMs,\n······nlink,\n······rdev,\n······size,\n······uid,\n····}·=·st\n····this.#atime·=·atime\n····this.#atimeMs·=·atimeMs\n····this.#birthtime·=·birthtime\n····this.#birthtimeMs·=·birthtimeMs\n····this.#blksize·=·blksize\n····this.#blocks·=·blocks\n····this.#ctime·=·ctime\n····this.#ctimeMs·=·ctimeMs\n····this.#dev·=·dev\n····this.#gid·=·gid\n····this.#ino·=·ino\n····this.#mode·=·mode\n····this.#mtime·=·mtime\n····this.#mtimeMs·=·mtimeMs\n····this.#nlink·=·nlink\n····this.#rdev·=·rdev\n····this.#size·=·size\n····this.#uid·=·uid\n····const·ifmt·=·entToType(st)\n····//·retain·any·other·flags,·but·set·the·ifmt\n····this.#type·=·(this.#type·&·IFMT_UNKNOWN)·|·ifmt·|·LSTAT_CALLED\n····if·(ifmt·!==·UNKNOWN·&&·ifmt·!==·IFDIR·&&·ifmt·!==·IFLNK)·{\n······this.#type·|=·ENOTDIR\n····}\n··}\n\n··#onReaddirCB:·((\n····er:·NodeJS.ErrnoException·|·null,\n····entries:·Path[],\n··)·=>·any)[]·=·[]\n··#readdirCBInFlight:·boolean·=·false\n··#callOnReaddirCB(children:·Path[])·{\n····this.#readdirCBInFlight·=·false\n····const·cbs·=·this.#onReaddirCB.slice()\n····this.#onReaddirCB.length·=·0\n····cbs.forEach(cb·=>·cb(null,·children))\n··}\n\n··/**\n···*·Standard·node-style·callback·interface·to·get·list·of·directory·entries.\n···*\n···*·If·the·Path·cannot·or·does·not·contain·any·children,·then·an·empty·array\n···*·is·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*\n···*·@param·cb·The·callback·called·with·(er,·entries).··Note·that·the·`er`\n···*·param·is·somewhat·extraneous,·as·all·readdir()·errors·are·handled·and\n···*·simply·result·in·an·empty·set·of·entries·being·returned.\n···*·@param·allowZalgo·Boolean·indicating·that·immediately·known·results·should\n···*·*not*·be·deferred·with·`queueMicrotask`.·Defaults·to·`false`.·Release\n···*·zalgo·at·your·peril,·the·dark·pony·lord·is·devious·and·unforgiving.\n···*/\n··readdirCB(\n····cb:·(er:·NodeJS.ErrnoException·|·null,·entries:·PathBase[])·=>·any,\n····allowZalgo:·boolean·=·false,\n··):·void·{\n····if·(!this.canReaddir())·{\n······if·(allowZalgo)·cb(null,·[])\n······else·queueMicrotask(()·=>·cb(null,·[]))\n······return\n····}\n\n····const·children·=·this.children()\n····if·(this.calledReaddir())·{\n······const·c·=·children.slice(0,·children.provisional)\n······if·(allowZalgo)·cb(null,·c)\n······else·queueMicrotask(()·=>·cb(null,·c))\n······return\n····}\n\n····//·don't·have·to·worry·about·zalgo·at·this·point.\n····this.#onReaddirCB.push(cb)\n····if·(this.#readdirCBInFlight)·{\n······return\n····}\n····this.#readdirCBInFlight·=·true\n\n····//·else·read·the·directory,·fill·up·children\n····//·de-provisionalize·any·provisional·children.\n····const·fullpath·=·this.fullpath()\n····this.#fs.readdir(fullpath,·{·withFileTypes:·true·},·(er,·entries)·=>·{\n······if·(er)·{\n········this.#readdirFail((er·as·NodeJS.ErrnoException).code)\n········children.provisional·=·0\n······}·else·{\n········//·if·we·didn't·get·an·error,·we·always·get·entries.\n········//@ts-ignore\n········for·(const·e·of·entries)·{\n··········this.#readdirAddChild(e,·children)\n········}\n········this.#readdirSuccess(children)\n······}\n······this.#callOnReaddirCB(children.slice(0,·children.provisional))\n······return\n····})\n··}\n\n··#asyncReaddirInFlight?:·Promise<void>\n\n··/**\n···*·Return·an·array·of·known·child·entries.\n···*\n···*·If·the·Path·cannot·or·does·not·contain·any·children,·then·an·empty·array\n···*·is·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*/\n··async·readdir():·Promise<PathBase[]>·{\n····if·(!this.canReaddir())·{\n······return·[]\n····}\n\n····const·children·=·this.children()\n····if·(this.calledReaddir())·{\n······return·children.slice(0,·children.provisional)\n····}\n\n····//·else·read·the·directory,·fill·up·children\n····//·de-provisionalize·any·provisional·children.\n····const·fullpath·=·this.fullpath()\n····if·(this.#asyncReaddirInFlight)·{\n······await·this.#asyncReaddirInFlight\n····}·else·{\n······/*·c8·ignore·start·*/\n······let·resolve:·()·=>·void·=·()·=>·{}\n······/*·c8·ignore·stop·*/\n······this.#asyncReaddirInFlight·=·new·Promise<void>(\n········res·=>·(resolve·=·res),\n······)\n······try·{\n········for·(const·e·of·await·this.#fs.promises.readdir(fullpath,·{\n··········withFileTypes:·true,\n········}))·{\n··········this.#readdirAddChild(e,·children)\n········}\n········this.#readdirSuccess(children)\n······}·catch·(er)·{\n········this.#readdirFail((er·as·NodeJS.ErrnoException).code)\n········children.provisional·=·0\n······}\n······this.#asyncReaddirInFlight·=·undefined\n······resolve()\n····}\n····return·children.slice(0,·children.provisional)\n··}\n\n··/**\n···*·synchronous·{@link·PathBase.readdir}\n···*/\n··readdirSync():·PathBase[]·{\n····if·(!this.canReaddir())·{\n······return·[]\n····}\n\n····const·children·=·this.children()\n····if·(this.calledReaddir())·{\n······return·children.slice(0,·children.provisional)\n····}\n\n····//·else·read·the·directory,·fill·up·children\n····//·de-provisionalize·any·provisional·children.\n····const·fullpath·=·this.fullpath()\n····try·{\n······for·(const·e·of·this.#fs.readdirSync(fullpath,·{\n········withFileTypes:·true,\n······}))·{\n········this.#readdirAddChild(e,·children)\n······}\n······this.#readdirSuccess(children)\n····}·catch·(er)·{\n······this.#readdirFail((er·as·NodeJS.ErrnoException).code)\n······children.provisional·=·0\n····}\n····return·children.slice(0,·children.provisional)\n··}\n\n··canReaddir()·{\n····if·(this.#type·&·ENOCHILD)·return·false\n····const·ifmt·=·IFMT·&·this.#type\n····//·we·always·set·ENOTDIR·when·setting·IFMT,·so·should·be·impossible\n····/*·c8·ignore·start·*/\n····if·(!(ifmt·===·UNKNOWN·||·ifmt·===·IFDIR·||·ifmt·===·IFLNK))·{\n······return·false\n····}\n····/*·c8·ignore·stop·*/\n····return·true\n··}\n\n··shouldWalk(\n····dirs:·Set<PathBase·|·undefined>,\n····walkFilter?:·(e:·PathBase)·=>·boolean,\n··):·boolean·{\n····return·(\n······(this.#type·&·IFDIR)·===·IFDIR·&&\n······!(this.#type·&·ENOCHILD)·&&\n······!dirs.has(this)·&&\n······(!walkFilter·||·walkFilter(this))\n····)\n··}\n\n··/**\n···*·Return·the·Path·object·corresponding·to·path·as·resolved\n···*·by·realpath(3).\n···*\n···*·If·the·realpath·call·fails·for·any·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*·On·success,·returns·a·Path·object.\n···*/\n··async·realpath():·Promise<PathBase·|·undefined>·{\n····if·(this.#realpath)·return·this.#realpath\n····if·((ENOREALPATH·|·ENOREADLINK·|·ENOENT)·&·this.#type)·return·undefined\n····try·{\n······const·rp·=·await·this.#fs.promises.realpath(this.fullpath())\n······return·(this.#realpath·=·this.resolve(rp))\n····}·catch·(_)·{\n······this.#markENOREALPATH()\n····}\n··}\n\n··/**\n···*·Synchronous·{@link·realpath}\n···*/\n··realpathSync():·PathBase·|·undefined·{\n····if·(this.#realpath)·return·this.#realpath\n····if·((ENOREALPATH·|·ENOREADLINK·|·ENOENT)·&·this.#type)·return·undefined\n····try·{\n······const·rp·=·this.#fs.realpathSync(this.fullpath())\n······return·(this.#realpath·=·this.resolve(rp))\n····}·catch·(_)·{\n······this.#markENOREALPATH()\n····}\n··}\n\n··/**\n···*·Internal·method·to·mark·this·Path·object·as·the·scurry·cwd,\n···*·called·by·{@link·PathScurry#chdir}\n···*\n···*·@internal\n···*/\n··[setAsCwd](oldCwd:·PathBase):·void·{\n····if·(oldCwd·===·this)·return\n····oldCwd.isCWD·=·false\n····this.isCWD·=·true\n\n····const·changed·=·new·Set<PathBase>([])\n····let·rp·=·[]\n····let·p:·PathBase·=·this\n····while·(p·&&·p.parent)·{\n······changed.add(p)\n······p.#relative·=·rp.join(this.sep)\n······p.#relativePosix·=·rp.join('/')\n······p·=·p.parent\n······rp.push('..')\n····}\n····//·now·un-memoize·parents·of·old·cwd\n····p·=·oldCwd\n····while·(p·&&·p.parent·&&·!changed.has(p))·{\n······p.#relative·=·undefined\n······p.#relativePosix·=·undefined\n······p·=·p.parent\n····}\n··}\n}\n\n/**\n·*·Path·class·used·on·win32·systems\n·*\n·*·Uses·`'\\\\'`·as·the·path·separator·for·returned·paths,·either·`'\\\\'`·or·`'/'`\n·*·as·the·path·separator·for·parsing·paths.\n·*/\nexport·class·PathWin32·extends·PathBase·{\n··/**\n···*·Separator·for·generating·path·strings.\n···*/\n··sep:·'\\\\'·=·'\\\\'\n··/**\n···*·Separator·for·parsing·path·strings.\n···*/\n··splitSep:·RegExp·=·eitherSep\n\n··/**\n···*·Do·not·create·new·Path·objects·directly.··They·should·always·be·accessed\n···*·via·the·PathScurry·class·or·other·methods·on·the·Path·class.\n···*\n···*·@internal\n···*/\n··constructor(\n····name:·string,\n····type:·number·=·UNKNOWN,\n····root:·PathBase·|·undefined,\n····roots:·{·[k:·string]:·PathBase·},\n····nocase:·boolean,\n····children:·ChildrenCache,\n····opts:·PathOpts,\n··)·{\n····super(name,·type,·root,·roots,·nocase,·children,·opts)\n··}\n\n··/**\n···*·@internal\n···*/\n··newChild(name:·string,·type:·number·=·UNKNOWN,·opts:·PathOpts·=·{})·{\n····return·new·PathWin32(\n······name,\n······type,\n······this.root,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······opts,\n····)\n··}\n\n··/**\n···*·@internal\n···*/\n··getRootString(path:·string):·string·{\n····return·win32.parse(path).root\n··}\n\n··/**\n···*·@internal\n···*/\n··getRoot(rootPath:·string):·PathBase·{\n····rootPath·=·uncToDrive(rootPath.toUpperCase())\n····if·(rootPath·===·this.root.name)·{\n······return·this.root\n····}\n····//·ok,·not·that·one,·check·if·it·matches·another·we·know·about\n····for·(const·[compare,·root]·of·Object.entries(this.roots))·{\n······if·(this.sameRoot(rootPath,·compare))·{\n········return·(this.roots[rootPath]·=·root)\n······}\n····}\n····//·otherwise,·have·to·create·a·new·one.\n····return·(this.roots[rootPath]·=·new·PathScurryWin32(\n······rootPath,\n······this,\n····).root)\n··}\n\n··/**\n···*·@internal\n···*/\n··sameRoot(rootPath:·string,·compare:·string·=·this.root.name):·boolean·{\n····//·windows·can·(rarely)·have·case-sensitive·filesystem,·but\n····//·UNC·and·drive·letters·are·always·case-insensitive,·and·canonically\n····//·represented·uppercase.\n····rootPath·=·rootPath\n······.toUpperCase()\n······.replace(/\\//g,·'\\\\')\n······.replace(uncDriveRegexp,·'$1\\\\')\n····return·rootPath·===·compare\n··}\n}\n\n/**\n·*·Path·class·used·on·all·posix·systems.\n·*\n·*·Uses·`'/'`·as·the·path·separator.\n·*/\nexport·class·PathPosix·extends·PathBase·{\n··/**\n···*·separator·for·parsing·path·strings\n···*/\n··splitSep:·'/'·=·'/'\n··/**\n···*·separator·for·generating·path·strings\n···*/\n··sep:·'/'·=·'/'\n\n··/**\n···*·Do·not·create·new·Path·objects·directly.··They·should·always·be·accessed\n···*·via·the·PathScurry·class·or·other·methods·on·the·Path·class.\n···*\n···*·@internal\n···*/\n··constructor(\n····name:·string,\n····type:·number·=·UNKNOWN,\n····root:·PathBase·|·undefined,\n····roots:·{·[k:·string]:·PathBase·},\n····nocase:·boolean,\n····children:·ChildrenCache,\n····opts:·PathOpts,\n··)·{\n····super(name,·type,·root,·roots,·nocase,·children,·opts)\n··}\n\n··/**\n···*·@internal\n···*/\n··getRootString(path:·string):·string·{\n····return·path.startsWith('/')·?·'/'·:·''\n··}\n\n··/**\n···*·@internal\n···*/\n··getRoot(_rootPath:·string):·PathBase·{\n····return·this.root\n··}\n\n··/**\n···*·@internal\n···*/\n··newChild(name:·string,·type:·number·=·UNKNOWN,·opts:·PathOpts·=·{})·{\n····return·new·PathPosix(\n······name,\n······type,\n······this.root,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······opts,\n····)\n··}\n}\n\n/**\n·*·Options·that·may·be·provided·to·the·PathScurry·constructor\n·*/\nexport·interface·PathScurryOpts·{\n··/**\n···*·perform·case-insensitive·path·matching.·Default·based·on·platform\n···*·subclass.\n···*/\n··nocase?:·boolean\n··/**\n···*·Number·of·Path·entries·to·keep·in·the·cache·of·Path·child·references.\n···*\n···*·Setting·this·higher·than·65536·will·dramatically·increase·the·data\n···*·consumption·and·construction·time·overhead·of·each·PathScurry.\n···*\n···*·Setting·this·value·to·256·or·lower·will·significantly·reduce·the·data\n···*·consumption·and·construction·time·overhead,·but·may·also·reduce·resolve()\n···*·and·readdir()·performance·on·large·filesystems.\n···*\n···*·Default·`16384`.\n···*/\n··childrenCacheSize?:·number\n··/**\n···*·An·object·that·overrides·the·built-in·functions·from·the·fs·and\n···*·fs/promises·modules.\n···*\n···*·See·{@link·FSOption}\n···*/\n··fs?:·FSOption\n}\n\n/**\n·*·The·base·class·for·all·PathScurry·classes,·providing·the·interface·for·path\n·*·resolution·and·filesystem·operations.\n·*\n·*·Typically,·you·should·*not*·instantiate·this·class·directly,·but·rather·one\n·*·of·the·platform-specific·classes,·or·the·exported·{@link·PathScurry}·which\n·*·defaults·to·the·current·platform.\n·*/\nexport·abstract·class·PathScurryBase·{\n··/**\n···*·The·root·Path·entry·for·the·current·working·directory·of·this·Scurry\n···*/\n··root:·PathBase\n··/**\n···*·The·string·path·for·the·root·of·this·Scurry's·current·working·directory\n···*/\n··rootPath:·string\n··/**\n···*·A·collection·of·all·roots·encountered,·referenced·by·rootPath\n···*/\n··roots:·{·[k:·string]:·PathBase·}\n··/**\n···*·The·Path·entry·corresponding·to·this·PathScurry's·current·working·directory.\n···*/\n··cwd:·PathBase\n··#resolveCache:·ResolveCache\n··#resolvePosixCache:·ResolveCache\n··#children:·ChildrenCache\n··/**\n···*·Perform·path·comparisons·case-insensitively.\n···*\n···*·Defaults·true·on·Darwin·and·Windows·systems,·false·elsewhere.\n···*/\n··nocase:·boolean\n\n··/**\n···*·The·path·separator·used·for·parsing·paths\n···*\n···*·`'/'`·on·Posix·systems,·either·`'/'`·or·`'\\\\'`·on·Windows\n···*/\n··abstract·sep:·string·|·RegExp\n\n··#fs:·FSValue\n\n··/**\n···*·This·class·should·not·be·instantiated·directly.\n···*\n···*·Use·PathScurryWin32,·PathScurryDarwin,·PathScurryPosix,·or·PathScurry\n···*\n···*·@internal\n···*/\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····pathImpl:·typeof·win32·|·typeof·posix,\n····sep:·string·|·RegExp,\n····{\n······nocase,\n······childrenCacheSize·=·16·*·1024,\n······fs·=·defaultFS,\n····}:·PathScurryOpts·=·{},\n··)·{\n····this.#fs·=·fsFromOption(fs)\n····if·(cwd·instanceof·URL·||·cwd.startsWith('file://'))·{\n······cwd·=·fileURLToPath(cwd)\n····}\n····//·resolve·and·split·root,·and·then·add·to·the·store.\n····//·this·is·the·only·time·we·call·path.resolve()\n····const·cwdPath·=·pathImpl.resolve(cwd)\n····this.roots·=·Object.create(null)\n····this.rootPath·=·this.parseRootPath(cwdPath)\n····this.#resolveCache·=·new·ResolveCache()\n····this.#resolvePosixCache·=·new·ResolveCache()\n····this.#children·=·new·ChildrenCache(childrenCacheSize)\n\n····const·split·=·cwdPath.substring(this.rootPath.length).split(sep)\n····//·resolve('/')·leaves·'',·splits·to·[''],·we·don't·want·that.\n····if·(split.length·===·1·&&·!split[0])·{\n······split.pop()\n····}\n····/*·c8·ignore·start·*/\n····if·(nocase·===·undefined)·{\n······throw·new·TypeError(\n········'must·provide·nocase·setting·to·PathScurryBase·ctor',\n······)\n····}\n····/*·c8·ignore·stop·*/\n····this.nocase·=·nocase\n····this.root·=·this.newRoot(this.#fs)\n····this.roots[this.rootPath]·=·this.root\n····let·prev:·PathBase·=·this.root\n····let·len·=·split.length·-·1\n····const·joinSep·=·pathImpl.sep\n····let·abs·=·this.rootPath\n····let·sawFirst·=·false\n····for·(const·part·of·split)·{\n······const·l·=·len--\n······prev·=·prev.child(part,·{\n········relative:·new·Array(l).fill('..').join(joinSep),\n········relativePosix:·new·Array(l).fill('..').join('/'),\n········fullpath:·(abs·+=·(sawFirst·?·''·:·joinSep)·+·part),\n······})\n······sawFirst·=·true\n····}\n····this.cwd·=·prev\n··}\n\n··/**\n···*·Get·the·depth·of·a·provided·path,·string,·or·the·cwd\n···*/\n··depth(path:·Path·|·string·=·this.cwd):·number·{\n····if·(typeof·path·===·'string')·{\n······path·=·this.cwd.resolve(path)\n····}\n····return·path.depth()\n··}\n\n··/**\n···*·Parse·the·root·portion·of·a·path·string\n···*\n···*·@internal\n···*/\n··abstract·parseRootPath(dir:·string):·string\n··/**\n···*·create·a·new·Path·to·use·as·root·during·construction.\n···*\n···*·@internal\n···*/\n··abstract·newRoot(fs:·FSValue):·PathBase\n··/**\n···*·Determine·whether·a·given·path·string·is·absolute\n···*/\n··abstract·isAbsolute(p:·string):·boolean\n\n··/**\n···*·Return·the·cache·of·child·entries.··Exposed·so·subclasses·can·create\n···*·child·Path·objects·in·a·platform-specific·way.\n···*\n···*·@internal\n···*/\n··childrenCache()·{\n····return·this.#children\n··}\n\n··/**\n···*·Resolve·one·or·more·path·strings·to·a·resolved·string\n···*\n···*·Same·interface·as·require('path').resolve.\n···*\n···*·Much·faster·than·path.resolve()·when·called·multiple·times·for·the·same\n···*·path,·because·the·resolved·Path·objects·are·cached.··Much·slower\n···*·otherwise.\n···*/\n··resolve(...paths:·string[]):·string·{\n····//·first·figure·out·the·minimum·number·of·paths·we·have·to·test\n····//·we·always·start·at·cwd,·but·any·absolutes·will·bump·the·start\n····let·r·=·''\n····for·(let·i·=·paths.length·-·1;·i·>=·0;·i--)·{\n······const·p·=·paths[i]\n······if·(!p·||·p·===·'.')·continue\n······r·=·r·?·`${p}/${r}`·:·p\n······if·(this.isAbsolute(p))·{\n········break\n······}\n····}\n····const·cached·=·this.#resolveCache.get(r)\n····if·(cached·!==·undefined)·{\n······return·cached\n····}\n····const·result·=·this.cwd.resolve(r).fullpath()\n····this.#resolveCache.set(r,·result)\n····return·result\n··}\n\n··/**\n···*·Resolve·one·or·more·path·strings·to·a·resolved·string,·returning\n···*·the·posix·path.··Identical·to·.resolve()·on·posix·systems,·but·on\n···*·windows·will·return·a·forward-slash·separated·UNC·path.\n···*\n···*·Same·interface·as·require('path').resolve.\n···*\n···*·Much·faster·than·path.resolve()·when·called·multiple·times·for·the·same\n···*·path,·because·the·resolved·Path·objects·are·cached.··Much·slower\n···*·otherwise.\n···*/\n··resolvePosix(...paths:·string[]):·string·{\n····//·first·figure·out·the·minimum·number·of·paths·we·have·to·test\n····//·we·always·start·at·cwd,·but·any·absolutes·will·bump·the·start\n····let·r·=·''\n····for·(let·i·=·paths.length·-·1;·i·>=·0;·i--)·{\n······const·p·=·paths[i]\n······if·(!p·||·p·===·'.')·continue\n······r·=·r·?·`${p}/${r}`·:·p\n······if·(this.isAbsolute(p))·{\n········break\n······}\n····}\n····const·cached·=·this.#resolvePosixCache.get(r)\n····if·(cached·!==·undefined)·{\n······return·cached\n····}\n····const·result·=·this.cwd.resolve(r).fullpathPosix()\n····this.#resolvePosixCache.set(r,·result)\n····return·result\n··}\n\n··/**\n···*·find·the·relative·path·from·the·cwd·to·the·supplied·path·string·or·entry\n···*/\n··relative(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.relative()\n··}\n\n··/**\n···*·find·the·relative·path·from·the·cwd·to·the·supplied·path·string·or\n···*·entry,·using·/·as·the·path·delimiter,·even·on·Windows.\n···*/\n··relativePosix(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.relativePosix()\n··}\n\n··/**\n···*·Return·the·basename·for·the·provided·string·or·Path·object\n···*/\n··basename(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.name\n··}\n\n··/**\n···*·Return·the·dirname·for·the·provided·string·or·Path·object\n···*/\n··dirname(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·(entry.parent·||·entry).fullpath()\n··}\n\n··/**\n···*·Return·an·array·of·known·child·entries.\n···*\n···*·First·argument·may·be·either·a·string,·or·a·Path·object.\n···*\n···*·If·the·Path·cannot·or·does·not·contain·any·children,·then·an·empty·array\n···*·is·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*\n···*·Unlike·`fs.readdir()`,·the·`withFileTypes`·option·defaults·to·`true`.·Set\n···*·`{·withFileTypes:·false·}`·to·return·strings.\n···*/\n\n··readdir():·Promise<PathBase[]>\n··readdir(opts:·{·withFileTypes:·true·}):·Promise<PathBase[]>\n··readdir(opts:·{·withFileTypes:·false·}):·Promise<string[]>\n··readdir(opts:·{·withFileTypes:·boolean·}):·Promise<PathBase[]·|·string[]>\n··readdir(entry:·PathBase·|·string):·Promise<PathBase[]>\n··readdir(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·true·},\n··):·Promise<PathBase[]>\n··readdir(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·false·},\n··):·Promise<string[]>\n··readdir(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·boolean·},\n··):·Promise<PathBase[]·|·string[]>\n··async·readdir(\n····entry:·PathBase·|·string·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····opts:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·true,\n····},\n··):·Promise<PathBase[]·|·string[]>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{·withFileTypes·}·=·opts\n····if·(!entry.canReaddir())·{\n······return·[]\n····}·else·{\n······const·p·=·await·entry.readdir()\n······return·withFileTypes·?·p·:·p.map(e·=>·e.name)\n····}\n··}\n\n··/**\n···*·synchronous·{@link·PathScurryBase.readdir}\n···*/\n··readdirSync():·PathBase[]\n··readdirSync(opts:·{·withFileTypes:·true·}):·PathBase[]\n··readdirSync(opts:·{·withFileTypes:·false·}):·string[]\n··readdirSync(opts:·{·withFileTypes:·boolean·}):·PathBase[]·|·string[]\n··readdirSync(entry:·PathBase·|·string):·PathBase[]\n··readdirSync(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·true·},\n··):·PathBase[]\n··readdirSync(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·false·},\n··):·string[]\n··readdirSync(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·boolean·},\n··):·PathBase[]·|·string[]\n··readdirSync(\n····entry:·PathBase·|·string·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····opts:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·true,\n····},\n··):·PathBase[]·|·string[]·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{·withFileTypes·=·true·}·=·opts\n····if·(!entry.canReaddir())·{\n······return·[]\n····}·else·if·(withFileTypes)·{\n······return·entry.readdirSync()\n····}·else·{\n······return·entry.readdirSync().map(e·=>·e.name)\n····}\n··}\n\n··/**\n···*·Call·lstat()·on·the·string·or·Path·object,·and·update·all·known\n···*·information·that·can·be·determined.\n···*\n···*·Note·that·unlike·`fs.lstat()`,·the·returned·value·does·not·contain·some\n···*·information,·such·as·`mode`,·`dev`,·`nlink`,·and·`ino`.··If·that\n···*·information·is·required,·you·will·need·to·call·`fs.lstat`·yourself.\n···*\n···*·If·the·Path·refers·to·a·nonexistent·file,·or·if·the·lstat·call·fails·for\n···*·any·reason,·`undefined`·is·returned.··Otherwise·the·updated·Path·object·is\n···*·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*/\n··async·lstat(\n····entry:·string·|·PathBase·=·this.cwd,\n··):·Promise<PathBase·|·undefined>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.lstat()\n··}\n\n··/**\n···*·synchronous·{@link·PathScurryBase.lstat}\n···*/\n··lstatSync(entry:·string·|·PathBase·=·this.cwd):·PathBase·|·undefined·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.lstatSync()\n··}\n\n··/**\n···*·Return·the·Path·object·or·string·path·corresponding·to·the·target·of·a\n···*·symbolic·link.\n···*\n···*·If·the·path·is·not·a·symbolic·link,·or·if·the·readlink·call·fails·for·any\n···*·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*\n···*·`{withFileTypes}`·option·defaults·to·`false`.\n···*\n···*·On·success,·returns·a·Path·object·if·`withFileTypes`·option·is·true,\n···*·otherwise·a·string.\n···*/\n··readlink():·Promise<string·|·undefined>\n··readlink(opt:·{·withFileTypes:·false·}):·Promise<string·|·undefined>\n··readlink(opt:·{·withFileTypes:·true·}):·Promise<PathBase·|·undefined>\n··readlink(opt:·{\n····withFileTypes:·boolean\n··}):·Promise<PathBase·|·string·|·undefined>\n··readlink(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·Promise<string·|·undefined>\n··readlink(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·Promise<PathBase·|·undefined>\n··readlink(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·Promise<string·|·PathBase·|·undefined>\n··async·readlink(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·Promise<string·|·PathBase·|·undefined>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·await·entry.readlink()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··/**\n···*·synchronous·{@link·PathScurryBase.readlink}\n···*/\n··readlinkSync():·string·|·undefined\n··readlinkSync(opt:·{·withFileTypes:·false·}):·string·|·undefined\n··readlinkSync(opt:·{·withFileTypes:·true·}):·PathBase·|·undefined\n··readlinkSync(opt:·{\n····withFileTypes:·boolean\n··}):·PathBase·|·string·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·string·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·PathBase·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·string·|·PathBase·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·string·|·PathBase·|·undefined·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·entry.readlinkSync()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··/**\n···*·Return·the·Path·object·or·string·path·corresponding·to·path·as·resolved\n···*·by·realpath(3).\n···*\n···*·If·the·realpath·call·fails·for·any·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*\n···*·`{withFileTypes}`·option·defaults·to·`false`.\n···*\n···*·On·success,·returns·a·Path·object·if·`withFileTypes`·option·is·true,\n···*·otherwise·a·string.\n···*/\n··realpath():·Promise<string·|·undefined>\n··realpath(opt:·{·withFileTypes:·false·}):·Promise<string·|·undefined>\n··realpath(opt:·{·withFileTypes:·true·}):·Promise<PathBase·|·undefined>\n··realpath(opt:·{\n····withFileTypes:·boolean\n··}):·Promise<PathBase·|·string·|·undefined>\n··realpath(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·Promise<string·|·undefined>\n··realpath(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·Promise<PathBase·|·undefined>\n··realpath(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·Promise<string·|·PathBase·|·undefined>\n··async·realpath(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·Promise<string·|·PathBase·|·undefined>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·await·entry.realpath()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··realpathSync():·string·|·undefined\n··realpathSync(opt:·{·withFileTypes:·false·}):·string·|·undefined\n··realpathSync(opt:·{·withFileTypes:·true·}):·PathBase·|·undefined\n··realpathSync(opt:·{\n····withFileTypes:·boolean\n··}):·PathBase·|·string·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·string·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·PathBase·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·string·|·PathBase·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·string·|·PathBase·|·undefined·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·entry.realpathSync()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··/**\n···*·Asynchronously·walk·the·directory·tree,·returning·an·array·of\n···*·all·path·strings·or·Path·objects·found.\n···*\n···*·Note·that·this·will·be·extremely·memory-hungry·on·large·filesystems.\n···*·In·such·cases,·it·may·be·better·to·use·the·stream·or·async·iterator\n···*·walk·implementation.\n···*/\n··walk():·Promise<PathBase[]>\n··walk(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Promise<PathBase[]>\n··walk(opts:·WalkOptionsWithFileTypesFalse):·Promise<string[]>\n··walk(opts:·WalkOptions):·Promise<string[]·|·PathBase[]>\n··walk(entry:·string·|·PathBase):·Promise<PathBase[]>\n··walk(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Promise<PathBase[]>\n··walk(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Promise<string[]>\n··walk(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Promise<PathBase[]·|·string[]>\n··async·walk(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Promise<PathBase[]·|·string[]>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results:·(string·|·PathBase)[]·=·[]\n····if·(!filter·||·filter(entry))·{\n······results.push(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·dirs·=·new·Set<PathBase>()\n····const·walk·=·(\n······dir:·PathBase,\n······cb:·(er?:·NodeJS.ErrnoException)·=>·void,\n····)·=>·{\n······dirs.add(dir)\n······dir.readdirCB((er,·entries)·=>·{\n········/*·c8·ignore·start·*/\n········if·(er)·{\n··········return·cb(er)\n········}\n········/*·c8·ignore·stop·*/\n········let·len·=·entries.length\n········if·(!len)·return·cb()\n········const·next·=·()·=>·{\n··········if·(--len·===·0)·{\n············cb()\n··········}\n········}\n········for·(const·e·of·entries)·{\n··········if·(!filter·||·filter(e))·{\n············results.push(withFileTypes·?·e·:·e.fullpath())\n··········}\n··········if·(follow·&&·e.isSymbolicLink())·{\n············e.realpath()\n··············.then(r·=>·(r?.isUnknown()·?·r.lstat()·:·r))\n··············.then(r·=>\n················r?.shouldWalk(dirs,·walkFilter)·?·walk(r,·next)·:·next(),\n··············)\n··········}·else·{\n············if·(e.shouldWalk(dirs,·walkFilter))·{\n··············walk(e,·next)\n············}·else·{\n··············next()\n············}\n··········}\n········}\n······},·true)·//·zalgooooooo\n····}\n\n····const·start·=·entry\n····return·new·Promise<PathBase[]·|·string[]>((res,·rej)·=>·{\n······walk(start,·er·=>·{\n········/*·c8·ignore·start·*/\n········if·(er)·return·rej(er)\n········/*·c8·ignore·stop·*/\n········res(results·as·PathBase[]·|·string[])\n······})\n····})\n··}\n\n··/**\n···*·Synchronously·walk·the·directory·tree,·returning·an·array·of\n···*·all·path·strings·or·Path·objects·found.\n···*\n···*·Note·that·this·will·be·extremely·memory-hungry·on·large·filesystems.\n···*·In·such·cases,·it·may·be·better·to·use·the·stream·or·async·iterator\n···*·walk·implementation.\n···*/\n··walkSync():·PathBase[]\n··walkSync(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·PathBase[]\n··walkSync(opts:·WalkOptionsWithFileTypesFalse):·string[]\n··walkSync(opts:·WalkOptions):·string[]·|·PathBase[]\n··walkSync(entry:·string·|·PathBase):·PathBase[]\n··walkSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesUnset·|·WalkOptionsWithFileTypesTrue,\n··):·PathBase[]\n··walkSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·string[]\n··walkSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·PathBase[]·|·string[]\n··walkSync(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·PathBase[]·|·string[]·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results:·(string·|·PathBase)[]·=·[]\n····if·(!filter·||·filter(entry))·{\n······results.push(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·dirs·=·new·Set<PathBase>([entry])\n····for·(const·dir·of·dirs)·{\n······const·entries·=·dir.readdirSync()\n······for·(const·e·of·entries)·{\n········if·(!filter·||·filter(e))·{\n··········results.push(withFileTypes·?·e·:·e.fullpath())\n········}\n········let·r:·PathBase·|·undefined·=·e\n········if·(e.isSymbolicLink())·{\n··········if·(!(follow·&&·(r·=·e.realpathSync())))·continue\n··········if·(r.isUnknown())·r.lstatSync()\n········}\n········if·(r.shouldWalk(dirs,·walkFilter))·{\n··········dirs.add(r)\n········}\n······}\n····}\n····return·results·as·string[]·|·PathBase[]\n··}\n\n··/**\n···*·Support·for·`for·await`\n···*\n···*·Alias·for·{@link·PathScurryBase.iterate}\n···*\n···*·Note:·As·of·Node·19,·this·is·very·slow,·compared·to·other·methods·of\n···*·walking.··Consider·using·{@link·PathScurryBase.stream}·if·memory·overhead\n···*·and·backpressure·are·concerns,·or·{@link·PathScurryBase.walk}·if·not.\n···*/\n··[Symbol.asyncIterator]()·{\n····return·this.iterate()\n··}\n\n··/**\n···*·Async·generator·form·of·{@link·PathScurryBase.walk}\n···*\n···*·Note:·As·of·Node·19,·this·is·very·slow,·compared·to·other·methods·of\n···*·walking,·especially·if·most/all·of·the·directory·tree·has·been·previously\n···*·walked.··Consider·using·{@link·PathScurryBase.stream}·if·memory·overhead\n···*·and·backpressure·are·concerns,·or·{@link·PathScurryBase.walk}·if·not.\n···*/\n··iterate():·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·AsyncGenerator<string,·void,·void>\n··iterate(opts:·WalkOptions):·AsyncGenerator<string·|·PathBase,·void,·void>\n··iterate(entry:·string·|·PathBase):·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·AsyncGenerator<string,·void,·void>\n··iterate(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·AsyncGenerator<PathBase·|·string,·void,·void>\n··iterate(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····options:·WalkOptions·=·{},\n··):·AsyncGenerator<PathBase·|·string,·void,·void>·{\n····//·iterating·async·over·the·stream·is·significantly·more·performant,\n····//·especially·in·the·warm-cache·scenario,·because·it·buffers·up·directory\n····//·entries·in·the·background·instead·of·waiting·for·a·yield·for·each·one.\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······options·=·entry\n······entry·=·this.cwd\n····}\n····return·this.stream(entry,·options)[Symbol.asyncIterator]()\n··}\n\n··/**\n···*·Iterating·over·a·PathScurry·performs·a·synchronous·walk.\n···*\n···*·Alias·for·{@link·PathScurryBase.iterateSync}\n···*/\n··[Symbol.iterator]()·{\n····return·this.iterateSync()\n··}\n\n··iterateSync():·Generator<PathBase,·void,·void>\n··iterateSync(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Generator<PathBase,·void,·void>\n··iterateSync(\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Generator<string,·void,·void>\n··iterateSync(opts:·WalkOptions):·Generator<string·|·PathBase,·void,·void>\n··iterateSync(entry:·string·|·PathBase):·Generator<PathBase,·void,·void>\n··iterateSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Generator<PathBase,·void,·void>\n··iterateSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Generator<string,·void,·void>\n··iterateSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Generator<PathBase·|·string,·void,·void>\n··*iterateSync(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Generator<PathBase·|·string,·void,·void>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····if·(!filter·||·filter(entry))·{\n······yield·withFileTypes·?·entry·:·entry.fullpath()\n····}\n····const·dirs·=·new·Set<PathBase>([entry])\n····for·(const·dir·of·dirs)·{\n······const·entries·=·dir.readdirSync()\n······for·(const·e·of·entries)·{\n········if·(!filter·||·filter(e))·{\n··········yield·withFileTypes·?·e·:·e.fullpath()\n········}\n········let·r:·PathBase·|·undefined·=·e\n········if·(e.isSymbolicLink())·{\n··········if·(!(follow·&&·(r·=·e.realpathSync())))·continue\n··········if·(r.isUnknown())·r.lstatSync()\n········}\n········if·(r.shouldWalk(dirs,·walkFilter))·{\n··········dirs.add(r)\n········}\n······}\n····}\n··}\n\n··/**\n···*·Stream·form·of·{@link·PathScurryBase.walk}\n···*\n···*·Returns·a·Minipass·stream·that·emits·{@link·PathBase}·objects·by·default,\n···*·or·strings·if·`{·withFileTypes:·false·}`·is·set·in·the·options.\n···*/\n··stream():·Minipass<PathBase>\n··stream(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Minipass<PathBase>\n··stream(opts:·WalkOptionsWithFileTypesFalse):·Minipass<string>\n··stream(opts:·WalkOptions):·Minipass<string·|·PathBase>\n··stream(entry:·string·|·PathBase):·Minipass<PathBase>\n··stream(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesUnset·|·WalkOptionsWithFileTypesTrue,\n··):·Minipass<PathBase>\n··stream(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Minipass<string>\n··stream(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Minipass<string>·|·Minipass<PathBase>\n··stream(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Minipass<string>·|·Minipass<PathBase>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results·=·new·Minipass<string·|·PathBase>({·objectMode:·true·})\n····if·(!filter·||·filter(entry))·{\n······results.write(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·dirs·=·new·Set<PathBase>()\n····const·queue:·PathBase[]·=·[entry]\n····let·processing·=·0\n····const·process·=·()·=>·{\n······let·paused·=·false\n······while·(!paused)·{\n········const·dir·=·queue.shift()\n········if·(!dir)·{\n··········if·(processing·===·0)·results.end()\n··········return\n········}\n\n········processing++\n········dirs.add(dir)\n\n········const·onReaddir·=·(\n··········er:·null·|·NodeJS.ErrnoException,\n··········entries:·PathBase[],\n··········didRealpaths:·boolean·=·false,\n········)·=>·{\n··········/*·c8·ignore·start·*/\n··········if·(er)·return·results.emit('error',·er)\n··········/*·c8·ignore·stop·*/\n··········if·(follow·&&·!didRealpaths)·{\n············const·promises:·Promise<PathBase·|·undefined>[]·=·[]\n············for·(const·e·of·entries)·{\n··············if·(e.isSymbolicLink())·{\n················promises.push(\n··················e\n····················.realpath()\n····················.then((r:·PathBase·|·undefined)·=>\n······················r?.isUnknown()·?·r.lstat()·:·r,\n····················),\n················)\n··············}\n············}\n············if·(promises.length)·{\n··············Promise.all(promises).then(()·=>\n················onReaddir(null,·entries,·true),\n··············)\n··············return\n············}\n··········}\n\n··········for·(const·e·of·entries)·{\n············if·(e·&&·(!filter·||·filter(e)))·{\n··············if·(!results.write(withFileTypes·?·e·:·e.fullpath()))·{\n················paused·=·true\n··············}\n············}\n··········}\n\n··········processing--\n··········for·(const·e·of·entries)·{\n············const·r·=·e.realpathCached()·||·e\n············if·(r.shouldWalk(dirs,·walkFilter))·{\n··············queue.push(r)\n············}\n··········}\n··········if·(paused·&&·!results.flowing)·{\n············results.once('drain',·process)\n··········}·else·if·(!sync)·{\n············process()\n··········}\n········}\n\n········//·zalgo·containment\n········let·sync·=·true\n········dir.readdirCB(onReaddir,·true)\n········sync·=·false\n······}\n····}\n····process()\n····return·results·as·Minipass<string>·|·Minipass<PathBase>\n··}\n\n··/**\n···*·Synchronous·form·of·{@link·PathScurryBase.stream}\n···*\n···*·Returns·a·Minipass·stream·that·emits·{@link·PathBase}·objects·by·default,\n···*·or·strings·if·`{·withFileTypes:·false·}`·is·set·in·the·options.\n···*\n···*·Will·complete·the·walk·in·a·single·tick·if·the·stream·is·consumed·fully.\n···*·Otherwise,·will·pause·as·needed·for·stream·backpressure.\n···*/\n··streamSync():·Minipass<PathBase>\n··streamSync(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Minipass<PathBase>\n··streamSync(opts:·WalkOptionsWithFileTypesFalse):·Minipass<string>\n··streamSync(opts:·WalkOptions):·Minipass<string·|·PathBase>\n··streamSync(entry:·string·|·PathBase):·Minipass<PathBase>\n··streamSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesUnset·|·WalkOptionsWithFileTypesTrue,\n··):·Minipass<PathBase>\n··streamSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Minipass<string>\n··streamSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Minipass<string>·|·Minipass<PathBase>\n··streamSync(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Minipass<string>·|·Minipass<PathBase>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results·=·new·Minipass<string·|·PathBase>({·objectMode:·true·})\n····const·dirs·=·new·Set<PathBase>()\n····if·(!filter·||·filter(entry))·{\n······results.write(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·queue:·PathBase[]·=·[entry]\n····let·processing·=·0\n····const·process·=·()·=>·{\n······let·paused·=·false\n······while·(!paused)·{\n········const·dir·=·queue.shift()\n········if·(!dir)·{\n··········if·(processing·===·0)·results.end()\n··········return\n········}\n········processing++\n········dirs.add(dir)\n\n········const·entries·=·dir.readdirSync()\n········for·(const·e·of·entries)·{\n··········if·(!filter·||·filter(e))·{\n············if·(!results.write(withFileTypes·?·e·:·e.fullpath()))·{\n··············paused·=·true\n············}\n··········}\n········}\n········processing--\n········for·(const·e·of·entries)·{\n··········let·r:·PathBase·|·undefined·=·e\n··········if·(e.isSymbolicLink())·{\n············if·(!(follow·&&·(r·=·e.realpathSync())))·continue\n············if·(r.isUnknown())·r.lstatSync()\n··········}\n··········if·(r.shouldWalk(dirs,·walkFilter))·{\n············queue.push(r)\n··········}\n········}\n······}\n······if·(paused·&&·!results.flowing)·results.once('drain',·process)\n····}\n····process()\n····return·results·as·Minipass<string>·|·Minipass<PathBase>\n··}\n\n··chdir(path:·string·|·Path·=·this.cwd)·{\n····const·oldCwd·=·this.cwd\n····this.cwd·=·typeof·path·===·'string'·?·this.cwd.resolve(path)·:·path\n····this.cwd[setAsCwd](oldCwd)\n··}\n}\n\n/**\n·*·Options·provided·to·all·walk·methods.\n·*/\nexport·interface·WalkOptions·{\n··/**\n···*·Return·results·as·{@link·PathBase}·objects·rather·than·strings.\n···*·When·set·to·false,·results·are·fully·resolved·paths,·as·returned·by\n···*·{@link·PathBase.fullpath}.\n···*·@default·true\n···*/\n··withFileTypes?:·boolean\n\n··/**\n···*··Attempt·to·read·directory·entries·from·symbolic·links.·Otherwise,·only\n···*··actual·directories·are·traversed.·Regardless·of·this·setting,·a·given\n···*··target·path·will·only·ever·be·walked·once,·meaning·that·a·symbolic·link\n···*··to·a·previously·traversed·directory·will·never·be·followed.\n···*\n···*··Setting·this·imposes·a·slight·performance·penalty,·because·`readlink`\n···*··must·be·called·on·all·symbolic·links·encountered,·in·order·to·avoid\n···*··infinite·cycles.\n···*·@default·false\n···*/\n··follow?:·boolean\n\n··/**\n···*·Only·return·entries·where·the·provided·function·returns·true.\n···*\n···*·This·will·not·prevent·directories·from·being·traversed,·even·if·they·do\n···*·not·pass·the·filter,·though·it·will·prevent·directories·themselves·from\n···*·being·included·in·the·result·set.··See·{@link·walkFilter}\n···*\n···*·Asynchronous·functions·are·not·supported·here.\n···*\n···*·By·default,·if·no·filter·is·provided,·all·entries·and·traversed\n···*·directories·are·included.\n···*/\n··filter?:·(entry:·PathBase)·=>·boolean\n\n··/**\n···*·Only·traverse·directories·(and·in·the·case·of·{@link·follow}·being·set·to\n···*·true,·symbolic·links·to·directories)·if·the·provided·function·returns\n···*·true.\n···*\n···*·This·will·not·prevent·directories·from·being·included·in·the·result·set,\n···*·even·if·they·do·not·pass·the·supplied·filter·function.··See·{@link·filter}\n···*·to·do·that.\n···*\n···*·Asynchronous·functions·are·not·supported·here.\n···*/\n··walkFilter?:·(entry:·PathBase)·=>·boolean\n}\n\nexport·type·WalkOptionsWithFileTypesUnset·=·WalkOptions·&·{\n··withFileTypes?:·undefined\n}\nexport·type·WalkOptionsWithFileTypesTrue·=·WalkOptions·&·{\n··withFileTypes:·true\n}\nexport·type·WalkOptionsWithFileTypesFalse·=·WalkOptions·&·{\n··withFileTypes:·false\n}\n\n/**\n·*·Windows·implementation·of·{@link·PathScurryBase}\n·*\n·*·Defaults·to·case·insensitve,·uses·`'\\\\'`·to·generate·path·strings.··Uses\n·*·{@link·PathWin32}·for·Path·objects.\n·*/\nexport·class·PathScurryWin32·extends·PathScurryBase·{\n··/**\n···*·separator·for·generating·path·strings\n···*/\n··sep:·'\\\\'·=·'\\\\'\n\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····opts:·PathScurryOpts·=·{},\n··)·{\n····const·{·nocase·=·true·}·=·opts\n····super(cwd,·win32,·'\\\\',·{·...opts,·nocase·})\n····this.nocase·=·nocase\n····for·(let·p:·PathBase·|·undefined·=·this.cwd;·p;·p·=·p.parent)·{\n······p.nocase·=·this.nocase\n····}\n··}\n\n··/**\n···*·@internal\n···*/\n··parseRootPath(dir:·string):·string·{\n····//·if·the·path·starts·with·a·single·separator,·it's·not·a·UNC,·and·we'll\n····//·just·get·separator·as·the·root,·and·driveFromUNC·will·return·\\\n····//·In·that·case,·mount·\\·on·the·root·from·the·cwd.\n····return·win32.parse(dir).root.toUpperCase()\n··}\n\n··/**\n···*·@internal\n···*/\n··newRoot(fs:·FSValue)·{\n····return·new·PathWin32(\n······this.rootPath,\n······IFDIR,\n······undefined,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······{·fs·},\n····)\n··}\n\n··/**\n···*·Return·true·if·the·provided·path·string·is·an·absolute·path\n···*/\n··isAbsolute(p:·string):·boolean·{\n····return·(\n······p.startsWith('/')·||·p.startsWith('\\\\')·||·/^[a-z]:(\\/|\\\\)/i.test(p)\n····)\n··}\n}\n\n/**\n·*·{@link·PathScurryBase}·implementation·for·all·posix·systems·other·than·Darwin.\n·*\n·*·Defaults·to·case-sensitive·matching,·uses·`'/'`·to·generate·path·strings.\n·*\n·*·Uses·{@link·PathPosix}·for·Path·objects.\n·*/\nexport·class·PathScurryPosix·extends·PathScurryBase·{\n··/**\n···*·separator·for·generating·path·strings\n···*/\n··sep:·'/'·=·'/'\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····opts:·PathScurryOpts·=·{},\n··)·{\n····const·{·nocase·=·false·}·=·opts\n····super(cwd,·posix,·'/',·{·...opts,·nocase·})\n····this.nocase·=·nocase\n··}\n\n··/**\n···*·@internal\n···*/\n··parseRootPath(_dir:·string):·string·{\n····return·'/'\n··}\n\n··/**\n···*·@internal\n···*/\n··newRoot(fs:·FSValue)·{\n····return·new·PathPosix(\n······this.rootPath,\n······IFDIR,\n······undefined,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······{·fs·},\n····)\n··}\n\n··/**\n···*·Return·true·if·the·provided·path·string·is·an·absolute·path\n···*/\n··isAbsolute(p:·string):·boolean·{\n····return·p.startsWith('/')\n··}\n}\n\n/**\n·*·{@link·PathScurryBase}·implementation·for·Darwin·(macOS)·systems.\n·*\n·*·Defaults·to·case-insensitive·matching,·uses·`'/'`·for·generating·path\n·*·strings.\n·*\n·*·Uses·{@link·PathPosix}·for·Path·objects.\n·*/\nexport·class·PathScurryDarwin·extends·PathScurryPosix·{\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····opts:·PathScurryOpts·=·{},\n··)·{\n····const·{·nocase·=·true·}·=·opts\n····super(cwd,·{·...opts,·nocase·})\n··}\n}\n\n/**\n·*·Default·{@link·PathBase}·implementation·for·the·current·platform.\n·*\n·*·{@link·PathWin32}·on·Windows·systems,·{@link·PathPosix}·on·all·others.\n·*/\nexport·const·Path·=·process.platform·===·'win32'·?·PathWin32·:·PathPosix\nexport·type·Path·=·PathBase·|·InstanceType<typeof·Path>\n\n/**\n·*·Default·{@link·PathScurryBase}·implementation·for·the·current·platform.\n·*\n·*·{@link·PathScurryWin32}·on·Windows·systems,·{@link·PathScurryDarwin}·on\n·*·Darwin·(macOS)·systems,·{@link·PathScurryPosix}·on·all·others.\n·*/\nexport·const·PathScurry:\n··|·typeof·PathScurryWin32\n··|·typeof·PathScurryDarwin\n··|·typeof·PathScurryPosix·=\n··process.platform·===·'win32'·?·PathScurryWin32\n··:·process.platform·===·'darwin'·?·PathScurryDarwin\n··:·PathScurryPosix\nexport·type·PathScurry·=·PathScurryBase·|·InstanceType<typeof·PathScurry>\n",1024 ········"import·{·LRUCache·}·from·'lru-cache'\nimport·{·posix,·win32·}·from·'node:path'\n\nimport·{·fileURLToPath·}·from·'node:url'\n\nimport·{\n··lstatSync,\n··readdir·as·readdirCB,\n··readdirSync,\n··readlinkSync,\n··realpathSync·as·rps,\n}·from·'fs'\nimport·*·as·actualFS·from·'node:fs'\n\nconst·realpathSync·=·rps.native\n//·TODO:·test·perf·of·fs/promises·realpath·vs·realpathCB,\n//·since·the·promises·one·uses·realpath.native\n\nimport·{·lstat,·readdir,·readlink,·realpath·}·from·'node:fs/promises'\n\nimport·{·Minipass·}·from·'minipass'\nimport·type·{·Dirent,·Stats·}·from·'node:fs'\n\n/**\n·*·An·object·that·will·be·used·to·override·the·default·`fs`\n·*·methods.··Any·methods·that·are·not·overridden·will·use·Node's\n·*·built-in·implementations.\n·*\n·*·-·lstatSync\n·*·-·readdir·(callback·`withFileTypes`·Dirent·variant,·used·for\n·*···readdirCB·and·most·walks)\n·*·-·readdirSync\n·*·-·readlinkSync\n·*·-·realpathSync\n·*·-·promises:·Object·containing·the·following·async·methods:\n·*···-·lstat\n·*···-·readdir·(Dirent·variant·only)\n·*···-·readlink\n·*···-·realpath\n·*/\nexport·interface·FSOption·{\n··lstatSync?:·(path:·string)·=>·Stats\n··readdir?:·(\n····path:·string,\n····options:·{·withFileTypes:·true·},\n····cb:·(er:·NodeJS.ErrnoException·|·null,·entries?:·Dirent[])·=>·any,\n··)·=>·void\n··readdirSync?:·(\n····path:·string,\n····options:·{·withFileTypes:·true·},\n··)·=>·Dirent[]\n··readlinkSync?:·(path:·string)·=>·string\n··realpathSync?:·(path:·string)·=>·string\n··promises?:·{\n····lstat?:·(path:·string)·=>·Promise<Stats>\n····readdir?:·(\n······path:·string,\n······options:·{·withFileTypes:·true·},\n····)·=>·Promise<Dirent[]>\n····readlink?:·(path:·string)·=>·Promise<string>\n····realpath?:·(path:·string)·=>·Promise<string>\n····[k:·string]:·any\n··}\n··[k:·string]:·any\n}\n\ninterface·FSValue·{\n··lstatSync:·(path:·string)·=>·Stats\n··readdir:·(\n····path:·string,\n····options:·{·withFileTypes:·true·},\n····cb:·(er:·NodeJS.ErrnoException·|·null,·entries?:·Dirent[])·=>·any,\n··)·=>·void\n··readdirSync:·(path:·string,·options:·{·withFileTypes:·true·})·=>·Dirent[]\n··readlinkSync:·(path:·string)·=>·string\n··realpathSync:·(path:·string)·=>·string\n··promises:·{\n····lstat:·(path:·string)·=>·Promise<Stats>\n····readdir:·(\n······path:·string,\n······options:·{·withFileTypes:·true·},\n····)·=>·Promise<Dirent[]>\n····readlink:·(path:·string)·=>·Promise<string>\n····realpath:·(path:·string)·=>·Promise<string>\n····[k:·string]:·any\n··}\n··[k:·string]:·any\n}\n\nconst·defaultFS:·FSValue·=·{\n··lstatSync,\n··readdir:·readdirCB,\n··readdirSync,\n··readlinkSync,\n··realpathSync,\n··promises:·{\n····lstat,\n····readdir,\n····readlink,\n····realpath,\n··},\n}\n\n//·if·they·just·gave·us·require('fs')·then·use·our·default\nconst·fsFromOption·=·(fsOption?:·FSOption):·FSValue·=>\n··!fsOption·||·fsOption·===·defaultFS·||·fsOption·===·actualFS·?\n····defaultFS\n··:·{\n······...defaultFS,\n······...fsOption,\n······promises:·{\n········...defaultFS.promises,\n········...(fsOption.promises·||·{}),\n······},\n····}\n\n//·turn·something·like·//?/c:/·into·c:\\\nconst·uncDriveRegexp·=·/^\\\\\\\\\\?\\\\([a-z]:)\\\\?$/i\nconst·uncToDrive·=·(rootPath:·string):·string·=>\n··rootPath.replace(/\\//g,·'\\\\').replace(uncDriveRegexp,·'$1\\\\')\n\n//·windows·paths·are·separated·by·either·/·or·\\\nconst·eitherSep·=·/[\\\\\\/]/\n\nconst·UNKNOWN·=·0·//·may·not·even·exist,·for·all·we·know\nconst·IFIFO·=·0b0001\nconst·IFCHR·=·0b0010\nconst·IFDIR·=·0b0100\nconst·IFBLK·=·0b0110\nconst·IFREG·=·0b1000\nconst·IFLNK·=·0b1010\nconst·IFSOCK·=·0b1100\nconst·IFMT·=·0b1111\n\nexport·type·Type·=\n··|·'Unknown'\n··|·'FIFO'\n··|·'CharacterDevice'\n··|·'Directory'\n··|·'BlockDevice'\n··|·'File'\n··|·'SymbolicLink'\n··|·'Socket'\n\n//·mask·to·unset·low·4·bits\nconst·IFMT_UNKNOWN·=·~IFMT\n\n//·set·after·successfully·calling·readdir()·and·getting·entries.\nconst·READDIR_CALLED·=·0b0000_0001_0000\n//·set·after·a·successful·lstat()\nconst·LSTAT_CALLED·=·0b0000_0010_0000\n//·set·if·an·entry·(or·one·of·its·parents)·is·definitely·not·a·dir\nconst·ENOTDIR·=·0b0000_0100_0000\n//·set·if·an·entry·(or·one·of·its·parents)·does·not·exist\n//·(can·also·be·set·on·lstat·errors·like·EACCES·or·ENAMETOOLONG)\nconst·ENOENT·=·0b0000_1000_0000\n//·cannot·have·child·entries·--·also·verify·&IFMT·is·either·IFDIR·or·IFLNK\n//·set·if·we·fail·to·readlink\nconst·ENOREADLINK·=·0b0001_0000_0000\n//·set·if·we·know·realpath()·will·fail\nconst·ENOREALPATH·=·0b0010_0000_0000\n\nconst·ENOCHILD·=·ENOTDIR·|·ENOENT·|·ENOREALPATH\nconst·TYPEMASK·=·0b0011_1111_1111\n\nconst·entToType·=·(s:·Dirent·|·Stats)·=>\n··s.isFile()·?·IFREG\n··:·s.isDirectory()·?·IFDIR\n··:·s.isSymbolicLink()·?·IFLNK\n··:·s.isCharacterDevice()·?·IFCHR\n··:·s.isBlockDevice()·?·IFBLK\n··:·s.isSocket()·?·IFSOCK\n··:·s.isFIFO()·?·IFIFO\n··:·UNKNOWN\n\n//·normalize·unicode·path·names\nconst·normalizeCache·=·new·LRUCache<string,·string>({·max:·2·**·12·})\nconst·normalize·=·(s:·string)·=>·{\n··const·c·=·normalizeCache.get(s)\n··if·(c)·return·c\n··const·n·=·s.normalize('NFKD')\n··normalizeCache.set(s,·n)\n··return·n\n}\n\nconst·normalizeNocaseCache·=·new·LRUCache<string,·string>({·max:·2·**·12·})\nconst·normalizeNocase·=·(s:·string)·=>·{\n··const·c·=·normalizeNocaseCache.get(s)\n··if·(c)·return·c\n··const·n·=·normalize(s.toLowerCase())\n··normalizeNocaseCache.set(s,·n)\n··return·n\n}\n\n/**\n·*·Options·that·may·be·provided·to·the·Path·constructor\n·*/\nexport·interface·PathOpts·{\n··fullpath?:·string\n··relative?:·string\n··relativePosix?:·string\n··parent?:·PathBase\n··/**\n···*·See·{@link·FSOption}\n···*/\n··fs?:·FSOption\n}\n\n/**\n·*·An·LRUCache·for·storing·resolved·path·strings·or·Path·objects.\n·*·@internal\n·*/\nexport·class·ResolveCache·extends·LRUCache<string,·string>·{\n··constructor()·{\n····super({·max:·256·})\n··}\n}\n\n//·In·order·to·prevent·blowing·out·the·js·heap·by·allocating·hundreds·of\n//·thousands·of·Path·entries·when·walking·extremely·large·trees,·the·\"children\"\n//·in·this·tree·are·represented·by·storing·an·array·of·Path·entries·in·an\n//·LRUCache,·indexed·by·the·parent.··At·any·time,·Path.children()·may·return·an\n//·empty·array,·indicating·that·it·doesn't·know·about·any·of·its·children,·and\n//·thus·has·to·rebuild·that·cache.··This·is·fine,·it·just·means·that·we·don't\n//·benefit·as·much·from·having·the·cached·entries,·but·huge·directory·walks\n//·don't·blow·out·the·stack,·and·smaller·ones·are·still·as·fast·as·possible.\n//\n//It·does·impose·some·complexity·when·building·up·the·readdir·data,·because·we\n//need·to·pass·a·reference·to·the·children·array·that·we·started·with.\n\n/**\n·*·an·LRUCache·for·storing·child·entries.\n·*·@internal\n·*/\nexport·class·ChildrenCache·extends·LRUCache<PathBase,·Children>·{\n··constructor(maxSize:·number·=·16·*·1024)·{\n····super({\n······maxSize,\n······//·parent·+·children\n······sizeCalculation:·a·=>·a.length·+·1,\n····})\n··}\n}\n\n/**\n·*·Array·of·Path·objects,·plus·a·marker·indicating·the·first·provisional·entry\n·*\n·*·@internal\n·*/\nexport·type·Children·=·PathBase[]·&·{·provisional:·number·}\n\nconst·setAsCwd·=·Symbol('PathScurry·setAsCwd')\n\n/**\n·*·Path·objects·are·sort·of·like·a·super-powered\n·*·{@link·https://nodejs.org/docs/latest/api/fs.html#class-fsdirent·fs.Dirent}\n·*\n·*·Each·one·represents·a·single·filesystem·entry·on·disk,·which·may·or·may·not\n·*·exist.·It·includes·methods·for·reading·various·types·of·information·via\n·*·lstat,·readlink,·and·readdir,·and·caches·all·information·to·the·greatest\n·*·degree·possible.\n·*\n·*·Note·that·fs·operations·that·would·normally·throw·will·instead·return·an\n·*·\"empty\"·value.·This·is·in·order·to·prevent·excessive·overhead·from·error\n·*·stack·traces.\n·*/\nexport·abstract·class·PathBase·implements·Dirent·{\n··/**\n···*·the·basename·of·this·path\n···*\n···*·**Important**:·*always*·test·the·path·name·against·any·test·string\n···*·usingthe·{@link·isNamed}·method,·and·not·by·directly·comparing·this\n···*·string.·Otherwise,·unicode·path·strings·that·the·system·sees·as·identical\n···*·will·not·be·properly·treated·as·the·same·path,·leading·to·incorrect\n···*·behavior·and·possible·security·issues.\n···*/\n··name:·string\n··/**\n···*·the·Path·entry·corresponding·to·the·path·root.\n···*\n···*·@internal\n···*/\n··root:·PathBase\n··/**\n···*·All·roots·found·within·the·current·PathScurry·family\n···*\n···*·@internal\n···*/\n··roots:·{·[k:·string]:·PathBase·}\n··/**\n···*·a·reference·to·the·parent·path,·or·undefined·in·the·case·of·root·entries\n···*\n···*·@internal\n···*/\n··parent?:·PathBase\n··/**\n···*·boolean·indicating·whether·paths·are·compared·case-insensitively\n···*·@internal\n···*/\n··nocase:·boolean\n\n··/**\n···*·boolean·indicating·that·this·path·is·the·current·working·directory\n···*·of·the·PathScurry·collection·that·contains·it.\n···*/\n··isCWD:·boolean·=·false\n\n··/**\n···*·the·string·or·regexp·used·to·split·paths.·On·posix,·it·is·`'/'`,·and·on\n···*·windows·it·is·a·RegExp·matching·either·`'/'`·or·`'\\\\'`\n···*/\n··abstract·splitSep:·string·|·RegExp\n··/**\n···*·The·path·separator·string·to·use·when·joining·paths\n···*/\n··abstract·sep:·string\n\n··//·potential·default·fs·override\n··#fs:·FSValue\n\n··//·Stats·fields\n··#dev?:·number\n··get·dev()·{\n····return·this.#dev\n··}\n··#mode?:·number\n··get·mode()·{\n····return·this.#mode\n··}\n··#nlink?:·number\n··get·nlink()·{\n····return·this.#nlink\n··}\n··#uid?:·number\n··get·uid()·{\n····return·this.#uid\n··}\n··#gid?:·number\n··get·gid()·{\n····return·this.#gid\n··}\n··#rdev?:·number\n··get·rdev()·{\n····return·this.#rdev\n··}\n··#blksize?:·number\n··get·blksize()·{\n····return·this.#blksize\n··}\n··#ino?:·number\n··get·ino()·{\n····return·this.#ino\n··}\n··#size?:·number\n··get·size()·{\n····return·this.#size\n··}\n··#blocks?:·number\n··get·blocks()·{\n····return·this.#blocks\n··}\n··#atimeMs?:·number\n··get·atimeMs()·{\n····return·this.#atimeMs\n··}\n··#mtimeMs?:·number\n··get·mtimeMs()·{\n····return·this.#mtimeMs\n··}\n··#ctimeMs?:·number\n··get·ctimeMs()·{\n····return·this.#ctimeMs\n··}\n··#birthtimeMs?:·number\n··get·birthtimeMs()·{\n····return·this.#birthtimeMs\n··}\n··#atime?:·Date\n··get·atime()·{\n····return·this.#atime\n··}\n··#mtime?:·Date\n··get·mtime()·{\n····return·this.#mtime\n··}\n··#ctime?:·Date\n··get·ctime()·{\n····return·this.#ctime\n··}\n··#birthtime?:·Date\n··get·birthtime()·{\n····return·this.#birthtime\n··}\n\n··#matchName:·string\n··#depth?:·number\n··#fullpath?:·string\n··#fullpathPosix?:·string\n··#relative?:·string\n··#relativePosix?:·string\n··#type:·number\n··#children:·ChildrenCache\n··#linkTarget?:·PathBase\n··#realpath?:·PathBase\n\n··/**\n···*·This·property·is·for·compatibility·with·the·Dirent·class·as·of\n···*·Node·v20,·where·Dirent['parentPath']·refers·to·the·path·of·the\n···*·directory·that·was·passed·to·readdir.·For·root·entries,·it's·the·path\n···*·to·the·entry·itself.\n···*/\n··get·parentPath():·string·{\n····return·(this.parent·||·this).fullpath()\n··}\n\n··/*·c8·ignore·start·*/\n··/**\n···*·Deprecated·alias·for·Dirent['parentPath']·Somewhat·counterintuitively,\n···*·this·property·refers·to·the·*parent*·path,·not·the·path·object·itself.\n···*\n···*·@deprecated\n···*/\n··get·path():·string·{\n····return·this.parentPath\n··}\n··/*·c8·ignore·stop·*/\n\n··/**\n···*·Do·not·create·new·Path·objects·directly.··They·should·always·be·accessed\n···*·via·the·PathScurry·class·or·other·methods·on·the·Path·class.\n···*\n···*·@internal\n···*/\n··constructor(\n····name:·string,\n····type:·number·=·UNKNOWN,\n····root:·PathBase·|·undefined,\n····roots:·{·[k:·string]:·PathBase·},\n····nocase:·boolean,\n····children:·ChildrenCache,\n····opts:·PathOpts,\n··)·{\n····this.name·=·name\n····this.#matchName·=·nocase·?·normalizeNocase(name)·:·normalize(name)\n····this.#type·=·type·&·TYPEMASK\n····this.nocase·=·nocase\n····this.roots·=·roots\n····this.root·=·root·||·this\n····this.#children·=·children\n····this.#fullpath·=·opts.fullpath\n····this.#relative·=·opts.relative\n····this.#relativePosix·=·opts.relativePosix\n····this.parent·=·opts.parent\n····if·(this.parent)·{\n······this.#fs·=·this.parent.#fs\n····}·else·{\n······this.#fs·=·fsFromOption(opts.fs)\n····}\n··}\n\n··/**\n···*·Returns·the·depth·of·the·Path·object·from·its·root.\n···*\n···*·For·example,·a·path·at·`/foo/bar`·would·have·a·depth·of·2.\n···*/\n··depth():·number·{\n····if·(this.#depth·!==·undefined)·return·this.#depth\n····if·(!this.parent)·return·(this.#depth·=·0)\n····return·(this.#depth·=·this.parent.depth()·+·1)\n··}\n\n··/**\n···*·@internal\n···*/\n··abstract·getRootString(path:·string):·string\n··/**\n···*·@internal\n···*/\n··abstract·getRoot(rootPath:·string):·PathBase\n··/**\n···*·@internal\n···*/\n··abstract·newChild(name:·string,·type?:·number,·opts?:·PathOpts):·PathBase\n\n··/**\n···*·@internal\n···*/\n··childrenCache()·{\n····return·this.#children\n··}\n\n··/**\n···*·Get·the·Path·object·referenced·by·the·string·path,·resolved·from·this·Path\n···*/\n··resolve(path?:·string):·PathBase·{\n····if·(!path)·{\n······return·this\n····}\n····const·rootPath·=·this.getRootString(path)\n····const·dir·=·path.substring(rootPath.length)\n····const·dirParts·=·dir.split(this.splitSep)\n····const·result:·PathBase·=\n······rootPath·?\n········this.getRoot(rootPath).#resolveParts(dirParts)\n······:·this.#resolveParts(dirParts)\n····return·result\n··}\n\n··#resolveParts(dirParts:·string[])·{\n····let·p:·PathBase·=·this\n····for·(const·part·of·dirParts)·{\n······p·=·p.child(part)\n····}\n····return·p\n··}\n\n··/**\n···*·Returns·the·cached·children·Path·objects,·if·still·available.··If·they\n···*·have·fallen·out·of·the·cache,·then·returns·an·empty·array,·and·resets·the\n···*·READDIR_CALLED·bit,·so·that·future·calls·to·readdir()·will·require·an·fs\n···*·lookup.\n···*\n···*·@internal\n···*/\n··children():·Children·{\n····const·cached·=·this.#children.get(this)\n····if·(cached)·{\n······return·cached\n····}\n····const·children:·Children·=·Object.assign([],·{·provisional:·0·})\n····this.#children.set(this,·children)\n····this.#type·&=·~READDIR_CALLED\n····return·children\n··}\n\n··/**\n···*·Resolves·a·path·portion·and·returns·or·creates·the·child·Path.\n···*\n···*·Returns·`this`·if·pathPart·is·`''`·or·`'.'`,·or·`parent`·if·pathPart·is\n···*·`'..'`.\n···*\n···*·This·should·not·be·called·directly.··If·`pathPart`·contains·any·path\n···*·separators,·it·will·lead·to·unsafe·undefined·behavior.\n···*\n···*·Use·`Path.resolve()`·instead.\n···*\n···*·@internal\n···*/\n··child(pathPart:·string,·opts?:·PathOpts):·PathBase·{\n····if·(pathPart·===·''·||·pathPart·===·'.')·{\n······return·this\n····}\n····if·(pathPart·===·'..')·{\n······return·this.parent·||·this\n····}\n\n····//·find·the·child\n····const·children·=·this.children()\n····const·name·=\n······this.nocase·?·normalizeNocase(pathPart)·:·normalize(pathPart)\n····for·(const·p·of·children)·{\n······if·(p.#matchName·===·name)·{\n········return·p\n······}\n····}\n\n····//·didn't·find·it,·create·provisional·child,·since·it·might·not\n····//·actually·exist.··If·we·know·the·parent·isn't·a·dir,·then\n····//·in·fact·it·CAN'T·exist.\n····const·s·=·this.parent·?·this.sep·:·''\n····const·fullpath·=\n······this.#fullpath·?·this.#fullpath·+·s·+·pathPart·:·undefined\n····const·pchild·=·this.newChild(pathPart,·UNKNOWN,·{\n······...opts,\n······parent:·this,\n······fullpath,\n····})\n\n····if·(!this.canReaddir())·{\n······pchild.#type·|=·ENOENT\n····}\n\n····//·don't·have·to·update·provisional,·because·if·we·have·real·children,\n····//·then·provisional·is·set·to·children.length,·otherwise·a·lower·number\n····children.push(pchild)\n····return·pchild\n··}\n\n··/**\n···*·The·relative·path·from·the·cwd.·If·it·does·not·share·an·ancestor·with\n···*·the·cwd,·then·this·ends·up·being·equivalent·to·the·fullpath()\n···*/\n··relative():·string·{\n····if·(this.isCWD)·return·''\n····if·(this.#relative·!==·undefined)·{\n······return·this.#relative\n····}\n····const·name·=·this.name\n····const·p·=·this.parent\n····if·(!p)·{\n······return·(this.#relative·=·this.name)\n····}\n····const·pv·=·p.relative()\n····return·pv·+·(!pv·||·!p.parent·?·''·:·this.sep)·+·name\n··}\n\n··/**\n···*·The·relative·path·from·the·cwd,·using·/·as·the·path·separator.\n···*·If·it·does·not·share·an·ancestor·with\n···*·the·cwd,·then·this·ends·up·being·equivalent·to·the·fullpathPosix()\n···*·On·posix·systems,·this·is·identical·to·relative().\n···*/\n··relativePosix():·string·{\n····if·(this.sep·===·'/')·return·this.relative()\n····if·(this.isCWD)·return·''\n····if·(this.#relativePosix·!==·undefined)·return·this.#relativePosix\n····const·name·=·this.name\n····const·p·=·this.parent\n····if·(!p)·{\n······return·(this.#relativePosix·=·this.fullpathPosix())\n····}\n····const·pv·=·p.relativePosix()\n····return·pv·+·(!pv·||·!p.parent·?·''·:·'/')·+·name\n··}\n\n··/**\n···*·The·fully·resolved·path·string·for·this·Path·entry\n···*/\n··fullpath():·string·{\n····if·(this.#fullpath·!==·undefined)·{\n······return·this.#fullpath\n····}\n····const·name·=·this.name\n····const·p·=·this.parent\n····if·(!p)·{\n······return·(this.#fullpath·=·this.name)\n····}\n····const·pv·=·p.fullpath()\n····const·fp·=·pv·+·(!p.parent·?·''·:·this.sep)·+·name\n····return·(this.#fullpath·=·fp)\n··}\n\n··/**\n···*·On·platforms·other·than·windows,·this·is·identical·to·fullpath.\n···*\n···*·On·windows,·this·is·overridden·to·return·the·forward-slash·form·of·the\n···*·full·UNC·path.\n···*/\n··fullpathPosix():·string·{\n····if·(this.#fullpathPosix·!==·undefined)·return·this.#fullpathPosix\n····if·(this.sep·===·'/')·return·(this.#fullpathPosix·=·this.fullpath())\n····if·(!this.parent)·{\n······const·p·=·this.fullpath().replace(/\\\\/g,·'/')\n······if·(/^[a-z]:\\//i.test(p))·{\n········return·(this.#fullpathPosix·=·`//?/${p}`)\n······}·else·{\n········return·(this.#fullpathPosix·=·p)\n······}\n····}\n····const·p·=·this.parent\n····const·pfpp·=·p.fullpathPosix()\n····const·fpp·=·pfpp·+·(!pfpp·||·!p.parent·?·''·:·'/')·+·this.name\n····return·(this.#fullpathPosix·=·fpp)\n··}\n\n··/**\n···*·Is·the·Path·of·an·unknown·type?\n···*\n···*·Note·that·we·might·know·*something*·about·it·if·there·has·been·a·previous\n···*·filesystem·operation,·for·example·that·it·does·not·exist,·or·is·not·a\n···*·link,·or·whether·it·has·child·entries.\n···*/\n··isUnknown():·boolean·{\n····return·(this.#type·&·IFMT)·===·UNKNOWN\n··}\n\n··isType(type:·Type):·boolean·{\n····return·this[`is${type}`]()\n··}\n\n··getType():·Type·{\n····return·(\n······this.isUnknown()·?·'Unknown'\n······:·this.isDirectory()·?·'Directory'\n······:·this.isFile()·?·'File'\n······:·this.isSymbolicLink()·?·'SymbolicLink'\n······:·this.isFIFO()·?·'FIFO'\n······:·this.isCharacterDevice()·?·'CharacterDevice'\n······:·this.isBlockDevice()·?·'BlockDevice'\n······:·/*·c8·ignore·start·*/·this.isSocket()·?·'Socket'\n······:·'Unknown'\n····)\n····/*·c8·ignore·stop·*/\n··}\n\n··/**\n···*·Is·the·Path·a·regular·file?\n···*/\n··isFile():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFREG\n··}\n\n··/**\n···*·Is·the·Path·a·directory?\n···*/\n··isDirectory():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFDIR\n··}\n\n··/**\n···*·Is·the·path·a·character·device?\n···*/\n··isCharacterDevice():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFCHR\n··}\n\n··/**\n···*·Is·the·path·a·block·device?\n···*/\n··isBlockDevice():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFBLK\n··}\n\n··/**\n···*·Is·the·path·a·FIFO·pipe?\n···*/\n··isFIFO():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFIFO\n··}\n\n··/**\n···*·Is·the·path·a·socket?\n···*/\n··isSocket():·boolean·{\n····return·(this.#type·&·IFMT)·===·IFSOCK\n··}\n\n··/**\n···*·Is·the·path·a·symbolic·link?\n···*/\n··isSymbolicLink():·boolean·{\n····return·(this.#type·&·IFLNK)·===·IFLNK\n··}\n\n··/**\n···*·Return·the·entry·if·it·has·been·subject·of·a·successful·lstat,·or\n···*·undefined·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·undefined·result·*could*·simply\n···*·mean·that·we·haven't·called·lstat·on·it.\n···*/\n··lstatCached():·PathBase·|·undefined·{\n····return·this.#type·&·LSTAT_CALLED·?·this·:·undefined\n··}\n\n··/**\n···*·Return·the·cached·link·target·if·the·entry·has·been·the·subject·of·a\n···*·successful·readlink,·or·undefined·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·undefined·result·*could*·just·mean·we\n···*·don't·have·any·cached·data.·Only·use·it·if·you·are·very·sure·that·a\n···*·readlink()·has·been·called·at·some·point.\n···*/\n··readlinkCached():·PathBase·|·undefined·{\n····return·this.#linkTarget\n··}\n\n··/**\n···*·Returns·the·cached·realpath·target·if·the·entry·has·been·the·subject\n···*·of·a·successful·realpath,·or·undefined·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·undefined·result·*could*·just·mean·we\n···*·don't·have·any·cached·data.·Only·use·it·if·you·are·very·sure·that·a\n···*·realpath()·has·been·called·at·some·point.\n···*/\n··realpathCached():·PathBase·|·undefined·{\n····return·this.#realpath\n··}\n\n··/**\n···*·Returns·the·cached·child·Path·entries·array·if·the·entry·has·been·the\n···*·subject·of·a·successful·readdir(),·or·[]·otherwise.\n···*\n···*·Does·not·read·the·filesystem,·so·an·empty·array·*could*·just·mean·we\n···*·don't·have·any·cached·data.·Only·use·it·if·you·are·very·sure·that·a\n···*·readdir()·has·been·called·recently·enough·to·still·be·valid.\n···*/\n··readdirCached():·PathBase[]·{\n····const·children·=·this.children()\n····return·children.slice(0,·children.provisional)\n··}\n\n··/**\n···*·Return·true·if·it's·worth·trying·to·readlink.··Ie,·we·don't·(yet)·have\n···*·any·indication·that·readlink·will·definitely·fail.\n···*\n···*·Returns·false·if·the·path·is·known·to·not·be·a·symlink,·if·a·previous\n···*·readlink·failed,·or·if·the·entry·does·not·exist.\n···*/\n··canReadlink():·boolean·{\n····if·(this.#linkTarget)·return·true\n····if·(!this.parent)·return·false\n····//·cases·where·it·cannot·possibly·succeed\n····const·ifmt·=·this.#type·&·IFMT\n····return·!(\n······(ifmt·!==·UNKNOWN·&&·ifmt·!==·IFLNK)·||\n······this.#type·&·ENOREADLINK·||\n······this.#type·&·ENOENT\n····)\n··}\n\n··/**\n···*·Return·true·if·readdir·has·previously·been·successfully·called·on·this\n···*·path,·indicating·that·cachedReaddir()·is·likely·valid.\n···*/\n··calledReaddir():·boolean·{\n····return·!!(this.#type·&·READDIR_CALLED)\n··}\n\n··/**\n···*·Returns·true·if·the·path·is·known·to·not·exist.·That·is,·a·previous·lstat\n···*·or·readdir·failed·to·verify·its·existence·when·that·would·have·been\n···*·expected,·or·a·parent·entry·was·marked·either·enoent·or·enotdir.\n···*/\n··isENOENT():·boolean·{\n····return·!!(this.#type·&·ENOENT)\n··}\n\n··/**\n···*·Return·true·if·the·path·is·a·match·for·the·given·path·name.··This·handles\n···*·case·sensitivity·and·unicode·normalization.\n···*\n···*·Note:·even·on·case-sensitive·systems,·it·is·**not**·safe·to·test·the\n···*·equality·of·the·`.name`·property·to·determine·whether·a·given·pathname\n···*·matches,·due·to·unicode·normalization·mismatches.\n···*\n···*·Always·use·this·method·instead·of·testing·the·`path.name`·property\n···*·directly.\n···*/\n··isNamed(n:·string):·boolean·{\n····return·!this.nocase·?\n········this.#matchName·===·normalize(n)\n······:·this.#matchName·===·normalizeNocase(n)\n··}\n\n··/**\n···*·Return·the·Path·object·corresponding·to·the·target·of·a·symbolic·link.\n···*\n···*·If·the·Path·is·not·a·symbolic·link,·or·if·the·readlink·call·fails·for·any\n···*·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*/\n··async·readlink():·Promise<PathBase·|·undefined>·{\n····const·target·=·this.#linkTarget\n····if·(target)·{\n······return·target\n····}\n····if·(!this.canReadlink())·{\n······return·undefined\n····}\n····/*·c8·ignore·start·*/\n····//·already·covered·by·the·canReadlink·test,·here·for·ts·grumples\n····if·(!this.parent)·{\n······return·undefined\n····}\n····/*·c8·ignore·stop·*/\n····try·{\n······const·read·=·await·this.#fs.promises.readlink(this.fullpath())\n······const·linkTarget·=·(await·this.parent.realpath())?.resolve(read)\n······if·(linkTarget)·{\n········return·(this.#linkTarget·=·linkTarget)\n······}\n····}·catch·(er)·{\n······this.#readlinkFail((er·as·NodeJS.ErrnoException).code)\n······return·undefined\n····}\n··}\n\n··/**\n···*·Synchronous·{@link·PathBase.readlink}\n···*/\n··readlinkSync():·PathBase·|·undefined·{\n····const·target·=·this.#linkTarget\n····if·(target)·{\n······return·target\n····}\n····if·(!this.canReadlink())·{\n······return·undefined\n····}\n····/*·c8·ignore·start·*/\n····//·already·covered·by·the·canReadlink·test,·here·for·ts·grumples\n····if·(!this.parent)·{\n······return·undefined\n····}\n····/*·c8·ignore·stop·*/\n····try·{\n······const·read·=·this.#fs.readlinkSync(this.fullpath())\n······const·linkTarget·=·this.parent.realpathSync()?.resolve(read)\n······if·(linkTarget)·{\n········return·(this.#linkTarget·=·linkTarget)\n······}\n····}·catch·(er)·{\n······this.#readlinkFail((er·as·NodeJS.ErrnoException).code)\n······return·undefined\n····}\n··}\n\n··#readdirSuccess(children:·Children)·{\n····//·succeeded,·mark·readdir·called·bit\n····this.#type·|=·READDIR_CALLED\n····//·mark·all·remaining·provisional·children·as·ENOENT\n····for·(let·p·=·children.provisional;·p·<·children.length;·p++)·{\n······const·c·=·children[p]\n······if·(c)·c.#markENOENT()\n····}\n··}\n\n··#markENOENT()·{\n····//·mark·as·UNKNOWN·and·ENOENT\n····if·(this.#type·&·ENOENT)·return\n····this.#type·=·(this.#type·|·ENOENT)·&·IFMT_UNKNOWN\n····this.#markChildrenENOENT()\n··}\n\n··#markChildrenENOENT()·{\n····//·all·children·are·provisional·and·do·not·exist\n····const·children·=·this.children()\n····children.provisional·=·0\n····for·(const·p·of·children)·{\n······p.#markENOENT()\n····}\n··}\n\n··#markENOREALPATH()·{\n····this.#type·|=·ENOREALPATH\n····this.#markENOTDIR()\n··}\n\n··//·save·the·information·when·we·know·the·entry·is·not·a·dir\n··#markENOTDIR()·{\n····//·entry·is·not·a·directory,·so·any·children·can't·exist.\n····//·this·*should*·be·impossible,·since·any·children·created\n····//·after·it's·been·marked·ENOTDIR·should·be·marked·ENOENT,\n····//·so·it·won't·even·get·to·this·point.\n····/*·c8·ignore·start·*/\n····if·(this.#type·&·ENOTDIR)·return\n····/*·c8·ignore·stop·*/\n····let·t·=·this.#type\n····//·this·could·happen·if·we·stat·a·dir,·then·delete·it,\n····//·then·try·to·read·it·or·one·of·its·children.\n····if·((t·&·IFMT)·===·IFDIR)·t·&=·IFMT_UNKNOWN\n····this.#type·=·t·|·ENOTDIR\n····this.#markChildrenENOENT()\n··}\n\n··#readdirFail(code:·string·=·'')·{\n····//·markENOTDIR·and·markENOENT·also·set·provisional=0\n····if·(code·===·'ENOTDIR'·||·code·===·'EPERM')·{\n······this.#markENOTDIR()\n····}·else·if·(code·===·'ENOENT')·{\n······this.#markENOENT()\n····}·else·{\n······this.children().provisional·=·0\n····}\n··}\n\n··#lstatFail(code:·string·=·'')·{\n····//·Windows·just·raises·ENOENT·in·this·case,·disable·for·win·CI\n····/*·c8·ignore·start·*/\n····if·(code·===·'ENOTDIR')·{\n······//·already·know·it·has·a·parent·by·this·point\n······const·p·=·this.parent·as·PathBase\n······p.#markENOTDIR()\n····}·else·if·(code·===·'ENOENT')·{\n······/*·c8·ignore·stop·*/\n······this.#markENOENT()\n····}\n··}\n\n··#readlinkFail(code:·string·=·'')·{\n····let·ter·=·this.#type\n····ter·|=·ENOREADLINK\n····if·(code·===·'ENOENT')·ter·|=·ENOENT\n····//·windows·gets·a·weird·error·when·you·try·to·readlink·a·file\n····if·(code·===·'EINVAL'·||·code·===·'UNKNOWN')·{\n······//·exists,·but·not·a·symlink,·we·don't·know·WHAT·it·is,·so·remove\n······//·all·IFMT·bits.\n······ter·&=·IFMT_UNKNOWN\n····}\n····this.#type·=·ter\n····//·windows·just·gets·ENOENT·in·this·case.··We·do·cover·the·case,\n····//·just·disabled·because·it's·impossible·on·Windows·CI\n····/*·c8·ignore·start·*/\n····if·(code·===·'ENOTDIR'·&&·this.parent)·{\n······this.parent.#markENOTDIR()\n····}\n····/*·c8·ignore·stop·*/\n··}\n\n··#readdirAddChild(e:·Dirent,·c:·Children)·{\n····return·(\n······this.#readdirMaybePromoteChild(e,·c)·||\n······this.#readdirAddNewChild(e,·c)\n····)\n··}\n\n··#readdirAddNewChild(e:·Dirent,·c:·Children):·PathBase·{\n····//·alloc·new·entry·at·head,·so·it's·never·provisional\n····const·type·=·entToType(e)\n····const·child·=·this.newChild(e.name,·type,·{·parent:·this·})\n····const·ifmt·=·child.#type·&·IFMT\n····if·(ifmt·!==·IFDIR·&&·ifmt·!==·IFLNK·&&·ifmt·!==·UNKNOWN)·{\n······child.#type·|=·ENOTDIR\n····}\n····c.unshift(child)\n····c.provisional++\n····return·child\n··}\n\n··#readdirMaybePromoteChild(e:·Dirent,·c:·Children):·PathBase·|·undefined·{\n····for·(let·p·=·c.provisional;·p·<·c.length;·p++)·{\n······const·pchild·=·c[p]\n······const·name·=\n········this.nocase·?·normalizeNocase(e.name)·:·normalize(e.name)\n······if·(name·!==·pchild!.#matchName)·{\n········continue\n······}\n\n······return·this.#readdirPromoteChild(e,·pchild!,·p,·c)\n····}\n··}\n\n··#readdirPromoteChild(\n····e:·Dirent,\n····p:·PathBase,\n····index:·number,\n····c:·Children,\n··):·PathBase·{\n····const·v·=·p.name\n····//·retain·any·other·flags,·but·set·ifmt·from·dirent\n····p.#type·=·(p.#type·&·IFMT_UNKNOWN)·|·entToType(e)\n····//·case·sensitivity·fixing·when·we·learn·the·true·name.\n····if·(v·!==·e.name)·p.name·=·e.name\n\n····//·just·advance·provisional·index·(potentially·off·the·list),\n····//·otherwise·we·have·to·splice/pop·it·out·and·re-insert·at·head\n····if·(index·!==·c.provisional)·{\n······if·(index·===·c.length·-·1)·c.pop()\n······else·c.splice(index,·1)\n······c.unshift(p)\n····}\n····c.provisional++\n····return·p\n··}\n\n··/**\n···*·Call·lstat()·on·this·Path,·and·update·all·known·information·that·can·be\n···*·determined.\n···*\n···*·Note·that·unlike·`fs.lstat()`,·the·returned·value·does·not·contain·some\n···*·information,·such·as·`mode`,·`dev`,·`nlink`,·and·`ino`.··If·that\n···*·information·is·required,·you·will·need·to·call·`fs.lstat`·yourself.\n···*\n···*·If·the·Path·refers·to·a·nonexistent·file,·or·if·the·lstat·call·fails·for\n···*·any·reason,·`undefined`·is·returned.··Otherwise·the·updated·Path·object·is\n···*·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*/\n··async·lstat():·Promise<PathBase·|·undefined>·{\n····if·((this.#type·&·ENOENT)·===·0)·{\n······try·{\n········this.#applyStat(await·this.#fs.promises.lstat(this.fullpath()))\n········return·this\n······}·catch·(er)·{\n········this.#lstatFail((er·as·NodeJS.ErrnoException).code)\n······}\n····}\n··}\n\n··/**\n···*·synchronous·{@link·PathBase.lstat}\n···*/\n··lstatSync():·PathBase·|·undefined·{\n····if·((this.#type·&·ENOENT)·===·0)·{\n······try·{\n········this.#applyStat(this.#fs.lstatSync(this.fullpath()))\n········return·this\n······}·catch·(er)·{\n········this.#lstatFail((er·as·NodeJS.ErrnoException).code)\n······}\n····}\n··}\n\n··#applyStat(st:·Stats)·{\n····const·{\n······atime,\n······atimeMs,\n······birthtime,\n······birthtimeMs,\n······blksize,\n······blocks,\n······ctime,\n······ctimeMs,\n······dev,\n······gid,\n······ino,\n······mode,\n······mtime,\n······mtimeMs,\n······nlink,\n······rdev,\n······size,\n······uid,\n····}·=·st\n····this.#atime·=·atime\n····this.#atimeMs·=·atimeMs\n····this.#birthtime·=·birthtime\n····this.#birthtimeMs·=·birthtimeMs\n····this.#blksize·=·blksize\n····this.#blocks·=·blocks\n····this.#ctime·=·ctime\n····this.#ctimeMs·=·ctimeMs\n····this.#dev·=·dev\n····this.#gid·=·gid\n····this.#ino·=·ino\n····this.#mode·=·mode\n····this.#mtime·=·mtime\n····this.#mtimeMs·=·mtimeMs\n····this.#nlink·=·nlink\n····this.#rdev·=·rdev\n····this.#size·=·size\n····this.#uid·=·uid\n····const·ifmt·=·entToType(st)\n····//·retain·any·other·flags,·but·set·the·ifmt\n····this.#type·=·(this.#type·&·IFMT_UNKNOWN)·|·ifmt·|·LSTAT_CALLED\n····if·(ifmt·!==·UNKNOWN·&&·ifmt·!==·IFDIR·&&·ifmt·!==·IFLNK)·{\n······this.#type·|=·ENOTDIR\n····}\n··}\n\n··#onReaddirCB:·((\n····er:·NodeJS.ErrnoException·|·null,\n····entries:·Path[],\n··)·=>·any)[]·=·[]\n··#readdirCBInFlight:·boolean·=·false\n··#callOnReaddirCB(children:·Path[])·{\n····this.#readdirCBInFlight·=·false\n····const·cbs·=·this.#onReaddirCB.slice()\n····this.#onReaddirCB.length·=·0\n····cbs.forEach(cb·=>·cb(null,·children))\n··}\n\n··/**\n···*·Standard·node-style·callback·interface·to·get·list·of·directory·entries.\n···*\n···*·If·the·Path·cannot·or·does·not·contain·any·children,·then·an·empty·array\n···*·is·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*\n···*·@param·cb·The·callback·called·with·(er,·entries).··Note·that·the·`er`\n···*·param·is·somewhat·extraneous,·as·all·readdir()·errors·are·handled·and\n···*·simply·result·in·an·empty·set·of·entries·being·returned.\n···*·@param·allowZalgo·Boolean·indicating·that·immediately·known·results·should\n···*·*not*·be·deferred·with·`queueMicrotask`.·Defaults·to·`false`.·Release\n···*·zalgo·at·your·peril,·the·dark·pony·lord·is·devious·and·unforgiving.\n···*/\n··readdirCB(\n····cb:·(er:·NodeJS.ErrnoException·|·null,·entries:·PathBase[])·=>·any,\n····allowZalgo:·boolean·=·false,\n··):·void·{\n····if·(!this.canReaddir())·{\n······if·(allowZalgo)·cb(null,·[])\n······else·queueMicrotask(()·=>·cb(null,·[]))\n······return\n····}\n\n····const·children·=·this.children()\n····if·(this.calledReaddir())·{\n······const·c·=·children.slice(0,·children.provisional)\n······if·(allowZalgo)·cb(null,·c)\n······else·queueMicrotask(()·=>·cb(null,·c))\n······return\n····}\n\n····//·don't·have·to·worry·about·zalgo·at·this·point.\n····this.#onReaddirCB.push(cb)\n····if·(this.#readdirCBInFlight)·{\n······return\n····}\n····this.#readdirCBInFlight·=·true\n\n····//·else·read·the·directory,·fill·up·children\n····//·de-provisionalize·any·provisional·children.\n····const·fullpath·=·this.fullpath()\n····this.#fs.readdir(fullpath,·{·withFileTypes:·true·},·(er,·entries)·=>·{\n······if·(er)·{\n········this.#readdirFail((er·as·NodeJS.ErrnoException).code)\n········children.provisional·=·0\n······}·else·{\n········//·if·we·didn't·get·an·error,·we·always·get·entries.\n········//@ts-ignore\n········for·(const·e·of·entries)·{\n··········this.#readdirAddChild(e,·children)\n········}\n········this.#readdirSuccess(children)\n······}\n······this.#callOnReaddirCB(children.slice(0,·children.provisional))\n······return\n····})\n··}\n\n··#asyncReaddirInFlight?:·Promise<void>\n\n··/**\n···*·Return·an·array·of·known·child·entries.\n···*\n···*·If·the·Path·cannot·or·does·not·contain·any·children,·then·an·empty·array\n···*·is·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*/\n··async·readdir():·Promise<PathBase[]>·{\n····if·(!this.canReaddir())·{\n······return·[]\n····}\n\n····const·children·=·this.children()\n····if·(this.calledReaddir())·{\n······return·children.slice(0,·children.provisional)\n····}\n\n····//·else·read·the·directory,·fill·up·children\n····//·de-provisionalize·any·provisional·children.\n····const·fullpath·=·this.fullpath()\n····if·(this.#asyncReaddirInFlight)·{\n······await·this.#asyncReaddirInFlight\n····}·else·{\n······/*·c8·ignore·start·*/\n······let·resolve:·()·=>·void·=·()·=>·{}\n······/*·c8·ignore·stop·*/\n······this.#asyncReaddirInFlight·=·new·Promise<void>(\n········res·=>·(resolve·=·res),\n······)\n······try·{\n········for·(const·e·of·await·this.#fs.promises.readdir(fullpath,·{\n··········withFileTypes:·true,\n········}))·{\n··········this.#readdirAddChild(e,·children)\n········}\n········this.#readdirSuccess(children)\n······}·catch·(er)·{\n········this.#readdirFail((er·as·NodeJS.ErrnoException).code)\n········children.provisional·=·0\n······}\n······this.#asyncReaddirInFlight·=·undefined\n······resolve()\n····}\n····return·children.slice(0,·children.provisional)\n··}\n\n··/**\n···*·synchronous·{@link·PathBase.readdir}\n···*/\n··readdirSync():·PathBase[]·{\n····if·(!this.canReaddir())·{\n······return·[]\n····}\n\n····const·children·=·this.children()\n····if·(this.calledReaddir())·{\n······return·children.slice(0,·children.provisional)\n····}\n\n····//·else·read·the·directory,·fill·up·children\n····//·de-provisionalize·any·provisional·children.\n····const·fullpath·=·this.fullpath()\n····try·{\n······for·(const·e·of·this.#fs.readdirSync(fullpath,·{\n········withFileTypes:·true,\n······}))·{\n········this.#readdirAddChild(e,·children)\n······}\n······this.#readdirSuccess(children)\n····}·catch·(er)·{\n······this.#readdirFail((er·as·NodeJS.ErrnoException).code)\n······children.provisional·=·0\n····}\n····return·children.slice(0,·children.provisional)\n··}\n\n··canReaddir()·{\n····if·(this.#type·&·ENOCHILD)·return·false\n····const·ifmt·=·IFMT·&·this.#type\n····//·we·always·set·ENOTDIR·when·setting·IFMT,·so·should·be·impossible\n····/*·c8·ignore·start·*/\n····if·(!(ifmt·===·UNKNOWN·||·ifmt·===·IFDIR·||·ifmt·===·IFLNK))·{\n······return·false\n····}\n····/*·c8·ignore·stop·*/\n····return·true\n··}\n\n··shouldWalk(\n····dirs:·Set<PathBase·|·undefined>,\n····walkFilter?:·(e:·PathBase)·=>·boolean,\n··):·boolean·{\n····return·(\n······(this.#type·&·IFDIR)·===·IFDIR·&&\n······!(this.#type·&·ENOCHILD)·&&\n······!dirs.has(this)·&&\n······(!walkFilter·||·walkFilter(this))\n····)\n··}\n\n··/**\n···*·Return·the·Path·object·corresponding·to·path·as·resolved\n···*·by·realpath(3).\n···*\n···*·If·the·realpath·call·fails·for·any·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*·On·success,·returns·a·Path·object.\n···*/\n··async·realpath():·Promise<PathBase·|·undefined>·{\n····if·(this.#realpath)·return·this.#realpath\n····if·((ENOREALPATH·|·ENOREADLINK·|·ENOENT)·&·this.#type)·return·undefined\n····try·{\n······const·rp·=·await·this.#fs.promises.realpath(this.fullpath())\n······return·(this.#realpath·=·this.resolve(rp))\n····}·catch·(_)·{\n······this.#markENOREALPATH()\n····}\n··}\n\n··/**\n···*·Synchronous·{@link·realpath}\n···*/\n··realpathSync():·PathBase·|·undefined·{\n····if·(this.#realpath)·return·this.#realpath\n····if·((ENOREALPATH·|·ENOREADLINK·|·ENOENT)·&·this.#type)·return·undefined\n····try·{\n······const·rp·=·this.#fs.realpathSync(this.fullpath())\n······return·(this.#realpath·=·this.resolve(rp))\n····}·catch·(_)·{\n······this.#markENOREALPATH()\n····}\n··}\n\n··/**\n···*·Internal·method·to·mark·this·Path·object·as·the·scurry·cwd,\n···*·called·by·{@link·PathScurry#chdir}\n···*\n···*·@internal\n···*/\n··[setAsCwd](oldCwd:·PathBase):·void·{\n····if·(oldCwd·===·this)·return\n····oldCwd.isCWD·=·false\n····this.isCWD·=·true\n\n····const·changed·=·new·Set<PathBase>([])\n····let·rp·=·[]\n····let·p:·PathBase·=·this\n····while·(p·&&·p.parent)·{\n······changed.add(p)\n······p.#relative·=·rp.join(this.sep)\n······p.#relativePosix·=·rp.join('/')\n······p·=·p.parent\n······rp.push('..')\n····}\n····//·now·un-memoize·parents·of·old·cwd\n····p·=·oldCwd\n····while·(p·&&·p.parent·&&·!changed.has(p))·{\n······p.#relative·=·undefined\n······p.#relativePosix·=·undefined\n······p·=·p.parent\n····}\n··}\n}\n\n/**\n·*·Path·class·used·on·win32·systems\n·*\n·*·Uses·`'\\\\'`·as·the·path·separator·for·returned·paths,·either·`'\\\\'`·or·`'/'`\n·*·as·the·path·separator·for·parsing·paths.\n·*/\nexport·class·PathWin32·extends·PathBase·{\n··/**\n···*·Separator·for·generating·path·strings.\n···*/\n··sep:·'\\\\'·=·'\\\\'\n··/**\n···*·Separator·for·parsing·path·strings.\n···*/\n··splitSep:·RegExp·=·eitherSep\n\n··/**\n···*·Do·not·create·new·Path·objects·directly.··They·should·always·be·accessed\n···*·via·the·PathScurry·class·or·other·methods·on·the·Path·class.\n···*\n···*·@internal\n···*/\n··constructor(\n····name:·string,\n····type:·number·=·UNKNOWN,\n····root:·PathBase·|·undefined,\n····roots:·{·[k:·string]:·PathBase·},\n····nocase:·boolean,\n····children:·ChildrenCache,\n····opts:·PathOpts,\n··)·{\n····super(name,·type,·root,·roots,·nocase,·children,·opts)\n··}\n\n··/**\n···*·@internal\n···*/\n··newChild(name:·string,·type:·number·=·UNKNOWN,·opts:·PathOpts·=·{})·{\n····return·new·PathWin32(\n······name,\n······type,\n······this.root,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······opts,\n····)\n··}\n\n··/**\n···*·@internal\n···*/\n··getRootString(path:·string):·string·{\n····return·win32.parse(path).root\n··}\n\n··/**\n···*·@internal\n···*/\n··getRoot(rootPath:·string):·PathBase·{\n····rootPath·=·uncToDrive(rootPath.toUpperCase())\n····if·(rootPath·===·this.root.name)·{\n······return·this.root\n····}\n····//·ok,·not·that·one,·check·if·it·matches·another·we·know·about\n····for·(const·[compare,·root]·of·Object.entries(this.roots))·{\n······if·(this.sameRoot(rootPath,·compare))·{\n········return·(this.roots[rootPath]·=·root)\n······}\n····}\n····//·otherwise,·have·to·create·a·new·one.\n····return·(this.roots[rootPath]·=·new·PathScurryWin32(\n······rootPath,\n······this,\n····).root)\n··}\n\n··/**\n···*·@internal\n···*/\n··sameRoot(rootPath:·string,·compare:·string·=·this.root.name):·boolean·{\n····//·windows·can·(rarely)·have·case-sensitive·filesystem,·but\n····//·UNC·and·drive·letters·are·always·case-insensitive,·and·canonically\n····//·represented·uppercase.\n····rootPath·=·rootPath\n······.toUpperCase()\n······.replace(/\\//g,·'\\\\')\n······.replace(uncDriveRegexp,·'$1\\\\')\n····return·rootPath·===·compare\n··}\n}\n\n/**\n·*·Path·class·used·on·all·posix·systems.\n·*\n·*·Uses·`'/'`·as·the·path·separator.\n·*/\nexport·class·PathPosix·extends·PathBase·{\n··/**\n···*·separator·for·parsing·path·strings\n···*/\n··splitSep:·'/'·=·'/'\n··/**\n···*·separator·for·generating·path·strings\n···*/\n··sep:·'/'·=·'/'\n\n··/**\n···*·Do·not·create·new·Path·objects·directly.··They·should·always·be·accessed\n···*·via·the·PathScurry·class·or·other·methods·on·the·Path·class.\n···*\n···*·@internal\n···*/\n··constructor(\n····name:·string,\n····type:·number·=·UNKNOWN,\n····root:·PathBase·|·undefined,\n····roots:·{·[k:·string]:·PathBase·},\n····nocase:·boolean,\n····children:·ChildrenCache,\n····opts:·PathOpts,\n··)·{\n····super(name,·type,·root,·roots,·nocase,·children,·opts)\n··}\n\n··/**\n···*·@internal\n···*/\n··getRootString(path:·string):·string·{\n····return·path.startsWith('/')·?·'/'·:·''\n··}\n\n··/**\n···*·@internal\n···*/\n··getRoot(_rootPath:·string):·PathBase·{\n····return·this.root\n··}\n\n··/**\n···*·@internal\n···*/\n··newChild(name:·string,·type:·number·=·UNKNOWN,·opts:·PathOpts·=·{})·{\n····return·new·PathPosix(\n······name,\n······type,\n······this.root,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······opts,\n····)\n··}\n}\n\n/**\n·*·Options·that·may·be·provided·to·the·PathScurry·constructor\n·*/\nexport·interface·PathScurryOpts·{\n··/**\n···*·perform·case-insensitive·path·matching.·Default·based·on·platform\n···*·subclass.\n···*/\n··nocase?:·boolean\n··/**\n···*·Number·of·Path·entries·to·keep·in·the·cache·of·Path·child·references.\n···*\n···*·Setting·this·higher·than·65536·will·dramatically·increase·the·data\n···*·consumption·and·construction·time·overhead·of·each·PathScurry.\n···*\n···*·Setting·this·value·to·256·or·lower·will·significantly·reduce·the·data\n···*·consumption·and·construction·time·overhead,·but·may·also·reduce·resolve()\n···*·and·readdir()·performance·on·large·filesystems.\n···*\n···*·Default·`16384`.\n···*/\n··childrenCacheSize?:·number\n··/**\n···*·An·object·that·overrides·the·built-in·functions·from·the·fs·and\n···*·fs/promises·modules.\n···*\n···*·See·{@link·FSOption}\n···*/\n··fs?:·FSOption\n}\n\n/**\n·*·The·base·class·for·all·PathScurry·classes,·providing·the·interface·for·path\n·*·resolution·and·filesystem·operations.\n·*\n·*·Typically,·you·should·*not*·instantiate·this·class·directly,·but·rather·one\n·*·of·the·platform-specific·classes,·or·the·exported·{@link·PathScurry}·which\n·*·defaults·to·the·current·platform.\n·*/\nexport·abstract·class·PathScurryBase·{\n··/**\n···*·The·root·Path·entry·for·the·current·working·directory·of·this·Scurry\n···*/\n··root:·PathBase\n··/**\n···*·The·string·path·for·the·root·of·this·Scurry's·current·working·directory\n···*/\n··rootPath:·string\n··/**\n···*·A·collection·of·all·roots·encountered,·referenced·by·rootPath\n···*/\n··roots:·{·[k:·string]:·PathBase·}\n··/**\n···*·The·Path·entry·corresponding·to·this·PathScurry's·current·working·directory.\n···*/\n··cwd:·PathBase\n··#resolveCache:·ResolveCache\n··#resolvePosixCache:·ResolveCache\n··#children:·ChildrenCache\n··/**\n···*·Perform·path·comparisons·case-insensitively.\n···*\n···*·Defaults·true·on·Darwin·and·Windows·systems,·false·elsewhere.\n···*/\n··nocase:·boolean\n\n··/**\n···*·The·path·separator·used·for·parsing·paths\n···*\n···*·`'/'`·on·Posix·systems,·either·`'/'`·or·`'\\\\'`·on·Windows\n···*/\n··abstract·sep:·string·|·RegExp\n\n··#fs:·FSValue\n\n··/**\n···*·This·class·should·not·be·instantiated·directly.\n···*\n···*·Use·PathScurryWin32,·PathScurryDarwin,·PathScurryPosix,·or·PathScurry\n···*\n···*·@internal\n···*/\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····pathImpl:·typeof·win32·|·typeof·posix,\n····sep:·string·|·RegExp,\n····{\n······nocase,\n······childrenCacheSize·=·16·*·1024,\n······fs·=·defaultFS,\n····}:·PathScurryOpts·=·{},\n··)·{\n····this.#fs·=·fsFromOption(fs)\n····if·(cwd·instanceof·URL·||·cwd.startsWith('file://'))·{\n······cwd·=·fileURLToPath(cwd)\n····}\n····//·resolve·and·split·root,·and·then·add·to·the·store.\n····//·this·is·the·only·time·we·call·path.resolve()\n····const·cwdPath·=·pathImpl.resolve(cwd)\n····this.roots·=·Object.create(null)\n····this.rootPath·=·this.parseRootPath(cwdPath)\n····this.#resolveCache·=·new·ResolveCache()\n····this.#resolvePosixCache·=·new·ResolveCache()\n····this.#children·=·new·ChildrenCache(childrenCacheSize)\n\n····const·split·=·cwdPath.substring(this.rootPath.length).split(sep)\n····//·resolve('/')·leaves·'',·splits·to·[''],·we·don't·want·that.\n····if·(split.length·===·1·&&·!split[0])·{\n······split.pop()\n····}\n····/*·c8·ignore·start·*/\n····if·(nocase·===·undefined)·{\n······throw·new·TypeError(\n········'must·provide·nocase·setting·to·PathScurryBase·ctor',\n······)\n····}\n····/*·c8·ignore·stop·*/\n····this.nocase·=·nocase\n····this.root·=·this.newRoot(this.#fs)\n····this.roots[this.rootPath]·=·this.root\n····let·prev:·PathBase·=·this.root\n····let·len·=·split.length·-·1\n····const·joinSep·=·pathImpl.sep\n····let·abs·=·this.rootPath\n····let·sawFirst·=·false\n····for·(const·part·of·split)·{\n······const·l·=·len--\n······prev·=·prev.child(part,·{\n········relative:·new·Array(l).fill('..').join(joinSep),\n········relativePosix:·new·Array(l).fill('..').join('/'),\n········fullpath:·(abs·+=·(sawFirst·?·''·:·joinSep)·+·part),\n······})\n······sawFirst·=·true\n····}\n····this.cwd·=·prev\n··}\n\n··/**\n···*·Get·the·depth·of·a·provided·path,·string,·or·the·cwd\n···*/\n··depth(path:·Path·|·string·=·this.cwd):·number·{\n····if·(typeof·path·===·'string')·{\n······path·=·this.cwd.resolve(path)\n····}\n····return·path.depth()\n··}\n\n··/**\n···*·Parse·the·root·portion·of·a·path·string\n···*\n···*·@internal\n···*/\n··abstract·parseRootPath(dir:·string):·string\n··/**\n···*·create·a·new·Path·to·use·as·root·during·construction.\n···*\n···*·@internal\n···*/\n··abstract·newRoot(fs:·FSValue):·PathBase\n··/**\n···*·Determine·whether·a·given·path·string·is·absolute\n···*/\n··abstract·isAbsolute(p:·string):·boolean\n\n··/**\n···*·Return·the·cache·of·child·entries.··Exposed·so·subclasses·can·create\n···*·child·Path·objects·in·a·platform-specific·way.\n···*\n···*·@internal\n···*/\n··childrenCache()·{\n····return·this.#children\n··}\n\n··/**\n···*·Resolve·one·or·more·path·strings·to·a·resolved·string\n···*\n···*·Same·interface·as·require('path').resolve.\n···*\n···*·Much·faster·than·path.resolve()·when·called·multiple·times·for·the·same\n···*·path,·because·the·resolved·Path·objects·are·cached.··Much·slower\n···*·otherwise.\n···*/\n··resolve(...paths:·string[]):·string·{\n····//·first·figure·out·the·minimum·number·of·paths·we·have·to·test\n····//·we·always·start·at·cwd,·but·any·absolutes·will·bump·the·start\n····let·r·=·''\n····for·(let·i·=·paths.length·-·1;·i·>=·0;·i--)·{\n······const·p·=·paths[i]\n······if·(!p·||·p·===·'.')·continue\n······r·=·r·?·`${p}/${r}`·:·p\n······if·(this.isAbsolute(p))·{\n········break\n······}\n····}\n····const·cached·=·this.#resolveCache.get(r)\n····if·(cached·!==·undefined)·{\n······return·cached\n····}\n····const·result·=·this.cwd.resolve(r).fullpath()\n····this.#resolveCache.set(r,·result)\n····return·result\n··}\n\n··/**\n···*·Resolve·one·or·more·path·strings·to·a·resolved·string,·returning\n···*·the·posix·path.··Identical·to·.resolve()·on·posix·systems,·but·on\n···*·windows·will·return·a·forward-slash·separated·UNC·path.\n···*\n···*·Same·interface·as·require('path').resolve.\n···*\n···*·Much·faster·than·path.resolve()·when·called·multiple·times·for·the·same\n···*·path,·because·the·resolved·Path·objects·are·cached.··Much·slower\n···*·otherwise.\n···*/\n··resolvePosix(...paths:·string[]):·string·{\n····//·first·figure·out·the·minimum·number·of·paths·we·have·to·test\n····//·we·always·start·at·cwd,·but·any·absolutes·will·bump·the·start\n····let·r·=·''\n····for·(let·i·=·paths.length·-·1;·i·>=·0;·i--)·{\n······const·p·=·paths[i]\n······if·(!p·||·p·===·'.')·continue\n······r·=·r·?·`${p}/${r}`·:·p\n······if·(this.isAbsolute(p))·{\n········break\n······}\n····}\n····const·cached·=·this.#resolvePosixCache.get(r)\n····if·(cached·!==·undefined)·{\n······return·cached\n····}\n····const·result·=·this.cwd.resolve(r).fullpathPosix()\n····this.#resolvePosixCache.set(r,·result)\n····return·result\n··}\n\n··/**\n···*·find·the·relative·path·from·the·cwd·to·the·supplied·path·string·or·entry\n···*/\n··relative(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.relative()\n··}\n\n··/**\n···*·find·the·relative·path·from·the·cwd·to·the·supplied·path·string·or\n···*·entry,·using·/·as·the·path·delimiter,·even·on·Windows.\n···*/\n··relativePosix(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.relativePosix()\n··}\n\n··/**\n···*·Return·the·basename·for·the·provided·string·or·Path·object\n···*/\n··basename(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.name\n··}\n\n··/**\n···*·Return·the·dirname·for·the·provided·string·or·Path·object\n···*/\n··dirname(entry:·PathBase·|·string·=·this.cwd):·string·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·(entry.parent·||·entry).fullpath()\n··}\n\n··/**\n···*·Return·an·array·of·known·child·entries.\n···*\n···*·First·argument·may·be·either·a·string,·or·a·Path·object.\n···*\n···*·If·the·Path·cannot·or·does·not·contain·any·children,·then·an·empty·array\n···*·is·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*\n···*·Unlike·`fs.readdir()`,·the·`withFileTypes`·option·defaults·to·`true`.·Set\n···*·`{·withFileTypes:·false·}`·to·return·strings.\n···*/\n\n··readdir():·Promise<PathBase[]>\n··readdir(opts:·{·withFileTypes:·true·}):·Promise<PathBase[]>\n··readdir(opts:·{·withFileTypes:·false·}):·Promise<string[]>\n··readdir(opts:·{·withFileTypes:·boolean·}):·Promise<PathBase[]·|·string[]>\n··readdir(entry:·PathBase·|·string):·Promise<PathBase[]>\n··readdir(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·true·},\n··):·Promise<PathBase[]>\n··readdir(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·false·},\n··):·Promise<string[]>\n··readdir(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·boolean·},\n··):·Promise<PathBase[]·|·string[]>\n··async·readdir(\n····entry:·PathBase·|·string·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····opts:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·true,\n····},\n··):·Promise<PathBase[]·|·string[]>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{·withFileTypes·}·=·opts\n····if·(!entry.canReaddir())·{\n······return·[]\n····}·else·{\n······const·p·=·await·entry.readdir()\n······return·withFileTypes·?·p·:·p.map(e·=>·e.name)\n····}\n··}\n\n··/**\n···*·synchronous·{@link·PathScurryBase.readdir}\n···*/\n··readdirSync():·PathBase[]\n··readdirSync(opts:·{·withFileTypes:·true·}):·PathBase[]\n··readdirSync(opts:·{·withFileTypes:·false·}):·string[]\n··readdirSync(opts:·{·withFileTypes:·boolean·}):·PathBase[]·|·string[]\n··readdirSync(entry:·PathBase·|·string):·PathBase[]\n··readdirSync(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·true·},\n··):·PathBase[]\n··readdirSync(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·false·},\n··):·string[]\n··readdirSync(\n····entry:·PathBase·|·string,\n····opts:·{·withFileTypes:·boolean·},\n··):·PathBase[]·|·string[]\n··readdirSync(\n····entry:·PathBase·|·string·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····opts:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·true,\n····},\n··):·PathBase[]·|·string[]·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{·withFileTypes·=·true·}·=·opts\n····if·(!entry.canReaddir())·{\n······return·[]\n····}·else·if·(withFileTypes)·{\n······return·entry.readdirSync()\n····}·else·{\n······return·entry.readdirSync().map(e·=>·e.name)\n····}\n··}\n\n··/**\n···*·Call·lstat()·on·the·string·or·Path·object,·and·update·all·known\n···*·information·that·can·be·determined.\n···*\n···*·Note·that·unlike·`fs.lstat()`,·the·returned·value·does·not·contain·some\n···*·information,·such·as·`mode`,·`dev`,·`nlink`,·and·`ino`.··If·that\n···*·information·is·required,·you·will·need·to·call·`fs.lstat`·yourself.\n···*\n···*·If·the·Path·refers·to·a·nonexistent·file,·or·if·the·lstat·call·fails·for\n···*·any·reason,·`undefined`·is·returned.··Otherwise·the·updated·Path·object·is\n···*·returned.\n···*\n···*·Results·are·cached,·and·thus·may·be·out·of·date·if·the·filesystem·is\n···*·mutated.\n···*/\n··async·lstat(\n····entry:·string·|·PathBase·=·this.cwd,\n··):·Promise<PathBase·|·undefined>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.lstat()\n··}\n\n··/**\n···*·synchronous·{@link·PathScurryBase.lstat}\n···*/\n··lstatSync(entry:·string·|·PathBase·=·this.cwd):·PathBase·|·undefined·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}\n····return·entry.lstatSync()\n··}\n\n··/**\n···*·Return·the·Path·object·or·string·path·corresponding·to·the·target·of·a\n···*·symbolic·link.\n···*\n···*·If·the·path·is·not·a·symbolic·link,·or·if·the·readlink·call·fails·for·any\n···*·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*\n···*·`{withFileTypes}`·option·defaults·to·`false`.\n···*\n···*·On·success,·returns·a·Path·object·if·`withFileTypes`·option·is·true,\n···*·otherwise·a·string.\n···*/\n··readlink():·Promise<string·|·undefined>\n··readlink(opt:·{·withFileTypes:·false·}):·Promise<string·|·undefined>\n··readlink(opt:·{·withFileTypes:·true·}):·Promise<PathBase·|·undefined>\n··readlink(opt:·{\n····withFileTypes:·boolean\n··}):·Promise<PathBase·|·string·|·undefined>\n··readlink(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·Promise<string·|·undefined>\n··readlink(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·Promise<PathBase·|·undefined>\n··readlink(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·Promise<string·|·PathBase·|·undefined>\n··async·readlink(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·Promise<string·|·PathBase·|·undefined>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·await·entry.readlink()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··/**\n···*·synchronous·{@link·PathScurryBase.readlink}\n···*/\n··readlinkSync():·string·|·undefined\n··readlinkSync(opt:·{·withFileTypes:·false·}):·string·|·undefined\n··readlinkSync(opt:·{·withFileTypes:·true·}):·PathBase·|·undefined\n··readlinkSync(opt:·{\n····withFileTypes:·boolean\n··}):·PathBase·|·string·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·string·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·PathBase·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·string·|·PathBase·|·undefined\n··readlinkSync(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·string·|·PathBase·|·undefined·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·entry.readlinkSync()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··/**\n···*·Return·the·Path·object·or·string·path·corresponding·to·path·as·resolved\n···*·by·realpath(3).\n···*\n···*·If·the·realpath·call·fails·for·any·reason,·`undefined`·is·returned.\n···*\n···*·Result·is·cached,·and·thus·may·be·outdated·if·the·filesystem·is·mutated.\n···*\n···*·`{withFileTypes}`·option·defaults·to·`false`.\n···*\n···*·On·success,·returns·a·Path·object·if·`withFileTypes`·option·is·true,\n···*·otherwise·a·string.\n···*/\n··realpath():·Promise<string·|·undefined>\n··realpath(opt:·{·withFileTypes:·false·}):·Promise<string·|·undefined>\n··realpath(opt:·{·withFileTypes:·true·}):·Promise<PathBase·|·undefined>\n··realpath(opt:·{\n····withFileTypes:·boolean\n··}):·Promise<PathBase·|·string·|·undefined>\n··realpath(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·Promise<string·|·undefined>\n··realpath(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·Promise<PathBase·|·undefined>\n··realpath(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·Promise<string·|·PathBase·|·undefined>\n··async·realpath(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·Promise<string·|·PathBase·|·undefined>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·await·entry.realpath()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··realpathSync():·string·|·undefined\n··realpathSync(opt:·{·withFileTypes:·false·}):·string·|·undefined\n··realpathSync(opt:·{·withFileTypes:·true·}):·PathBase·|·undefined\n··realpathSync(opt:·{\n····withFileTypes:·boolean\n··}):·PathBase·|·string·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase,\n····opt?:·{·withFileTypes:·false·},\n··):·string·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·true·},\n··):·PathBase·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase,\n····opt:·{·withFileTypes:·boolean·},\n··):·string·|·PathBase·|·undefined\n··realpathSync(\n····entry:·string·|·PathBase·|·{·withFileTypes:·boolean·}·=·this.cwd,\n····{·withFileTypes·}:·{·withFileTypes:·boolean·}·=·{\n······withFileTypes:·false,\n····},\n··):·string·|·PathBase·|·undefined·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······withFileTypes·=·entry.withFileTypes\n······entry·=·this.cwd\n····}\n····const·e·=·entry.realpathSync()\n····return·withFileTypes·?·e·:·e?.fullpath()\n··}\n\n··/**\n···*·Asynchronously·walk·the·directory·tree,·returning·an·array·of\n···*·all·path·strings·or·Path·objects·found.\n···*\n···*·Note·that·this·will·be·extremely·memory-hungry·on·large·filesystems.\n···*·In·such·cases,·it·may·be·better·to·use·the·stream·or·async·iterator\n···*·walk·implementation.\n···*/\n··walk():·Promise<PathBase[]>\n··walk(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Promise<PathBase[]>\n··walk(opts:·WalkOptionsWithFileTypesFalse):·Promise<string[]>\n··walk(opts:·WalkOptions):·Promise<string[]·|·PathBase[]>\n··walk(entry:·string·|·PathBase):·Promise<PathBase[]>\n··walk(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Promise<PathBase[]>\n··walk(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Promise<string[]>\n··walk(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Promise<PathBase[]·|·string[]>\n··async·walk(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Promise<PathBase[]·|·string[]>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results:·(string·|·PathBase)[]·=·[]\n····if·(!filter·||·filter(entry))·{\n······results.push(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·dirs·=·new·Set<PathBase>()\n····const·walk·=·(\n······dir:·PathBase,\n······cb:·(er?:·NodeJS.ErrnoException)·=>·void,\n····)·=>·{\n······dirs.add(dir)\n······dir.readdirCB((er,·entries)·=>·{\n········/*·c8·ignore·start·*/\n········if·(er)·{\n··········return·cb(er)\n········}\n········/*·c8·ignore·stop·*/\n········let·len·=·entries.length\n········if·(!len)·return·cb()\n········const·next·=·()·=>·{\n··········if·(--len·===·0)·{\n············cb()\n··········}\n········}\n········for·(const·e·of·entries)·{\n··········if·(!filter·||·filter(e))·{\n············results.push(withFileTypes·?·e·:·e.fullpath())\n··········}\n··········if·(follow·&&·e.isSymbolicLink())·{\n············e.realpath()\n··············.then(r·=>·(r?.isUnknown()·?·r.lstat()·:·r))\n··············.then(r·=>\n················r?.shouldWalk(dirs,·walkFilter)·?·walk(r,·next)·:·next(),\n··············)\n··········}·else·{\n············if·(e.shouldWalk(dirs,·walkFilter))·{\n··············walk(e,·next)\n············}·else·{\n··············next()\n············}\n··········}\n········}\n······},·true)·//·zalgooooooo\n····}\n\n····const·start·=·entry\n····return·new·Promise<PathBase[]·|·string[]>((res,·rej)·=>·{\n······walk(start,·er·=>·{\n········/*·c8·ignore·start·*/\n········if·(er)·return·rej(er)\n········/*·c8·ignore·stop·*/\n········res(results·as·PathBase[]·|·string[])\n······})\n····})\n··}\n\n··/**\n···*·Synchronously·walk·the·directory·tree,·returning·an·array·of\n···*·all·path·strings·or·Path·objects·found.\n···*\n···*·Note·that·this·will·be·extremely·memory-hungry·on·large·filesystems.\n···*·In·such·cases,·it·may·be·better·to·use·the·stream·or·async·iterator\n···*·walk·implementation.\n···*/\n··walkSync():·PathBase[]\n··walkSync(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·PathBase[]\n··walkSync(opts:·WalkOptionsWithFileTypesFalse):·string[]\n··walkSync(opts:·WalkOptions):·string[]·|·PathBase[]\n··walkSync(entry:·string·|·PathBase):·PathBase[]\n··walkSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesUnset·|·WalkOptionsWithFileTypesTrue,\n··):·PathBase[]\n··walkSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·string[]\n··walkSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·PathBase[]·|·string[]\n··walkSync(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·PathBase[]·|·string[]·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results:·(string·|·PathBase)[]·=·[]\n····if·(!filter·||·filter(entry))·{\n······results.push(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·dirs·=·new·Set<PathBase>([entry])\n····for·(const·dir·of·dirs)·{\n······const·entries·=·dir.readdirSync()\n······for·(const·e·of·entries)·{\n········if·(!filter·||·filter(e))·{\n··········results.push(withFileTypes·?·e·:·e.fullpath())\n········}\n········let·r:·PathBase·|·undefined·=·e\n········if·(e.isSymbolicLink())·{\n··········if·(!(follow·&&·(r·=·e.realpathSync())))·continue\n··········if·(r.isUnknown())·r.lstatSync()\n········}\n········if·(r.shouldWalk(dirs,·walkFilter))·{\n··········dirs.add(r)\n········}\n······}\n····}\n····return·results·as·string[]·|·PathBase[]\n··}\n\n··/**\n···*·Support·for·`for·await`\n···*\n···*·Alias·for·{@link·PathScurryBase.iterate}\n···*\n···*·Note:·As·of·Node·19,·this·is·very·slow,·compared·to·other·methods·of\n···*·walking.··Consider·using·{@link·PathScurryBase.stream}·if·memory·overhead\n···*·and·backpressure·are·concerns,·or·{@link·PathScurryBase.walk}·if·not.\n···*/\n··[Symbol.asyncIterator]()·{\n····return·this.iterate()\n··}\n\n··/**\n···*·Async·generator·form·of·{@link·PathScurryBase.walk}\n···*\n···*·Note:·As·of·Node·19,·this·is·very·slow,·compared·to·other·methods·of\n···*·walking,·especially·if·most/all·of·the·directory·tree·has·been·previously\n···*·walked.··Consider·using·{@link·PathScurryBase.stream}·if·memory·overhead\n···*·and·backpressure·are·concerns,·or·{@link·PathScurryBase.walk}·if·not.\n···*/\n··iterate():·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·AsyncGenerator<string,·void,·void>\n··iterate(opts:·WalkOptions):·AsyncGenerator<string·|·PathBase,·void,·void>\n··iterate(entry:·string·|·PathBase):·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·AsyncGenerator<PathBase,·void,·void>\n··iterate(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·AsyncGenerator<string,·void,·void>\n··iterate(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·AsyncGenerator<PathBase·|·string,·void,·void>\n··iterate(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····options:·WalkOptions·=·{},\n··):·AsyncGenerator<PathBase·|·string,·void,·void>·{\n····//·iterating·async·over·the·stream·is·significantly·more·performant,\n····//·especially·in·the·warm-cache·scenario,·because·it·buffers·up·directory\n····//·entries·in·the·background·instead·of·waiting·for·a·yield·for·each·one.\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······options·=·entry\n······entry·=·this.cwd\n····}\n····return·this.stream(entry,·options)[Symbol.asyncIterator]()\n··}\n\n··/**\n···*·Iterating·over·a·PathScurry·performs·a·synchronous·walk.\n···*\n···*·Alias·for·{@link·PathScurryBase.iterateSync}\n···*/\n··[Symbol.iterator]()·{\n····return·this.iterateSync()\n··}\n\n··iterateSync():·Generator<PathBase,·void,·void>\n··iterateSync(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Generator<PathBase,·void,·void>\n··iterateSync(\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Generator<string,·void,·void>\n··iterateSync(opts:·WalkOptions):·Generator<string·|·PathBase,·void,·void>\n··iterateSync(entry:·string·|·PathBase):·Generator<PathBase,·void,·void>\n··iterateSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Generator<PathBase,·void,·void>\n··iterateSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Generator<string,·void,·void>\n··iterateSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Generator<PathBase·|·string,·void,·void>\n··*iterateSync(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Generator<PathBase·|·string,·void,·void>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····if·(!filter·||·filter(entry))·{\n······yield·withFileTypes·?·entry·:·entry.fullpath()\n····}\n····const·dirs·=·new·Set<PathBase>([entry])\n····for·(const·dir·of·dirs)·{\n······const·entries·=·dir.readdirSync()\n······for·(const·e·of·entries)·{\n········if·(!filter·||·filter(e))·{\n··········yield·withFileTypes·?·e·:·e.fullpath()\n········}\n········let·r:·PathBase·|·undefined·=·e\n········if·(e.isSymbolicLink())·{\n··········if·(!(follow·&&·(r·=·e.realpathSync())))·continue\n··········if·(r.isUnknown())·r.lstatSync()\n········}\n········if·(r.shouldWalk(dirs,·walkFilter))·{\n··········dirs.add(r)\n········}\n······}\n····}\n··}\n\n··/**\n···*·Stream·form·of·{@link·PathScurryBase.walk}\n···*\n···*·Returns·a·Minipass·stream·that·emits·{@link·PathBase}·objects·by·default,\n···*·or·strings·if·`{·withFileTypes:·false·}`·is·set·in·the·options.\n···*/\n··stream():·Minipass<PathBase>\n··stream(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Minipass<PathBase>\n··stream(opts:·WalkOptionsWithFileTypesFalse):·Minipass<string>\n··stream(opts:·WalkOptions):·Minipass<string·|·PathBase>\n··stream(entry:·string·|·PathBase):·Minipass<PathBase>\n··stream(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesUnset·|·WalkOptionsWithFileTypesTrue,\n··):·Minipass<PathBase>\n··stream(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Minipass<string>\n··stream(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Minipass<string>·|·Minipass<PathBase>\n··stream(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Minipass<string>·|·Minipass<PathBase>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results·=·new·Minipass<string·|·PathBase>({·objectMode:·true·})\n····if·(!filter·||·filter(entry))·{\n······results.write(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·dirs·=·new·Set<PathBase>()\n····const·queue:·PathBase[]·=·[entry]\n····let·processing·=·0\n····const·process·=·()·=>·{\n······let·paused·=·false\n······while·(!paused)·{\n········const·dir·=·queue.shift()\n········if·(!dir)·{\n··········if·(processing·===·0)·results.end()\n··········return\n········}\n\n········processing++\n········dirs.add(dir)\n\n········const·onReaddir·=·(\n··········er:·null·|·NodeJS.ErrnoException,\n··········entries:·PathBase[],\n··········didRealpaths:·boolean·=·false,\n········)·=>·{\n··········/*·c8·ignore·start·*/\n··········if·(er)·return·results.emit('error',·er)\n··········/*·c8·ignore·stop·*/\n··········if·(follow·&&·!didRealpaths)·{\n············const·promises:·Promise<PathBase·|·undefined>[]·=·[]\n············for·(const·e·of·entries)·{\n··············if·(e.isSymbolicLink())·{\n················promises.push(\n··················e\n····················.realpath()\n····················.then((r:·PathBase·|·undefined)·=>\n······················r?.isUnknown()·?·r.lstat()·:·r,\n····················),\n················)\n··············}\n············}\n············if·(promises.length)·{\n··············Promise.all(promises).then(()·=>\n················onReaddir(null,·entries,·true),\n··············)\n··············return\n············}\n··········}\n\n··········for·(const·e·of·entries)·{\n············if·(e·&&·(!filter·||·filter(e)))·{\n··············if·(!results.write(withFileTypes·?·e·:·e.fullpath()))·{\n················paused·=·true\n··············}\n············}\n··········}\n\n··········processing--\n··········for·(const·e·of·entries)·{\n············const·r·=·e.realpathCached()·||·e\n············if·(r.shouldWalk(dirs,·walkFilter))·{\n··············queue.push(r)\n············}\n··········}\n··········if·(paused·&&·!results.flowing)·{\n············results.once('drain',·process)\n··········}·else·if·(!sync)·{\n············process()\n··········}\n········}\n\n········//·zalgo·containment\n········let·sync·=·true\n········dir.readdirCB(onReaddir,·true)\n········sync·=·false\n······}\n····}\n····process()\n····return·results·as·Minipass<string>·|·Minipass<PathBase>\n··}\n\n··/**\n···*·Synchronous·form·of·{@link·PathScurryBase.stream}\n···*\n···*·Returns·a·Minipass·stream·that·emits·{@link·PathBase}·objects·by·default,\n···*·or·strings·if·`{·withFileTypes:·false·}`·is·set·in·the·options.\n···*\n···*·Will·complete·the·walk·in·a·single·tick·if·the·stream·is·consumed·fully.\n···*·Otherwise,·will·pause·as·needed·for·stream·backpressure.\n···*/\n··streamSync():·Minipass<PathBase>\n··streamSync(\n····opts:·WalkOptionsWithFileTypesTrue·|·WalkOptionsWithFileTypesUnset,\n··):·Minipass<PathBase>\n··streamSync(opts:·WalkOptionsWithFileTypesFalse):·Minipass<string>\n··streamSync(opts:·WalkOptions):·Minipass<string·|·PathBase>\n··streamSync(entry:·string·|·PathBase):·Minipass<PathBase>\n··streamSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesUnset·|·WalkOptionsWithFileTypesTrue,\n··):·Minipass<PathBase>\n··streamSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptionsWithFileTypesFalse,\n··):·Minipass<string>\n··streamSync(\n····entry:·string·|·PathBase,\n····opts:·WalkOptions,\n··):·Minipass<string>·|·Minipass<PathBase>\n··streamSync(\n····entry:·string·|·PathBase·|·WalkOptions·=·this.cwd,\n····opts:·WalkOptions·=·{},\n··):·Minipass<string>·|·Minipass<PathBase>·{\n····if·(typeof·entry·===·'string')·{\n······entry·=·this.cwd.resolve(entry)\n····}·else·if·(!(entry·instanceof·PathBase))·{\n······opts·=·entry\n······entry·=·this.cwd\n····}\n····const·{\n······withFileTypes·=·true,\n······follow·=·false,\n······filter,\n······walkFilter,\n····}·=·opts\n····const·results·=·new·Minipass<string·|·PathBase>({·objectMode:·true·})\n····const·dirs·=·new·Set<PathBase>()\n····if·(!filter·||·filter(entry))·{\n······results.write(withFileTypes·?·entry·:·entry.fullpath())\n····}\n····const·queue:·PathBase[]·=·[entry]\n····let·processing·=·0\n····const·process·=·()·=>·{\n······let·paused·=·false\n······while·(!paused)·{\n········const·dir·=·queue.shift()\n········if·(!dir)·{\n··········if·(processing·===·0)·results.end()\n··········return\n········}\n········processing++\n········dirs.add(dir)\n\n········const·entries·=·dir.readdirSync()\n········for·(const·e·of·entries)·{\n··········if·(!filter·||·filter(e))·{\n············if·(!results.write(withFileTypes·?·e·:·e.fullpath()))·{\n··············paused·=·true\n············}\n··········}\n········}\n········processing--\n········for·(const·e·of·entries)·{\n··········let·r:·PathBase·|·undefined·=·e\n··········if·(e.isSymbolicLink())·{\n············if·(!(follow·&&·(r·=·e.realpathSync())))·continue\n············if·(r.isUnknown())·r.lstatSync()\n··········}\n··········if·(r.shouldWalk(dirs,·walkFilter))·{\n············queue.push(r)\n··········}\n········}\n······}\n······if·(paused·&&·!results.flowing)·results.once('drain',·process)\n····}\n····process()\n····return·results·as·Minipass<string>·|·Minipass<PathBase>\n··}\n\n··chdir(path:·string·|·Path·=·this.cwd)·{\n····const·oldCwd·=·this.cwd\n····this.cwd·=·typeof·path·===·'string'·?·this.cwd.resolve(path)·:·path\n····this.cwd[setAsCwd](oldCwd)\n··}\n}\n\n/**\n·*·Options·provided·to·all·walk·methods.\n·*/\nexport·interface·WalkOptions·{\n··/**\n···*·Return·results·as·{@link·PathBase}·objects·rather·than·strings.\n···*·When·set·to·false,·results·are·fully·resolved·paths,·as·returned·by\n···*·{@link·PathBase.fullpath}.\n···*·@default·true\n···*/\n··withFileTypes?:·boolean\n\n··/**\n···*··Attempt·to·read·directory·entries·from·symbolic·links.·Otherwise,·only\n···*··actual·directories·are·traversed.·Regardless·of·this·setting,·a·given\n···*··target·path·will·only·ever·be·walked·once,·meaning·that·a·symbolic·link\n···*··to·a·previously·traversed·directory·will·never·be·followed.\n···*\n···*··Setting·this·imposes·a·slight·performance·penalty,·because·`readlink`\n···*··must·be·called·on·all·symbolic·links·encountered,·in·order·to·avoid\n···*··infinite·cycles.\n···*·@default·false\n···*/\n··follow?:·boolean\n\n··/**\n···*·Only·return·entries·where·the·provided·function·returns·true.\n···*\n···*·This·will·not·prevent·directories·from·being·traversed,·even·if·they·do\n···*·not·pass·the·filter,·though·it·will·prevent·directories·themselves·from\n···*·being·included·in·the·result·set.··See·{@link·walkFilter}\n···*\n···*·Asynchronous·functions·are·not·supported·here.\n···*\n···*·By·default,·if·no·filter·is·provided,·all·entries·and·traversed\n···*·directories·are·included.\n···*/\n··filter?:·(entry:·PathBase)·=>·boolean\n\n··/**\n···*·Only·traverse·directories·(and·in·the·case·of·{@link·follow}·being·set·to\n···*·true,·symbolic·links·to·directories)·if·the·provided·function·returns\n···*·true.\n···*\n···*·This·will·not·prevent·directories·from·being·included·in·the·result·set,\n···*·even·if·they·do·not·pass·the·supplied·filter·function.··See·{@link·filter}\n···*·to·do·that.\n···*\n···*·Asynchronous·functions·are·not·supported·here.\n···*/\n··walkFilter?:·(entry:·PathBase)·=>·boolean\n}\n\nexport·type·WalkOptionsWithFileTypesUnset·=·WalkOptions·&·{\n··withFileTypes?:·undefined\n}\nexport·type·WalkOptionsWithFileTypesTrue·=·WalkOptions·&·{\n··withFileTypes:·true\n}\nexport·type·WalkOptionsWithFileTypesFalse·=·WalkOptions·&·{\n··withFileTypes:·false\n}\n\n/**\n·*·Windows·implementation·of·{@link·PathScurryBase}\n·*\n·*·Defaults·to·case·insensitve,·uses·`'\\\\'`·to·generate·path·strings.··Uses\n·*·{@link·PathWin32}·for·Path·objects.\n·*/\nexport·class·PathScurryWin32·extends·PathScurryBase·{\n··/**\n···*·separator·for·generating·path·strings\n···*/\n··sep:·'\\\\'·=·'\\\\'\n\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····opts:·PathScurryOpts·=·{},\n··)·{\n····const·{·nocase·=·true·}·=·opts\n····super(cwd,·win32,·'\\\\',·{·...opts,·nocase·})\n····this.nocase·=·nocase\n····for·(let·p:·PathBase·|·undefined·=·this.cwd;·p;·p·=·p.parent)·{\n······p.nocase·=·this.nocase\n····}\n··}\n\n··/**\n···*·@internal\n···*/\n··parseRootPath(dir:·string):·string·{\n····//·if·the·path·starts·with·a·single·separator,·it's·not·a·UNC,·and·we'll\n····//·just·get·separator·as·the·root,·and·driveFromUNC·will·return·\\\n····//·In·that·case,·mount·\\·on·the·root·from·the·cwd.\n····return·win32.parse(dir).root.toUpperCase()\n··}\n\n··/**\n···*·@internal\n···*/\n··newRoot(fs:·FSValue)·{\n····return·new·PathWin32(\n······this.rootPath,\n······IFDIR,\n······undefined,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······{·fs·},\n····)\n··}\n\n··/**\n···*·Return·true·if·the·provided·path·string·is·an·absolute·path\n···*/\n··isAbsolute(p:·string):·boolean·{\n····return·(\n······p.startsWith('/')·||·p.startsWith('\\\\')·||·/^[a-z]:(\\/|\\\\)/i.test(p)\n····)\n··}\n}\n\n/**\n·*·{@link·PathScurryBase}·implementation·for·all·posix·systems·other·than·Darwin.\n·*\n·*·Defaults·to·case-sensitive·matching,·uses·`'/'`·to·generate·path·strings.\n·*\n·*·Uses·{@link·PathPosix}·for·Path·objects.\n·*/\nexport·class·PathScurryPosix·extends·PathScurryBase·{\n··/**\n···*·separator·for·generating·path·strings\n···*/\n··sep:·'/'·=·'/'\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····opts:·PathScurryOpts·=·{},\n··)·{\n····const·{·nocase·=·false·}·=·opts\n····super(cwd,·posix,·'/',·{·...opts,·nocase·})\n····this.nocase·=·nocase\n··}\n\n··/**\n···*·@internal\n···*/\n··parseRootPath(_dir:·string):·string·{\n····return·'/'\n··}\n\n··/**\n···*·@internal\n···*/\n··newRoot(fs:·FSValue)·{\n····return·new·PathPosix(\n······this.rootPath,\n······IFDIR,\n······undefined,\n······this.roots,\n······this.nocase,\n······this.childrenCache(),\n······{·fs·},\n····)\n··}\n\n··/**\n···*·Return·true·if·the·provided·path·string·is·an·absolute·path\n···*/\n··isAbsolute(p:·string):·boolean·{\n····return·p.startsWith('/')\n··}\n}\n\n/**\n·*·{@link·PathScurryBase}·implementation·for·Darwin·(macOS)·systems.\n·*\n·*·Defaults·to·case-insensitive·matching,·uses·`'/'`·for·generating·path\n·*·strings.\n·*\n·*·Uses·{@link·PathPosix}·for·Path·objects.\n·*/\nexport·class·PathScurryDarwin·extends·PathScurryPosix·{\n··constructor(\n····cwd:·URL·|·string·=·process.cwd(),\n····opts:·PathScurryOpts·=·{},\n··)·{\n····const·{·nocase·=·true·}·=·opts\n····super(cwd,·{·...opts,·nocase·})\n··}\n}\n\n/**\n·*·Default·{@link·PathBase}·implementation·for·the·current·platform.\n·*\n·*·{@link·PathWin32}·on·Windows·systems,·{@link·PathPosix}·on·all·others.\n·*/\nexport·const·Path·=·process.platform·===·'win32'·?·PathWin32·:·PathPosix\nexport·type·Path·=·PathBase·|·InstanceType<typeof·Path>\n\n/**\n·*·Default·{@link·PathScurryBase}·implementation·for·the·current·platform.\n·*\n·*·{@link·PathScurryWin32}·on·Windows·systems,·{@link·PathScurryDarwin}·on\n·*·Darwin·(macOS)·systems,·{@link·PathScurryPosix}·on·all·others.\n·*/\nexport·const·PathScurry:\n··|·typeof·PathScurryWin32\n··|·typeof·PathScurryDarwin\n··|·typeof·PathScurryPosix·=\n··process.platform·===·'win32'·?·PathScurryWin32\n··:·process.platform·===·'darwin'·?·PathScurryDarwin\n··:·PathScurryPosix\nexport·type·PathScurry·=·PathScurryBase·|·InstanceType<typeof·PathScurry>\n",
1024 ········"const·proc·=\n··typeof·process·===·'object'·&&·process\n····?·process\n····:·{\n········stdout:·null,\n········stderr:·null,\n······}\nimport·{·EventEmitter·}·from·'node:events'\nimport·Stream·from·'node:stream'\nimport·{·StringDecoder·}·from·'node:string_decoder'\n\n/**\n·*·Same·as·StringDecoder,·but·exposing·the·`lastNeed`·flag·on·the·type\n·*/\ntype·SD·=·StringDecoder·&·{·lastNeed:·boolean·}\n\nexport·type·{·SD,·Pipe,·PipeProxyErrors·}\n\n/**\n·*·Return·true·if·the·argument·is·a·Minipass·stream,·Node·stream,·or·something\n·*·else·that·Minipass·can·interact·with.\n·*/\nexport·const·isStream·=·(\n··s:·any\n):·s·is·Minipass.Readable·|·Minipass.Writable·=>\n··!!s·&&\n··typeof·s·===·'object'·&&\n··(s·instanceof·Minipass·||\n····s·instanceof·Stream·||\n····isReadable(s)·||\n····isWritable(s))\n\n/**\n·*·Return·true·if·the·argument·is·a·valid·{@link·Minipass.Readable}\n·*/\nexport·const·isReadable·=·(s:·any):·s·is·Minipass.Readable·=>\n··!!s·&&\n··typeof·s·===·'object'·&&\n··s·instanceof·EventEmitter·&&\n··typeof·(s·as·Minipass.Readable).pipe·===·'function'·&&\n··//·node·core·Writable·streams·have·a·pipe()·method,·but·it·throws\n··(s·as·Minipass.Readable).pipe·!==·Stream.Writable.prototype.pipe\n\n/**\n·*·Return·true·if·the·argument·is·a·valid·{@link·Minipass.Writable}\n·*/\nexport·const·isWritable·=·(s:·any):·s·is·Minipass.Readable·=>\n··!!s·&&\n··typeof·s·===·'object'·&&\n··s·instanceof·EventEmitter·&&\n··typeof·(s·as·Minipass.Writable).write·===·'function'·&&\n··typeof·(s·as·Minipass.Writable).end·===·'function'\n\nconst·EOF·=·Symbol('EOF')\nconst·MAYBE_EMIT_END·=·Symbol('maybeEmitEnd')\nconst·EMITTED_END·=·Symbol('emittedEnd')\nconst·EMITTING_END·=·Symbol('emittingEnd')\nconst·EMITTED_ERROR·=·Symbol('emittedError')\nconst·CLOSED·=·Symbol('closed')\nconst·READ·=·Symbol('read')\nconst·FLUSH·=·Symbol('flush')\nconst·FLUSHCHUNK·=·Symbol('flushChunk')\nconst·ENCODING·=·Symbol('encoding')\nconst·DECODER·=·Symbol('decoder')\nconst·FLOWING·=·Symbol('flowing')\nconst·PAUSED·=·Symbol('paused')\nconst·RESUME·=·Symbol('resume')\nconst·BUFFER·=·Symbol('buffer')\nconst·PIPES·=·Symbol('pipes')\nconst·BUFFERLENGTH·=·Symbol('bufferLength')\nconst·BUFFERPUSH·=·Symbol('bufferPush')\nconst·BUFFERSHIFT·=·Symbol('bufferShift')\nconst·OBJECTMODE·=·Symbol('objectMode')\n//·internal·event·when·stream·is·destroyed\nconst·DESTROYED·=·Symbol('destroyed')\n//·internal·event·when·stream·has·an·error\nconst·ERROR·=·Symbol('error')\nconst·EMITDATA·=·Symbol('emitData')\nconst·EMITEND·=·Symbol('emitEnd')\nconst·EMITEND2·=·Symbol('emitEnd2')\nconst·ASYNC·=·Symbol('async')\nconst·ABORT·=·Symbol('abort')\nconst·ABORTED·=·Symbol('aborted')\nconst·SIGNAL·=·Symbol('signal')\nconst·DATALISTENERS·=·Symbol('dataListeners')\nconst·DISCARDED·=·Symbol('discarded')\n\nconst·defer·=·(fn:·(...a:·any[])·=>·any)·=>·Promise.resolve().then(fn)\nconst·nodefer·=·(fn:·(...a:·any[])·=>·any)·=>·fn()\n\n//·events·that·mean·'the·stream·is·over'\n//·these·are·treated·specially,·and·re-emitted\n//·if·they·are·listened·for·after·emitting.\ntype·EndishEvent·=·'end'·|·'finish'·|·'prefinish'\nconst·isEndish·=·(ev:·any):·ev·is·EndishEvent·=>\n··ev·===·'end'·||·ev·===·'finish'·||·ev·===·'prefinish'\n\nconst·isArrayBufferLike·=·(b:·any):·b·is·ArrayBufferLike·=>\n··b·instanceof·ArrayBuffer·||\n··(!!b·&&\n····typeof·b·===·'object'·&&\n····b.constructor·&&\n····b.constructor.name·===·'ArrayBuffer'·&&\n····b.byteLength·>=·0)\n\nconst·isArrayBufferView·=·(b:·any):·b·is·ArrayBufferView·=>\n··!Buffer.isBuffer(b)·&&·ArrayBuffer.isView(b)\n\n/**\n·*·Options·that·may·be·passed·to·stream.pipe()\n·*/\nexport·interface·PipeOptions·{\n··/**\n···*·end·the·destination·stream·when·the·source·stream·ends\n···*/\n··end?:·boolean\n··/**\n···*·proxy·errors·from·the·source·stream·to·the·destination·stream\n···*/\n··proxyErrors?:·boolean\n}\n\n/**\n·*·Internal·class·representing·a·pipe·to·a·destination·stream.\n·*\n·*·@internal\n·*/\nclass·Pipe<T·extends·unknown>·{\n··src:·Minipass<T>\n··dest:·Minipass<any,·T>\n··opts:·PipeOptions\n··ondrain:·()·=>·any\n··constructor(\n····src:·Minipass<T>,\n····dest:·Minipass.Writable,\n····opts:·PipeOptions\n··)·{\n····this.src·=·src\n····this.dest·=·dest·as·Minipass<any,·T>\n····this.opts·=·opts\n····this.ondrain·=·()·=>·src[RESUME]()\n····this.dest.on('drain',·this.ondrain)\n··}\n··unpipe()·{\n····this.dest.removeListener('drain',·this.ondrain)\n··}\n··//·only·here·for·the·prototype\n··/*·c8·ignore·start·*/\n··proxyErrors(_er:·any)·{}\n··/*·c8·ignore·stop·*/\n··end()·{\n····this.unpipe()\n····if·(this.opts.end)·this.dest.end()\n··}\n}\n\n/**\n·*·Internal·class·representing·a·pipe·to·a·destination·stream·where\n·*·errors·are·proxied.\n·*\n·*·@internal\n·*/\nclass·PipeProxyErrors<T>·extends·Pipe<T>·{\n··unpipe()·{\n····this.src.removeListener('error',·this.proxyErrors)\n····super.unpipe()\n··}\n··constructor(\n····src:·Minipass<T>,\n····dest:·Minipass.Writable,\n····opts:·PipeOptions\n··)·{\n····super(src,·dest,·opts)\n····this.proxyErrors·=·er·=>·dest.emit('error',·er)\n····src.on('error',·this.proxyErrors)\n··}\n}\n\nexport·namespace·Minipass·{\n··/**\n···*·Encoding·used·to·create·a·stream·that·outputs·strings·rather·than\n···*·Buffer·objects.\n···*/\n··export·type·Encoding·=·BufferEncoding·|·'buffer'·|·null\n\n··/**\n···*·Any·stream·that·Minipass·can·pipe·into\n···*/\n··export·type·Writable·=\n····|·Minipass<any,·any,·any>\n····|·NodeJS.WriteStream\n····|·(NodeJS.WriteStream·&·{·fd:·number·})\n····|·(EventEmitter·&·{\n········end():·any\n········write(chunk:·any,·...args:·any[]):·any\n······})\n\n··/**\n···*·Any·stream·that·can·be·read·from\n···*/\n··export·type·Readable·=\n····|·Minipass<any,·any,·any>\n····|·NodeJS.ReadStream\n····|·(NodeJS.ReadStream·&·{·fd:·number·})\n····|·(EventEmitter·&·{\n········pause():·any\n········resume():·any\n········pipe(...destArgs:·any[]):·any\n······})\n\n··/**\n···*·Utility·type·that·can·be·iterated·sync·or·async\n···*/\n··export·type·DualIterable<T>·=·Iterable<T>·&·AsyncIterable<T>\n\n··type·EventArguments·=·Record<string·|·symbol,·unknown[]>\n\n··/**\n···*·The·listing·of·events·that·a·Minipass·class·can·emit.\n···*·Extend·this·when·extending·the·Minipass·class,·and·pass·as\n···*·the·third·template·argument.··The·key·is·the·name·of·the·event,\n···*·and·the·value·is·the·argument·list.\n···*\n···*·Any·undeclared·events·will·still·be·allowed,·but·the·handler·will·get\n···*·arguments·as·`unknown[]`.\n···*/\n··export·interface·Events<RType·extends·any·=·Buffer>\n····extends·EventArguments·{\n····readable:·[]\n····data:·[chunk:·RType]\n····error:·[er:·unknown]\n····abort:·[reason:·unknown]\n····drain:·[]\n····resume:·[]\n····end:·[]\n····finish:·[]\n····prefinish:·[]\n····close:·[]\n····[DESTROYED]:·[er?:·unknown]\n····[ERROR]:·[er:·unknown]\n··}\n\n··/**\n···*·String·or·buffer-like·data·that·can·be·joined·and·sliced\n···*/\n··export·type·ContiguousData·=\n····|·Buffer\n····|·ArrayBufferLike\n····|·ArrayBufferView\n····|·string\n··export·type·BufferOrString·=·Buffer·|·string\n\n··/**\n···*·Options·passed·to·the·Minipass·constructor.\n···*/\n··export·type·SharedOptions·=·{\n····/**\n·····*·Defer·all·data·emission·and·other·events·until·the·end·of·the\n·····*·current·tick,·similar·to·Node·core·streams\n·····*/\n····async?:·boolean\n····/**\n·····*·A·signal·which·will·abort·the·stream\n·····*/\n····signal?:·AbortSignal\n····/**\n·····*·Output·string·encoding.·Set·to·`null`·or·`'buffer'`·(or·omit)·to\n·····*·emit·Buffer·objects·rather·than·strings.\n·····*\n·····*·Conflicts·with·`objectMode`\n·····*/\n····encoding?:·BufferEncoding·|·null·|·'buffer'\n····/**\n·····*·Output·data·exactly·as·it·was·written,·supporting·non-buffer/string\n·····*·data·(such·as·arbitrary·objects,·falsey·values,·etc.)\n·····*\n·····*·Conflicts·with·`encoding`\n·····*/\n····objectMode?:·boolean\n··}\n\n··/**\n···*·Options·for·a·string·encoded·output\n···*/\n··export·type·EncodingOptions·=·SharedOptions·&·{\n····encoding:·BufferEncoding\n····objectMode?:·false\n··}\n\n··/**\n···*·Options·for·contiguous·data·buffer·output\n···*/\n··export·type·BufferOptions·=·SharedOptions·&·{\n····encoding?:·null·|·'buffer'\n····objectMode?:·false\n··}\n\n··/**\n···*·Options·for·objectMode·arbitrary·output\n···*/\n··export·type·ObjectModeOptions·=·SharedOptions·&·{\n····objectMode:·true\n····encoding?:·null\n··}\n\n··/**\n···*·Utility·type·to·determine·allowed·options·based·on·read·type\n···*/\n··export·type·Options<T>·=\n····|·ObjectModeOptions\n····|·(T·extends·string\n········?·EncodingOptions\n········:·T·extends·Buffer\n········?·BufferOptions\n········:·SharedOptions)\n}\n\nconst·isObjectModeOptions·=·(\n··o:·Minipass.SharedOptions\n):·o·is·Minipass.ObjectModeOptions·=>·!!o.objectMode\n\nconst·isEncodingOptions·=·(\n··o:·Minipass.SharedOptions\n):·o·is·Minipass.EncodingOptions·=>\n··!o.objectMode·&&·!!o.encoding·&&·o.encoding·!==·'buffer'\n\n/**\n·*·Main·export,·the·Minipass·class\n·*\n·*·`RType`·is·the·type·of·data·emitted,·defaults·to·Buffer\n·*\n·*·`WType`·is·the·type·of·data·to·be·written,·if·RType·is·buffer·or·string,\n·*·then·any·{@link·Minipass.ContiguousData}·is·allowed.\n·*\n·*·`Events`·is·the·set·of·event·handler·signatures·that·this·object\n·*·will·emit,·see·{@link·Minipass.Events}\n·*/\nexport·class·Minipass<\n····RType·extends·unknown·=·Buffer,\n····WType·extends·unknown·=·RType·extends·Minipass.BufferOrString\n······?·Minipass.ContiguousData\n······:·RType,\n····Events·extends·Minipass.Events<RType>·=·Minipass.Events<RType>\n··>\n··extends·EventEmitter\n··implements·Minipass.DualIterable<RType>\n{\n··[FLOWING]:·boolean·=·false;\n··[PAUSED]:·boolean·=·false;\n··[PIPES]:·Pipe<RType>[]·=·[];\n··[BUFFER]:·RType[]·=·[];\n··[OBJECTMODE]:·boolean;\n··[ENCODING]:·BufferEncoding·|·null;\n··[ASYNC]:·boolean;\n··[DECODER]:·SD·|·null;\n··[EOF]:·boolean·=·false;\n··[EMITTED_END]:·boolean·=·false;\n··[EMITTING_END]:·boolean·=·false;\n··[CLOSED]:·boolean·=·false;\n··[EMITTED_ERROR]:·unknown·=·null;\n··[BUFFERLENGTH]:·number·=·0;\n··[DESTROYED]:·boolean·=·false;\n··[SIGNAL]?:·AbortSignal;\n··[ABORTED]:·boolean·=·false;\n··[DATALISTENERS]:·number·=·0;\n··[DISCARDED]:·boolean·=·false\n\n··/**\n···*·true·if·the·stream·can·be·written\n···*/\n··writable:·boolean·=·true\n··/**\n···*·true·if·the·stream·can·be·read\n···*/\n··readable:·boolean·=·true\n\n··/**\n···*·If·`RType`·is·Buffer,·then·options·do·not·need·to·be·provided.\n···*·Otherwise,·an·options·object·must·be·provided·to·specify·either\n···*·{@link·Minipass.SharedOptions.objectMode}·or\n···*·{@link·Minipass.SharedOptions.encoding},·as·appropriate.\n···*/\n··constructor(\n····...args:\n······|·[Minipass.ObjectModeOptions]\n······|·(RType·extends·Buffer\n··········?·[]·|·[Minipass.Options<RType>]\n··········:·[Minipass.Options<RType>])\n··)·{\n····const·options:·Minipass.Options<RType>·=·(args[0]·||\n······{})·as·Minipass.Options<RType>\n····super()\n····if·(options.objectMode·&&·typeof·options.encoding·===·'string')·{\n······throw·new·TypeError(\n········'Encoding·and·objectMode·may·not·be·used·together'\n······)\n····}\n····if·(isObjectModeOptions(options))·{\n······this[OBJECTMODE]·=·true\n······this[ENCODING]·=·null\n····}·else·if·(isEncodingOptions(options))·{\n······this[ENCODING]·=·options.encoding\n······this[OBJECTMODE]·=·false\n····}·else·{\n······this[OBJECTMODE]·=·false\n······this[ENCODING]·=·null\n····}\n····this[ASYNC]·=·!!options.async\n····this[DECODER]·=·this[ENCODING]\n······?·(new·StringDecoder(this[ENCODING])·as·SD)\n······:·null\n\n····//@ts-ignore·-·private·option·for·debugging·and·testing\n····if·(options·&&·options.debugExposeBuffer·===·true)·{\n······Object.defineProperty(this,·'buffer',·{·get:·()·=>·this[BUFFER]·})\n····}\n····//@ts-ignore·-·private·option·for·debugging·and·testing\n····if·(options·&&·options.debugExposePipes·===·true)·{\n······Object.defineProperty(this,·'pipes',·{·get:·()·=>·this[PIPES]·})\n····}\n\n····const·{·signal·}·=·options\n····if·(signal)·{\n······this[SIGNAL]·=·signal\n······if·(signal.aborted)·{\n········this[ABORT]()\n······}·else·{\n········signal.addEventListener('abort',·()·=>·this[ABORT]())\n······}\n····}\n··}\n\n··/**\n···*·The·amount·of·data·stored·in·the·buffer·waiting·to·be·read.\n···*\n···*·For·Buffer·strings,·this·will·be·the·total·byte·length.\n···*·For·string·encoding·streams,·this·will·be·the·string·character·length,\n···*·according·to·JavaScript's·`string.length`·logic.\n···*·For·objectMode·streams,·this·is·a·count·of·the·items·waiting·to·be\n···*·emitted.\n···*/\n··get·bufferLength()·{\n····return·this[BUFFERLENGTH]\n··}\n\n··/**\n···*·The·`BufferEncoding`·currently·in·use,·or·`null`\n···*/\n··get·encoding()·{\n····return·this[ENCODING]\n··}\n\n··/**\n···*·@deprecated·-·This·is·a·read·only·property\n···*/\n··set·encoding(_enc)·{\n····throw·new·Error('Encoding·must·be·set·at·instantiation·time')\n··}\n\n··/**\n···*·@deprecated·-·Encoding·may·only·be·set·at·instantiation·time\n···*/\n··setEncoding(_enc:·Minipass.Encoding)·{\n····throw·new·Error('Encoding·must·be·set·at·instantiation·time')\n··}\n\n··/**\n···*·True·if·this·is·an·objectMode·stream\n···*/\n··get·objectMode()·{\n····return·this[OBJECTMODE]\n··}\n\n··/**\n···*·@deprecated·-·This·is·a·read-only·property\n···*/\n··set·objectMode(_om)·{\n····throw·new·Error('objectMode·must·be·set·at·instantiation·time')\n··}\n\n··/**\n···*·true·if·this·is·an·async·stream\n···*/\n··get·['async']():·boolean·{\n····return·this[ASYNC]\n··}\n··/**\n···*·Set·to·true·to·make·this·stream·async.\n···*\n···*·Once·set,·it·cannot·be·unset,·as·this·would·potentially·cause·incorrect\n···*·behavior.··Ie,·a·sync·stream·can·be·made·async,·but·an·async·stream\n···*·cannot·be·safely·made·sync.\n···*/\n··set·['async'](a:·boolean)·{\n····this[ASYNC]·=·this[ASYNC]·||·!!a\n··}\n\n··//·drop·everything·and·get·out·of·the·flow·completely\n··[ABORT]()·{\n····this[ABORTED]·=·true\n····this.emit('abort',·this[SIGNAL]?.reason)\n····this.destroy(this[SIGNAL]?.reason)\n··}\n\n··/**\n···*·True·if·the·stream·has·been·aborted.\n···*/\n··get·aborted()·{\n····return·this[ABORTED]\n··}\n··/**\n···*·No-op·setter.·Stream·aborted·status·is·set·via·the·AbortSignal·provided\n···*·in·the·constructor·options.\n···*/\n··set·aborted(_)·{}\n\n··/**\n···*·Write·data·into·the·stream\n···*\n···*·If·the·chunk·written·is·a·string,·and·encoding·is·not·specified,·then\n···*·`utf8`·will·be·assumed.·If·the·stream·encoding·matches·the·encoding·of\n···*·a·written·string,·and·the·state·of·the·string·decoder·allows·it,·then\n···*·the·string·will·be·passed·through·to·either·the·output·or·the·internal\n···*·buffer·without·any·processing.·Otherwise,·it·will·be·turned·into·a\n···*·Buffer·object·for·processing·into·the·desired·encoding.\n···*\n···*·If·provided,·`cb`·function·is·called·immediately·before·return·for\n···*·sync·streams,·or·on·next·tick·for·async·streams,·because·for·this\n···*·base·class,·a·chunk·is·considered·\"processed\"·once·it·is·accepted\n···*·and·either·emitted·or·buffered.·That·is,·the·callback·does·not·indicate\n···*·that·the·chunk·has·been·eventually·emitted,·though·of·course·child\n···*·classes·can·override·this·function·to·do·whatever·processing·is·required\n···*·and·call·`super.write(...)`·only·once·processing·is·completed.\n···*/\n··write(chunk:·WType,·cb?:·()·=>·void):·boolean\n··write(\n····chunk:·WType,\n····encoding?:·Minipass.Encoding,\n····cb?:·()·=>·void\n··):·boolean\n··write(\n····chunk:·WType,\n····encoding?:·Minipass.Encoding·|·(()·=>·void),\n····cb?:·()·=>·void\n··):·boolean·{\n····if·(this[ABORTED])·return·false\n····if·(this[EOF])·throw·new·Error('write·after·end')\n\n····if·(this[DESTROYED])·{\n······this.emit(\n········'error',\n········Object.assign(\n··········new·Error('Cannot·call·write·after·a·stream·was·destroyed'),\n··········{·code:·'ERR_STREAM_DESTROYED'·}\n········)\n······)\n······return·true\n····}\n\n····if·(typeof·encoding·===·'function')·{\n······cb·=·encoding\n······encoding·=·'utf8'\n····}\n\n····if·(!encoding)·encoding·=·'utf8'\n\n····const·fn·=·this[ASYNC]·?·defer·:·nodefer\n\n····//·convert·array·buffers·and·typed·array·views·into·buffers\n····//·at·some·point·in·the·future,·we·may·want·to·do·the·opposite!\n····//·leave·strings·and·buffers·as-is\n····//·anything·is·only·allowed·if·in·object·mode,·so·throw\n····if·(!this[OBJECTMODE]·&&·!Buffer.isBuffer(chunk))·{\n······if·(isArrayBufferView(chunk))·{\n········//@ts-ignore·-·sinful·unsafe·type·changing\n········chunk·=·Buffer.from(\n··········chunk.buffer,\n··········chunk.byteOffset,\n··········chunk.byteLength\n········)\n······}·else·if·(isArrayBufferLike(chunk))·{\n········//@ts-ignore·-·sinful·unsafe·type·changing\n········chunk·=·Buffer.from(chunk)\n······}·else·if·(typeof·chunk·!==·'string')·{\n········throw·new·Error(\n··········'Non-contiguous·data·written·to·non-objectMode·stream'\n········)\n······}\n····}\n\n····//·handle·object·mode·up·front,·since·it's·simpler\n····//·this·yields·better·performance,·fewer·checks·later.\n····if·(this[OBJECTMODE])·{\n······//·maybe·impossible?\n······/*·c8·ignore·start·*/\n······if·(this[FLOWING]·&&·this[BUFFERLENGTH]·!==·0)·this[FLUSH](true)\n······/*·c8·ignore·stop·*/\n\n······if·(this[FLOWING])·this.emit('data',·chunk·as·unknown·as·RType)\n······else·this[BUFFERPUSH](chunk·as·unknown·as·RType)\n\n······if·(this[BUFFERLENGTH]·!==·0)·this.emit('readable')\n\n······if·(cb)·fn(cb)\n\n······return·this[FLOWING]\n····}\n\n····//·at·this·point·the·chunk·is·a·buffer·or·string\n····//·don't·buffer·it·up·or·send·it·to·the·decoder\n····if·(!(chunk·as·Minipass.BufferOrString).length)·{\n······if·(this[BUFFERLENGTH]·!==·0)·this.emit('readable')\n······if·(cb)·fn(cb)\n······return·this[FLOWING]\n····}\n\n····//·fast-path·writing·strings·of·same·encoding·to·a·stream·with\n····//·an·empty·buffer,·skipping·the·buffer/decoder·dance\n····if·(\n······typeof·chunk·===·'string'·&&\n······//·unless·it·is·a·string·already·ready·for·us·to·use\n······!(encoding·===·this[ENCODING]·&&·!this[DECODER]?.lastNeed)\n····)·{\n······//@ts-ignore·-·sinful·unsafe·type·change\n······chunk·=·Buffer.from(chunk,·encoding)\n····}\n\n····if·(Buffer.isBuffer(chunk)·&&·this[ENCODING])·{\n······//@ts-ignore·-·sinful·unsafe·type·change\n······chunk·=·this[DECODER].write(chunk)\n····}\n\n····//·Note:·flushing·CAN·potentially·switch·us·into·not-flowing·mode\n····if·(this[FLOWING]·&&·this[BUFFERLENGTH]·!==·0)·this[FLUSH](true)\n\n····if·(this[FLOWING])·this.emit('data',·chunk·as·unknown·as·RType)\n····else·this[BUFFERPUSH](chunk·as·unknown·as·RType)\n\n····if·(this[BUFFERLENGTH]·!==·0)·this.emit('readable')\n\n····if·(cb)·fn(cb)\n\n····return·this[FLOWING]\n··}\n\n··/**\n···*·Low-level·explicit·read·method.\n···*\n···*·In·objectMode,·the·argument·is·ignored,·and·one·item·is·returned·if\n···*·available.\n···*\n···*·`n`·is·the·number·of·bytes·(or·in·the·case·of·encoding·streams,\n···*·characters)·to·consume.·If·`n`·is·not·provided,·then·the·entire·buffer\n···*·is·returned,·or·`null`·is·returned·if·no·data·is·available.\n···*\n···*·If·`n`·is·greater·that·the·amount·of·data·in·the·internal·buffer,\n···*·then·`null`·is·returned.\n···*/\n··read(n?:·number·|·null):·RType·|·null·{\n····if·(this[DESTROYED])·return·null\n····this[DISCARDED]·=·false\n\n····if·(\n······this[BUFFERLENGTH]·===·0·||\n······n·===·0·||\n······(n·&&·n·>·this[BUFFERLENGTH])\n····)·{\n······this[MAYBE_EMIT_END]()\n······return·null\n····}\n\n····if·(this[OBJECTMODE])·n·=·null\n\n····if·(this[BUFFER].length·>·1·&&·!this[OBJECTMODE])·{\n······//·not·object·mode,·so·if·we·have·an·encoding,·then·RType·is·string\n······//·otherwise,·must·be·Buffer\n······this[BUFFER]·=·[\n········(this[ENCODING]\n··········?·this[BUFFER].join('')\n··········:·Buffer.concat(\n··············this[BUFFER]·as·Buffer[],\n··············this[BUFFERLENGTH]\n············))·as·RType,\n······]\n····}\n\n····const·ret·=·this[READ](n·||·null,·this[BUFFER][0]·as·RType)\n····this[MAYBE_EMIT_END]()\n····return·ret\n··}\n\n··[READ](n:·number·|·null,·chunk:·RType)·{\n····if·(this[OBJECTMODE])·this[BUFFERSHIFT]()\n····else·{\n······const·c·=·chunk·as·Minipass.BufferOrString\n······if·(n·===·c.length·||·n·===·null)·this[BUFFERSHIFT]()\n······else·if·(typeof·c·===·'string')·{\n········this[BUFFER][0]·=·c.slice(n)·as·RType\n········chunk·=·c.slice(0,·n)·as·RType\n········this[BUFFERLENGTH]·-=·n\n······}·else·{\n········this[BUFFER][0]·=·c.subarray(n)·as·RType\n········chunk·=·c.subarray(0,·n)·as·RType\n········this[BUFFERLENGTH]·-=·n\n······}\n····}\n\n····this.emit('data',·chunk)\n\n····if·(!this[BUFFER].length·&&·!this[EOF])·this.emit('drain')\n\n····return·chunk\n··}\n\n··/**\n···*·End·the·stream,·optionally·providing·a·final·write.\n···*\n···*·See·{@link·Minipass#write}·for·argument·descriptions\n···*/\n··end(cb?:·()·=>·void):·this\n··end(chunk:·WType,·cb?:·()·=>·void):·this\n··end(chunk:·WType,·encoding?:·Minipass.Encoding,·cb?:·()·=>·void):·this\n··end(\n····chunk?:·WType·|·(()·=>·void),\n····encoding?:·Minipass.Encoding·|·(()·=>·void),\n····cb?:·()·=>·void\n··):·this·{\n····if·(typeof·chunk·===·'function')·{\n······cb·=·chunk·as·()·=>·void\n······chunk·=·undefined\n····}\n····if·(typeof·encoding·===·'function')·{\n······cb·=·encoding\n······encoding·=·'utf8'\n····}\n····if·(chunk·!==·undefined)·this.write(chunk,·encoding)\n····if·(cb)·this.once('end',·cb)\n····this[EOF]·=·true\n····this.writable·=·false\n\n····//·if·we·haven't·written·anything,·then·go·ahead·and·emit,\n····//·even·if·we're·not·reading.\n····//·we'll·re-emit·if·a·new·'end'·listener·is·added·anyway.\n····//·This·makes·MP·more·suitable·to·write-only·use·cases.\n····if·(this[FLOWING]·||·!this[PAUSED])·this[MAYBE_EMIT_END]()\n····return·this\n··}\n\n··//·don't·let·the·internal·resume·be·overwritten\n··[RESUME]()·{\n····if·(this[DESTROYED])·return\n\n····if·(!this[DATALISTENERS]·&&·!this[PIPES].length)·{\n······this[DISCARDED]·=·true\n····}\n····this[PAUSED]·=·false\n····this[FLOWING]·=·true\n····this.emit('resume')\n····if·(this[BUFFER].length)·this[FLUSH]()\n····else·if·(this[EOF])·this[MAYBE_EMIT_END]()\n····else·this.emit('drain')\n··}\n\n··/**\n···*·Resume·the·stream·if·it·is·currently·in·a·paused·state\n···*\n···*·If·called·when·there·are·no·pipe·destinations·or·`data`·event·listeners,\n···*·this·will·place·the·stream·in·a·\"discarded\"·state,·where·all·data·will\n···*·be·thrown·away.·The·discarded·state·is·removed·if·a·pipe·destination·or\n···*·data·handler·is·added,·if·pause()·is·called,·or·if·any·synchronous·or\n···*·asynchronous·iteration·is·started.\n···*/\n··resume()·{\n····return·this[RESUME]()\n··}\n\n··/**\n···*·Pause·the·stream\n···*/\n··pause()·{\n····this[FLOWING]·=·false\n····this[PAUSED]·=·true\n····this[DISCARDED]·=·false\n··}\n\n··/**\n···*·true·if·the·stream·has·been·forcibly·destroyed\n···*/\n··get·destroyed()·{\n····return·this[DESTROYED]\n··}\n\n··/**\n···*·true·if·the·stream·is·currently·in·a·flowing·state,·meaning·that\n···*·any·writes·will·be·immediately·emitted.\n···*/\n··get·flowing()·{\n····return·this[FLOWING]\n··}\n\n··/**\n···*·true·if·the·stream·is·currently·in·a·paused·state\n···*/\n··get·paused()·{\n····return·this[PAUSED]\n··}\n\n··[BUFFERPUSH](chunk:·RType)·{\n····if·(this[OBJECTMODE])·this[BUFFERLENGTH]·+=·1\n····else·this[BUFFERLENGTH]·+=·(chunk·as·Minipass.BufferOrString).length\n····this[BUFFER].push(chunk)\n··}\n\n··[BUFFERSHIFT]():·RType·{\n····if·(this[OBJECTMODE])·this[BUFFERLENGTH]·-=·1\n····else\n······this[BUFFERLENGTH]·-=·(\n········this[BUFFER][0]·as·Minipass.BufferOrString\n······).length\n····return·this[BUFFER].shift()·as·RType\n··}\n\n··[FLUSH](noDrain:·boolean·=·false)·{\n····do·{}·while·(\n······this[FLUSHCHUNK](this[BUFFERSHIFT]())·&&\n······this[BUFFER].length\n····)\n\n····if·(!noDrain·&&·!this[BUFFER].length·&&·!this[EOF])·this.emit('drain')\n··}\n\n··[FLUSHCHUNK](chunk:·RType)·{\n····this.emit('data',·chunk)\n····return·this[FLOWING]\n··}\n\n··/**\n···*·Pipe·all·data·emitted·by·this·stream·into·the·destination·provided.\n···*\n···*·Triggers·the·flow·of·data.\n···*/\n··pipe<W·extends·Minipass.Writable>(dest:·W,·opts?:·PipeOptions):·W·{\n····if·(this[DESTROYED])·return·dest\n····this[DISCARDED]·=·false\n\n····const·ended·=·this[EMITTED_END]\n····opts·=·opts·||·{}\n····if·(dest·===·proc.stdout·||·dest·===·proc.stderr)·opts.end·=·false\n····else·opts.end·=·opts.end·!==·false\n····opts.proxyErrors·=·!!opts.proxyErrors\n\n····//·piping·an·ended·stream·ends·immediately\n····if·(ended)·{\n······if·(opts.end)·dest.end()\n····}·else·{\n······//·\"as\"·here·just·ignores·the·WType,·which·pipes·don't·care·about,\n······//·since·they're·only·consuming·from·us,·and·writing·to·the·dest\n······this[PIPES].push(\n········!opts.proxyErrors\n··········?·new·Pipe<RType>(this·as·Minipass<RType>,·dest,·opts)\n··········:·new·PipeProxyErrors<RType>(this·as·Minipass<RType>,·dest,·opts)\n······)\n······if·(this[ASYNC])·defer(()·=>·this[RESUME]())\n······else·this[RESUME]()\n····}\n\n····return·dest\n··}\n\n··/**\n···*·Fully·unhook·a·piped·destination·stream.\n···*\n···*·If·the·destination·stream·was·the·only·consumer·of·this·stream·(ie,\n···*·there·are·no·other·piped·destinations·or·`'data'`·event·listeners)\n···*·then·the·flow·of·data·will·stop·until·there·is·another·consumer·or\n···*·{@link·Minipass#resume}·is·explicitly·called.\n···*/\n··unpipe<W·extends·Minipass.Writable>(dest:·W)·{\n····const·p·=·this[PIPES].find(p·=>·p.dest·===·dest)\n····if·(p)·{\n······if·(this[PIPES].length·===·1)·{\n········if·(this[FLOWING]·&&·this[DATALISTENERS]·===·0)·{\n··········this[FLOWING]·=·false\n········}\n········this[PIPES]·=·[]\n······}·else·this[PIPES].splice(this[PIPES].indexOf(p),·1)\n······p.unpipe()\n····}\n··}\n\n··/**\n···*·Alias·for·{@link·Minipass#on}\n···*/\n··addListener<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··):·this·{\n····return·this.on(ev,·handler)\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.on`,·with·the·following\n···*·behavior·differences·to·prevent·data·loss·and·unnecessary·hangs:\n···*\n···*·-·Adding·a·'data'·event·handler·will·trigger·the·flow·of·data\n···*\n···*·-·Adding·a·'readable'·event·handler·when·there·is·data·waiting·to·be·read\n···*···will·cause·'readable'·to·be·emitted·immediately.\n···*\n···*·-·Adding·an·'endish'·event·handler·('end',·'finish',·etc.)·which·has\n···*···already·passed·will·cause·the·event·to·be·emitted·immediately·and·all\n···*···handlers·removed.\n···*\n···*·-·Adding·an·'error'·event·handler·after·an·error·has·been·emitted·will\n···*···cause·the·event·to·be·re-emitted·immediately·with·the·error·previously\n···*···raised.\n···*/\n··on<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··):·this·{\n····const·ret·=·super.on(\n······ev·as·string·|·symbol,\n······handler·as·(...a:·any[])·=>·any\n····)\n····if·(ev·===·'data')·{\n······this[DISCARDED]·=·false\n······this[DATALISTENERS]++\n······if·(!this[PIPES].length·&&·!this[FLOWING])·{\n········this[RESUME]()\n······}\n····}·else·if·(ev·===·'readable'·&&·this[BUFFERLENGTH]·!==·0)·{\n······super.emit('readable')\n····}·else·if·(isEndish(ev)·&&·this[EMITTED_END])·{\n······super.emit(ev)\n······this.removeAllListeners(ev)\n····}·else·if·(ev·===·'error'·&&·this[EMITTED_ERROR])·{\n······const·h·=·handler·as·(...a:·Events['error'])·=>·any\n······if·(this[ASYNC])·defer(()·=>·h.call(this,·this[EMITTED_ERROR]))\n······else·h.call(this,·this[EMITTED_ERROR])\n····}\n····return·ret\n··}\n\n··/**\n···*·Alias·for·{@link·Minipass#off}\n···*/\n··removeListener<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··)·{\n····return·this.off(ev,·handler)\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.off`\n···*\n···*·If·a·'data'·event·handler·is·removed,·and·it·was·the·last·consumer\n···*·(ie,·there·are·no·pipe·destinations·or·other·'data'·event·listeners),\n···*·then·the·flow·of·data·will·stop·until·there·is·another·consumer·or\n···*·{@link·Minipass#resume}·is·explicitly·called.\n···*/\n··off<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··)·{\n····const·ret·=·super.off(\n······ev·as·string·|·symbol,\n······handler·as·(...a:·any[])·=>·any\n····)\n····//·if·we·previously·had·listeners,·and·now·we·don't,·and·we·don't\n····//·have·any·pipes,·then·stop·the·flow,·unless·it's·been·explicitly\n····//·put·in·a·discarded·flowing·state·via·stream.resume().\n····if·(ev·===·'data')·{\n······this[DATALISTENERS]·=·this.listeners('data').length\n······if·(\n········this[DATALISTENERS]·===·0·&&\n········!this[DISCARDED]·&&\n········!this[PIPES].length\n······)·{\n········this[FLOWING]·=·false\n······}\n····}\n····return·ret\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.removeAllListeners`\n···*\n···*·If·all·'data'·event·handlers·are·removed,·and·they·were·the·last·consumer\n···*·(ie,·there·are·no·pipe·destinations),·then·the·flow·of·data·will·stop\n···*·until·there·is·another·consumer·or·{@link·Minipass#resume}·is·explicitly\n···*·called.\n···*/\n··removeAllListeners<Event·extends·keyof·Events>(ev?:·Event)·{\n····const·ret·=·super.removeAllListeners(ev·as·string·|·symbol·|·undefined)\n····if·(ev·===·'data'·||·ev·===·undefined)·{\n······this[DATALISTENERS]·=·0\n······if·(!this[DISCARDED]·&&·!this[PIPES].length)·{\n········this[FLOWING]·=·false\n······}\n····}\n····return·ret\n··}\n\n··/**\n···*·true·if·the·'end'·event·has·been·emitted\n···*/\n··get·emittedEnd()·{\n····return·this[EMITTED_END]\n··}\n\n··[MAYBE_EMIT_END]()·{\n····if·(\n······!this[EMITTING_END]·&&\n······!this[EMITTED_END]·&&\n······!this[DESTROYED]·&&\n······this[BUFFER].length·===·0·&&\n······this[EOF]\n····)·{\n······this[EMITTING_END]·=·true\n······this.emit('end')\n······this.emit('prefinish')\n······this.emit('finish')\n······if·(this[CLOSED])·this.emit('close')\n······this[EMITTING_END]·=·false\n····}\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.emit`,·with·the·following\n···*·behavior·differences·to·prevent·data·loss·and·unnecessary·hangs:\n···*\n···*·If·the·stream·has·been·destroyed,·and·the·event·is·something·other\n···*·than·'close'·or·'error',·then·`false`·is·returned·and·no·handlers\n···*·are·called.\n···*\n···*·If·the·event·is·'end',·and·has·already·been·emitted,·then·the·event\n···*·is·ignored.·If·the·stream·is·in·a·paused·or·non-flowing·state,·then\n···*·the·event·will·be·deferred·until·data·flow·resumes.·If·the·stream·is\n···*·async,·then·handlers·will·be·called·on·the·next·tick·rather·than\n···*·immediately.\n···*\n···*·If·the·event·is·'close',·and·'end'·has·not·yet·been·emitted,·then\n···*·the·event·will·be·deferred·until·after·'end'·is·emitted.\n···*\n···*·If·the·event·is·'error',·and·an·AbortSignal·was·provided·for·the·stream,\n···*·and·there·are·no·listeners,·then·the·event·is·ignored,·matching·the\n···*·behavior·of·node·core·streams·in·the·presense·of·an·AbortSignal.\n···*\n···*·If·the·event·is·'finish'·or·'prefinish',·then·all·listeners·will·be\n···*·removed·after·emitting·the·event,·to·prevent·double-firing.\n···*/\n··emit<Event·extends·keyof·Events>(\n····ev:·Event,\n····...args:·Events[Event]\n··):·boolean·{\n····const·data·=·args[0]\n····//·error·and·close·are·only·events·allowed·after·calling·destroy()\n····if·(\n······ev·!==·'error'·&&\n······ev·!==·'close'·&&\n······ev·!==·DESTROYED·&&\n······this[DESTROYED]\n····)·{\n······return·false\n····}·else·if·(ev·===·'data')·{\n······return·!this[OBJECTMODE]·&&·!data\n········?·false\n········:·this[ASYNC]\n········?·(defer(()·=>·this[EMITDATA](data·as·RType)),·true)\n········:·this[EMITDATA](data·as·RType)\n····}·else·if·(ev·===·'end')·{\n······return·this[EMITEND]()\n····}·else·if·(ev·===·'close')·{\n······this[CLOSED]·=·true\n······//·don't·emit·close·before·'end'·and·'finish'\n······if·(!this[EMITTED_END]·&&·!this[DESTROYED])·return·false\n······const·ret·=·super.emit('close')\n······this.removeAllListeners('close')\n······return·ret\n····}·else·if·(ev·===·'error')·{\n······this[EMITTED_ERROR]·=·data\n······super.emit(ERROR,·data)\n······const·ret·=\n········!this[SIGNAL]·||·this.listeners('error').length\n··········?·super.emit('error',·data)\n··········:·false\n······this[MAYBE_EMIT_END]()\n······return·ret\n····}·else·if·(ev·===·'resume')·{\n······const·ret·=·super.emit('resume')\n······this[MAYBE_EMIT_END]()\n······return·ret\n····}·else·if·(ev·===·'finish'·||·ev·===·'prefinish')·{\n······const·ret·=·super.emit(ev)\n······this.removeAllListeners(ev)\n······return·ret\n····}\n\n····//·Some·other·unknown·event\n····const·ret·=·super.emit(ev·as·string,·...args)\n····this[MAYBE_EMIT_END]()\n····return·ret\n··}\n\n··[EMITDATA](data:·RType)·{\n····for·(const·p·of·this[PIPES])·{\n······if·(p.dest.write(data·as·RType)·===·false)·this.pause()\n····}\n····const·ret·=·this[DISCARDED]·?·false·:·super.emit('data',·data)\n····this[MAYBE_EMIT_END]()\n····return·ret\n··}\n\n··[EMITEND]()·{\n····if·(this[EMITTED_END])·return·false\n\n····this[EMITTED_END]·=·true\n····this.readable·=·false\n····return·this[ASYNC]\n······?·(defer(()·=>·this[EMITEND2]()),·true)\n······:·this[EMITEND2]()\n··}\n\n··[EMITEND2]()·{\n····if·(this[DECODER])·{\n······const·data·=·this[DECODER].end()\n······if·(data)·{\n········for·(const·p·of·this[PIPES])·{\n··········p.dest.write(data·as·RType)\n········}\n········if·(!this[DISCARDED])·super.emit('data',·data)\n······}\n····}\n\n····for·(const·p·of·this[PIPES])·{\n······p.end()\n····}\n····const·ret·=·super.emit('end')\n····this.removeAllListeners('end')\n····return·ret\n··}\n\n··/**\n···*·Return·a·Promise·that·resolves·to·an·array·of·all·emitted·data·once\n···*·the·stream·ends.\n···*/\n··async·collect():·Promise<RType[]·&·{·dataLength:·number·}>·{\n····const·buf:·RType[]·&·{·dataLength:·number·}·=·Object.assign([],·{\n······dataLength:·0,\n····})\n····if·(!this[OBJECTMODE])·buf.dataLength·=·0\n····//·set·the·promise·first,·in·case·an·error·is·raised\n····//·by·triggering·the·flow·here.\n····const·p·=·this.promise()\n····this.on('data',·c·=>·{\n······buf.push(c)\n······if·(!this[OBJECTMODE])\n········buf.dataLength·+=·(c·as·Minipass.BufferOrString).length\n····})\n····await·p\n····return·buf\n··}\n\n··/**\n···*·Return·a·Promise·that·resolves·to·the·concatenation·of·all·emitted·data\n···*·once·the·stream·ends.\n···*\n···*·Not·allowed·on·objectMode·streams.\n···*/\n··async·concat():·Promise<RType>·{\n····if·(this[OBJECTMODE])·{\n······throw·new·Error('cannot·concat·in·objectMode')\n····}\n····const·buf·=·await·this.collect()\n····return·(\n······this[ENCODING]\n········?·buf.join('')\n········:·Buffer.concat(buf·as·Buffer[],·buf.dataLength)\n····)·as·RType\n··}\n\n··/**\n···*·Return·a·void·Promise·that·resolves·once·the·stream·ends.\n···*/\n··async·promise():·Promise<void>·{\n····return·new·Promise<void>((resolve,·reject)·=>·{\n······this.on(DESTROYED,·()·=>·reject(new·Error('stream·destroyed')))\n······this.on('error',·er·=>·reject(er))\n······this.on('end',·()·=>·resolve())\n····})\n··}\n\n··/**\n···*·Asynchronous·`for·await·of`·iteration.\n···*\n···*·This·will·continue·emitting·all·chunks·until·the·stream·terminates.\n···*/\n··[Symbol.asyncIterator]():·AsyncGenerator<RType,·void,·void>·{\n····//·set·this·up·front,·in·case·the·consumer·doesn't·call·next()\n····//·right·away.\n····this[DISCARDED]·=·false\n····let·stopped·=·false\n····const·stop·=·async·():·Promise<IteratorReturnResult<void>>·=>·{\n······this.pause()\n······stopped·=·true\n······return·{·value:·undefined,·done:·true·}\n····}\n····const·next·=·():·Promise<IteratorResult<RType,·void>>·=>·{\n······if·(stopped)·return·stop()\n······const·res·=·this.read()\n······if·(res·!==·null)·return·Promise.resolve({·done:·false,·value:·res·})\n\n······if·(this[EOF])·return·stop()\n\n······let·resolve!:·(res:·IteratorResult<RType>)·=>·void\n······let·reject!:·(er:·unknown)·=>·void\n······const·onerr·=·(er:·unknown)·=>·{\n········this.off('data',·ondata)\n········this.off('end',·onend)\n········this.off(DESTROYED,·ondestroy)\n········stop()\n········reject(er)\n······}\n······const·ondata·=·(value:·RType)·=>·{\n········this.off('error',·onerr)\n········this.off('end',·onend)\n········this.off(DESTROYED,·ondestroy)\n········this.pause()\n········resolve({·value,·done:·!!this[EOF]·})\n······}\n······const·onend·=·()·=>·{\n········this.off('error',·onerr)\n········this.off('data',·ondata)\n········this.off(DESTROYED,·ondestroy)\n········stop()\n········resolve({·done:·true,·value:·undefined·})\n······}\n······const·ondestroy·=·()·=>·onerr(new·Error('stream·destroyed'))\n······return·new·Promise<IteratorResult<RType>>((res,·rej)·=>·{\n········reject·=·rej\n········resolve·=·res\n········this.once(DESTROYED,·ondestroy)\n········this.once('error',·onerr)\n········this.once('end',·onend)\n········this.once('data',·ondata)\n······})\n····}\n\n····return·{\n······next,\n······throw:·stop,\n······return:·stop,\n······[Symbol.asyncIterator]()·{\n········return·this\n······},\n····}\n··}\n\n··/**\n···*·Synchronous·`for·of`·iteration.\n···*\n···*·The·iteration·will·terminate·when·the·internal·buffer·runs·out,·even\n···*·if·the·stream·has·not·yet·terminated.\n···*/\n··[Symbol.iterator]():·Generator<RType,·void,·void>·{\n····//·set·this·up·front,·in·case·the·consumer·doesn't·call·next()\n····//·right·away.\n····this[DISCARDED]·=·false\n····let·stopped·=·false\n····const·stop·=·():·IteratorReturnResult<void>·=>·{\n······this.pause()\n······this.off(ERROR,·stop)\n······this.off(DESTROYED,·stop)\n······this.off('end',·stop)\n······stopped·=·true\n······return·{·done:·true,·value:·undefined·}\n····}\n\n····const·next·=·():·IteratorResult<RType,·void>·=>·{\n······if·(stopped)·return·stop()\n······const·value·=·this.read()\n······return·value·===·null·?·stop()·:·{·done:·false,·value·}\n····}\n\n····this.once('end',·stop)\n····this.once(ERROR,·stop)\n····this.once(DESTROYED,·stop)\n\n····return·{\n······next,\n······throw:·stop,\n······return:·stop,\n······[Symbol.iterator]()·{\n········return·this\n······},\n····}\n··}\n\n··/**\n···*·Destroy·a·stream,·preventing·it·from·being·used·for·any·further·purpose.\n···*\n···*·If·the·stream·has·a·`close()`·method,·then·it·will·be·called·on\n···*·destruction.\n···*\n···*·After·destruction,·any·attempt·to·write·data,·read·data,·or·emit·most\n···*·events·will·be·ignored.\n···*\n···*·If·an·error·argument·is·provided,·then·it·will·be·emitted·in·an\n···*·'error'·event.\n···*/\n··destroy(er?:·unknown)·{\n····if·(this[DESTROYED])·{\n······if·(er)·this.emit('error',·er)\n······else·this.emit(DESTROYED)\n······return·this\n····}\n\n····this[DESTROYED]·=·true\n····this[DISCARDED]·=·true\n\n····//·throw·away·all·buffered·data,·it's·never·coming·out\n····this[BUFFER].length·=·0\n····this[BUFFERLENGTH]·=·0\n\n····const·wc·=·this·as·Minipass<RType,·WType,·Events>·&·{\n······close?:·()·=>·void\n····}\n····if·(typeof·wc.close·===·'function'·&&·!this[CLOSED])·wc.close()\n\n····if·(er)·this.emit('error',·er)\n····//·if·no·error·to·emit,·still·reject·pending·promises\n····else·this.emit(DESTROYED)\n\n····return·this\n··}\n\n··/**\n···*·Alias·for·{@link·isStream}\n···*\n···*·Former·export·location,·maintained·for·backwards·compatibility.\n···*\n···*·@deprecated\n···*/\n··static·get·isStream()·{\n····return·isStream\n··}\n}\n",1025 ········"const·proc·=\n··typeof·process·===·'object'·&&·process\n····?·process\n····:·{\n········stdout:·null,\n········stderr:·null,\n······}\nimport·{·EventEmitter·}·from·'node:events'\nimport·Stream·from·'node:stream'\nimport·{·StringDecoder·}·from·'node:string_decoder'\n\n/**\n·*·Same·as·StringDecoder,·but·exposing·the·`lastNeed`·flag·on·the·type\n·*/\ntype·SD·=·StringDecoder·&·{·lastNeed:·boolean·}\n\nexport·type·{·SD,·Pipe,·PipeProxyErrors·}\n\n/**\n·*·Return·true·if·the·argument·is·a·Minipass·stream,·Node·stream,·or·something\n·*·else·that·Minipass·can·interact·with.\n·*/\nexport·const·isStream·=·(\n··s:·any\n):·s·is·Minipass.Readable·|·Minipass.Writable·=>\n··!!s·&&\n··typeof·s·===·'object'·&&\n··(s·instanceof·Minipass·||\n····s·instanceof·Stream·||\n····isReadable(s)·||\n····isWritable(s))\n\n/**\n·*·Return·true·if·the·argument·is·a·valid·{@link·Minipass.Readable}\n·*/\nexport·const·isReadable·=·(s:·any):·s·is·Minipass.Readable·=>\n··!!s·&&\n··typeof·s·===·'object'·&&\n··s·instanceof·EventEmitter·&&\n··typeof·(s·as·Minipass.Readable).pipe·===·'function'·&&\n··//·node·core·Writable·streams·have·a·pipe()·method,·but·it·throws\n··(s·as·Minipass.Readable).pipe·!==·Stream.Writable.prototype.pipe\n\n/**\n·*·Return·true·if·the·argument·is·a·valid·{@link·Minipass.Writable}\n·*/\nexport·const·isWritable·=·(s:·any):·s·is·Minipass.Readable·=>\n··!!s·&&\n··typeof·s·===·'object'·&&\n··s·instanceof·EventEmitter·&&\n··typeof·(s·as·Minipass.Writable).write·===·'function'·&&\n··typeof·(s·as·Minipass.Writable).end·===·'function'\n\nconst·EOF·=·Symbol('EOF')\nconst·MAYBE_EMIT_END·=·Symbol('maybeEmitEnd')\nconst·EMITTED_END·=·Symbol('emittedEnd')\nconst·EMITTING_END·=·Symbol('emittingEnd')\nconst·EMITTED_ERROR·=·Symbol('emittedError')\nconst·CLOSED·=·Symbol('closed')\nconst·READ·=·Symbol('read')\nconst·FLUSH·=·Symbol('flush')\nconst·FLUSHCHUNK·=·Symbol('flushChunk')\nconst·ENCODING·=·Symbol('encoding')\nconst·DECODER·=·Symbol('decoder')\nconst·FLOWING·=·Symbol('flowing')\nconst·PAUSED·=·Symbol('paused')\nconst·RESUME·=·Symbol('resume')\nconst·BUFFER·=·Symbol('buffer')\nconst·PIPES·=·Symbol('pipes')\nconst·BUFFERLENGTH·=·Symbol('bufferLength')\nconst·BUFFERPUSH·=·Symbol('bufferPush')\nconst·BUFFERSHIFT·=·Symbol('bufferShift')\nconst·OBJECTMODE·=·Symbol('objectMode')\n//·internal·event·when·stream·is·destroyed\nconst·DESTROYED·=·Symbol('destroyed')\n//·internal·event·when·stream·has·an·error\nconst·ERROR·=·Symbol('error')\nconst·EMITDATA·=·Symbol('emitData')\nconst·EMITEND·=·Symbol('emitEnd')\nconst·EMITEND2·=·Symbol('emitEnd2')\nconst·ASYNC·=·Symbol('async')\nconst·ABORT·=·Symbol('abort')\nconst·ABORTED·=·Symbol('aborted')\nconst·SIGNAL·=·Symbol('signal')\nconst·DATALISTENERS·=·Symbol('dataListeners')\nconst·DISCARDED·=·Symbol('discarded')\n\nconst·defer·=·(fn:·(...a:·any[])·=>·any)·=>·Promise.resolve().then(fn)\nconst·nodefer·=·(fn:·(...a:·any[])·=>·any)·=>·fn()\n\n//·events·that·mean·'the·stream·is·over'\n//·these·are·treated·specially,·and·re-emitted\n//·if·they·are·listened·for·after·emitting.\ntype·EndishEvent·=·'end'·|·'finish'·|·'prefinish'\nconst·isEndish·=·(ev:·any):·ev·is·EndishEvent·=>\n··ev·===·'end'·||·ev·===·'finish'·||·ev·===·'prefinish'\n\nconst·isArrayBufferLike·=·(b:·any):·b·is·ArrayBufferLike·=>\n··b·instanceof·ArrayBuffer·||\n··(!!b·&&\n····typeof·b·===·'object'·&&\n····b.constructor·&&\n····b.constructor.name·===·'ArrayBuffer'·&&\n····b.byteLength·>=·0)\n\nconst·isArrayBufferView·=·(b:·any):·b·is·ArrayBufferView·=>\n··!Buffer.isBuffer(b)·&&·ArrayBuffer.isView(b)\n\n/**\n·*·Options·that·may·be·passed·to·stream.pipe()\n·*/\nexport·interface·PipeOptions·{\n··/**\n···*·end·the·destination·stream·when·the·source·stream·ends\n···*/\n··end?:·boolean\n··/**\n···*·proxy·errors·from·the·source·stream·to·the·destination·stream\n···*/\n··proxyErrors?:·boolean\n}\n\n/**\n·*·Internal·class·representing·a·pipe·to·a·destination·stream.\n·*\n·*·@internal\n·*/\nclass·Pipe<T·extends·unknown>·{\n··src:·Minipass<T>\n··dest:·Minipass<any,·T>\n··opts:·PipeOptions\n··ondrain:·()·=>·any\n··constructor(\n····src:·Minipass<T>,\n····dest:·Minipass.Writable,\n····opts:·PipeOptions\n··)·{\n····this.src·=·src\n····this.dest·=·dest·as·Minipass<any,·T>\n····this.opts·=·opts\n····this.ondrain·=·()·=>·src[RESUME]()\n····this.dest.on('drain',·this.ondrain)\n··}\n··unpipe()·{\n····this.dest.removeListener('drain',·this.ondrain)\n··}\n··//·only·here·for·the·prototype\n··/*·c8·ignore·start·*/\n··proxyErrors(_er:·any)·{}\n··/*·c8·ignore·stop·*/\n··end()·{\n····this.unpipe()\n····if·(this.opts.end)·this.dest.end()\n··}\n}\n\n/**\n·*·Internal·class·representing·a·pipe·to·a·destination·stream·where\n·*·errors·are·proxied.\n·*\n·*·@internal\n·*/\nclass·PipeProxyErrors<T>·extends·Pipe<T>·{\n··unpipe()·{\n····this.src.removeListener('error',·this.proxyErrors)\n····super.unpipe()\n··}\n··constructor(\n····src:·Minipass<T>,\n····dest:·Minipass.Writable,\n····opts:·PipeOptions\n··)·{\n····super(src,·dest,·opts)\n····this.proxyErrors·=·er·=>·dest.emit('error',·er)\n····src.on('error',·this.proxyErrors)\n··}\n}\n\nexport·namespace·Minipass·{\n··/**\n···*·Encoding·used·to·create·a·stream·that·outputs·strings·rather·than\n···*·Buffer·objects.\n···*/\n··export·type·Encoding·=·BufferEncoding·|·'buffer'·|·null\n\n··/**\n···*·Any·stream·that·Minipass·can·pipe·into\n···*/\n··export·type·Writable·=\n····|·Minipass<any,·any,·any>\n····|·NodeJS.WriteStream\n····|·(NodeJS.WriteStream·&·{·fd:·number·})\n····|·(EventEmitter·&·{\n········end():·any\n········write(chunk:·any,·...args:·any[]):·any\n······})\n\n··/**\n···*·Any·stream·that·can·be·read·from\n···*/\n··export·type·Readable·=\n····|·Minipass<any,·any,·any>\n····|·NodeJS.ReadStream\n····|·(NodeJS.ReadStream·&·{·fd:·number·})\n····|·(EventEmitter·&·{\n········pause():·any\n········resume():·any\n········pipe(...destArgs:·any[]):·any\n······})\n\n··/**\n···*·Utility·type·that·can·be·iterated·sync·or·async\n···*/\n··export·type·DualIterable<T>·=·Iterable<T>·&·AsyncIterable<T>\n\n··type·EventArguments·=·Record<string·|·symbol,·unknown[]>\n\n··/**\n···*·The·listing·of·events·that·a·Minipass·class·can·emit.\n···*·Extend·this·when·extending·the·Minipass·class,·and·pass·as\n···*·the·third·template·argument.··The·key·is·the·name·of·the·event,\n···*·and·the·value·is·the·argument·list.\n···*\n···*·Any·undeclared·events·will·still·be·allowed,·but·the·handler·will·get\n···*·arguments·as·`unknown[]`.\n···*/\n··export·interface·Events<RType·extends·any·=·Buffer>\n····extends·EventArguments·{\n····readable:·[]\n····data:·[chunk:·RType]\n····error:·[er:·unknown]\n····abort:·[reason:·unknown]\n····drain:·[]\n····resume:·[]\n····end:·[]\n····finish:·[]\n····prefinish:·[]\n····close:·[]\n····[DESTROYED]:·[er?:·unknown]\n····[ERROR]:·[er:·unknown]\n··}\n\n··/**\n···*·String·or·buffer-like·data·that·can·be·joined·and·sliced\n···*/\n··export·type·ContiguousData·=\n····|·Buffer\n····|·ArrayBufferLike\n····|·ArrayBufferView\n····|·string\n··export·type·BufferOrString·=·Buffer·|·string\n\n··/**\n···*·Options·passed·to·the·Minipass·constructor.\n···*/\n··export·type·SharedOptions·=·{\n····/**\n·····*·Defer·all·data·emission·and·other·events·until·the·end·of·the\n·····*·current·tick,·similar·to·Node·core·streams\n·····*/\n····async?:·boolean\n····/**\n·····*·A·signal·which·will·abort·the·stream\n·····*/\n····signal?:·AbortSignal\n····/**\n·····*·Output·string·encoding.·Set·to·`null`·or·`'buffer'`·(or·omit)·to\n·····*·emit·Buffer·objects·rather·than·strings.\n·····*\n·····*·Conflicts·with·`objectMode`\n·····*/\n····encoding?:·BufferEncoding·|·null·|·'buffer'\n····/**\n·····*·Output·data·exactly·as·it·was·written,·supporting·non-buffer/string\n·····*·data·(such·as·arbitrary·objects,·falsey·values,·etc.)\n·····*\n·····*·Conflicts·with·`encoding`\n·····*/\n····objectMode?:·boolean\n··}\n\n··/**\n···*·Options·for·a·string·encoded·output\n···*/\n··export·type·EncodingOptions·=·SharedOptions·&·{\n····encoding:·BufferEncoding\n····objectMode?:·false\n··}\n\n··/**\n···*·Options·for·contiguous·data·buffer·output\n···*/\n··export·type·BufferOptions·=·SharedOptions·&·{\n····encoding?:·null·|·'buffer'\n····objectMode?:·false\n··}\n\n··/**\n···*·Options·for·objectMode·arbitrary·output\n···*/\n··export·type·ObjectModeOptions·=·SharedOptions·&·{\n····objectMode:·true\n····encoding?:·null\n··}\n\n··/**\n···*·Utility·type·to·determine·allowed·options·based·on·read·type\n···*/\n··export·type·Options<T>·=\n····|·ObjectModeOptions\n····|·(T·extends·string\n········?·EncodingOptions\n········:·T·extends·Buffer\n········?·BufferOptions\n········:·SharedOptions)\n}\n\nconst·isObjectModeOptions·=·(\n··o:·Minipass.SharedOptions\n):·o·is·Minipass.ObjectModeOptions·=>·!!o.objectMode\n\nconst·isEncodingOptions·=·(\n··o:·Minipass.SharedOptions\n):·o·is·Minipass.EncodingOptions·=>\n··!o.objectMode·&&·!!o.encoding·&&·o.encoding·!==·'buffer'\n\n/**\n·*·Main·export,·the·Minipass·class\n·*\n·*·`RType`·is·the·type·of·data·emitted,·defaults·to·Buffer\n·*\n·*·`WType`·is·the·type·of·data·to·be·written,·if·RType·is·buffer·or·string,\n·*·then·any·{@link·Minipass.ContiguousData}·is·allowed.\n·*\n·*·`Events`·is·the·set·of·event·handler·signatures·that·this·object\n·*·will·emit,·see·{@link·Minipass.Events}\n·*/\nexport·class·Minipass<\n····RType·extends·unknown·=·Buffer,\n····WType·extends·unknown·=·RType·extends·Minipass.BufferOrString\n······?·Minipass.ContiguousData\n······:·RType,\n····Events·extends·Minipass.Events<RType>·=·Minipass.Events<RType>\n··>\n··extends·EventEmitter\n··implements·Minipass.DualIterable<RType>\n{\n··[FLOWING]:·boolean·=·false;\n··[PAUSED]:·boolean·=·false;\n··[PIPES]:·Pipe<RType>[]·=·[];\n··[BUFFER]:·RType[]·=·[];\n··[OBJECTMODE]:·boolean;\n··[ENCODING]:·BufferEncoding·|·null;\n··[ASYNC]:·boolean;\n··[DECODER]:·SD·|·null;\n··[EOF]:·boolean·=·false;\n··[EMITTED_END]:·boolean·=·false;\n··[EMITTING_END]:·boolean·=·false;\n··[CLOSED]:·boolean·=·false;\n··[EMITTED_ERROR]:·unknown·=·null;\n··[BUFFERLENGTH]:·number·=·0;\n··[DESTROYED]:·boolean·=·false;\n··[SIGNAL]?:·AbortSignal;\n··[ABORTED]:·boolean·=·false;\n··[DATALISTENERS]:·number·=·0;\n··[DISCARDED]:·boolean·=·false\n\n··/**\n···*·true·if·the·stream·can·be·written\n···*/\n··writable:·boolean·=·true\n··/**\n···*·true·if·the·stream·can·be·read\n···*/\n··readable:·boolean·=·true\n\n··/**\n···*·If·`RType`·is·Buffer,·then·options·do·not·need·to·be·provided.\n···*·Otherwise,·an·options·object·must·be·provided·to·specify·either\n···*·{@link·Minipass.SharedOptions.objectMode}·or\n···*·{@link·Minipass.SharedOptions.encoding},·as·appropriate.\n···*/\n··constructor(\n····...args:\n······|·[Minipass.ObjectModeOptions]\n······|·(RType·extends·Buffer\n··········?·[]·|·[Minipass.Options<RType>]\n··········:·[Minipass.Options<RType>])\n··)·{\n····const·options:·Minipass.Options<RType>·=·(args[0]·||\n······{})·as·Minipass.Options<RType>\n····super()\n····if·(options.objectMode·&&·typeof·options.encoding·===·'string')·{\n······throw·new·TypeError(\n········'Encoding·and·objectMode·may·not·be·used·together'\n······)\n····}\n····if·(isObjectModeOptions(options))·{\n······this[OBJECTMODE]·=·true\n······this[ENCODING]·=·null\n····}·else·if·(isEncodingOptions(options))·{\n······this[ENCODING]·=·options.encoding\n······this[OBJECTMODE]·=·false\n····}·else·{\n······this[OBJECTMODE]·=·false\n······this[ENCODING]·=·null\n····}\n····this[ASYNC]·=·!!options.async\n····this[DECODER]·=·this[ENCODING]\n······?·(new·StringDecoder(this[ENCODING])·as·SD)\n······:·null\n\n····//@ts-ignore·-·private·option·for·debugging·and·testing\n····if·(options·&&·options.debugExposeBuffer·===·true)·{\n······Object.defineProperty(this,·'buffer',·{·get:·()·=>·this[BUFFER]·})\n····}\n····//@ts-ignore·-·private·option·for·debugging·and·testing\n····if·(options·&&·options.debugExposePipes·===·true)·{\n······Object.defineProperty(this,·'pipes',·{·get:·()·=>·this[PIPES]·})\n····}\n\n····const·{·signal·}·=·options\n····if·(signal)·{\n······this[SIGNAL]·=·signal\n······if·(signal.aborted)·{\n········this[ABORT]()\n······}·else·{\n········signal.addEventListener('abort',·()·=>·this[ABORT]())\n······}\n····}\n··}\n\n··/**\n···*·The·amount·of·data·stored·in·the·buffer·waiting·to·be·read.\n···*\n···*·For·Buffer·strings,·this·will·be·the·total·byte·length.\n···*·For·string·encoding·streams,·this·will·be·the·string·character·length,\n···*·according·to·JavaScript's·`string.length`·logic.\n···*·For·objectMode·streams,·this·is·a·count·of·the·items·waiting·to·be\n···*·emitted.\n···*/\n··get·bufferLength()·{\n····return·this[BUFFERLENGTH]\n··}\n\n··/**\n···*·The·`BufferEncoding`·currently·in·use,·or·`null`\n···*/\n··get·encoding()·{\n····return·this[ENCODING]\n··}\n\n··/**\n···*·@deprecated·-·This·is·a·read·only·property\n···*/\n··set·encoding(_enc)·{\n····throw·new·Error('Encoding·must·be·set·at·instantiation·time')\n··}\n\n··/**\n···*·@deprecated·-·Encoding·may·only·be·set·at·instantiation·time\n···*/\n··setEncoding(_enc:·Minipass.Encoding)·{\n····throw·new·Error('Encoding·must·be·set·at·instantiation·time')\n··}\n\n··/**\n···*·True·if·this·is·an·objectMode·stream\n···*/\n··get·objectMode()·{\n····return·this[OBJECTMODE]\n··}\n\n··/**\n···*·@deprecated·-·This·is·a·read-only·property\n···*/\n··set·objectMode(_om)·{\n····throw·new·Error('objectMode·must·be·set·at·instantiation·time')\n··}\n\n··/**\n···*·true·if·this·is·an·async·stream\n···*/\n··get·['async']():·boolean·{\n····return·this[ASYNC]\n··}\n··/**\n···*·Set·to·true·to·make·this·stream·async.\n···*\n···*·Once·set,·it·cannot·be·unset,·as·this·would·potentially·cause·incorrect\n···*·behavior.··Ie,·a·sync·stream·can·be·made·async,·but·an·async·stream\n···*·cannot·be·safely·made·sync.\n···*/\n··set·['async'](a:·boolean)·{\n····this[ASYNC]·=·this[ASYNC]·||·!!a\n··}\n\n··//·drop·everything·and·get·out·of·the·flow·completely\n··[ABORT]()·{\n····this[ABORTED]·=·true\n····this.emit('abort',·this[SIGNAL]?.reason)\n····this.destroy(this[SIGNAL]?.reason)\n··}\n\n··/**\n···*·True·if·the·stream·has·been·aborted.\n···*/\n··get·aborted()·{\n····return·this[ABORTED]\n··}\n··/**\n···*·No-op·setter.·Stream·aborted·status·is·set·via·the·AbortSignal·provided\n···*·in·the·constructor·options.\n···*/\n··set·aborted(_)·{}\n\n··/**\n···*·Write·data·into·the·stream\n···*\n···*·If·the·chunk·written·is·a·string,·and·encoding·is·not·specified,·then\n···*·`utf8`·will·be·assumed.·If·the·stream·encoding·matches·the·encoding·of\n···*·a·written·string,·and·the·state·of·the·string·decoder·allows·it,·then\n···*·the·string·will·be·passed·through·to·either·the·output·or·the·internal\n···*·buffer·without·any·processing.·Otherwise,·it·will·be·turned·into·a\n···*·Buffer·object·for·processing·into·the·desired·encoding.\n···*\n···*·If·provided,·`cb`·function·is·called·immediately·before·return·for\n···*·sync·streams,·or·on·next·tick·for·async·streams,·because·for·this\n···*·base·class,·a·chunk·is·considered·\"processed\"·once·it·is·accepted\n···*·and·either·emitted·or·buffered.·That·is,·the·callback·does·not·indicate\n···*·that·the·chunk·has·been·eventually·emitted,·though·of·course·child\n···*·classes·can·override·this·function·to·do·whatever·processing·is·required\n···*·and·call·`super.write(...)`·only·once·processing·is·completed.\n···*/\n··write(chunk:·WType,·cb?:·()·=>·void):·boolean\n··write(\n····chunk:·WType,\n····encoding?:·Minipass.Encoding,\n····cb?:·()·=>·void\n··):·boolean\n··write(\n····chunk:·WType,\n····encoding?:·Minipass.Encoding·|·(()·=>·void),\n····cb?:·()·=>·void\n··):·boolean·{\n····if·(this[ABORTED])·return·false\n····if·(this[EOF])·throw·new·Error('write·after·end')\n\n····if·(this[DESTROYED])·{\n······this.emit(\n········'error',\n········Object.assign(\n··········new·Error('Cannot·call·write·after·a·stream·was·destroyed'),\n··········{·code:·'ERR_STREAM_DESTROYED'·}\n········)\n······)\n······return·true\n····}\n\n····if·(typeof·encoding·===·'function')·{\n······cb·=·encoding\n······encoding·=·'utf8'\n····}\n\n····if·(!encoding)·encoding·=·'utf8'\n\n····const·fn·=·this[ASYNC]·?·defer·:·nodefer\n\n····//·convert·array·buffers·and·typed·array·views·into·buffers\n····//·at·some·point·in·the·future,·we·may·want·to·do·the·opposite!\n····//·leave·strings·and·buffers·as-is\n····//·anything·is·only·allowed·if·in·object·mode,·so·throw\n····if·(!this[OBJECTMODE]·&&·!Buffer.isBuffer(chunk))·{\n······if·(isArrayBufferView(chunk))·{\n········//@ts-ignore·-·sinful·unsafe·type·changing\n········chunk·=·Buffer.from(\n··········chunk.buffer,\n··········chunk.byteOffset,\n··········chunk.byteLength\n········)\n······}·else·if·(isArrayBufferLike(chunk))·{\n········//@ts-ignore·-·sinful·unsafe·type·changing\n········chunk·=·Buffer.from(chunk)\n······}·else·if·(typeof·chunk·!==·'string')·{\n········throw·new·Error(\n··········'Non-contiguous·data·written·to·non-objectMode·stream'\n········)\n······}\n····}\n\n····//·handle·object·mode·up·front,·since·it's·simpler\n····//·this·yields·better·performance,·fewer·checks·later.\n····if·(this[OBJECTMODE])·{\n······//·maybe·impossible?\n······/*·c8·ignore·start·*/\n······if·(this[FLOWING]·&&·this[BUFFERLENGTH]·!==·0)·this[FLUSH](true)\n······/*·c8·ignore·stop·*/\n\n······if·(this[FLOWING])·this.emit('data',·chunk·as·unknown·as·RType)\n······else·this[BUFFERPUSH](chunk·as·unknown·as·RType)\n\n······if·(this[BUFFERLENGTH]·!==·0)·this.emit('readable')\n\n······if·(cb)·fn(cb)\n\n······return·this[FLOWING]\n····}\n\n····//·at·this·point·the·chunk·is·a·buffer·or·string\n····//·don't·buffer·it·up·or·send·it·to·the·decoder\n····if·(!(chunk·as·Minipass.BufferOrString).length)·{\n······if·(this[BUFFERLENGTH]·!==·0)·this.emit('readable')\n······if·(cb)·fn(cb)\n······return·this[FLOWING]\n····}\n\n····//·fast-path·writing·strings·of·same·encoding·to·a·stream·with\n····//·an·empty·buffer,·skipping·the·buffer/decoder·dance\n····if·(\n······typeof·chunk·===·'string'·&&\n······//·unless·it·is·a·string·already·ready·for·us·to·use\n······!(encoding·===·this[ENCODING]·&&·!this[DECODER]?.lastNeed)\n····)·{\n······//@ts-ignore·-·sinful·unsafe·type·change\n······chunk·=·Buffer.from(chunk,·encoding)\n····}\n\n····if·(Buffer.isBuffer(chunk)·&&·this[ENCODING])·{\n······//@ts-ignore·-·sinful·unsafe·type·change\n······chunk·=·this[DECODER].write(chunk)\n····}\n\n····//·Note:·flushing·CAN·potentially·switch·us·into·not-flowing·mode\n····if·(this[FLOWING]·&&·this[BUFFERLENGTH]·!==·0)·this[FLUSH](true)\n\n····if·(this[FLOWING])·this.emit('data',·chunk·as·unknown·as·RType)\n····else·this[BUFFERPUSH](chunk·as·unknown·as·RType)\n\n····if·(this[BUFFERLENGTH]·!==·0)·this.emit('readable')\n\n····if·(cb)·fn(cb)\n\n····return·this[FLOWING]\n··}\n\n··/**\n···*·Low-level·explicit·read·method.\n···*\n···*·In·objectMode,·the·argument·is·ignored,·and·one·item·is·returned·if\n···*·available.\n···*\n···*·`n`·is·the·number·of·bytes·(or·in·the·case·of·encoding·streams,\n···*·characters)·to·consume.·If·`n`·is·not·provided,·then·the·entire·buffer\n···*·is·returned,·or·`null`·is·returned·if·no·data·is·available.\n···*\n···*·If·`n`·is·greater·that·the·amount·of·data·in·the·internal·buffer,\n···*·then·`null`·is·returned.\n···*/\n··read(n?:·number·|·null):·RType·|·null·{\n····if·(this[DESTROYED])·return·null\n····this[DISCARDED]·=·false\n\n····if·(\n······this[BUFFERLENGTH]·===·0·||\n······n·===·0·||\n······(n·&&·n·>·this[BUFFERLENGTH])\n····)·{\n······this[MAYBE_EMIT_END]()\n······return·null\n····}\n\n····if·(this[OBJECTMODE])·n·=·null\n\n····if·(this[BUFFER].length·>·1·&&·!this[OBJECTMODE])·{\n······//·not·object·mode,·so·if·we·have·an·encoding,·then·RType·is·string\n······//·otherwise,·must·be·Buffer\n······this[BUFFER]·=·[\n········(this[ENCODING]\n··········?·this[BUFFER].join('')\n··········:·Buffer.concat(\n··············this[BUFFER]·as·Buffer[],\n··············this[BUFFERLENGTH]\n············))·as·RType,\n······]\n····}\n\n····const·ret·=·this[READ](n·||·null,·this[BUFFER][0]·as·RType)\n····this[MAYBE_EMIT_END]()\n····return·ret\n··}\n\n··[READ](n:·number·|·null,·chunk:·RType)·{\n····if·(this[OBJECTMODE])·this[BUFFERSHIFT]()\n····else·{\n······const·c·=·chunk·as·Minipass.BufferOrString\n······if·(n·===·c.length·||·n·===·null)·this[BUFFERSHIFT]()\n······else·if·(typeof·c·===·'string')·{\n········this[BUFFER][0]·=·c.slice(n)·as·RType\n········chunk·=·c.slice(0,·n)·as·RType\n········this[BUFFERLENGTH]·-=·n\n······}·else·{\n········this[BUFFER][0]·=·c.subarray(n)·as·RType\n········chunk·=·c.subarray(0,·n)·as·RType\n········this[BUFFERLENGTH]·-=·n\n······}\n····}\n\n····this.emit('data',·chunk)\n\n····if·(!this[BUFFER].length·&&·!this[EOF])·this.emit('drain')\n\n····return·chunk\n··}\n\n··/**\n···*·End·the·stream,·optionally·providing·a·final·write.\n···*\n···*·See·{@link·Minipass#write}·for·argument·descriptions\n···*/\n··end(cb?:·()·=>·void):·this\n··end(chunk:·WType,·cb?:·()·=>·void):·this\n··end(chunk:·WType,·encoding?:·Minipass.Encoding,·cb?:·()·=>·void):·this\n··end(\n····chunk?:·WType·|·(()·=>·void),\n····encoding?:·Minipass.Encoding·|·(()·=>·void),\n····cb?:·()·=>·void\n··):·this·{\n····if·(typeof·chunk·===·'function')·{\n······cb·=·chunk·as·()·=>·void\n······chunk·=·undefined\n····}\n····if·(typeof·encoding·===·'function')·{\n······cb·=·encoding\n······encoding·=·'utf8'\n····}\n····if·(chunk·!==·undefined)·this.write(chunk,·encoding)\n····if·(cb)·this.once('end',·cb)\n····this[EOF]·=·true\n····this.writable·=·false\n\n····//·if·we·haven't·written·anything,·then·go·ahead·and·emit,\n····//·even·if·we're·not·reading.\n····//·we'll·re-emit·if·a·new·'end'·listener·is·added·anyway.\n····//·This·makes·MP·more·suitable·to·write-only·use·cases.\n····if·(this[FLOWING]·||·!this[PAUSED])·this[MAYBE_EMIT_END]()\n····return·this\n··}\n\n··//·don't·let·the·internal·resume·be·overwritten\n··[RESUME]()·{\n····if·(this[DESTROYED])·return\n\n····if·(!this[DATALISTENERS]·&&·!this[PIPES].length)·{\n······this[DISCARDED]·=·true\n····}\n····this[PAUSED]·=·false\n····this[FLOWING]·=·true\n····this.emit('resume')\n····if·(this[BUFFER].length)·this[FLUSH]()\n····else·if·(this[EOF])·this[MAYBE_EMIT_END]()\n····else·this.emit('drain')\n··}\n\n··/**\n···*·Resume·the·stream·if·it·is·currently·in·a·paused·state\n···*\n···*·If·called·when·there·are·no·pipe·destinations·or·`data`·event·listeners,\n···*·this·will·place·the·stream·in·a·\"discarded\"·state,·where·all·data·will\n···*·be·thrown·away.·The·discarded·state·is·removed·if·a·pipe·destination·or\n···*·data·handler·is·added,·if·pause()·is·called,·or·if·any·synchronous·or\n···*·asynchronous·iteration·is·started.\n···*/\n··resume()·{\n····return·this[RESUME]()\n··}\n\n··/**\n···*·Pause·the·stream\n···*/\n··pause()·{\n····this[FLOWING]·=·false\n····this[PAUSED]·=·true\n····this[DISCARDED]·=·false\n··}\n\n··/**\n···*·true·if·the·stream·has·been·forcibly·destroyed\n···*/\n··get·destroyed()·{\n····return·this[DESTROYED]\n··}\n\n··/**\n···*·true·if·the·stream·is·currently·in·a·flowing·state,·meaning·that\n···*·any·writes·will·be·immediately·emitted.\n···*/\n··get·flowing()·{\n····return·this[FLOWING]\n··}\n\n··/**\n···*·true·if·the·stream·is·currently·in·a·paused·state\n···*/\n··get·paused()·{\n····return·this[PAUSED]\n··}\n\n··[BUFFERPUSH](chunk:·RType)·{\n····if·(this[OBJECTMODE])·this[BUFFERLENGTH]·+=·1\n····else·this[BUFFERLENGTH]·+=·(chunk·as·Minipass.BufferOrString).length\n····this[BUFFER].push(chunk)\n··}\n\n··[BUFFERSHIFT]():·RType·{\n····if·(this[OBJECTMODE])·this[BUFFERLENGTH]·-=·1\n····else\n······this[BUFFERLENGTH]·-=·(\n········this[BUFFER][0]·as·Minipass.BufferOrString\n······).length\n····return·this[BUFFER].shift()·as·RType\n··}\n\n··[FLUSH](noDrain:·boolean·=·false)·{\n····do·{}·while·(\n······this[FLUSHCHUNK](this[BUFFERSHIFT]())·&&\n······this[BUFFER].length\n····)\n\n····if·(!noDrain·&&·!this[BUFFER].length·&&·!this[EOF])·this.emit('drain')\n··}\n\n··[FLUSHCHUNK](chunk:·RType)·{\n····this.emit('data',·chunk)\n····return·this[FLOWING]\n··}\n\n··/**\n···*·Pipe·all·data·emitted·by·this·stream·into·the·destination·provided.\n···*\n···*·Triggers·the·flow·of·data.\n···*/\n··pipe<W·extends·Minipass.Writable>(dest:·W,·opts?:·PipeOptions):·W·{\n····if·(this[DESTROYED])·return·dest\n····this[DISCARDED]·=·false\n\n····const·ended·=·this[EMITTED_END]\n····opts·=·opts·||·{}\n····if·(dest·===·proc.stdout·||·dest·===·proc.stderr)·opts.end·=·false\n····else·opts.end·=·opts.end·!==·false\n····opts.proxyErrors·=·!!opts.proxyErrors\n\n····//·piping·an·ended·stream·ends·immediately\n····if·(ended)·{\n······if·(opts.end)·dest.end()\n····}·else·{\n······//·\"as\"·here·just·ignores·the·WType,·which·pipes·don't·care·about,\n······//·since·they're·only·consuming·from·us,·and·writing·to·the·dest\n······this[PIPES].push(\n········!opts.proxyErrors\n··········?·new·Pipe<RType>(this·as·Minipass<RType>,·dest,·opts)\n··········:·new·PipeProxyErrors<RType>(this·as·Minipass<RType>,·dest,·opts)\n······)\n······if·(this[ASYNC])·defer(()·=>·this[RESUME]())\n······else·this[RESUME]()\n····}\n\n····return·dest\n··}\n\n··/**\n···*·Fully·unhook·a·piped·destination·stream.\n···*\n···*·If·the·destination·stream·was·the·only·consumer·of·this·stream·(ie,\n···*·there·are·no·other·piped·destinations·or·`'data'`·event·listeners)\n···*·then·the·flow·of·data·will·stop·until·there·is·another·consumer·or\n···*·{@link·Minipass#resume}·is·explicitly·called.\n···*/\n··unpipe<W·extends·Minipass.Writable>(dest:·W)·{\n····const·p·=·this[PIPES].find(p·=>·p.dest·===·dest)\n····if·(p)·{\n······if·(this[PIPES].length·===·1)·{\n········if·(this[FLOWING]·&&·this[DATALISTENERS]·===·0)·{\n··········this[FLOWING]·=·false\n········}\n········this[PIPES]·=·[]\n······}·else·this[PIPES].splice(this[PIPES].indexOf(p),·1)\n······p.unpipe()\n····}\n··}\n\n··/**\n···*·Alias·for·{@link·Minipass#on}\n···*/\n··addListener<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··):·this·{\n····return·this.on(ev,·handler)\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.on`,·with·the·following\n···*·behavior·differences·to·prevent·data·loss·and·unnecessary·hangs:\n···*\n···*·-·Adding·a·'data'·event·handler·will·trigger·the·flow·of·data\n···*\n···*·-·Adding·a·'readable'·event·handler·when·there·is·data·waiting·to·be·read\n···*···will·cause·'readable'·to·be·emitted·immediately.\n···*\n···*·-·Adding·an·'endish'·event·handler·('end',·'finish',·etc.)·which·has\n···*···already·passed·will·cause·the·event·to·be·emitted·immediately·and·all\n···*···handlers·removed.\n···*\n···*·-·Adding·an·'error'·event·handler·after·an·error·has·been·emitted·will\n···*···cause·the·event·to·be·re-emitted·immediately·with·the·error·previously\n···*···raised.\n···*/\n··on<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··):·this·{\n····const·ret·=·super.on(\n······ev·as·string·|·symbol,\n······handler·as·(...a:·any[])·=>·any\n····)\n····if·(ev·===·'data')·{\n······this[DISCARDED]·=·false\n······this[DATALISTENERS]++\n······if·(!this[PIPES].length·&&·!this[FLOWING])·{\n········this[RESUME]()\n······}\n····}·else·if·(ev·===·'readable'·&&·this[BUFFERLENGTH]·!==·0)·{\n······super.emit('readable')\n····}·else·if·(isEndish(ev)·&&·this[EMITTED_END])·{\n······super.emit(ev)\n······this.removeAllListeners(ev)\n····}·else·if·(ev·===·'error'·&&·this[EMITTED_ERROR])·{\n······const·h·=·handler·as·(...a:·Events['error'])·=>·any\n······if·(this[ASYNC])·defer(()·=>·h.call(this,·this[EMITTED_ERROR]))\n······else·h.call(this,·this[EMITTED_ERROR])\n····}\n····return·ret\n··}\n\n··/**\n···*·Alias·for·{@link·Minipass#off}\n···*/\n··removeListener<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··)·{\n····return·this.off(ev,·handler)\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.off`\n···*\n···*·If·a·'data'·event·handler·is·removed,·and·it·was·the·last·consumer\n···*·(ie,·there·are·no·pipe·destinations·or·other·'data'·event·listeners),\n···*·then·the·flow·of·data·will·stop·until·there·is·another·consumer·or\n···*·{@link·Minipass#resume}·is·explicitly·called.\n···*/\n··off<Event·extends·keyof·Events>(\n····ev:·Event,\n····handler:·(...args:·Events[Event])·=>·any\n··)·{\n····const·ret·=·super.off(\n······ev·as·string·|·symbol,\n······handler·as·(...a:·any[])·=>·any\n····)\n····//·if·we·previously·had·listeners,·and·now·we·don't,·and·we·don't\n····//·have·any·pipes,·then·stop·the·flow,·unless·it's·been·explicitly\n····//·put·in·a·discarded·flowing·state·via·stream.resume().\n····if·(ev·===·'data')·{\n······this[DATALISTENERS]·=·this.listeners('data').length\n······if·(\n········this[DATALISTENERS]·===·0·&&\n········!this[DISCARDED]·&&\n········!this[PIPES].length\n······)·{\n········this[FLOWING]·=·false\n······}\n····}\n····return·ret\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.removeAllListeners`\n···*\n···*·If·all·'data'·event·handlers·are·removed,·and·they·were·the·last·consumer\n···*·(ie,·there·are·no·pipe·destinations),·then·the·flow·of·data·will·stop\n···*·until·there·is·another·consumer·or·{@link·Minipass#resume}·is·explicitly\n···*·called.\n···*/\n··removeAllListeners<Event·extends·keyof·Events>(ev?:·Event)·{\n····const·ret·=·super.removeAllListeners(ev·as·string·|·symbol·|·undefined)\n····if·(ev·===·'data'·||·ev·===·undefined)·{\n······this[DATALISTENERS]·=·0\n······if·(!this[DISCARDED]·&&·!this[PIPES].length)·{\n········this[FLOWING]·=·false\n······}\n····}\n····return·ret\n··}\n\n··/**\n···*·true·if·the·'end'·event·has·been·emitted\n···*/\n··get·emittedEnd()·{\n····return·this[EMITTED_END]\n··}\n\n··[MAYBE_EMIT_END]()·{\n····if·(\n······!this[EMITTING_END]·&&\n······!this[EMITTED_END]·&&\n······!this[DESTROYED]·&&\n······this[BUFFER].length·===·0·&&\n······this[EOF]\n····)·{\n······this[EMITTING_END]·=·true\n······this.emit('end')\n······this.emit('prefinish')\n······this.emit('finish')\n······if·(this[CLOSED])·this.emit('close')\n······this[EMITTING_END]·=·false\n····}\n··}\n\n··/**\n···*·Mostly·identical·to·`EventEmitter.emit`,·with·the·following\n···*·behavior·differences·to·prevent·data·loss·and·unnecessary·hangs:\n···*\n···*·If·the·stream·has·been·destroyed,·and·the·event·is·something·other\n···*·than·'close'·or·'error',·then·`false`·is·returned·and·no·handlers\n···*·are·called.\n···*\n···*·If·the·event·is·'end',·and·has·already·been·emitted,·then·the·event\n···*·is·ignored.·If·the·stream·is·in·a·paused·or·non-flowing·state,·then\n···*·the·event·will·be·deferred·until·data·flow·resumes.·If·the·stream·is\n···*·async,·then·handlers·will·be·called·on·the·next·tick·rather·than\n···*·immediately.\n···*\n···*·If·the·event·is·'close',·and·'end'·has·not·yet·been·emitted,·then\n···*·the·event·will·be·deferred·until·after·'end'·is·emitted.\n···*\n···*·If·the·event·is·'error',·and·an·AbortSignal·was·provided·for·the·stream,\n···*·and·there·are·no·listeners,·then·the·event·is·ignored,·matching·the\n···*·behavior·of·node·core·streams·in·the·presense·of·an·AbortSignal.\n···*\n···*·If·the·event·is·'finish'·or·'prefinish',·then·all·listeners·will·be\n···*·removed·after·emitting·the·event,·to·prevent·double-firing.\n···*/\n··emit<Event·extends·keyof·Events>(\n····ev:·Event,\n····...args:·Events[Event]\n··):·boolean·{\n····const·data·=·args[0]\n····//·error·and·close·are·only·events·allowed·after·calling·destroy()\n····if·(\n······ev·!==·'error'·&&\n······ev·!==·'close'·&&\n······ev·!==·DESTROYED·&&\n······this[DESTROYED]\n····)·{\n······return·false\n····}·else·if·(ev·===·'data')·{\n······return·!this[OBJECTMODE]·&&·!data\n········?·false\n········:·this[ASYNC]\n········?·(defer(()·=>·this[EMITDATA](data·as·RType)),·true)\n········:·this[EMITDATA](data·as·RType)\n····}·else·if·(ev·===·'end')·{\n······return·this[EMITEND]()\n····}·else·if·(ev·===·'close')·{\n······this[CLOSED]·=·true\n······//·don't·emit·close·before·'end'·and·'finish'\n······if·(!this[EMITTED_END]·&&·!this[DESTROYED])·return·false\n······const·ret·=·super.emit('close')\n······this.removeAllListeners('close')\n······return·ret\n····}·else·if·(ev·===·'error')·{\n······this[EMITTED_ERROR]·=·data\n······super.emit(ERROR,·data)\n······const·ret·=\n········!this[SIGNAL]·||·this.listeners('error').length\n··········?·super.emit('error',·data)\n··········:·false\n······this[MAYBE_EMIT_END]()\n······return·ret\n····}·else·if·(ev·===·'resume')·{\n······const·ret·=·super.emit('resume')\n······this[MAYBE_EMIT_END]()\n······return·ret\n····}·else·if·(ev·===·'finish'·||·ev·===·'prefinish')·{\n······const·ret·=·super.emit(ev)\n······this.removeAllListeners(ev)\n······return·ret\n····}\n\n····//·Some·other·unknown·event\n····const·ret·=·super.emit(ev·as·string,·...args)\n····this[MAYBE_EMIT_END]()\n····return·ret\n··}\n\n··[EMITDATA](data:·RType)·{\n····for·(const·p·of·this[PIPES])·{\n······if·(p.dest.write(data·as·RType)·===·false)·this.pause()\n····}\n····const·ret·=·this[DISCARDED]·?·false·:·super.emit('data',·data)\n····this[MAYBE_EMIT_END]()\n····return·ret\n··}\n\n··[EMITEND]()·{\n····if·(this[EMITTED_END])·return·false\n\n····this[EMITTED_END]·=·true\n····this.readable·=·false\n····return·this[ASYNC]\n······?·(defer(()·=>·this[EMITEND2]()),·true)\n······:·this[EMITEND2]()\n··}\n\n··[EMITEND2]()·{\n····if·(this[DECODER])·{\n······const·data·=·this[DECODER].end()\n······if·(data)·{\n········for·(const·p·of·this[PIPES])·{\n··········p.dest.write(data·as·RType)\n········}\n········if·(!this[DISCARDED])·super.emit('data',·data)\n······}\n····}\n\n····for·(const·p·of·this[PIPES])·{\n······p.end()\n····}\n····const·ret·=·super.emit('end')\n····this.removeAllListeners('end')\n····return·ret\n··}\n\n··/**\n···*·Return·a·Promise·that·resolves·to·an·array·of·all·emitted·data·once\n···*·the·stream·ends.\n···*/\n··async·collect():·Promise<RType[]·&·{·dataLength:·number·}>·{\n····const·buf:·RType[]·&·{·dataLength:·number·}·=·Object.assign([],·{\n······dataLength:·0,\n····})\n····if·(!this[OBJECTMODE])·buf.dataLength·=·0\n····//·set·the·promise·first,·in·case·an·error·is·raised\n····//·by·triggering·the·flow·here.\n····const·p·=·this.promise()\n····this.on('data',·c·=>·{\n······buf.push(c)\n······if·(!this[OBJECTMODE])\n········buf.dataLength·+=·(c·as·Minipass.BufferOrString).length\n····})\n····await·p\n····return·buf\n··}\n\n··/**\n···*·Return·a·Promise·that·resolves·to·the·concatenation·of·all·emitted·data\n···*·once·the·stream·ends.\n···*\n···*·Not·allowed·on·objectMode·streams.\n···*/\n··async·concat():·Promise<RType>·{\n····if·(this[OBJECTMODE])·{\n······throw·new·Error('cannot·concat·in·objectMode')\n····}\n····const·buf·=·await·this.collect()\n····return·(\n······this[ENCODING]\n········?·buf.join('')\n········:·Buffer.concat(buf·as·Buffer[],·buf.dataLength)\n····)·as·RType\n··}\n\n··/**\n···*·Return·a·void·Promise·that·resolves·once·the·stream·ends.\n···*/\n··async·promise():·Promise<void>·{\n····return·new·Promise<void>((resolve,·reject)·=>·{\n······this.on(DESTROYED,·()·=>·reject(new·Error('stream·destroyed')))\n······this.on('error',·er·=>·reject(er))\n······this.on('end',·()·=>·resolve())\n····})\n··}\n\n··/**\n···*·Asynchronous·`for·await·of`·iteration.\n···*\n···*·This·will·continue·emitting·all·chunks·until·the·stream·terminates.\n···*/\n··[Symbol.asyncIterator]():·AsyncGenerator<RType,·void,·void>·{\n····//·set·this·up·front,·in·case·the·consumer·doesn't·call·next()\n····//·right·away.\n····this[DISCARDED]·=·false\n····let·stopped·=·false\n····const·stop·=·async·():·Promise<IteratorReturnResult<void>>·=>·{\n······this.pause()\n······stopped·=·true\n······return·{·value:·undefined,·done:·true·}\n····}\n····const·next·=·():·Promise<IteratorResult<RType,·void>>·=>·{\n······if·(stopped)·return·stop()\n······const·res·=·this.read()\n······if·(res·!==·null)·return·Promise.resolve({·done:·false,·value:·res·})\n\n······if·(this[EOF])·return·stop()\n\n······let·resolve!:·(res:·IteratorResult<RType>)·=>·void\n······let·reject!:·(er:·unknown)·=>·void\n······const·onerr·=·(er:·unknown)·=>·{\n········this.off('data',·ondata)\n········this.off('end',·onend)\n········this.off(DESTROYED,·ondestroy)\n········stop()\n········reject(er)\n······}\n······const·ondata·=·(value:·RType)·=>·{\n········this.off('error',·onerr)\n········this.off('end',·onend)\n········this.off(DESTROYED,·ondestroy)\n········this.pause()\n········resolve({·value,·done:·!!this[EOF]·})\n······}\n······const·onend·=·()·=>·{\n········this.off('error',·onerr)\n········this.off('data',·ondata)\n········this.off(DESTROYED,·ondestroy)\n········stop()\n········resolve({·done:·true,·value:·undefined·})\n······}\n······const·ondestroy·=·()·=>·onerr(new·Error('stream·destroyed'))\n······return·new·Promise<IteratorResult<RType>>((res,·rej)·=>·{\n········reject·=·rej\n········resolve·=·res\n········this.once(DESTROYED,·ondestroy)\n········this.once('error',·onerr)\n········this.once('end',·onend)\n········this.once('data',·ondata)\n······})\n····}\n\n····return·{\n······next,\n······throw:·stop,\n······return:·stop,\n······[Symbol.asyncIterator]()·{\n········return·this\n······},\n····}\n··}\n\n··/**\n···*·Synchronous·`for·of`·iteration.\n···*\n···*·The·iteration·will·terminate·when·the·internal·buffer·runs·out,·even\n···*·if·the·stream·has·not·yet·terminated.\n···*/\n··[Symbol.iterator]():·Generator<RType,·void,·void>·{\n····//·set·this·up·front,·in·case·the·consumer·doesn't·call·next()\n····//·right·away.\n····this[DISCARDED]·=·false\n····let·stopped·=·false\n····const·stop·=·():·IteratorReturnResult<void>·=>·{\n······this.pause()\n······this.off(ERROR,·stop)\n······this.off(DESTROYED,·stop)\n······this.off('end',·stop)\n······stopped·=·true\n······return·{·done:·true,·value:·undefined·}\n····}\n\n····const·next·=·():·IteratorResult<RType,·void>·=>·{\n······if·(stopped)·return·stop()\n······const·value·=·this.read()\n······return·value·===·null·?·stop()·:·{·done:·false,·value·}\n····}\n\n····this.once('end',·stop)\n····this.once(ERROR,·stop)\n····this.once(DESTROYED,·stop)\n\n····return·{\n······next,\n······throw:·stop,\n······return:·stop,\n······[Symbol.iterator]()·{\n········return·this\n······},\n····}\n··}\n\n··/**\n···*·Destroy·a·stream,·preventing·it·from·being·used·for·any·further·purpose.\n···*\n···*·If·the·stream·has·a·`close()`·method,·then·it·will·be·called·on\n···*·destruction.\n···*\n···*·After·destruction,·any·attempt·to·write·data,·read·data,·or·emit·most\n···*·events·will·be·ignored.\n···*\n···*·If·an·error·argument·is·provided,·then·it·will·be·emitted·in·an\n···*·'error'·event.\n···*/\n··destroy(er?:·unknown)·{\n····if·(this[DESTROYED])·{\n······if·(er)·this.emit('error',·er)\n······else·this.emit(DESTROYED)\n······return·this\n····}\n\n····this[DESTROYED]·=·true\n····this[DISCARDED]·=·true\n\n····//·throw·away·all·buffered·data,·it's·never·coming·out\n····this[BUFFER].length·=·0\n····this[BUFFERLENGTH]·=·0\n\n····const·wc·=·this·as·Minipass<RType,·WType,·Events>·&·{\n······close?:·()·=>·void\n····}\n····if·(typeof·wc.close·===·'function'·&&·!this[CLOSED])·wc.close()\n\n····if·(er)·this.emit('error',·er)\n····//·if·no·error·to·emit,·still·reject·pending·promises\n····else·this.emit(DESTROYED)\n\n····return·this\n··}\n\n··/**\n···*·Alias·for·{@link·isStream}\n···*\n···*·Former·export·location,·maintained·for·backwards·compatibility.\n···*\n···*·@deprecated\n···*/\n··static·get·isStream()·{\n····return·isStream\n··}\n}\n",
1025 ········"//·this·is·just·a·very·light·wrapper·around·2·arrays·with·an·offset·index\n\nimport·{·GLOBSTAR·}·from·'minimatch'\nexport·type·MMPattern·=·string·|·RegExp·|·typeof·GLOBSTAR\n\n//·an·array·of·length·>=·1\nexport·type·PatternList·=·[p:·MMPattern,·...rest:·MMPattern[]]\nexport·type·UNCPatternList·=·[\n··p0:·'',\n··p1:·'',\n··p2:·string,\n··p3:·string,\n··...rest:·MMPattern[],\n]\nexport·type·DrivePatternList·=·[p0:·string,·...rest:·MMPattern[]]\nexport·type·AbsolutePatternList·=·[p0:·'',·...rest:·MMPattern[]]\nexport·type·GlobList·=·[p:·string,·...rest:·string[]]\n\nconst·isPatternList·=·(pl:·MMPattern[]):·pl·is·PatternList·=>\n··pl.length·>=·1\nconst·isGlobList·=·(gl:·string[]):·gl·is·GlobList·=>·gl.length·>=·1\n\n/**\n·*·An·immutable-ish·view·on·an·array·of·glob·parts·and·their·parsed\n·*·results\n·*/\nexport·class·Pattern·{\n··readonly·#patternList:·PatternList\n··readonly·#globList:·GlobList\n··readonly·#index:·number\n··readonly·length:·number\n··readonly·#platform:·NodeJS.Platform\n··#rest?:·Pattern·|·null\n··#globString?:·string\n··#isDrive?:·boolean\n··#isUNC?:·boolean\n··#isAbsolute?:·boolean\n··#followGlobstar:·boolean·=·true\n\n··constructor(\n····patternList:·MMPattern[],\n····globList:·string[],\n····index:·number,\n····platform:·NodeJS.Platform,\n··)·{\n····if·(!isPatternList(patternList))·{\n······throw·new·TypeError('empty·pattern·list')\n····}\n····if·(!isGlobList(globList))·{\n······throw·new·TypeError('empty·glob·list')\n····}\n····if·(globList.length·!==·patternList.length)·{\n······throw·new·TypeError('mismatched·pattern·list·and·glob·list·lengths')\n····}\n····this.length·=·patternList.length\n····if·(index·<·0·||·index·>=·this.length)·{\n······throw·new·TypeError('index·out·of·range')\n····}\n····this.#patternList·=·patternList\n····this.#globList·=·globList\n····this.#index·=·index\n····this.#platform·=·platform\n\n····//·normalize·root·entries·of·absolute·patterns·on·initial·creation.\n····if·(this.#index·===·0)·{\n······//·c:·=>·['c:/']\n······//·C:/·=>·['C:/']\n······//·C:/x·=>·['C:/',·'x']\n······//·//host/share·=>·['//host/share/']\n······//·//host/share/·=>·['//host/share/']\n······//·//host/share/x·=>·['//host/share/',·'x']\n······//·/etc·=>·['/',·'etc']\n······//·/·=>·['/']\n······if·(this.isUNC())·{\n········//·''·/·''·/·'host'·/·'share'\n········const·[p0,·p1,·p2,·p3,·...prest]·=·this.#patternList\n········const·[g0,·g1,·g2,·g3,·...grest]·=·this.#globList\n········if·(prest[0]·===·'')·{\n··········//·ends·in·/\n··········prest.shift()\n··········grest.shift()\n········}\n········const·p·=·[p0,·p1,·p2,·p3,·''].join('/')\n········const·g·=·[g0,·g1,·g2,·g3,·''].join('/')\n········this.#patternList·=·[p,·...prest]\n········this.#globList·=·[g,·...grest]\n········this.length·=·this.#patternList.length\n······}·else·if·(this.isDrive()·||·this.isAbsolute())·{\n········const·[p1,·...prest]·=·this.#patternList\n········const·[g1,·...grest]·=·this.#globList\n········if·(prest[0]·===·'')·{\n··········//·ends·in·/\n··········prest.shift()\n··········grest.shift()\n········}\n········const·p·=·(p1·as·string)·+·'/'\n········const·g·=·g1·+·'/'\n········this.#patternList·=·[p,·...prest]\n········this.#globList·=·[g,·...grest]\n········this.length·=·this.#patternList.length\n······}\n····}\n··}\n\n··/**\n···*·The·first·entry·in·the·parsed·list·of·patterns\n···*/\n··pattern():·MMPattern·{\n····return·this.#patternList[this.#index]·as·MMPattern\n··}\n\n··/**\n···*·true·of·if·pattern()·returns·a·string\n···*/\n··isString():·boolean·{\n····return·typeof·this.#patternList[this.#index]·===·'string'\n··}\n··/**\n···*·true·of·if·pattern()·returns·GLOBSTAR\n···*/\n··isGlobstar():·boolean·{\n····return·this.#patternList[this.#index]·===·GLOBSTAR\n··}\n··/**\n···*·true·if·pattern()·returns·a·regexp\n···*/\n··isRegExp():·boolean·{\n····return·this.#patternList[this.#index]·instanceof·RegExp\n··}\n\n··/**\n···*·The·/-joined·set·of·glob·parts·that·make·up·this·pattern\n···*/\n··globString():·string·{\n····return·(this.#globString·=\n······this.#globString·||\n······(this.#index·===·0·?\n········this.isAbsolute()·?\n··········this.#globList[0]·+·this.#globList.slice(1).join('/')\n········:·this.#globList.join('/')\n······:·this.#globList.slice(this.#index).join('/')))\n··}\n\n··/**\n···*·true·if·there·are·more·pattern·parts·after·this·one\n···*/\n··hasMore():·boolean·{\n····return·this.length·>·this.#index·+·1\n··}\n\n··/**\n···*·The·rest·of·the·pattern·after·this·part,·or·null·if·this·is·the·end\n···*/\n··rest():·Pattern·|·null·{\n····if·(this.#rest·!==·undefined)·return·this.#rest\n····if·(!this.hasMore())·return·(this.#rest·=·null)\n····this.#rest·=·new·Pattern(\n······this.#patternList,\n······this.#globList,\n······this.#index·+·1,\n······this.#platform,\n····)\n····this.#rest.#isAbsolute·=·this.#isAbsolute\n····this.#rest.#isUNC·=·this.#isUNC\n····this.#rest.#isDrive·=·this.#isDrive\n····return·this.#rest\n··}\n\n··/**\n···*·true·if·the·pattern·represents·a·//unc/path/·on·windows\n···*/\n··isUNC():·boolean·{\n····const·pl·=·this.#patternList\n····return·this.#isUNC·!==·undefined·?\n········this.#isUNC\n······:·(this.#isUNC·=\n··········this.#platform·===·'win32'·&&\n··········this.#index·===·0·&&\n··········pl[0]·===·''·&&\n··········pl[1]·===·''·&&\n··········typeof·pl[2]·===·'string'·&&\n··········!!pl[2]·&&\n··········typeof·pl[3]·===·'string'·&&\n··········!!pl[3])\n··}\n\n··//·pattern·like·C:/...\n··//·split·=·['C:',·...]\n··//·XXX:·would·be·nice·to·handle·patterns·like·`c:*`·to·test·the·cwd\n··//·in·c:·for·*,·but·I·don't·know·of·a·way·to·even·figure·out·what·that\n··//·cwd·is·without·actually·chdir'ing·into·it?\n··/**\n···*·True·if·the·pattern·starts·with·a·drive·letter·on·Windows\n···*/\n··isDrive():·boolean·{\n····const·pl·=·this.#patternList\n····return·this.#isDrive·!==·undefined·?\n········this.#isDrive\n······:·(this.#isDrive·=\n··········this.#platform·===·'win32'·&&\n··········this.#index·===·0·&&\n··········this.length·>·1·&&\n··········typeof·pl[0]·===·'string'·&&\n··········/^[a-z]:$/i.test(pl[0]))\n··}\n\n··//·pattern·=·'/'·or·'/...'·or·'/x/...'\n··//·split·=·['',·'']·or·['',·...]·or·['',·'x',·...]\n··//·Drive·and·UNC·both·considered·absolute·on·windows\n··/**\n···*·True·if·the·pattern·is·rooted·on·an·absolute·path\n···*/\n··isAbsolute():·boolean·{\n····const·pl·=·this.#patternList\n····return·this.#isAbsolute·!==·undefined·?\n········this.#isAbsolute\n······:·(this.#isAbsolute·=\n··········(pl[0]·===·''·&&·pl.length·>·1)·||\n··········this.isDrive()·||\n··········this.isUNC())\n··}\n\n··/**\n···*·consume·the·root·of·the·pattern,·and·return·it\n···*/\n··root():·string·{\n····const·p·=·this.#patternList[0]\n····return·(\n········typeof·p·===·'string'·&&·this.isAbsolute()·&&·this.#index·===·0\n······)·?\n········p\n······:·''\n··}\n\n··/**\n···*·Check·to·see·if·the·current·globstar·pattern·is·allowed·to·follow\n···*·a·symbolic·link.\n···*/\n··checkFollowGlobstar():·boolean·{\n····return·!(\n······this.#index·===·0·||\n······!this.isGlobstar()·||\n······!this.#followGlobstar\n····)\n··}\n\n··/**\n···*·Mark·that·the·current·globstar·pattern·is·following·a·symbolic·link\n···*/\n··markFollowGlobstar():·boolean·{\n····if·(this.#index·===·0·||·!this.isGlobstar()·||·!this.#followGlobstar)\n······return·false\n····this.#followGlobstar·=·false\n····return·true\n··}\n}\n",1026 ········"//·this·is·just·a·very·light·wrapper·around·2·arrays·with·an·offset·index\n\nimport·{·GLOBSTAR·}·from·'minimatch'\nexport·type·MMPattern·=·string·|·RegExp·|·typeof·GLOBSTAR\n\n//·an·array·of·length·>=·1\nexport·type·PatternList·=·[p:·MMPattern,·...rest:·MMPattern[]]\nexport·type·UNCPatternList·=·[\n··p0:·'',\n··p1:·'',\n··p2:·string,\n··p3:·string,\n··...rest:·MMPattern[],\n]\nexport·type·DrivePatternList·=·[p0:·string,·...rest:·MMPattern[]]\nexport·type·AbsolutePatternList·=·[p0:·'',·...rest:·MMPattern[]]\nexport·type·GlobList·=·[p:·string,·...rest:·string[]]\n\nconst·isPatternList·=·(pl:·MMPattern[]):·pl·is·PatternList·=>\n··pl.length·>=·1\nconst·isGlobList·=·(gl:·string[]):·gl·is·GlobList·=>·gl.length·>=·1\n\n/**\n·*·An·immutable-ish·view·on·an·array·of·glob·parts·and·their·parsed\n·*·results\n·*/\nexport·class·Pattern·{\n··readonly·#patternList:·PatternList\n··readonly·#globList:·GlobList\n··readonly·#index:·number\n··readonly·length:·number\n··readonly·#platform:·NodeJS.Platform\n··#rest?:·Pattern·|·null\n··#globString?:·string\n··#isDrive?:·boolean\n··#isUNC?:·boolean\n··#isAbsolute?:·boolean\n··#followGlobstar:·boolean·=·true\n\n··constructor(\n····patternList:·MMPattern[],\n····globList:·string[],\n····index:·number,\n····platform:·NodeJS.Platform,\n··)·{\n····if·(!isPatternList(patternList))·{\n······throw·new·TypeError('empty·pattern·list')\n····}\n····if·(!isGlobList(globList))·{\n······throw·new·TypeError('empty·glob·list')\n····}\n····if·(globList.length·!==·patternList.length)·{\n······throw·new·TypeError('mismatched·pattern·list·and·glob·list·lengths')\n····}\n····this.length·=·patternList.length\n····if·(index·<·0·||·index·>=·this.length)·{\n······throw·new·TypeError('index·out·of·range')\n····}\n····this.#patternList·=·patternList\n····this.#globList·=·globList\n····this.#index·=·index\n····this.#platform·=·platform\n\n····//·normalize·root·entries·of·absolute·patterns·on·initial·creation.\n····if·(this.#index·===·0)·{\n······//·c:·=>·['c:/']\n······//·C:/·=>·['C:/']\n······//·C:/x·=>·['C:/',·'x']\n······//·//host/share·=>·['//host/share/']\n······//·//host/share/·=>·['//host/share/']\n······//·//host/share/x·=>·['//host/share/',·'x']\n······//·/etc·=>·['/',·'etc']\n······//·/·=>·['/']\n······if·(this.isUNC())·{\n········//·''·/·''·/·'host'·/·'share'\n········const·[p0,·p1,·p2,·p3,·...prest]·=·this.#patternList\n········const·[g0,·g1,·g2,·g3,·...grest]·=·this.#globList\n········if·(prest[0]·===·'')·{\n··········//·ends·in·/\n··········prest.shift()\n··········grest.shift()\n········}\n········const·p·=·[p0,·p1,·p2,·p3,·''].join('/')\n········const·g·=·[g0,·g1,·g2,·g3,·''].join('/')\n········this.#patternList·=·[p,·...prest]\n········this.#globList·=·[g,·...grest]\n········this.length·=·this.#patternList.length\n······}·else·if·(this.isDrive()·||·this.isAbsolute())·{\n········const·[p1,·...prest]·=·this.#patternList\n········const·[g1,·...grest]·=·this.#globList\n········if·(prest[0]·===·'')·{\n··········//·ends·in·/\n··········prest.shift()\n··········grest.shift()\n········}\n········const·p·=·(p1·as·string)·+·'/'\n········const·g·=·g1·+·'/'\n········this.#patternList·=·[p,·...prest]\n········this.#globList·=·[g,·...grest]\n········this.length·=·this.#patternList.length\n······}\n····}\n··}\n\n··/**\n···*·The·first·entry·in·the·parsed·list·of·patterns\n···*/\n··pattern():·MMPattern·{\n····return·this.#patternList[this.#index]·as·MMPattern\n··}\n\n··/**\n···*·true·of·if·pattern()·returns·a·string\n···*/\n··isString():·boolean·{\n····return·typeof·this.#patternList[this.#index]·===·'string'\n··}\n··/**\n···*·true·of·if·pattern()·returns·GLOBSTAR\n···*/\n··isGlobstar():·boolean·{\n····return·this.#patternList[this.#index]·===·GLOBSTAR\n··}\n··/**\n···*·true·if·pattern()·returns·a·regexp\n···*/\n··isRegExp():·boolean·{\n····return·this.#patternList[this.#index]·instanceof·RegExp\n··}\n\n··/**\n···*·The·/-joined·set·of·glob·parts·that·make·up·this·pattern\n···*/\n··globString():·string·{\n····return·(this.#globString·=\n······this.#globString·||\n······(this.#index·===·0·?\n········this.isAbsolute()·?\n··········this.#globList[0]·+·this.#globList.slice(1).join('/')\n········:·this.#globList.join('/')\n······:·this.#globList.slice(this.#index).join('/')))\n··}\n\n··/**\n···*·true·if·there·are·more·pattern·parts·after·this·one\n···*/\n··hasMore():·boolean·{\n····return·this.length·>·this.#index·+·1\n··}\n\n··/**\n···*·The·rest·of·the·pattern·after·this·part,·or·null·if·this·is·the·end\n···*/\n··rest():·Pattern·|·null·{\n····if·(this.#rest·!==·undefined)·return·this.#rest\n····if·(!this.hasMore())·return·(this.#rest·=·null)\n····this.#rest·=·new·Pattern(\n······this.#patternList,\n······this.#globList,\n······this.#index·+·1,\n······this.#platform,\n····)\n····this.#rest.#isAbsolute·=·this.#isAbsolute\n····this.#rest.#isUNC·=·this.#isUNC\n····this.#rest.#isDrive·=·this.#isDrive\n····return·this.#rest\n··}\n\n··/**\n···*·true·if·the·pattern·represents·a·//unc/path/·on·windows\n···*/\n··isUNC():·boolean·{\n····const·pl·=·this.#patternList\n····return·this.#isUNC·!==·undefined·?\n········this.#isUNC\n······:·(this.#isUNC·=\n··········this.#platform·===·'win32'·&&\n··········this.#index·===·0·&&\n··········pl[0]·===·''·&&\n··········pl[1]·===·''·&&\n··········typeof·pl[2]·===·'string'·&&\n··········!!pl[2]·&&\n··········typeof·pl[3]·===·'string'·&&\n··········!!pl[3])\n··}\n\n··//·pattern·like·C:/...\n··//·split·=·['C:',·...]\n··//·XXX:·would·be·nice·to·handle·patterns·like·`c:*`·to·test·the·cwd\n··//·in·c:·for·*,·but·I·don't·know·of·a·way·to·even·figure·out·what·that\n··//·cwd·is·without·actually·chdir'ing·into·it?\n··/**\n···*·True·if·the·pattern·starts·with·a·drive·letter·on·Windows\n···*/\n··isDrive():·boolean·{\n····const·pl·=·this.#patternList\n····return·this.#isDrive·!==·undefined·?\n········this.#isDrive\n······:·(this.#isDrive·=\n··········this.#platform·===·'win32'·&&\n··········this.#index·===·0·&&\n··········this.length·>·1·&&\n··········typeof·pl[0]·===·'string'·&&\n··········/^[a-z]:$/i.test(pl[0]))\n··}\n\n··//·pattern·=·'/'·or·'/...'·or·'/x/...'\n··//·split·=·['',·'']·or·['',·...]·or·['',·'x',·...]\n··//·Drive·and·UNC·both·considered·absolute·on·windows\n··/**\n···*·True·if·the·pattern·is·rooted·on·an·absolute·path\n···*/\n··isAbsolute():·boolean·{\n····const·pl·=·this.#patternList\n····return·this.#isAbsolute·!==·undefined·?\n········this.#isAbsolute\n······:·(this.#isAbsolute·=\n··········(pl[0]·===·''·&&·pl.length·>·1)·||\n··········this.isDrive()·||\n··········this.isUNC())\n··}\n\n··/**\n···*·consume·the·root·of·the·pattern,·and·return·it\n···*/\n··root():·string·{\n····const·p·=·this.#patternList[0]\n····return·(\n········typeof·p·===·'string'·&&·this.isAbsolute()·&&·this.#index·===·0\n······)·?\n········p\n······:·''\n··}\n\n··/**\n···*·Check·to·see·if·the·current·globstar·pattern·is·allowed·to·follow\n···*·a·symbolic·link.\n···*/\n··checkFollowGlobstar():·boolean·{\n····return·!(\n······this.#index·===·0·||\n······!this.isGlobstar()·||\n······!this.#followGlobstar\n····)\n··}\n\n··/**\n···*·Mark·that·the·current·globstar·pattern·is·following·a·symbolic·link\n···*/\n··markFollowGlobstar():·boolean·{\n····if·(this.#index·===·0·||·!this.isGlobstar()·||·!this.#followGlobstar)\n······return·false\n····this.#followGlobstar·=·false\n····return·true\n··}\n}\n",
1026 ········"//·give·it·a·pattern,·and·it'll·be·able·to·tell·you·if\n//·a·given·path·should·be·ignored.\n//·Ignoring·a·path·ignores·its·children·if·the·pattern·ends·in·/**\n//·Ignores·are·always·parsed·in·dot:true·mode\n\nimport·{·Minimatch,·MinimatchOptions·}·from·'minimatch'\nimport·{·Path·}·from·'path-scurry'\nimport·{·Pattern·}·from·'./pattern.js'\nimport·{·GlobWalkerOpts·}·from·'./walker.js'\n\nexport·interface·IgnoreLike·{\n··ignored?:·(p:·Path)·=>·boolean\n··childrenIgnored?:·(p:·Path)·=>·boolean\n··add?:·(ignore:·string)·=>·void\n}\n\nconst·defaultPlatform:·NodeJS.Platform·=\n··(\n····typeof·process·===·'object'·&&\n····process·&&\n····typeof·process.platform·===·'string'\n··)·?\n····process.platform\n··:·'linux'\n\n/**\n·*·Class·used·to·process·ignored·patterns\n·*/\nexport·class·Ignore·implements·IgnoreLike·{\n··relative:·Minimatch[]\n··relativeChildren:·Minimatch[]\n··absolute:·Minimatch[]\n··absoluteChildren:·Minimatch[]\n··platform:·NodeJS.Platform\n··mmopts:·MinimatchOptions\n\n··constructor(\n····ignored:·string[],\n····{\n······nobrace,\n······nocase,\n······noext,\n······noglobstar,\n······platform·=·defaultPlatform,\n····}:·GlobWalkerOpts,\n··)·{\n····this.relative·=·[]\n····this.absolute·=·[]\n····this.relativeChildren·=·[]\n····this.absoluteChildren·=·[]\n····this.platform·=·platform\n····this.mmopts·=·{\n······dot:·true,\n······nobrace,\n······nocase,\n······noext,\n······noglobstar,\n······optimizationLevel:·2,\n······platform,\n······nocomment:·true,\n······nonegate:·true,\n····}\n····for·(const·ign·of·ignored)·this.add(ign)\n··}\n\n··add(ign:·string)·{\n····//·this·is·a·little·weird,·but·it·gives·us·a·clean·set·of·optimized\n····//·minimatch·matchers,·without·getting·tripped·up·if·one·of·them\n····//·ends·in·/**·inside·a·brace·section,·and·it's·only·inefficient·at\n····//·the·start·of·the·walk,·not·along·it.\n····//·It'd·be·nice·if·the·Pattern·class·just·had·a·.test()·method,·but\n····//·handling·globstars·is·a·bit·of·a·pita,·and·that·code·already·lives\n····//·in·minimatch·anyway.\n····//·Another·way·would·be·if·maybe·Minimatch·could·take·its·set/globParts\n····//·as·an·option,·and·then·we·could·at·least·just·use·Pattern·to·test\n····//·for·absolute-ness.\n····//·Yet·another·way,·Minimatch·could·take·an·array·of·glob·strings,·and\n····//·a·cwd·option,·and·do·the·right·thing.\n····const·mm·=·new·Minimatch(ign,·this.mmopts)\n····for·(let·i·=·0;·i·<·mm.set.length;·i++)·{\n······const·parsed·=·mm.set[i]\n······const·globParts·=·mm.globParts[i]\n······/*·c8·ignore·start·*/\n······if·(!parsed·||·!globParts)·{\n········throw·new·Error('invalid·pattern·object')\n······}\n······//·strip·off·leading·./·portions\n······//·https://github.com/isaacs/node-glob/issues/570\n······while·(parsed[0]·===·'.'·&&·globParts[0]·===·'.')·{\n········parsed.shift()\n········globParts.shift()\n······}\n······/*·c8·ignore·stop·*/\n······const·p·=·new·Pattern(parsed,·globParts,·0,·this.platform)\n······const·m·=·new·Minimatch(p.globString(),·this.mmopts)\n······const·children·=·globParts[globParts.length·-·1]·===·'**'\n······const·absolute·=·p.isAbsolute()\n······if·(absolute)·this.absolute.push(m)\n······else·this.relative.push(m)\n······if·(children)·{\n········if·(absolute)·this.absoluteChildren.push(m)\n········else·this.relativeChildren.push(m)\n······}\n····}\n··}\n\n··ignored(p:·Path):·boolean·{\n····const·fullpath·=·p.fullpath()\n····const·fullpaths·=·`${fullpath}/`\n····const·relative·=·p.relative()·||·'.'\n····const·relatives·=·`${relative}/`\n····for·(const·m·of·this.relative)·{\n······if·(m.match(relative)·||·m.match(relatives))·return·true\n····}\n····for·(const·m·of·this.absolute)·{\n······if·(m.match(fullpath)·||·m.match(fullpaths))·return·true\n····}\n····return·false\n··}\n\n··childrenIgnored(p:·Path):·boolean·{\n····const·fullpath·=·p.fullpath()·+·'/'\n····const·relative·=·(p.relative()·||·'.')·+·'/'\n····for·(const·m·of·this.relativeChildren)·{\n······if·(m.match(relative))·return·true\n····}\n····for·(const·m·of·this.absoluteChildren)·{\n······if·(m.match(fullpath))·return·true\n····}\n····return·false\n··}\n}\n",1027 ········"//·give·it·a·pattern,·and·it'll·be·able·to·tell·you·if\n//·a·given·path·should·be·ignored.\n//·Ignoring·a·path·ignores·its·children·if·the·pattern·ends·in·/**\n//·Ignores·are·always·parsed·in·dot:true·mode\n\nimport·{·Minimatch,·MinimatchOptions·}·from·'minimatch'\nimport·{·Path·}·from·'path-scurry'\nimport·{·Pattern·}·from·'./pattern.js'\nimport·{·GlobWalkerOpts·}·from·'./walker.js'\n\nexport·interface·IgnoreLike·{\n··ignored?:·(p:·Path)·=>·boolean\n··childrenIgnored?:·(p:·Path)·=>·boolean\n··add?:·(ignore:·string)·=>·void\n}\n\nconst·defaultPlatform:·NodeJS.Platform·=\n··(\n····typeof·process·===·'object'·&&\n····process·&&\n····typeof·process.platform·===·'string'\n··)·?\n····process.platform\n··:·'linux'\n\n/**\n·*·Class·used·to·process·ignored·patterns\n·*/\nexport·class·Ignore·implements·IgnoreLike·{\n··relative:·Minimatch[]\n··relativeChildren:·Minimatch[]\n··absolute:·Minimatch[]\n··absoluteChildren:·Minimatch[]\n··platform:·NodeJS.Platform\n··mmopts:·MinimatchOptions\n\n··constructor(\n····ignored:·string[],\n····{\n······nobrace,\n······nocase,\n······noext,\n······noglobstar,\n······platform·=·defaultPlatform,\n····}:·GlobWalkerOpts,\n··)·{\n····this.relative·=·[]\n····this.absolute·=·[]\n····this.relativeChildren·=·[]\n····this.absoluteChildren·=·[]\n····this.platform·=·platform\n····this.mmopts·=·{\n······dot:·true,\n······nobrace,\n······nocase,\n······noext,\n······noglobstar,\n······optimizationLevel:·2,\n······platform,\n······nocomment:·true,\n······nonegate:·true,\n····}\n····for·(const·ign·of·ignored)·this.add(ign)\n··}\n\n··add(ign:·string)·{\n····//·this·is·a·little·weird,·but·it·gives·us·a·clean·set·of·optimized\n····//·minimatch·matchers,·without·getting·tripped·up·if·one·of·them\n····//·ends·in·/**·inside·a·brace·section,·and·it's·only·inefficient·at\n····//·the·start·of·the·walk,·not·along·it.\n····//·It'd·be·nice·if·the·Pattern·class·just·had·a·.test()·method,·but\n····//·handling·globstars·is·a·bit·of·a·pita,·and·that·code·already·lives\n····//·in·minimatch·anyway.\n····//·Another·way·would·be·if·maybe·Minimatch·could·take·its·set/globParts\n····//·as·an·option,·and·then·we·could·at·least·just·use·Pattern·to·test\n····//·for·absolute-ness.\n····//·Yet·another·way,·Minimatch·could·take·an·array·of·glob·strings,·and\n····//·a·cwd·option,·and·do·the·right·thing.\n····const·mm·=·new·Minimatch(ign,·this.mmopts)\n····for·(let·i·=·0;·i·<·mm.set.length;·i++)·{\n······const·parsed·=·mm.set[i]\n······const·globParts·=·mm.globParts[i]\n······/*·c8·ignore·start·*/\n······if·(!parsed·||·!globParts)·{\n········throw·new·Error('invalid·pattern·object')\n······}\n······//·strip·off·leading·./·portions\n······//·https://github.com/isaacs/node-glob/issues/570\n······while·(parsed[0]·===·'.'·&&·globParts[0]·===·'.')·{\n········parsed.shift()\n········globParts.shift()\n······}\n······/*·c8·ignore·stop·*/\n······const·p·=·new·Pattern(parsed,·globParts,·0,·this.platform)\n······const·m·=·new·Minimatch(p.globString(),·this.mmopts)\n······const·children·=·globParts[globParts.length·-·1]·===·'**'\n······const·absolute·=·p.isAbsolute()\n······if·(absolute)·this.absolute.push(m)\n······else·this.relative.push(m)\n······if·(children)·{\n········if·(absolute)·this.absoluteChildren.push(m)\n········else·this.relativeChildren.push(m)\n······}\n····}\n··}\n\n··ignored(p:·Path):·boolean·{\n····const·fullpath·=·p.fullpath()\n····const·fullpaths·=·`${fullpath}/`\n····const·relative·=·p.relative()·||·'.'\n····const·relatives·=·`${relative}/`\n····for·(const·m·of·this.relative)·{\n······if·(m.match(relative)·||·m.match(relatives))·return·true\n····}\n····for·(const·m·of·this.absolute)·{\n······if·(m.match(fullpath)·||·m.match(fullpaths))·return·true\n····}\n····return·false\n··}\n\n··childrenIgnored(p:·Path):·boolean·{\n····const·fullpath·=·p.fullpath()·+·'/'\n····const·relative·=·(p.relative()·||·'.')·+·'/'\n····for·(const·m·of·this.relativeChildren)·{\n······if·(m.match(relative))·return·true\n····}\n····for·(const·m·of·this.absoluteChildren)·{\n······if·(m.match(fullpath))·return·true\n····}\n····return·false\n··}\n}\n",
1027 ········"//·synchronous·utility·for·filtering·entries·and·calculating·subwalks\n\nimport·{·GLOBSTAR,·MMRegExp·}·from·'minimatch'\nimport·{·Path·}·from·'path-scurry'\nimport·{·MMPattern,·Pattern·}·from·'./pattern.js'\nimport·{·GlobWalkerOpts·}·from·'./walker.js'\n\n/**\n·*·A·cache·of·which·patterns·have·been·processed·for·a·given·Path\n·*/\nexport·class·HasWalkedCache·{\n··store:·Map<string,·Set<string>>\n··constructor(store:·Map<string,·Set<string>>·=·new·Map())·{\n····this.store·=·store\n··}\n··copy()·{\n····return·new·HasWalkedCache(new·Map(this.store))\n··}\n··hasWalked(target:·Path,·pattern:·Pattern)·{\n····return·this.store.get(target.fullpath())?.has(pattern.globString())\n··}\n··storeWalked(target:·Path,·pattern:·Pattern)·{\n····const·fullpath·=·target.fullpath()\n····const·cached·=·this.store.get(fullpath)\n····if·(cached)·cached.add(pattern.globString())\n····else·this.store.set(fullpath,·new·Set([pattern.globString()]))\n··}\n}\n\n/**\n·*·A·record·of·which·paths·have·been·matched·in·a·given·walk·step,\n·*·and·whether·they·only·are·considered·a·match·if·they·are·a·directory,\n·*·and·whether·their·absolute·or·relative·path·should·be·returned.\n·*/\nexport·class·MatchRecord·{\n··store:·Map<Path,·number>·=·new·Map()\n··add(target:·Path,·absolute:·boolean,·ifDir:·boolean)·{\n····const·n·=·(absolute·?·2·:·0)·|·(ifDir·?·1·:·0)\n····const·current·=·this.store.get(target)\n····this.store.set(target,·current·===·undefined·?·n·:·n·&·current)\n··}\n··//·match,·absolute,·ifdir\n··entries():·[Path,·boolean,·boolean][]·{\n····return·[...this.store.entries()].map(([path,·n])·=>·[\n······path,\n······!!(n·&·2),\n······!!(n·&·1),\n····])\n··}\n}\n\n/**\n·*·A·collection·of·patterns·that·must·be·processed·in·a·subsequent·step\n·*·for·a·given·path.\n·*/\nexport·class·SubWalks·{\n··store:·Map<Path,·Pattern[]>·=·new·Map()\n··add(target:·Path,·pattern:·Pattern)·{\n····if·(!target.canReaddir())·{\n······return\n····}\n····const·subs·=·this.store.get(target)\n····if·(subs)·{\n······if·(!subs.find(p·=>·p.globString()·===·pattern.globString()))·{\n········subs.push(pattern)\n······}\n····}·else·this.store.set(target,·[pattern])\n··}\n··get(target:·Path):·Pattern[]·{\n····const·subs·=·this.store.get(target)\n····/*·c8·ignore·start·*/\n····if·(!subs)·{\n······throw·new·Error('attempting·to·walk·unknown·path')\n····}\n····/*·c8·ignore·stop·*/\n····return·subs\n··}\n··entries():·[Path,·Pattern[]][]·{\n····return·this.keys().map(k·=>·[k,·this.store.get(k)·as·Pattern[]])\n··}\n··keys():·Path[]·{\n····return·[...this.store.keys()].filter(t·=>·t.canReaddir())\n··}\n}\n\n/**\n·*·The·class·that·processes·patterns·for·a·given·path.\n·*\n·*·Handles·child·entry·filtering,·and·determining·whether·a·path's\n·*·directory·contents·must·be·read.\n·*/\nexport·class·Processor·{\n··hasWalkedCache:·HasWalkedCache\n··matches·=·new·MatchRecord()\n··subwalks·=·new·SubWalks()\n··patterns?:·Pattern[]\n··follow:·boolean\n··dot:·boolean\n··opts:·GlobWalkerOpts\n\n··constructor(opts:·GlobWalkerOpts,·hasWalkedCache?:·HasWalkedCache)·{\n····this.opts·=·opts\n····this.follow·=·!!opts.follow\n····this.dot·=·!!opts.dot\n····this.hasWalkedCache·=\n······hasWalkedCache·?·hasWalkedCache.copy()·:·new·HasWalkedCache()\n··}\n\n··processPatterns(target:·Path,·patterns:·Pattern[])·{\n····this.patterns·=·patterns\n····const·processingSet:·[Path,·Pattern][]·=·patterns.map(p·=>·[target,·p])\n\n····//·map·of·paths·to·the·magic-starting·subwalks·they·need·to·walk\n····//·first·item·in·patterns·is·the·filter\n\n····for·(let·[t,·pattern]·of·processingSet)·{\n······this.hasWalkedCache.storeWalked(t,·pattern)\n\n······const·root·=·pattern.root()\n······const·absolute·=·pattern.isAbsolute()·&&·this.opts.absolute·!==·false\n\n······//·start·absolute·patterns·at·root\n······if·(root)·{\n········t·=·t.resolve(\n··········root·===·'/'·&&·this.opts.root·!==·undefined·?\n············this.opts.root\n··········:·root,\n········)\n········const·rest·=·pattern.rest()\n········if·(!rest)·{\n··········this.matches.add(t,·true,·false)\n··········continue\n········}·else·{\n··········pattern·=·rest\n········}\n······}\n\n······if·(t.isENOENT())·continue\n\n······let·p:·MMPattern\n······let·rest:·Pattern·|·null\n······let·changed·=·false\n······while·(\n········typeof·(p·=·pattern.pattern())·===·'string'·&&\n········(rest·=·pattern.rest())\n······)·{\n········const·c·=·t.resolve(p)\n········t·=·c\n········pattern·=·rest\n········changed·=·true\n······}\n······p·=·pattern.pattern()\n······rest·=·pattern.rest()\n······if·(changed)·{\n········if·(this.hasWalkedCache.hasWalked(t,·pattern))·continue\n········this.hasWalkedCache.storeWalked(t,·pattern)\n······}\n\n······//·now·we·have·either·a·final·string·for·a·known·entry,\n······//·more·strings·for·an·unknown·entry,\n······//·or·a·pattern·starting·with·magic,·mounted·on·t.\n······if·(typeof·p·===·'string')·{\n········//·must·not·be·final·entry,·otherwise·we·would·have\n········//·concatenated·it·earlier.\n········const·ifDir·=·p·===·'..'·||·p·===·''·||·p·===·'.'\n········this.matches.add(t.resolve(p),·absolute,·ifDir)\n········continue\n······}·else·if·(p·===·GLOBSTAR)·{\n········//·if·no·rest,·match·and·subwalk·pattern\n········//·if·rest,·process·rest·and·subwalk·pattern\n········//·if·it's·a·symlink,·but·we·didn't·get·here·by·way·of·a\n········//·globstar·match·(meaning·it's·the·first·time·THIS·globstar\n········//·has·traversed·a·symlink),·then·we·follow·it.·Otherwise,·stop.\n········if·(\n··········!t.isSymbolicLink()·||\n··········this.follow·||\n··········pattern.checkFollowGlobstar()\n········)·{\n··········this.subwalks.add(t,·pattern)\n········}\n········const·rp·=·rest?.pattern()\n········const·rrest·=·rest?.rest()\n········if·(!rest·||·((rp·===·''·||·rp·===·'.')·&&·!rrest))·{\n··········//·only·HAS·to·be·a·dir·if·it·ends·in·**/·or·**/.\n··········//·but·ending·in·**·will·match·files·as·well.\n··········this.matches.add(t,·absolute,·rp·===·''·||·rp·===·'.')\n········}·else·{\n··········if·(rp·===·'..')·{\n············//·this·would·mean·you're·matching·**/..·at·the·fs·root,\n············//·and·no·thanks,·I'm·not·gonna·test·that·specific·case.\n············/*·c8·ignore·start·*/\n············const·tp·=·t.parent·||·t\n············/*·c8·ignore·stop·*/\n············if·(!rrest)·this.matches.add(tp,·absolute,·true)\n············else·if·(!this.hasWalkedCache.hasWalked(tp,·rrest))·{\n··············this.subwalks.add(tp,·rrest)\n············}\n··········}\n········}\n······}·else·if·(p·instanceof·RegExp)·{\n········this.subwalks.add(t,·pattern)\n······}\n····}\n\n····return·this\n··}\n\n··subwalkTargets():·Path[]·{\n····return·this.subwalks.keys()\n··}\n\n··child()·{\n····return·new·Processor(this.opts,·this.hasWalkedCache)\n··}\n\n··//·return·a·new·Processor·containing·the·subwalks·for·each\n··//·child·entry,·and·a·set·of·matches,·and\n··//·a·hasWalkedCache·that's·a·copy·of·this·one\n··//·then·we're·going·to·call\n··filterEntries(parent:·Path,·entries:·Path[]):·Processor·{\n····const·patterns·=·this.subwalks.get(parent)\n····//·put·matches·and·entry·walks·into·the·results·processor\n····const·results·=·this.child()\n····for·(const·e·of·entries)·{\n······for·(const·pattern·of·patterns)·{\n········const·absolute·=·pattern.isAbsolute()\n········const·p·=·pattern.pattern()\n········const·rest·=·pattern.rest()\n········if·(p·===·GLOBSTAR)·{\n··········results.testGlobstar(e,·pattern,·rest,·absolute)\n········}·else·if·(p·instanceof·RegExp)·{\n··········results.testRegExp(e,·p,·rest,·absolute)\n········}·else·{\n··········results.testString(e,·p,·rest,·absolute)\n········}\n······}\n····}\n····return·results\n··}\n\n··testGlobstar(\n····e:·Path,\n····pattern:·Pattern,\n····rest:·Pattern·|·null,\n····absolute:·boolean,\n··)·{\n····if·(this.dot·||·!e.name.startsWith('.'))·{\n······if·(!pattern.hasMore())·{\n········this.matches.add(e,·absolute,·false)\n······}\n······if·(e.canReaddir())·{\n········//·if·we're·in·follow·mode·or·it's·not·a·symlink,·just·keep\n········//·testing·the·same·pattern.·If·there's·more·after·the·globstar,\n········//·then·this·symlink·consumes·the·globstar.·If·not,·then·we·can\n········//·follow·at·most·ONE·symlink·along·the·way,·so·we·mark·it,·which\n········//·also·checks·to·ensure·that·it·wasn't·already·marked.\n········if·(this.follow·||·!e.isSymbolicLink())·{\n··········this.subwalks.add(e,·pattern)\n········}·else·if·(e.isSymbolicLink())·{\n··········if·(rest·&&·pattern.checkFollowGlobstar())·{\n············this.subwalks.add(e,·rest)\n··········}·else·if·(pattern.markFollowGlobstar())·{\n············this.subwalks.add(e,·pattern)\n··········}\n········}\n······}\n····}\n····//·if·the·NEXT·thing·matches·this·entry,·then·also·add\n····//·the·rest.\n····if·(rest)·{\n······const·rp·=·rest.pattern()\n······if·(\n········typeof·rp·===·'string'·&&\n········//·dots·and·empty·were·handled·already\n········rp·!==·'..'·&&\n········rp·!==·''·&&\n········rp·!==·'.'\n······)·{\n········this.testString(e,·rp,·rest.rest(),·absolute)\n······}·else·if·(rp·===·'..')·{\n········/*·c8·ignore·start·*/\n········const·ep·=·e.parent·||·e\n········/*·c8·ignore·stop·*/\n········this.subwalks.add(ep,·rest)\n······}·else·if·(rp·instanceof·RegExp)·{\n········this.testRegExp(e,·rp,·rest.rest(),·absolute)\n······}\n····}\n··}\n\n··testRegExp(\n····e:·Path,\n····p:·MMRegExp,\n····rest:·Pattern·|·null,\n····absolute:·boolean,\n··)·{\n····if·(!p.test(e.name))·return\n····if·(!rest)·{\n······this.matches.add(e,·absolute,·false)\n····}·else·{\n······this.subwalks.add(e,·rest)\n····}\n··}\n\n··testString(e:·Path,·p:·string,·rest:·Pattern·|·null,·absolute:·boolean)·{\n····//·should·never·happen?\n····if·(!e.isNamed(p))·return\n····if·(!rest)·{\n······this.matches.add(e,·absolute,·false)\n····}·else·{\n······this.subwalks.add(e,·rest)\n····}\n··}\n}\n",1028 ········"//·synchronous·utility·for·filtering·entries·and·calculating·subwalks\n\nimport·{·GLOBSTAR,·MMRegExp·}·from·'minimatch'\nimport·{·Path·}·from·'path-scurry'\nimport·{·MMPattern,·Pattern·}·from·'./pattern.js'\nimport·{·GlobWalkerOpts·}·from·'./walker.js'\n\n/**\n·*·A·cache·of·which·patterns·have·been·processed·for·a·given·Path\n·*/\nexport·class·HasWalkedCache·{\n··store:·Map<string,·Set<string>>\n··constructor(store:·Map<string,·Set<string>>·=·new·Map())·{\n····this.store·=·store\n··}\n··copy()·{\n····return·new·HasWalkedCache(new·Map(this.store))\n··}\n··hasWalked(target:·Path,·pattern:·Pattern)·{\n····return·this.store.get(target.fullpath())?.has(pattern.globString())\n··}\n··storeWalked(target:·Path,·pattern:·Pattern)·{\n····const·fullpath·=·target.fullpath()\n····const·cached·=·this.store.get(fullpath)\n····if·(cached)·cached.add(pattern.globString())\n····else·this.store.set(fullpath,·new·Set([pattern.globString()]))\n··}\n}\n\n/**\n·*·A·record·of·which·paths·have·been·matched·in·a·given·walk·step,\n·*·and·whether·they·only·are·considered·a·match·if·they·are·a·directory,\n·*·and·whether·their·absolute·or·relative·path·should·be·returned.\n·*/\nexport·class·MatchRecord·{\n··store:·Map<Path,·number>·=·new·Map()\n··add(target:·Path,·absolute:·boolean,·ifDir:·boolean)·{\n····const·n·=·(absolute·?·2·:·0)·|·(ifDir·?·1·:·0)\n····const·current·=·this.store.get(target)\n····this.store.set(target,·current·===·undefined·?·n·:·n·&·current)\n··}\n··//·match,·absolute,·ifdir\n··entries():·[Path,·boolean,·boolean][]·{\n····return·[...this.store.entries()].map(([path,·n])·=>·[\n······path,\n······!!(n·&·2),\n······!!(n·&·1),\n····])\n··}\n}\n\n/**\n·*·A·collection·of·patterns·that·must·be·processed·in·a·subsequent·step\n·*·for·a·given·path.\n·*/\nexport·class·SubWalks·{\n··store:·Map<Path,·Pattern[]>·=·new·Map()\n··add(target:·Path,·pattern:·Pattern)·{\n····if·(!target.canReaddir())·{\n······return\n····}\n····const·subs·=·this.store.get(target)\n····if·(subs)·{\n······if·(!subs.find(p·=>·p.globString()·===·pattern.globString()))·{\n········subs.push(pattern)\n······}\n····}·else·this.store.set(target,·[pattern])\n··}\n··get(target:·Path):·Pattern[]·{\n····const·subs·=·this.store.get(target)\n····/*·c8·ignore·start·*/\n····if·(!subs)·{\n······throw·new·Error('attempting·to·walk·unknown·path')\n····}\n····/*·c8·ignore·stop·*/\n····return·subs\n··}\n··entries():·[Path,·Pattern[]][]·{\n····return·this.keys().map(k·=>·[k,·this.store.get(k)·as·Pattern[]])\n··}\n··keys():·Path[]·{\n····return·[...this.store.keys()].filter(t·=>·t.canReaddir())\n··}\n}\n\n/**\n·*·The·class·that·processes·patterns·for·a·given·path.\n·*\n·*·Handles·child·entry·filtering,·and·determining·whether·a·path's\n·*·directory·contents·must·be·read.\n·*/\nexport·class·Processor·{\n··hasWalkedCache:·HasWalkedCache\n··matches·=·new·MatchRecord()\n··subwalks·=·new·SubWalks()\n··patterns?:·Pattern[]\n··follow:·boolean\n··dot:·boolean\n··opts:·GlobWalkerOpts\n\n··constructor(opts:·GlobWalkerOpts,·hasWalkedCache?:·HasWalkedCache)·{\n····this.opts·=·opts\n····this.follow·=·!!opts.follow\n····this.dot·=·!!opts.dot\n····this.hasWalkedCache·=\n······hasWalkedCache·?·hasWalkedCache.copy()·:·new·HasWalkedCache()\n··}\n\n··processPatterns(target:·Path,·patterns:·Pattern[])·{\n····this.patterns·=·patterns\n····const·processingSet:·[Path,·Pattern][]·=·patterns.map(p·=>·[target,·p])\n\n····//·map·of·paths·to·the·magic-starting·subwalks·they·need·to·walk\n····//·first·item·in·patterns·is·the·filter\n\n····for·(let·[t,·pattern]·of·processingSet)·{\n······this.hasWalkedCache.storeWalked(t,·pattern)\n\n······const·root·=·pattern.root()\n······const·absolute·=·pattern.isAbsolute()·&&·this.opts.absolute·!==·false\n\n······//·start·absolute·patterns·at·root\n······if·(root)·{\n········t·=·t.resolve(\n··········root·===·'/'·&&·this.opts.root·!==·undefined·?\n············this.opts.root\n··········:·root,\n········)\n········const·rest·=·pattern.rest()\n········if·(!rest)·{\n··········this.matches.add(t,·true,·false)\n··········continue\n········}·else·{\n··········pattern·=·rest\n········}\n······}\n\n······if·(t.isENOENT())·continue\n\n······let·p:·MMPattern\n······let·rest:·Pattern·|·null\n······let·changed·=·false\n······while·(\n········typeof·(p·=·pattern.pattern())·===·'string'·&&\n········(rest·=·pattern.rest())\n······)·{\n········const·c·=·t.resolve(p)\n········t·=·c\n········pattern·=·rest\n········changed·=·true\n······}\n······p·=·pattern.pattern()\n······rest·=·pattern.rest()\n······if·(changed)·{\n········if·(this.hasWalkedCache.hasWalked(t,·pattern))·continue\n········this.hasWalkedCache.storeWalked(t,·pattern)\n······}\n\n······//·now·we·have·either·a·final·string·for·a·known·entry,\n······//·more·strings·for·an·unknown·entry,\n······//·or·a·pattern·starting·with·magic,·mounted·on·t.\n······if·(typeof·p·===·'string')·{\n········//·must·not·be·final·entry,·otherwise·we·would·have\n········//·concatenated·it·earlier.\n········const·ifDir·=·p·===·'..'·||·p·===·''·||·p·===·'.'\n········this.matches.add(t.resolve(p),·absolute,·ifDir)\n········continue\n······}·else·if·(p·===·GLOBSTAR)·{\n········//·if·no·rest,·match·and·subwalk·pattern\n········//·if·rest,·process·rest·and·subwalk·pattern\n········//·if·it's·a·symlink,·but·we·didn't·get·here·by·way·of·a\n········//·globstar·match·(meaning·it's·the·first·time·THIS·globstar\n········//·has·traversed·a·symlink),·then·we·follow·it.·Otherwise,·stop.\n········if·(\n··········!t.isSymbolicLink()·||\n··········this.follow·||\n··········pattern.checkFollowGlobstar()\n········)·{\n··········this.subwalks.add(t,·pattern)\n········}\n········const·rp·=·rest?.pattern()\n········const·rrest·=·rest?.rest()\n········if·(!rest·||·((rp·===·''·||·rp·===·'.')·&&·!rrest))·{\n··········//·only·HAS·to·be·a·dir·if·it·ends·in·**/·or·**/.\n··········//·but·ending·in·**·will·match·files·as·well.\n··········this.matches.add(t,·absolute,·rp·===·''·||·rp·===·'.')\n········}·else·{\n··········if·(rp·===·'..')·{\n············//·this·would·mean·you're·matching·**/..·at·the·fs·root,\n············//·and·no·thanks,·I'm·not·gonna·test·that·specific·case.\n············/*·c8·ignore·start·*/\n············const·tp·=·t.parent·||·t\n············/*·c8·ignore·stop·*/\n············if·(!rrest)·this.matches.add(tp,·absolute,·true)\n············else·if·(!this.hasWalkedCache.hasWalked(tp,·rrest))·{\n··············this.subwalks.add(tp,·rrest)\n············}\n··········}\n········}\n······}·else·if·(p·instanceof·RegExp)·{\n········this.subwalks.add(t,·pattern)\n······}\n····}\n\n····return·this\n··}\n\n··subwalkTargets():·Path[]·{\n····return·this.subwalks.keys()\n··}\n\n··child()·{\n····return·new·Processor(this.opts,·this.hasWalkedCache)\n··}\n\n··//·return·a·new·Processor·containing·the·subwalks·for·each\n··//·child·entry,·and·a·set·of·matches,·and\n··//·a·hasWalkedCache·that's·a·copy·of·this·one\n··//·then·we're·going·to·call\n··filterEntries(parent:·Path,·entries:·Path[]):·Processor·{\n····const·patterns·=·this.subwalks.get(parent)\n····//·put·matches·and·entry·walks·into·the·results·processor\n····const·results·=·this.child()\n····for·(const·e·of·entries)·{\n······for·(const·pattern·of·patterns)·{\n········const·absolute·=·pattern.isAbsolute()\n········const·p·=·pattern.pattern()\n········const·rest·=·pattern.rest()\n········if·(p·===·GLOBSTAR)·{\n··········results.testGlobstar(e,·pattern,·rest,·absolute)\n········}·else·if·(p·instanceof·RegExp)·{\n··········results.testRegExp(e,·p,·rest,·absolute)\n········}·else·{\n··········results.testString(e,·p,·rest,·absolute)\n········}\n······}\n····}\n····return·results\n··}\n\n··testGlobstar(\n····e:·Path,\n····pattern:·Pattern,\n····rest:·Pattern·|·null,\n····absolute:·boolean,\n··)·{\n····if·(this.dot·||·!e.name.startsWith('.'))·{\n······if·(!pattern.hasMore())·{\n········this.matches.add(e,·absolute,·false)\n······}\n······if·(e.canReaddir())·{\n········//·if·we're·in·follow·mode·or·it's·not·a·symlink,·just·keep\n········//·testing·the·same·pattern.·If·there's·more·after·the·globstar,\n········//·then·this·symlink·consumes·the·globstar.·If·not,·then·we·can\n········//·follow·at·most·ONE·symlink·along·the·way,·so·we·mark·it,·which\n········//·also·checks·to·ensure·that·it·wasn't·already·marked.\n········if·(this.follow·||·!e.isSymbolicLink())·{\n··········this.subwalks.add(e,·pattern)\n········}·else·if·(e.isSymbolicLink())·{\n··········if·(rest·&&·pattern.checkFollowGlobstar())·{\n············this.subwalks.add(e,·rest)\n··········}·else·if·(pattern.markFollowGlobstar())·{\n············this.subwalks.add(e,·pattern)\n··········}\n········}\n······}\n····}\n····//·if·the·NEXT·thing·matches·this·entry,·then·also·add\n····//·the·rest.\n····if·(rest)·{\n······const·rp·=·rest.pattern()\n······if·(\n········typeof·rp·===·'string'·&&\n········//·dots·and·empty·were·handled·already\n········rp·!==·'..'·&&\n········rp·!==·''·&&\n········rp·!==·'.'\n······)·{\n········this.testString(e,·rp,·rest.rest(),·absolute)\n······}·else·if·(rp·===·'..')·{\n········/*·c8·ignore·start·*/\n········const·ep·=·e.parent·||·e\n········/*·c8·ignore·stop·*/\n········this.subwalks.add(ep,·rest)\n······}·else·if·(rp·instanceof·RegExp)·{\n········this.testRegExp(e,·rp,·rest.rest(),·absolute)\n······}\n····}\n··}\n\n··testRegExp(\n····e:·Path,\n····p:·MMRegExp,\n····rest:·Pattern·|·null,\n····absolute:·boolean,\n··)·{\n····if·(!p.test(e.name))·return\n····if·(!rest)·{\n······this.matches.add(e,·absolute,·false)\n····}·else·{\n······this.subwalks.add(e,·rest)\n····}\n··}\n\n··testString(e:·Path,·p:·string,·rest:·Pattern·|·null,·absolute:·boolean)·{\n····//·should·never·happen?\n····if·(!e.isNamed(p))·return\n····if·(!rest)·{\n······this.matches.add(e,·absolute,·false)\n····}·else·{\n······this.subwalks.add(e,·rest)\n····}\n··}\n}\n",
1.03 KB
lib/node_modules/@capacitor/cli/node_modules/glob/package.json
935 B
Pretty-printed
    
Offset 1, 17 lines modifiedOffset 1, 17 lines modified
1 {1 {
2 ····"author":·"Isaac·Z.·Schlueter·<[email protected]>·(https://blog.izs.me/)",2 ····"author":·"Isaac·Z.·Schlueter·<[email protected]>·(https://blog.izs.me/)",
3 ····"dependencies":·{3 ····"dependencies":·{
4 ········"minimatch":·"^10.1.2",4 ········"minimatch":·"^10.2.0",
5 ········"minipass":·"^7.1.2",5 ········"minipass":·"^7.1.2",
6 ········"path-scurry":·"^2.0.0"6 ········"path-scurry":·"^2.0.0"
7 ····},7 ····},
8 ····"description":·"the·most·correct·and·second·fastest·glob·implementation·in·JavaScript",8 ····"description":·"the·most·correct·and·second·fastest·glob·implementation·in·JavaScript",
9 ····"devDependencies":·{9 ····"devDependencies":·{
10 ········"@types/node":·"^24.10.0",10 ········"@types/node":·"^25.2.3",
11 ········"esbuild":·"^0.27.3",11 ········"esbuild":·"^0.27.3",
12 ········"memfs":·"^4.50.0",12 ········"memfs":·"^4.50.0",
13 ········"mkdirp":·"^3.0.1",13 ········"mkdirp":·"^3.0.1",
14 ········"prettier":·"^3.6.2",14 ········"prettier":·"^3.6.2",
15 ········"rimraf":·"^6.1.0",15 ········"rimraf":·"^6.1.0",
16 ········"tap":·"^21.1.3",16 ········"tap":·"^21.1.3",
17 ········"tshy":·"^3.0.3",17 ········"tshy":·"^3.0.3",
Offset 93, 9 lines modifiedOffset 93, 9 lines modified
93 ············},93 ············},
94 ············"./package.json":·"./package.json",94 ············"./package.json":·"./package.json",
95 ············"./raw":·"./src/index.ts"95 ············"./raw":·"./src/index.ts"
96 ········}96 ········}
97 ····},97 ····},
98 ····"type":·"module",98 ····"type":·"module",
99 ····"types":·"./dist/commonjs/index.d.ts",99 ····"types":·"./dist/commonjs/index.d.ts",
100 ····"version":·"13.0.2"100 ····"version":·"13.0.3"
101 }101 }
638 B
lib/node_modules/@capacitor/cli/node_modules/minimatch/README.md
    
Offset 153, 15 lines modifiedOffset 153, 17 lines modified
  
153 ###·minimatch.filter(pattern,·options)153 ###·minimatch.filter(pattern,·options)
  
154 Returns·a·function·that·tests·its154 Returns·a·function·that·tests·its
155 supplied·argument,·suitable·for·use·with·`Array.filter`.·Example:155 supplied·argument,·suitable·for·use·with·`Array.filter`.·Example:
  
156 ```javascript156 ```javascript
157 var·javascripts·=·fileList.filter(minimatch.filter('*.js',·{·matchBase:·true·}))157 var·javascripts·=·fileList.filter(
 158 ··minimatch.filter('*.js',·{·matchBase:·true·}),
 159 )
158 ```160 ```
  
159 ###·minimatch.escape(pattern,·options·=·{})161 ###·minimatch.escape(pattern,·options·=·{})
  
160 Escape·all·magic·characters·in·a·glob·pattern,·so·that·it·will162 Escape·all·magic·characters·in·a·glob·pattern,·so·that·it·will
161 only·ever·match·literal·strings.163 only·ever·match·literal·strings.
  
1.88 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/ast.d.ts.map
1.72 KB
Pretty-printed
    
Offset 1, 10 lines modifiedOffset 1, 10 lines modified
1 {1 {
2 ····"file":·"ast.d.ts",2 ····"file":·"ast.d.ts",
3 ····"mappings":·"AAGA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAwCvD,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAkCrD,qBAAa,GAAG;;IACd,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;gBAiBtB,IAAI,EAAE,WAAW,GAAG,IAAI,EACxB,MAAM,CAAC,EAAE,GAAG,EACZ,OAAO,GAAE,gBAAqB;IAahC,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAUlC;IAGD,QAAQ,IAAI,MAAM;IA+ClB,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;IAY/B,MAAM;IAgBN,OAAO,IAAI,OAAO;IAgBlB,KAAK,IAAI,OAAO;IAYhB,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAKzB,KAAK,CAAC,MAAM,EAAE,GAAG;IAsIjB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAQ/D,WAAW,IAAI,QAAQ,GAAG,MAAM;IA2BhC,IAAI,OAAO,qBAEV;IAuED,cAAc,CAC[·...·truncated·by·diffoscope;·len:·116,·SHA:·2ef11ead35b430fc13e7740c5e22c7e5aedf20b59e4cffacca9d18a13fb506c0·...·]MjE",3 ····"mappings":·"AAGA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAwCvD,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAkCrD,qBAAa,GAAG;;IACd,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;gBAiBtB,IAAI,EAAE,WAAW,GAAG,IAAI,EACxB,MAAM,CAAC,EAAE,GAAG,EACZ,OAAO,GAAE,gBAAqB;IAahC,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAUlC;IAGD,QAAQ,IAAI,MAAM;IA+ClB,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;IAe/B,MAAM;IAkBN,OAAO,IAAI,OAAO;IAgBlB,KAAK,IAAI,OAAO;IAYhB,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAKzB,KAAK,CAAC,MAAM,EAAE,GAAG;IAsIjB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAQ/D,WAAW,IAAI,QAAQ,GAAG,MAAM;IA2BhC,IAAI,OAAO,qBAEV;IAuED,cAAc,CAC[·...·truncated·by·diffoscope;·len:·116,·SHA:·1be9f8a865a47f89b138b0b855df117125cb337d6ddb4d254a439f33e8bcfb74·...·]MjE",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/ast.ts"7 ········"../../src/ast.ts"
8 ····],8 ····],
9 ····"version":·39 ····"version":·3
10 }10 }
154 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/ast.js
'js-beautify' not available in path. Falling back to binary comparison.
    
Offset 285, 1144 lines modifiedOffset 285, 1145 lines modified
000011c0:·2020·2069·6620·2870·203d·3d3d·2027·2729·····if·(p·===·'')000011c0:·2020·2069·6620·2870·203d·3d3d·2027·2729·····if·(p·===·'')
000011d0:·0a20·2020·2020·2020·2020·2020·2020·2020··.···············000011d0:·0a20·2020·2020·2020·2020·2020·2020·2020··.···············
000011e0:·2063·6f6e·7469·6e75·653b·0a20·2020·2020···continue;.·····000011e0:·2063·6f6e·7469·6e75·653b·0a20·2020·2020···continue;.·····
000011f0:·2020·2020·2020·202f·2a20·6338·2069·676e·········/*·c8·ign000011f0:·2020·2020·2020·202f·2a20·6338·2069·676e·········/*·c8·ign
00001200:·6f72·6520·7374·6172·7420·2a2f·0a20·2020··ore·start·*/.···00001200:·6f72·6520·7374·6172·7420·2a2f·0a20·2020··ore·start·*/.···
00001210:·2020·2020·2020·2020·2069·6620·2874·7970···········if·(typ00001210:·2020·2020·2020·2020·2069·6620·2874·7970···········if·(typ
00001220:·656f·6620·7020·213d·3d20·2773·7472·696e··eof·p·!==·'strin00001220:·656f·6620·7020·213d·3d20·2773·7472·696e··eof·p·!==·'strin
 00001230:·6727·2026·260a·2020·2020·2020·2020·2020··g'·&&.··········
00001230:·6727·2026·2620·2128·7020·696e·7374·616e··g'·&&·!(p·instan00001240:·2020·2020·2020·2128·7020·696e·7374·616e········!(p·instan
00001240:·6365·6f66·2041·5354·2026·2620·702e·2370··ceof·AST·&&·p.#p00001250:·6365·6f66·2041·5354·2026·2620·702e·2370··ceof·AST·&&·p.#p
00001250:·6172·656e·7420·3d3d·3d20·7468·6973·2929··arent·===·this))00001260:·6172·656e·7420·3d3d·3d20·7468·6973·2929··arent·===·this))
00001260:·207b·0a20·2020·2020·2020·2020·2020·2020···{.·············00001270:·207b·0a20·2020·2020·2020·2020·2020·2020···{.·············
00001270:·2020·2074·6872·6f77·206e·6577·2045·7272·····throw·new·Err00001280:·2020·2074·6872·6f77·206e·6577·2045·7272·····throw·new·Err
00001280:·6f72·2827·696e·7661·6c69·6420·7061·7274··or('invalid·part00001290:·6f72·2827·696e·7661·6c69·6420·7061·7274··or('invalid·part
00001290:·3a20·2720·2b20·7029·3b0a·2020·2020·2020··:·'·+·p);.······000012a0:·3a20·2720·2b20·7029·3b0a·2020·2020·2020··:·'·+·p);.······
000012a0:·2020·2020·2020·7d0a·2020·2020·2020·2020········}.········000012b0:·2020·2020·2020·7d0a·2020·2020·2020·2020········}.········
000012b0:·2020·2020·2f2a·2063·3820·6967·6e6f·7265······/*·c8·ignore000012c0:·2020·2020·2f2a·2063·3820·6967·6e6f·7265······/*·c8·ignore
000012c0:·2073·746f·7020·2a2f·0a20·2020·2020·2020···stop·*/.·······000012d0:·2073·746f·7020·2a2f·0a20·2020·2020·2020···stop·*/.·······
000012d0:·2020·2020·2074·6869·732e·2370·6172·7473·······this.#parts000012e0:·2020·2020·2074·6869·732e·2370·6172·7473·······this.#parts
000012e0:·2e70·7573·6828·7029·3b0a·2020·2020·2020··.push(p);.······000012f0:·2e70·7573·6828·7029·3b0a·2020·2020·2020··.push(p);.······
000012f0:·2020·7d0a·2020·2020·7d0a·2020·2020·746f····}.····}.····to00001300:·2020·7d0a·2020·2020·7d0a·2020·2020·746f····}.····}.····to
00001300:·4a53·4f4e·2829·207b·0a20·2020·2020·2020··JSON()·{.·······00001310:·4a53·4f4e·2829·207b·0a20·2020·2020·2020··JSON()·{.·······
00001310:·2063·6f6e·7374·2072·6574·203d·2074·6869···const·ret·=·thi00001320:·2063·6f6e·7374·2072·6574·203d·2074·6869···const·ret·=·thi
00001320:·732e·7479·7065·203d·3d3d·206e·756c·6c0a··s.type·===·null.00001330:·732e·7479·7065·203d·3d3d·206e·756c·6c20··s.type·===·null·
00001330:·2020·2020·2020·2020·2020·2020·3f20·7468··············?·th00001340:·3f0a·2020·2020·2020·2020·2020·2020·7468··?.············th
 00001350:·6973·2e23·7061·7274·730a·2020·2020·2020··is.#parts.······
 00001360:·2020·2020·2020·2020·2020·2e73·6c69·6365············.slice
00001340:·6973·2e23·7061·7274·732e·736c·6963·6528··is.#parts.slice( 
00001350:·292e·6d61·7028·7020·3d3e·2028·7479·7065··).map(p·=>·(type 
00001360:·6f66·2070·203d·3d3d·2027·7374·7269·6e67··of·p·===·'string 
00001370:·2720·3f20·7020·3a20·702e·746f·4a53·4f4e··'·?·p·:·p.toJSON 
00001380:·2829·2929·0a20·2020·2020·2020·2020·2020··())).···········00001370:·2829·0a20·2020·2020·2020·2020·2020·2020··().·············
 00001380:·2020·202e·6d61·7028·7020·3d3e·2028·7479·····.map(p·=>·(ty
 00001390:·7065·6f66·2070·203d·3d3d·2027·7374·7269··peof·p·===·'stri
 000013a0:·6e67·2720·3f20·7020·3a20·702e·746f·4a53··ng'·?·p·:·p.toJS
 000013b0:·4f4e·2829·2929·0a20·2020·2020·2020·2020··ON())).·········
00001390:·203a·205b·7468·6973·2e74·7970·652c·202e···:·[this.type,·.000013c0:·2020·203a·205b·7468·6973·2e74·7970·652c·····:·[this.type,
000013a0:·2e2e·7468·6973·2e23·7061·7274·732e·6d61··..this.#parts.ma000013d0:·202e·2e2e·7468·6973·2e23·7061·7274·732e···...this.#parts.
000013b0:·7028·7020·3d3e·2070·2e74·6f4a·534f·4e28··p(p·=>·p.toJSON(000013e0:·6d61·7028·7020·3d3e·2070·2e74·6f4a·534f··map(p·=>·p.toJSO
000013c0:·2929·5d3b·0a20·2020·2020·2020·2069·6620··))];.········if·000013f0:·4e28·2929·5d3b·0a20·2020·2020·2020·2069··N())];.········i
000013d0:·2874·6869·732e·6973·5374·6172·7428·2920··(this.isStart()·00001400:·6620·2874·6869·732e·6973·5374·6172·7428··f·(this.isStart(
000013e0:·2626·2021·7468·6973·2e74·7970·6529·0a20··&&·!this.type).·00001410:·2920·2626·2021·7468·6973·2e74·7970·6529··)·&&·!this.type)
000013f0:·2020·2020·2020·2020·2020·2072·6574·2e75·············ret.u00001420:·0a20·2020·2020·2020·2020·2020·2072·6574··.············ret
00001400:·6e73·6869·6674·285b·5d29·3b0a·2020·2020··nshift([]);.····00001430:·2e75·6e73·6869·6674·285b·5d29·3b0a·2020··.unshift([]);.··
00001410:·2020·2020·6966·2028·7468·6973·2e69·7345······if·(this.isE00001440:·2020·2020·2020·6966·2028·7468·6973·2e69········if·(this.i
00001420:·6e64·2829·2026·260a·2020·2020·2020·2020··nd()·&&.········00001450:·7345·6e64·2829·2026·260a·2020·2020·2020··sEnd()·&&.······
00001430:·2020·2020·2874·6869·7320·3d3d·3d20·7468······(this·===·th00001460:·2020·2020·2020·2874·6869·7320·3d3d·3d20········(this·===·
00001440:·6973·2e23·726f·6f74·207c·7c0a·2020·2020··is.#root·||.····00001470:·7468·6973·2e23·726f·6f74·207c·7c0a·2020··this.#root·||.··
00001450:·2020·2020·2020·2020·2020·2020·2874·6869··············(thi00001480:·2020·2020·2020·2020·2020·2020·2020·2874················(t
00001460:·732e·2372·6f6f·742e·2366·696c·6c65·644e··s.#root.#filledN00001490:·6869·732e·2372·6f6f·742e·2366·696c·6c65··his.#root.#fille
00001470:·6567·7320·2626·2074·6869·732e·2370·6172··egs·&&·this.#par000014a0:·644e·6567·7320·2626·2074·6869·732e·2370··dNegs·&&·this.#p
00001480:·656e·743f·2e74·7970·6520·3d3d·3d20·2721··ent?.type·===·'!000014b0:·6172·656e·743f·2e74·7970·6520·3d3d·3d20··arent?.type·===·
00001490:·2729·2929·207b·0a20·2020·2020·2020·2020··')))·{.·········000014c0:·2721·2729·2929·207b·0a20·2020·2020·2020··'!')))·{.·······
000014a0:·2020·2072·6574·2e70·7573·6828·7b7d·293b·····ret.push({});000014d0:·2020·2020·2072·6574·2e70·7573·6828·7b7d·······ret.push({}
000014b0:·0a20·2020·2020·2020·207d·0a20·2020·2020··.········}.·····000014e0:·293b·0a20·2020·2020·2020·207d·0a20·2020··);.········}.···
000014c0:·2020·2072·6574·7572·6e20·7265·743b·0a20·····return·ret;.·000014f0:·2020·2020·2072·6574·7572·6e20·7265·743b·······return·ret;
000014d0:·2020·207d·0a20·2020·2069·7353·7461·7274·····}.····isStart00001500:·0a20·2020·207d·0a20·2020·2069·7353·7461··.····}.····isSta
000014e0:·2829·207b·0a20·2020·2020·2020·2069·6620··()·{.········if·00001510:·7274·2829·207b·0a20·2020·2020·2020·2069··rt()·{.········i
000014f0:·2874·6869·732e·2372·6f6f·7420·3d3d·3d20··(this.#root·===·00001520:·6620·2874·6869·732e·2372·6f6f·7420·3d3d··f·(this.#root·==
00001500:·7468·6973·290a·2020·2020·2020·2020·2020··this).··········00001530:·3d20·7468·6973·290a·2020·2020·2020·2020··=·this).········
00001510:·2020·7265·7475·726e·2074·7275·653b·0a20····return·true;.·00001540:·2020·2020·7265·7475·726e·2074·7275·653b······return·true;
00001520:·2020·2020·2020·202f·2f20·6966·2028·7468·········//·if·(th00001550:·0a20·2020·2020·2020·202f·2f20·6966·2028··.········//·if·(
00001530:·6973·2e74·7970·6529·2072·6574·7572·6e20··is.type)·return·00001560:·7468·6973·2e74·7970·6529·2072·6574·7572··this.type)·retur
00001540:·2121·7468·6973·2e23·7061·7265·6e74·3f2e··!!this.#parent?.00001570:·6e20·2121·7468·6973·2e23·7061·7265·6e74··n·!!this.#parent
00001550:·6973·5374·6172·7428·290a·2020·2020·2020··isStart().······00001580:·3f2e·6973·5374·6172·7428·290a·2020·2020··?.isStart().····
00001560:·2020·6966·2028·2174·6869·732e·2370·6172····if·(!this.#par00001590:·2020·2020·6966·2028·2174·6869·732e·2370······if·(!this.#p
00001570:·656e·743f·2e69·7353·7461·7274·2829·290a··ent?.isStart()).000015a0:·6172·656e·743f·2e69·7353·7461·7274·2829··arent?.isStart()
00001580:·2020·2020·2020·2020·2020·2020·7265·7475··············retu000015b0:·290a·2020·2020·2020·2020·2020·2020·7265··).············re
00001590:·726e·2066·616c·7365·3b0a·2020·2020·2020··rn·false;.······000015c0:·7475·726e·2066·616c·7365·3b0a·2020·2020··turn·false;.····
 000015d0:·2020·2020·6966·2028·7468·6973·2e23·7061······if·(this.#pa
 000015e0:·7265·6e74·496e·6465·7820·3d3d·3d20·3029··rentIndex·===·0)
 000015f0:·0a20·2020·2020·2020·2020·2020·2072·6574··.············ret
 00001600:·7572·6e20·7472·7565·3b0a·2020·2020·2020··urn·true;.······
 00001610:·2020·2f2f·2069·6620·6576·6572·7974·6869····//·if·everythi
 00001620:·6e67·2041·4845·4144·206f·6620·7468·6973··ng·AHEAD·of·this
 00001630:·2069·7320·6120·6e65·6761·7469·6f6e·2c20···is·a·negation,·
 00001640:·7468·656e·2069·7427·7320·7374·696c·6c20··then·it's·still·
 00001650:·7468·6520·2273·7461·7274·220a·2020·2020··the·"start".····
 00001660:·2020·2020·636f·6e73·7420·7020·3d20·7468······const·p·=·th
 00001670:·6973·2e23·7061·7265·6e74·3b0a·2020·2020··is.#parent;.····
 00001680:·2020·2020·666f·7220·286c·6574·2069·203d······for·(let·i·=
 00001690:·2030·3b20·6920·3c20·7468·6973·2e23·7061···0;·i·<·this.#pa
 000016a0:·7265·6e74·496e·6465·783b·2069·2b2b·2920··rentIndex;·i++)·
 000016b0:·7b0a·2020·2020·2020·2020·2020·2020·636f··{.············co
 000016c0:·6e73·7420·7070·203d·2070·2e23·7061·7274··nst·pp·=·p.#part
 000016d0:·735b·695d·3b0a·2020·2020·2020·2020·2020··s[i];.··········
 000016e0:·2020·6966·2028·2128·7070·2069·6e73·7461····if·(!(pp·insta
 000016f0:·6e63·656f·6620·4153·5420·2626·2070·702e··nceof·AST·&&·pp.
 00001700:·7479·7065·203d·3d3d·2027·2127·2929·207b··type·===·'!'))·{
 00001710:·0a20·2020·2020·2020·2020·2020·2020·2020··.···············
 00001720:·2072·6574·7572·6e20·6661·6c73·653b·0a20···return·false;.·
 00001730:·2020·2020·2020·2020·2020·207d·0a20·2020·············}.···
 00001740:·2020·2020·207d·0a20·2020·2020·2020·2072·······}.········r
 00001750:·6574·7572·6e20·7472·7565·3b0a·2020·2020··eturn·true;.····
 00001760:·7d0a·2020·2020·6973·456e·6428·2920·7b0a··}.····isEnd()·{.
 00001770:·2020·2020·2020·2020·6966·2028·7468·6973··········if·(this
 00001780:·2e23·726f·6f74·203d·3d3d·2074·6869·7329··.#root·===·this)
 00001790:·0a20·2020·2020·2020·2020·2020·2072·6574··.············ret
 000017a0:·7572·6e20·7472·7565·3b0a·2020·2020·2020··urn·true;.······
Max diff block lines reached; 143640/157190 bytes (91.38%) of diff not shown.
79.8 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/ast.js.map
79.6 KB
Pretty-printed
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 {1 {
2 ····"file":·"ast.js",2 ····"file":·"ast.js",
3 ····"mappings":·";AAAA,8BAA8B;;;AAE9B,iEAAmD;AAEnD,+CAAwC;AAwCxC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAC7D,MAAM,aAAa,GAAG,CAAC,CAAS,EAAoB,EAAE,CACpD,KAAK,CAAC,GAAG,CAAC,CAAgB,CAAC,CAAA;AAE7B,iEAAiE;AACjE,gEAAgE;AAChE,0CAA0C;AAC1C,uEAAuE;AACvE,MAAM,gBAAgB,GAAG,2BAA2B,CAAA;AACpD,MAAM,UAAU,GAAG,SAAS,CAAA;AAE5B,uEAAuE;AACvE,qEAAqE;AACrE,qEAAqE;AACrE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAC3C,0DAA0D;AAC1D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;AACrC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAA;AAC7C,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CACjC,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;AAE/C,gCAAgC;AAChC,MAAM,KAAK,GAAG,MAAM,CAAA;AAEpB,gCAAgC;AAChC,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAA;AACzB,0EAA0E;AAC1E,sCAAsC;AACtC,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,CAAA;AAEhC,yEAAyE;AACzE,2DAA2D;AAE3D,MAAa,GAAG;IACd,IAAI,CAAoB;IACf,KAAK,CAAK;IAEnB,SAAS,CAAU;IACnB,MAAM,GAAY,KAAK,CAAA;IACvB,MAAM,GAAqB,EAAE,CAAA;IACpB,OAAO,CAAM;IACb,YAAY,CAAQ;IAC7B,KAAK,CAAO;IACZ,WAAW,GAAY,KAAK,CAAA;IAC5B,QAAQ,CAAkB;IAC1B,SAAS,CAAS;IAClB,kDAAkD;IAClD,uCAAuC;IACvC,SAAS,GAAY,KAAK,CAAA;IAE1B,YACE,IAAwB,EACxB,MAAY,EACZ,UAA4B,EAAE;QAE9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,kCAAkC;QAClC,IAAI,IAAI;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;QACnE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;QACxD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,QAAQ;QACV,qBAAqB;QACrB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAA;QACvD,oBAAoB;QACpB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,SAAQ;YACnC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;QAC1D,CAAC;QACD,wEAAwE;QACxE,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,2BAA2B;IAC3B,QAAQ;QACN,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAA;QACvD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACpE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,SAAS;gBACpB,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IAED,SAAS;QACP,qBAAqB;QACrB,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QACpE,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAA;QACjC,oBAAoB;QAEpB,wCAAwC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAA;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QACvB,IAAI,CAAkB,CAAA;QACtB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG;gBAAE,SAAQ;YAC5B,qEAAqE;YACrE,IAAI,CAAC,GAAoB,CAAC,CAAA;YAC1B,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAA;YAClB,OAAO,EAAE,EAAE,CAAC;gBACV,KACE,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,EAC1B,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAChC,CAAC,EAAE,EACH,CAAC;oBACD,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;wBAC5B,qBAAqB;wBACrB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;wBACjD,CAAC;wBACD,oBAAoB;wBACpB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC3B,CAAC;gBACH,CAAC;gBACD,CAAC,GAAG,EAAE,CAAA;gBACN,EAAE,GAAG,CAAC,CAAC,OAAO,CAAA;YAChB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,GAAG,KAAuB;QAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE;gBAAE,SAAQ;YACtB,qBAAqB;YACrB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAA;YACvC,CAAC;YACD,oBAAoB;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED,MAAM[·...·truncated·by·diffoscope;·len:·14085,·SHA:·9290fa7a408c862d54a9ad38448c5077f73739d76679107d94f5cb82e6c510da·...·]lBC",3 ····"mappings":·"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[·...·truncated·by·diffoscope;·len:·14090,·SHA:·ea244ba88e054633e807d6b08393ecf68525be6d326bd8a4c8021087fa3f6b84·...·]lBC",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/ast.ts"7 ········"../../src/ast.ts"
8 ····],8 ····],
9 ····"sourcesContent":·[9 ····"sourcesContent":·[
10 ········"//·parse·a·single·path·portion\n\nimport·{·parseClass·}·from·'./brace-expressions.js'\nimport·{·MinimatchOptions,·MMRegExp·}·from·'./index.js'\nimport·{·unescape·}·from·'./unescape.js'\n\n//·classes·[]·are·handled·by·the·parseClass·method\n//·for·positive·extglobs,·we·sub-parse·the·contents,·and·combine,\n//·with·the·appropriate·regexp·close.\n//·for·negative·extglobs,·we·sub-parse·the·contents,·but·then\n//·have·to·include·the·rest·of·the·pattern,·then·the·parent,·etc.,\n//·as·the·thing·that·cannot·be·because·RegExp·negative·lookaheads\n//·are·different·from·globs.\n//\n//·So·for·example:\n//·a@(i|w!(x|y)z|j)b·=>·^a(i|w((!?(x|y)zb).*)z|j)b$\n//···1···2·3···4·5·6······1···2····3···46······5·6\n//\n//·Assembling·the·extglob·requires·not·just·the·negated·patterns·themselves,\n//·but·also·anything·following·the·negative·patterns·up·to·the·boundary\n//·of·the·current·pattern,·plus·anything·following·in·the·parent·pattern.\n//\n//\n//·So,·first,·we·parse·the·string·into·an·AST·of·extglobs,·without·turning\n//·anything·into·regexps·yet.\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y']},·'z'],·['j']]},·'b']\n//\n//·Then,·for·all·the·negative·extglobs,·we·append·whatever·comes·after·in\n//·each·parent·as·their·tail\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y'],·'z',·'b'},·'z'],·['j']]},·'b']\n//\n//·Lastly,·we·turn·each·of·these·pieces·into·a·regexp,·and·join\n//\n//·································v-----·.*·because·there's·more·following,\n//·································v····v··otherwise,·.+·because·it·must·be\n//·································v····v··*something*·there.\n//·['^a',·{@·['i',·'w(?:(!?(?:x|y).*zb$).*)z',·'j'·]},·'b$']\n//···copy·what·follows·into·here--^^^^^\n//·['^a',·'(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)',·'b$']\n//·['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport·type·ExtglobType·=·'!'·|·'?'·|·'+'·|·'*'·|·'@'\nconst·types·=·new·Set<ExtglobType>(['!',·'?',·'+',·'*',·'@'])\nconst·isExtglobType·=·(c:·string):·c·is·ExtglobType·=>\n··types.has(c·as·ExtglobType)\n\n//·Patterns·that·get·prepended·to·bind·to·the·start·of·either·the\n//·entire·string,·or·just·a·single·path·portion,·to·prevent·dots\n//·and/or·traversal·patterns,·when·needed.\n//·Exts·don't·need·the·^·or·/·bit,·because·the·root·binds·that·already.\nconst·startNoTraversal·=·'(?!(?:^|/)\\\\.\\\\.?(?:$|/))'\nconst·startNoDot·=·'(?!\\\\.)'\n\n//·characters·that·indicate·a·start·of·pattern·needs·the·\"no·dots\"·bit,\n//·because·a·dot·*might*·be·matched.·(·is·not·in·the·list,·because·in\n//·the·case·of·a·child·extglob,·it·will·handle·the·prevention·itself.\nconst·addPatternStart·=·new·Set(['[',·'.'])\n//·cases·where·traversal·is·A-OK,·no·dot·prevention·needed\nconst·justDots·=·new·Set(['..',·'.'])\nconst·reSpecials·=·new·Set('().*{}+?[]^$\\\\!')\nconst·regExpEscape·=·(s:·string)·=>\n··s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,·'\\\\$&')\n\n//·any·single·thing·other·than·/\nconst·qmark·=·'[^/]'\n\n//·*·=>·any·number·of·characters\nconst·star·=·qmark·+·'*?'\n//·use·+·when·we·need·to·ensure·that·*something*·matches,·because·the·*·is\n//·the·only·thing·in·the·path·portion.\nconst·starNoEmpty·=·qmark·+·'+?'\n\n//·remove·the·\\·chars·that·we·added·if·we·end·up·doing·a·nonmagic·compare\n//·const·deslash·=·(s:·string)·=>·s.replace(/\\\\(.)/g,·'$1')\n\nexport·class·AST·{\n··type:·ExtglobType·|·null\n··readonly·#root:·AST\n\n··#hasMagic?:·boolean\n··#uflag:·boolean·=·false\n··#parts:·(string·|·AST)[]·=·[]\n··readonly·#parent?:·AST\n··readonly·#parentIndex:·number\n··#negs:·AST[]\n··#filledNegs:·boolean·=·false\n··#options:·MinimatchOptions\n··#toString?:·string\n··//·set·to·true·if·it's·an·extglob·with·no·children\n··//·(which·really·means·one·child·of·'')\n··#emptyExt:·boolean·=·false\n\n··constructor(\n····type:·ExtglobType·|·null,\n····parent?:·AST,\n····options:·MinimatchOptions·=·{},\n··)·{\n····this.type·=·type\n····//·extglobs·are·inherently·magical\n····if·(type)·this.#hasMagic·=·true\n····this.#parent·=·parent\n····this.#root·=·this.#parent·?·this.#parent.#root·:·this\n····this.#options·=·this.#root·===·this·?·options·:·this.#root.#options\n····this.#negs·=·this.#root·===·this·?·[]·:·this.#root.#negs\n····if·(type·===·'!'·&&·!this.#root.#filledNegs)·this.#negs.push(this)\n····this.#parentIndex·=·this.#parent·?·this.#parent.#parts.length·:·0\n··}\n\n··get·hasMagic():·boolean·|·undefined·{\n····/*·c8·ignore·start·*/\n····if·(this.#hasMagic·!==·undefined)·return·this.#hasMagic\n····/*·c8·ignore·stop·*/\n····for·(const·p·of·this.#parts)·{\n······if·(typeof·p·===·'string')·continue\n······if·(p.type·||·p.hasMagic)·return·(this.#hasMagic·=·true)\n····}\n····//·note:·will·be·undefined·until·we·generate·the·regexp·src·and·find·out\n····return·this.#hasMagic\n··}\n\n··//·reconstructs·the·pattern\n··toString():·string·{\n····if·(this.#toString·!==·undefined)·return·this.#toString\n····if·(!this.type)·{\n······return·(this.#toString·=·this.#parts.map(p·=>·String(p)).join(''))\n····}·else·{\n······return·(this.#toString·=\n········this.type·+·'('·+·this.#parts.map(p·=>·String(p)).join('|')·+·')')\n····}\n··}\n\n··#fillNegs()·{\n····/*·c8·ignore·start·*/\n····if·(this·!==·this.#root)·throw·new·Error('should·only·call·on·root')\n····if·(this.#filledNegs)·return·this\n····/*·c8·ignore·stop·*/\n\n····//·call·toString()·once·to·fill·this·out\n····this.toString()\n····this.#filledNegs·=·true\n····let·n:·AST·|·undefined\n····while·((n·=·this.#negs.pop()))·{\n······if·(n.type·!==·'!')·continue\n······//·walk·up·the·tree,·appending·everthing·that·comes·AFTER·parentIndex\n······let·p:·AST·|·undefined·=·n\n······let·pp·=·p.#parent\n······while·(pp)·{\n········for·(\n··········let·i·=·p.#parentIndex·+·1;\n··········!pp.type·&&·i·<·pp.#parts.length;\n··········i++\n········)·{\n··········for·(const·part·of·n.#parts)·{\n············/*·c8·ignore·start·*/\n············if·(typeof·part·===·'string')·{\n··············throw·new·Error('string·part·in·extglob·AST??')\n············}\n············/*·c8·ignore·stop·*/\n············part.copyIn(pp.#parts[i])\n··········}\n········}\n········p·=·pp\n········pp·=·p.#parent\n······}\n····}\n····return·this\n··}\n\n··push(...parts:·(string·|·AST)[])·{\n····for·(const·p·of·parts)·{\n······if·(p·===·'')·continue\n······/*·c8·ignore·start·*/\n······if·(typeof·p·!==·'string'·&&·!(p·instanceof·AST·&&·p.#parent·===·this))·{\n········throw·new·Error('invalid·part:·'·+·p)\n······}\n······/*·c8·ignore·stop·*/\n······this.#parts.push(p)\n····}\n··}\n\n··toJSON()·{\n····const·ret:·any[]·=\n······this.type·===·nu[·...·truncated·by·diffoscope;·len:·13851,·SHA:·e61762108f1a7decad6655bb52ba0836b806c0f15d4ccc03e4e7a1856470844c·...·]········:·`)${this.type}`\n······final·=·start·+·body·+·close\n····}\n····return·[\n······final,\n······unescape(body),\n······(this.#hasMagic·=·!!this.#hasMagic),\n······this.#uflag,\n····]\n··}\n\n··#partsToRegExp(dot:·boolean)·{\n····return·this.#parts\n······.map(p·=>·{\n········//·extglob·ASTs·should·only·contain·parent·ASTs\n········/*·c8·ignore·start·*/\n········if·(typeof·p·===·'string')·{\n··········throw·new·Error('string·type·in·extglob·ast??')\n········}\n········/*·c8·ignore·stop·*/\n········//·can·ignore·hasMagic,·because·extglobs·are·already·always·magic\n········const·[re,·_,·_hasMagic,·uflag]·=·p.toRegExpSource(dot)\n········this.#uflag·=·this.#uflag·||·uflag\n········return·re\n······})\n······.filter(p·=>·!(this.isStart()·&&·this.isEnd())·||·!!p)\n······.join('|')\n··}\n\n··static·#parseGlob(\n····glob:·string,\n····hasMagic:·boolean·|·undefined,\n····noEmpty:·boolean·=·false,\n··):·[re:·string,·body:·string,·hasMagic:·boolean,·uflag:·boolean]·{\n····let·escaping·=·false\n····let·re·=·''\n····let·uflag·=·false\n····for·(let·i·=·0;·i·<·glob.length;·i++)·{\n······const·c·=·glob.charAt(i)\n······if·(escaping)·{\n········escaping·=·false\n········re·+=·(reSpecials.has(c)·?·'\\\\'·:·'')·+·c\n········continue\n······}\n······if·(c·===·'\\\\')·{\n········if·(i·===·glob.length·-·1)·{\n··········re·+=·'\\\\\\\\'\n········}·else·{\n··········escaping·=·true\n········}\n········continue\n······}\n······if·(c·===·'[')·{\n········const·[src,·needUflag,·consumed,·magic]·=·parseClass(glob,·i)\n········if·(consumed)·{\n··········re·+=·src\n··········uflag·=·uflag·||·needUflag\n··········i·+=·consumed·-·1\n··········hasMagic·=·hasMagic·||·magic\n··········continue\n········}\n······}\n······if·(c·===·'*')·{\n········re·+=·noEmpty·&&·glob·===·'*'·?·starNoEmpty·:·star\n········hasMagic·=·true\n········continue\n······}\n······if·(c·===·'?')·{\n········re·+=·qmark\n········hasMagic·=·true\n········continue\n······}\n······re·+=·regExpEscape(c)\n····}\n····return·[re,·unescape(glob),·!!hasMagic,·uflag]\n··}\n}\n"10 ········"//·parse·a·single·path·portion\n\nimport·{·parseClass·}·from·'./brace-expressions.js'\nimport·{·MinimatchOptions,·MMRegExp·}·from·'./index.js'\nimport·{·unescape·}·from·'./unescape.js'\n\n//·classes·[]·are·handled·by·the·parseClass·method\n//·for·positive·extglobs,·we·sub-parse·the·contents,·and·combine,\n//·with·the·appropriate·regexp·close.\n//·for·negative·extglobs,·we·sub-parse·the·contents,·but·then\n//·have·to·include·the·rest·of·the·pattern,·then·the·parent,·etc.,\n//·as·the·thing·that·cannot·be·because·RegExp·negative·lookaheads\n//·are·different·from·globs.\n//\n//·So·for·example:\n//·a@(i|w!(x|y)z|j)b·=>·^a(i|w((!?(x|y)zb).*)z|j)b$\n//···1···2·3···4·5·6······1···2····3···46······5·6\n//\n//·Assembling·the·extglob·requires·not·just·the·negated·patterns·themselves,\n//·but·also·anything·following·the·negative·patterns·up·to·the·boundary\n//·of·the·current·pattern,·plus·anything·following·in·the·parent·pattern.\n//\n//\n//·So,·first,·we·parse·the·string·into·an·AST·of·extglobs,·without·turning\n//·anything·into·regexps·yet.\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y']},·'z'],·['j']]},·'b']\n//\n//·Then,·for·all·the·negative·extglobs,·we·append·whatever·comes·after·in\n//·each·parent·as·their·tail\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y'],·'z',·'b'},·'z'],·['j']]},·'b']\n//\n//·Lastly,·we·turn·each·of·these·pieces·into·a·regexp,·and·join\n//\n//·································v-----·.*·because·there's·more·following,\n//·································v····v··otherwise,·.+·because·it·must·be\n//·································v····v··*something*·there.\n//·['^a',·{@·['i',·'w(?:(!?(?:x|y).*zb$).*)z',·'j'·]},·'b$']\n//···copy·what·follows·into·here--^^^^^\n//·['^a',·'(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)',·'b$']\n//·['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport·type·ExtglobType·=·'!'·|·'?'·|·'+'·|·'*'·|·'@'\nconst·types·=·new·Set<ExtglobType>(['!',·'?',·'+',·'*',·'@'])\nconst·isExtglobType·=·(c:·string):·c·is·ExtglobType·=>\n··types.has(c·as·ExtglobType)\n\n//·Patterns·that·get·prepended·to·bind·to·the·start·of·either·the\n//·entire·string,·or·just·a·single·path·portion,·to·prevent·dots\n//·and/or·traversal·patterns,·when·needed.\n//·Exts·don't·need·the·^·or·/·bit,·because·the·root·binds·that·already.\nconst·startNoTraversal·=·'(?!(?:^|/)\\\\.\\\\.?(?:$|/))'\nconst·startNoDot·=·'(?!\\\\.)'\n\n//·characters·that·indicate·a·start·of·pattern·needs·the·\"no·dots\"·bit,\n//·because·a·dot·*might*·be·matched.·(·is·not·in·the·list,·because·in\n//·the·case·of·a·child·extglob,·it·will·handle·the·prevention·itself.\nconst·addPatternStart·=·new·Set(['[',·'.'])\n//·cases·where·traversal·is·A-OK,·no·dot·prevention·needed\nconst·justDots·=·new·Set(['..',·'.'])\nconst·reSpecials·=·new·Set('().*{}+?[]^$\\\\!')\nconst·regExpEscape·=·(s:·string)·=>\n··s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,·'\\\\$&')\n\n//·any·single·thing·other·than·/\nconst·qmark·=·'[^/]'\n\n//·*·=>·any·number·of·characters\nconst·star·=·qmark·+·'*?'\n//·use·+·when·we·need·to·ensure·that·*something*·matches,·because·the·*·is\n//·the·only·thing·in·the·path·portion.\nconst·starNoEmpty·=·qmark·+·'+?'\n\n//·remove·the·\\·chars·that·we·added·if·we·end·up·doing·a·nonmagic·compare\n//·const·deslash·=·(s:·string)·=>·s.replace(/\\\\(.)/g,·'$1')\n\nexport·class·AST·{\n··type:·ExtglobType·|·null\n··readonly·#root:·AST\n\n··#hasMagic?:·boolean\n··#uflag:·boolean·=·false\n··#parts:·(string·|·AST)[]·=·[]\n··readonly·#parent?:·AST\n··readonly·#parentIndex:·number\n··#negs:·AST[]\n··#filledNegs:·boolean·=·false\n··#options:·MinimatchOptions\n··#toString?:·string\n··//·set·to·true·if·it's·an·extglob·with·no·children\n··//·(which·really·means·one·child·of·'')\n··#emptyExt:·boolean·=·false\n\n··constructor(\n····type:·ExtglobType·|·null,\n····parent?:·AST,\n····options:·MinimatchOptions·=·{},\n··)·{\n····this.type·=·type\n····//·extglobs·are·inherently·magical\n····if·(type)·this.#hasMagic·=·true\n····this.#parent·=·parent\n····this.#root·=·this.#parent·?·this.#parent.#root·:·this\n····this.#options·=·this.#root·===·this·?·options·:·this.#root.#options\n····this.#negs·=·this.#root·===·this·?·[]·:·this.#root.#negs\n····if·(type·===·'!'·&&·!this.#root.#filledNegs)·this.#negs.push(this)\n····this.#parentIndex·=·this.#parent·?·this.#parent.#parts.length·:·0\n··}\n\n··get·hasMagic():·boolean·|·undefined·{\n····/*·c8·ignore·start·*/\n····if·(this.#hasMagic·!==·undefined)·return·this.#hasMagic\n····/*·c8·ignore·stop·*/\n····for·(const·p·of·this.#parts)·{\n······if·(typeof·p·===·'string')·continue\n······if·(p.type·||·p.hasMagic)·return·(this.#hasMagic·=·true)\n····}\n····//·note:·will·be·undefined·until·we·generate·the·regexp·src·and·find·out\n····return·this.#hasMagic\n··}\n\n··//·reconstructs·the·pattern\n··toString():·string·{\n····if·(this.#toString·!==·undefined)·return·this.#toString\n····if·(!this.type)·{\n······return·(this.#toString·=·this.#parts.map(p·=>·String(p)).join(''))\n····}·else·{\n······return·(this.#toString·=\n········this.type·+·'('·+·this.#parts.map(p·=>·String(p)).join('|')·+·')')\n····}\n··}\n\n··#fillNegs()·{\n····/*·c8·ignore·start·*/\n····if·(this·!==·this.#root)·throw·new·Error('should·only·call·on·root')\n····if·(this.#filledNegs)·return·this\n····/*·c8·ignore·stop·*/\n\n····//·call·toString()·once·to·fill·this·out\n····this.toString()\n····this.#filledNegs·=·true\n····let·n:·AST·|·undefined\n····while·((n·=·this.#negs.pop()))·{\n······if·(n.type·!==·'!')·continue\n······//·walk·up·the·tree,·appending·everthing·that·comes·AFTER·parentIndex\n······let·p:·AST·|·undefined·=·n\n······let·pp·=·p.#parent\n······while·(pp)·{\n········for·(\n··········let·i·=·p.#parentIndex·+·1;\n··········!pp.type·&&·i·<·pp.#parts.length;\n··········i++\n········)·{\n··········for·(const·part·of·n.#parts)·{\n············/*·c8·ignore·start·*/\n············if·(typeof·part·===·'string')·{\n··············throw·new·Error('string·part·in·extglob·AST??')\n············}\n············/*·c8·ignore·stop·*/\n············part.copyIn(pp.#parts[i])\n··········}\n········}\n········p·=·pp\n········pp·=·p.#parent\n······}\n····}\n····return·this\n··}\n\n··push(...parts:·(string·|·AST)[])·{\n····for·(const·p·of·parts)·{\n······if·(p·===·'')·continue\n······/*·c8·ignore·start·*/\n······if·(\n········typeof·p·!==·'string'·&&\n········!(p·instanceof·AST·&&·p.#parent·===·this)\n······)·{\n········throw·new·Error('invalid·part:·'·+·p)\n······}\n······/*·c8·ignore·stop·*/\n······this.#parts.push(p)\n····}\n··}\n\n··toJSON()·{\n····const·ret:·any[[·...·truncated·by·diffoscope;·len:·13839,·SHA:·c03f87d94904207bdd65f1429cda15924b156fe87d650492b981186ea82c35d0·...·]········:·`)${this.type}`\n······final·=·start·+·body·+·close\n····}\n····return·[\n······final,\n······unescape(body),\n······(this.#hasMagic·=·!!this.#hasMagic),\n······this.#uflag,\n····]\n··}\n\n··#partsToRegExp(dot:·boolean)·{\n····return·this.#parts\n······.map(p·=>·{\n········//·extglob·ASTs·should·only·contain·parent·ASTs\n········/*·c8·ignore·start·*/\n········if·(typeof·p·===·'string')·{\n··········throw·new·Error('string·type·in·extglob·ast??')\n········}\n········/*·c8·ignore·stop·*/\n········//·can·ignore·hasMagic,·because·extglobs·are·already·always·magic\n········const·[re,·_,·_hasMagic,·uflag]·=·p.toRegExpSource(dot)\n········this.#uflag·=·this.#uflag·||·uflag\n········return·re\n······})\n······.filter(p·=>·!(this.isStart()·&&·this.isEnd())·||·!!p)\n······.join('|')\n··}\n\n··static·#parseGlob(\n····glob:·string,\n····hasMagic:·boolean·|·undefined,\n····noEmpty:·boolean·=·false,\n··):·[re:·string,·body:·string,·hasMagic:·boolean,·uflag:·boolean]·{\n····let·escaping·=·false\n····let·re·=·''\n····let·uflag·=·false\n····for·(let·i·=·0;·i·<·glob.length;·i++)·{\n······const·c·=·glob.charAt(i)\n······if·(escaping)·{\n········escaping·=·false\n········re·+=·(reSpecials.has(c)·?·'\\\\'·:·'')·+·c\n········continue\n······}\n······if·(c·===·'\\\\')·{\n········if·(i·===·glob.length·-·1)·{\n··········re·+=·'\\\\\\\\'\n········}·else·{\n··········escaping·=·true\n········}\n········continue\n······}\n······if·(c·===·'[')·{\n········const·[src,·needUflag,·consumed,·magic]·=·parseClass(glob,·i)\n········if·(consumed)·{\n··········re·+=·src\n··········uflag·=·uflag·||·needUflag\n··········i·+=·consumed·-·1\n··········hasMagic·=·hasMagic·||·magic\n··········continue\n········}\n······}\n······if·(c·===·'*')·{\n········re·+=·noEmpty·&&·glob·===·'*'·?·starNoEmpty·:·star\n········hasMagic·=·true\n········continue\n······}\n······if·(c·===·'?')·{\n········re·+=·qmark\n········hasMagic·=·true\n········continue\n······}\n······re·+=·regExpEscape(c)\n····}\n····return·[re,·unescape(glob),·!!hasMagic,·uflag]\n··}\n}\n"
11 ····],11 ····],
12 ····"version":·312 ····"version":·3
13 }13 }
826 B
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map
636 B
Pretty-printed
    
Offset 1, 10 lines modifiedOffset 1, 10 lines modified
1 {1 {
2 ····"file":·"brace-expressions.d.ts",2 ····"file":·"brace-expressions.d.ts",
3 ····"mappings":·"AA+BA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,OAAO;CAClB,CAAA;AAQD,eAAO,MAAM,UAAU,GACrB,MAAM,MAAM,EACZ,UAAU,MAAM,KACf,gBA6HF,CAAA",3 ····"mappings":·"AAgCA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,OAAO;CAClB,CAAA;AAQD,eAAO,MAAM,UAAU,GACrB,MAAM,MAAM,EACZ,UAAU,MAAM,KACf,gBA2HF,CAAA",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/brace-expressions.ts"7 ········"../../src/brace-expressions.ts"
8 ····],8 ····],
9 ····"version":·39 ····"version":·3
10 }10 }
2.74 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/brace-expressions.js
'js-beautify' not available in path. Falling back to binary comparison.
    
Offset 339, 23 lines modifiedOffset 339, 21 lines modified
00001520:·2063·6f6e·7374·2073·6e65·6773·203d·2027···const·snegs·=·'00001520:·2063·6f6e·7374·2073·6e65·6773·203d·2027···const·snegs·=·'
00001530:·5b27·202b·2028·6e65·6761·7465·203f·2027··['·+·(negate·?·'00001530:·5b27·202b·2028·6e65·6761·7465·203f·2027··['·+·(negate·?·'
00001540:·2720·3a20·275e·2729·202b·2072·616e·6765··'·:·'^')·+·range00001540:·2720·3a20·275e·2729·202b·2072·616e·6765··'·:·'^')·+·range
00001550:·7354·6f53·7472·696e·6728·6e65·6773·2920··sToString(negs)·00001550:·7354·6f53·7472·696e·6728·6e65·6773·2920··sToString(negs)·
00001560:·2b20·275d·273b·0a20·2020·2063·6f6e·7374··+·']';.····const00001560:·2b20·275d·273b·0a20·2020·2063·6f6e·7374··+·']';.····const
00001570:·2063·6f6d·6220·3d20·7261·6e67·6573·2e6c···comb·=·ranges.l00001570:·2063·6f6d·6220·3d20·7261·6e67·6573·2e6c···comb·=·ranges.l
00001580:·656e·6774·6820·2626·206e·6567·732e·6c65··ength·&&·negs.le00001580:·656e·6774·6820·2626·206e·6567·732e·6c65··ength·&&·negs.le
 00001590:·6e67·7468·203f·2027·2827·202b·2073·7261··ngth·?·'('·+·sra
 000015a0:·6e67·6573·202b·2027·7c27·202b·2073·6e65··nges·+·'|'·+·sne
 000015b0:·6773·202b·2027·2927·0a20·2020·2020·2020··gs·+·')'.·······
 000015c0:·203a·2072·616e·6765·732e·6c65·6e67·7468···:·ranges.length
00001590:·6e67·7468·0a20·2020·2020·2020·203f·2027··ngth.········?·' 
000015a0:·2827·202b·2073·7261·6e67·6573·202b·2027··('·+·sranges·+·' 
000015b0:·7c27·202b·2073·6e65·6773·202b·2027·2927··|'·+·snegs·+·')' 
000015c0:·0a20·2020·2020·2020·203a·2072·616e·6765··.········:·range 
000015d0:·732e·6c65·6e67·7468·0a20·2020·2020·2020··s.length.······· 
000015e0:·2020·2020·203f·2073·7261·6e67·6573·0a20·······?·sranges.·000015d0:·203f·2073·7261·6e67·6573·0a20·2020·2020···?·sranges.·····
000015f0:·2020·2020·2020·2020·2020·203a·2073·6e65·············:·sne000015e0:·2020·2020·2020·203a·2073·6e65·6773·3b0a·········:·snegs;.
00001600:·6773·3b0a·2020·2020·7265·7475·726e·205b··gs;.····return·[000015f0:·2020·2020·7265·7475·726e·205b·636f·6d62······return·[comb
00001610:·636f·6d62·2c20·7566·6c61·672c·2065·6e64··comb,·uflag,·end00001600:·2c20·7566·6c61·672c·2065·6e64·506f·7320··,·uflag,·endPos·
00001620:·506f·7320·2d20·706f·732c·2074·7275·655d··Pos·-·pos,·true]00001610:·2d20·706f·732c·2074·7275·655d·3b0a·7d3b··-·pos,·true];.};
00001630:·3b0a·7d3b·0a65·7870·6f72·7473·2e70·6172··;.};.exports.par00001620:·0a65·7870·6f72·7473·2e70·6172·7365·436c··.exports.parseCl
00001640:·7365·436c·6173·7320·3d20·7061·7273·6543··seClass·=·parseC00001630:·6173·7320·3d20·7061·7273·6543·6c61·7373··ass·=·parseClass
00001650:·6c61·7373·3b0a·2f2f·2320·736f·7572·6365··lass;.//#·source00001640:·3b0a·2f2f·2320·736f·7572·6365·4d61·7070··;.//#·sourceMapp
00001660:·4d61·7070·696e·6755·524c·3d62·7261·6365··MappingURL=brace00001650:·696e·6755·524c·3d62·7261·6365·2d65·7870··ingURL=brace-exp
00001670:·2d65·7870·7265·7373·696f·6e73·2e6a·732e··-expressions.js.00001660:·7265·7373·696f·6e73·2e6a·732e·6d61·70····ressions.js.map
00001680:·6d61·70··································map 
20.8 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/brace-expressions.js.map
20.6 KB
Pretty-printed
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 {1 {
2 ····"file":·"brace-expressions.js",2 ····"file":·"brace-expressions.js",
3 ····"mappings":·";AAAA,wEAAwE;AACxE,wCAAwC;;;AAExC,8DAA8D;AAC9D,MAAM,YAAY,GAA0D;IAC1E,WAAW,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC;IAC3C,WAAW,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC;IAC7C,WAAW,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;IACjC,WAAW,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;IAC9B,WAAW,EAAE,CAAC,SAAS[·...·truncated·by·diffoscope;·len:·4617,·SHA:·d0c980610875d861786051bb39b556cd93381457cdc72f4c9e344abfcb0ef481·...·]tB",3 ····"mappings":·";AAAA,wEAAwE;AACxE,wCAAwC;;;AAExC,8DAA8D;AAC9D,MAAM,YAAY,GAChB;IACE,WAAW,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC;IAC3C,WAAW,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC;IAC7C,WAAW,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;IACjC,WAAW,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;IAC9B,WAAW,EAAE,CAAC,SAAS,[·...·truncated·by·diffoscope;·len:·4616,·SHA:·3a132f0e3fb9adc58663b91a4fff8908cebf663a3707d38b0842715b5c18e670·...·]tB",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/brace-expressions.ts"7 ········"../../src/brace-expressions.ts"
8 ····],8 ····],
9 ····"sourcesContent":·[9 ····"sourcesContent":·[
10 ········"//·translate·the·various·posix·character·classes·into·unicode·properties\n//·this·works·across·all·unicode·locales\n\n//·{·<posix·class>:·[<translation>,·/u·flag·required,·negated]\nconst·posixClasses:·{·[k:·string]:·[e:·string,·u:·boolean,·n?:·boolean]·}·=·{\n··'[:alnum:]':·['\\\\p{L}\\\\p{Nl}\\\\p{Nd}',·true],\n··'[:alpha:]':·['\\\\p{L}\\\\p{Nl}',·true],\n··'[:ascii:]':·['\\\\x'·+·'00-\\\\x'·+·'7f',·false],\n··'[:blank:]':·['\\\\p{Zs}\\\\t',·true],\n··'[:cntrl:]':·['\\\\p{Cc}',·true],\n··'[:digit:]':·['\\\[·...·truncated·by·diffoscope;·len:·4898,·SHA:·13a1dfc74d3273d3922499c68d9adc9c371dce365b5f6b03f6a9d6f42d6f20ad·...·]····:·snegs\n\n··return·[comb,·uflag,·endPos·-·pos,·true]\n}\n"10 ········"//·translate·the·various·posix·character·classes·into·unicode·properties\n//·this·works·across·all·unicode·locales\n\n//·{·<posix·class>:·[<translation>,·/u·flag·required,·negated]\nconst·posixClasses:·{·[k:·string]:·[e:·string,·u:·boolean,·n?:·boolean]·}·=\n··{\n····'[:alnum:]':·['\\\\p{L}\\\\p{Nl}\\\\p{Nd}',·true],\n····'[:alpha:]':·['\\\\p{L}\\\\p{Nl}',·true],\n····'[:ascii:]':·['\\\\x'·+·'00-\\\\x'·+·'7f',·false],\n····'[:blank:]':·['\\\\p{Zs}\\\\t',·true],\n····'[:cntrl:]':·['\\\\p{Cc}',·true],\n····'[:[·...·truncated·by·diffoscope;·len:·4909,·SHA:·c54fbd093a03e50b1156577f01ca078c2ac52f0cbcaa02a2ccf5b582d7da406b·...·]····:·snegs\n\n··return·[comb,·uflag,·endPos·-·pos,·true]\n}\n"
11 ····],11 ····],
12 ····"version":·312 ····"version":·3
13 }13 }
2.13 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/escape.js
'js-beautify' not available in path. Falling back to binary comparison.
    
Offset 54, 24 lines modifiedOffset 54, 24 lines modified
00000350:·2020·202f·2f20·6265·6361·7573·6520·5b21·····//·because·[!00000350:·2020·202f·2f20·6265·6361·7573·6520·5b21·····//·because·[!
00000360:·5d5d·2069·7320·6120·7661·6c69·6420·676c··]]·is·a·valid·gl00000360:·5d5d·2069·7320·6120·7661·6c69·6420·676c··]]·is·a·valid·gl
00000370:·6f62·2063·6c61·7373·206d·6561·6e69·6e67··ob·class·meaning00000370:·6f62·2063·6c61·7373·206d·6561·6e69·6e67··ob·class·meaning
00000380:·206e·6f74·2027·5d27·2e0a·2020·2020·6966···not·']'..····if00000380:·206e·6f74·2027·5d27·2e0a·2020·2020·6966···not·']'..····if
00000390:·2028·6d61·6769·6361·6c42·7261·6365·7329···(magicalBraces)00000390:·2028·6d61·6769·6361·6c42·7261·6365·7329···(magicalBraces)
000003a0:·207b·0a20·2020·2020·2020·2072·6574·7572···{.········retur000003a0:·207b·0a20·2020·2020·2020·2072·6574·7572···{.········retur
000003b0:·6e20·7769·6e64·6f77·7350·6174·6873·4e6f··n·windowsPathsNo000003b0:·6e20·7769·6e64·6f77·7350·6174·6873·4e6f··n·windowsPathsNo
000003c0:·4573·6361·7065·0a20·2020·2020·2020·2020··Escape.·········000003c0:·4573·6361·7065·203f·0a20·2020·2020·2020··Escape·?.·······
000003d0:·2020·203f·2073·2e72·6570·6c61·6365·282f·····?·s.replace(/000003d0:·2020·2020·2073·2e72·6570·6c61·6365·282f·······s.replace(/
000003e0:·5b3f·2a28·295b·5c5d·7b7d·5d2f·672c·2027··[?*()[\]{}]/g,·'000003e0:·5b3f·2a28·295b·5c5d·7b7d·5d2f·672c·2027··[?*()[\]{}]/g,·'
000003f0:·5b24·265d·2729·0a20·2020·2020·2020·2020··[$&]').·········000003f0:·5b24·265d·2729·0a20·2020·2020·2020·2020··[$&]').·········
00000400:·2020·203a·2073·2e72·6570·6c61·6365·282f·····:·s.replace(/00000400:·2020·203a·2073·2e72·6570·6c61·6365·282f·····:·s.replace(/
00000410:·5b3f·2a28·295b·5c5d·5c5c·7b7d·5d2f·672c··[?*()[\]\\{}]/g,00000410:·5b3f·2a28·295b·5c5d·5c5c·7b7d·5d2f·672c··[?*()[\]\\{}]/g,
00000420:·2027·5c5c·2426·2729·3b0a·2020·2020·7d0a···'\\$&');.····}.00000420:·2027·5c5c·2426·2729·3b0a·2020·2020·7d0a···'\\$&');.····}.
00000430:·2020·2020·7265·7475·726e·2077·696e·646f······return·windo00000430:·2020·2020·7265·7475·726e·2077·696e·646f······return·windo
00000440:·7773·5061·7468·734e·6f45·7363·6170·650a··wsPathsNoEscape.00000440:·7773·5061·7468·734e·6f45·7363·6170·6520··wsPathsNoEscape·
00000450:·2020·2020·2020·2020·3f20·732e·7265·706c··········?·s.repl00000450:·3f0a·2020·2020·2020·2020·732e·7265·706c··?.········s.repl
00000460:·6163·6528·2f5b·3f2a·2829·5b5c·5d5d·2f67··ace(/[?*()[\]]/g00000460:·6163·6528·2f5b·3f2a·2829·5b5c·5d5d·2f67··ace(/[?*()[\]]/g
00000470:·2c20·275b·2426·5d27·290a·2020·2020·2020··,·'[$&]').······00000470:·2c20·275b·2426·5d27·290a·2020·2020·2020··,·'[$&]').······
00000480:·2020·3a20·732e·7265·706c·6163·6528·2f5b····:·s.replace(/[00000480:·2020·3a20·732e·7265·706c·6163·6528·2f5b····:·s.replace(/[
00000490:·3f2a·2829·5b5c·5d5c·5c5d·2f67·2c20·275c··?*()[\]\\]/g,·'\00000490:·3f2a·2829·5b5c·5d5c·5c5d·2f67·2c20·275c··?*()[\]\\]/g,·'\
000004a0:·5c24·2627·293b·0a7d·3b0a·6578·706f·7274··\$&');.};.export000004a0:·5c24·2627·293b·0a7d·3b0a·6578·706f·7274··\$&');.};.export
000004b0:·732e·6573·6361·7065·203d·2065·7363·6170··s.escape·=·escap000004b0:·732e·6573·6361·7065·203d·2065·7363·6170··s.escape·=·escap
000004c0:·653b·0a2f·2f23·2073·6f75·7263·654d·6170··e;.//#·sourceMap000004c0:·653b·0a2f·2f23·2073·6f75·7263·654d·6170··e;.//#·sourceMap
3.87 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/escape.js.map
3.71 KB
Pretty-printed
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 {1 {
2 ····"file":·"escape.js",2 ····"file":·"escape.js",
3 ····"mappings":·";;;AAEA;;;;;;;;;;;GAWG;AACI,MAAM,MAAM,GAAG,CACpB,CAAS,EACT,EACE,oBAAoB,GAAG,KAAK,EAC5B,aAAa,GAAG,KAAK,MAC+C,EAAE,EACxE,EAAE;IACF,wDAAwD;IACxD,4DAA4D;IAC5D,sDAAsD;IACtD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,oBAAoB;YACzB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;YACnC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,oBAAoB;QACzB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;AACvC,CAAC,CAAA;AAlBY,QAAA,MAAM,UAkBlB",3 ····"mappings":·";;;AAEA;;;;;;;;;;;GAWG;AACI,MAAM,MAAM,GAAG,CACpB,CAAS,EACT,EACE,oBAAoB,GAAG,KAAK,EAC5B,aAAa,GAAG,KAAK,MAC+C,EAAE,EACxE,EAAE;IACF,wDAAwD;IACxD,4DAA4D;IAC5D,sDAAsD;IACtD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,oBAAoB,CAAC,CAAC;YACzB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;YACnC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,oBAAoB,CAAC,CAAC;QACzB,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;AACvC,CAAC,CAAA;AAlBY,QAAA,MAAM,UAkBlB",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/escape.ts"7 ········"../../src/escape.ts"
8 ····],8 ····],
9 ····"sourcesContent":·[9 ····"sourcesContent":·[
10 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Escape·all·magic·characters·in·a·glob·pattern.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}\n·*·option·is·used,·then·characters·are·escaped·by·wrapping·in·`[]`,·because\n·*·a·magic·character·wrapped·in·a·character·class·can·only·be·satisfied·by\n·*·that·exact·character.··In·this·mode,·`\\`·is·_not_·escaped,·because·it·is\n·*·not·interpreted·as·a·magic·character,·but·instead·as·a·path·separator.\n·*\n·*·If·the·{@link·MinimatchOptions.magicalBraces}·option·is·used,\n·*·then·braces·(`{`·and·`}`)·will·be·escaped.\n·*/\nexport·const·escape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·false,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··//·don't·need·to·escape·+@!·because·we·escape·the·parens\n··//·that·make·those·magic,·and·escaping·!·as·[!]·isn't·valid,\n··//·because·[!]]·is·a·valid·glob·class·meaning·not·']'.\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape\n······?·s.replace(/[?*()[\\]{}]/g,·'[$&]')\n······:·s.replace(/[?*()[\\]\\\\{}]/g,·'\\\\$&')\n··}\n··return·windowsPathsNoEscape\n····?·s.replace(/[?*()[\\]]/g,·'[$&]')\n····:·s.replace(/[?*()[\\]\\\\]/g,·'\\\\$&')\n}\n"10 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Escape·all·magic·characters·in·a·glob·pattern.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}\n·*·option·is·used,·then·characters·are·escaped·by·wrapping·in·`[]`,·because\n·*·a·magic·character·wrapped·in·a·character·class·can·only·be·satisfied·by\n·*·that·exact·character.··In·this·mode,·`\\`·is·_not_·escaped,·because·it·is\n·*·not·interpreted·as·a·magic·character,·but·instead·as·a·path·separator.\n·*\n·*·If·the·{@link·MinimatchOptions.magicalBraces}·option·is·used,\n·*·then·braces·(`{`·and·`}`)·will·be·escaped.\n·*/\nexport·const·escape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·false,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··//·don't·need·to·escape·+@!·because·we·escape·the·parens\n··//·that·make·those·magic,·and·escaping·!·as·[!]·isn't·valid,\n··//·because·[!]]·is·a·valid·glob·class·meaning·not·']'.\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape·?\n········s.replace(/[?*()[\\]{}]/g,·'[$&]')\n······:·s.replace(/[?*()[\\]\\\\{}]/g,·'\\\\$&')\n··}\n··return·windowsPathsNoEscape·?\n······s.replace(/[?*()[\\]]/g,·'[$&]')\n····:·s.replace(/[?*()[\\]\\\\]/g,·'\\\\$&')\n}\n"
11 ····],11 ····],
12 ····"version":·312 ····"version":·3
13 }13 }
3.35 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/index.d.ts
    
Offset 1, 30 lines modifiedOffset 1, 80 lines modified
1 import·{·AST·}·from·'./ast.js';1 import·{·AST·}·from·'./ast.js';
2 export·type·Platform·=·'aix'·|·'android'·|·'darwin'·|·'freebsd'·|·'haiku'·|·'linux'·|·'openbsd'·|·'sunos'·|·'win32'·|·'cygwin'·|·'netbsd';2 export·type·Platform·=·'aix'·|·'android'·|·'darwin'·|·'freebsd'·|·'haiku'·|·'linux'·|·'openbsd'·|·'sunos'·|·'win32'·|·'cygwin'·|·'netbsd';
3 export·interface·MinimatchOptions·{3 export·interface·MinimatchOptions·{
 4 ····/**·do·not·expand·`{x,y}`·style·braces·*/
4 ····nobrace?:·boolean;5 ····nobrace?:·boolean;
 6 ····/**·do·not·treat·patterns·starting·with·`#`·as·a·comment·*/
5 ····nocomment?:·boolean;7 ····nocomment?:·boolean;
 8 ····/**·do·not·treat·patterns·starting·with·`!`·as·a·negation·*/
6 ····nonegate?:·boolean;9 ····nonegate?:·boolean;
 10 ····/**·print·LOTS·of·debugging·output·*/
7 ····debug?:·boolean;11 ····debug?:·boolean;
 12 ····/**·treat·`**`·the·same·as·`*`·*/
8 ····noglobstar?:·boolean;13 ····noglobstar?:·boolean;
 14 ····/**·do·not·expand·extglobs·like·`+(a|b)`·*/
9 ····noext?:·boolean;15 ····noext?:·boolean;
 16 ····/**·return·the·pattern·if·nothing·matches·*/
10 ····nonull?:·boolean;17 ····nonull?:·boolean;
 18 ····/**·treat·`\\`·as·a·path·separator,·not·an·escape·character·*/
11 ····windowsPathsNoEscape?:·boolean;19 ····windowsPathsNoEscape?:·boolean;
 20 ····/**
 21 ·····*·inverse·of·{@link·MinimatchOptions.windowsPathsNoEscape}
 22 ·····*·@deprecated
 23 ·····*/
12 ····allowWindowsEscape?:·boolean;24 ····allowWindowsEscape?:·boolean;
 25 ····/**
 26 ·····*·Compare·a·partial·path·to·a·pattern.·As·long·as·the·parts
 27 ·····*·of·the·path·that·are·present·are·not·contradicted·by·the
 28 ·····*·pattern,·it·will·be·treated·as·a·match.·This·is·useful·in
 29 ·····*·applications·where·you're·walking·through·a·folder·structure,
 30 ·····*·and·don't·yet·have·the·full·path,·but·want·to·ensure·that·you
 31 ·····*·do·not·walk·down·paths·that·can·never·be·a·match.
 32 ·····*/
13 ····partial?:·boolean;33 ····partial?:·boolean;
 34 ····/**·allow·matches·that·start·with·`.`·even·if·the·pattern·does·not·*/
14 ····dot?:·boolean;35 ····dot?:·boolean;
 36 ····/**·ignore·case·*/
15 ····nocase?:·boolean;37 ····nocase?:·boolean;
 38 ····/**·ignore·case·only·in·wildcard·patterns·*/
16 ····nocaseMagicOnly?:·boolean;39 ····nocaseMagicOnly?:·boolean;
 40 ····/**·consider·braces·to·be·"magic"·for·the·purpose·of·`hasMagic`·*/
17 ····magicalBraces?:·boolean;41 ····magicalBraces?:·boolean;
 42 ····/**
 43 ·····*·If·set,·then·patterns·without·slashes·will·be·matched
 44 ·····*·against·the·basename·of·the·path·if·it·contains·slashes.
 45 ·····*·For·example,·`a?b`·would·match·the·path·`/xyz/123/acb`,·but
 46 ·····*·not·`/xyz/acb/123`.
 47 ·····*/
18 ····matchBase?:·boolean;48 ····matchBase?:·boolean;
 49 ····/**·invert·the·results·of·negated·matches·*/
19 ····flipNegate?:·boolean;50 ····flipNegate?:·boolean;
 51 ····/**·do·not·collapse·multiple·`/`·into·a·single·`/`·*/
20 ····preserveMultipleSlashes?:·boolean;52 ····preserveMultipleSlashes?:·boolean;
 53 ····/**
 54 ·····*·A·number·indicating·the·level·of·optimization·that·should·be·done
 55 ·····*·to·the·pattern·prior·to·parsing·and·using·it·for·matches.
 56 ·····*/
21 ····optimizationLevel?:·number;57 ····optimizationLevel?:·number;
 58 ····/**·operating·system·platform·*/
22 ····platform?:·Platform;59 ····platform?:·Platform;
 60 ····/**
 61 ·····*·When·a·pattern·starts·with·a·UNC·path·or·drive·letter,·and·in
 62 ·····*·`nocase:true`·mode,·do·not·convert·the·root·portions·of·the
 63 ·····*·pattern·into·a·case-insensitive·regular·expression,·and·instead
 64 ·····*·leave·them·as·strings.
 65 ·····*
 66 ·····*·This·is·the·default·when·the·platform·is·`win32`·and
 67 ·····*·`nocase:true`·is·set.
 68 ·····*/
23 ····windowsNoMagicRoot?:·boolean;69 ····windowsNoMagicRoot?:·boolean;
 70 ····/**
 71 ·····*·max·number·of·`{...}`·patterns·to·expand.·Default·100_000.
 72 ·····*/
 73 ····braceExpandMax?:·number;
24 }74 }
25 export·declare·const·minimatch:·{75 export·declare·const·minimatch:·{
26 ····(p:·string,·pattern:·string,·options?:·MinimatchOptions):·boolean;76 ····(p:·string,·pattern:·string,·options?:·MinimatchOptions):·boolean;
27 ····sep:·Sep;77 ····sep:·Sep;
28 ····GLOBSTAR:·typeof·GLOBSTAR;78 ····GLOBSTAR:·typeof·GLOBSTAR;
29 ····filter:·(pattern:·string,·options?:·MinimatchOptions)·=>·(p:·string)·=>·boolean;79 ····filter:·(pattern:·string,·options?:·MinimatchOptions)·=>·(p:·string)·=>·boolean;
30 ····defaults:·(def:·MinimatchOptions)·=>·typeof·minimatch;80 ····defaults:·(def:·MinimatchOptions)·=>·typeof·minimatch;
6.88 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/index.d.ts.map
6.72 KB
Pretty-printed
    
Offset 1, 10 lines modifiedOffset 1, 10 lines modified
1 {1 {
2 ····"file":·"index.d.ts",2 ····"file":·"index.d.ts",
3 ····"mappings":·"AAEA,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAA;AAI3C,MAAM,MAAM,QAAQ,GAChB,KAAK,GACL,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,CAAA;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,C[·...·truncated·by·diffoscope;·len:·2462,·SHA:·4147bff405dab53d48a13ff5d65d1e281090cb678ec9792beca50965b55a5b1e·...·]GN,UAAU,CAAC,CAAC,EAAE,MAAM;IAepB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,UAAe;IAiEvC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB;CAGtC;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA",3 ····"mappings":·"AAEA,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAA;AAI3C,MAAM,MAAM,QAAQ,GAChB,KAAK,GACL,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,CAAA;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAA[·...·truncated·by·diffoscope;·len:·2771,·SHA:·40d0d2c5dd89ab309d65ffe3372fec6c8701cb0fb1c7065959496b53cc54726d·...·]GN,UAAU,CAAC,CAAC,EAAE,MAAM;IAepB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,UAAe;IAiEvC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB;CAGtC;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/index.ts"7 ········"../../src/index.ts"
8 ····],8 ····],
9 ····"version":·39 ····"version":·3
10 }10 }
345 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/index.js
'js-beautify' not available in path. Falling back to binary comparison.
    
Offset 14, 2561 lines modifiedOffset 14, 2574 lines modified
000000d0:·732e·6465·6661·756c·7473·203d·2065·7870··s.defaults·=·exp000000d0:·732e·6465·6661·756c·7473·203d·2065·7870··s.defaults·=·exp
000000e0:·6f72·7473·2e66·696c·7465·7220·3d20·6578··orts.filter·=·ex000000e0:·6f72·7473·2e66·696c·7465·7220·3d20·6578··orts.filter·=·ex
000000f0:·706f·7274·732e·474c·4f42·5354·4152·203d··ports.GLOBSTAR·=000000f0:·706f·7274·732e·474c·4f42·5354·4152·203d··ports.GLOBSTAR·=
00000100:·2065·7870·6f72·7473·2e73·6570·203d·2065···exports.sep·=·e00000100:·2065·7870·6f72·7473·2e73·6570·203d·2065···exports.sep·=·e
00000110:·7870·6f72·7473·2e6d·696e·696d·6174·6368··xports.minimatch00000110:·7870·6f72·7473·2e6d·696e·696d·6174·6368··xports.minimatch
00000120:·203d·2076·6f69·6420·303b·0a63·6f6e·7374···=·void·0;.const00000120:·203d·2076·6f69·6420·303b·0a63·6f6e·7374···=·void·0;.const
Diff chunk too large, falling back to line-by-line diff (710 lines added, 710 lines removed)
00000130:·2062·7261·6365·5f65·7870·616e·7369·6f6e···brace_expansion00000130:·2062·7261·6365·5f65·7870·616e·7369·6f6e···brace_expansion
00000140:·5f31·203d·2072·6571·7569·7265·2822·4069··_1·=·require("@i00000140:·5f31·203d·2072·6571·7569·7265·2822·6272··_1·=·require("br
00000150:·7361·6163·732f·6272·6163·652d·6578·7061··saacs/brace-expa00000150:·6163·652d·6578·7061·6e73·696f·6e22·293b··ace-expansion");
00000160:·6e73·696f·6e22·293b·0a63·6f6e·7374·2061··nsion");.const·a00000160:·0a63·6f6e·7374·2061·7373·6572·745f·7661··.const·assert_va
00000170:·7373·6572·745f·7661·6c69·645f·7061·7474··ssert_valid_patt00000170:·6c69·645f·7061·7474·6572·6e5f·6a73·5f31··lid_pattern_js_1
00000180:·6572·6e5f·6a73·5f31·203d·2072·6571·7569··ern_js_1·=·requi00000180:·203d·2072·6571·7569·7265·2822·2e2f·6173···=·require("./as
00000190:·7265·2822·2e2f·6173·7365·7274·2d76·616c··re("./assert-val00000190:·7365·7274·2d76·616c·6964·2d70·6174·7465··sert-valid-patte
000001a0:·6964·2d70·6174·7465·726e·2e6a·7322·293b··id-pattern.js");000001a0:·726e·2e6a·7322·293b·0a63·6f6e·7374·2061··rn.js");.const·a
000001b0:·0a63·6f6e·7374·2061·7374·5f6a·735f·3120··.const·ast_js_1·000001b0:·7374·5f6a·735f·3120·3d20·7265·7175·6972··st_js_1·=·requir
000001c0:·3d20·7265·7175·6972·6528·222e·2f61·7374··=·require("./ast000001c0:·6528·222e·2f61·7374·2e6a·7322·293b·0a63··e("./ast.js");.c
000001d0:·2e6a·7322·293b·0a63·6f6e·7374·2065·7363··.js");.const·esc000001d0:·6f6e·7374·2065·7363·6170·655f·6a73·5f31··onst·escape_js_1
000001e0:·6170·655f·6a73·5f31·203d·2072·6571·7569··ape_js_1·=·requi000001e0:·203d·2072·6571·7569·7265·2822·2e2f·6573···=·require("./es
000001f0:·7265·2822·2e2f·6573·6361·7065·2e6a·7322··re("./escape.js"000001f0:·6361·7065·2e6a·7322·293b·0a63·6f6e·7374··cape.js");.const
00000200:·293b·0a63·6f6e·7374·2075·6e65·7363·6170··);.const·unescap00000200:·2075·6e65·7363·6170·655f·6a73·5f31·203d···unescape_js_1·=
00000210:·655f·6a73·5f31·203d·2072·6571·7569·7265··e_js_1·=·require00000210:·2072·6571·7569·7265·2822·2e2f·756e·6573···require("./unes
00000220:·2822·2e2f·756e·6573·6361·7065·2e6a·7322··("./unescape.js"00000220:·6361·7065·2e6a·7322·293b·0a63·6f6e·7374··cape.js");.const
00000230:·293b·0a63·6f6e·7374·206d·696e·696d·6174··);.const·minimat00000230:·206d·696e·696d·6174·6368·203d·2028·702c···minimatch·=·(p,
00000240:·6368·203d·2028·702c·2070·6174·7465·726e··ch·=·(p,·pattern00000240:·2070·6174·7465·726e·2c20·6f70·7469·6f6e···pattern,·option
00000250:·2c20·6f70·7469·6f6e·7320·3d20·7b7d·2920··,·options·=·{})·00000250:·7320·3d20·7b7d·2920·3d3e·207b·0a20·2020··s·=·{})·=>·{.···
00000260:·3d3e·207b·0a20·2020·2028·302c·2061·7373··=>·{.····(0,·ass00000260:·2028·302c·2061·7373·6572·745f·7661·6c69···(0,·assert_vali
00000270:·6572·745f·7661·6c69·645f·7061·7474·6572··ert_valid_patter00000270:·645f·7061·7474·6572·6e5f·6a73·5f31·2e61··d_pattern_js_1.a
00000280:·6e5f·6a73·5f31·2e61·7373·6572·7456·616c··n_js_1.assertVal00000280:·7373·6572·7456·616c·6964·5061·7474·6572··ssertValidPatter
00000290:·6964·5061·7474·6572·6e29·2870·6174·7465··idPattern)(patte00000290:·6e29·2870·6174·7465·726e·293b·0a20·2020··n)(pattern);.···
000002a0:·726e·293b·0a20·2020·202f·2f20·7368·6f72··rn);.····//·shor000002a0:·202f·2f20·7368·6f72·7463·7574·3a20·636f···//·shortcut:·co
000002b0:·7463·7574·3a20·636f·6d6d·656e·7473·206d··tcut:·comments·m000002b0:·6d6d·656e·7473·206d·6174·6368·206e·6f74··mments·match·not
000002c0:·6174·6368·206e·6f74·6869·6e67·2e0a·2020··atch·nothing..··000002c0:·6869·6e67·2e0a·2020·2020·6966·2028·216f··hing..····if·(!o
000002d0:·2020·6966·2028·216f·7074·696f·6e73·2e6e····if·(!options.n000002d0:·7074·696f·6e73·2e6e·6f63·6f6d·6d65·6e74··ptions.nocomment
000002e0:·6f63·6f6d·6d65·6e74·2026·2620·7061·7474··ocomment·&&·patt000002e0:·2026·2620·7061·7474·6572·6e2e·6368·6172···&&·pattern.char
000002f0:·6572·6e2e·6368·6172·4174·2830·2920·3d3d··ern.charAt(0)·==000002f0:·4174·2830·2920·3d3d·3d20·2723·2729·207b··At(0)·===·'#')·{
00000300:·3d20·2723·2729·207b·0a20·2020·2020·2020··=·'#')·{.·······00000300:·0a20·2020·2020·2020·2072·6574·7572·6e20··.········return·
00000310:·2072·6574·7572·6e20·6661·6c73·653b·0a20···return·false;.·00000310:·6661·6c73·653b·0a20·2020·207d·0a20·2020··false;.····}.···
00000320:·2020·207d·0a20·2020·2072·6574·7572·6e20·····}.····return·00000320:·2072·6574·7572·6e20·6e65·7720·4d69·6e69···return·new·Mini
00000330:·6e65·7720·4d69·6e69·6d61·7463·6828·7061··new·Minimatch(pa00000330:·6d61·7463·6828·7061·7474·6572·6e2c·206f··match(pattern,·o
00000340:·7474·6572·6e2c·206f·7074·696f·6e73·292e··ttern,·options).00000340:·7074·696f·6e73·292e·6d61·7463·6828·7029··ptions).match(p)
00000350:·6d61·7463·6828·7029·3b0a·7d3b·0a65·7870··match(p);.};.exp00000350:·3b0a·7d3b·0a65·7870·6f72·7473·2e6d·696e··;.};.exports.min
00000360:·6f72·7473·2e6d·696e·696d·6174·6368·203d··orts.minimatch·=00000360:·696d·6174·6368·203d·206d·696e·696d·6174··imatch·=·minimat
00000370:·206d·696e·696d·6174·6368·3b0a·2f2f·204f···minimatch;.//·O00000370:·6368·3b0a·2f2f·204f·7074·696d·697a·6564··ch;.//·Optimized
00000380:·7074·696d·697a·6564·2063·6865·636b·696e··ptimized·checkin00000380:·2063·6865·636b·696e·6720·666f·7220·7468···checking·for·th
00000390:·6720·666f·7220·7468·6520·6d6f·7374·2063··g·for·the·most·c00000390:·6520·6d6f·7374·2063·6f6d·6d6f·6e20·676c··e·most·common·gl
000003a0:·6f6d·6d6f·6e20·676c·6f62·2070·6174·7465··ommon·glob·patte000003a0:·6f62·2070·6174·7465·726e·732e·0a63·6f6e··ob·patterns..con
000003b0:·726e·732e·0a63·6f6e·7374·2073·7461·7244··rns..const·starD000003b0:·7374·2073·7461·7244·6f74·4578·7452·4520··st·starDotExtRE·
000003c0:·6f74·4578·7452·4520·3d20·2f5e·5c2a·2b28··otExtRE·=·/^\*+(000003c0:·3d20·2f5e·5c2a·2b28·5b5e·2b40·213f·5c2a··=·/^\*+([^+@!?\*
000003d0:·5b5e·2b40·213f·5c2a·5c5b·5c28·5d2a·2924··[^+@!?\*\[\(]*)$000003d0:·5c5b·5c28·5d2a·2924·2f3b·0a63·6f6e·7374··\[\(]*)$/;.const
000003e0:·2f3b·0a63·6f6e·7374·2073·7461·7244·6f74··/;.const·starDot000003e0:·2073·7461·7244·6f74·4578·7454·6573·7420···starDotExtTest·
000003f0:·4578·7454·6573·7420·3d20·2865·7874·2920··ExtTest·=·(ext)·000003f0:·3d20·2865·7874·2920·3d3e·2028·6629·203d··=·(ext)·=>·(f)·=
00000400:·3d3e·2028·6629·203d·3e20·2166·2e73·7461··=>·(f)·=>·!f.sta00000400:·3e20·2166·2e73·7461·7274·7357·6974·6828··>·!f.startsWith(
00000410:·7274·7357·6974·6828·272e·2729·2026·2620··rtsWith('.')·&&·00000410:·272e·2729·2026·2620·662e·656e·6473·5769··'.')·&&·f.endsWi
00000420:·662e·656e·6473·5769·7468·2865·7874·293b··f.endsWith(ext);00000420:·7468·2865·7874·293b·0a63·6f6e·7374·2073··th(ext);.const·s
00000430:·0a63·6f6e·7374·2073·7461·7244·6f74·4578··.const·starDotEx00000430:·7461·7244·6f74·4578·7454·6573·7444·6f74··tarDotExtTestDot
00000440:·7454·6573·7444·6f74·203d·2028·6578·7429··tTestDot·=·(ext)00000440:·203d·2028·6578·7429·203d·3e20·2866·2920···=·(ext)·=>·(f)·
00000450:·203d·3e20·2866·2920·3d3e·2066·2e65·6e64···=>·(f)·=>·f.end00000450:·3d3e·2066·2e65·6e64·7357·6974·6828·6578··=>·f.endsWith(ex
00000460:·7357·6974·6828·6578·7429·3b0a·636f·6e73··sWith(ext);.cons00000460:·7429·3b0a·636f·6e73·7420·7374·6172·446f··t);.const·starDo
00000470:·7420·7374·6172·446f·7445·7874·5465·7374··t·starDotExtTest00000470:·7445·7874·5465·7374·4e6f·6361·7365·203d··tExtTestNocase·=
00000480:·4e6f·6361·7365·203d·2028·6578·7429·203d··Nocase·=·(ext)·=00000480:·2028·6578·7429·203d·3e20·7b0a·2020·2020···(ext)·=>·{.····
00000490:·3e20·7b0a·2020·2020·6578·7420·3d20·6578··>·{.····ext·=·ex00000490:·6578·7420·3d20·6578·742e·746f·4c6f·7765··ext·=·ext.toLowe
000004a0:·742e·746f·4c6f·7765·7243·6173·6528·293b··t.toLowerCase();000004a0:·7243·6173·6528·293b·0a20·2020·2072·6574··rCase();.····ret
000004b0:·0a20·2020·2072·6574·7572·6e20·2866·2920··.····return·(f)·000004b0:·7572·6e20·2866·2920·3d3e·2021·662e·7374··urn·(f)·=>·!f.st
000004c0:·3d3e·2021·662e·7374·6172·7473·5769·7468··=>·!f.startsWith000004c0:·6172·7473·5769·7468·2827·2e27·2920·2626··artsWith('.')·&&
000004d0:·2827·2e27·2920·2626·2066·2e74·6f4c·6f77··('.')·&&·f.toLow000004d0:·2066·2e74·6f4c·6f77·6572·4361·7365·2829···f.toLowerCase()
000004e0:·6572·4361·7365·2829·2e65·6e64·7357·6974··erCase().endsWit000004e0:·2e65·6e64·7357·6974·6828·6578·7429·3b0a··.endsWith(ext);.
000004f0:·6828·6578·7429·3b0a·7d3b·0a63·6f6e·7374··h(ext);.};.const000004f0:·7d3b·0a63·6f6e·7374·2073·7461·7244·6f74··};.const·starDot
00000500:·2073·7461·7244·6f74·4578·7454·6573·744e···starDotExtTestN00000500:·4578·7454·6573·744e·6f63·6173·6544·6f74··ExtTestNocaseDot
00000510:·6f63·6173·6544·6f74·203d·2028·6578·7429··ocaseDot·=·(ext)00000510:·203d·2028·6578·7429·203d·3e20·7b0a·2020···=·(ext)·=>·{.··
00000520:·203d·3e20·7b0a·2020·2020·6578·7420·3d20···=>·{.····ext·=·00000520:·2020·6578·7420·3d20·6578·742e·746f·4c6f····ext·=·ext.toLo
00000530:·6578·742e·746f·4c6f·7765·7243·6173·6528··ext.toLowerCase(00000530:·7765·7243·6173·6528·293b·0a20·2020·2072··werCase();.····r
00000540:·293b·0a20·2020·2072·6574·7572·6e20·2866··);.····return·(f00000540:·6574·7572·6e20·2866·2920·3d3e·2066·2e74··eturn·(f)·=>·f.t
00000550:·2920·3d3e·2066·2e74·6f4c·6f77·6572·4361··)·=>·f.toLowerCa00000550:·6f4c·6f77·6572·4361·7365·2829·2e65·6e64··oLowerCase().end
00000560:·7365·2829·2e65·6e64·7357·6974·6828·6578··se().endsWith(ex00000560:·7357·6974·6828·6578·7429·3b0a·7d3b·0a63··sWith(ext);.};.c
00000570:·7429·3b0a·7d3b·0a63·6f6e·7374·2073·7461··t);.};.const·sta00000570:·6f6e·7374·2073·7461·7244·6f74·5374·6172··onst·starDotStar
00000580:·7244·6f74·5374·6172·5245·203d·202f·5e5c··rDotStarRE·=·/^\00000580:·5245·203d·202f·5e5c·2a2b·5c2e·5c2a·2b24··RE·=·/^\*+\.\*+$
00000590:·2a2b·5c2e·5c2a·2b24·2f3b·0a63·6f6e·7374··*+\.\*+$/;.const00000590:·2f3b·0a63·6f6e·7374·2073·7461·7244·6f74··/;.const·starDot
000005a0:·2073·7461·7244·6f74·5374·6172·5465·7374···starDotStarTest000005a0:·5374·6172·5465·7374·203d·2028·6629·203d··StarTest·=·(f)·=
000005b0:·203d·2028·6629·203d·3e20·2166·2e73·7461···=·(f)·=>·!f.sta000005b0:·3e20·2166·2e73·7461·7274·7357·6974·6828··>·!f.startsWith(
000005c0:·7274·7357·6974·6828·272e·2729·2026·2620··rtsWith('.')·&&·000005c0:·272e·2729·2026·2620·662e·696e·636c·7564··'.')·&&·f.includ
000005d0:·662e·696e·636c·7564·6573·2827·2e27·293b··f.includes('.');000005d0:·6573·2827·2e27·293b·0a63·6f6e·7374·2073··es('.');.const·s
000005e0:·0a63·6f6e·7374·2073·7461·7244·6f74·5374··.const·starDotSt000005e0:·7461·7244·6f74·5374·6172·5465·7374·446f··tarDotStarTestDo
000005f0:·6172·5465·7374·446f·7420·3d20·2866·2920··arTestDot·=·(f)·000005f0:·7420·3d20·2866·2920·3d3e·2066·2021·3d3d··t·=·(f)·=>·f·!==
00000600:·3d3e·2066·2021·3d3d·2027·2e27·2026·2620··=>·f·!==·'.'·&&·00000600:·2027·2e27·2026·2620·6620·213d·3d20·272e···'.'·&&·f·!==·'.
00000610:·6620·213d·3d20·272e·2e27·2026·2620·662e··f·!==·'..'·&&·f.00000610:·2e27·2026·2620·662e·696e·636c·7564·6573··.'·&&·f.includes
00000620:·696e·636c·7564·6573·2827·2e27·293b·0a63··includes('.');.c00000620:·2827·2e27·293b·0a63·6f6e·7374·2064·6f74··('.');.const·dot
00000630:·6f6e·7374·2064·6f74·5374·6172·5245·203d··onst·dotStarRE·=00000630:·5374·6172·5245·203d·202f·5e5c·2e5c·2a2b··StarRE·=·/^\.\*+
00000640:·202f·5e5c·2e5c·2a2b·242f·3b0a·636f·6e73···/^\.\*+$/;.cons00000640:·242f·3b0a·636f·6e73·7420·646f·7453·7461··$/;.const·dotSta
00000650:·7420·646f·7453·7461·7254·6573·7420·3d20··t·dotStarTest·=·00000650:·7254·6573·7420·3d20·2866·2920·3d3e·2066··rTest·=·(f)·=>·f
00000660:·2866·2920·3d3e·2066·2021·3d3d·2027·2e27··(f)·=>·f·!==·'.'00000660:·2021·3d3d·2027·2e27·2026·2620·6620·213d···!==·'.'·&&·f·!=
00000670:·2026·2620·6620·213d·3d20·272e·2e27·2026···&&·f·!==·'..'·&00000670:·3d20·272e·2e27·2026·2620·662e·7374·6172··=·'..'·&&·f.star
00000680:·2620·662e·7374·6172·7473·5769·7468·2827··&·f.startsWith('00000680:·7473·5769·7468·2827·2e27·293b·0a63·6f6e··tsWith('.');.con
00000690:·2e27·293b·0a63·6f6e·7374·2073·7461·7252··.');.const·starR00000690:·7374·2073·7461·7252·4520·3d20·2f5e·5c2a··st·starRE·=·/^\*
000006a0:·4520·3d20·2f5e·5c2a·2b24·2f3b·0a63·6f6e··E·=·/^\*+$/;.con000006a0:·2b24·2f3b·0a63·6f6e·7374·2073·7461·7254··+$/;.const·starT
000006b0:·7374·2073·7461·7254·6573·7420·3d20·2866··st·starTest·=·(f000006b0:·6573·7420·3d20·2866·2920·3d3e·2066·2e6c··est·=·(f)·=>·f.l
000006c0:·2920·3d3e·2066·2e6c·656e·6774·6820·213d··)·=>·f.length·!=000006c0:·656e·6774·6820·213d·3d20·3020·2626·2021··ength·!==·0·&&·!
000006d0:·3d20·3020·2626·2021·662e·7374·6172·7473··=·0·&&·!f.starts000006d0:·662e·7374·6172·7473·5769·7468·2827·2e27··f.startsWith('.'
000006e0:·5769·7468·2827·2e27·293b·0a63·6f6e·7374··With('.');.const000006e0:·293b·0a63·6f6e·7374·2073·7461·7254·6573··);.const·starTes
Max diff block lines reached; 254725/353281 bytes (72.10%) of diff not shown.
148 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/index.js.map
147 KB
Pretty-printed
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 {1 {
2 ····"file":·"index.js",2 ····"file":·"index.js",
3 ····"mappings":·";;;AAAA,6DAAgD;AAChD,uEAA8D;AAC9D,qCAA2C;AAC3C,2CAAoC;AACpC,+CAAwC;AAsCjC,MAAM,SAAS,GAAG,CACvB,CAAS,EACT,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,IAAA,4CAAkB,EAAC,OAAO,CAAC,CAAA;IAE3B,oCAAoC;IACpC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,E[·...·truncated·by·diffoscope;·len:·35140,·SHA:·4b70528772ece1c7e9d823017e84bf1fc185d3c70e5ccda6882e7c2c18f04df2·...·]BC;AACD,qBAAqB;AACrB,mCAA8B;AAArB,6FAAA,GAAG,OAAA;AACZ,yCAAoC;AAA3B,mGAAA,MAAM,OAAA;AACf,6CAAwC;AAA/B,uGAAA,QAAQ,OAAA;AACjB,oBAAoB;AACpB,iBAAS,CAAC,GAAG,GAAG,YAAG,CAAA;AACnB,iBAAS,CAAC,SAAS,GAAG,SAAS,CAAA;AAC/B,iBAAS,CAAC,MAAM,GAAG,kBAAM,CAAA;AACzB,iBAAS,CAAC,QAAQ,GAAG,sBAAQ,CAAA",3 ····"mappings":·";;;AAAA,qDAAwC;AACxC,uEAA8D;AAC9D,qCAA2C;AAC3C,2CAAoC;AACpC,+CAAwC;AAwFjC,MAAM,SAAS,GAAG,CACvB,CAAS,EACT,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,IAAA,4CAAkB,EAAC,OAAO,CAAC,CAAA;IAE3B,oCAAoC;IACpC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,E[·...·truncated·by·diffoscope;·len:·35272,·SHA:·82dbdcbe4b23c1ad1741fdc01e80ce2b0c8aa46dbc9b58c4feea0d1361a37bc9·...·]BC;AACD,qBAAqB;AACrB,mCAA8B;AAArB,6FAAA,GAAG,OAAA;AACZ,yCAAoC;AAA3B,mGAAA,MAAM,OAAA;AACf,6CAAwC;AAA/B,uGAAA,QAAQ,OAAA;AACjB,oBAAoB;AACpB,iBAAS,CAAC,GAAG,GAAG,YAAG,CAAA;AACnB,iBAAS,CAAC,SAAS,GAAG,SAAS,CAAA;AAC/B,iBAAS,CAAC,MAAM,GAAG,kBAAM,CAAA;AACzB,iBAAS,CAAC,QAAQ,GAAG,sBAAQ,CAAA",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/index.ts"7 ········"../../src/index.ts"
8 ····],8 ····],
9 ····"sourcesContent":·[9 ····"sourcesContent":·[
10 ········"import·{·expand·}·from·'@isaacs/brace-expansion'\nimport·{·assertValidPattern·}·from·'./assert-valid-pattern.js'\nimport·{·AST,·ExtglobType·}·from·'./ast.js'\nimport·{·escape·}·from·'./escape.js'\nimport·{·unescape·}·from·'./unescape.js'\n\nexport·type·Platform·=\n··|·'aix'\n··|·[·...·truncated·by·diffoscope;·len:·33302,·SHA:·fbe1afcb1dc67843b89cf686da1470b3d1b6cdd1753e8d3bd989e06d87569cfb·...·]\n········})·as·(string·|·typeof·GLOBSTAR)[]\n········pp.forEach((p,·i)·=>·{\n··········const·next·=·pp[i·+·1]\n··········const·prev·=·pp[i·-·1]\n··········if·(p·!==·GLOBSTAR·||·prev·===·GLOBSTAR)·{\n············return\n··········}\n··········if·(prev·===·undefined)·{\n············if·(next·!==·undefined·&&·next·!==·GLOBSTAR)·{\n··············pp[i·+·1]·=·'(?:\\\\/|'·+·twoStar·+·'\\\\/)?'·+·next\n············}·else·{\n··············pp[i]·=·twoStar\n············}\n··········}·else·if·(next·===·undefined)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·')?'\n··········}·else·if·(next·!==·GLOBSTAR)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·'\\\\/)'·+·next\n············pp[i·+·1]·=·GLOBSTAR\n··········}\n········})\n········const·filtered·=·pp.filter(p·=>·p·!==·GLOBSTAR)\n\n········//·For·partial·matches,·we·need·to·make·the·pattern·match\n········//·any·prefix·of·the·full·path.·We·do·this·by·generating\n········//·alternative·patterns·that·match·progressively·longer·prefixes.\n········if·(this.partial·&&·filtered.length·>=·1)·{\n··········const·prefixes:·string[]·=·[]\n··········for·(let·i·=·1;·i·<=·filtered.length;·i++)·{\n············prefixes.push(filtered.slice(0,·i).join('/'))\n··········}\n··········return·'(?:'·+·prefixes.join('|')·+·')'\n········}\n\n········return·filtered.join('/')\n······})\n······.join('|')\n\n····//·need·to·wrap·in·parens·if·we·had·more·than·one·thing·with·|,\n····//·otherwise·only·the·first·will·be·anchored·to·^·and·the·last·to·$\n····const·[open,·close]·=·set.length·>·1·?·['(?:',·')']·:·['',·'']\n····//·must·match·entire·pattern\n····//·ending·in·a·*·or·**·will·make·it·less·strict.\n····re·=·'^'·+·open·+·re·+·close·+·'$'\n\n····//·In·partial·mode,·'/'·should·always·match·as·it's·a·valid·prefix·for·any·pattern\n····if·(this.partial)·{\n······re·=·'^(?:\\\\/|'·+·open·+·re.slice(1,·-1)·+·close·+·')$'\n····}\n\n····//·can·match·anything,·as·long·as·it's·not·this.\n····if·(this.negate)·re·=·'^(?!'·+·re·+·').+$'\n\n····try·{\n······this.regexp·=·new·RegExp(re,·[...flags].join(''))\n······/*·c8·ignore·start·*/\n····}·catch·(ex)·{\n······//·should·be·impossible\n······this.regexp·=·false\n····}\n····/*·c8·ignore·stop·*/\n····return·this.regexp\n··}\n\n··slashSplit(p:·string)·{\n····//·if·p·starts·with·//·on·windows,·we·preserve·that\n····//·so·that·UNC·paths·aren't·broken.··Otherwise,·any·number·of\n····//·/·characters·are·coalesced·into·one,·unless\n····//·preserveMultipleSlashes·is·set·to·true.\n····if·(this.preserveMultipleSlashes)·{\n······return·p.split('/')\n····}·else·if·(this.isWindows·&&·/^\\/\\/[^\\/]+/.test(p))·{\n······//·add·an·extra·''·for·the·one·we·lose\n······return·['',·...p.split(/\\/+/)]\n····}·else·{\n······return·p.split(/\\/+/)\n····}\n··}\n\n··match(f:·string,·partial·=·this.partial)·{\n····this.debug('match',·f,·this.pattern)\n····//·short-circuit·in·the·case·of·busted·things.\n····//·comments,·etc.\n····if·(this.comment)·{\n······return·false\n····}\n····if·(this.empty)·{\n······return·f·===·''\n····}\n\n····if·(f·===·'/'·&&·partial)·{\n······return·true\n····}\n\n····const·options·=·this.options\n\n····//·windows:·need·to·use·/,·not·\\\n····if·(this.isWindows)·{\n······f·=·f.split('\\\\').join('/')\n····}\n\n····//·treat·the·test·path·as·a·set·of·pathparts.\n····const·ff·=·this.slashSplit(f)\n····this.debug(this.pattern,·'split',·ff)\n\n····//·just·ONE·of·the·pattern·sets·in·this.set·needs·to·match\n····//·in·order·for·it·to·be·valid.··If·negating,·then·just·one\n····//·match·means·that·we·have·failed.\n····//·Either·way,·return·on·the·first·hit.\n\n····const·set·=·this.set\n····this.debug(this.pattern,·'set',·set)\n\n····//·Find·the·basename·of·the·path·by·looking·for·the·last·non-empty·segment\n····let·filename:·string·=·ff[ff.length·-·1]\n····if·(!filename)·{\n······for·(let·i·=·ff.length·-·2;·!filename·&&·i·>=·0;·i--)·{\n········filename·=·ff[i]\n······}\n····}\n\n····for·(let·i·=·0;·i·<·set.length;·i++)·{\n······const·pattern·=·set[i]\n······let·file·=·ff\n······if·(options.matchBase·&&·pattern.length·===·1)·{\n········file·=·[filename]\n······}\n······const·hit·=·this.matchOne(file,·pattern,·partial)\n······if·(hit)·{\n········if·(options.flipNegate)·{\n··········return·true\n········}\n········return·!this.negate\n······}\n····}\n\n····//·didn't·get·any·hits.··this·is·success·if·it's·a·negative\n····//·pattern,·failure·otherwise.\n····if·(options.flipNegate)·{\n······return·false\n····}\n····return·this.negate\n··}\n\n··static·defaults(def:·MinimatchOptions)·{\n····return·minimatch.defaults(def).Minimatch\n··}\n}\n/*·c8·ignore·start·*/\nexport·{·AST·}·from·'./ast.js'\nexport·{·escape·}·from·'./escape.js'\nexport·{·unescape·}·from·'./unescape.js'\n/*·c8·ignore·stop·*/\nminimatch.AST·=·AST\nminimatch.Minimatch·=·Minimatch\nminimatch.escape·=·escape\nminimatch.unescape·=·unescape\n"10 ········"import·{·expand·}·from·'brace-expansion'\nimport·{·assertValidPattern·}·from·'./assert-valid-pattern.js'\nimport·{·AST,·ExtglobType·}·from·'./ast.js'\nimport·{·escape·}·from·'./escape.js'\nimport·{·unescape·}·from·'./unescape.js'\n\nexport·type·Platform·=\n··|·'aix'\n··|·'android[·...·truncated·by·diffoscope;·len:·35634,·SHA:·088c0bb0c76a1c9de4d12356f21cd67974d7db533a8bc603782b69bda1d27a3e·...·]\n········})·as·(string·|·typeof·GLOBSTAR)[]\n········pp.forEach((p,·i)·=>·{\n··········const·next·=·pp[i·+·1]\n··········const·prev·=·pp[i·-·1]\n··········if·(p·!==·GLOBSTAR·||·prev·===·GLOBSTAR)·{\n············return\n··········}\n··········if·(prev·===·undefined)·{\n············if·(next·!==·undefined·&&·next·!==·GLOBSTAR)·{\n··············pp[i·+·1]·=·'(?:\\\\/|'·+·twoStar·+·'\\\\/)?'·+·next\n············}·else·{\n··············pp[i]·=·twoStar\n············}\n··········}·else·if·(next·===·undefined)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·')?'\n··········}·else·if·(next·!==·GLOBSTAR)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·'\\\\/)'·+·next\n············pp[i·+·1]·=·GLOBSTAR\n··········}\n········})\n········const·filtered·=·pp.filter(p·=>·p·!==·GLOBSTAR)\n\n········//·For·partial·matches,·we·need·to·make·the·pattern·match\n········//·any·prefix·of·the·full·path.·We·do·this·by·generating\n········//·alternative·patterns·that·match·progressively·longer·prefixes.\n········if·(this.partial·&&·filtered.length·>=·1)·{\n··········const·prefixes:·string[]·=·[]\n··········for·(let·i·=·1;·i·<=·filtered.length;·i++)·{\n············prefixes.push(filtered.slice(0,·i).join('/'))\n··········}\n··········return·'(?:'·+·prefixes.join('|')·+·')'\n········}\n\n········return·filtered.join('/')\n······})\n······.join('|')\n\n····//·need·to·wrap·in·parens·if·we·had·more·than·one·thing·with·|,\n····//·otherwise·only·the·first·will·be·anchored·to·^·and·the·last·to·$\n····const·[open,·close]·=·set.length·>·1·?·['(?:',·')']·:·['',·'']\n····//·must·match·entire·pattern\n····//·ending·in·a·*·or·**·will·make·it·less·strict.\n····re·=·'^'·+·open·+·re·+·close·+·'$'\n\n····//·In·partial·mode,·'/'·should·always·match·as·it's·a·valid·prefix·for·any·pattern\n····if·(this.partial)·{\n······re·=·'^(?:\\\\/|'·+·open·+·re.slice(1,·-1)·+·close·+·')$'\n····}\n\n····//·can·match·anything,·as·long·as·it's·not·this.\n····if·(this.negate)·re·=·'^(?!'·+·re·+·').+$'\n\n····try·{\n······this.regexp·=·new·RegExp(re,·[...flags].join(''))\n······/*·c8·ignore·start·*/\n····}·catch·(ex)·{\n······//·should·be·impossible\n······this.regexp·=·false\n····}\n····/*·c8·ignore·stop·*/\n····return·this.regexp\n··}\n\n··slashSplit(p:·string)·{\n····//·if·p·starts·with·//·on·windows,·we·preserve·that\n····//·so·that·UNC·paths·aren't·broken.··Otherwise,·any·number·of\n····//·/·characters·are·coalesced·into·one,·unless\n····//·preserveMultipleSlashes·is·set·to·true.\n····if·(this.preserveMultipleSlashes)·{\n······return·p.split('/')\n····}·else·if·(this.isWindows·&&·/^\\/\\/[^\\/]+/.test(p))·{\n······//·add·an·extra·''·for·the·one·we·lose\n······return·['',·...p.split(/\\/+/)]\n····}·else·{\n······return·p.split(/\\/+/)\n····}\n··}\n\n··match(f:·string,·partial·=·this.partial)·{\n····this.debug('match',·f,·this.pattern)\n····//·short-circuit·in·the·case·of·busted·things.\n····//·comments,·etc.\n····if·(this.comment)·{\n······return·false\n····}\n····if·(this.empty)·{\n······return·f·===·''\n····}\n\n····if·(f·===·'/'·&&·partial)·{\n······return·true\n····}\n\n····const·options·=·this.options\n\n····//·windows:·need·to·use·/,·not·\\\n····if·(this.isWindows)·{\n······f·=·f.split('\\\\').join('/')\n····}\n\n····//·treat·the·test·path·as·a·set·of·pathparts.\n····const·ff·=·this.slashSplit(f)\n····this.debug(this.pattern,·'split',·ff)\n\n····//·just·ONE·of·the·pattern·sets·in·this.set·needs·to·match\n····//·in·order·for·it·to·be·valid.··If·negating,·then·just·one\n····//·match·means·that·we·have·failed.\n····//·Either·way,·return·on·the·first·hit.\n\n····const·set·=·this.set\n····this.debug(this.pattern,·'set',·set)\n\n····//·Find·the·basename·of·the·path·by·looking·for·the·last·non-empty·segment\n····let·filename:·string·=·ff[ff.length·-·1]\n····if·(!filename)·{\n······for·(let·i·=·ff.length·-·2;·!filename·&&·i·>=·0;·i--)·{\n········filename·=·ff[i]\n······}\n····}\n\n····for·(let·i·=·0;·i·<·set.length;·i++)·{\n······const·pattern·=·set[i]\n······let·file·=·ff\n······if·(options.matchBase·&&·pattern.length·===·1)·{\n········file·=·[filename]\n······}\n······const·hit·=·this.matchOne(file,·pattern,·partial)\n······if·(hit)·{\n········if·(options.flipNegate)·{\n··········return·true\n········}\n········return·!this.negate\n······}\n····}\n\n····//·didn't·get·any·hits.··this·is·success·if·it's·a·negative\n····//·pattern,·failure·otherwise.\n····if·(options.flipNegate)·{\n······return·false\n····}\n····return·this.negate\n··}\n\n··static·defaults(def:·MinimatchOptions)·{\n····return·minimatch.defaults(def).Minimatch\n··}\n}\n/*·c8·ignore·start·*/\nexport·{·AST·}·from·'./ast.js'\nexport·{·escape·}·from·'./escape.js'\nexport·{·unescape·}·from·'./unescape.js'\n/*·c8·ignore·stop·*/\nminimatch.AST·=·AST\nminimatch.Minimatch·=·Minimatch\nminimatch.escape·=·escape\nminimatch.unescape·=·unescape\n"
11 ····],11 ····],
12 ····"version":·312 ····"version":·3
13 }13 }
2.47 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/unescape.js
'js-beautify' not available in path. Falling back to binary comparison.
    
Offset 53, 29 lines modifiedOffset 53, 29 lines modified
00000340:·6e64·6f77·7350·6174·6873·4e6f·4573·6361··ndowsPathsNoEsca00000340:·6e64·6f77·7350·6174·6873·4e6f·4573·6361··ndowsPathsNoEsca
00000350:·7065·203d·2066·616c·7365·2c20·6d61·6769··pe·=·false,·magi00000350:·7065·203d·2066·616c·7365·2c20·6d61·6769··pe·=·false,·magi
00000360:·6361·6c42·7261·6365·7320·3d20·7472·7565··calBraces·=·true00000360:·6361·6c42·7261·6365·7320·3d20·7472·7565··calBraces·=·true
00000370:·2c20·7d20·3d20·7b7d·2920·3d3e·207b·0a20··,·}·=·{})·=>·{.·00000370:·2c20·7d20·3d20·7b7d·2920·3d3e·207b·0a20··,·}·=·{})·=>·{.·
00000380:·2020·2069·6620·286d·6167·6963·616c·4272·····if·(magicalBr00000380:·2020·2069·6620·286d·6167·6963·616c·4272·····if·(magicalBr
00000390:·6163·6573·2920·7b0a·2020·2020·2020·2020··aces)·{.········00000390:·6163·6573·2920·7b0a·2020·2020·2020·2020··aces)·{.········
000003a0:·7265·7475·726e·2077·696e·646f·7773·5061··return·windowsPa000003a0:·7265·7475·726e·2077·696e·646f·7773·5061··return·windowsPa
000003b0:·7468·734e·6f45·7363·6170·650a·2020·2020··thsNoEscape.····000003b0:·7468·734e·6f45·7363·6170·6520·3f0a·2020··thsNoEscape·?.··
000003c0:·2020·2020·2020·2020·3f20·732e·7265·706c··········?·s.repl000003c0:·2020·2020·2020·2020·2020·732e·7265·706c············s.repl
000003d0:·6163·6528·2f5c·5b28·5b5e·5c2f·5c5c·5d29··ace(/\[([^\/\\])000003d0:·6163·6528·2f5c·5b28·5b5e·5c2f·5c5c·5d29··ace(/\[([^\/\\])
000003e0:·5c5d·2f67·2c20·2724·3127·290a·2020·2020··\]/g,·'$1').····000003e0:·5c5d·2f67·2c20·2724·3127·290a·2020·2020··\]/g,·'$1').····
000003f0:·2020·2020·2020·2020·3a20·730a·2020·2020··········:·s.····000003f0:·2020·2020·2020·2020·3a20·730a·2020·2020··········:·s.····
00000400:·2020·2020·2020·2020·2020·2020·2e72·6570··············.rep00000400:·2020·2020·2020·2020·2020·2020·2e72·6570··············.rep
00000410:·6c61·6365·282f·2828·3f21·5c5c·292e·7c5e··lace(/((?!\\).|^00000410:·6c61·6365·282f·2828·3f21·5c5c·292e·7c5e··lace(/((?!\\).|^
00000420:·295c·5b28·5b5e·5c2f·5c5c·5d29·5c5d·2f67··)\[([^\/\\])\]/g00000420:·295c·5b28·5b5e·5c2f·5c5c·5d29·5c5d·2f67··)\[([^\/\\])\]/g
00000430:·2c20·2724·3124·3227·290a·2020·2020·2020··,·'$1$2').······00000430:·2c20·2724·3124·3227·290a·2020·2020·2020··,·'$1$2').······
00000440:·2020·2020·2020·2020·2020·2e72·6570·6c61············.repla00000440:·2020·2020·2020·2020·2020·2e72·6570·6c61············.repla
00000450:·6365·282f·5c5c·285b·5e5c·2f5d·292f·672c··ce(/\\([^\/])/g,00000450:·6365·282f·5c5c·285b·5e5c·2f5d·292f·672c··ce(/\\([^\/])/g,
00000460:·2027·2431·2729·3b0a·2020·2020·7d0a·2020···'$1');.····}.··00000460:·2027·2431·2729·3b0a·2020·2020·7d0a·2020···'$1');.····}.··
00000470:·2020·7265·7475·726e·2077·696e·646f·7773····return·windows00000470:·2020·7265·7475·726e·2077·696e·646f·7773····return·windows
00000480:·5061·7468·734e·6f45·7363·6170·650a·2020··PathsNoEscape.··00000480:·5061·7468·734e·6f45·7363·6170·6520·3f0a··PathsNoEscape·?.
00000490:·2020·2020·2020·3f20·732e·7265·706c·6163········?·s.replac00000490:·2020·2020·2020·2020·732e·7265·706c·6163··········s.replac
000004a0:·6528·2f5c·5b28·5b5e·5c2f·5c5c·7b7d·5d29··e(/\[([^\/\\{}])000004a0:·6528·2f5c·5b28·5b5e·5c2f·5c5c·7b7d·5d29··e(/\[([^\/\\{}])
000004b0:·5c5d·2f67·2c20·2724·3127·290a·2020·2020··\]/g,·'$1').····000004b0:·5c5d·2f67·2c20·2724·3127·290a·2020·2020··\]/g,·'$1').····
000004c0:·2020·2020·3a20·730a·2020·2020·2020·2020······:·s.········000004c0:·2020·2020·3a20·730a·2020·2020·2020·2020······:·s.········
000004d0:·2020·2020·2e72·6570·6c61·6365·282f·2828······.replace(/((000004d0:·2020·2020·2e72·6570·6c61·6365·282f·2828······.replace(/((
000004e0:·3f21·5c5c·292e·7c5e·295c·5b28·5b5e·5c2f··?!\\).|^)\[([^\/000004e0:·3f21·5c5c·292e·7c5e·295c·5b28·5b5e·5c2f··?!\\).|^)\[([^\/
000004f0:·5c5c·7b7d·5d29·5c5d·2f67·2c20·2724·3124··\\{}])\]/g,·'$1$000004f0:·5c5c·7b7d·5d29·5c5d·2f67·2c20·2724·3124··\\{}])\]/g,·'$1$
00000500:·3227·290a·2020·2020·2020·2020·2020·2020··2').············00000500:·3227·290a·2020·2020·2020·2020·2020·2020··2').············
4.27 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/commonjs/unescape.js.map
4.11 KB
Pretty-printed
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 {1 {
2 ····"file":·"unescape.js",2 ····"file":·"unescape.js",
3 ····"mappings":·";;;AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEI,MAAM,QAAQ,GAAG,CACtB,CAAS,EACT,EACE,oBAAoB,GAAG,KAAK,EAC5B,aAAa,GAAG,IAAI,MACgD,EAAE,EACxE,EAAE;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,oBAAoB;YACzB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,CAAC;iBACE,OAAO,CAAC,2BAA2B,EAAE,MAAM,CAAC;iBAC5C,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,oBAAoB;QACzB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC;QACrC,CAAC,CAAC,CAAC;aACE,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;aAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;AACtC,CAAC,CAAA;AAnBY,QAAA,QAAQ,YAmBpB",3 ····"mappings":·";;;AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEI,MAAM,QAAQ,GAAG,CACtB,CAAS,EACT,EACE,oBAAoB,GAAG,KAAK,EAC5B,aAAa,GAAG,IAAI,MACgD,EAAE,EACxE,EAAE;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,oBAAoB,CAAC,CAAC;YACzB,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,CAAC;iBACE,OAAO,CAAC,2BAA2B,EAAE,MAAM,CAAC;iBAC5C,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,oBAAoB,CAAC,CAAC;QACzB,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC;QACrC,CAAC,CAAC,CAAC;aACE,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;aAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;AACtC,CAAC,CAAA;AAnBY,QAAA,QAAQ,YAmBpB",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/unescape.ts"7 ········"../../src/unescape.ts"
8 ····],8 ····],
9 ····"sourcesContent":·[9 ····"sourcesContent":·[
10 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Un-escape·a·string·that·has·been·escaped·with·{@link·escape}.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}·option·is·used,·then\n·*·square-bracket·escapes·are·removed,·but·not·backslash·escapes.\n·*\n·*·For·example,·it·will·turn·the·string·`'[*]'`·into·`*`,·but·it·will·not\n·*·turn·`'\\\\*'`·into·`'*'`,·because·`\\`·is·a·path·separator·in\n·*·`windowsPathsNoEscape`·mode.\n·*\n·*·When·`windowsPathsNoEscape`·is·not·set,·then·both·square-bracket·escapes·and\n·*·backslash·escapes·are·removed.\n·*\n·*·Slashes·(and·backslashes·in·`windowsPathsNoEscape`·mode)·cannot·be·escaped\n·*·or·unescaped.\n·*\n·*·When·`magicalBraces`·is·not·set,·escapes·of·braces·(`{`·and·`}`)·will·not·be\n·*·unescaped.\n·*/\n\nexport·const·unescape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·true,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape\n······?·s.replace(/\\[([^\\/\\\\])\\]/g,·'$1')\n······:·s\n··········.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g,·'$1$2')\n··········.replace(/\\\\([^\\/])/g,·'$1')\n··}\n··return·windowsPathsNoEscape\n····?·s.replace(/\\[([^\\/\\\\{}])\\]/g,·'$1')\n····:·s\n········.replace(/((?!\\\\).|^)\\[([^\\/\\\\{}])\\]/g,·'$1$2')\n········.replace(/\\\\([^\\/{}])/g,·'$1')\n}\n"10 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Un-escape·a·string·that·has·been·escaped·with·{@link·escape}.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}·option·is·used,·then\n·*·square-bracket·escapes·are·removed,·but·not·backslash·escapes.\n·*\n·*·For·example,·it·will·turn·the·string·`'[*]'`·into·`*`,·but·it·will·not\n·*·turn·`'\\\\*'`·into·`'*'`,·because·`\\`·is·a·path·separator·in\n·*·`windowsPathsNoEscape`·mode.\n·*\n·*·When·`windowsPathsNoEscape`·is·not·set,·then·both·square-bracket·escapes·and\n·*·backslash·escapes·are·removed.\n·*\n·*·Slashes·(and·backslashes·in·`windowsPathsNoEscape`·mode)·cannot·be·escaped\n·*·or·unescaped.\n·*\n·*·When·`magicalBraces`·is·not·set,·escapes·of·braces·(`{`·and·`}`)·will·not·be\n·*·unescaped.\n·*/\n\nexport·const·unescape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·true,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape·?\n········s.replace(/\\[([^\\/\\\\])\\]/g,·'$1')\n······:·s\n··········.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g,·'$1$2')\n··········.replace(/\\\\([^\\/])/g,·'$1')\n··}\n··return·windowsPathsNoEscape·?\n······s.replace(/\\[([^\\/\\\\{}])\\]/g,·'$1')\n····:·s\n········.replace(/((?!\\\\).|^)\\[([^\\/\\\\{}])\\]/g,·'$1$2')\n········.replace(/\\\\([^\\/{}])/g,·'$1')\n}\n"
11 ····],11 ····],
12 ····"version":·312 ····"version":·3
13 }13 }
1.87 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/ast.d.ts.map
1.72 KB
Pretty-printed
    
Offset 1, 10 lines modifiedOffset 1, 10 lines modified
1 {1 {
2 ····"file":·"ast.d.ts",2 ····"file":·"ast.d.ts",
3 ····"mappings":·"AAGA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAwCvD,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAkCrD,qBAAa,GAAG;;IACd,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;gBAiBtB,IAAI,EAAE,WAAW,GAAG,IAAI,EACxB,MAAM,CAAC,EAAE,GAAG,EACZ,OAAO,GAAE,gBAAqB;IAahC,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAUlC;IAGD,QAAQ,IAAI,MAAM;IA+ClB,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;IAY/B,MAAM;IAgBN,OAAO,IAAI,OAAO;IAgBlB,KAAK,IAAI,OAAO;IAYhB,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAKzB,KAAK,CAAC,MAAM,EAAE,GAAG;IAsIjB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAQ/D,WAAW,IAAI,QAAQ,GAAG,MAAM;IA2BhC,IAAI,OAAO,qBAEV;IAuED,cAAc,CAC[·...·truncated·by·diffoscope;·len:·116,·SHA:·2ef11ead35b430fc13e7740c5e22c7e5aedf20b59e4cffacca9d18a13fb506c0·...·]MjE",3 ····"mappings":·"AAGA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAwCvD,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAkCrD,qBAAa,GAAG;;IACd,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;gBAiBtB,IAAI,EAAE,WAAW,GAAG,IAAI,EACxB,MAAM,CAAC,EAAE,GAAG,EACZ,OAAO,GAAE,gBAAqB;IAahC,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAUlC;IAGD,QAAQ,IAAI,MAAM;IA+ClB,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;IAe/B,MAAM;IAkBN,OAAO,IAAI,OAAO;IAgBlB,KAAK,IAAI,OAAO;IAYhB,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAKzB,KAAK,CAAC,MAAM,EAAE,GAAG;IAsIjB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAQ/D,WAAW,IAAI,QAAQ,GAAG,MAAM;IA2BhC,IAAI,OAAO,qBAEV;IAuED,cAAc,CAC[·...·truncated·by·diffoscope;·len:·116,·SHA:·1be9f8a865a47f89b138b0b855df117125cb337d6ddb4d254a439f33e8bcfb74·...·]MjE",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/ast.ts"7 ········"../../src/ast.ts"
8 ····],8 ····],
9 ····"version":·39 ····"version":·3
10 }10 }
153 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/ast.js
'js-beautify' not available in path. Falling back to binary comparison.
    
Offset 278, 1136 lines modifiedOffset 278, 1138 lines modified
00001150:·2020·2020·6966·2028·7020·3d3d·3d20·2727······if·(p·===·''00001150:·2020·2020·6966·2028·7020·3d3d·3d20·2727······if·(p·===·''
00001160:·290a·2020·2020·2020·2020·2020·2020·2020··).··············00001160:·290a·2020·2020·2020·2020·2020·2020·2020··).··············
00001170:·2020·636f·6e74·696e·7565·3b0a·2020·2020····continue;.····00001170:·2020·636f·6e74·696e·7565·3b0a·2020·2020····continue;.····
00001180:·2020·2020·2020·2020·2f2a·2063·3820·6967··········/*·c8·ig00001180:·2020·2020·2020·2020·2f2a·2063·3820·6967··········/*·c8·ig
00001190:·6e6f·7265·2073·7461·7274·202a·2f0a·2020··nore·start·*/.··00001190:·6e6f·7265·2073·7461·7274·202a·2f0a·2020··nore·start·*/.··
000011a0:·2020·2020·2020·2020·2020·6966·2028·7479············if·(ty000011a0:·2020·2020·2020·2020·2020·6966·2028·7479············if·(ty
000011b0:·7065·6f66·2070·2021·3d3d·2027·7374·7269··peof·p·!==·'stri000011b0:·7065·6f66·2070·2021·3d3d·2027·7374·7269··peof·p·!==·'stri
 000011c0:·6e67·2720·2626·0a20·2020·2020·2020·2020··ng'·&&.·········
000011c0:·6e67·2720·2626·2021·2870·2069·6e73·7461··ng'·&&·!(p·insta000011d0:·2020·2020·2020·2021·2870·2069·6e73·7461·········!(p·insta
000011d0:·6e63·656f·6620·4153·5420·2626·2070·2e23··nceof·AST·&&·p.#000011e0:·6e63·656f·6620·4153·5420·2626·2070·2e23··nceof·AST·&&·p.#
000011e0:·7061·7265·6e74·203d·3d3d·2074·6869·7329··parent·===·this)000011f0:·7061·7265·6e74·203d·3d3d·2074·6869·7329··parent·===·this)
000011f0:·2920·7b0a·2020·2020·2020·2020·2020·2020··)·{.············00001200:·2920·7b0a·2020·2020·2020·2020·2020·2020··)·{.············
00001200:·2020·2020·7468·726f·7720·6e65·7720·4572······throw·new·Er00001210:·2020·2020·7468·726f·7720·6e65·7720·4572······throw·new·Er
00001210:·726f·7228·2769·6e76·616c·6964·2070·6172··ror('invalid·par00001220:·726f·7228·2769·6e76·616c·6964·2070·6172··ror('invalid·par
00001220:·743a·2027·202b·2070·293b·0a20·2020·2020··t:·'·+·p);.·····00001230:·743a·2027·202b·2070·293b·0a20·2020·2020··t:·'·+·p);.·····
00001230:·2020·2020·2020·207d·0a20·2020·2020·2020·········}.·······00001240:·2020·2020·2020·207d·0a20·2020·2020·2020·········}.·······
00001240:·2020·2020·202f·2a20·6338·2069·676e·6f72·······/*·c8·ignor00001250:·2020·2020·202f·2a20·6338·2069·676e·6f72·······/*·c8·ignor
00001250:·6520·7374·6f70·202a·2f0a·2020·2020·2020··e·stop·*/.······00001260:·6520·7374·6f70·202a·2f0a·2020·2020·2020··e·stop·*/.······
00001260:·2020·2020·2020·7468·6973·2e23·7061·7274········this.#part00001270:·2020·2020·2020·7468·6973·2e23·7061·7274········this.#part
00001270:·732e·7075·7368·2870·293b·0a20·2020·2020··s.push(p);.·····00001280:·732e·7075·7368·2870·293b·0a20·2020·2020··s.push(p);.·····
00001280:·2020·207d·0a20·2020·207d·0a20·2020·2074·····}.····}.····t00001290:·2020·207d·0a20·2020·207d·0a20·2020·2074·····}.····}.····t
00001290:·6f4a·534f·4e28·2920·7b0a·2020·2020·2020··oJSON()·{.······000012a0:·6f4a·534f·4e28·2920·7b0a·2020·2020·2020··oJSON()·{.······
000012a0:·2020·636f·6e73·7420·7265·7420·3d20·7468····const·ret·=·th000012b0:·2020·636f·6e73·7420·7265·7420·3d20·7468····const·ret·=·th
000012b0:·6973·2e74·7970·6520·3d3d·3d20·6e75·6c6c··is.type·===·null000012c0:·6973·2e74·7970·6520·3d3d·3d20·6e75·6c6c··is.type·===·null
000012c0:·0a20·2020·2020·2020·2020·2020·203f·2074··.············?·t000012d0:·203f·0a20·2020·2020·2020·2020·2020·2074···?.············t
000012d0:·6869·732e·2370·6172·7473·2e73·6c69·6365··his.#parts.slice000012e0:·6869·732e·2370·6172·7473·0a20·2020·2020··his.#parts.·····
 000012f0:·2020·2020·2020·2020·2020·202e·736c·6963·············.slic
 00001300:·6528·290a·2020·2020·2020·2020·2020·2020··e().············
000012e0:·2829·2e6d·6170·2870·203d·3e20·2874·7970··().map(p·=>·(typ00001310:·2020·2020·2e6d·6170·2870·203d·3e20·2874······.map(p·=>·(t
000012f0:·656f·6620·7020·3d3d·3d20·2773·7472·696e··eof·p·===·'strin00001320:·7970·656f·6620·7020·3d3d·3d20·2773·7472··ypeof·p·===·'str
00001300:·6727·203f·2070·203a·2070·2e74·6f4a·534f··g'·?·p·:·p.toJSO00001330:·696e·6727·203f·2070·203a·2070·2e74·6f4a··ing'·?·p·:·p.toJ
00001310:·4e28·2929·290a·2020·2020·2020·2020·2020··N())).··········00001340:·534f·4e28·2929·290a·2020·2020·2020·2020··SON())).········
00001320:·2020·3a20·5b74·6869·732e·7479·7065·2c20····:·[this.type,·00001350:·2020·2020·3a20·5b74·6869·732e·7479·7065······:·[this.type
00001330:·2e2e·2e74·6869·732e·2370·6172·7473·2e6d··...this.#parts.m00001360:·2c20·2e2e·2e74·6869·732e·2370·6172·7473··,·...this.#parts
00001340:·6170·2870·203d·3e20·702e·746f·4a53·4f4e··ap(p·=>·p.toJSON00001370:·2e6d·6170·2870·203d·3e20·702e·746f·4a53··.map(p·=>·p.toJS
00001350:·2829·295d·3b0a·2020·2020·2020·2020·6966··())];.········if00001380:·4f4e·2829·295d·3b0a·2020·2020·2020·2020··ON())];.········
00001360:·2028·7468·6973·2e69·7353·7461·7274·2829···(this.isStart()00001390:·6966·2028·7468·6973·2e69·7353·7461·7274··if·(this.isStart
00001370:·2026·2620·2174·6869·732e·7479·7065·290a···&&·!this.type).000013a0:·2829·2026·2620·2174·6869·732e·7479·7065··()·&&·!this.type
00001380:·2020·2020·2020·2020·2020·2020·7265·742e··············ret.000013b0:·290a·2020·2020·2020·2020·2020·2020·7265··).············re
00001390:·756e·7368·6966·7428·5b5d·293b·0a20·2020··unshift([]);.···000013c0:·742e·756e·7368·6966·7428·5b5d·293b·0a20··t.unshift([]);.·
000013a0:·2020·2020·2069·6620·2874·6869·732e·6973·······if·(this.is 
000013b0:·456e·6428·2920·2626·0a20·2020·2020·2020··End()·&&.······· 
000013c0:·2020·2020·2028·7468·6973·203d·3d3d·2074·······(this·===·t 
000013d0:·6869·732e·2372·6f6f·7420·7c7c·0a20·2020··his.#root·||.··· 
000013e0:·2020·2020·2020·2020·2020·2020·2028·7468···············(th 
000013f0:·6973·2e23·726f·6f74·2e23·6669·6c6c·6564··is.#root.#filled 
00001400:·4e65·6773·2026·2620·7468·6973·2e23·7061··Negs·&&·this.#pa 
00001410:·7265·6e74·3f2e·7479·7065·203d·3d3d·2027··rent?.type·===·' 
00001420:·2127·2929·2920·7b0a·2020·2020·2020·2020··!')))·{.········ 
00001430:·2020·2020·7265·742e·7075·7368·287b·7d29······ret.push({}) 
00001440:·3b0a·2020·2020·2020·2020·7d0a·2020·2020··;.········}.···· 
00001450:·2020·2020·7265·7475·726e·2072·6574·3b0a······return·ret;. 
00001460:·2020·2020·7d0a·2020·2020·6973·5374·6172······}.····isStar 
00001470:·7428·2920·7b0a·2020·2020·2020·2020·6966··t()·{.········if 
00001480:·2028·7468·6973·2e23·726f·6f74·203d·3d3d···(this.#root·=== 
00001490:·2074·6869·7329·0a20·2020·2020·2020·2020···this).········· 
000014a0:·2020·2072·6574·7572·6e20·7472·7565·3b0a·····return·true;. 
000014b0:·2020·2020·2020·2020·2f2f·2069·6620·2874··········//·if·(t 
000014c0:·6869·732e·7479·7065·2920·7265·7475·726e··his.type)·return 
000014d0:·2021·2174·6869·732e·2370·6172·656e·743f···!!this.#parent? 
000014e0:·2e69·7353·7461·7274·2829·0a20·2020·2020··.isStart().····· 
000014f0:·2020·2069·6620·2821·7468·6973·2e23·7061·····if·(!this.#pa 
00001500:·7265·6e74·3f2e·6973·5374·6172·7428·2929··rent?.isStart()) 
00001510:·0a20·2020·2020·2020·2020·2020·2072·6574··.············ret 
00001520:·7572·6e20·6661·6c73·653b·0a20·2020·2020··urn·false;.····· 
00001530:·2020·2069·6620·2874·6869·732e·2370·6172·····if·(this.#par 
00001540:·656e·7449·6e64·6578·203d·3d3d·2030·290a··entIndex·===·0). 
00001550:·2020·2020·2020·2020·2020·2020·7265·7475··············retu 
00001560:·726e·2074·7275·653b·0a20·2020·2020·2020··rn·true;.······· 
00001570:·202f·2f20·6966·2065·7665·7279·7468·696e···//·if·everythin 
00001580:·6720·4148·4541·4420·6f66·2074·6869·7320··g·AHEAD·of·this· 
00001590:·6973·2061·206e·6567·6174·696f·6e2c·2074··is·a·negation,·t 
000015a0:·6865·6e20·6974·2773·2073·7469·6c6c·2074··hen·it's·still·t 
000015b0:·6865·2022·7374·6172·7422·0a20·2020·2020··he·"start".····· 
000015c0:·2020·2063·6f6e·7374·2070·203d·2074·6869·····const·p·=·thi 
000015d0:·732e·2370·6172·656e·743b·0a20·2020·2020··s.#parent;.····· 
000015e0:·2020·2066·6f72·2028·6c65·7420·6920·3d20·····for·(let·i·=· 
000015f0:·303b·2069·203c·2074·6869·732e·2370·6172··0;·i·<·this.#par 
00001600:·656e·7449·6e64·6578·3b20·692b·2b29·207b··entIndex;·i++)·{ 
00001610:·0a20·2020·2020·2020·2020·2020·2063·6f6e··.············con 
00001620:·7374·2070·7020·3d20·702e·2370·6172·7473··st·pp·=·p.#parts 
00001630:·5b69·5d3b·0a20·2020·2020·2020·2020·2020··[i];.··········· 
00001640:·2069·6620·2821·2870·7020·696e·7374·616e···if·(!(pp·instan 
00001650:·6365·6f66·2041·5354·2026·2620·7070·2e74··ceof·AST·&&·pp.t 
00001660:·7970·6520·3d3d·3d20·2721·2729·2920·7b0a··ype·===·'!'))·{. 
00001670:·2020·2020·2020·2020·2020·2020·2020·2020·················· 
00001680:·7265·7475·726e·2066·616c·7365·3b0a·2020··return·false;.·· 
00001690:·2020·2020·2020·2020·2020·7d0a·2020·2020············}.···· 
000016a0:·2020·2020·7d0a·2020·2020·2020·2020·7265······}.········re 
000016b0:·7475·726e·2074·7275·653b·0a20·2020·207d··turn·true;.····} 
000016c0:·0a20·2020·2069·7345·6e64·2829·207b·0a20··.····isEnd()·{.· 
000016d0:·2020·2020·2020·2069·6620·2874·6869·732e·········if·(this.000013d0:·2020·2020·2020·2069·6620·2874·6869·732e·········if·(this.
000016e0:·2372·6f6f·7420·3d3d·3d20·7468·6973·290a··#root·===·this).000013e0:·6973·456e·6428·2920·2626·0a20·2020·2020··isEnd()·&&.·····
 000013f0:·2020·2020·2020·2028·7468·6973·203d·3d3d·········(this·===
 00001400:·2074·6869·732e·2372·6f6f·7420·7c7c·0a20···this.#root·||.·
 00001410:·2020·2020·2020·2020·2020·2020·2020·2028·················(
 00001420:·7468·6973·2e23·726f·6f74·2e23·6669·6c6c··this.#root.#fill
 00001430:·6564·4e65·6773·2026·2620·7468·6973·2e23··edNegs·&&·this.#
 00001440:·7061·7265·6e74·3f2e·7479·7065·203d·3d3d··parent?.type·===
Max diff block lines reached; 142532/156082 bytes (91.32%) of diff not shown.
79.8 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/ast.js.map
79.7 KB
Pretty-printed
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 {1 {
2 ····"file":·"ast.js",2 ····"file":·"ast.js",
3 ····"mappings":·"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[·...·truncated·by·diffoscope;·len:·11841,·SHA:·14163a38787f544a9174dc5cac78748be9391b524e3d2ecd67b5cae2644de16a·...·]B,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAA;QAC9B,CAAC;QACD,OAAO;YACL,KAAK;YACL,QAAQ,CAAC,IAAI,CAAC;YACd,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,MAAM;SACZ,CAAA;IACH,CAAC;IAED,cAAc,CAAC,GAAY;QACzB,OAAO,IAAI,CAAC,MAAM;aACf,GAAG,CAAC,CAAC,CAAC,EAAE;YACP,+CAA+C;YAC/C,qBAAqB;YACrB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;YACjD,CAAC;YACD,oBAAoB;YACpB,iEAAiE;YACjE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;YACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAA;YAClC,OAAO,EAAE,CAAA;QACX,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACrD,IAAI,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IAED,MAAM,CAAC,UAAU,CACf,IAAY,EACZ,QAA6B,EAC7B,UAAmB,KAAK;QAExB,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,EAAE,GAAG,EAAE,CAAA;QACX,IAAI,KAAK,GAAG,KAAK,CAAA;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACxB,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,GAAG,KAAK,CAAA;gBAChB,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;gBACzC,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,EAAE,IAAI,MAAM,CAAA;gBACd,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,IAAI,CAAA;gBACjB,CAAC;gBACD,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACd,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;gBAC7D,IAAI,QAAQ,EAAE,CAAC;oBACb,EAAE,IAAI,GAAG,CAAA;oBACT,KAAK,GAAG,KAAK,IAAI,SAAS,CAAA;oBAC1B,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAA;oBACjB,QAAQ,GAAG,QAAQ,IAAI,KAAK,CAAA;oBAC5B,SAAQ;gBACV,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACd,EAAE,IAAI,OAAO,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA;gBAClD,QAAQ,GAAG,IAAI,CAAA;gBACf,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACd,EAAE,IAAI,KAAK,CAAA;gBACX,QAAQ,GAAG,IAAI,CAAA;gBACf,SAAQ;YACV,CAAC;YACD,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;CACF",3 ····"mappings":·"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[·...·truncated·by·diffoscope;·len:·11846,·SHA:·88b737c8e02a30cffac85ce1866501e790b57e083183a2360df71dea84604fb6·...·]B,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAA;QAC9B,CAAC;QACD,OAAO;YACL,KAAK;YACL,QAAQ,CAAC,IAAI,CAAC;YACd,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,MAAM;SACZ,CAAA;IACH,CAAC;IAED,cAAc,CAAC,GAAY;QACzB,OAAO,IAAI,CAAC,MAAM;aACf,GAAG,CAAC,CAAC,CAAC,EAAE;YACP,+CAA+C;YAC/C,qBAAqB;YACrB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;YACjD,CAAC;YACD,oBAAoB;YACpB,iEAAiE;YACjE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;YACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAA;YAClC,OAAO,EAAE,CAAA;QACX,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACrD,IAAI,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IAED,MAAM,CAAC,UAAU,CACf,IAAY,EACZ,QAA6B,EAC7B,UAAmB,KAAK;QAExB,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,EAAE,GAAG,EAAE,CAAA;QACX,IAAI,KAAK,GAAG,KAAK,CAAA;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACxB,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,GAAG,KAAK,CAAA;gBAChB,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;gBACzC,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,EAAE,IAAI,MAAM,CAAA;gBACd,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,IAAI,CAAA;gBACjB,CAAC;gBACD,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACd,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;gBAC7D,IAAI,QAAQ,EAAE,CAAC;oBACb,EAAE,IAAI,GAAG,CAAA;oBACT,KAAK,GAAG,KAAK,IAAI,SAAS,CAAA;oBAC1B,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAA;oBACjB,QAAQ,GAAG,QAAQ,IAAI,KAAK,CAAA;oBAC5B,SAAQ;gBACV,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACd,EAAE,IAAI,OAAO,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA;gBAClD,QAAQ,GAAG,IAAI,CAAA;gBACf,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACd,EAAE,IAAI,KAAK,CAAA;gBACX,QAAQ,GAAG,IAAI,CAAA;gBACf,SAAQ;YACV,CAAC;YACD,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;CACF",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/ast.ts"7 ········"../../src/ast.ts"
8 ····],8 ····],
9 ····"sourcesContent":·[9 ····"sourcesContent":·[
10 ········"//·parse·a·single·path·portion\n\nimport·{·parseClass·}·from·'./brace-expressions.js'\nimport·{·MinimatchOptions,·MMRegExp·}·from·'./index.js'\nimport·{·unescape·}·from·'./unescape.js'\n\n//·classes·[]·are·handled·by·the·parseClass·method\n//·for·positive·extglobs,·we·sub-parse·the·contents,·and·combine,\n//·with·the·appropriate·regexp·close.\n//·for·negative·extglobs,·we·sub-parse·the·contents,·but·then\n//·have·to·include·the·rest·of·the·pattern,·then·the·parent,·etc.,\n//·as·the·thing·that·cannot·be·because·RegExp·negative·lookaheads\n//·are·different·from·globs.\n//\n//·So·for·example:\n//·a@(i|w!(x|y)z|j)b·=>·^a(i|w((!?(x|y)zb).*)z|j)b$\n//···1···2·3···4·5·6······1···2····3···46······5·6\n//\n//·Assembling·the·extglob·requires·not·just·the·negated·patterns·themselves,\n//·but·also·anything·following·the·negative·patterns·up·to·the·boundary\n//·of·the·current·pattern,·plus·anything·following·in·the·parent·pattern.\n//\n//\n//·So,·first,·we·parse·the·string·into·an·AST·of·extglobs,·without·turning\n//·anything·into·regexps·yet.\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y']},·'z'],·['j']]},·'b']\n//\n//·Then,·for·all·the·negative·extglobs,·we·append·whatever·comes·after·in\n//·each·parent·as·their·tail\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y'],·'z',·'b'},·'z'],·['j']]},·'b']\n//\n//·Lastly,·we·turn·each·of·these·pieces·into·a·regexp,·and·join\n//\n//·································v-----·.*·because·there's·more·following,\n//·································v····v··otherwise,·.+·because·it·must·be\n//·································v····v··*something*·there.\n//·['^a',·{@·['i',·'w(?:(!?(?:x|y).*zb$).*)z',·'j'·]},·'b$']\n//···copy·what·follows·into·here--^^^^^\n//·['^a',·'(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)',·'b$']\n//·['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport·type·ExtglobType·=·'!'·|·'?'·|·'+'·|·'*'·|·'@'\nconst·types·=·new·Set<ExtglobType>(['!',·'?',·'+',·'*',·'@'])\nconst·isExtglobType·=·(c:·string):·c·is·ExtglobType·=>\n··types.has(c·as·ExtglobType)\n\n//·Patterns·that·get·prepended·to·bind·to·the·start·of·either·the\n//·entire·string,·or·just·a·single·path·portion,·to·prevent·dots\n//·and/or·traversal·patterns,·when·needed.\n//·Exts·don't·need·the·^·or·/·bit,·because·the·root·binds·that·already.\nconst·startNoTraversal·=·'(?!(?:^|/)\\\\.\\\\.?(?:$|/))'\nconst·startNoDot·=·'(?!\\\\.)'\n\n//·characters·that·indicate·a·start·of·pattern·needs·the·\"no·dots\"·bit,\n//·because·a·dot·*might*·be·matched.·(·is·not·in·the·list,·because·in\n//·the·case·of·a·child·extglob,·it·will·handle·the·prevention·itself.\nconst·addPatternStart·=·new·Set(['[',·'.'])\n//·cases·where·traversal·is·A-OK,·no·dot·prevention·needed\nconst·justDots·=·new·Set(['..',·'.'])\nconst·reSpecials·=·new·Set('().*{}+?[]^$\\\\!')\nconst·regExpEscape·=·(s:·string)·=>\n··s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,·'\\\\$&')\n\n//·any·single·thing·other·than·/\nconst·qmark·=·'[^/]'\n\n//·*·=>·any·number·of·characters\nconst·star·=·qmark·+·'*?'\n//·use·+·when·we·need·to·ensure·that·*something*·matches,·because·the·*·is\n//·the·only·thing·in·the·path·portion.\nconst·starNoEmpty·=·qmark·+·'+?'\n\n//·remove·the·\\·chars·that·we·added·if·we·end·up·doing·a·nonmagic·compare\n//·const·deslash·=·(s:·string)·=>·s.replace(/\\\\(.)/g,·'$1')\n\nexport·class·AST·{\n··type:·ExtglobType·|·null\n··readonly·#root:·AST\n\n··#hasMagic?:·boolean\n··#uflag:·boolean·=·false\n··#parts:·(string·|·AST)[]·=·[]\n··readonly·#parent?:·AST\n··readonly·#parentIndex:·number\n··#negs:·AST[]\n··#filledNegs:·boolean·=·false\n··#options:·MinimatchOptions\n··#toString?:·string\n··//·set·to·true·if·it's·an·extglob·with·no·children\n··//·(which·really·means·one·child·of·'')\n··#emptyExt:·boolean·=·false\n\n··constructor(\n····type:·ExtglobType·|·null,\n····parent?:·AST,\n····options:·MinimatchOptions·=·{},\n··)·{\n····this.type·=·type\n····//·extglobs·are·inherently·magical\n····if·(type)·this.#hasMagic·=·true\n····this.#parent·=·parent\n····this.#root·=·this.#parent·?·this.#parent.#root·:·this\n····this.#options·=·this.#root·===·this·?·options·:·this.#root.#options\n····this.#negs·=·this.#root·===·this·?·[]·:·this.#root.#negs\n····if·(type·===·'!'·&&·!this.#root.#filledNegs)·this.#negs.push(this)\n····this.#parentIndex·=·this.#parent·?·this.#parent.#parts.length·:·0\n··}\n\n··get·hasMagic():·boolean·|·undefined·{\n····/*·c8·ignore·start·*/\n····if·(this.#hasMagic·!==·undefined)·return·this.#hasMagic\n····/*·c8·ignore·stop·*/\n····for·(const·p·of·this.#parts)·{\n······if·(typeof·p·===·'string')·continue\n······if·(p.type·||·p.hasMagic)·return·(this.#hasMagic·=·true)\n····}\n····//·note:·will·be·undefined·until·we·generate·the·regexp·src·and·find·out\n····return·this.#hasMagic\n··}\n\n··//·reconstructs·the·pattern\n··toString():·string·{\n····if·(this.#toString·!==·undefined)·return·this.#toString\n····if·(!this.type)·{\n······return·(this.#toString·=·this.#parts.map(p·=>·String(p)).join(''))\n····}·else·{\n······return·(this.#toString·=\n········this.type·+·'('·+·this.#parts.map(p·=>·String(p)).join('|')·+·')')\n····}\n··}\n\n··#fillNegs()·{\n····/*·c8·ignore·start·*/\n····if·(this·!==·this.#root)·throw·new·Error('should·only·call·on·root')\n····if·(this.#filledNegs)·return·this\n····/*·c8·ignore·stop·*/\n\n····//·call·toString()·once·to·fill·this·out\n····this.toString()\n····this.#filledNegs·=·true\n····let·n:·AST·|·undefined\n····while·((n·=·this.#negs.pop()))·{\n······if·(n.type·!==·'!')·continue\n······//·walk·up·the·tree,·appending·everthing·that·comes·AFTER·parentIndex\n······let·p:·AST·|·undefined·=·n\n······let·pp·=·p.#parent\n······while·(pp)·{\n········for·(\n··········let·i·=·p.#parentIndex·+·1;\n··········!pp.type·&&·i·<·pp.#parts.length;\n··········i++\n········)·{\n··········for·(const·part·of·n.#parts)·{\n············/*·c8·ignore·start·*/\n············if·(typeof·part·===·'string')·{\n··············throw·new·Error('string·part·in·extglob·AST??')\n············}\n············/*·c8·ignore·stop·*/\n············part.copyIn(pp.#parts[i])\n··········}\n········}\n········p·=·pp\n········pp·=·p.#parent\n······}\n····}\n····return·this\n··}\n\n··push(...parts:·(string·|·AST)[])·{\n····for·(const·p·of·parts)·{\n······if·(p·===·'')·continue\n······/*·c8·ignore·start·*/\n······if·(typeof·p·!==·'string'·&&·!(p·instanceof·AST·&&·p.#parent·===·this))·{\n········throw·new·Error('invalid·part:·'·+·p)\n······}\n······/*·c8·ignore·stop·*/\n······this.#parts.push(p)\n····}\n··}\n\n··toJSON()·{\n····const·ret:·any[]·=\n······this.type·===·nu[·...·truncated·by·diffoscope;·len:·13851,·SHA:·e61762108f1a7decad6655bb52ba0836b806c0f15d4ccc03e4e7a1856470844c·...·]········:·`)${this.type}`\n······final·=·start·+·body·+·close\n····}\n····return·[\n······final,\n······unescape(body),\n······(this.#hasMagic·=·!!this.#hasMagic),\n······this.#uflag,\n····]\n··}\n\n··#partsToRegExp(dot:·boolean)·{\n····return·this.#parts\n······.map(p·=>·{\n········//·extglob·ASTs·should·only·contain·parent·ASTs\n········/*·c8·ignore·start·*/\n········if·(typeof·p·===·'string')·{\n··········throw·new·Error('string·type·in·extglob·ast??')\n········}\n········/*·c8·ignore·stop·*/\n········//·can·ignore·hasMagic,·because·extglobs·are·already·always·magic\n········const·[re,·_,·_hasMagic,·uflag]·=·p.toRegExpSource(dot)\n········this.#uflag·=·this.#uflag·||·uflag\n········return·re\n······})\n······.filter(p·=>·!(this.isStart()·&&·this.isEnd())·||·!!p)\n······.join('|')\n··}\n\n··static·#parseGlob(\n····glob:·string,\n····hasMagic:·boolean·|·undefined,\n····noEmpty:·boolean·=·false,\n··):·[re:·string,·body:·string,·hasMagic:·boolean,·uflag:·boolean]·{\n····let·escaping·=·false\n····let·re·=·''\n····let·uflag·=·false\n····for·(let·i·=·0;·i·<·glob.length;·i++)·{\n······const·c·=·glob.charAt(i)\n······if·(escaping)·{\n········escaping·=·false\n········re·+=·(reSpecials.has(c)·?·'\\\\'·:·'')·+·c\n········continue\n······}\n······if·(c·===·'\\\\')·{\n········if·(i·===·glob.length·-·1)·{\n··········re·+=·'\\\\\\\\'\n········}·else·{\n··········escaping·=·true\n········}\n········continue\n······}\n······if·(c·===·'[')·{\n········const·[src,·needUflag,·consumed,·magic]·=·parseClass(glob,·i)\n········if·(consumed)·{\n··········re·+=·src\n··········uflag·=·uflag·||·needUflag\n··········i·+=·consumed·-·1\n··········hasMagic·=·hasMagic·||·magic\n··········continue\n········}\n······}\n······if·(c·===·'*')·{\n········re·+=·noEmpty·&&·glob·===·'*'·?·starNoEmpty·:·star\n········hasMagic·=·true\n········continue\n······}\n······if·(c·===·'?')·{\n········re·+=·qmark\n········hasMagic·=·true\n········continue\n······}\n······re·+=·regExpEscape(c)\n····}\n····return·[re,·unescape(glob),·!!hasMagic,·uflag]\n··}\n}\n"10 ········"//·parse·a·single·path·portion\n\nimport·{·parseClass·}·from·'./brace-expressions.js'\nimport·{·MinimatchOptions,·MMRegExp·}·from·'./index.js'\nimport·{·unescape·}·from·'./unescape.js'\n\n//·classes·[]·are·handled·by·the·parseClass·method\n//·for·positive·extglobs,·we·sub-parse·the·contents,·and·combine,\n//·with·the·appropriate·regexp·close.\n//·for·negative·extglobs,·we·sub-parse·the·contents,·but·then\n//·have·to·include·the·rest·of·the·pattern,·then·the·parent,·etc.,\n//·as·the·thing·that·cannot·be·because·RegExp·negative·lookaheads\n//·are·different·from·globs.\n//\n//·So·for·example:\n//·a@(i|w!(x|y)z|j)b·=>·^a(i|w((!?(x|y)zb).*)z|j)b$\n//···1···2·3···4·5·6······1···2····3···46······5·6\n//\n//·Assembling·the·extglob·requires·not·just·the·negated·patterns·themselves,\n//·but·also·anything·following·the·negative·patterns·up·to·the·boundary\n//·of·the·current·pattern,·plus·anything·following·in·the·parent·pattern.\n//\n//\n//·So,·first,·we·parse·the·string·into·an·AST·of·extglobs,·without·turning\n//·anything·into·regexps·yet.\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y']},·'z'],·['j']]},·'b']\n//\n//·Then,·for·all·the·negative·extglobs,·we·append·whatever·comes·after·in\n//·each·parent·as·their·tail\n//\n//·['a',·{@·[['i'],·['w',·{!['x',·'y'],·'z',·'b'},·'z'],·['j']]},·'b']\n//\n//·Lastly,·we·turn·each·of·these·pieces·into·a·regexp,·and·join\n//\n//·································v-----·.*·because·there's·more·following,\n//·································v····v··otherwise,·.+·because·it·must·be\n//·································v····v··*something*·there.\n//·['^a',·{@·['i',·'w(?:(!?(?:x|y).*zb$).*)z',·'j'·]},·'b$']\n//···copy·what·follows·into·here--^^^^^\n//·['^a',·'(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)',·'b$']\n//·['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport·type·ExtglobType·=·'!'·|·'?'·|·'+'·|·'*'·|·'@'\nconst·types·=·new·Set<ExtglobType>(['!',·'?',·'+',·'*',·'@'])\nconst·isExtglobType·=·(c:·string):·c·is·ExtglobType·=>\n··types.has(c·as·ExtglobType)\n\n//·Patterns·that·get·prepended·to·bind·to·the·start·of·either·the\n//·entire·string,·or·just·a·single·path·portion,·to·prevent·dots\n//·and/or·traversal·patterns,·when·needed.\n//·Exts·don't·need·the·^·or·/·bit,·because·the·root·binds·that·already.\nconst·startNoTraversal·=·'(?!(?:^|/)\\\\.\\\\.?(?:$|/))'\nconst·startNoDot·=·'(?!\\\\.)'\n\n//·characters·that·indicate·a·start·of·pattern·needs·the·\"no·dots\"·bit,\n//·because·a·dot·*might*·be·matched.·(·is·not·in·the·list,·because·in\n//·the·case·of·a·child·extglob,·it·will·handle·the·prevention·itself.\nconst·addPatternStart·=·new·Set(['[',·'.'])\n//·cases·where·traversal·is·A-OK,·no·dot·prevention·needed\nconst·justDots·=·new·Set(['..',·'.'])\nconst·reSpecials·=·new·Set('().*{}+?[]^$\\\\!')\nconst·regExpEscape·=·(s:·string)·=>\n··s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,·'\\\\$&')\n\n//·any·single·thing·other·than·/\nconst·qmark·=·'[^/]'\n\n//·*·=>·any·number·of·characters\nconst·star·=·qmark·+·'*?'\n//·use·+·when·we·need·to·ensure·that·*something*·matches,·because·the·*·is\n//·the·only·thing·in·the·path·portion.\nconst·starNoEmpty·=·qmark·+·'+?'\n\n//·remove·the·\\·chars·that·we·added·if·we·end·up·doing·a·nonmagic·compare\n//·const·deslash·=·(s:·string)·=>·s.replace(/\\\\(.)/g,·'$1')\n\nexport·class·AST·{\n··type:·ExtglobType·|·null\n··readonly·#root:·AST\n\n··#hasMagic?:·boolean\n··#uflag:·boolean·=·false\n··#parts:·(string·|·AST)[]·=·[]\n··readonly·#parent?:·AST\n··readonly·#parentIndex:·number\n··#negs:·AST[]\n··#filledNegs:·boolean·=·false\n··#options:·MinimatchOptions\n··#toString?:·string\n··//·set·to·true·if·it's·an·extglob·with·no·children\n··//·(which·really·means·one·child·of·'')\n··#emptyExt:·boolean·=·false\n\n··constructor(\n····type:·ExtglobType·|·null,\n····parent?:·AST,\n····options:·MinimatchOptions·=·{},\n··)·{\n····this.type·=·type\n····//·extglobs·are·inherently·magical\n····if·(type)·this.#hasMagic·=·true\n····this.#parent·=·parent\n····this.#root·=·this.#parent·?·this.#parent.#root·:·this\n····this.#options·=·this.#root·===·this·?·options·:·this.#root.#options\n····this.#negs·=·this.#root·===·this·?·[]·:·this.#root.#negs\n····if·(type·===·'!'·&&·!this.#root.#filledNegs)·this.#negs.push(this)\n····this.#parentIndex·=·this.#parent·?·this.#parent.#parts.length·:·0\n··}\n\n··get·hasMagic():·boolean·|·undefined·{\n····/*·c8·ignore·start·*/\n····if·(this.#hasMagic·!==·undefined)·return·this.#hasMagic\n····/*·c8·ignore·stop·*/\n····for·(const·p·of·this.#parts)·{\n······if·(typeof·p·===·'string')·continue\n······if·(p.type·||·p.hasMagic)·return·(this.#hasMagic·=·true)\n····}\n····//·note:·will·be·undefined·until·we·generate·the·regexp·src·and·find·out\n····return·this.#hasMagic\n··}\n\n··//·reconstructs·the·pattern\n··toString():·string·{\n····if·(this.#toString·!==·undefined)·return·this.#toString\n····if·(!this.type)·{\n······return·(this.#toString·=·this.#parts.map(p·=>·String(p)).join(''))\n····}·else·{\n······return·(this.#toString·=\n········this.type·+·'('·+·this.#parts.map(p·=>·String(p)).join('|')·+·')')\n····}\n··}\n\n··#fillNegs()·{\n····/*·c8·ignore·start·*/\n····if·(this·!==·this.#root)·throw·new·Error('should·only·call·on·root')\n····if·(this.#filledNegs)·return·this\n····/*·c8·ignore·stop·*/\n\n····//·call·toString()·once·to·fill·this·out\n····this.toString()\n····this.#filledNegs·=·true\n····let·n:·AST·|·undefined\n····while·((n·=·this.#negs.pop()))·{\n······if·(n.type·!==·'!')·continue\n······//·walk·up·the·tree,·appending·everthing·that·comes·AFTER·parentIndex\n······let·p:·AST·|·undefined·=·n\n······let·pp·=·p.#parent\n······while·(pp)·{\n········for·(\n··········let·i·=·p.#parentIndex·+·1;\n··········!pp.type·&&·i·<·pp.#parts.length;\n··········i++\n········)·{\n··········for·(const·part·of·n.#parts)·{\n············/*·c8·ignore·start·*/\n············if·(typeof·part·===·'string')·{\n··············throw·new·Error('string·part·in·extglob·AST??')\n············}\n············/*·c8·ignore·stop·*/\n············part.copyIn(pp.#parts[i])\n··········}\n········}\n········p·=·pp\n········pp·=·p.#parent\n······}\n····}\n····return·this\n··}\n\n··push(...parts:·(string·|·AST)[])·{\n····for·(const·p·of·parts)·{\n······if·(p·===·'')·continue\n······/*·c8·ignore·start·*/\n······if·(\n········typeof·p·!==·'string'·&&\n········!(p·instanceof·AST·&&·p.#parent·===·this)\n······)·{\n········throw·new·Error('invalid·part:·'·+·p)\n······}\n······/*·c8·ignore·stop·*/\n······this.#parts.push(p)\n····}\n··}\n\n··toJSON()·{\n····const·ret:·any[[·...·truncated·by·diffoscope;·len:·13839,·SHA:·c03f87d94904207bdd65f1429cda15924b156fe87d650492b981186ea82c35d0·...·]········:·`)${this.type}`\n······final·=·start·+·body·+·close\n····}\n····return·[\n······final,\n······unescape(body),\n······(this.#hasMagic·=·!!this.#hasMagic),\n······this.#uflag,\n····]\n··}\n\n··#partsToRegExp(dot:·boolean)·{\n····return·this.#parts\n······.map(p·=>·{\n········//·extglob·ASTs·should·only·contain·parent·ASTs\n········/*·c8·ignore·start·*/\n········if·(typeof·p·===·'string')·{\n··········throw·new·Error('string·type·in·extglob·ast??')\n········}\n········/*·c8·ignore·stop·*/\n········//·can·ignore·hasMagic,·because·extglobs·are·already·always·magic\n········const·[re,·_,·_hasMagic,·uflag]·=·p.toRegExpSource(dot)\n········this.#uflag·=·this.#uflag·||·uflag\n········return·re\n······})\n······.filter(p·=>·!(this.isStart()·&&·this.isEnd())·||·!!p)\n······.join('|')\n··}\n\n··static·#parseGlob(\n····glob:·string,\n····hasMagic:·boolean·|·undefined,\n····noEmpty:·boolean·=·false,\n··):·[re:·string,·body:·string,·hasMagic:·boolean,·uflag:·boolean]·{\n····let·escaping·=·false\n····let·re·=·''\n····let·uflag·=·false\n····for·(let·i·=·0;·i·<·glob.length;·i++)·{\n······const·c·=·glob.charAt(i)\n······if·(escaping)·{\n········escaping·=·false\n········re·+=·(reSpecials.has(c)·?·'\\\\'·:·'')·+·c\n········continue\n······}\n······if·(c·===·'\\\\')·{\n········if·(i·===·glob.length·-·1)·{\n··········re·+=·'\\\\\\\\'\n········}·else·{\n··········escaping·=·true\n········}\n········continue\n······}\n······if·(c·===·'[')·{\n········const·[src,·needUflag,·consumed,·magic]·=·parseClass(glob,·i)\n········if·(consumed)·{\n··········re·+=·src\n··········uflag·=·uflag·||·needUflag\n··········i·+=·consumed·-·1\n··········hasMagic·=·hasMagic·||·magic\n··········continue\n········}\n······}\n······if·(c·===·'*')·{\n········re·+=·noEmpty·&&·glob·===·'*'·?·starNoEmpty·:·star\n········hasMagic·=·true\n········continue\n······}\n······if·(c·===·'?')·{\n········re·+=·qmark\n········hasMagic·=·true\n········continue\n······}\n······re·+=·regExpEscape(c)\n····}\n····return·[re,·unescape(glob),·!!hasMagic,·uflag]\n··}\n}\n"
11 ····],11 ····],
12 ····"version":·312 ····"version":·3
13 }13 }
816 B
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map
636 B
Pretty-printed
    
Offset 1, 10 lines modifiedOffset 1, 10 lines modified
1 {1 {
2 ····"file":·"brace-expressions.d.ts",2 ····"file":·"brace-expressions.d.ts",
3 ····"mappings":·"AA+BA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,OAAO;CAClB,CAAA;AAQD,eAAO,MAAM,UAAU,GACrB,MAAM,MAAM,EACZ,UAAU,MAAM,KACf,gBA6HF,CAAA",3 ····"mappings":·"AAgCA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,OAAO;CAClB,CAAA;AAQD,eAAO,MAAM,UAAU,GACrB,MAAM,MAAM,EACZ,UAAU,MAAM,KACf,gBA2HF,CAAA",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/brace-expressions.ts"7 ········"../../src/brace-expressions.ts"
8 ····],8 ····],
9 ····"version":·39 ····"version":·3
10 }10 }
2.41 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/brace-expressions.js
'js-beautify' not available in path. Falling back to binary comparison.
    
Offset 333, 20 lines modifiedOffset 333, 19 lines modified
000014c0:·6e73·7420·736e·6567·7320·3d20·275b·2720··nst·snegs·=·'['·000014c0:·6e73·7420·736e·6567·7320·3d20·275b·2720··nst·snegs·=·'['·
000014d0:·2b20·286e·6567·6174·6520·3f20·2727·203a··+·(negate·?·''·:000014d0:·2b20·286e·6567·6174·6520·3f20·2727·203a··+·(negate·?·''·:
000014e0:·2027·5e27·2920·2b20·7261·6e67·6573·546f···'^')·+·rangesTo000014e0:·2027·5e27·2920·2b20·7261·6e67·6573·546f···'^')·+·rangesTo
000014f0:·5374·7269·6e67·286e·6567·7329·202b·2027··String(negs)·+·'000014f0:·5374·7269·6e67·286e·6567·7329·202b·2027··String(negs)·+·'
00001500:·5d27·3b0a·2020·2020·636f·6e73·7420·636f··]';.····const·co00001500:·5d27·3b0a·2020·2020·636f·6e73·7420·636f··]';.····const·co
00001510:·6d62·203d·2072·616e·6765·732e·6c65·6e67··mb·=·ranges.leng00001510:·6d62·203d·2072·616e·6765·732e·6c65·6e67··mb·=·ranges.leng
00001520:·7468·2026·2620·6e65·6773·2e6c·656e·6774··th·&&·negs.lengt00001520:·7468·2026·2620·6e65·6773·2e6c·656e·6774··th·&&·negs.lengt
 00001530:·6820·3f20·2728·2720·2b20·7372·616e·6765··h·?·'('·+·srange
 00001540:·7320·2b20·277c·2720·2b20·736e·6567·7320··s·+·'|'·+·snegs·
 00001550:·2b20·2729·270a·2020·2020·2020·2020·3a20··+·')'.········:·
 00001560:·7261·6e67·6573·2e6c·656e·6774·6820·3f20··ranges.length·?·
00001530:·680a·2020·2020·2020·2020·3f20·2728·2720··h.········?·'('· 
00001540:·2b20·7372·616e·6765·7320·2b20·277c·2720··+·sranges·+·'|'· 
00001550:·2b20·736e·6567·7320·2b20·2729·270a·2020··+·snegs·+·')'.·· 
00001560:·2020·2020·2020·3a20·7261·6e67·6573·2e6c········:·ranges.l 
00001570:·656e·6774·680a·2020·2020·2020·2020·2020··ength.·········· 
00001580:·2020·3f20·7372·616e·6765·730a·2020·2020····?·sranges.····00001570:·7372·616e·6765·730a·2020·2020·2020·2020··sranges.········
00001590:·2020·2020·2020·2020·3a20·736e·6567·733b··········:·snegs;00001580:·2020·2020·3a20·736e·6567·733b·0a20·2020······:·snegs;.···
000015a0:·0a20·2020·2072·6574·7572·6e20·5b63·6f6d··.····return·[com00001590:·2072·6574·7572·6e20·5b63·6f6d·622c·2075···return·[comb,·u
000015b0:·622c·2075·666c·6167·2c20·656e·6450·6f73··b,·uflag,·endPos000015a0:·666c·6167·2c20·656e·6450·6f73·202d·2070··flag,·endPos·-·p
000015c0:·202d·2070·6f73·2c20·7472·7565·5d3b·0a7d···-·pos,·true];.}000015b0:·6f73·2c20·7472·7565·5d3b·0a7d·3b0a·2f2f··os,·true];.};.//
000015d0:·3b0a·2f2f·2320·736f·7572·6365·4d61·7070··;.//#·sourceMapp000015c0:·2320·736f·7572·6365·4d61·7070·696e·6755··#·sourceMappingU
000015e0:·696e·6755·524c·3d62·7261·6365·2d65·7870··ingURL=brace-exp000015d0:·524c·3d62·7261·6365·2d65·7870·7265·7373··RL=brace-express
000015f0:·7265·7373·696f·6e73·2e6a·732e·6d61·70····ressions.js.map000015e0:·696f·6e73·2e6a·732e·6d61·70··············ions.js.map
20.8 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/brace-expressions.js.map
20.6 KB
Pretty-printed
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 {1 {
2 ····"file":·"brace-expressions.js",2 ····"file":·"brace-expressions.js",
3 ····"mappings":·"AAAA,wEAAwE;AACxE,wCAAwC;AAExC,8DAA8D;AAC9D,MAAM,YAAY,GAA0D;IAC1E,WAAW,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC;IAC3C,WAAW,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC;IAC7C,WAAW,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;IACjC,WAAW,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;IAC9B,WAAW,EAAE,CAAC,SAAS[·...·truncated·by·diffoscope;·len:·4525,·SHA:·66634506860d89e462eed6655947f0eec3d39c32c675ac95ca05c43d821c97b3·...·],OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,CAAA;AAC1C,CAAC,CAAA",3 ····"mappings":·"AAAA,wEAAwE;AACxE,wCAAwC;AAExC,8DAA8D;AAC9D,MAAM,YAAY,GAChB;IACE,WAAW,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC;IAC3C,WAAW,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC;IAC7C,WAAW,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;IACjC,WAAW,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;IAC9B,WAAW,EAAE,CAAC,SAAS,[·...·truncated·by·diffoscope;·len:·4524,·SHA:·30d835701c552a95a7fbed4f005bfff28f4038d01783817ffd35d65d1d60d0dd·...·],OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,CAAA;AAC1C,CAAC,CAAA",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/brace-expressions.ts"7 ········"../../src/brace-expressions.ts"
8 ····],8 ····],
9 ····"sourcesContent":·[9 ····"sourcesContent":·[
10 ········"//·translate·the·various·posix·character·classes·into·unicode·properties\n//·this·works·across·all·unicode·locales\n\n//·{·<posix·class>:·[<translation>,·/u·flag·required,·negated]\nconst·posixClasses:·{·[k:·string]:·[e:·string,·u:·boolean,·n?:·boolean]·}·=·{\n··'[:alnum:]':·['\\\\p{L}\\\\p{Nl}\\\\p{Nd}',·true],\n··'[:alpha:]':·['\\\\p{L}\\\\p{Nl}',·true],\n··'[:ascii:]':·['\\\\x'·+·'00-\\\\x'·+·'7f',·false],\n··'[:blank:]':·['\\\\p{Zs}\\\\t',·true],\n··'[:cntrl:]':·['\\\\p{Cc}',·true],\n··'[:digit:]':·['\\\[·...·truncated·by·diffoscope;·len:·4898,·SHA:·13a1dfc74d3273d3922499c68d9adc9c371dce365b5f6b03f6a9d6f42d6f20ad·...·]····:·snegs\n\n··return·[comb,·uflag,·endPos·-·pos,·true]\n}\n"10 ········"//·translate·the·various·posix·character·classes·into·unicode·properties\n//·this·works·across·all·unicode·locales\n\n//·{·<posix·class>:·[<translation>,·/u·flag·required,·negated]\nconst·posixClasses:·{·[k:·string]:·[e:·string,·u:·boolean,·n?:·boolean]·}·=\n··{\n····'[:alnum:]':·['\\\\p{L}\\\\p{Nl}\\\\p{Nd}',·true],\n····'[:alpha:]':·['\\\\p{L}\\\\p{Nl}',·true],\n····'[:ascii:]':·['\\\\x'·+·'00-\\\\x'·+·'7f',·false],\n····'[:blank:]':·['\\\\p{Zs}\\\\t',·true],\n····'[:cntrl:]':·['\\\\p{Cc}',·true],\n····'[:[·...·truncated·by·diffoscope;·len:·4909,·SHA:·c54fbd093a03e50b1156577f01ca078c2ac52f0cbcaa02a2ccf5b582d7da406b·...·]····:·snegs\n\n··return·[comb,·uflag,·endPos·-·pos,·true]\n}\n"
11 ····],11 ····],
12 ····"version":·312 ····"version":·3
13 }13 }
2.05 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/escape.js
'js-beautify' not available in path. Falling back to binary comparison.
    
Offset 48, 24 lines modifiedOffset 48, 24 lines modified
000002f0:·2020·2020·2f2f·2062·6563·6175·7365·205b······//·because·[000002f0:·2020·2020·2f2f·2062·6563·6175·7365·205b······//·because·[
00000300:·215d·5d20·6973·2061·2076·616c·6964·2067··!]]·is·a·valid·g00000300:·215d·5d20·6973·2061·2076·616c·6964·2067··!]]·is·a·valid·g
00000310:·6c6f·6220·636c·6173·7320·6d65·616e·696e··lob·class·meanin00000310:·6c6f·6220·636c·6173·7320·6d65·616e·696e··lob·class·meanin
00000320:·6720·6e6f·7420·275d·272e·0a20·2020·2069··g·not·']'..····i00000320:·6720·6e6f·7420·275d·272e·0a20·2020·2069··g·not·']'..····i
00000330:·6620·286d·6167·6963·616c·4272·6163·6573··f·(magicalBraces00000330:·6620·286d·6167·6963·616c·4272·6163·6573··f·(magicalBraces
00000340:·2920·7b0a·2020·2020·2020·2020·7265·7475··)·{.········retu00000340:·2920·7b0a·2020·2020·2020·2020·7265·7475··)·{.········retu
00000350:·726e·2077·696e·646f·7773·5061·7468·734e··rn·windowsPathsN00000350:·726e·2077·696e·646f·7773·5061·7468·734e··rn·windowsPathsN
00000360:·6f45·7363·6170·650a·2020·2020·2020·2020··oEscape.········00000360:·6f45·7363·6170·6520·3f0a·2020·2020·2020··oEscape·?.······
00000370:·2020·2020·3f20·732e·7265·706c·6163·6528······?·s.replace(00000370:·2020·2020·2020·732e·7265·706c·6163·6528········s.replace(
00000380:·2f5b·3f2a·2829·5b5c·5d7b·7d5d·2f67·2c20··/[?*()[\]{}]/g,·00000380:·2f5b·3f2a·2829·5b5c·5d7b·7d5d·2f67·2c20··/[?*()[\]{}]/g,·
00000390:·275b·2426·5d27·290a·2020·2020·2020·2020··'[$&]').········00000390:·275b·2426·5d27·290a·2020·2020·2020·2020··'[$&]').········
000003a0:·2020·2020·3a20·732e·7265·706c·6163·6528······:·s.replace(000003a0:·2020·2020·3a20·732e·7265·706c·6163·6528······:·s.replace(
000003b0:·2f5b·3f2a·2829·5b5c·5d5c·5c7b·7d5d·2f67··/[?*()[\]\\{}]/g000003b0:·2f5b·3f2a·2829·5b5c·5d5c·5c7b·7d5d·2f67··/[?*()[\]\\{}]/g
000003c0:·2c20·275c·5c24·2627·293b·0a20·2020·207d··,·'\\$&');.····}000003c0:·2c20·275c·5c24·2627·293b·0a20·2020·207d··,·'\\$&');.····}
000003d0:·0a20·2020·2072·6574·7572·6e20·7769·6e64··.····return·wind000003d0:·0a20·2020·2072·6574·7572·6e20·7769·6e64··.····return·wind
000003e0:·6f77·7350·6174·6873·4e6f·4573·6361·7065··owsPathsNoEscape000003e0:·6f77·7350·6174·6873·4e6f·4573·6361·7065··owsPathsNoEscape
000003f0:·0a20·2020·2020·2020·203f·2073·2e72·6570··.········?·s.rep000003f0:·203f·0a20·2020·2020·2020·2073·2e72·6570···?.········s.rep
00000400:·6c61·6365·282f·5b3f·2a28·295b·5c5d·5d2f··lace(/[?*()[\]]/00000400:·6c61·6365·282f·5b3f·2a28·295b·5c5d·5d2f··lace(/[?*()[\]]/
00000410:·672c·2027·5b24·265d·2729·0a20·2020·2020··g,·'[$&]').·····00000410:·672c·2027·5b24·265d·2729·0a20·2020·2020··g,·'[$&]').·····
00000420:·2020·203a·2073·2e72·6570·6c61·6365·282f·····:·s.replace(/00000420:·2020·203a·2073·2e72·6570·6c61·6365·282f·····:·s.replace(/
00000430:·5b3f·2a28·295b·5c5d·5c5c·5d2f·672c·2027··[?*()[\]\\]/g,·'00000430:·5b3f·2a28·295b·5c5d·5c5c·5d2f·672c·2027··[?*()[\]\\]/g,·'
00000440:·5c5c·2426·2729·3b0a·7d3b·0a2f·2f23·2073··\\$&');.};.//#·s00000440:·5c5c·2426·2729·3b0a·7d3b·0a2f·2f23·2073··\\$&');.};.//#·s
00000450:·6f75·7263·654d·6170·7069·6e67·5552·4c3d··ourceMappingURL=00000450:·6f75·7263·654d·6170·7069·6e67·5552·4c3d··ourceMappingURL=
00000460:·6573·6361·7065·2e6a·732e·6d61·70·········escape.js.map00000460:·6573·6361·7065·2e6a·732e·6d61·70·········escape.js.map
3.83 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/escape.js.map
3.68 KB
Pretty-printed
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 {1 {
2 ····"file":·"escape.js",2 ····"file":·"escape.js",
3 ····"mappings":·"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,CAAS,EACT,EACE,oBAAoB,GAAG,KAAK,EAC5B,aAAa,GAAG,KAAK,MAC+C,EAAE,EACxE,EAAE;IACF,wDAAwD;IACxD,4DAA4D;IAC5D,sDAAsD;IACtD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,oBAAoB;YACzB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;YACnC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,oBAAoB;QACzB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;AACvC,CAAC,CAAA",3 ····"mappings":·"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,CAAS,EACT,EACE,oBAAoB,GAAG,KAAK,EAC5B,aAAa,GAAG,KAAK,MAC+C,EAAE,EACxE,EAAE;IACF,wDAAwD;IACxD,4DAA4D;IAC5D,sDAAsD;IACtD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,oBAAoB,CAAC,CAAC;YACzB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;YACnC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,oBAAoB,CAAC,CAAC;QACzB,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;AACvC,CAAC,CAAA",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/escape.ts"7 ········"../../src/escape.ts"
8 ····],8 ····],
9 ····"sourcesContent":·[9 ····"sourcesContent":·[
10 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Escape·all·magic·characters·in·a·glob·pattern.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}\n·*·option·is·used,·then·characters·are·escaped·by·wrapping·in·`[]`,·because\n·*·a·magic·character·wrapped·in·a·character·class·can·only·be·satisfied·by\n·*·that·exact·character.··In·this·mode,·`\\`·is·_not_·escaped,·because·it·is\n·*·not·interpreted·as·a·magic·character,·but·instead·as·a·path·separator.\n·*\n·*·If·the·{@link·MinimatchOptions.magicalBraces}·option·is·used,\n·*·then·braces·(`{`·and·`}`)·will·be·escaped.\n·*/\nexport·const·escape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·false,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··//·don't·need·to·escape·+@!·because·we·escape·the·parens\n··//·that·make·those·magic,·and·escaping·!·as·[!]·isn't·valid,\n··//·because·[!]]·is·a·valid·glob·class·meaning·not·']'.\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape\n······?·s.replace(/[?*()[\\]{}]/g,·'[$&]')\n······:·s.replace(/[?*()[\\]\\\\{}]/g,·'\\\\$&')\n··}\n··return·windowsPathsNoEscape\n····?·s.replace(/[?*()[\\]]/g,·'[$&]')\n····:·s.replace(/[?*()[\\]\\\\]/g,·'\\\\$&')\n}\n"10 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Escape·all·magic·characters·in·a·glob·pattern.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}\n·*·option·is·used,·then·characters·are·escaped·by·wrapping·in·`[]`,·because\n·*·a·magic·character·wrapped·in·a·character·class·can·only·be·satisfied·by\n·*·that·exact·character.··In·this·mode,·`\\`·is·_not_·escaped,·because·it·is\n·*·not·interpreted·as·a·magic·character,·but·instead·as·a·path·separator.\n·*\n·*·If·the·{@link·MinimatchOptions.magicalBraces}·option·is·used,\n·*·then·braces·(`{`·and·`}`)·will·be·escaped.\n·*/\nexport·const·escape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·false,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··//·don't·need·to·escape·+@!·because·we·escape·the·parens\n··//·that·make·those·magic,·and·escaping·!·as·[!]·isn't·valid,\n··//·because·[!]]·is·a·valid·glob·class·meaning·not·']'.\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape·?\n········s.replace(/[?*()[\\]{}]/g,·'[$&]')\n······:·s.replace(/[?*()[\\]\\\\{}]/g,·'\\\\$&')\n··}\n··return·windowsPathsNoEscape·?\n······s.replace(/[?*()[\\]]/g,·'[$&]')\n····:·s.replace(/[?*()[\\]\\\\]/g,·'\\\\$&')\n}\n"
11 ····],11 ····],
12 ····"version":·312 ····"version":·3
13 }13 }
3.34 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/index.d.ts
    
Offset 1, 30 lines modifiedOffset 1, 80 lines modified
1 import·{·AST·}·from·'./ast.js';1 import·{·AST·}·from·'./ast.js';
2 export·type·Platform·=·'aix'·|·'android'·|·'darwin'·|·'freebsd'·|·'haiku'·|·'linux'·|·'openbsd'·|·'sunos'·|·'win32'·|·'cygwin'·|·'netbsd';2 export·type·Platform·=·'aix'·|·'android'·|·'darwin'·|·'freebsd'·|·'haiku'·|·'linux'·|·'openbsd'·|·'sunos'·|·'win32'·|·'cygwin'·|·'netbsd';
3 export·interface·MinimatchOptions·{3 export·interface·MinimatchOptions·{
 4 ····/**·do·not·expand·`{x,y}`·style·braces·*/
4 ····nobrace?:·boolean;5 ····nobrace?:·boolean;
 6 ····/**·do·not·treat·patterns·starting·with·`#`·as·a·comment·*/
5 ····nocomment?:·boolean;7 ····nocomment?:·boolean;
 8 ····/**·do·not·treat·patterns·starting·with·`!`·as·a·negation·*/
6 ····nonegate?:·boolean;9 ····nonegate?:·boolean;
 10 ····/**·print·LOTS·of·debugging·output·*/
7 ····debug?:·boolean;11 ····debug?:·boolean;
 12 ····/**·treat·`**`·the·same·as·`*`·*/
8 ····noglobstar?:·boolean;13 ····noglobstar?:·boolean;
 14 ····/**·do·not·expand·extglobs·like·`+(a|b)`·*/
9 ····noext?:·boolean;15 ····noext?:·boolean;
 16 ····/**·return·the·pattern·if·nothing·matches·*/
10 ····nonull?:·boolean;17 ····nonull?:·boolean;
 18 ····/**·treat·`\\`·as·a·path·separator,·not·an·escape·character·*/
11 ····windowsPathsNoEscape?:·boolean;19 ····windowsPathsNoEscape?:·boolean;
 20 ····/**
 21 ·····*·inverse·of·{@link·MinimatchOptions.windowsPathsNoEscape}
 22 ·····*·@deprecated
 23 ·····*/
12 ····allowWindowsEscape?:·boolean;24 ····allowWindowsEscape?:·boolean;
 25 ····/**
 26 ·····*·Compare·a·partial·path·to·a·pattern.·As·long·as·the·parts
 27 ·····*·of·the·path·that·are·present·are·not·contradicted·by·the
 28 ·····*·pattern,·it·will·be·treated·as·a·match.·This·is·useful·in
 29 ·····*·applications·where·you're·walking·through·a·folder·structure,
 30 ·····*·and·don't·yet·have·the·full·path,·but·want·to·ensure·that·you
 31 ·····*·do·not·walk·down·paths·that·can·never·be·a·match.
 32 ·····*/
13 ····partial?:·boolean;33 ····partial?:·boolean;
 34 ····/**·allow·matches·that·start·with·`.`·even·if·the·pattern·does·not·*/
14 ····dot?:·boolean;35 ····dot?:·boolean;
 36 ····/**·ignore·case·*/
15 ····nocase?:·boolean;37 ····nocase?:·boolean;
 38 ····/**·ignore·case·only·in·wildcard·patterns·*/
16 ····nocaseMagicOnly?:·boolean;39 ····nocaseMagicOnly?:·boolean;
 40 ····/**·consider·braces·to·be·"magic"·for·the·purpose·of·`hasMagic`·*/
17 ····magicalBraces?:·boolean;41 ····magicalBraces?:·boolean;
 42 ····/**
 43 ·····*·If·set,·then·patterns·without·slashes·will·be·matched
 44 ·····*·against·the·basename·of·the·path·if·it·contains·slashes.
 45 ·····*·For·example,·`a?b`·would·match·the·path·`/xyz/123/acb`,·but
 46 ·····*·not·`/xyz/acb/123`.
 47 ·····*/
18 ····matchBase?:·boolean;48 ····matchBase?:·boolean;
 49 ····/**·invert·the·results·of·negated·matches·*/
19 ····flipNegate?:·boolean;50 ····flipNegate?:·boolean;
 51 ····/**·do·not·collapse·multiple·`/`·into·a·single·`/`·*/
20 ····preserveMultipleSlashes?:·boolean;52 ····preserveMultipleSlashes?:·boolean;
 53 ····/**
 54 ·····*·A·number·indicating·the·level·of·optimization·that·should·be·done
 55 ·····*·to·the·pattern·prior·to·parsing·and·using·it·for·matches.
 56 ·····*/
21 ····optimizationLevel?:·number;57 ····optimizationLevel?:·number;
 58 ····/**·operating·system·platform·*/
22 ····platform?:·Platform;59 ····platform?:·Platform;
 60 ····/**
 61 ·····*·When·a·pattern·starts·with·a·UNC·path·or·drive·letter,·and·in
 62 ·····*·`nocase:true`·mode,·do·not·convert·the·root·portions·of·the
 63 ·····*·pattern·into·a·case-insensitive·regular·expression,·and·instead
 64 ·····*·leave·them·as·strings.
 65 ·····*
 66 ·····*·This·is·the·default·when·the·platform·is·`win32`·and
 67 ·····*·`nocase:true`·is·set.
 68 ·····*/
23 ····windowsNoMagicRoot?:·boolean;69 ····windowsNoMagicRoot?:·boolean;
 70 ····/**
 71 ·····*·max·number·of·`{...}`·patterns·to·expand.·Default·100_000.
 72 ·····*/
 73 ····braceExpandMax?:·number;
24 }74 }
25 export·declare·const·minimatch:·{75 export·declare·const·minimatch:·{
26 ····(p:·string,·pattern:·string,·options?:·MinimatchOptions):·boolean;76 ····(p:·string,·pattern:·string,·options?:·MinimatchOptions):·boolean;
27 ····sep:·Sep;77 ····sep:·Sep;
28 ····GLOBSTAR:·typeof·GLOBSTAR;78 ····GLOBSTAR:·typeof·GLOBSTAR;
29 ····filter:·(pattern:·string,·options?:·MinimatchOptions)·=>·(p:·string)·=>·boolean;79 ····filter:·(pattern:·string,·options?:·MinimatchOptions)·=>·(p:·string)·=>·boolean;
30 ····defaults:·(def:·MinimatchOptions)·=>·typeof·minimatch;80 ····defaults:·(def:·MinimatchOptions)·=>·typeof·minimatch;
6.87 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/index.d.ts.map
6.72 KB
Pretty-printed
    
Offset 1, 10 lines modifiedOffset 1, 10 lines modified
1 {1 {
2 ····"file":·"index.d.ts",2 ····"file":·"index.d.ts",
3 ····"mappings":·"AAEA,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAA;AAI3C,MAAM,MAAM,QAAQ,GAChB,KAAK,GACL,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,CAAA;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,C[·...·truncated·by·diffoscope;·len:·2462,·SHA:·4147bff405dab53d48a13ff5d65d1e281090cb678ec9792beca50965b55a5b1e·...·]GN,UAAU,CAAC,CAAC,EAAE,MAAM;IAepB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,UAAe;IAiEvC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB;CAGtC;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA",3 ····"mappings":·"AAEA,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAA;AAI3C,MAAM,MAAM,QAAQ,GAChB,KAAK,GACL,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,CAAA;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAA[·...·truncated·by·diffoscope;·len:·2771,·SHA:·40d0d2c5dd89ab309d65ffe3372fec6c8701cb0fb1c7065959496b53cc54726d·...·]GN,UAAU,CAAC,CAAC,EAAE,MAAM;IAepB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,UAAe;IAiEvC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB;CAGtC;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/index.ts"7 ········"../../src/index.ts"
8 ····],8 ····],
9 ····"version":·39 ····"version":·3
10 }10 }
336 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/index.js
'js-beautify' not available in path. Falling back to binary comparison.
    
Offset 1, 2493 lines modifiedOffset 1, 2505 lines modified
Diff chunk too large, falling back to line-by-line diff (955 lines added, 955 lines removed)
00000000:·696d·706f·7274·207b·2065·7870·616e·6420··import·{·expand·00000000:·696d·706f·7274·207b·2065·7870·616e·6420··import·{·expand·
00000010:·7d20·6672·6f6d·2027·4069·7361·6163·732f··}·from·'@isaacs/00000010:·7d20·6672·6f6d·2027·6272·6163·652d·6578··}·from·'brace-ex
00000020:·6272·6163·652d·6578·7061·6e73·696f·6e27··brace-expansion'00000020:·7061·6e73·696f·6e27·3b0a·696d·706f·7274··pansion';.import
00000030:·3b0a·696d·706f·7274·207b·2061·7373·6572··;.import·{·asser00000030:·207b·2061·7373·6572·7456·616c·6964·5061···{·assertValidPa
00000040:·7456·616c·6964·5061·7474·6572·6e20·7d20··tValidPattern·}·00000040:·7474·6572·6e20·7d20·6672·6f6d·2027·2e2f··ttern·}·from·'./
00000050:·6672·6f6d·2027·2e2f·6173·7365·7274·2d76··from·'./assert-v00000050:·6173·7365·7274·2d76·616c·6964·2d70·6174··assert-valid-pat
00000060:·616c·6964·2d70·6174·7465·726e·2e6a·7327··alid-pattern.js'00000060:·7465·726e·2e6a·7327·3b0a·696d·706f·7274··tern.js';.import
00000070:·3b0a·696d·706f·7274·207b·2041·5354·207d··;.import·{·AST·}00000070:·207b·2041·5354·207d·2066·726f·6d20·272e···{·AST·}·from·'.
00000080:·2066·726f·6d20·272e·2f61·7374·2e6a·7327···from·'./ast.js'00000080:·2f61·7374·2e6a·7327·3b0a·696d·706f·7274··/ast.js';.import
00000090:·3b0a·696d·706f·7274·207b·2065·7363·6170··;.import·{·escap00000090:·207b·2065·7363·6170·6520·7d20·6672·6f6d···{·escape·}·from
000000a0:·6520·7d20·6672·6f6d·2027·2e2f·6573·6361··e·}·from·'./esca000000a0:·2027·2e2f·6573·6361·7065·2e6a·7327·3b0a···'./escape.js';.
000000b0:·7065·2e6a·7327·3b0a·696d·706f·7274·207b··pe.js';.import·{000000b0:·696d·706f·7274·207b·2075·6e65·7363·6170··import·{·unescap
000000c0:·2075·6e65·7363·6170·6520·7d20·6672·6f6d···unescape·}·from000000c0:·6520·7d20·6672·6f6d·2027·2e2f·756e·6573··e·}·from·'./unes
000000d0:·2027·2e2f·756e·6573·6361·7065·2e6a·7327···'./unescape.js'000000d0:·6361·7065·2e6a·7327·3b0a·6578·706f·7274··cape.js';.export
000000e0:·3b0a·6578·706f·7274·2063·6f6e·7374·206d··;.export·const·m000000e0:·2063·6f6e·7374·206d·696e·696d·6174·6368···const·minimatch
000000f0:·696e·696d·6174·6368·203d·2028·702c·2070··inimatch·=·(p,·p000000f0:·203d·2028·702c·2070·6174·7465·726e·2c20···=·(p,·pattern,·
00000100:·6174·7465·726e·2c20·6f70·7469·6f6e·7320··attern,·options·00000100:·6f70·7469·6f6e·7320·3d20·7b7d·2920·3d3e··options·=·{})·=>
00000110:·3d20·7b7d·2920·3d3e·207b·0a20·2020·2061··=·{})·=>·{.····a00000110:·207b·0a20·2020·2061·7373·6572·7456·616c···{.····assertVal
00000120:·7373·6572·7456·616c·6964·5061·7474·6572··ssertValidPatter00000120:·6964·5061·7474·6572·6e28·7061·7474·6572··idPattern(patter
00000130:·6e28·7061·7474·6572·6e29·3b0a·2020·2020··n(pattern);.····00000130:·6e29·3b0a·2020·2020·2f2f·2073·686f·7274··n);.····//·short
00000140:·2f2f·2073·686f·7274·6375·743a·2063·6f6d··//·shortcut:·com00000140:·6375·743a·2063·6f6d·6d65·6e74·7320·6d61··cut:·comments·ma
00000150:·6d65·6e74·7320·6d61·7463·6820·6e6f·7468··ments·match·noth00000150:·7463·6820·6e6f·7468·696e·672e·0a20·2020··tch·nothing..···
00000160:·696e·672e·0a20·2020·2069·6620·2821·6f70··ing..····if·(!op00000160:·2069·6620·2821·6f70·7469·6f6e·732e·6e6f···if·(!options.no
00000170:·7469·6f6e·732e·6e6f·636f·6d6d·656e·7420··tions.nocomment·00000170:·636f·6d6d·656e·7420·2626·2070·6174·7465··comment·&&·patte
00000180:·2626·2070·6174·7465·726e·2e63·6861·7241··&&·pattern.charA00000180:·726e·2e63·6861·7241·7428·3029·203d·3d3d··rn.charAt(0)·===
00000190:·7428·3029·203d·3d3d·2027·2327·2920·7b0a··t(0)·===·'#')·{.00000190:·2027·2327·2920·7b0a·2020·2020·2020·2020···'#')·{.········
000001a0:·2020·2020·2020·2020·7265·7475·726e·2066··········return·f000001a0:·7265·7475·726e·2066·616c·7365·3b0a·2020··return·false;.··
000001b0:·616c·7365·3b0a·2020·2020·7d0a·2020·2020··alse;.····}.····000001b0:·2020·7d0a·2020·2020·7265·7475·726e·206e····}.····return·n
000001c0:·7265·7475·726e·206e·6577·204d·696e·696d··return·new·Minim000001c0:·6577·204d·696e·696d·6174·6368·2870·6174··ew·Minimatch(pat
000001d0:·6174·6368·2870·6174·7465·726e·2c20·6f70··atch(pattern,·op000001d0:·7465·726e·2c20·6f70·7469·6f6e·7329·2e6d··tern,·options).m
000001e0:·7469·6f6e·7329·2e6d·6174·6368·2870·293b··tions).match(p);000001e0:·6174·6368·2870·293b·0a7d·3b0a·2f2f·204f··atch(p);.};.//·O
000001f0:·0a7d·3b0a·2f2f·204f·7074·696d·697a·6564··.};.//·Optimized000001f0:·7074·696d·697a·6564·2063·6865·636b·696e··ptimized·checkin
00000200:·2063·6865·636b·696e·6720·666f·7220·7468···checking·for·th00000200:·6720·666f·7220·7468·6520·6d6f·7374·2063··g·for·the·most·c
00000210:·6520·6d6f·7374·2063·6f6d·6d6f·6e20·676c··e·most·common·gl00000210:·6f6d·6d6f·6e20·676c·6f62·2070·6174·7465··ommon·glob·patte
00000220:·6f62·2070·6174·7465·726e·732e·0a63·6f6e··ob·patterns..con00000220:·726e·732e·0a63·6f6e·7374·2073·7461·7244··rns..const·starD
00000230:·7374·2073·7461·7244·6f74·4578·7452·4520··st·starDotExtRE·00000230:·6f74·4578·7452·4520·3d20·2f5e·5c2a·2b28··otExtRE·=·/^\*+(
00000240:·3d20·2f5e·5c2a·2b28·5b5e·2b40·213f·5c2a··=·/^\*+([^+@!?\*00000240:·5b5e·2b40·213f·5c2a·5c5b·5c28·5d2a·2924··[^+@!?\*\[\(]*)$
00000250:·5c5b·5c28·5d2a·2924·2f3b·0a63·6f6e·7374··\[\(]*)$/;.const00000250:·2f3b·0a63·6f6e·7374·2073·7461·7244·6f74··/;.const·starDot
00000260:·2073·7461·7244·6f74·4578·7454·6573·7420···starDotExtTest·00000260:·4578·7454·6573·7420·3d20·2865·7874·2920··ExtTest·=·(ext)·
00000270:·3d20·2865·7874·2920·3d3e·2028·6629·203d··=·(ext)·=>·(f)·=00000270:·3d3e·2028·6629·203d·3e20·2166·2e73·7461··=>·(f)·=>·!f.sta
00000280:·3e20·2166·2e73·7461·7274·7357·6974·6828··>·!f.startsWith(00000280:·7274·7357·6974·6828·272e·2729·2026·2620··rtsWith('.')·&&·
00000290:·272e·2729·2026·2620·662e·656e·6473·5769··'.')·&&·f.endsWi00000290:·662e·656e·6473·5769·7468·2865·7874·293b··f.endsWith(ext);
000002a0:·7468·2865·7874·293b·0a63·6f6e·7374·2073··th(ext);.const·s000002a0:·0a63·6f6e·7374·2073·7461·7244·6f74·4578··.const·starDotEx
000002b0:·7461·7244·6f74·4578·7454·6573·7444·6f74··tarDotExtTestDot000002b0:·7454·6573·7444·6f74·203d·2028·6578·7429··tTestDot·=·(ext)
000002c0:·203d·2028·6578·7429·203d·3e20·2866·2920···=·(ext)·=>·(f)·000002c0:·203d·3e20·2866·2920·3d3e·2066·2e65·6e64···=>·(f)·=>·f.end
000002d0:·3d3e·2066·2e65·6e64·7357·6974·6828·6578··=>·f.endsWith(ex000002d0:·7357·6974·6828·6578·7429·3b0a·636f·6e73··sWith(ext);.cons
000002e0:·7429·3b0a·636f·6e73·7420·7374·6172·446f··t);.const·starDo000002e0:·7420·7374·6172·446f·7445·7874·5465·7374··t·starDotExtTest
000002f0:·7445·7874·5465·7374·4e6f·6361·7365·203d··tExtTestNocase·=000002f0:·4e6f·6361·7365·203d·2028·6578·7429·203d··Nocase·=·(ext)·=
00000300:·2028·6578·7429·203d·3e20·7b0a·2020·2020···(ext)·=>·{.····00000300:·3e20·7b0a·2020·2020·6578·7420·3d20·6578··>·{.····ext·=·ex
00000310:·6578·7420·3d20·6578·742e·746f·4c6f·7765··ext·=·ext.toLowe00000310:·742e·746f·4c6f·7765·7243·6173·6528·293b··t.toLowerCase();
00000320:·7243·6173·6528·293b·0a20·2020·2072·6574··rCase();.····ret00000320:·0a20·2020·2072·6574·7572·6e20·2866·2920··.····return·(f)·
00000330:·7572·6e20·2866·2920·3d3e·2021·662e·7374··urn·(f)·=>·!f.st00000330:·3d3e·2021·662e·7374·6172·7473·5769·7468··=>·!f.startsWith
00000340:·6172·7473·5769·7468·2827·2e27·2920·2626··artsWith('.')·&&00000340:·2827·2e27·2920·2626·2066·2e74·6f4c·6f77··('.')·&&·f.toLow
00000350:·2066·2e74·6f4c·6f77·6572·4361·7365·2829···f.toLowerCase()00000350:·6572·4361·7365·2829·2e65·6e64·7357·6974··erCase().endsWit
00000360:·2e65·6e64·7357·6974·6828·6578·7429·3b0a··.endsWith(ext);.00000360:·6828·6578·7429·3b0a·7d3b·0a63·6f6e·7374··h(ext);.};.const
00000370:·7d3b·0a63·6f6e·7374·2073·7461·7244·6f74··};.const·starDot00000370:·2073·7461·7244·6f74·4578·7454·6573·744e···starDotExtTestN
00000380:·4578·7454·6573·744e·6f63·6173·6544·6f74··ExtTestNocaseDot00000380:·6f63·6173·6544·6f74·203d·2028·6578·7429··ocaseDot·=·(ext)
00000390:·203d·2028·6578·7429·203d·3e20·7b0a·2020···=·(ext)·=>·{.··00000390:·203d·3e20·7b0a·2020·2020·6578·7420·3d20···=>·{.····ext·=·
000003a0:·2020·6578·7420·3d20·6578·742e·746f·4c6f····ext·=·ext.toLo000003a0:·6578·742e·746f·4c6f·7765·7243·6173·6528··ext.toLowerCase(
000003b0:·7765·7243·6173·6528·293b·0a20·2020·2072··werCase();.····r000003b0:·293b·0a20·2020·2072·6574·7572·6e20·2866··);.····return·(f
000003c0:·6574·7572·6e20·2866·2920·3d3e·2066·2e74··eturn·(f)·=>·f.t000003c0:·2920·3d3e·2066·2e74·6f4c·6f77·6572·4361··)·=>·f.toLowerCa
000003d0:·6f4c·6f77·6572·4361·7365·2829·2e65·6e64··oLowerCase().end000003d0:·7365·2829·2e65·6e64·7357·6974·6828·6578··se().endsWith(ex
000003e0:·7357·6974·6828·6578·7429·3b0a·7d3b·0a63··sWith(ext);.};.c000003e0:·7429·3b0a·7d3b·0a63·6f6e·7374·2073·7461··t);.};.const·sta
000003f0:·6f6e·7374·2073·7461·7244·6f74·5374·6172··onst·starDotStar000003f0:·7244·6f74·5374·6172·5245·203d·202f·5e5c··rDotStarRE·=·/^\
00000400:·5245·203d·202f·5e5c·2a2b·5c2e·5c2a·2b24··RE·=·/^\*+\.\*+$00000400:·2a2b·5c2e·5c2a·2b24·2f3b·0a63·6f6e·7374··*+\.\*+$/;.const
00000410:·2f3b·0a63·6f6e·7374·2073·7461·7244·6f74··/;.const·starDot00000410:·2073·7461·7244·6f74·5374·6172·5465·7374···starDotStarTest
00000420:·5374·6172·5465·7374·203d·2028·6629·203d··StarTest·=·(f)·=00000420:·203d·2028·6629·203d·3e20·2166·2e73·7461···=·(f)·=>·!f.sta
00000430:·3e20·2166·2e73·7461·7274·7357·6974·6828··>·!f.startsWith(00000430:·7274·7357·6974·6828·272e·2729·2026·2620··rtsWith('.')·&&·
00000440:·272e·2729·2026·2620·662e·696e·636c·7564··'.')·&&·f.includ00000440:·662e·696e·636c·7564·6573·2827·2e27·293b··f.includes('.');
00000450:·6573·2827·2e27·293b·0a63·6f6e·7374·2073··es('.');.const·s00000450:·0a63·6f6e·7374·2073·7461·7244·6f74·5374··.const·starDotSt
00000460:·7461·7244·6f74·5374·6172·5465·7374·446f··tarDotStarTestDo00000460:·6172·5465·7374·446f·7420·3d20·2866·2920··arTestDot·=·(f)·
00000470:·7420·3d20·2866·2920·3d3e·2066·2021·3d3d··t·=·(f)·=>·f·!==00000470:·3d3e·2066·2021·3d3d·2027·2e27·2026·2620··=>·f·!==·'.'·&&·
00000480:·2027·2e27·2026·2620·6620·213d·3d20·272e···'.'·&&·f·!==·'.00000480:·6620·213d·3d20·272e·2e27·2026·2620·662e··f·!==·'..'·&&·f.
00000490:·2e27·2026·2620·662e·696e·636c·7564·6573··.'·&&·f.includes00000490:·696e·636c·7564·6573·2827·2e27·293b·0a63··includes('.');.c
000004a0:·2827·2e27·293b·0a63·6f6e·7374·2064·6f74··('.');.const·dot000004a0:·6f6e·7374·2064·6f74·5374·6172·5245·203d··onst·dotStarRE·=
000004b0:·5374·6172·5245·203d·202f·5e5c·2e5c·2a2b··StarRE·=·/^\.\*+000004b0:·202f·5e5c·2e5c·2a2b·242f·3b0a·636f·6e73···/^\.\*+$/;.cons
000004c0:·242f·3b0a·636f·6e73·7420·646f·7453·7461··$/;.const·dotSta000004c0:·7420·646f·7453·7461·7254·6573·7420·3d20··t·dotStarTest·=·
000004d0:·7254·6573·7420·3d20·2866·2920·3d3e·2066··rTest·=·(f)·=>·f000004d0:·2866·2920·3d3e·2066·2021·3d3d·2027·2e27··(f)·=>·f·!==·'.'
000004e0:·2021·3d3d·2027·2e27·2026·2620·6620·213d···!==·'.'·&&·f·!=000004e0:·2026·2620·6620·213d·3d20·272e·2e27·2026···&&·f·!==·'..'·&
000004f0:·3d20·272e·2e27·2026·2620·662e·7374·6172··=·'..'·&&·f.star000004f0:·2620·662e·7374·6172·7473·5769·7468·2827··&·f.startsWith('
00000500:·7473·5769·7468·2827·2e27·293b·0a63·6f6e··tsWith('.');.con00000500:·2e27·293b·0a63·6f6e·7374·2073·7461·7252··.');.const·starR
00000510:·7374·2073·7461·7252·4520·3d20·2f5e·5c2a··st·starRE·=·/^\*00000510:·4520·3d20·2f5e·5c2a·2b24·2f3b·0a63·6f6e··E·=·/^\*+$/;.con
00000520:·2b24·2f3b·0a63·6f6e·7374·2073·7461·7254··+$/;.const·starT00000520:·7374·2073·7461·7254·6573·7420·3d20·2866··st·starTest·=·(f
00000530:·6573·7420·3d20·2866·2920·3d3e·2066·2e6c··est·=·(f)·=>·f.l00000530:·2920·3d3e·2066·2e6c·656e·6774·6820·213d··)·=>·f.length·!=
00000540:·656e·6774·6820·213d·3d20·3020·2626·2021··ength·!==·0·&&·!00000540:·3d20·3020·2626·2021·662e·7374·6172·7473··=·0·&&·!f.starts
00000550:·662e·7374·6172·7473·5769·7468·2827·2e27··f.startsWith('.'00000550:·5769·7468·2827·2e27·293b·0a63·6f6e·7374··With('.');.const
00000560:·293b·0a63·6f6e·7374·2073·7461·7254·6573··);.const·starTes00000560:·2073·7461·7254·6573·7444·6f74·203d·2028···starTestDot·=·(
00000570:·7444·6f74·203d·2028·6629·203d·3e20·662e··tDot·=·(f)·=>·f.00000570:·6629·203d·3e20·662e·6c65·6e67·7468·2021··f)·=>·f.length·!
00000580:·6c65·6e67·7468·2021·3d3d·2030·2026·2620··length·!==·0·&&·00000580:·3d3d·2030·2026·2620·6620·213d·3d20·272e··==·0·&&·f·!==·'.
00000590:·6620·213d·3d20·272e·2720·2626·2066·2021··f·!==·'.'·&&·f·!00000590:·2720·2626·2066·2021·3d3d·2027·2e2e·273b··'·&&·f·!==·'..';
000005a0:·3d3d·2027·2e2e·273b·0a63·6f6e·7374·2071··==·'..';.const·q000005a0:·0a63·6f6e·7374·2071·6d61·726b·7352·4520··.const·qmarksRE·
000005b0:·6d61·726b·7352·4520·3d20·2f5e·5c3f·2b28··marksRE·=·/^\?+(000005b0:·3d20·2f5e·5c3f·2b28·5b5e·2b40·213f·5c2a··=·/^\?+([^+@!?\*
000005c0:·5b5e·2b40·213f·5c2a·5c5b·5c28·5d2a·293f··[^+@!?\*\[\(]*)?000005c0:·5c5b·5c28·5d2a·293f·242f·3b0a·636f·6e73··\[\(]*)?$/;.cons
000005d0:·242f·3b0a·636f·6e73·7420·716d·6172·6b73··$/;.const·qmarks000005d0:·7420·716d·6172·6b73·5465·7374·4e6f·6361··t·qmarksTestNoca
000005e0:·5465·7374·4e6f·6361·7365·203d·2028·5b24··TestNocase·=·([$000005e0:·7365·203d·2028·5b24·302c·2065·7874·203d··se·=·([$0,·ext·=
000005f0:·302c·2065·7874·203d·2027·275d·2920·3d3e··0,·ext·=·''])·=>000005f0:·2027·275d·2920·3d3e·207b·0a20·2020·2063···''])·=>·{.····c
00000600:·207b·0a20·2020·2063·6f6e·7374·206e·6f65···{.····const·noe00000600:·6f6e·7374·206e·6f65·7874·203d·2071·6d61··onst·noext·=·qma
00000610:·7874·203d·2071·6d61·726b·7354·6573·744e··xt·=·qmarksTestN00000610:·726b·7354·6573·744e·6f45·7874·285b·2430··rksTestNoExt([$0
Max diff block lines reached; 212233/344183 bytes (61.66%) of diff not shown.
148 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/index.js.map
148 KB
Pretty-printed
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 {1 {
2 ····"file":·"index.js",2 ····"file":·"index.js",
3 ····"mappings":·"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAsCxC,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,CAAS,EACT,OAAe,EACf,UAA4B,EAAE,EAC9B,E[·...·truncated·by·diffoscope;·len:·30610,·SHA:·24a81a1fae36622e10e6f5ddb208beb2e262682e23fe812ff6ac8aec15e319a8·...·]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",3 ····"mappings":·"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAwFxC,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,CAAS,EACT,OAAe,EACf,UAA4B,EAAE,EAC9B,E[·...·truncated·by·diffoscope;·len:·30742,·SHA:·a66a519c6b1bce9f67919bfcb700ff737e6ac6a90c62e60ed881301409b1cba9·...·]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",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/index.ts"7 ········"../../src/index.ts"
8 ····],8 ····],
9 ····"sourcesContent":·[9 ····"sourcesContent":·[
10 ········"import·{·expand·}·from·'@isaacs/brace-expansion'\nimport·{·assertValidPattern·}·from·'./assert-valid-pattern.js'\nimport·{·AST,·ExtglobType·}·from·'./ast.js'\nimport·{·escape·}·from·'./escape.js'\nimport·{·unescape·}·from·'./unescape.js'\n\nexport·type·Platform·=\n··|·'aix'\n··|·[·...·truncated·by·diffoscope;·len:·33302,·SHA:·fbe1afcb1dc67843b89cf686da1470b3d1b6cdd1753e8d3bd989e06d87569cfb·...·]\n········})·as·(string·|·typeof·GLOBSTAR)[]\n········pp.forEach((p,·i)·=>·{\n··········const·next·=·pp[i·+·1]\n··········const·prev·=·pp[i·-·1]\n··········if·(p·!==·GLOBSTAR·||·prev·===·GLOBSTAR)·{\n············return\n··········}\n··········if·(prev·===·undefined)·{\n············if·(next·!==·undefined·&&·next·!==·GLOBSTAR)·{\n··············pp[i·+·1]·=·'(?:\\\\/|'·+·twoStar·+·'\\\\/)?'·+·next\n············}·else·{\n··············pp[i]·=·twoStar\n············}\n··········}·else·if·(next·===·undefined)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·')?'\n··········}·else·if·(next·!==·GLOBSTAR)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·'\\\\/)'·+·next\n············pp[i·+·1]·=·GLOBSTAR\n··········}\n········})\n········const·filtered·=·pp.filter(p·=>·p·!==·GLOBSTAR)\n\n········//·For·partial·matches,·we·need·to·make·the·pattern·match\n········//·any·prefix·of·the·full·path.·We·do·this·by·generating\n········//·alternative·patterns·that·match·progressively·longer·prefixes.\n········if·(this.partial·&&·filtered.length·>=·1)·{\n··········const·prefixes:·string[]·=·[]\n··········for·(let·i·=·1;·i·<=·filtered.length;·i++)·{\n············prefixes.push(filtered.slice(0,·i).join('/'))\n··········}\n··········return·'(?:'·+·prefixes.join('|')·+·')'\n········}\n\n········return·filtered.join('/')\n······})\n······.join('|')\n\n····//·need·to·wrap·in·parens·if·we·had·more·than·one·thing·with·|,\n····//·otherwise·only·the·first·will·be·anchored·to·^·and·the·last·to·$\n····const·[open,·close]·=·set.length·>·1·?·['(?:',·')']·:·['',·'']\n····//·must·match·entire·pattern\n····//·ending·in·a·*·or·**·will·make·it·less·strict.\n····re·=·'^'·+·open·+·re·+·close·+·'$'\n\n····//·In·partial·mode,·'/'·should·always·match·as·it's·a·valid·prefix·for·any·pattern\n····if·(this.partial)·{\n······re·=·'^(?:\\\\/|'·+·open·+·re.slice(1,·-1)·+·close·+·')$'\n····}\n\n····//·can·match·anything,·as·long·as·it's·not·this.\n····if·(this.negate)·re·=·'^(?!'·+·re·+·').+$'\n\n····try·{\n······this.regexp·=·new·RegExp(re,·[...flags].join(''))\n······/*·c8·ignore·start·*/\n····}·catch·(ex)·{\n······//·should·be·impossible\n······this.regexp·=·false\n····}\n····/*·c8·ignore·stop·*/\n····return·this.regexp\n··}\n\n··slashSplit(p:·string)·{\n····//·if·p·starts·with·//·on·windows,·we·preserve·that\n····//·so·that·UNC·paths·aren't·broken.··Otherwise,·any·number·of\n····//·/·characters·are·coalesced·into·one,·unless\n····//·preserveMultipleSlashes·is·set·to·true.\n····if·(this.preserveMultipleSlashes)·{\n······return·p.split('/')\n····}·else·if·(this.isWindows·&&·/^\\/\\/[^\\/]+/.test(p))·{\n······//·add·an·extra·''·for·the·one·we·lose\n······return·['',·...p.split(/\\/+/)]\n····}·else·{\n······return·p.split(/\\/+/)\n····}\n··}\n\n··match(f:·string,·partial·=·this.partial)·{\n····this.debug('match',·f,·this.pattern)\n····//·short-circuit·in·the·case·of·busted·things.\n····//·comments,·etc.\n····if·(this.comment)·{\n······return·false\n····}\n····if·(this.empty)·{\n······return·f·===·''\n····}\n\n····if·(f·===·'/'·&&·partial)·{\n······return·true\n····}\n\n····const·options·=·this.options\n\n····//·windows:·need·to·use·/,·not·\\\n····if·(this.isWindows)·{\n······f·=·f.split('\\\\').join('/')\n····}\n\n····//·treat·the·test·path·as·a·set·of·pathparts.\n····const·ff·=·this.slashSplit(f)\n····this.debug(this.pattern,·'split',·ff)\n\n····//·just·ONE·of·the·pattern·sets·in·this.set·needs·to·match\n····//·in·order·for·it·to·be·valid.··If·negating,·then·just·one\n····//·match·means·that·we·have·failed.\n····//·Either·way,·return·on·the·first·hit.\n\n····const·set·=·this.set\n····this.debug(this.pattern,·'set',·set)\n\n····//·Find·the·basename·of·the·path·by·looking·for·the·last·non-empty·segment\n····let·filename:·string·=·ff[ff.length·-·1]\n····if·(!filename)·{\n······for·(let·i·=·ff.length·-·2;·!filename·&&·i·>=·0;·i--)·{\n········filename·=·ff[i]\n······}\n····}\n\n····for·(let·i·=·0;·i·<·set.length;·i++)·{\n······const·pattern·=·set[i]\n······let·file·=·ff\n······if·(options.matchBase·&&·pattern.length·===·1)·{\n········file·=·[filename]\n······}\n······const·hit·=·this.matchOne(file,·pattern,·partial)\n······if·(hit)·{\n········if·(options.flipNegate)·{\n··········return·true\n········}\n········return·!this.negate\n······}\n····}\n\n····//·didn't·get·any·hits.··this·is·success·if·it's·a·negative\n····//·pattern,·failure·otherwise.\n····if·(options.flipNegate)·{\n······return·false\n····}\n····return·this.negate\n··}\n\n··static·defaults(def:·MinimatchOptions)·{\n····return·minimatch.defaults(def).Minimatch\n··}\n}\n/*·c8·ignore·start·*/\nexport·{·AST·}·from·'./ast.js'\nexport·{·escape·}·from·'./escape.js'\nexport·{·unescape·}·from·'./unescape.js'\n/*·c8·ignore·stop·*/\nminimatch.AST·=·AST\nminimatch.Minimatch·=·Minimatch\nminimatch.escape·=·escape\nminimatch.unescape·=·unescape\n"10 ········"import·{·expand·}·from·'brace-expansion'\nimport·{·assertValidPattern·}·from·'./assert-valid-pattern.js'\nimport·{·AST,·ExtglobType·}·from·'./ast.js'\nimport·{·escape·}·from·'./escape.js'\nimport·{·unescape·}·from·'./unescape.js'\n\nexport·type·Platform·=\n··|·'aix'\n··|·'android[·...·truncated·by·diffoscope;·len:·35634,·SHA:·088c0bb0c76a1c9de4d12356f21cd67974d7db533a8bc603782b69bda1d27a3e·...·]\n········})·as·(string·|·typeof·GLOBSTAR)[]\n········pp.forEach((p,·i)·=>·{\n··········const·next·=·pp[i·+·1]\n··········const·prev·=·pp[i·-·1]\n··········if·(p·!==·GLOBSTAR·||·prev·===·GLOBSTAR)·{\n············return\n··········}\n··········if·(prev·===·undefined)·{\n············if·(next·!==·undefined·&&·next·!==·GLOBSTAR)·{\n··············pp[i·+·1]·=·'(?:\\\\/|'·+·twoStar·+·'\\\\/)?'·+·next\n············}·else·{\n··············pp[i]·=·twoStar\n············}\n··········}·else·if·(next·===·undefined)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·')?'\n··········}·else·if·(next·!==·GLOBSTAR)·{\n············pp[i·-·1]·=·prev·+·'(?:\\\\/|\\\\/'·+·twoStar·+·'\\\\/)'·+·next\n············pp[i·+·1]·=·GLOBSTAR\n··········}\n········})\n········const·filtered·=·pp.filter(p·=>·p·!==·GLOBSTAR)\n\n········//·For·partial·matches,·we·need·to·make·the·pattern·match\n········//·any·prefix·of·the·full·path.·We·do·this·by·generating\n········//·alternative·patterns·that·match·progressively·longer·prefixes.\n········if·(this.partial·&&·filtered.length·>=·1)·{\n··········const·prefixes:·string[]·=·[]\n··········for·(let·i·=·1;·i·<=·filtered.length;·i++)·{\n············prefixes.push(filtered.slice(0,·i).join('/'))\n··········}\n··········return·'(?:'·+·prefixes.join('|')·+·')'\n········}\n\n········return·filtered.join('/')\n······})\n······.join('|')\n\n····//·need·to·wrap·in·parens·if·we·had·more·than·one·thing·with·|,\n····//·otherwise·only·the·first·will·be·anchored·to·^·and·the·last·to·$\n····const·[open,·close]·=·set.length·>·1·?·['(?:',·')']·:·['',·'']\n····//·must·match·entire·pattern\n····//·ending·in·a·*·or·**·will·make·it·less·strict.\n····re·=·'^'·+·open·+·re·+·close·+·'$'\n\n····//·In·partial·mode,·'/'·should·always·match·as·it's·a·valid·prefix·for·any·pattern\n····if·(this.partial)·{\n······re·=·'^(?:\\\\/|'·+·open·+·re.slice(1,·-1)·+·close·+·')$'\n····}\n\n····//·can·match·anything,·as·long·as·it's·not·this.\n····if·(this.negate)·re·=·'^(?!'·+·re·+·').+$'\n\n····try·{\n······this.regexp·=·new·RegExp(re,·[...flags].join(''))\n······/*·c8·ignore·start·*/\n····}·catch·(ex)·{\n······//·should·be·impossible\n······this.regexp·=·false\n····}\n····/*·c8·ignore·stop·*/\n····return·this.regexp\n··}\n\n··slashSplit(p:·string)·{\n····//·if·p·starts·with·//·on·windows,·we·preserve·that\n····//·so·that·UNC·paths·aren't·broken.··Otherwise,·any·number·of\n····//·/·characters·are·coalesced·into·one,·unless\n····//·preserveMultipleSlashes·is·set·to·true.\n····if·(this.preserveMultipleSlashes)·{\n······return·p.split('/')\n····}·else·if·(this.isWindows·&&·/^\\/\\/[^\\/]+/.test(p))·{\n······//·add·an·extra·''·for·the·one·we·lose\n······return·['',·...p.split(/\\/+/)]\n····}·else·{\n······return·p.split(/\\/+/)\n····}\n··}\n\n··match(f:·string,·partial·=·this.partial)·{\n····this.debug('match',·f,·this.pattern)\n····//·short-circuit·in·the·case·of·busted·things.\n····//·comments,·etc.\n····if·(this.comment)·{\n······return·false\n····}\n····if·(this.empty)·{\n······return·f·===·''\n····}\n\n····if·(f·===·'/'·&&·partial)·{\n······return·true\n····}\n\n····const·options·=·this.options\n\n····//·windows:·need·to·use·/,·not·\\\n····if·(this.isWindows)·{\n······f·=·f.split('\\\\').join('/')\n····}\n\n····//·treat·the·test·path·as·a·set·of·pathparts.\n····const·ff·=·this.slashSplit(f)\n····this.debug(this.pattern,·'split',·ff)\n\n····//·just·ONE·of·the·pattern·sets·in·this.set·needs·to·match\n····//·in·order·for·it·to·be·valid.··If·negating,·then·just·one\n····//·match·means·that·we·have·failed.\n····//·Either·way,·return·on·the·first·hit.\n\n····const·set·=·this.set\n····this.debug(this.pattern,·'set',·set)\n\n····//·Find·the·basename·of·the·path·by·looking·for·the·last·non-empty·segment\n····let·filename:·string·=·ff[ff.length·-·1]\n····if·(!filename)·{\n······for·(let·i·=·ff.length·-·2;·!filename·&&·i·>=·0;·i--)·{\n········filename·=·ff[i]\n······}\n····}\n\n····for·(let·i·=·0;·i·<·set.length;·i++)·{\n······const·pattern·=·set[i]\n······let·file·=·ff\n······if·(options.matchBase·&&·pattern.length·===·1)·{\n········file·=·[filename]\n······}\n······const·hit·=·this.matchOne(file,·pattern,·partial)\n······if·(hit)·{\n········if·(options.flipNegate)·{\n··········return·true\n········}\n········return·!this.negate\n······}\n····}\n\n····//·didn't·get·any·hits.··this·is·success·if·it's·a·negative\n····//·pattern,·failure·otherwise.\n····if·(options.flipNegate)·{\n······return·false\n····}\n····return·this.negate\n··}\n\n··static·defaults(def:·MinimatchOptions)·{\n····return·minimatch.defaults(def).Minimatch\n··}\n}\n/*·c8·ignore·start·*/\nexport·{·AST·}·from·'./ast.js'\nexport·{·escape·}·from·'./escape.js'\nexport·{·unescape·}·from·'./unescape.js'\n/*·c8·ignore·stop·*/\nminimatch.AST·=·AST\nminimatch.Minimatch·=·Minimatch\nminimatch.escape·=·escape\nminimatch.unescape·=·unescape\n"
11 ····],11 ····],
12 ····"version":·312 ····"version":·3
13 }13 }
2.46 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/unescape.js
'js-beautify' not available in path. Falling back to binary comparison.
    
Offset 47, 29 lines modifiedOffset 47, 29 lines modified
000002e0:·646f·7773·5061·7468·734e·6f45·7363·6170··dowsPathsNoEscap000002e0:·646f·7773·5061·7468·734e·6f45·7363·6170··dowsPathsNoEscap
000002f0:·6520·3d20·6661·6c73·652c·206d·6167·6963··e·=·false,·magic000002f0:·6520·3d20·6661·6c73·652c·206d·6167·6963··e·=·false,·magic
00000300:·616c·4272·6163·6573·203d·2074·7275·652c··alBraces·=·true,00000300:·616c·4272·6163·6573·203d·2074·7275·652c··alBraces·=·true,
00000310:·207d·203d·207b·7d29·203d·3e20·7b0a·2020···}·=·{})·=>·{.··00000310:·207d·203d·207b·7d29·203d·3e20·7b0a·2020···}·=·{})·=>·{.··
00000320:·2020·6966·2028·6d61·6769·6361·6c42·7261····if·(magicalBra00000320:·2020·6966·2028·6d61·6769·6361·6c42·7261····if·(magicalBra
00000330:·6365·7329·207b·0a20·2020·2020·2020·2072··ces)·{.········r00000330:·6365·7329·207b·0a20·2020·2020·2020·2072··ces)·{.········r
00000340:·6574·7572·6e20·7769·6e64·6f77·7350·6174··eturn·windowsPat00000340:·6574·7572·6e20·7769·6e64·6f77·7350·6174··eturn·windowsPat
00000350:·6873·4e6f·4573·6361·7065·0a20·2020·2020··hsNoEscape.·····00000350:·6873·4e6f·4573·6361·7065·203f·0a20·2020··hsNoEscape·?.···
00000360:·2020·2020·2020·203f·2073·2e72·6570·6c61·········?·s.repla00000360:·2020·2020·2020·2020·2073·2e72·6570·6c61···········s.repla
00000370:·6365·282f·5c5b·285b·5e5c·2f5c·5c5d·295c··ce(/\[([^\/\\])\00000370:·6365·282f·5c5b·285b·5e5c·2f5c·5c5d·295c··ce(/\[([^\/\\])\
00000380:·5d2f·672c·2027·2431·2729·0a20·2020·2020··]/g,·'$1').·····00000380:·5d2f·672c·2027·2431·2729·0a20·2020·2020··]/g,·'$1').·····
00000390:·2020·2020·2020·203a·2073·0a20·2020·2020·········:·s.·····00000390:·2020·2020·2020·203a·2073·0a20·2020·2020·········:·s.·····
000003a0:·2020·2020·2020·2020·2020·202e·7265·706c·············.repl000003a0:·2020·2020·2020·2020·2020·202e·7265·706c·············.repl
000003b0:·6163·6528·2f28·283f·215c·5c29·2e7c·5e29··ace(/((?!\\).|^)000003b0:·6163·6528·2f28·283f·215c·5c29·2e7c·5e29··ace(/((?!\\).|^)
000003c0:·5c5b·285b·5e5c·2f5c·5c5d·295c·5d2f·672c··\[([^\/\\])\]/g,000003c0:·5c5b·285b·5e5c·2f5c·5c5d·295c·5d2f·672c··\[([^\/\\])\]/g,
000003d0:·2027·2431·2432·2729·0a20·2020·2020·2020···'$1$2').·······000003d0:·2027·2431·2432·2729·0a20·2020·2020·2020···'$1$2').·······
000003e0:·2020·2020·2020·2020·202e·7265·706c·6163···········.replac000003e0:·2020·2020·2020·2020·202e·7265·706c·6163···········.replac
000003f0:·6528·2f5c·5c28·5b5e·5c2f·5d29·2f67·2c20··e(/\\([^\/])/g,·000003f0:·6528·2f5c·5c28·5b5e·5c2f·5d29·2f67·2c20··e(/\\([^\/])/g,·
00000400:·2724·3127·293b·0a20·2020·207d·0a20·2020··'$1');.····}.···00000400:·2724·3127·293b·0a20·2020·207d·0a20·2020··'$1');.····}.···
00000410:·2072·6574·7572·6e20·7769·6e64·6f77·7350···return·windowsP00000410:·2072·6574·7572·6e20·7769·6e64·6f77·7350···return·windowsP
00000420:·6174·6873·4e6f·4573·6361·7065·0a20·2020··athsNoEscape.···00000420:·6174·6873·4e6f·4573·6361·7065·203f·0a20··athsNoEscape·?.·
00000430:·2020·2020·203f·2073·2e72·6570·6c61·6365·······?·s.replace00000430:·2020·2020·2020·2073·2e72·6570·6c61·6365·········s.replace
00000440:·282f·5c5b·285b·5e5c·2f5c·5c7b·7d5d·295c··(/\[([^\/\\{}])\00000440:·282f·5c5b·285b·5e5c·2f5c·5c7b·7d5d·295c··(/\[([^\/\\{}])\
00000450:·5d2f·672c·2027·2431·2729·0a20·2020·2020··]/g,·'$1').·····00000450:·5d2f·672c·2027·2431·2729·0a20·2020·2020··]/g,·'$1').·····
00000460:·2020·203a·2073·0a20·2020·2020·2020·2020·····:·s.·········00000460:·2020·203a·2073·0a20·2020·2020·2020·2020·····:·s.·········
00000470:·2020·202e·7265·706c·6163·6528·2f28·283f·····.replace(/((?00000470:·2020·202e·7265·706c·6163·6528·2f28·283f·····.replace(/((?
00000480:·215c·5c29·2e7c·5e29·5c5b·285b·5e5c·2f5c··!\\).|^)\[([^\/\00000480:·215c·5c29·2e7c·5e29·5c5b·285b·5e5c·2f5c··!\\).|^)\[([^\/\
00000490:·5c7b·7d5d·295c·5d2f·672c·2027·2431·2432··\{}])\]/g,·'$1$200000490:·5c7b·7d5d·295c·5d2f·672c·2027·2431·2432··\{}])\]/g,·'$1$2
000004a0:·2729·0a20·2020·2020·2020·2020·2020·202e··').············.000004a0:·2729·0a20·2020·2020·2020·2020·2020·202e··').············.
4.23 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/dist/esm/unescape.js.map
4.08 KB
Pretty-printed
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 {1 {
2 ····"file":·"unescape.js",2 ····"file":·"unescape.js",
3 ····"mappings":·"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,CAAS,EACT,EACE,oBAAoB,GAAG,KAAK,EAC5B,aAAa,GAAG,IAAI,MACgD,EAAE,EACxE,EAAE;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,oBAAoB;YACzB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,CAAC;iBACE,OAAO,CAAC,2BAA2B,EAAE,MAAM,CAAC;iBAC5C,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,oBAAoB;QACzB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC;QACrC,CAAC,CAAC,CAAC;aACE,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;aAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;AACtC,CAAC,CAAA",3 ····"mappings":·"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,CAAS,EACT,EACE,oBAAoB,GAAG,KAAK,EAC5B,aAAa,GAAG,IAAI,MACgD,EAAE,EACxE,EAAE;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,oBAAoB,CAAC,CAAC;YACzB,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,CAAC;iBACE,OAAO,CAAC,2BAA2B,EAAE,MAAM,CAAC;iBAC5C,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,oBAAoB,CAAC,CAAC;QACzB,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC;QACrC,CAAC,CAAC,CAAC;aACE,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;aAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;AACtC,CAAC,CAAA",
4 ····"names":·[],4 ····"names":·[],
5 ····"sourceRoot":·"",5 ····"sourceRoot":·"",
6 ····"sources":·[6 ····"sources":·[
7 ········"../../src/unescape.ts"7 ········"../../src/unescape.ts"
8 ····],8 ····],
9 ····"sourcesContent":·[9 ····"sourcesContent":·[
10 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Un-escape·a·string·that·has·been·escaped·with·{@link·escape}.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}·option·is·used,·then\n·*·square-bracket·escapes·are·removed,·but·not·backslash·escapes.\n·*\n·*·For·example,·it·will·turn·the·string·`'[*]'`·into·`*`,·but·it·will·not\n·*·turn·`'\\\\*'`·into·`'*'`,·because·`\\`·is·a·path·separator·in\n·*·`windowsPathsNoEscape`·mode.\n·*\n·*·When·`windowsPathsNoEscape`·is·not·set,·then·both·square-bracket·escapes·and\n·*·backslash·escapes·are·removed.\n·*\n·*·Slashes·(and·backslashes·in·`windowsPathsNoEscape`·mode)·cannot·be·escaped\n·*·or·unescaped.\n·*\n·*·When·`magicalBraces`·is·not·set,·escapes·of·braces·(`{`·and·`}`)·will·not·be\n·*·unescaped.\n·*/\n\nexport·const·unescape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·true,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape\n······?·s.replace(/\\[([^\\/\\\\])\\]/g,·'$1')\n······:·s\n··········.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g,·'$1$2')\n··········.replace(/\\\\([^\\/])/g,·'$1')\n··}\n··return·windowsPathsNoEscape\n····?·s.replace(/\\[([^\\/\\\\{}])\\]/g,·'$1')\n····:·s\n········.replace(/((?!\\\\).|^)\\[([^\\/\\\\{}])\\]/g,·'$1$2')\n········.replace(/\\\\([^\\/{}])/g,·'$1')\n}\n"10 ········"import·{·MinimatchOptions·}·from·'./index.js'\n\n/**\n·*·Un-escape·a·string·that·has·been·escaped·with·{@link·escape}.\n·*\n·*·If·the·{@link·MinimatchOptions.windowsPathsNoEscape}·option·is·used,·then\n·*·square-bracket·escapes·are·removed,·but·not·backslash·escapes.\n·*\n·*·For·example,·it·will·turn·the·string·`'[*]'`·into·`*`,·but·it·will·not\n·*·turn·`'\\\\*'`·into·`'*'`,·because·`\\`·is·a·path·separator·in\n·*·`windowsPathsNoEscape`·mode.\n·*\n·*·When·`windowsPathsNoEscape`·is·not·set,·then·both·square-bracket·escapes·and\n·*·backslash·escapes·are·removed.\n·*\n·*·Slashes·(and·backslashes·in·`windowsPathsNoEscape`·mode)·cannot·be·escaped\n·*·or·unescaped.\n·*\n·*·When·`magicalBraces`·is·not·set,·escapes·of·braces·(`{`·and·`}`)·will·not·be\n·*·unescaped.\n·*/\n\nexport·const·unescape·=·(\n··s:·string,\n··{\n····windowsPathsNoEscape·=·false,\n····magicalBraces·=·true,\n··}:·Pick<MinimatchOptions,·'windowsPathsNoEscape'·|·'magicalBraces'>·=·{},\n)·=>·{\n··if·(magicalBraces)·{\n····return·windowsPathsNoEscape·?\n········s.replace(/\\[([^\\/\\\\])\\]/g,·'$1')\n······:·s\n··········.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g,·'$1$2')\n··········.replace(/\\\\([^\\/])/g,·'$1')\n··}\n··return·windowsPathsNoEscape·?\n······s.replace(/\\[([^\\/\\\\{}])\\]/g,·'$1')\n····:·s\n········.replace(/((?!\\\\).|^)\\[([^\\/\\\\{}])\\]/g,·'$1$2')\n········.replace(/\\\\([^\\/{}])/g,·'$1')\n}\n"
11 ····],11 ····],
12 ····"version":·312 ····"version":·3
13 }13 }
1.37 KB
lib/node_modules/@capacitor/cli/node_modules/minimatch/package.json
1.24 KB
Pretty-printed
    
Offset 1, 11 lines modifiedOffset 1, 11 lines modified
1 {1 {
2 ····"author":·"Isaac·Z.·Schlueter·<[email protected]>·(http://blog.izs.me)",2 ····"author":·"Isaac·Z.·Schlueter·<[email protected]>·(http://blog.izs.me)",
3 ····"dependencies":·{3 ····"dependencies":·{
4 ········"@isaacs/brace-expansion":·"^5.0.1"4 ········"brace-expansion":·"^5.0.2"
5 ····},5 ····},
6 ····"description":·"a·glob·matcher·in·javascript",6 ····"description":·"a·glob·matcher·in·javascript",
7 ····"devDependencies":·{7 ····"devDependencies":·{
8 ········"@types/node":·"^24.0.0",8 ········"@types/node":·"^24.0.0",
9 ········"mkdirp":·"^3.0.1",9 ········"mkdirp":·"^3.0.1",
10 ········"prettier":·"^3.6.2",10 ········"prettier":·"^3.6.2",
11 ········"tap":·"^21.1.0",11 ········"tap":·"^21.1.0",
Offset 40, 15 lines modifiedOffset 40, 15 lines modified
40 ····"name":·"minimatch",40 ····"name":·"minimatch",
41 ····"repository":·{41 ····"repository":·{
42 ········"type":·"git",42 ········"type":·"git",
43 ········"url":·"[email protected]:isaacs/minimatch"43 ········"url":·"[email protected]:isaacs/minimatch"
44 ····},44 ····},
45 ····"scripts":·{45 ····"scripts":·{
46 ········"benchmark":·"node·benchmark/index.js",46 ········"benchmark":·"node·benchmark/index.js",
47 ········"format":·"prettier·--write·.·--log-level·warn",47 ········"format":·"prettier·--write·.",
48 ········"postversion":·"npm·publish",48 ········"postversion":·"npm·publish",
49 ········"prepare":·"tshy",49 ········"prepare":·"tshy",
50 ········"prepublishOnly":·"git·push·origin·--follow-tags",50 ········"prepublishOnly":·"git·push·origin·--follow-tags",
51 ········"presnap":·"npm·run·prepare",51 ········"presnap":·"npm·run·prepare",
52 ········"pretest":·"npm·run·prepare",52 ········"pretest":·"npm·run·prepare",
53 ········"preversion":·"npm·test",53 ········"preversion":·"npm·test",
54 ········"snap":·"tap",54 ········"snap":·"tap",
Offset 59, 9 lines modifiedOffset 59, 9 lines modified
59 ········"exports":·{59 ········"exports":·{
60 ············".":·"./src/index.ts",60 ············".":·"./src/index.ts",
61 ············"./package.json":·"./package.json"61 ············"./package.json":·"./package.json"
62 ········}62 ········}
63 ····},63 ····},
64 ····"type":·"module",64 ····"type":·"module",
65 ····"types":·"./dist/commonjs/index.d.ts",65 ····"types":·"./dist/commonjs/index.d.ts",
66 ····"version":·"10.1.2"66 ····"version":·"10.2.0"
67 }67 }
105 KB
info-capacitor-cli-8.1.0-hfa286de_0.tar.zst
105 KB
info-capacitor-cli-8.1.0-hfa286de_0.tar
1.34 KB
file list
    
Offset 1, 12 lines modifiedOffset 1, 12 lines modified
1 -rw-r--r--···0········0········0······505·2026-02-11·21:03:54.000000·info/about.json1 -rw-r--r--···0········0········0······505·2026-02-11·21:03:54.000000·info/about.json
2 -rw-r--r--···0········0········0······118·2026-02-11·21:03:54.000000·info/hash_input.json2 -rw-r--r--···0········0········0······118·2026-02-11·21:03:54.000000·info/hash_input.json
3 -rw-r--r--···0········0········0······225·2026-02-11·21:03:54.000000·info/index.json3 -rw-r--r--···0········0········0······225·2026-02-11·21:03:54.000000·info/index.json
4 -rw-r--r--···0········0········0·····1075·2026-02-11·21:03:54.000000·info/licenses/LICENSE4 -rw-r--r--···0········0········0·····1075·2026-02-11·21:03:54.000000·info/licenses/LICENSE
5 -rw-r--r--···0········0········0···127029·2026-02-11·21:03:54.000000·info/licenses/third-party-licenses.txt5 -rw-r--r--···0········0········0···130634·2026-02-11·21:03:54.000000·info/licenses/third-party-licenses.txt
6 -rw-r--r--···0········0········0···413769·2026-02-11·21:03:54.000000·info/paths.json6 -rw-r--r--···0········0········0···437194·2026-02-11·21:03:54.000000·info/paths.json
7 -rwxr-xr-x···0········0········0······997·2026-02-11·21:03:54.000000·info/recipe/build.sh7 -rwxr-xr-x···0········0········0······997·2026-02-11·21:03:54.000000·info/recipe/build.sh
8 -rw-r--r--···0········0········0·····1541·2026-02-11·21:03:54.000000·info/recipe/recipe-scripts-license.txt8 -rw-r--r--···0········0········0·····1541·2026-02-11·21:03:54.000000·info/recipe/recipe-scripts-license.txt
9 -rw-r--r--···0········0········0······717·2026-02-11·21:03:54.000000·info/recipe/recipe.yaml9 -rw-r--r--···0········0········0······717·2026-02-11·21:03:54.000000·info/recipe/recipe.yaml
10 -rw-r--r--···0········0········0····11496·2026-02-11·21:03:54.000000·info/recipe/rendered_recipe.yaml10 -rw-r--r--···0········0········0····11496·2026-02-11·21:03:54.000000·info/recipe/rendered_recipe.yaml
11 -rw-r--r--···0········0········0······100·2026-02-11·21:03:54.000000·info/recipe/variant_config.yaml11 -rw-r--r--···0········0········0······100·2026-02-11·21:03:54.000000·info/recipe/variant_config.yaml
12 -rw-r--r--···0········0········0·······40·2026-02-11·21:03:54.000000·info/tests/tests.yaml12 -rw-r--r--···0········0········0·······40·2026-02-11·21:03:54.000000·info/tests/tests.yaml
41.8 KB
info/licenses/third-party-licenses.txt
    
Offset 212, 72 lines modifiedOffset 212, 14 lines modified
212 AUTHORS·OR·COPYRIGHT·HOLDERS·BE·LIABLE·FOR·ANY·CLAIM,·DAMAGES·OR·OTHER212 AUTHORS·OR·COPYRIGHT·HOLDERS·BE·LIABLE·FOR·ANY·CLAIM,·DAMAGES·OR·OTHER
213 LIABILITY,·WHETHER·IN·AN·ACTION·OF·CONTRACT,·TORT·OR·OTHERWISE,·ARISING·FROM,213 LIABILITY,·WHETHER·IN·AN·ACTION·OF·CONTRACT,·TORT·OR·OTHERWISE,·ARISING·FROM,
214 OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE·USE·OR·OTHER·DEALINGS·IN·THE214 OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE·USE·OR·OTHER·DEALINGS·IN·THE
215 SOFTWARE.215 SOFTWARE.
  
216 ---216 ---
  
217 The·following·software·may·be·included·in·this·product:·@isaacs/balanced-match·(4.0.1) 
218 This·software·contains·the·following·license·and·notice·below: 
  
219 (MIT) 
  
220 Original·code·Copyright·Julian·Gruber·<[email protected]> 
  
221 Port·to·TypeScript·Copyright·Isaac·Z.·Schlueter·<[email protected]> 
  
222 Permission·is·hereby·granted,·free·of·charge,·to·any·person·obtaining·a·copy·of 
223 this·software·and·associated·documentation·files·(the·"Software"),·to·deal·in 
224 the·Software·without·restriction,·including·without·limitation·the·rights·to 
225 use,·copy,·modify,·merge,·publish,·distribute,·sublicense,·and/or·sell·copies 
226 of·the·Software,·and·to·permit·persons·to·whom·the·Software·is·furnished·to·do 
227 so,·subject·to·the·following·conditions: 
  
228 The·above·copyright·notice·and·this·permission·notice·shall·be·included·in·all 
229 copies·or·substantial·portions·of·the·Software. 
  
230 THE·SOFTWARE·IS·PROVIDED·"AS·IS",·WITHOUT·WARRANTY·OF·ANY·KIND,·EXPRESS·OR 
231 IMPLIED,·INCLUDING·BUT·NOT·LIMITED·TO·THE·WARRANTIES·OF·MERCHANTABILITY, 
232 FITNESS·FOR·A·PARTICULAR·PURPOSE·AND·NONINFRINGEMENT.·IN·NO·EVENT·SHALL·THE 
233 AUTHORS·OR·COPYRIGHT·HOLDERS·BE·LIABLE·FOR·ANY·CLAIM,·DAMAGES·OR·OTHER 
234 LIABILITY,·WHETHER·IN·AN·ACTION·OF·CONTRACT,·TORT·OR·OTHERWISE,·ARISING·FROM, 
235 OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE·USE·OR·OTHER·DEALINGS·IN·THE 
236 SOFTWARE. 
  
237 --- 
  
238 The·following·software·may·be·included·in·this·product:·@isaacs/brace-expansion·(5.0.1) 
239 This·software·contains·the·following·license·and·notice·below: 
  
240 MIT·License 
  
241 Copyright·Julian·Gruber·<[email protected]> 
  
242 TypeScript·port·Copyright·Isaac·Z.·Schlueter·<[email protected]> 
  
243 Permission·is·hereby·granted,·free·of·charge,·to·any·person·obtaining·a·copy 
244 of·this·software·and·associated·documentation·files·(the·"Software"),·to·deal 
245 in·the·Software·without·restriction,·including·without·limitation·the·rights 
246 to·use,·copy,·modify,·merge,·publish,·distribute,·sublicense,·and/or·sell 
247 copies·of·the·Software,·and·to·permit·persons·to·whom·the·Software·is 
248 furnished·to·do·so,·subject·to·the·following·conditions: 
  
249 The·above·copyright·notice·and·this·permission·notice·shall·be·included·in·all 
250 copies·or·substantial·portions·of·the·Software. 
  
251 THE·SOFTWARE·IS·PROVIDED·"AS·IS",·WITHOUT·WARRANTY·OF·ANY·KIND,·EXPRESS·OR 
252 IMPLIED,·INCLUDING·BUT·NOT·LIMITED·TO·THE·WARRANTIES·OF·MERCHANTABILITY, 
253 FITNESS·FOR·A·PARTICULAR·PURPOSE·AND·NONINFRINGEMENT.·IN·NO·EVENT·SHALL·THE 
254 AUTHORS·OR·COPYRIGHT·HOLDERS·BE·LIABLE·FOR·ANY·CLAIM,·DAMAGES·OR·OTHER 
255 LIABILITY,·WHETHER·IN·AN·ACTION·OF·CONTRACT,·TORT·OR·OTHERWISE,·ARISING·FROM, 
256 OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE·USE·OR·OTHER·DEALINGS·IN·THE 
257 SOFTWARE. 
  
258 --- 
  
259 The·following·software·may·be·included·in·this·product:·@types/fs-extra·(8.1.5)217 The·following·software·may·be·included·in·this·product:·@types/fs-extra·(8.1.5)
260 This·software·contains·the·following·license·and·notice·below:218 This·software·contains·the·following·license·and·notice·below:
  
261 MIT·License219 MIT·License
  
262 Copyright·(c)·Microsoft·Corporation.220 Copyright·(c)·Microsoft·Corporation.
  
Offset 410, 14 lines modifiedOffset 352, 43 lines modified
  
410 The·above·copyright·notice·and·this·permission·notice·shall·be·included·in·all·copies·or·substantial·portions·of·the·Software.352 The·above·copyright·notice·and·this·permission·notice·shall·be·included·in·all·copies·or·substantial·portions·of·the·Software.
  
411 THE·SOFTWARE·IS·PROVIDED·"AS·IS",·WITHOUT·WARRANTY·OF·ANY·KIND,·EXPRESS·OR·IMPLIED,·INCLUDING·BUT·NOT·LIMITED·TO·THE·WARRANTIES·OF·MERCHANTABILITY,·FITNESS·FOR·A·PARTICULAR·PURPOSE·AND·NONINFRINGEMENT.·IN·NO·EVENT·SHALL·THE·AUTHORS·OR·COPYRIGHT·HOLDERS·BE·LIABLE·FOR·ANY·CLAIM,·DAMAGES·OR·OTHER·LIABILITY,·WHETHER·IN·AN·ACTION·OF·CONTRACT,·TORT·OR·OTHERWISE,·ARISING·FROM,·OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE·USE·OR·OTHER·DEALINGS·IN·THE·SOFTWARE.353 THE·SOFTWARE·IS·PROVIDED·"AS·IS",·WITHOUT·WARRANTY·OF·ANY·KIND,·EXPRESS·OR·IMPLIED,·INCLUDING·BUT·NOT·LIMITED·TO·THE·WARRANTIES·OF·MERCHANTABILITY,·FITNESS·FOR·A·PARTICULAR·PURPOSE·AND·NONINFRINGEMENT.·IN·NO·EVENT·SHALL·THE·AUTHORS·OR·COPYRIGHT·HOLDERS·BE·LIABLE·FOR·ANY·CLAIM,·DAMAGES·OR·OTHER·LIABILITY,·WHETHER·IN·AN·ACTION·OF·CONTRACT,·TORT·OR·OTHERWISE,·ARISING·FROM,·OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE·USE·OR·OTHER·DEALINGS·IN·THE·SOFTWARE.
  
412 ---354 ---
  
 355 The·following·software·may·be·included·in·this·product:·balanced-match·(4.0.2)
 356 This·software·contains·the·following·license·and·notice·below:
  
 357 (MIT)
  
 358 Original·code·Copyright·Julian·Gruber·<[email protected]>
  
 359 Port·to·TypeScript·Copyright·Isaac·Z.·Schlueter·<[email protected]>
  
 360 Permission·is·hereby·granted,·free·of·charge,·to·any·person·obtaining·a·copy·of
 361 this·software·and·associated·documentation·files·(the·"Software"),·to·deal·in
 362 the·Software·without·restriction,·including·without·limitation·the·rights·to
 363 use,·copy,·modify,·merge,·publish,·distribute,·sublicense,·and/or·sell·copies
 364 of·the·Software,·and·to·permit·persons·to·whom·the·Software·is·furnished·to·do
 365 so,·subject·to·the·following·conditions:
  
 366 The·above·copyright·notice·and·this·permission·notice·shall·be·included·in·all
 367 copies·or·substantial·portions·of·the·Software.
  
Max diff block lines reached; 37529/42708 bytes (87.87%) of diff not shown.
61.7 KB
info/paths.json
61.6 KB
Pretty-printed
    
Offset 1029, 168 lines modifiedOffset 1029, 450 lines modified
1029 ········{1029 ········{
1030 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/package.json",1030 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@ionic/utils-terminal/package.json",
1031 ············"path_type":·"hardlink",1031 ············"path_type":·"hardlink",
1032 ············"sha256":·"f8d3f7a926ab86f941b42a3006b664e341d741aec2734eb477a536f38a01f991",1032 ············"sha256":·"f8d3f7a926ab86f941b42a3006b664e341d741aec2734eb477a536f38a01f991",
1033 ············"size_in_bytes":·14111033 ············"size_in_bytes":·1411
1034 ········},1034 ········},
1035 ········{1035 ········{
1036 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/LICENSE.md",1036 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/LICENSE.md",
1037 ············"path_type":·"hardlink",1037 ············"path_type":·"hardlink",
1038 ············"sha256":·"d408f38ffa3355c5faec517153295338892eb0f1ea43f57874bb23c6075979b5",1038 ············"sha256":·"c58416e852f7603cc1c7c5f7582e8cc7b1934d7bcb5456d64ada379d6770da45",
1039 ············"size_in_bytes":·11551039 ············"size_in_bytes":·1779
1040 ········},1040 ········},
1041 ········{1041 ········{
1042 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/README.md",1042 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/README.md",
1043 ············"path_type":·"hardlink",1043 ············"path_type":·"hardlink",
1044 ············"sha256":·"e2de6ebcfdb7f13c8f2c58b18dcdc2a98dc2fe9bfbe83bb0a4b2be8a24025c10",1044 ············"sha256":·"0647da36ad7d91f5127b940b8f62451f348d95f95bfec594c3e89b540db3a904",
1045 ············"size_in_bytes":·21121045 ············"size_in_bytes":·3218
1046 ········},1046 ········},
1047 ········{1047 ········{
1048 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/commonjs/index.d.ts",1048 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.d.ts",
1049 ············"path_type":·"hardlink",1049 ············"path_type":·"hardlink",
1050 ············"sha256":·"1ba52b275da70d08b5e1d9441ede6f776610f1a560f1d948f2d8225209efe5ce",1050 ············"sha256":·"a5a5e7c932a9f8a0e3daae79a8f7ccddfbdd37dea1a299489e8b104bad722bf8",
1051 ············"size_in_bytes":·3341051 ············"size_in_bytes":·137
1052 ········},1052 ········},
1053 ········{1053 ········{
1054 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/commonjs/index.d.ts.map",1054 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.d.ts.map",
1055 ············"path_type":·"hardlink",1055 ············"path_type":·"hardlink",
1056 ············"sha256":·"02f6451d2b2e59833af8a854f46eb420c59dcbeb299b02626d42dead25320ee2",1056 ············"sha256":·"8b1e20145d3304de03d738e50276aba1f1ba11fba098a3f8b0578a2869067d45",
1057 ············"size_in_bytes":·3231057 ············"size_in_bytes":·163
1058 ········},1058 ········},
1059 ········{1059 ········{
1060 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/commonjs/index.js",1060 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.js",
1061 ············"path_type":·"hardlink",1061 ············"path_type":·"hardlink",
1062 ············"sha256":·"180549ef6f34f31e245f3060395dc453a602849558fd6657d11c28509b33347c",1062 ············"sha256":·"6c927a95d07e5738b9b348bee131da7fa6ce423a826e4611c327f5de9e7ae10a",
1063 ············"size_in_bytes":·17791063 ············"size_in_bytes":·827
1064 ········},1064 ········},
1065 ········{1065 ········{
1066 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/balanced-match/dist/commonjs/index.js.map",1066 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.js.map",
1067 ············"path_type":·"hardlink",1067 ············"path_type":·"hardlink",
1068 ············"sha256":·"125220b59e2d5ce2aa29233e0f294644eecade69400aa56be8774726ccb9ff23",1068 ············"sha256":·"453543da0621e62e53f561d546a4bdca98742648b1f1cf509459cce1f3699602",
 1069 ············"size_in_bytes":·1263
 1070 ········},
 1071 ········{
 1072 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.d.ts",
 1073 ············"path_type":·"hardlink",
 1074 ············"sha256":·"f08eca23ce4d2d578ccd6742a3c8e0faedd01ce5dc153ddab8d72f4aaf59456f",
 1075 ············"size_in_bytes":·1183
 1076 ········},
 1077 ········{
 1078 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.d.ts.map",
 1079 ············"path_type":·"hardlink",
 1080 ············"sha256":·"74fc66b7a5cfe61919a5466e45966bba58156822b11f317c964e20cc0d420766",
 1081 ············"size_in_bytes":·592
 1082 ········},
 1083 ········{
 1084 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.js",
 1085 ············"path_type":·"hardlink",
 1086 ············"sha256":·"84042afa6d45d1a65d999c66b1bd7d6c7cf1d8e70aa2f5cd75ee7569459c610b",
 1087 ············"size_in_bytes":·5412
 1088 ········},
 1089 ········{
 1090 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.js.map",
 1091 ············"path_type":·"hardlink",
 1092 ············"sha256":·"299da4b6da8a824ecdbe053c68d08911a9987a9084c1923ce2ffc9e7a8e2b979",
 1093 ············"size_in_bytes":·11510
 1094 ········},
 1095 ········{
 1096 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.d.ts",
 1097 ············"path_type":·"hardlink",
 1098 ············"sha256":·"8059387718c0e60f8e5bc65522bba0d627e077a25a5f2f1ee0d7f1180d9bfb8f",
1069 ············"size_in_bytes":·41891099 ············"size_in_bytes":·411
 1100 ········},
 1101 ········{
 1102 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.d.ts.map",
 1103 ············"path_type":·"hardlink",
 1104 ············"sha256":·"f457f20775c828f8136c2ea779a10d5484859ed03df1056e9ec1164300eef5c4",
 1105 ············"size_in_bytes":·388
 1106 ········},
 1107 ········{
 1108 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.js",
 1109 ············"path_type":·"hardlink",
 1110 ············"sha256":·"7156de3fac9003e5ee4213239aa6c3e23aa60f688b73a44dcd81c989e55a8386",
 1111 ············"size_in_bytes":·12773
 1112 ········},
 1113 ········{
 1114 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.js.map",
 1115 ············"path_type":·"hardlink",
 1116 ············"sha256":·"06035d4ca1bfb54cb10fb8a6346b9a63b253b44d3c61dd65bfe36c8d4c3a0580",
 1117 ············"size_in_bytes":·23233
 1118 ········},
 1119 ········{
 1120 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.d.ts",
 1121 ············"path_type":·"hardlink",
 1122 ············"sha256":·"00ad204c544b8766033ff28c96fbc3ce4f84a977307eba66db1afee018d80836",
 1123 ············"size_in_bytes":·82
 1124 ········},
 1125 ········{
 1126 ············"_path":·"lib/node_modules/@capacitor/cli/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.d.ts.map",
 1127 ············"path_type":·"hardlink",
Max diff block lines reached; 54032/63090 bytes (85.64%) of diff not shown.