20 lines
619 B
JavaScript
20 lines
619 B
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
// 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];
|
|
}
|