2023-11-06 09:28:39 -08:00
|
|
|
/**
|
|
|
|
|
* Copyright (c) HashiCorp, Inc.
|
|
|
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
*/
|
|
|
|
|
|
2023-11-02 16:08:25 -07:00
|
|
|
// Traverses through a RouteInfo object in order to find
|
|
|
|
|
// the dynamic segments of a route and stops traversing when
|
|
|
|
|
// the route name of the caller is reached. In the RouteInfo
|
|
|
|
|
// object the params object contains the dynamic segment of
|
|
|
|
|
// a particular route.
|
|
|
|
|
|
|
|
|
|
export function paramValueFinder(routeName, parentInfo) {
|
|
|
|
|
if (!parentInfo?.params || parentInfo.localName === routeName) {
|
|
|
|
|
return [];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let otherParam = Object.values(parentInfo.params);
|
|
|
|
|
return [...paramValueFinder(routeName, parentInfo.parent), ...otherParam];
|
|
|
|
|
}
|