@@ -46,14 +46,14 @@ impl Request for AssetGraphRequest {
46
46
}
47
47
48
48
struct AssetGraphBuilder {
49
- request_id_to_dep_node_index : HashMap < u64 , NodeIndex > ,
50
49
graph : AssetGraph ,
51
50
visited : HashSet < u64 > ,
52
51
work_count : u32 ,
53
52
request_context : RunRequestContext ,
54
53
sender : ResultSender ,
55
54
receiver : ResultReceiver ,
56
- asset_request_to_asset : HashMap < u64 , NodeIndex > ,
55
+ request_id_to_asset_nx : HashMap < u64 , NodeIndex > ,
56
+ request_id_to_dependency_nx : HashMap < u64 , NodeIndex > ,
57
57
waiting_asset_requests : HashMap < u64 , HashSet < NodeIndex > > ,
58
58
}
59
59
@@ -62,14 +62,14 @@ impl AssetGraphBuilder {
62
62
let ( sender, receiver) = channel ( ) ;
63
63
64
64
AssetGraphBuilder {
65
- request_id_to_dep_node_index : HashMap :: new ( ) ,
65
+ request_id_to_dependency_nx : HashMap :: new ( ) ,
66
66
graph : AssetGraph :: new ( ) ,
67
67
visited : HashSet :: new ( ) ,
68
68
work_count : 0 ,
69
69
request_context,
70
70
sender,
71
71
receiver,
72
- asset_request_to_asset : HashMap :: new ( ) ,
72
+ request_id_to_asset_nx : HashMap :: new ( ) ,
73
73
waiting_asset_requests : HashMap :: new ( ) ,
74
74
}
75
75
}
@@ -138,16 +138,16 @@ impl AssetGraphBuilder {
138
138
}
139
139
140
140
fn handle_path_result ( & mut self , result : PathRequestOutput , request_id : u64 ) {
141
- let node = * self
142
- . request_id_to_dep_node_index
141
+ let dependency_nx = * self
142
+ . request_id_to_dependency_nx
143
143
. get ( & request_id)
144
144
. expect ( "Missing node index for request id {request_id}" ) ;
145
145
146
146
let DependencyNode {
147
147
dependency,
148
148
requested_symbols,
149
149
state,
150
- } = & mut self . graph . get_dependency_node_mut ( node ) . unwrap ( ) ;
150
+ } = & mut self . graph . get_dependency_node_mut ( & dependency_nx ) . unwrap ( ) ;
151
151
152
152
let asset_request = match result {
153
153
PathRequestOutput :: Resolved {
@@ -186,16 +186,16 @@ impl AssetGraphBuilder {
186
186
let id = asset_request. id ( ) ;
187
187
188
188
if self . visited . insert ( id) {
189
- self . request_id_to_dep_node_index . insert ( id, node ) ;
189
+ self . request_id_to_dependency_nx . insert ( id, dependency_nx ) ;
190
190
self . work_count += 1 ;
191
191
let _ = self
192
192
. request_context
193
193
. queue_request ( asset_request, self . sender . clone ( ) ) ;
194
- } else if let Some ( asset_node_index) = self . asset_request_to_asset . get ( & id) {
194
+ } else if let Some ( asset_node_index) = self . request_id_to_asset_nx . get ( & id) {
195
195
// We have already completed this AssetRequest so we can connect the
196
196
// Dependency to the Asset immediately
197
- self . graph . add_edge ( & node , asset_node_index) ;
198
- self . propagate_requested_symbols ( * asset_node_index, node ) ;
197
+ self . graph . add_edge ( & dependency_nx , asset_node_index) ;
198
+ self . propagate_requested_symbols ( * asset_node_index, dependency_nx ) ;
199
199
} else {
200
200
// The AssetRequest has already been kicked off but is yet to
201
201
// complete. Register this Dependency to be connected once it
@@ -204,9 +204,9 @@ impl AssetGraphBuilder {
204
204
. waiting_asset_requests
205
205
. entry ( id)
206
206
. and_modify ( |nodes| {
207
- nodes. insert ( node ) ;
207
+ nodes. insert ( dependency_nx ) ;
208
208
} )
209
- . or_insert_with ( || HashSet :: from ( [ node ] ) ) ;
209
+ . or_insert_with ( || HashSet :: from ( [ dependency_nx ] ) ) ;
210
210
}
211
211
}
212
212
@@ -233,23 +233,19 @@ impl AssetGraphBuilder {
233
233
discovered_assets,
234
234
dependencies,
235
235
} = result;
236
- let incoming_dep_node_index = * self
237
- . request_id_to_dep_node_index
236
+ let incoming_dependency_nx = * self
237
+ . request_id_to_dependency_nx
238
238
. get ( & request_id)
239
239
. expect ( "Missing node index for request id {request_id}" ) ;
240
240
241
241
// Connect the incoming DependencyNode to the new AssetNode
242
- let asset_node_index = self . graph . add_asset ( asset. clone ( ) ) ;
242
+ let asset_nx = self . graph . add_asset ( asset. clone ( ) ) ;
243
243
244
- self
245
- . graph
246
- . add_edge ( & incoming_dep_node_index, & asset_node_index) ;
244
+ self . graph . add_edge ( & incoming_dependency_nx, & asset_nx) ;
247
245
248
- self
249
- . asset_request_to_asset
250
- . insert ( request_id, asset_node_index) ;
246
+ self . request_id_to_asset_nx . insert ( request_id, asset_nx) ;
251
247
252
- let root_asset = ( & asset, asset_node_index ) ;
248
+ let root_asset = ( & asset, asset_nx ) ;
253
249
let mut added_discovered_assets: HashMap < String , NodeIndex > = HashMap :: new ( ) ;
254
250
255
251
// Attach the "direct" discovered assets to the graph
@@ -259,7 +255,7 @@ impl AssetGraphBuilder {
259
255
260
256
self
261
257
. graph
262
- . add_edge ( & incoming_dep_node_index , & asset_node_index) ;
258
+ . add_edge ( & incoming_dependency_nx , & asset_node_index) ;
263
259
264
260
self . add_asset_dependencies (
265
261
& discovered_asset. dependencies ,
@@ -268,25 +264,25 @@ impl AssetGraphBuilder {
268
264
& mut added_discovered_assets,
269
265
root_asset,
270
266
) ;
271
- self . propagate_requested_symbols ( asset_node_index, incoming_dep_node_index ) ;
267
+ self . propagate_requested_symbols ( asset_node_index, incoming_dependency_nx ) ;
272
268
}
273
269
274
270
self . add_asset_dependencies (
275
271
& dependencies,
276
272
& discovered_assets,
277
- asset_node_index ,
273
+ asset_nx ,
278
274
& mut added_discovered_assets,
279
275
root_asset,
280
276
) ;
281
277
282
- self . propagate_requested_symbols ( asset_node_index , incoming_dep_node_index ) ;
278
+ self . propagate_requested_symbols ( asset_nx , incoming_dependency_nx ) ;
283
279
284
280
// Connect any previously discovered Dependencies that were waiting
285
281
// for this AssetNode to be created
286
282
if let Some ( waiting) = self . waiting_asset_requests . remove ( & request_id) {
287
283
for dep in waiting {
288
- self . graph . add_edge ( & dep, & asset_node_index ) ;
289
- self . propagate_requested_symbols ( asset_node_index , dep) ;
284
+ self . graph . add_edge ( & dep, & asset_nx ) ;
285
+ self . propagate_requested_symbols ( asset_nx , dep) ;
290
286
}
291
287
}
292
288
}
@@ -393,7 +389,7 @@ impl AssetGraphBuilder {
393
389
. unwrap ( )
394
390
{
395
391
Self :: on_undeferred (
396
- & mut self . request_id_to_dep_node_index ,
392
+ & mut self . request_id_to_dependency_nx ,
397
393
& mut self . work_count ,
398
394
& mut self . request_context ,
399
395
& self . sender ,
@@ -417,7 +413,7 @@ impl AssetGraphBuilder {
417
413
dependency : Arc :: new ( dependency) ,
418
414
} ;
419
415
self
420
- . request_id_to_dep_node_index
416
+ . request_id_to_dependency_nx
421
417
. insert ( request. id ( ) , dep_node) ;
422
418
self . work_count += 1 ;
423
419
let _ = self
@@ -432,7 +428,7 @@ impl AssetGraphBuilder {
432
428
/// Once they do have symbols in use, this callback will re-trigger resolution/transformation
433
429
/// for those files.
434
430
fn on_undeferred (
435
- request_id_to_dep_node_index : & mut HashMap < u64 , NodeIndex > ,
431
+ request_id_to_asset_nx : & mut HashMap < u64 , NodeIndex > ,
436
432
work_count : & mut u32 ,
437
433
request_context : & mut RunRequestContext ,
438
434
sender : & ResultSender ,
@@ -443,7 +439,7 @@ impl AssetGraphBuilder {
443
439
dependency : dependency. clone ( ) ,
444
440
} ;
445
441
446
- request_id_to_dep_node_index . insert ( request. id ( ) , dependency_node_index) ;
442
+ request_id_to_asset_nx . insert ( request. id ( ) , dependency_node_index) ;
447
443
tracing:: debug!(
448
444
"queueing a path request from on_undeferred, {}" ,
449
445
dependency. specifier
@@ -501,8 +497,7 @@ mod tests {
501
497
use std:: path:: { Path , PathBuf } ;
502
498
use std:: sync:: Arc ;
503
499
504
- use atlaspack_core:: asset_graph:: { AssetGraphNode , AssetNode } ;
505
- use atlaspack_core:: types:: { AtlaspackOptions , Code } ;
500
+ use atlaspack_core:: types:: * ;
506
501
use atlaspack_filesystem:: in_memory_file_system:: InMemoryFileSystem ;
507
502
use atlaspack_filesystem:: FileSystem ;
508
503
@@ -588,34 +583,14 @@ mod tests {
588
583
1
589
584
) ;
590
585
591
- let file_path = asset_graph_request_result
592
- . graph
593
- . nodes_from ( & asset_graph_request_result. graph . root_node ( ) )
594
- . iter ( )
595
- . filter_map ( |n| match * n {
596
- AssetGraphNode :: Asset ( asset_node) => Some ( asset_node) ,
597
- _ => None ,
598
- } )
599
- . collect :: < Vec < & AssetNode > > ( )
600
- . get ( 0 )
601
- . unwrap ( )
602
- . asset
603
- . file_path
604
- . clone ( ) ;
605
-
606
- let code = asset_graph_request_result
586
+ let Asset {
587
+ file_path, code, ..
588
+ } : Asset = asset_graph_request_result
607
589
. graph
608
- . nodes_from ( & asset_graph_request_result. graph . root_node ( ) )
609
- . iter ( )
610
- . filter_map ( |n| match * n {
611
- AssetGraphNode :: Asset ( asset_node) => Some ( asset_node) ,
612
- _ => None ,
613
- } )
614
- . collect :: < Vec < & AssetNode > > ( )
590
+ . get_asset_nodes ( )
615
591
. get ( 0 )
616
592
. unwrap ( )
617
593
. asset
618
- . code
619
594
. clone ( ) ;
620
595
621
596
assert_eq ! ( file_path, temporary_dir. join( "entry.js" ) ) ;
@@ -713,19 +688,12 @@ mod tests {
713
688
5
714
689
) ;
715
690
716
- let file_path = asset_graph_request_result
691
+ let Asset { file_path, .. } : Asset = asset_graph_request_result
717
692
. graph
718
- . nodes_from ( & asset_graph_request_result. graph . root_node ( ) )
719
- . iter ( )
720
- . filter_map ( |n| match * n {
721
- AssetGraphNode :: Asset ( asset_node) => Some ( asset_node) ,
722
- _ => None ,
723
- } )
724
- . collect :: < Vec < & AssetNode > > ( )
693
+ . get_asset_nodes ( )
725
694
. get ( 0 )
726
695
. unwrap ( )
727
696
. asset
728
- . file_path
729
697
. clone ( ) ;
730
698
731
699
assert_eq ! ( file_path, temporary_dir. join( "entry.js" ) ) ;
0 commit comments