code: function getTagColor(currTag, parents) {
    const defaultColor = 'black';
    const fillVal = currTag.attributes.fill;
    let color;
    const parentsLength = parents.length;
  
    if ('none' === fillVal) {
      return color;
    }
    if ('currentColor' === fillVal) {
      return defaultColor;
    }
    if ('inherit' === fillVal) {
      if (0 === parentsLength) {
        return defaultColor;
      }
      return getTagColor(
        parents[parentsLength - 1],
        parents.slice(0, parentsLength - 1)
      );
      // this might be null.
      // For example: <svg ><path fill="inherit" /> </svg>
      // in this case getTagColor should return null
      // recursive call, the bottom element should be svg,
      // and svg didn't fill color, so just return null
    }
  
    return fillVal;
  }
docs: According to the document (http://www.w3.org/TR/SVG/painting.html#FillProperties) fill <paint> none|currentColor|inherit|<color> [<icccolor>]|<funciri> (not support yet)