MCPcopy Create free account
hub / github.com/hashintel/hash / resolve_single

Method resolve_single

libs/@local/hashql/core/src/module/resolver.rs:100–123  ·  view source on GitHub ↗
(
        &self,
        module: Module<'heap>,
        universe: Universe,
        name: Symbol<'heap>,
        depth: usize,
    )

Source from the content-addressed store, hash-verified

98 }
99
100 fn resolve_single(
101 &self,
102 module: Module<'heap>,
103 universe: Universe,
104 name: Symbol<'heap>,
105 depth: usize,
106 ) -> Result<iter::Once<Reference<'heap>>, ResolutionError<'heap>> {
107 let item = module
108 .items
109 .iter()
110 .copied()
111 .find(|item| item.name == name && item.kind.universe() == Some(universe));
112
113 let Some(item) = item else {
114 return Err(ResolutionError::ItemNotFound {
115 depth,
116 name,
117 suggestions: self
118 .suggest(|| module.suggestions(|item| item.kind.universe() == Some(universe))),
119 });
120 };
121
122 Ok(iter::once(Reference::Item(item)))
123 }
124
125 #[define_opaque(MultiResolveItemIterator)]
126 fn resolve_multi(

Callers 1

resolve_implMethod · 0.80

Calls 8

ErrInterface · 0.85
OkInterface · 0.85
suggestMethod · 0.80
suggestionsMethod · 0.80
ItemClass · 0.70
findMethod · 0.45
iterMethod · 0.45
universeMethod · 0.45

Tested by

no test coverage detected