MCPcopy Index your code
hub / github.com/eventuallyconsultant/codegenr / resolve_refs

Function resolve_refs

codegenr/src/resolver.rs:82–98  ·  view source on GitHub ↗
(
  document: DocumentPath,
  original_cache: &mut OriginalDocumentsHash,
  resolved_cache: &mut ResolvedDocumentsHash,
)

Source from the content-addressed store, hash-verified

80 original_cache: &mut OriginalDocumentsHash,
81 resolved_cache: &mut ResolvedDocumentsHash,
82) -> Result<Rc<Value>, ResolverError> {
83 let json = get_resolved_or_original(&document, original_cache, resolved_cache)?;
84 match json {
85 Json::Resolved(j) => Ok(j),
86 Json::Original(j) => {
87 let mut resolving = (*j).clone();
88 resolve_refs_recurse(&document, &mut resolving, &j, original_cache, resolved_cache)?;
89 let resolved = Rc::new(resolving);
90 resolved_cache.insert(document, resolved.clone());
91 Ok(resolved)
92 }
93 }
94}
95
96fn resolve_refs_recurse(
97 current_doc: &DocumentPath,
98 json: &mut Value,
99 original: &Value,
100 original_cache: &mut OriginalDocumentsHash,
101 resolved_cache: &mut ResolvedDocumentsHash,

Callers 3

run_codegenrFunction · 0.85
very_tricky_testFunction · 0.85

Calls 2

get_resolved_or_originalFunction · 0.85
resolve_refs_recurseFunction · 0.85

Tested by 2

very_tricky_testFunction · 0.68