UNPKG

729 BPlain TextView Raw
1import { Route } from '../types/routing'
2import ForwardingRoutingTable, { RouteUpdate } from '../services/forwarding-routing-table'
3import PrefixMap from './prefix-map'
4import { mapValues } from 'lodash'
5
6export function formatRouteAsJson (route: Route) {
7 return {
8 ...route,
9 auth: undefined,
10 path: route.path.join(' ')
11 }
12}
13
14export function formatRoutingTableAsJson (routingTable: PrefixMap<Route>) {
15 return mapValues(routingTable.toJSON(), formatRouteAsJson)
16}
17
18export function formatForwardingRoutingTableAsJson (routingTable: ForwardingRoutingTable) {
19 return mapValues(routingTable.toJSON(), (routeUpdate: RouteUpdate) => (
20 routeUpdate.route
21 ? formatRouteAsJson(routeUpdate.route)
22 : null
23 ))
24}