All files / helpers enumHelper.ts

100% Statements 16/16
100% Branches 5/5
100% Functions 2/2
100% Lines 16/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 171x 1x 1x 6x 6x 6x 1x 1x 2x 2x 2x 6x 6x 2x 2x 2x  
import { IDropdownOption } from '@contracts/dropdownOption';
 
export const getArrFromEnum = <E, K extends string>(enumType: { [key in K]: E }): Array<string> => {
  const result: Array<string> = Object.keys(enumType).filter((dt) => isNaN(Number(dt)) == true); // filter out the number keys
  return result;
};
 
export const getDropDownOptionsFromEnum = <T extends {}>(enumType: T): Array<IDropdownOption> => {
  const result: Array<IDropdownOption> = Object.keys(enumType)
    .filter((dt) => isNaN(Number(dt)) == false)
    .map((i) => ({
      title: (enumType as { [p: string]: string })[i],
      value: i,
    }));
  return result;
};