@@ -284,16 +284,16 @@ fn encode_full_mappings(mappings: &[Mapping]) -> String {
284
284
|acc, mapping| {
285
285
if active_mapping && current_line == mapping. generated_line {
286
286
// A mapping is still active
287
- if let Some ( original ) = & mapping. original
288
- && original. source_index == current_source_index
289
- && original. original_line == current_original_line
290
- && original. original_column == current_original_column
291
- && !active_name
292
- && original. name_index . is_none ( )
293
- {
294
- // avoid repeating the same original mapping
295
- return acc;
296
- }
287
+ if mapping. original . is_some_and ( |original| {
288
+ original. source_index == current_source_index
289
+ && original. original_line == current_original_line
290
+ && original. original_column == current_original_column
291
+ && !active_name
292
+ && original. name_index . is_none ( )
293
+ } ) {
294
+ // avoid repeating the same original mapping
295
+ return acc;
296
+ }
297
297
} else {
298
298
// No mapping is active
299
299
if mapping. original . is_none ( ) {
@@ -531,7 +531,9 @@ pub fn stream_chunks_of_raw_source(
531
531
line += 1 ;
532
532
last_line = Some ( l) ;
533
533
}
534
- if let Some ( last_line) = last_line && !last_line. ends_with ( '\n' ) {
534
+ if let Some ( last_line) =
535
+ last_line. filter ( |last_line| !last_line. ends_with ( '\n' ) )
536
+ {
535
537
GeneratedInfo {
536
538
generated_line : line,
537
539
generated_column : last_line. len ( ) as u32 ,
@@ -753,10 +755,11 @@ fn stream_chunks_of_source_map_full(
753
755
}
754
756
current_generated_column = mapping. generated_column ;
755
757
}
756
- if let Some ( original) = & mapping. original
757
- && ( mapping. generated_line < final_line
758
+ if let Some ( original) = & mapping. original . filter ( |_| {
759
+ mapping. generated_line < final_line
758
760
|| ( mapping. generated_line == final_line
759
- && mapping. generated_column < final_column) ) {
761
+ && mapping. generated_column < final_column)
762
+ } ) {
760
763
mapping_active = true ;
761
764
active_mapping_original = Some ( * original) ;
762
765
}
@@ -801,19 +804,23 @@ fn stream_chunks_of_source_map_lines_final(
801
804
let mut current_generated_line = 1 ;
802
805
803
806
let mut on_mapping = |mapping : & Mapping | {
804
- if let Some ( original) = & mapping. original
805
- && current_generated_line <= mapping. generated_line
806
- && mapping. generated_line <= final_line {
807
- on_chunk ( None , Mapping {
808
- generated_line : mapping. generated_line ,
809
- generated_column : 0 ,
810
- original : Some ( OriginalLocation {
811
- source_index : original. source_index ,
812
- original_line : original. original_line ,
813
- original_column : original. original_column ,
814
- name_index : None ,
815
- } ) ,
816
- } ) ;
807
+ if let Some ( original) = & mapping. original . filter ( |_| {
808
+ current_generated_line <= mapping. generated_line
809
+ && mapping. generated_line <= final_line
810
+ } ) {
811
+ on_chunk (
812
+ None ,
813
+ Mapping {
814
+ generated_line : mapping. generated_line ,
815
+ generated_column : 0 ,
816
+ original : Some ( OriginalLocation {
817
+ source_index : original. source_index ,
818
+ original_line : original. original_line ,
819
+ original_column : original. original_column ,
820
+ name_index : None ,
821
+ } ) ,
822
+ } ,
823
+ ) ;
817
824
current_generated_line = mapping. generated_line + 1 ;
818
825
}
819
826
} ;
@@ -861,17 +868,23 @@ fn stream_chunks_of_source_map_lines_full(
861
868
}
862
869
current_generated_line += 1 ;
863
870
}
864
- if let Some ( original) = & mapping. original && mapping. generated_line as usize <= lines. len ( ) {
865
- on_chunk ( Some ( lines[ mapping. generated_line as usize - 1 ] ) , Mapping {
866
- generated_line : mapping. generated_line ,
867
- generated_column : 0 ,
868
- original : Some ( OriginalLocation {
869
- source_index : original. source_index ,
870
- original_line : original. original_line ,
871
- original_column : original. original_column ,
872
- name_index : None ,
873
- } ) ,
874
- } ) ;
871
+ if let Some ( original) = & mapping
872
+ . original
873
+ . filter ( |_| mapping. generated_line as usize <= lines. len ( ) )
874
+ {
875
+ on_chunk (
876
+ Some ( lines[ mapping. generated_line as usize - 1 ] ) ,
877
+ Mapping {
878
+ generated_line : mapping. generated_line ,
879
+ generated_column : 0 ,
880
+ original : Some ( OriginalLocation {
881
+ source_index : original. source_index ,
882
+ original_line : original. original_line ,
883
+ original_column : original. original_column ,
884
+ name_index : None ,
885
+ } ) ,
886
+ } ,
887
+ ) ;
875
888
current_generated_line += 1 ;
876
889
}
877
890
} ;
0 commit comments