type-route
Version:
The flexible, type safe routing library.
19 lines (15 loc) • 584 B
text/typescript
import { ParamDefKind, ParamDefCollection } from "./types";
export function getParamDefsOfType<TParamType extends ParamDefKind>(
type: TParamType,
paramDefCollection: ParamDefCollection<ParamDefKind>
) {
const filteredParamDefCollection: ParamDefCollection<TParamType> = {};
Object.keys(paramDefCollection).forEach((name) => {
const paramDef = paramDefCollection[name];
if (paramDef["~internal"].kind === type) {
filteredParamDefCollection[name] =
paramDef as ParamDefCollection<TParamType>[string];
}
});
return filteredParamDefCollection;
}