MCPcopy
hub / github.com/Postcatlab/postcat / parseKeyValue

Function parseKeyValue

src/workbench/browser/src/ng1/lib/angular/angular.js:1618–1643  ·  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

1616 * @returns {Object.<string,boolean|Array>}
1617 */
1618 function parseKeyValue( /**string*/ keyValue) {
1619 var obj = {};
1620 forEach((keyValue || '').split('&'), function (keyValue) {
1621 var splitPoint, key, val;
1622 if (keyValue) {
1623 key = keyValue = keyValue.replace(/\+/g, '%20');
1624 splitPoint = keyValue.indexOf('=');
1625 if (splitPoint !== -1) {
1626 key = keyValue.substring(0, splitPoint);
1627 val = keyValue.substring(splitPoint + 1);
1628 }
1629 key = tryDecodeURIComponent(key);
1630 if (isDefined(key)) {
1631 val = isDefined(val) ? tryDecodeURIComponent(val) : true;
1632 if (!hasOwnProperty.call(obj, key)) {
1633 obj[key] = val;
1634 } else if (isArray(obj[key])) {
1635 obj[key].push(val);
1636 } else {
1637 obj[key] = [obj[key], val];
1638 }
1639 }
1640 }
1641 });
1642 return obj;
1643 }
1644
1645 function toKeyValue(obj) {
1646 var parts = [];

Callers 3

parseAppUrlFunction · 0.85
angular.jsFile · 0.85

Calls 5

forEachFunction · 0.85
tryDecodeURIComponentFunction · 0.85
isDefinedFunction · 0.85
isArrayFunction · 0.85
callMethod · 0.80

Tested by

no test coverage detected