All files colors.ts

100% Statements 12/12
100% Branches 4/4
100% Functions 3/3
100% Lines 12/12

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 17 18 19 20 21 22 23 24    2x 4x 3x     4x 3x 3x 9x 9x   3x     4x   12x     4x    
type RgbaFunction = (color: string, opacity: number) => string;
 
export const calculateRgba: RgbaFunction = (color: string, opacity: number): string => {
  if (color[0] === "#") {
    color = color.slice(1);
  }
 
  if (color.length === 3) {
    let res: string = "";
    color.split("").forEach((c: string) => {
      res += c;
      res += c;
    });
    color = res;
  }
 
  let rgbValues: string = color
    .match(/.{2}/g)!
    .map((hex: string) => parseInt(hex, 16))
    .join(", ");
 
  return `rgba(${rgbValues}, ${opacity})`;
};