node-red-contrib-web-worldmap 2.23.5 → 2.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -0
- package/README.md +7 -1
- package/node_modules/body-parser/HISTORY.md +15 -0
- package/node_modules/body-parser/README.md +25 -12
- package/node_modules/body-parser/package.json +32 -35
- package/node_modules/{body-parser/node_modules/bytes → bytes}/History.md +5 -0
- package/node_modules/{body-parser/node_modules/bytes → bytes}/LICENSE +0 -0
- package/node_modules/{raw-body/node_modules/bytes → bytes}/Readme.md +42 -16
- package/node_modules/{raw-body/node_modules/bytes → bytes}/index.js +5 -1
- package/node_modules/{raw-body/node_modules/bytes → bytes}/package.json +20 -21
- package/node_modules/content-disposition/HISTORY.md +5 -0
- package/node_modules/content-disposition/README.md +3 -9
- package/node_modules/content-disposition/index.js +1 -1
- package/node_modules/content-disposition/node_modules/safe-buffer/LICENSE +21 -0
- package/node_modules/content-disposition/node_modules/safe-buffer/README.md +584 -0
- package/node_modules/content-disposition/node_modules/safe-buffer/index.d.ts +187 -0
- package/node_modules/content-disposition/node_modules/safe-buffer/index.js +65 -0
- package/node_modules/content-disposition/node_modules/safe-buffer/package.json +76 -0
- package/node_modules/content-disposition/package.json +25 -28
- package/node_modules/cookie/HISTORY.md +5 -0
- package/node_modules/cookie/README.md +4 -0
- package/node_modules/cookie/index.js +5 -1
- package/node_modules/cookie/package.json +20 -23
- package/node_modules/express/History.md +33 -0
- package/node_modules/express/Readme.md +8 -5
- package/node_modules/express/lib/application.js +1 -1
- package/node_modules/express/lib/request.js +1 -1
- package/node_modules/express/lib/response.js +16 -11
- package/node_modules/express/lib/router/index.js +6 -0
- package/node_modules/express/lib/utils.js +2 -6
- package/node_modules/express/node_modules/safe-buffer/LICENSE +21 -0
- package/node_modules/express/node_modules/safe-buffer/README.md +584 -0
- package/node_modules/express/node_modules/safe-buffer/index.d.ts +187 -0
- package/node_modules/express/node_modules/safe-buffer/index.js +65 -0
- package/node_modules/express/node_modules/safe-buffer/package.json +76 -0
- package/node_modules/express/package.json +35 -36
- package/node_modules/faye-websocket/CHANGELOG.md +5 -0
- package/node_modules/faye-websocket/LICENSE.md +1 -1
- package/node_modules/faye-websocket/README.md +13 -13
- package/node_modules/faye-websocket/lib/faye/websocket/api.js +10 -8
- package/node_modules/faye-websocket/lib/faye/websocket/client.js +4 -4
- package/node_modules/faye-websocket/lib/faye/websocket.js +1 -1
- package/node_modules/faye-websocket/package.json +14 -17
- package/node_modules/forwarded/HISTORY.md +5 -0
- package/node_modules/forwarded/README.md +3 -3
- package/node_modules/forwarded/index.js +15 -1
- package/node_modules/forwarded/package.json +25 -26
- package/node_modules/http-errors/HISTORY.md +16 -0
- package/node_modules/http-errors/README.md +12 -6
- package/node_modules/http-errors/index.js +35 -2
- package/node_modules/http-errors/package.json +28 -31
- package/node_modules/{websocket-driver/node_modules/http-parser-js → http-parser-js}/LICENSE.md +0 -0
- package/node_modules/http-parser-js/README.md +39 -0
- package/node_modules/http-parser-js/http-parser.d.ts +175 -0
- package/node_modules/{websocket-driver/node_modules/http-parser-js → http-parser-js}/http-parser.js +8 -5
- package/node_modules/{websocket-driver/node_modules/http-parser-js → http-parser-js}/package.json +17 -19
- package/node_modules/inherits/inherits.js +2 -0
- package/node_modules/inherits/inherits_browser.js +18 -14
- package/node_modules/inherits/package.json +15 -18
- package/node_modules/ipaddr.js/README.md +1 -1
- package/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +6 -9
- package/node_modules/ipaddr.js/package.json +15 -17
- package/node_modules/proxy-addr/HISTORY.md +11 -0
- package/node_modules/proxy-addr/README.md +3 -19
- package/node_modules/proxy-addr/index.js +1 -1
- package/node_modules/proxy-addr/package.json +28 -31
- package/node_modules/qs/.editorconfig +9 -0
- package/node_modules/qs/.eslintignore +2 -1
- package/node_modules/qs/.eslintrc +15 -1
- package/node_modules/qs/.github/FUNDING.yml +12 -0
- package/node_modules/qs/.nycrc +13 -0
- package/node_modules/qs/CHANGELOG.md +103 -0
- package/node_modules/qs/LICENSE.md +29 -0
- package/node_modules/qs/README.md +34 -0
- package/node_modules/qs/dist/qs.js +117 -67
- package/node_modules/qs/lib/formats.js +9 -4
- package/node_modules/qs/lib/parse.js +29 -14
- package/node_modules/qs/lib/stringify.js +55 -46
- package/node_modules/qs/lib/utils.js +23 -2
- package/node_modules/qs/package.json +39 -31
- package/node_modules/qs/test/parse.js +97 -1
- package/node_modules/qs/test/stringify.js +115 -1
- package/node_modules/qs/test/utils.js +1 -1
- package/node_modules/raw-body/HISTORY.md +14 -0
- package/node_modules/raw-body/README.md +3 -5
- package/node_modules/raw-body/package.json +30 -33
- package/node_modules/send/HISTORY.md +10 -0
- package/node_modules/send/README.md +4 -6
- package/node_modules/send/index.js +7 -3
- package/node_modules/send/node_modules/ms/index.js +3 -3
- package/node_modules/send/node_modules/ms/license.md +1 -1
- package/node_modules/send/node_modules/ms/package.json +19 -21
- package/node_modules/send/node_modules/ms/readme.md +1 -2
- package/node_modules/send/package.json +28 -31
- package/node_modules/serve-static/HISTORY.md +8 -0
- package/node_modules/serve-static/README.md +9 -11
- package/node_modules/serve-static/package.json +28 -31
- package/node_modules/setprototypeof/README.md +1 -1
- package/node_modules/setprototypeof/index.js +1 -1
- package/node_modules/setprototypeof/package.json +17 -18
- package/node_modules/sockjs/Changelog +12 -0
- package/node_modules/sockjs/lib/transport.js +1 -1
- package/node_modules/sockjs/package.json +14 -16
- package/node_modules/toidentifier/HISTORY.md +9 -0
- package/node_modules/toidentifier/README.md +3 -3
- package/node_modules/toidentifier/index.js +2 -0
- package/node_modules/toidentifier/package.json +28 -27
- package/node_modules/uuid/CHANGELOG.md +154 -44
- package/node_modules/uuid/CONTRIBUTING.md +18 -0
- package/node_modules/uuid/LICENSE.md +4 -16
- package/node_modules/uuid/README.md +384 -155
- package/node_modules/uuid/dist/bin/uuid +2 -0
- package/node_modules/uuid/dist/esm-browser/index.js +9 -0
- package/node_modules/uuid/{lib/md5-browser.js → dist/esm-browser/md5.js} +70 -71
- package/node_modules/uuid/dist/esm-browser/nil.js +1 -0
- package/node_modules/uuid/dist/esm-browser/parse.js +35 -0
- package/node_modules/uuid/dist/esm-browser/regex.js +1 -0
- package/node_modules/uuid/dist/esm-browser/rng.js +19 -0
- package/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
- package/node_modules/uuid/dist/esm-browser/stringify.js +30 -0
- package/node_modules/uuid/{v1.js → dist/esm-browser/v1.js} +36 -50
- package/node_modules/uuid/dist/esm-browser/v3.js +4 -0
- package/node_modules/uuid/dist/esm-browser/v35.js +64 -0
- package/node_modules/uuid/dist/esm-browser/v4.js +24 -0
- package/node_modules/uuid/dist/esm-browser/v5.js +4 -0
- package/node_modules/uuid/dist/esm-browser/validate.js +7 -0
- package/node_modules/uuid/dist/esm-browser/version.js +11 -0
- package/node_modules/uuid/dist/esm-node/index.js +9 -0
- package/node_modules/uuid/dist/esm-node/md5.js +13 -0
- package/node_modules/uuid/dist/esm-node/nil.js +1 -0
- package/node_modules/uuid/dist/esm-node/parse.js +35 -0
- package/node_modules/uuid/dist/esm-node/regex.js +1 -0
- package/node_modules/uuid/dist/esm-node/rng.js +12 -0
- package/node_modules/uuid/dist/esm-node/sha1.js +13 -0
- package/node_modules/uuid/dist/esm-node/stringify.js +29 -0
- package/node_modules/uuid/dist/esm-node/v1.js +95 -0
- package/node_modules/uuid/dist/esm-node/v3.js +4 -0
- package/node_modules/uuid/dist/esm-node/v35.js +64 -0
- package/node_modules/uuid/dist/esm-node/v4.js +24 -0
- package/node_modules/uuid/dist/esm-node/v5.js +4 -0
- package/node_modules/uuid/dist/esm-node/validate.js +7 -0
- package/node_modules/uuid/dist/esm-node/version.js +11 -0
- package/node_modules/uuid/dist/index.js +79 -0
- package/node_modules/uuid/dist/md5-browser.js +223 -0
- package/node_modules/uuid/dist/md5.js +23 -0
- package/node_modules/uuid/dist/nil.js +8 -0
- package/node_modules/uuid/dist/parse.js +45 -0
- package/node_modules/uuid/dist/regex.js +8 -0
- package/node_modules/uuid/dist/rng-browser.js +26 -0
- package/node_modules/uuid/dist/rng.js +24 -0
- package/node_modules/uuid/dist/sha1-browser.js +104 -0
- package/node_modules/uuid/dist/sha1.js +23 -0
- package/node_modules/uuid/dist/stringify.js +39 -0
- package/node_modules/uuid/dist/umd/uuid.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidNIL.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidParse.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidStringify.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidValidate.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidVersion.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidv1.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidv3.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidv4.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidv5.min.js +1 -0
- package/node_modules/uuid/dist/uuid-bin.js +85 -0
- package/node_modules/uuid/dist/v1.js +107 -0
- package/node_modules/uuid/dist/v3.js +16 -0
- package/node_modules/uuid/dist/v35.js +78 -0
- package/node_modules/uuid/dist/v4.js +37 -0
- package/node_modules/uuid/dist/v5.js +16 -0
- package/node_modules/uuid/dist/validate.js +17 -0
- package/node_modules/uuid/dist/version.js +21 -0
- package/node_modules/uuid/package.json +116 -55
- package/node_modules/uuid/wrapper.mjs +10 -0
- package/package.json +3 -3
- package/worldmap/index.html +1 -0
- package/worldmap/leaflet/leaflet-arc.min.js +1 -0
- package/worldmap/worldmap.js +36 -22
- package/worldmap.html +1 -1
- package/worldmap.js +2 -2
- package/node_modules/body-parser/node_modules/bytes/Readme.md +0 -126
- package/node_modules/body-parser/node_modules/bytes/index.js +0 -162
- package/node_modules/body-parser/node_modules/bytes/package.json +0 -86
- package/node_modules/qs/LICENSE +0 -28
- package/node_modules/qs/test/.eslintrc +0 -17
- package/node_modules/qs/test/index.js +0 -7
- package/node_modules/raw-body/node_modules/bytes/History.md +0 -87
- package/node_modules/raw-body/node_modules/bytes/LICENSE +0 -23
- package/node_modules/uuid/AUTHORS +0 -5
- package/node_modules/uuid/bin/uuid +0 -65
- package/node_modules/uuid/index.js +0 -8
- package/node_modules/uuid/lib/bytesToUuid.js +0 -26
- package/node_modules/uuid/lib/md5.js +0 -25
- package/node_modules/uuid/lib/rng-browser.js +0 -34
- package/node_modules/uuid/lib/rng.js +0 -8
- package/node_modules/uuid/lib/sha1-browser.js +0 -89
- package/node_modules/uuid/lib/sha1.js +0 -25
- package/node_modules/uuid/lib/v35.js +0 -57
- package/node_modules/uuid/v3.js +0 -4
- package/node_modules/uuid/v4.js +0 -29
- package/node_modules/uuid/v5.js +0 -3
- package/node_modules/websocket-driver/node_modules/http-parser-js/CHANGELOG.md +0 -14
- package/node_modules/websocket-driver/node_modules/http-parser-js/README.md +0 -31
|
@@ -5,14 +5,14 @@ var formats = require('./formats');
|
|
|
5
5
|
var has = Object.prototype.hasOwnProperty;
|
|
6
6
|
|
|
7
7
|
var arrayPrefixGenerators = {
|
|
8
|
-
brackets: function brackets(prefix) {
|
|
8
|
+
brackets: function brackets(prefix) {
|
|
9
9
|
return prefix + '[]';
|
|
10
10
|
},
|
|
11
11
|
comma: 'comma',
|
|
12
|
-
indices: function indices(prefix, key) {
|
|
12
|
+
indices: function indices(prefix, key) {
|
|
13
13
|
return prefix + '[' + key + ']';
|
|
14
14
|
},
|
|
15
|
-
repeat: function repeat(prefix) {
|
|
15
|
+
repeat: function repeat(prefix) {
|
|
16
16
|
return prefix;
|
|
17
17
|
}
|
|
18
18
|
};
|
|
@@ -25,6 +25,7 @@ var pushToArray = function (arr, valueOrArray) {
|
|
|
25
25
|
|
|
26
26
|
var toISO = Date.prototype.toISOString;
|
|
27
27
|
|
|
28
|
+
var defaultFormat = formats['default'];
|
|
28
29
|
var defaults = {
|
|
29
30
|
addQueryPrefix: false,
|
|
30
31
|
allowDots: false,
|
|
@@ -34,17 +35,26 @@ var defaults = {
|
|
|
34
35
|
encode: true,
|
|
35
36
|
encoder: utils.encode,
|
|
36
37
|
encodeValuesOnly: false,
|
|
37
|
-
|
|
38
|
+
format: defaultFormat,
|
|
39
|
+
formatter: formats.formatters[defaultFormat],
|
|
38
40
|
// deprecated
|
|
39
41
|
indices: false,
|
|
40
|
-
serializeDate: function serializeDate(date) {
|
|
42
|
+
serializeDate: function serializeDate(date) {
|
|
41
43
|
return toISO.call(date);
|
|
42
44
|
},
|
|
43
45
|
skipNulls: false,
|
|
44
46
|
strictNullHandling: false
|
|
45
47
|
};
|
|
46
48
|
|
|
47
|
-
var
|
|
49
|
+
var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
|
|
50
|
+
return typeof v === 'string'
|
|
51
|
+
|| typeof v === 'number'
|
|
52
|
+
|| typeof v === 'boolean'
|
|
53
|
+
|| typeof v === 'symbol'
|
|
54
|
+
|| typeof v === 'bigint';
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var stringify = function stringify(
|
|
48
58
|
object,
|
|
49
59
|
prefix,
|
|
50
60
|
generateArrayPrefix,
|
|
@@ -55,6 +65,7 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|
|
55
65
|
sort,
|
|
56
66
|
allowDots,
|
|
57
67
|
serializeDate,
|
|
68
|
+
format,
|
|
58
69
|
formatter,
|
|
59
70
|
encodeValuesOnly,
|
|
60
71
|
charset
|
|
@@ -65,21 +76,26 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|
|
65
76
|
} else if (obj instanceof Date) {
|
|
66
77
|
obj = serializeDate(obj);
|
|
67
78
|
} else if (generateArrayPrefix === 'comma' && isArray(obj)) {
|
|
68
|
-
obj =
|
|
79
|
+
obj = utils.maybeMap(obj, function (value) {
|
|
80
|
+
if (value instanceof Date) {
|
|
81
|
+
return serializeDate(value);
|
|
82
|
+
}
|
|
83
|
+
return value;
|
|
84
|
+
});
|
|
69
85
|
}
|
|
70
86
|
|
|
71
87
|
if (obj === null) {
|
|
72
88
|
if (strictNullHandling) {
|
|
73
|
-
return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset) : prefix;
|
|
89
|
+
return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;
|
|
74
90
|
}
|
|
75
91
|
|
|
76
92
|
obj = '';
|
|
77
93
|
}
|
|
78
94
|
|
|
79
|
-
if (
|
|
95
|
+
if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
|
|
80
96
|
if (encoder) {
|
|
81
|
-
var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset);
|
|
82
|
-
return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset))];
|
|
97
|
+
var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);
|
|
98
|
+
return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];
|
|
83
99
|
}
|
|
84
100
|
return [formatter(prefix) + '=' + formatter(String(obj))];
|
|
85
101
|
}
|
|
@@ -91,7 +107,10 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|
|
91
107
|
}
|
|
92
108
|
|
|
93
109
|
var objKeys;
|
|
94
|
-
if (isArray(
|
|
110
|
+
if (generateArrayPrefix === 'comma' && isArray(obj)) {
|
|
111
|
+
// we need to join elements in
|
|
112
|
+
objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : undefined }];
|
|
113
|
+
} else if (isArray(filter)) {
|
|
95
114
|
objKeys = filter;
|
|
96
115
|
} else {
|
|
97
116
|
var keys = Object.keys(obj);
|
|
@@ -100,44 +119,32 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|
|
100
119
|
|
|
101
120
|
for (var i = 0; i < objKeys.length; ++i) {
|
|
102
121
|
var key = objKeys[i];
|
|
122
|
+
var value = typeof key === 'object' && key.value !== undefined ? key.value : obj[key];
|
|
103
123
|
|
|
104
|
-
if (skipNulls &&
|
|
124
|
+
if (skipNulls && value === null) {
|
|
105
125
|
continue;
|
|
106
126
|
}
|
|
107
127
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
generateArrayPrefix,
|
|
129
|
-
strictNullHandling,
|
|
130
|
-
skipNulls,
|
|
131
|
-
encoder,
|
|
132
|
-
filter,
|
|
133
|
-
sort,
|
|
134
|
-
allowDots,
|
|
135
|
-
serializeDate,
|
|
136
|
-
formatter,
|
|
137
|
-
encodeValuesOnly,
|
|
138
|
-
charset
|
|
139
|
-
));
|
|
140
|
-
}
|
|
128
|
+
var keyPrefix = isArray(obj)
|
|
129
|
+
? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix
|
|
130
|
+
: prefix + (allowDots ? '.' + key : '[' + key + ']');
|
|
131
|
+
|
|
132
|
+
pushToArray(values, stringify(
|
|
133
|
+
value,
|
|
134
|
+
keyPrefix,
|
|
135
|
+
generateArrayPrefix,
|
|
136
|
+
strictNullHandling,
|
|
137
|
+
skipNulls,
|
|
138
|
+
encoder,
|
|
139
|
+
filter,
|
|
140
|
+
sort,
|
|
141
|
+
allowDots,
|
|
142
|
+
serializeDate,
|
|
143
|
+
format,
|
|
144
|
+
formatter,
|
|
145
|
+
encodeValuesOnly,
|
|
146
|
+
charset
|
|
147
|
+
));
|
|
141
148
|
}
|
|
142
149
|
|
|
143
150
|
return values;
|
|
@@ -181,6 +188,7 @@ var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
|
|
|
181
188
|
encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
|
|
182
189
|
encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
|
|
183
190
|
filter: filter,
|
|
191
|
+
format: format,
|
|
184
192
|
formatter: formatter,
|
|
185
193
|
serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
|
|
186
194
|
skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
|
|
@@ -246,6 +254,7 @@ module.exports = function (object, opts) {
|
|
|
246
254
|
options.sort,
|
|
247
255
|
options.allowDots,
|
|
248
256
|
options.serializeDate,
|
|
257
|
+
options.format,
|
|
249
258
|
options.formatter,
|
|
250
259
|
options.encodeValuesOnly,
|
|
251
260
|
options.charset
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var formats = require('./formats');
|
|
4
|
+
|
|
3
5
|
var has = Object.prototype.hasOwnProperty;
|
|
4
6
|
var isArray = Array.isArray;
|
|
5
7
|
|
|
@@ -43,6 +45,7 @@ var arrayToObject = function arrayToObject(source, options) {
|
|
|
43
45
|
};
|
|
44
46
|
|
|
45
47
|
var merge = function merge(target, source, options) {
|
|
48
|
+
/* eslint no-param-reassign: 0 */
|
|
46
49
|
if (!source) {
|
|
47
50
|
return target;
|
|
48
51
|
}
|
|
@@ -119,14 +122,19 @@ var decode = function (str, decoder, charset) {
|
|
|
119
122
|
}
|
|
120
123
|
};
|
|
121
124
|
|
|
122
|
-
var encode = function encode(str, defaultEncoder, charset) {
|
|
125
|
+
var encode = function encode(str, defaultEncoder, charset, kind, format) {
|
|
123
126
|
// This code was originally written by Brian White (mscdex) for the io.js core querystring library.
|
|
124
127
|
// It has been adapted here for stricter adherence to RFC 3986
|
|
125
128
|
if (str.length === 0) {
|
|
126
129
|
return str;
|
|
127
130
|
}
|
|
128
131
|
|
|
129
|
-
var string =
|
|
132
|
+
var string = str;
|
|
133
|
+
if (typeof str === 'symbol') {
|
|
134
|
+
string = Symbol.prototype.toString.call(str);
|
|
135
|
+
} else if (typeof str !== 'string') {
|
|
136
|
+
string = String(str);
|
|
137
|
+
}
|
|
130
138
|
|
|
131
139
|
if (charset === 'iso-8859-1') {
|
|
132
140
|
return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
|
|
@@ -146,6 +154,7 @@ var encode = function encode(str, defaultEncoder, charset) {
|
|
|
146
154
|
|| (c >= 0x30 && c <= 0x39) // 0-9
|
|
147
155
|
|| (c >= 0x41 && c <= 0x5A) // a-z
|
|
148
156
|
|| (c >= 0x61 && c <= 0x7A) // A-Z
|
|
157
|
+
|| (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )
|
|
149
158
|
) {
|
|
150
159
|
out += string.charAt(i);
|
|
151
160
|
continue;
|
|
@@ -217,6 +226,17 @@ var combine = function combine(a, b) {
|
|
|
217
226
|
return [].concat(a, b);
|
|
218
227
|
};
|
|
219
228
|
|
|
229
|
+
var maybeMap = function maybeMap(val, fn) {
|
|
230
|
+
if (isArray(val)) {
|
|
231
|
+
var mapped = [];
|
|
232
|
+
for (var i = 0; i < val.length; i += 1) {
|
|
233
|
+
mapped.push(fn(val[i]));
|
|
234
|
+
}
|
|
235
|
+
return mapped;
|
|
236
|
+
}
|
|
237
|
+
return fn(val);
|
|
238
|
+
};
|
|
239
|
+
|
|
220
240
|
module.exports = {
|
|
221
241
|
arrayToObject: arrayToObject,
|
|
222
242
|
assign: assign,
|
|
@@ -226,5 +246,6 @@ module.exports = {
|
|
|
226
246
|
encode: encode,
|
|
227
247
|
isBuffer: isBuffer,
|
|
228
248
|
isRegExp: isRegExp,
|
|
249
|
+
maybeMap: maybeMap,
|
|
229
250
|
merge: merge
|
|
230
251
|
};
|
|
@@ -1,36 +1,32 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
|
|
4
|
-
"qs@6.7.0",
|
|
5
|
-
"/Users/conway/Projects/worldmap"
|
|
6
|
-
]
|
|
7
|
-
],
|
|
8
|
-
"_from": "qs@6.7.0",
|
|
9
|
-
"_id": "qs@6.7.0",
|
|
2
|
+
"_from": "qs@6.9.6",
|
|
3
|
+
"_id": "qs@6.9.6",
|
|
10
4
|
"_inBundle": false,
|
|
11
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==",
|
|
12
6
|
"_location": "/qs",
|
|
13
7
|
"_phantomChildren": {},
|
|
14
8
|
"_requested": {
|
|
15
9
|
"type": "version",
|
|
16
10
|
"registry": true,
|
|
17
|
-
"raw": "qs@6.
|
|
11
|
+
"raw": "qs@6.9.6",
|
|
18
12
|
"name": "qs",
|
|
19
13
|
"escapedName": "qs",
|
|
20
|
-
"rawSpec": "6.
|
|
14
|
+
"rawSpec": "6.9.6",
|
|
21
15
|
"saveSpec": null,
|
|
22
|
-
"fetchSpec": "6.
|
|
16
|
+
"fetchSpec": "6.9.6"
|
|
23
17
|
},
|
|
24
18
|
"_requiredBy": [
|
|
25
19
|
"/body-parser",
|
|
26
20
|
"/express"
|
|
27
21
|
],
|
|
28
|
-
"_resolved": "https://registry.npmjs.org/qs/-/qs-6.
|
|
29
|
-
"
|
|
30
|
-
"
|
|
22
|
+
"_resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
|
|
23
|
+
"_shasum": "26ed3c8243a431b2924aca84cc90471f35d5a0ee",
|
|
24
|
+
"_spec": "qs@6.9.6",
|
|
25
|
+
"_where": "/Users/conway/Projects/worldmap/node_modules/express",
|
|
31
26
|
"bugs": {
|
|
32
27
|
"url": "https://github.com/ljharb/qs/issues"
|
|
33
28
|
},
|
|
29
|
+
"bundleDependencies": false,
|
|
34
30
|
"contributors": [
|
|
35
31
|
{
|
|
36
32
|
"name": "Jordan Harband",
|
|
@@ -39,26 +35,38 @@
|
|
|
39
35
|
}
|
|
40
36
|
],
|
|
41
37
|
"dependencies": {},
|
|
38
|
+
"deprecated": false,
|
|
42
39
|
"description": "A querystring parser that supports nesting and arrays, with a depth limit",
|
|
43
40
|
"devDependencies": {
|
|
44
|
-
"@ljharb/eslint-config": "^
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"eslint": "^
|
|
49
|
-
"evalmd": "^0.0.
|
|
41
|
+
"@ljharb/eslint-config": "^17.3.0",
|
|
42
|
+
"aud": "^1.1.3",
|
|
43
|
+
"browserify": "^16.5.2",
|
|
44
|
+
"eclint": "^2.8.1",
|
|
45
|
+
"eslint": "^7.17.0",
|
|
46
|
+
"evalmd": "^0.0.19",
|
|
50
47
|
"for-each": "^0.3.3",
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
48
|
+
"has-symbols": "^1.0.1",
|
|
49
|
+
"iconv-lite": "^0.5.1",
|
|
50
|
+
"mkdirp": "^0.5.5",
|
|
51
|
+
"nyc": "^10.3.2",
|
|
52
|
+
"object-inspect": "^1.9.0",
|
|
54
53
|
"qs-iconv": "^1.0.4",
|
|
55
|
-
"safe-publish-latest": "^1.1.
|
|
54
|
+
"safe-publish-latest": "^1.1.4",
|
|
56
55
|
"safer-buffer": "^2.1.2",
|
|
57
|
-
"tape": "^
|
|
56
|
+
"tape": "^5.1.1"
|
|
58
57
|
},
|
|
59
58
|
"engines": {
|
|
60
59
|
"node": ">=0.6"
|
|
61
60
|
},
|
|
61
|
+
"funding": {
|
|
62
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
63
|
+
},
|
|
64
|
+
"greenkeeper": {
|
|
65
|
+
"ignore": [
|
|
66
|
+
"iconv-lite",
|
|
67
|
+
"mkdirp"
|
|
68
|
+
]
|
|
69
|
+
},
|
|
62
70
|
"homepage": "https://github.com/ljharb/qs",
|
|
63
71
|
"keywords": [
|
|
64
72
|
"querystring",
|
|
@@ -76,15 +84,15 @@
|
|
|
76
84
|
"url": "git+https://github.com/ljharb/qs.git"
|
|
77
85
|
},
|
|
78
86
|
"scripts": {
|
|
79
|
-
"coverage": "covert test",
|
|
80
87
|
"dist": "mkdirp dist && browserify --standalone Qs lib/index.js > dist/qs.js",
|
|
81
88
|
"lint": "eslint lib/*.js test/*.js",
|
|
82
|
-
"postlint": "
|
|
89
|
+
"postlint": "eclint check * lib/* test/*",
|
|
90
|
+
"posttest": "aud --production",
|
|
83
91
|
"prepublish": "safe-publish-latest && npm run dist",
|
|
84
92
|
"pretest": "npm run --silent readme && npm run --silent lint",
|
|
85
93
|
"readme": "evalmd README.md",
|
|
86
|
-
"test": "npm run
|
|
87
|
-
"tests-only": "
|
|
94
|
+
"test": "npm run tests-only",
|
|
95
|
+
"tests-only": "nyc tape 'test/**/*.js'"
|
|
88
96
|
},
|
|
89
|
-
"version": "6.
|
|
97
|
+
"version": "6.9.6"
|
|
90
98
|
}
|
|
@@ -32,6 +32,38 @@ test('parse()', function (t) {
|
|
|
32
32
|
st.end();
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
+
t.test('arrayFormat: brackets allows only explicit arrays', function (st) {
|
|
36
|
+
st.deepEqual(qs.parse('a[]=b&a[]=c', { arrayFormat: 'brackets' }), { a: ['b', 'c'] });
|
|
37
|
+
st.deepEqual(qs.parse('a[0]=b&a[1]=c', { arrayFormat: 'brackets' }), { a: ['b', 'c'] });
|
|
38
|
+
st.deepEqual(qs.parse('a=b,c', { arrayFormat: 'brackets' }), { a: 'b,c' });
|
|
39
|
+
st.deepEqual(qs.parse('a=b&a=c', { arrayFormat: 'brackets' }), { a: ['b', 'c'] });
|
|
40
|
+
st.end();
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
t.test('arrayFormat: indices allows only indexed arrays', function (st) {
|
|
44
|
+
st.deepEqual(qs.parse('a[]=b&a[]=c', { arrayFormat: 'indices' }), { a: ['b', 'c'] });
|
|
45
|
+
st.deepEqual(qs.parse('a[0]=b&a[1]=c', { arrayFormat: 'indices' }), { a: ['b', 'c'] });
|
|
46
|
+
st.deepEqual(qs.parse('a=b,c', { arrayFormat: 'indices' }), { a: 'b,c' });
|
|
47
|
+
st.deepEqual(qs.parse('a=b&a=c', { arrayFormat: 'indices' }), { a: ['b', 'c'] });
|
|
48
|
+
st.end();
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
t.test('arrayFormat: comma allows only comma-separated arrays', function (st) {
|
|
52
|
+
st.deepEqual(qs.parse('a[]=b&a[]=c', { arrayFormat: 'comma' }), { a: ['b', 'c'] });
|
|
53
|
+
st.deepEqual(qs.parse('a[0]=b&a[1]=c', { arrayFormat: 'comma' }), { a: ['b', 'c'] });
|
|
54
|
+
st.deepEqual(qs.parse('a=b,c', { arrayFormat: 'comma' }), { a: 'b,c' });
|
|
55
|
+
st.deepEqual(qs.parse('a=b&a=c', { arrayFormat: 'comma' }), { a: ['b', 'c'] });
|
|
56
|
+
st.end();
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
t.test('arrayFormat: repeat allows only repeated values', function (st) {
|
|
60
|
+
st.deepEqual(qs.parse('a[]=b&a[]=c', { arrayFormat: 'repeat' }), { a: ['b', 'c'] });
|
|
61
|
+
st.deepEqual(qs.parse('a[0]=b&a[1]=c', { arrayFormat: 'repeat' }), { a: ['b', 'c'] });
|
|
62
|
+
st.deepEqual(qs.parse('a=b,c', { arrayFormat: 'repeat' }), { a: 'b,c' });
|
|
63
|
+
st.deepEqual(qs.parse('a=b&a=c', { arrayFormat: 'repeat' }), { a: ['b', 'c'] });
|
|
64
|
+
st.end();
|
|
65
|
+
});
|
|
66
|
+
|
|
35
67
|
t.test('allows enabling dot notation', function (st) {
|
|
36
68
|
st.deepEqual(qs.parse('a.b=c'), { 'a.b': 'c' });
|
|
37
69
|
st.deepEqual(qs.parse('a.b=c', { allowDots: true }), { a: { b: 'c' } });
|
|
@@ -52,6 +84,18 @@ test('parse()', function (t) {
|
|
|
52
84
|
st.end();
|
|
53
85
|
});
|
|
54
86
|
|
|
87
|
+
t.test('uses original key when depth = 0', function (st) {
|
|
88
|
+
st.deepEqual(qs.parse('a[0]=b&a[1]=c', { depth: 0 }), { 'a[0]': 'b', 'a[1]': 'c' });
|
|
89
|
+
st.deepEqual(qs.parse('a[0][0]=b&a[0][1]=c&a[1]=d&e=2', { depth: 0 }), { 'a[0][0]': 'b', 'a[0][1]': 'c', 'a[1]': 'd', e: '2' });
|
|
90
|
+
st.end();
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
t.test('uses original key when depth = false', function (st) {
|
|
94
|
+
st.deepEqual(qs.parse('a[0]=b&a[1]=c', { depth: false }), { 'a[0]': 'b', 'a[1]': 'c' });
|
|
95
|
+
st.deepEqual(qs.parse('a[0][0]=b&a[0][1]=c&a[1]=d&e=2', { depth: false }), { 'a[0][0]': 'b', 'a[0][1]': 'c', 'a[1]': 'd', e: '2' });
|
|
96
|
+
st.end();
|
|
97
|
+
});
|
|
98
|
+
|
|
55
99
|
t.deepEqual(qs.parse('a=b&a=c'), { a: ['b', 'c'] }, 'parses a simple array');
|
|
56
100
|
|
|
57
101
|
t.test('parses an explicit array', function (st) {
|
|
@@ -356,6 +400,43 @@ test('parse()', function (t) {
|
|
|
356
400
|
st.end();
|
|
357
401
|
});
|
|
358
402
|
|
|
403
|
+
t.test('parses values with comma as array divider', function (st) {
|
|
404
|
+
st.deepEqual(qs.parse({ foo: 'bar,tee' }, { comma: false }), { foo: 'bar,tee' });
|
|
405
|
+
st.deepEqual(qs.parse({ foo: 'bar,tee' }, { comma: true }), { foo: ['bar', 'tee'] });
|
|
406
|
+
st.end();
|
|
407
|
+
});
|
|
408
|
+
|
|
409
|
+
t.test('use number decoder, parses string that has one number with comma option enabled', function (st) {
|
|
410
|
+
var decoder = function (str, defaultDecoder, charset, type) {
|
|
411
|
+
if (!isNaN(Number(str))) {
|
|
412
|
+
return parseFloat(str);
|
|
413
|
+
}
|
|
414
|
+
return defaultDecoder(str, defaultDecoder, charset, type);
|
|
415
|
+
};
|
|
416
|
+
|
|
417
|
+
st.deepEqual(qs.parse('foo=1', { comma: true, decoder: decoder }), { foo: 1 });
|
|
418
|
+
st.deepEqual(qs.parse('foo=0', { comma: true, decoder: decoder }), { foo: 0 });
|
|
419
|
+
|
|
420
|
+
st.end();
|
|
421
|
+
});
|
|
422
|
+
|
|
423
|
+
t.test('parses brackets holds array of arrays when having two parts of strings with comma as array divider', function (st) {
|
|
424
|
+
st.deepEqual(qs.parse('foo[]=1,2,3&foo[]=4,5,6', { comma: true }), { foo: [['1', '2', '3'], ['4', '5', '6']] });
|
|
425
|
+
st.deepEqual(qs.parse('foo[]=1,2,3&foo[]=', { comma: true }), { foo: [['1', '2', '3'], ''] });
|
|
426
|
+
st.deepEqual(qs.parse('foo[]=1,2,3&foo[]=,', { comma: true }), { foo: [['1', '2', '3'], ['', '']] });
|
|
427
|
+
st.deepEqual(qs.parse('foo[]=1,2,3&foo[]=a', { comma: true }), { foo: [['1', '2', '3'], 'a'] });
|
|
428
|
+
|
|
429
|
+
st.end();
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
t.test('parses comma delimited array while having percent-encoded comma treated as normal text', function (st) {
|
|
433
|
+
st.deepEqual(qs.parse('foo=a%2Cb', { comma: true }), { foo: 'a,b' });
|
|
434
|
+
st.deepEqual(qs.parse('foo=a%2C%20b,d', { comma: true }), { foo: ['a, b', 'd'] });
|
|
435
|
+
st.deepEqual(qs.parse('foo=a%2C%20b,c%2C%20d', { comma: true }), { foo: ['a, b', 'c, d'] });
|
|
436
|
+
|
|
437
|
+
st.end();
|
|
438
|
+
});
|
|
439
|
+
|
|
359
440
|
t.test('parses an object in dot notation', function (st) {
|
|
360
441
|
var input = {
|
|
361
442
|
'user.name': { 'pop[bob]': 3 },
|
|
@@ -532,7 +613,7 @@ test('parse()', function (t) {
|
|
|
532
613
|
|
|
533
614
|
st.deepEqual(
|
|
534
615
|
qs.parse('a[b]=c&a=toString', { plainObjects: true }),
|
|
535
|
-
{ a: { b: 'c', toString: true } },
|
|
616
|
+
{ __proto__: null, a: { __proto__: null, b: 'c', toString: true } },
|
|
536
617
|
'can overwrite prototype with plainObjects true'
|
|
537
618
|
);
|
|
538
619
|
|
|
@@ -672,5 +753,20 @@ test('parse()', function (t) {
|
|
|
672
753
|
st.end();
|
|
673
754
|
});
|
|
674
755
|
|
|
756
|
+
t.test('allows for decoding keys and values differently', function (st) {
|
|
757
|
+
var decoder = function (str, defaultDecoder, charset, type) {
|
|
758
|
+
if (type === 'key') {
|
|
759
|
+
return defaultDecoder(str, defaultDecoder, charset, type).toLowerCase();
|
|
760
|
+
}
|
|
761
|
+
if (type === 'value') {
|
|
762
|
+
return defaultDecoder(str, defaultDecoder, charset, type).toUpperCase();
|
|
763
|
+
}
|
|
764
|
+
throw 'this should never happen! type: ' + type;
|
|
765
|
+
};
|
|
766
|
+
|
|
767
|
+
st.deepEqual(qs.parse('KeY=vAlUe', { decoder: decoder }), { key: 'VALUE' });
|
|
768
|
+
st.end();
|
|
769
|
+
});
|
|
770
|
+
|
|
675
771
|
t.end();
|
|
676
772
|
});
|