UNPKG

@theguild/federation-composition

Version:
36 lines 1.34 kB
import { OperationTypeNode } from 'graphql'; import type { Logger } from '../../../../utils/logger.cjs'; import { type Edge } from './edge.cjs'; import { SatisfiabilityError } from './errors.cjs'; import type { Graph } from './graph.cjs'; import { type Lazy } from './helpers.cjs'; import type { MoveValidator } from './move-validator.cjs'; import { OperationPath, type Step } from './operation-path.cjs'; export declare class WalkTracker { superPath: OperationPath; paths: OperationPath[]; private errors; constructor(superPath: OperationPath, paths: OperationPath[]); move(edge: Edge): WalkTracker; addPath(path: OperationPath): void; addError(error: Lazy<SatisfiabilityError>): void; isPossible(): boolean; givesEmptyResult(): boolean; isEdgeVisited(edge: Edge): boolean; listErrors(): SatisfiabilityError[]; } export declare class Walker { private moveChecker; private supergraph; private mergedGraph; private logger; private pathFinder; constructor(logger: Logger, moveChecker: MoveValidator, supergraph: Graph, mergedGraph: Graph); walkTrail(operationType: OperationTypeNode, steps: Step[]): WalkTracker; walk(method?: 'bfs' | 'dfs'): WalkTracker[]; private nextStep; private dfs; private _dfs; private bfs; } //# sourceMappingURL=walker.d.ts.map