MCPcopy Create free account
hub / github.com/colbymchenry/codegraph / load

Function load

__tests__/reference-target-kind.test.ts:39–61  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

37 type InhEdge = { src: string; srcKind: string; tgt: string; tgtKind: string; kind: string };
38
39 const load = async (): Promise<{ edges: InhEdge[]; failed: { name: string; kind: string }[] }> => {
40 const cg = await CodeGraph.init(dir, { silent: true });
41 await cg.indexAll();
42 const db = (cg as any).db.db;
43 const edges: InhEdge[] = db
44 .prepare(
45 `SELECT s.name src, s.kind srcKind, t.name tgt, t.kind tgtKind, e.kind kind
46 FROM edges e
47 JOIN nodes s ON s.id = e.source
48 JOIN nodes t ON t.id = e.target
49 WHERE e.kind IN ('extends', 'implements')`
50 )
51 .all();
52 const failed: { name: string; kind: string }[] = db
53 .prepare(
54 `SELECT reference_name name, reference_kind kind
55 FROM unresolved_refs
56 WHERE reference_kind IN ('extends', 'implements')`
57 )
58 .all();
59 cg.close?.();
60 return { edges, failed };
61 };
62
63 const has = (edges: InhEdge[], src: string, tgt: string, tgtKind: string) =>
64 edges.some((e) => e.src === src && e.tgt === tgt && e.tgtKind === tgtKind);

Callers 1

Calls 5

allMethod · 0.65
prepareMethod · 0.65
closeMethod · 0.65
initMethod · 0.45
indexAllMethod · 0.45

Tested by

no test coverage detected