Files
TheGame/packages/web/utils/skillHelpers.ts
dan13ram d5844dd8db Skills Selector (#124)
* skills map in context

* using react-select

* removed sudo from package.json

* fixed lint and format issues
2020-09-29 21:21:13 -06:00

34 lines
720 B
TypeScript

import { Skill } from 'graphql/getSkills';
export type SkillMap = {
[category: string]: CategoryOption;
};
export type SkillOption = Skill & {
value: string;
label: string;
};
export type CategoryOption = {
label: string;
options: Array<SkillOption>;
};
export const parseSkills = (skills: Array<Skill>): Array<CategoryOption> => {
const skillsMap: SkillMap = {};
skills.map((skill) => {
if (!(skill.category in skillsMap)) {
skillsMap[skill.category] = {
label: skill.category,
options: [],
};
}
return skillsMap[skill.category].options?.push({
value: skill.id,
label: skill.name,
...skill,
});
});
return Object.values(skillsMap);
};