summaryrefslogtreecommitdiff
path: root/src/js_errors.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/js_errors.rs')
-rw-r--r--src/js_errors.rs16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/js_errors.rs b/src/js_errors.rs
index 63862db3f..9180c43a5 100644
--- a/src/js_errors.rs
+++ b/src/js_errors.rs
@@ -17,7 +17,7 @@ use std::collections::HashMap;
pub trait SourceMapGetter {
/// Returns the raw source map file.
- fn get_source_map(&self, script_name: &str) -> Option<String>;
+ fn get_source_map(&self, script_name: &str) -> Option<Vec<u8>>;
}
struct SourceMap {
@@ -283,7 +283,9 @@ fn parse_map_string(
}
_ => match getter.get_source_map(source_url) {
None => None,
- Some(raw_source_map) => SourceMap::from_json(&raw_source_map),
+ Some(raw_source_map) => SourceMap::from_json(
+ &String::from_utf8(raw_source_map).expect("SourceMap is not utf-8"),
+ ),
},
}
}
@@ -340,13 +342,13 @@ mod tests {
struct MockSourceMapGetter {}
impl SourceMapGetter for MockSourceMapGetter {
- fn get_source_map(&self, script_name: &str) -> Option<String> {
- let s = match script_name {
- "foo_bar.ts" => r#"{"sources": ["foo_bar.ts"], "mappings":";;;IAIA,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}"#,
- "bar_baz.ts" => r#"{"sources": ["bar_baz.ts"], "mappings":";;;IAEA,CAAC,KAAK,IAAI,EAAE;QACV,MAAM,GAAG,GAAG,sDAAa,OAAO,2BAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC,EAAE,CAAC;IAEQ,QAAA,GAAG,GAAG,KAAK,CAAC;IAEzB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}"#,
+ fn get_source_map(&self, script_name: &str) -> Option<Vec<u8>> {
+ let s: &[u8] = match script_name {
+ "foo_bar.ts" => br#"{"sources": ["foo_bar.ts"], "mappings":";;;IAIA,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}"#,
+ "bar_baz.ts" => br#"{"sources": ["bar_baz.ts"], "mappings":";;;IAEA,CAAC,KAAK,IAAI,EAAE;QACV,MAAM,GAAG,GAAG,sDAAa,OAAO,2BAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC,EAAE,CAAC;IAEQ,QAAA,GAAG,GAAG,KAAK,CAAC;IAEzB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}"#,
_ => return None,
};
- Some(s.to_string())
+ Some(s.to_vec())
}
}