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

Function finalizeStoreBundle

src/extraction/store-writer.ts:44–63  ·  view source on GitHub ↗
(
  result: Pick<ExtractionResult, 'nodes' | 'edges' | 'unresolvedReferences'>,
  filePath: string,
  language: Language,
  file: FileRecord
)

Source from the content-addressed store, hash-verified

42 * filePath/language the resolver reads.
43 */
44export function finalizeStoreBundle(
45 result: Pick<ExtractionResult, 'nodes' | 'edges' | 'unresolvedReferences'>,
46 filePath: string,
47 language: Language,
48 file: FileRecord
49): StoreBundle {
50 const validNodes = result.nodes.filter((n) => n.id && n.kind && n.name && n.filePath && n.language);
51 const insertedIds = new Set(validNodes.map((n) => n.id));
52 const validEdges = result.edges.filter(
53 (e) => insertedIds.has(e.source) && insertedIds.has(e.target)
54 );
55 const validRefs = result.unresolvedReferences
56 .filter((ref) => insertedIds.has(ref.fromNodeId))
57 .map((ref) => ({
58 ...ref,
59 filePath: ref.filePath ?? filePath,
60 language: ref.language ?? language,
61 }));
62 return { nodes: validNodes, edges: validEdges, refs: validRefs, file };
63}
64
65export class StoreWriter {
66 private worker: Worker;

Callers 2

buildFreshStoreBundleMethod · 0.90
decodeKernelBundleFunction · 0.90

Calls 1

hasMethod · 0.80

Tested by

no test coverage detected