MCPcopy
hub / github.com/witheve/Eve / findRelated

Function findRelated

src/runtime/analyzer.ts:675–710  ·  view source on GitHub ↗
(evaluation, info, spans, extraInfo)

Source from the content-addressed store, hash-verified

673}
674
675export function findRelated(evaluation, info, spans, extraInfo) {
676 let queryId = `query|${info.requestId}`;
677 let query: any = {tag: ["query", "findRelated"]};
678 let queryType;
679 if(info.span) {
680 query.span = info.span;
681 queryType = "span";
682 }
683 if(info.variable) {
684 query.variable = info.variable;
685 queryType = "variable"
686 }
687 query.for = queryType
688
689 let evSession = evaluation.getDatabase("session");
690 eve.registerDatabase("evaluation-session", evSession);
691 doQuery(queryId, query, spans, extraInfo);
692 eve.unregisterDatabase("evaluation-session");
693
694 let sessionIndex = eve.getDatabase("session").index;
695 let queryInfo = sessionIndex.alookup("tag", "findRelated");
696 if(queryInfo) {
697 let [entity] = queryInfo.toValues();
698 let obj = sessionIndex.asObject(entity);
699 if(queryType === "span" && obj.variable) {
700 info.variable = obj.variable;
701 } else if(queryType === "variable" && obj.span) {
702 info.span = obj.span;
703 } else {
704 info.variable = [];
705 info.span = [];
706 }
707 return info;
708 }
709 return;
710}
711
712export function findAffector(evaluation, info, spans, extraInfo) {
713 let queryId = `query|${info.requestId}`;

Callers

nothing calls this directly

Calls 7

doQueryFunction · 0.85
getDatabaseMethod · 0.80
registerDatabaseMethod · 0.80
unregisterDatabaseMethod · 0.80
alookupMethod · 0.80
toValuesMethod · 0.80
asObjectMethod · 0.45

Tested by

no test coverage detected