use std::fs;
use std::path::Path;
use citum_schema::InputBibliography;
use citum_schema::reference::InputReference;
use csl_legacy::csl_json::Reference as LegacyReference;
use crate::RefsError;
pub fn load_csl_json(path: &Path) -> Result<InputBibliography, RefsError> {
let bytes = fs::read(path)?;
let refs: Vec<LegacyReference> = serde_json::from_slice(&bytes)
.map_err(|e| RefsError::ParseError("JSON".to_string(), e.to_string()))?;
let references = refs.into_iter().map(InputReference::from).collect();
Ok(InputBibliography {
references,
..Default::default()
})
}