Skip to content

Commit 3f1f9c3

Browse files
committed
refactor: use stable Rust
1 parent 4f08179 commit 3f1f9c3

File tree

8 files changed

+247
-122
lines changed

8 files changed

+247
-122
lines changed
File renamed without changes.

rust-toolchain.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[toolchain]
2-
channel = "nightly-2022-12-15"
2+
channel = "1.74.0"
33
profile = "default"

rustfmt.toml

-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
max_width = 80
22
tab_spaces = 2
3-
format_code_in_doc_comments = true

src/concat_source.rs

+50-32
Original file line numberDiff line numberDiff line change
@@ -161,22 +161,27 @@ impl StreamChunks for ConcatSource {
161161
};
162162
if need_to_cloas_mapping {
163163
if mapping.generated_line != 1 || mapping.generated_column != 0 {
164-
on_chunk(None, Mapping {
165-
generated_line: current_line_offset + 1,
166-
generated_column: current_column_offset,
167-
original: None,
168-
});
164+
on_chunk(
165+
None,
166+
Mapping {
167+
generated_line: current_line_offset + 1,
168+
generated_column: current_column_offset,
169+
original: None,
170+
},
171+
);
169172
}
170173
need_to_cloas_mapping = false;
171174
}
172-
let result_source_index = mapping.original.as_ref().and_then(|original| {
173-
source_index_mapping
174-
.borrow()
175-
.get(&original.source_index)
176-
.copied()
177-
});
175+
let result_source_index =
176+
mapping.original.as_ref().and_then(|original| {
177+
source_index_mapping
178+
.borrow()
179+
.get(&original.source_index)
180+
.copied()
181+
});
178182
let result_name_index = mapping
179-
.original.as_ref()
183+
.original
184+
.as_ref()
180185
.and_then(|original| original.name_index)
181186
.and_then(|name_index| {
182187
name_index_mapping.borrow().get(&name_index).copied()
@@ -187,8 +192,29 @@ impl StreamChunks for ConcatSource {
187192
mapping.generated_line
188193
};
189194
if options.final_source {
190-
if let Some(result_source_index) = result_source_index && let Some(original) = &mapping.original {
191-
on_chunk(None, Mapping {
195+
if let (Some(result_source_index), Some(original)) =
196+
(result_source_index, &mapping.original)
197+
{
198+
on_chunk(
199+
None,
200+
Mapping {
201+
generated_line: line,
202+
generated_column: column,
203+
original: Some(OriginalLocation {
204+
source_index: result_source_index,
205+
original_line: original.original_line,
206+
original_column: original.original_column,
207+
name_index: result_name_index,
208+
}),
209+
},
210+
);
211+
}
212+
} else if let (Some(result_source_index), Some(original)) =
213+
(result_source_index, &mapping.original)
214+
{
215+
on_chunk(
216+
chunk,
217+
Mapping {
192218
generated_line: line,
193219
generated_column: column,
194220
original: Some(OriginalLocation {
@@ -197,25 +223,17 @@ impl StreamChunks for ConcatSource {
197223
original_column: original.original_column,
198224
name_index: result_name_index,
199225
}),
200-
});
201-
}
202-
} else if let Some(result_source_index) = result_source_index && let Some(original) = &mapping.original {
203-
on_chunk(chunk, Mapping {
204-
generated_line: line,
205-
generated_column: column,
206-
original: Some(OriginalLocation {
207-
source_index: result_source_index,
208-
original_line: original.original_line,
209-
original_column: original.original_column,
210-
name_index: result_name_index,
211-
}),
212-
});
226+
},
227+
);
213228
} else {
214-
on_chunk(chunk, Mapping {
215-
generated_line: line,
216-
generated_column: column,
217-
original: None,
218-
});
229+
on_chunk(
230+
chunk,
231+
Mapping {
232+
generated_line: line,
233+
generated_column: column,
234+
original: None,
235+
},
236+
);
219237
}
220238
},
221239
&mut |i, source, source_content| {

src/helpers.rs

+51-38
Original file line numberDiff line numberDiff line change
@@ -284,16 +284,16 @@ fn encode_full_mappings(mappings: &[Mapping]) -> String {
284284
|acc, mapping| {
285285
if active_mapping && current_line == mapping.generated_line {
286286
// 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+
}
297297
} else {
298298
// No mapping is active
299299
if mapping.original.is_none() {
@@ -531,7 +531,9 @@ pub fn stream_chunks_of_raw_source(
531531
line += 1;
532532
last_line = Some(l);
533533
}
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+
{
535537
GeneratedInfo {
536538
generated_line: line,
537539
generated_column: last_line.len() as u32,
@@ -753,10 +755,11 @@ fn stream_chunks_of_source_map_full(
753755
}
754756
current_generated_column = mapping.generated_column;
755757
}
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
758760
|| (mapping.generated_line == final_line
759-
&& mapping.generated_column < final_column)) {
761+
&& mapping.generated_column < final_column)
762+
}) {
760763
mapping_active = true;
761764
active_mapping_original = Some(*original);
762765
}
@@ -801,19 +804,23 @@ fn stream_chunks_of_source_map_lines_final(
801804
let mut current_generated_line = 1;
802805

803806
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+
);
817824
current_generated_line = mapping.generated_line + 1;
818825
}
819826
};
@@ -861,17 +868,23 @@ fn stream_chunks_of_source_map_lines_full(
861868
}
862869
current_generated_line += 1;
863870
}
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+
);
875888
current_generated_line += 1;
876889
}
877890
};

src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
//! Rusty [`webpack-sources`](https://github.com/webpack/webpack-sources) port.
22
3-
#![feature(let_chains)]
43
#![warn(unsafe_code)]
54
#![deny(missing_docs)]
65

src/original_source.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,9 @@ impl StreamChunks for OriginalSource {
198198
line += 1;
199199
last_line = Some(l);
200200
}
201-
if let Some(last_line) = last_line && !last_line.ends_with('\n') {
201+
if let Some(last_line) =
202+
last_line.filter(|last_line| !last_line.ends_with('\n'))
203+
{
202204
GeneratedInfo {
203205
generated_line: line,
204206
generated_column: last_line.len() as u32,

0 commit comments

Comments
 (0)