@@ -664,7 +664,7 @@ async function openapiFilter(oaObj, options) {
664664        let  isOnlyUsedByUnusedComps  =  true ; 
665665
666666        // Check if this component is used in paths (directly used) 
667-         traverse ( jsonObj . paths  ||  { } ) . forEach ( function ( node )  { 
667+         traverse ( jsonObj . paths  ||  { } ) . forEach ( function   ( node )  { 
668668          if  ( this . key  ===  '$ref'  &&  node  ===  `#/components/${ compType } ${ compKey }  )  { 
669669            isOnlyUsedByUnusedComps  =  false ; 
670670            this . stop ( ) ; 
@@ -681,7 +681,7 @@ async function openapiFilter(oaObj, options) {
681681            for  ( const  otherCompKey  of  otherUsedComps )  { 
682682              if  ( otherCompKey  ===  compKey  &&  otherCompType  ===  compType )  continue ;  // Skip self-reference 
683683
684-               traverse ( jsonObj . components ?. [ otherCompType ] ?. [ otherCompKey ]  ||  { } ) . forEach ( function ( node )  { 
684+               traverse ( jsonObj . components ?. [ otherCompType ] ?. [ otherCompKey ]  ||  { } ) . forEach ( function   ( node )  { 
685685                if  ( this . key  ===  '$ref'  &&  node  ===  `#/components/${ compType } ${ compKey }  )  { 
686686                  isOnlyUsedByUnusedComps  =  false ; 
687687                  this . stop ( ) ; 
@@ -706,10 +706,14 @@ async function openapiFilter(oaObj, options) {
706706
707707  // Update options.unusedComp with the newly identified unused components 
708708  if  ( optFs . includes ( 'schemas' ) )  options . unusedComp . schemas  =  [ ...options . unusedComp . schemas ,  ...unusedComp . schemas ] ; 
709-   if  ( optFs . includes ( 'responses' ) )  options . unusedComp . responses  =  [ ...options . unusedComp . responses ,  ...unusedComp . responses ] ; 
710-   if  ( optFs . includes ( 'parameters' ) )  options . unusedComp . parameters  =  [ ...options . unusedComp . parameters ,  ...unusedComp . parameters ] ; 
711-   if  ( optFs . includes ( 'examples' ) )  options . unusedComp . examples  =  [ ...options . unusedComp . examples ,  ...unusedComp . examples ] ; 
712-   if  ( optFs . includes ( 'requestBodies' ) )  options . unusedComp . requestBodies  =  [ ...options . unusedComp . requestBodies ,  ...unusedComp . requestBodies ] ; 
709+   if  ( optFs . includes ( 'responses' ) ) 
710+     options . unusedComp . responses  =  [ ...options . unusedComp . responses ,  ...unusedComp . responses ] ; 
711+   if  ( optFs . includes ( 'parameters' ) ) 
712+     options . unusedComp . parameters  =  [ ...options . unusedComp . parameters ,  ...unusedComp . parameters ] ; 
713+   if  ( optFs . includes ( 'examples' ) ) 
714+     options . unusedComp . examples  =  [ ...options . unusedComp . examples ,  ...unusedComp . examples ] ; 
715+   if  ( optFs . includes ( 'requestBodies' ) ) 
716+     options . unusedComp . requestBodies  =  [ ...options . unusedComp . requestBodies ,  ...unusedComp . requestBodies ] ; 
713717  if  ( optFs . includes ( 'headers' ) )  options . unusedComp . headers  =  [ ...options . unusedComp . headers ,  ...unusedComp . headers ] ; 
714718
715719  // Update unusedComp.meta.total after each recursion 
@@ -774,7 +778,7 @@ async function openapiFilter(oaObj, options) {
774778      if  ( 
775779        Array . isArray ( filterSet . preserveEmptyObjects )  && 
776780        ( ( ! [ 'security' ,  'schemas' ,  'default' ] . includes ( this . parent . key )  && 
777-              ! filterSet . preserveEmptyObjects . includes ( this . key ) )  || 
781+           ! filterSet . preserveEmptyObjects . includes ( this . key ) )  || 
778782          ! filterSet . preserveEmptyObjects . some ( v  =>  this . path . includes ( v ) ) ) 
779783      )  { 
780784        // debugFilterStep = 'Filter - Remove empty objects' 
0 commit comments