MCPcopy Create free account
hub / github.com/codemix/graph / traverse

Method traverse

packages/graph/src/Steps.ts:709–737  ·  view source on GitHub ↗
(
    source: GraphSource<any>,
    _input: Iterable<TraversalPath<any, any, any>>,
    _context?: QueryContext,
  )

Source from the content-addressed store, hash-verified

707 }
708
709 public *traverse(
710 source: GraphSource<any>,
711 _input: Iterable<TraversalPath<any, any, any>>,
712 _context?: QueryContext,
713 ): IterableIterator<TraversalPath<any, any, any>> {
714 const { vertexLabels, ids, stepLabels } = this.config;
715 if (ids !== undefined && ids.length > 0) {
716 for (const id of ids) {
717 const vertex = source.getVertexById(id);
718 if (vertex !== undefined) {
719 this.traversed++;
720 this.emitted++;
721 yield new TraversalPath(undefined, vertex, stepLabels ?? []);
722 }
723 }
724 } else if (vertexLabels !== undefined && vertexLabels.length > 0) {
725 for (const vertex of source.getVertices(...vertexLabels)) {
726 this.traversed++;
727 this.emitted++;
728 yield new TraversalPath(undefined, vertex, stepLabels ?? []);
729 }
730 } else {
731 for (const vertex of source.getVertices()) {
732 this.traversed++;
733 this.emitted++;
734 yield new TraversalPath(undefined, vertex, stepLabels ?? []);
735 }
736 }
737 }
738
739 public override clone(partial?: Partial<FetchVerticesStepConfig>) {
740 const { config } = this;

Callers

nothing calls this directly

Calls 2

getVertexByIdMethod · 0.65
getVerticesMethod · 0.65

Tested by

no test coverage detected