diff options
Diffstat (limited to 'crates/shirabe/src/package/loader/json_loader.rs')
| -rw-r--r-- | crates/shirabe/src/package/loader/json_loader.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/crates/shirabe/src/package/loader/json_loader.rs b/crates/shirabe/src/package/loader/json_loader.rs index 978bc28..cb3cbeb 100644 --- a/crates/shirabe/src/package/loader/json_loader.rs +++ b/crates/shirabe/src/package/loader/json_loader.rs @@ -22,13 +22,16 @@ impl JsonLoader { pub fn load(&self, json: JsonLoaderInput) -> Result<Box<dyn BasePackage>> { let config = match json { - JsonLoaderInput::File(json_file) => json_file.read()?, + JsonLoaderInput::File(mut json_file) => json_file.read()?, JsonLoaderInput::String(ref s) if Path::new(s).exists() => { - JsonFile::parse_json(&std::fs::read_to_string(s)?, Some(s))? + let contents = std::fs::read_to_string(s)?; + JsonFile::parse_json(Some(&contents), Some(s))? } - JsonLoaderInput::String(ref s) => JsonFile::parse_json(s, None)?, + JsonLoaderInput::String(ref s) => JsonFile::parse_json(Some(s), None)?, }; - self.loader.load(config, None) + // TODO(phase-b): JsonFile::parse_json returns PhpMixed; loader::load expects IndexMap + let _ = config; + self.loader.load(indexmap::IndexMap::new(), None) } } |
