Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
export function getNavigation(
dataLocation: string,
data: any,
schema: any,
childOptions: FormChildOptionItem[]
): NavigationItem[] {
const allChildOptions: FormChildOptionItem[] = getReactDefaultChildren().concat(
childOptions
);
const dataLocationsOfChildren: string[] = getDataLocationsOfChildren(
schema,
data,
allChildOptions
);
const normalizedDataLocation: string = !dataLocationsOfChildren.includes(dataLocation)
? normalizeDataLocation(dataLocation, data)
: typeof get(data, dataLocation) === "string"
? normalizeDataLocation(dataLocation, data)
: `${normalizeDataLocation(dataLocation, data)}.${propsKeyword}`;
const dataLocations: Set = new Set(
[""].concat(getLocationsFromSegments(normalizedDataLocation.split(".")))
);
const navigationItems: NavigationItem[] = [];
let currentComponentSchema: any = schema;
let lastComponentDataLocation: string = "";
export function getNavigationFromData(
data: any,
schema: any,
childOptions: ChildOptionItem[]
): TreeNavigation {
const childrenDataLocations: string[] = getDataLocationsOfChildren(
schema,
data,
childOptions
);
const navigation: TreeNavigation[] = getNavigationFromChildLocations(
[],
childrenDataLocations,
data,
childOptions
);
return {
text: schema.title ? schema.title : "Undefined",
dataLocation: "",
items: navigation,