From 5d82a2f04327e85abb35f13d88d3c2c02a5aa573 Mon Sep 17 00:00:00 2001 From: Chegele Date: Thu, 6 Jul 2023 15:44:38 -0400 Subject: [PATCH] Convert Graph, Vertex, and Edge into interfaces --- src/services/reputation/graph.interface.ts | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/services/reputation/graph.interface.ts diff --git a/src/services/reputation/graph.interface.ts b/src/services/reputation/graph.interface.ts new file mode 100644 index 0000000..a0716d6 --- /dev/null +++ b/src/services/reputation/graph.interface.ts @@ -0,0 +1,27 @@ + +export interface Graph { + vertices: Map; + edges: Map; + getAllVertices(): Vertex[]; + getVertex(id: string): Vertex; + addVertex(vertex: Vertex): void; + deleteVertex(vertex: string | Vertex): void; + getAllEdges(): Edge[]; + getEdge(id: string): Edge; + addEdge(edge: Edge): void; + deleteEdge(edge: string | Edge): void; +} + +export interface Vertex { + id: string; + edges: Edge[]; + data: string; +} + +export interface Edge { + id: string; + directional: boolean; + parentVertex: Vertex; + childVertex: Vertex; + getAdjacent(vertex: Vertex): Vertex; +} \ No newline at end of file