From 931cb83221cc6488462b9dd19ca102cafa7d3e3b Mon Sep 17 00:00:00 2001 From: dsc Date: Mon, 27 Feb 2012 11:00:11 -0800 Subject: [PATCH] Adds _.toKVPairs and _.fromKVPairs for dealing with www-form-encoded serialization. --- lib/underscore/object.co | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) 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. -- 1.7.0.4