@@ -20,26 +20,6 @@ export class PipAvailableVersionsCommand extends AvailableVersionsCommand {
2020 }
2121
2222 async execute ( executeArgs : AvailableVersionsExecuteArgs ) : Promise < string [ ] > {
23- let availableVersions : string [ ] = [ ] ;
24-
25- const parser = ( output : string ) : void => {
26- const match = output . match ( / { [ \s \S ] * } / ) ;
27- if ( ! match ) {
28- availableVersions = [ ] ;
29- return ;
30- }
31- try {
32- const parsed = JSON . parse ( match [ 0 ] ) as { versions ?: string [ ] } ;
33- let versions = Array . isArray ( parsed . versions ) ? parsed . versions . filter ( ( v ) => ! ! v . trim ( ) ) : [ ] ;
34- if ( ! executeArgs . includePrerelease ) {
35- versions = versions . filter ( ( version ) => ! / [ a b ] | r c | d e v / i. test ( version ) ) ;
36- }
37- availableVersions = versions ;
38- } catch {
39- availableVersions = [ ] ;
40- }
41- } ;
42-
4323 const args = this . buildCommand ( executeArgs ) ;
4424
4525 const output = await runPython (
@@ -51,8 +31,21 @@ export class PipAvailableVersionsCommand extends AvailableVersionsCommand {
5131 this . timeout ,
5232 ) ;
5333
54- parser ( output ) ;
55- return availableVersions ;
34+ const match = output . match ( / { [ \s \S ] * } / ) ;
35+ if ( ! match ) {
36+ return [ ] ;
37+ }
38+
39+ try {
40+ const parsed = JSON . parse ( match [ 0 ] ) as { versions ?: string [ ] } ;
41+ let versions = Array . isArray ( parsed . versions ) ? parsed . versions . filter ( ( v ) => ! ! v . trim ( ) ) : [ ] ;
42+ if ( ! executeArgs . includePrerelease ) {
43+ versions = versions . filter ( ( version ) => ! / [ a b ] | r c | d e v / i. test ( version ) ) ;
44+ }
45+ return versions ;
46+ } catch {
47+ return [ ] ;
48+ }
5649 }
5750}
5851
@@ -72,31 +65,24 @@ export class UvAvailableVersionsCommand extends AvailableVersionsCommand {
7265 }
7366
7467 async execute ( executeArgs : AvailableVersionsExecuteArgs ) : Promise < string [ ] > {
75- let availableVersions : string [ ] = [ ] ;
76-
77- const parser = ( output : string ) : void => {
78- const match = output . match ( / { [ \s \S ] * } / ) ;
79- if ( ! match ) {
80- availableVersions = [ ] ;
81- return ;
82- }
83- try {
84- const parsed = JSON . parse ( match [ 0 ] ) as { versions ?: string [ ] } ;
85- let versions = Array . isArray ( parsed . versions ) ? parsed . versions . filter ( ( v ) => ! ! v . trim ( ) ) : [ ] ;
86- if ( ! executeArgs . includePrerelease ) {
87- versions = versions . filter ( ( version ) => ! / [ a b ] | r c | d e v / i. test ( version ) ) ;
88- }
89- availableVersions = versions ;
90- } catch {
91- availableVersions = [ ] ;
92- }
93- } ;
94-
9568 const args = this . buildCommand ( executeArgs ) ;
9669
9770 const output = await runUV ( args , undefined , this . log , executeArgs . cancellationToken , this . timeout ) ;
9871
99- parser ( output ) ;
100- return availableVersions ;
72+ const match = output . match ( / { [ \s \S ] * } / ) ;
73+ if ( ! match ) {
74+ return [ ] ;
75+ }
76+
77+ try {
78+ const parsed = JSON . parse ( match [ 0 ] ) as { versions ?: string [ ] } ;
79+ let versions = Array . isArray ( parsed . versions ) ? parsed . versions . filter ( ( v ) => ! ! v . trim ( ) ) : [ ] ;
80+ if ( ! executeArgs . includePrerelease ) {
81+ versions = versions . filter ( ( version ) => ! / [ a b ] | r c | d e v / i. test ( version ) ) ;
82+ }
83+ return versions ;
84+ } catch {
85+ return [ ] ;
86+ }
10187 }
10288}
0 commit comments