// types import { IState, IStateResponse } from "types"; export const orderStateGroups = ( unorderedStateGroups: IStateResponse | undefined ): IStateResponse | undefined => { if (!unorderedStateGroups) return undefined; return Object.assign( { backlog: [], unstarted: [], started: [], completed: [], cancelled: [] }, unorderedStateGroups ); }; export const getStatesList = (stateGroups: IStateResponse | undefined): IState[] | undefined => { if (!stateGroups) return undefined; // order the unordered state groups first const orderedStateGroups = orderStateGroups(stateGroups); if (!orderedStateGroups) return undefined; // extract states from the groups and return them return Object.keys(orderedStateGroups) .map((group) => [...orderedStateGroups[group].map((state: IState) => state)]) .flat(); };