Interface GraphAlgorithms

Graph algorithms to do calculations on the type graph. All algorithms are robust regarding cycles.

interface GraphAlgorithms {
    collectReachableTypes(
        from: Type,
        $relations: string[],
        filterEdges?: (edgr: TypeEdge) => boolean,
    ): Set<Type>;
    existsEdgePath(
        from: Type,
        to: Type,
        $relations: string[],
        filterEdges?: (edgr: TypeEdge) => boolean,
    ): boolean;
    getEdgePath(
        from: Type,
        to: Type,
        $relations: string[],
        filterEdges?: (edgr: TypeEdge) => boolean,
    ): TypeEdge[];
}

Implemented by

Methods