All files / src format.ts

0% Statements 0/15
0% Branches 0/14
0% Functions 0/1
0% Lines 0/14

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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45                                                                                         
import constants, { formatTypes } from "./constants";
import splitByIndex from "./helpers/splitByIndex";
 
export default (unformatted: string, formatShape?: formatTypes): string => {
  if (!formatShape) return unformatted;
 
  switch (formatShape) {
    case "dashed":
        return `+(${constants.prefix})-${splitByIndex(unformatted, 3, "dash")}`
 
    case "dashed-short":
        return `${splitByIndex(unformatted, 3, "dash")}`
 
    case "dashed-normalized":
        return `0${splitByIndex(unformatted, 3, "dash")}`
 
    case "dashed-unformatted":
        return `${constants.prefix}-${splitByIndex(unformatted, 3, "dash")}`
 
    case "space":
        return `+(${constants.prefix}) ${splitByIndex(unformatted, 3, "space")}`
 
    case "space-short":
        return `${splitByIndex(unformatted, 3, "space")}`
  
    case "space-normalized":
        return `0${splitByIndex(unformatted, 3, "space")}`
  
    case "space-unformatted":
        return `${constants.prefix} ${splitByIndex(unformatted, 3, "space")}`
  
    case "normalized":
        return `0${unformatted}`
        
    case "unformatted":
        return `250${unformatted}`
 
    case "short":
        return unformatted
  
    default:
      return "";
  }
};