code: function (attrString) {
      var tokens = {};
  
      // Regex for parsing a css attribute declaration, taken from css-parse:
      // https://github.com/reworkcss/css-parse/blob/7cef3658d0bba872cde05a85339034b187cb3397/index.js#L219
      var regex = /(\*?[-#\/\*\\\w]+(?:\[[0-9a-z_-]+\])?)\s*:\s*(?:\'(?:\\\'|.)*?\'|"(?:\\"|.)*?"|\([^\)]*?\)|[^};])+[;\s]*/g;
      var match = regex.exec(attrString);
      while (match) {
        // match[0] = entire matching string
        // match[1] = css property
        // Prefix the token to prevent conflicts with existing properties.
  
        // XXX No `String.trim` on Safari 4. Swap out $.trim if we want to
        // remove strong dep on jquery.
        tokens[' ' + match[1]] = match[0].trim ?
          match[0].trim() : $.trim(match[0]);
  
        match = regex.exec(attrString);
      }
  
      return tokens;
    }
docs: Parse a string to produce a map from property to attribute string.  Example: "color:red; foo:12px" produces a token {color: "color:red", foo:"foo:12px"}