UNPKG

typescript-generic-datastructures

Version:
21 lines (20 loc) 976 B
import { LinkedList } from '../LinkedList/LinkedList'; import { GraphEdge } from './GraphEdge'; export declare type VertexKeyExtractor<T> = (vertex: T) => string | number; export declare class GraphVertex<TVertex, TEdge> { keyExtractor: VertexKeyExtractor<TVertex>; value: TVertex; edges: LinkedList<GraphEdge<TVertex, TEdge>>; constructor(value: TVertex, keyExtractor: VertexKeyExtractor<TVertex>); addEdge(edge: GraphEdge<TVertex, TEdge>): this; deleteEdge(edge: GraphEdge<TVertex, TEdge>): void; getNeighbors(): GraphVertex<TVertex, TEdge>[]; getEdges(): GraphEdge<TVertex, TEdge>[]; getDegree(): number; hasEdge(requiredEdge: GraphEdge<TVertex, TEdge>): boolean; hasNeighbor(vertex: GraphVertex<TVertex, TEdge>): boolean; findEdge(vertex: GraphVertex<TVertex, TEdge>): GraphEdge<TVertex, TEdge> | null; getKey(): string | number; deleteAllEdges(): this; toString(callback: (value: TVertex) => string): string; }