fix(ui): сохранять переходные и неизвестные состояния OSPF

This commit is contained in:
Denozordec committed 2026-09-30 18:02:11 +07:00
1 parent c18c148a23
commit 3dc25628af
9 files changed
+82 -22

No files matched your search

+14
View File
@@ -0,0 +1,14 @@
export type OspfNeighborState = "Full" | "2-Way" | "ExStart" | "Down" | "Attempt" | "Init" | "Exchange" | "Loading" | "Unknown"
export type BfdState = "Up" | "Down" | "Init" | "AdminDown" | "Unknown"
const neighborStates: Record<string, OspfNeighborState> = { full: "Full", "2-way": "2-Way", exstart: "ExStart", down: "Down", attempt: "Attempt", init: "Init", exchange: "Exchange", loading: "Loading" }
const bfdStates: Record<string, BfdState> = { up: "Up", down: "Down", init: "Init", admindown: "AdminDown" }
export function normalizeOspfState(value: string): OspfNeighborState { return neighborStates[value.trim().toLowerCase()] ?? "Unknown" }
export function normalizeBfdState(value: string): BfdState { return bfdStates[value.trim().toLowerCase()] ?? "Unknown" }
export function ospfNodeState(states: OspfNeighborState[]): "Full" | "2-Way" | "Pending" | "Down" | "Unknown" | "none" {
if (!states.length) return "none"
if (states.includes("Full")) return "Full"
if (states.includes("Unknown")) return "Unknown"
if (states.includes("2-Way")) return "2-Way"
if (states.some(state => state !== "Down")) return "Pending"
return "Down"
}