mirror of
				https://github.com/gnh1201/welsonjs.git
				synced 2025-10-31 04:51:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // uri.js
 | |
| // Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
 | |
| // SPDX-License-Identifier: GPL-3.0-or-later
 | |
| // https://github.com/gnh1201/welsonjs
 | |
| // 
 | |
| /////////////////////////////////////////////////////////////////////////////////
 | |
| // Private APIs / Utility functions
 | |
| /////////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| exports.VERSIONINFO = "URI Lib (uri.js) version 0.1";
 | |
| exports.global = global;
 | |
| exports.require = global.require;
 | |
| 
 | |
| /////////////////////////////////////////////////////////////////////////////////
 | |
| // exports.parseQueryString
 | |
| /////////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| exports.parseQueryString = function(queryString) {
 | |
|     var query = {};
 | |
|     var pairs = [];
 | |
| 
 | |
|     if(queryString.substring(0, 1) == '?') {
 | |
|         pairs = queryString.substring(1).split('&');
 | |
|     } else {
 | |
|         pairs = queryString.split('&');
 | |
|     }
 | |
| 
 | |
|     for (var i = 0; i < pairs.length; i++) {
 | |
|         var pair = pairs[i].split('=');
 | |
|         var _k = decodeURIComponent(pair[0]);
 | |
|         var _v = decodeURIComponent(pair[1] || '');
 | |
|         var path = _k.split('[').map(function(s) {
 | |
|             return (s.indexOf(']') < 0 ? s : s.substring(0, s.length -1));
 | |
|         }).join('/');
 | |
| 
 | |
|         if(path in query) {
 | |
|             if (Array.isArray(query[path])) {
 | |
|                 query[path].push(_v);
 | |
|             } else {
 | |
|                 query[path] = [query[path], _v];
 | |
|             }
 | |
|         } else {
 | |
|             query[path] = _v;
 | |
|         }
 | |
|     };
 | |
| 
 | |
|     return query;
 | |
| };
 |