MCPcopy Create free account
hub / github.com/bclinkinbeard/angular / parseKeyValue

Function parseKeyValue

test/fixtures/foo.js:1204–1223  ·  view source on GitHub ↗

* Parses an escaped url query string into key-value pairs. * @returns {Object. }

(/**string*/keyValue)

Source from the content-addressed store, hash-verified

1202 * @returns {Object.<string,boolean|Array>}
1203 */
1204function parseKeyValue(/**string*/keyValue) {
1205 var obj = {}, key_value, key;
1206 forEach((keyValue || "").split('&'), function(keyValue) {
1207 if ( keyValue ) {
1208 key_value = keyValue.replace(/\+/g,'%20').split('=');
1209 key = tryDecodeURIComponent(key_value[0]);
1210 if ( isDefined(key) ) {
1211 var val = isDefined(key_value[1]) ? tryDecodeURIComponent(key_value[1]) : true;
1212 if (!hasOwnProperty.call(obj, key)) {
1213 obj[key] = val;
1214 } else if(isArray(obj[key])) {
1215 obj[key].push(val);
1216 } else {
1217 obj[key] = [obj[key],val];
1218 }
1219 }
1220 }
1221 });
1222 return obj;
1223}
1224
1225function toKeyValue(obj) {
1226 var parts = [];

Callers 2

parseAppUrlFunction · 0.85
foo.jsFile · 0.85

Calls 3

forEachFunction · 0.85
tryDecodeURIComponentFunction · 0.85
isDefinedFunction · 0.85

Tested by

no test coverage detected