@@ -16,6 +16,7 @@ export interface Transform {
1616 toolingTypes : string [ ] ;
1717 environments : string [ ] ;
1818 showObsolete : 'true' | 'false' ;
19+ supportsBowtie : 'true' | 'false' ;
1920}
2021
2122export type TransformUpdate =
@@ -38,6 +39,7 @@ const buildQueryString = (transform: Transform) => {
3839 toolingTypes : transform . toolingTypes . join ( ',' ) ,
3940 environments : transform . environments . join ( ',' ) ,
4041 showObsolete : transform . showObsolete ,
42+ supportsBowtie : transform . supportsBowtie ,
4143 } ) . toString ( ) ;
4244} ;
4345
@@ -56,6 +58,7 @@ export default function useToolsTransform(tools: JSONSchemaTool[]) {
5658 toolingTypes : [ ] ,
5759 environments : [ ] ,
5860 showObsolete : 'false' ,
61+ supportsBowtie : 'false' ,
5962 } ) ;
6063
6164 useEffect ( ( ) => {
@@ -89,6 +92,8 @@ export default function useToolsTransform(tools: JSONSchemaTool[]) {
8992 ) as Transform [ 'environments' ] ,
9093 showObsolete :
9194 ( query . showObsolete as Transform [ 'showObsolete' ] ) || 'false' ,
95+ supportsBowtie :
96+ ( query . supportsBowtie as Transform [ 'supportsBowtie' ] ) || 'false' ,
9297 } satisfies Transform ;
9398
9499 const queryString = buildQueryString ( updatedTransform ) ;
@@ -137,6 +142,7 @@ export default function useToolsTransform(tools: JSONSchemaTool[]) {
137142 toolingTypes : [ ] ,
138143 environments : [ ] ,
139144 showObsolete : 'false' ,
145+ supportsBowtie : 'false' ,
140146 } ;
141147
142148 const queryString = buildQueryString ( initialTransform ) ;
@@ -193,6 +199,9 @@ const filterTools = (
193199 transform : Transform ,
194200) : JSONSchemaTool [ ] => {
195201 const filteredTools = tools . filter ( ( tool ) => {
202+ if ( transform . supportsBowtie === 'true' && ! tool . bowtie ?. id ) {
203+ return false ;
204+ }
196205 if ( transform . showObsolete === 'false' && tool . status === 'obsolete' )
197206 return false ;
198207
0 commit comments