-
Notifications
You must be signed in to change notification settings - Fork 1
/
utils.js
63 lines (48 loc) · 1.52 KB
/
utils.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/**
* Check if the passed url contains data
* return an object {url, data}
*
*/
exports.parseURL = function(url) {
if (url && url.indexOf('?') > 0) {
var dataString = url.split('?')[1]
var urlString = url.split('?')[0]
var dataStringParsed = ''
try {
var arrayParam = dataString.split("&")
var strRes = ''
var resultArray = []
arrayParam.forEach(function (elm) {
var arrayElm = elm.split('=')
if (arrayElm.length > 2) {
var attr = arrayElm.shift()
resultArray.push(attr+'":"'+arrayElm.join('='))
}else {
resultArray.push(arrayElm.join('":"'))
}
dataStringParsed = '{"'+resultArray.join('","')+'"}'
})
} catch (e) {
console.error(e);
return;
}
return {url : urlString, data : JSON.parse(dataStringParsed)}
}else{
return {url : url, data : undefined }
}
};
exports.urlQueryString = function(urlObject) {
if (urlObject && urlObject.url && urlObject.data) {
var urlString = urlObject.url
try {
var dataString = JSON.stringify(urlObject.data)
dataString = dataString.split('":"').join('=').split('","').join('&').split('{"')[1].split('"}')[0]
// console.log(dataString);
return urlObject.url+'?'+dataString
} catch (e) {
console.log('CANNOT stringify the data '+e);
}
}else if (urlObject.url) {
return urlObject.url
}
};