From: dsc Date: Mon, 27 Feb 2012 19:00:11 +0000 (-0800) Subject: Adds _.toKVPairs and _.fromKVPairs for dealing with www-form-encoded serialization. X-Git-Url: http://git.less.ly:3516/?a=commitdiff_plain;h=931cb83221cc6488462b9dd19ca102cafa7d3e3b;p=limn-bak.git Adds _.toKVPairs and _.fromKVPairs for dealing with www-form-encoded serialization. --- diff --git a/lib/underscore/object.co b/lib/underscore/object.co index e61b765..974d096 100644 --- a/lib/underscore/object.co +++ b/lib/underscore/object.co @@ -15,6 +15,27 @@ _obj = do delete obj[k] if -1 is not values.indexOf v obj + + + toKVPairs: (o, item_delimiter='&', kv_delimiter='=') -> + _.reduce do + o + (acc, v, k) -> + acc.push encodeURIComponent(k)+kv_delimiter+encodeURIComponent(v) if k + acc + [] + .join item_delimiter + + + fromKVPairs : (qs, item_delimiter='&', kv_delimiter='=') -> + _.reduce do + qs.split item_delimiter + (acc, pair) -> + [k, v] = pair.split kv_delimiter + acc[ decodeURIComponent k ] = decodeURIComponent v if k + acc + {} + /** * Searches a heirarchical object for a given subkey specified in dotted-property syntax. * @param {Object} base The object to serve as the root of the property-chain.