use crate::loaders::static_contexts_loader;
use locspan::Span;
use sophia_jsonld::{
loader::{ChainLoader, HttpLoader, StaticLoader},
loader_factory::ClosureLoaderFactory,
parser::JsonLdParser,
vocabulary::ArcIri,
JsonLdOptions,
};
pub type HybridLoader = ChainLoader<StaticLoader<ArcIri, Span>, HttpLoader>;
pub fn hybrid_parser(
) -> JsonLdParser<ClosureLoaderFactory<HybridLoader, impl Fn() -> HybridLoader>>
{
JsonLdParser::new_with_options(
JsonLdOptions::new()
.with_produce_generalized_rdf(false)
.with_document_loader_closure(|| {
ChainLoader::new(static_contexts_loader(), HttpLoader::default())
}),
)
}