code: function prepare(props) {
    const {
      translate,
      scale,
      rotation,
      skewX,
      skewY,
      originX,
      originY,
      fontFamily,
      fontSize,
      fontWeight,
      fontStyle,
      style,
      ...clean
    } = props;
  
    const transform = [];
  
    if (originX != null || originY != null) {
      transform.push(`translate(${originX || 0}, ${originY || 0})`);
    }
    if (translate != null) {
      transform.push(`translate(${translate})`);
    }
    if (scale != null) {
      transform.push(`scale(${scale})`);
    }
    // rotation maps to rotate, not to collide with the text rotate attribute (which acts per glyph rather than block)
    if (rotation != null) {
      transform.push(`rotate(${rotation})`);
    }
    if (skewX != null) {
      transform.push(`skewX(${skewX})`);
    }
    if (skewY != null) {
      transform.push(`skewY(${skewY})`);
    }
    if (originX != null || originY != null) {
      transform.push(`translate(${-originX || 0}, ${-originY || 0})`);
    }
  
    if (transform.length) {
      clean.transform = transform.join(' ');
    }
  
    const styles = {};
  
    if (fontFamily != null) {
      styles.fontFamily = fontFamily;
    }
    if (fontSize != null) {
      styles.fontSize = fontSize;
    }
    if (fontWeight != null) {
      styles.fontWeight = fontWeight;
    }
    if (fontStyle != null) {
      styles.fontStyle = fontStyle;
    }
  
    clean.style = resolve(style, styles);
  
    return clean;
  }
docs: `react-native-svg` supports additional props that aren't defined in the spec.
  This function replaces them in a spec conforming manner.
  
  @param {Object} props Properties given to us.
  @returns {Object} Cleaned object.
  @private