@refinedev/core
Version:
Refine is a React meta-framework for building enterprise-level, data-intensive applications rapidly with support for modern UI libraries and headless integrations.
20 lines (16 loc) • 544 B
text/typescript
import { splitToSegments } from "./split-to-segments";
import { removeLeadingTrailingSlashes } from "./remove-leading-trailing-slashes";
import { isParameter } from "./is-parameter";
/**
* Picks the route parameters from the given route.
* (e.g. /users/:id/posts/:postId => ['id', 'postId'])
*/
export const pickRouteParams = (route: string) => {
const segments = splitToSegments(removeLeadingTrailingSlashes(route));
return segments.flatMap((s) => {
if (isParameter(s)) {
return [s.slice(1)];
}
return [];
});
};