docs: function normalizeColor(color) {
    var match;
  
    if (typeof color === 'number') {
      if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {
        return color;
      }
      return null;
    }
  
    // Ordered based on occurrences on Facebook codebase
    if ((match = matchers.hex6.exec(color))) {
      return parseInt(match[1] + 'ff', 16) >>> 0;
    }
  
    if (names.hasOwnProperty(color)) {
      return names[color];
    }
  
    if ((match = matchers.rgb.exec(color))) {
      return (
          parse255(match[1]) << 24 | // r
          parse255(match[2]) << 16 | // g
          parse255(match[3]) << 8 | // b
          0x000000ff // a
        ) >>> 0;
    }
  
    if ((match = matchers.rgba.exec(color))) {
      return (
          parse255(match[1]) << 24 | // r
          parse255(match[2]) << 16 | // g
          parse255(match[3]) << 8 | // b
          parse1(match[4]) // a
        ) >>> 0;
    }
  
    if ((match = matchers.hex3.exec(color))) {
      return parseInt(
          match[1] + match[1] + // r
          match[2] + match[2] + // g
          match[3] + match[3] + // b
          'ff', // a
          16
        ) >>> 0;
    }
  
    // https://drafts.csswg.org/css-color-4/#hex-notation
    if ((match = matchers.hex8.exec(color))) {
      return parseInt(match[1], 16) >>> 0;
    }
  
    if ((match = matchers.hex4.exec(color))) {
      return parseInt(
          match[1] + match[1] + // r
          match[2] + match[2] + // g
          match[3] + match[3] + // b
          match[4] + match[4], // a
          16
        ) >>> 0;
    }
  
    if ((match = matchers.hsl.exec(color))) {
      return (
          hslToRgb(
            parse360(match[1]), // h
            parsePercentage(match[2]), // s
            parsePercentage(match[3]) // l
          ) |
          0x000000ff // a
        ) >>> 0;
    }
  
    if ((match = matchers.hsla.exec(color))) {
      return (
          hslToRgb(
            parse360(match[1]), // h
            parsePercentage(match[2]), // s
            parsePercentage(match[3]) // l
          ) |
          parse1(match[4]) // a
        ) >>> 0;
    }
  
    return null;
  }