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