# All files / utils convertingColor.ts

0% Statements 0/8
0% Branches 0/2
0% Functions 0/5
0% Lines 0/8

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

     // Learn from https://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb

    export const rgbToHex = (r: number, g: number, b: number): string =>
      '#' +
      [r, g, b]
        .map(
          (x): string => {
            const hex = x.toString(16)
            return hex.length === 1 ? '0' + hex : hex
          }
        )
        .join('')

    export const hexToRgb = (hex: string): string =>
      (hex as any)
        .replace(
          /^#?([a-f\d])([a-f\d])([a-f\d])$/i,
          (_: string, r: string, g: string, b: string): string => '#' + r + r + g + g + b + b
        )
        .substring(1)
        .match(/.{2}/g)
        .map((x: string): number => parseInt(x, 16))
        .join(', ')