traverseEdges method

Future<TraverseEdgesResponse> traverseEdges(
  1. String originKref,
  2. EdgeDirection direction, {
  3. List<String>? edgeTypeFilter,
  4. int? maxDepth,
  5. int? limit,
  6. bool includePath = false,
})
inherited

Traverses edges to find all connected revisions.

originKref is the starting revision. direction specifies traversal direction:

  • OUTGOING: follow edges from source to target (find dependencies)
  • INCOMING: follow edges from target to source (find dependents) edgeTypeFilter filters by edge types (empty for all). maxDepth limits traversal depth (default: 10). limit limits number of results (default: 100). includePath includes full path information in results.

Implementation

Future<TraverseEdgesResponse> traverseEdges(
  String originKref,
  EdgeDirection direction, {
  List<String>? edgeTypeFilter,
  int? maxDepth,
  int? limit,
  bool includePath = false,
}) async {
  final request = TraverseEdgesRequest()
    ..originKref = Kref(uri: originKref)
    ..direction = direction
    ..includePath = includePath;
  if (edgeTypeFilter != null && edgeTypeFilter.isNotEmpty) {
    request.edgeTypeFilter.addAll(edgeTypeFilter);
  }
  if (maxDepth != null) {
    request.maxDepth = maxDepth;
  }
  if (limit != null) {
    request.limit = limit;
  }
  return stub.traverseEdges(request, options: callOptions);
}