Sha256: 66b4ee8da40887070e81ee1e9b4b6fcda111a3ce16c901bdb026195b48c0d91d
Contents?: true
Size: 1.06 KB
Versions: 62
Compression:
Stored size: 1.06 KB
Contents
define(['../string/typecast', '../lang/isArray', '../object/hasOwn'], function (typecast, isArray, hasOwn) { /** * Decode query string into an object of keys => vals. */ function decode(queryStr, shouldTypecast) { var queryArr = (queryStr || '').replace('?', '').split('&'), reg = /([^=]+)=(.+)/, i = -1, obj = {}, equalIndex, cur, pValue, pName; while ((cur = queryArr[++i])) { equalIndex = cur.indexOf('='); pName = cur.substring(0, equalIndex); pValue = decodeURIComponent(cur.substring(equalIndex + 1)); if (shouldTypecast !== false) { pValue = typecast(pValue); } if (hasOwn(obj, pName)){ if(isArray(obj[pName])){ obj[pName].push(pValue); } else { obj[pName] = [obj[pName], pValue]; } } else { obj[pName] = pValue; } } return obj; } return decode; });
Version data entries
62 entries across 62 versions & 1 rubygems