code: function compoundMapping(name, value)
  {
      var parts, nameParts, prefix, suffix, dirs, values = {}, easing, i;
      if(isArray(value))
      {
          value = value[0];
          easing = value[1];
      }
      else
      {
          easing = null;
      }
  
      parts = String(value).split(/\s+/);
  
      switch(parts.length)
      {
          case 1: parts = [parts[0], parts[0], parts[0], parts[0]]; break;
          case 2: parts = [parts[0], parts[1], parts[0], parts[1]]; break;
          case 3: parts = [parts[0], parts[1], parts[2], parts[1]]; break;
      }
  
      nameParts = decamelize(name).split('-');
      prefix = nameParts[0];
      suffix = nameParts.length > 1? nameParts[1].substr(0, 1).toUpperCase() + nameParts[1].substr(1) : '';
  
      dirs = name == 'borderRadius'? radiusDirections : compoundDirections;
  
      for(i = 0; i < 4; i++)
      {
          values[prefix + dirs[i] + suffix] = easing? [parts[i], easing] : parts[i];
      }
      return values;
  }
docs: take as input compound properties defined as a space separated string of values and return the list of single value properties
  
  padding: 5 => paddingTop: 5, paddingRight: 5, paddingBottom: 5, paddingLeft: 5
  border-width: 2px 1px => borderTopWidth: 2px, borderRightWidth: 1px, borderBottomWidth: 2px, borderLeftWidth: 1px
  
  @param {string} name
  @param {string} value
  @returns {object}