1+ import { invariant } from '../../invariant.js' ;
12import type { NoInfer } from '../../types.js' ;
23import type { DepthFirstSearchOptions } from './types.js' ;
34
@@ -20,18 +21,25 @@ export function depthFirstSearch<Node, LinkProps>(
2021
2122 if ( includeSourceNodes ) {
2223 for ( let i = 0 ; i < sourceNodes . length ; i ++ ) {
23- depthFirstVisit ( graph , nodeList , visited , visiting , sourceNodes [ i ] , opts ) ;
24+ const sourceNode = sourceNodes [ i ] ;
25+ if ( ! sourceNode ) continue ;
26+ depthFirstVisit ( graph , nodeList , visited , visiting , sourceNode , opts ) ;
2427 }
2528 return nodeList ;
2629 }
2730
2831 for ( let i = 0 ; i < sourceNodes . length ; i ++ ) {
29- visited . add ( sourceNodes [ i ] ) ;
32+ const sourceNode = sourceNodes [ i ] ;
33+ if ( ! sourceNode ) continue ;
34+ visited . add ( sourceNode ) ;
3035 }
3136
3237 for ( let i = 0 ; i < sourceNodes . length ; i ++ ) {
38+ const sourceNode = sourceNodes [ i ] ;
39+ if ( ! sourceNode ) continue ;
40+
3341 graph
34- . adjacent ( sourceNodes [ i ] )
42+ . adjacent ( sourceNode )
3543 ?. forEach ( ( n ) => depthFirstVisit ( graph , nodeList , visited , visiting , n , opts ) ) ;
3644 }
3745
0 commit comments