superagent 6.1.0 → 7.1.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/README.md +9 -5
- package/dist/superagent.js +2168 -1464
- package/dist/superagent.min.js +1 -1
- package/lib/agent-base.js +28 -10
- package/lib/client.js +147 -124
- package/lib/node/agent.js +39 -18
- package/lib/node/http2wrapper.js +11 -10
- package/lib/node/index.js +197 -144
- package/lib/node/parsers/json.js +7 -7
- package/lib/node/parsers/urlencoded.js +1 -1
- package/lib/node/response.js +32 -21
- package/lib/node/unzip.js +8 -8
- package/lib/request-base.js +63 -52
- package/lib/response-base.js +6 -24
- package/lib/utils.js +56 -19
- package/package.json +86 -80
- package/.browserslistrc +0 -5
- package/.dist.babelrc +0 -10
- package/.dist.eslintrc +0 -37
- package/.editorconfig +0 -9
- package/.gitattributes +0 -1
- package/.github/FUNDING.yml +0 -4
- package/.lib.babelrc +0 -11
- package/.lib.eslintrc +0 -27
- package/.remarkignore +0 -3
- package/.zuul.yml +0 -16
- package/CONTRIBUTING.md +0 -7
- package/Makefile +0 -60
- package/docs/head.html +0 -11
- package/docs/images/bg.png +0 -0
- package/docs/index.md +0 -766
- package/docs/style.css +0 -87
- package/docs/tail.html +0 -36
- package/docs/test.html +0 -4610
- package/index.html +0 -600
- package/lib/is-object.js +0 -17
package/dist/superagent.js
CHANGED
|
@@ -1,31 +1,89 @@
|
|
|
1
1
|
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.superagent = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
},{}],2:[function(require,module,exports){
|
|
5
|
+
'use strict';
|
|
6
|
+
|
|
7
|
+
var GetIntrinsic = require('get-intrinsic');
|
|
8
|
+
|
|
9
|
+
var callBind = require('./');
|
|
10
|
+
|
|
11
|
+
var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
|
|
12
|
+
|
|
13
|
+
module.exports = function callBoundIntrinsic(name, allowMissing) {
|
|
14
|
+
var intrinsic = GetIntrinsic(name, !!allowMissing);
|
|
15
|
+
|
|
16
|
+
if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
|
|
17
|
+
return callBind(intrinsic);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return intrinsic;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
},{"./":3,"get-intrinsic":8}],3:[function(require,module,exports){
|
|
24
|
+
'use strict';
|
|
25
|
+
|
|
26
|
+
var bind = require('function-bind');
|
|
27
|
+
|
|
28
|
+
var GetIntrinsic = require('get-intrinsic');
|
|
29
|
+
|
|
30
|
+
var $apply = GetIntrinsic('%Function.prototype.apply%');
|
|
31
|
+
var $call = GetIntrinsic('%Function.prototype.call%');
|
|
32
|
+
var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
|
|
33
|
+
var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);
|
|
34
|
+
var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
|
|
35
|
+
var $max = GetIntrinsic('%Math.max%');
|
|
36
|
+
|
|
37
|
+
if ($defineProperty) {
|
|
38
|
+
try {
|
|
39
|
+
$defineProperty({}, 'a', {
|
|
40
|
+
value: 1
|
|
41
|
+
});
|
|
42
|
+
} catch (e) {
|
|
43
|
+
$defineProperty = null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
module.exports = function callBind(originalFunction) {
|
|
48
|
+
var func = $reflectApply(bind, $call, arguments);
|
|
49
|
+
|
|
50
|
+
if ($gOPD && $defineProperty) {
|
|
51
|
+
var desc = $gOPD(func, 'length');
|
|
52
|
+
|
|
53
|
+
if (desc.configurable) {
|
|
54
|
+
$defineProperty(func, 'length', {
|
|
55
|
+
value: 1 + $max(0, originalFunction.length - (arguments.length - 1))
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return func;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
var applyBind = function applyBind() {
|
|
64
|
+
return $reflectApply(bind, $apply, arguments);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
if ($defineProperty) {
|
|
68
|
+
$defineProperty(module.exports, 'apply', {
|
|
69
|
+
value: applyBind
|
|
70
|
+
});
|
|
71
|
+
} else {
|
|
72
|
+
module.exports.apply = applyBind;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
},{"function-bind":7,"get-intrinsic":8}],4:[function(require,module,exports){
|
|
76
|
+
"use strict";
|
|
77
|
+
|
|
7
78
|
if (typeof module !== 'undefined') {
|
|
8
79
|
module.exports = Emitter;
|
|
9
80
|
}
|
|
10
|
-
/**
|
|
11
|
-
* Initialize a new `Emitter`.
|
|
12
|
-
*
|
|
13
|
-
* @api public
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
81
|
|
|
17
82
|
function Emitter(obj) {
|
|
18
83
|
if (obj) return mixin(obj);
|
|
19
84
|
}
|
|
20
85
|
|
|
21
86
|
;
|
|
22
|
-
/**
|
|
23
|
-
* Mixin the emitter properties.
|
|
24
|
-
*
|
|
25
|
-
* @param {Object} obj
|
|
26
|
-
* @return {Object}
|
|
27
|
-
* @api private
|
|
28
|
-
*/
|
|
29
87
|
|
|
30
88
|
function mixin(obj) {
|
|
31
89
|
for (var key in Emitter.prototype) {
|
|
@@ -34,355 +92,1652 @@ function mixin(obj) {
|
|
|
34
92
|
|
|
35
93
|
return obj;
|
|
36
94
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Listen on the given `event` with `fn`.
|
|
39
|
-
*
|
|
40
|
-
* @param {String} event
|
|
41
|
-
* @param {Function} fn
|
|
42
|
-
* @return {Emitter}
|
|
43
|
-
* @api public
|
|
44
|
-
*/
|
|
45
|
-
|
|
46
95
|
|
|
47
96
|
Emitter.prototype.on = Emitter.prototype.addEventListener = function (event, fn) {
|
|
48
97
|
this._callbacks = this._callbacks || {};
|
|
49
98
|
(this._callbacks['$' + event] = this._callbacks['$' + event] || []).push(fn);
|
|
50
99
|
return this;
|
|
51
100
|
};
|
|
52
|
-
/**
|
|
53
|
-
* Adds an `event` listener that will be invoked a single
|
|
54
|
-
* time then automatically removed.
|
|
55
|
-
*
|
|
56
|
-
* @param {String} event
|
|
57
|
-
* @param {Function} fn
|
|
58
|
-
* @return {Emitter}
|
|
59
|
-
* @api public
|
|
60
|
-
*/
|
|
61
101
|
|
|
102
|
+
Emitter.prototype.once = function (event, fn) {
|
|
103
|
+
function on() {
|
|
104
|
+
this.off(event, on);
|
|
105
|
+
fn.apply(this, arguments);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
on.fn = fn;
|
|
109
|
+
this.on(event, on);
|
|
110
|
+
return this;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
Emitter.prototype.off = Emitter.prototype.removeListener = Emitter.prototype.removeAllListeners = Emitter.prototype.removeEventListener = function (event, fn) {
|
|
114
|
+
this._callbacks = this._callbacks || {};
|
|
115
|
+
|
|
116
|
+
if (0 == arguments.length) {
|
|
117
|
+
this._callbacks = {};
|
|
118
|
+
return this;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
var callbacks = this._callbacks['$' + event];
|
|
122
|
+
if (!callbacks) return this;
|
|
123
|
+
|
|
124
|
+
if (1 == arguments.length) {
|
|
125
|
+
delete this._callbacks['$' + event];
|
|
126
|
+
return this;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
var cb;
|
|
130
|
+
|
|
131
|
+
for (var i = 0; i < callbacks.length; i++) {
|
|
132
|
+
cb = callbacks[i];
|
|
133
|
+
|
|
134
|
+
if (cb === fn || cb.fn === fn) {
|
|
135
|
+
callbacks.splice(i, 1);
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if (callbacks.length === 0) {
|
|
141
|
+
delete this._callbacks['$' + event];
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return this;
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
Emitter.prototype.emit = function (event) {
|
|
148
|
+
this._callbacks = this._callbacks || {};
|
|
149
|
+
var args = new Array(arguments.length - 1),
|
|
150
|
+
callbacks = this._callbacks['$' + event];
|
|
151
|
+
|
|
152
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
153
|
+
args[i - 1] = arguments[i];
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if (callbacks) {
|
|
157
|
+
callbacks = callbacks.slice(0);
|
|
158
|
+
|
|
159
|
+
for (var i = 0, len = callbacks.length; i < len; ++i) {
|
|
160
|
+
callbacks[i].apply(this, args);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
return this;
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
Emitter.prototype.listeners = function (event) {
|
|
168
|
+
this._callbacks = this._callbacks || {};
|
|
169
|
+
return this._callbacks['$' + event] || [];
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
Emitter.prototype.hasListeners = function (event) {
|
|
173
|
+
return !!this.listeners(event).length;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
},{}],5:[function(require,module,exports){
|
|
177
|
+
"use strict";
|
|
178
|
+
|
|
179
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
180
|
+
|
|
181
|
+
module.exports = stringify;
|
|
182
|
+
stringify.default = stringify;
|
|
183
|
+
stringify.stable = deterministicStringify;
|
|
184
|
+
stringify.stableStringify = deterministicStringify;
|
|
185
|
+
var LIMIT_REPLACE_NODE = '[...]';
|
|
186
|
+
var CIRCULAR_REPLACE_NODE = '[Circular]';
|
|
187
|
+
var arr = [];
|
|
188
|
+
var replacerStack = [];
|
|
189
|
+
|
|
190
|
+
function defaultOptions() {
|
|
191
|
+
return {
|
|
192
|
+
depthLimit: Number.MAX_SAFE_INTEGER,
|
|
193
|
+
edgesLimit: Number.MAX_SAFE_INTEGER
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
function stringify(obj, replacer, spacer, options) {
|
|
198
|
+
if (typeof options === 'undefined') {
|
|
199
|
+
options = defaultOptions();
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
decirc(obj, '', 0, [], undefined, 0, options);
|
|
203
|
+
var res;
|
|
204
|
+
|
|
205
|
+
try {
|
|
206
|
+
if (replacerStack.length === 0) {
|
|
207
|
+
res = JSON.stringify(obj, replacer, spacer);
|
|
208
|
+
} else {
|
|
209
|
+
res = JSON.stringify(obj, replaceGetterValues(replacer), spacer);
|
|
210
|
+
}
|
|
211
|
+
} catch (_) {
|
|
212
|
+
return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]');
|
|
213
|
+
} finally {
|
|
214
|
+
while (arr.length !== 0) {
|
|
215
|
+
var part = arr.pop();
|
|
216
|
+
|
|
217
|
+
if (part.length === 4) {
|
|
218
|
+
Object.defineProperty(part[0], part[1], part[3]);
|
|
219
|
+
} else {
|
|
220
|
+
part[0][part[1]] = part[2];
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
return res;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
function setReplace(replace, val, k, parent) {
|
|
229
|
+
var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k);
|
|
230
|
+
|
|
231
|
+
if (propertyDescriptor.get !== undefined) {
|
|
232
|
+
if (propertyDescriptor.configurable) {
|
|
233
|
+
Object.defineProperty(parent, k, {
|
|
234
|
+
value: replace
|
|
235
|
+
});
|
|
236
|
+
arr.push([parent, k, val, propertyDescriptor]);
|
|
237
|
+
} else {
|
|
238
|
+
replacerStack.push([val, k, replace]);
|
|
239
|
+
}
|
|
240
|
+
} else {
|
|
241
|
+
parent[k] = replace;
|
|
242
|
+
arr.push([parent, k, val]);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
function decirc(val, k, edgeIndex, stack, parent, depth, options) {
|
|
247
|
+
depth += 1;
|
|
248
|
+
var i;
|
|
249
|
+
|
|
250
|
+
if (_typeof(val) === 'object' && val !== null) {
|
|
251
|
+
for (i = 0; i < stack.length; i++) {
|
|
252
|
+
if (stack[i] === val) {
|
|
253
|
+
setReplace(CIRCULAR_REPLACE_NODE, val, k, parent);
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
if (typeof options.depthLimit !== 'undefined' && depth > options.depthLimit) {
|
|
259
|
+
setReplace(LIMIT_REPLACE_NODE, val, k, parent);
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
if (typeof options.edgesLimit !== 'undefined' && edgeIndex + 1 > options.edgesLimit) {
|
|
264
|
+
setReplace(LIMIT_REPLACE_NODE, val, k, parent);
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
stack.push(val);
|
|
269
|
+
|
|
270
|
+
if (Array.isArray(val)) {
|
|
271
|
+
for (i = 0; i < val.length; i++) {
|
|
272
|
+
decirc(val[i], i, i, stack, val, depth, options);
|
|
273
|
+
}
|
|
274
|
+
} else {
|
|
275
|
+
var keys = Object.keys(val);
|
|
276
|
+
|
|
277
|
+
for (i = 0; i < keys.length; i++) {
|
|
278
|
+
var key = keys[i];
|
|
279
|
+
decirc(val[key], key, i, stack, val, depth, options);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
stack.pop();
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
function compareFunction(a, b) {
|
|
288
|
+
if (a < b) {
|
|
289
|
+
return -1;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
if (a > b) {
|
|
293
|
+
return 1;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
return 0;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
function deterministicStringify(obj, replacer, spacer, options) {
|
|
300
|
+
if (typeof options === 'undefined') {
|
|
301
|
+
options = defaultOptions();
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
var tmp = deterministicDecirc(obj, '', 0, [], undefined, 0, options) || obj;
|
|
305
|
+
var res;
|
|
306
|
+
|
|
307
|
+
try {
|
|
308
|
+
if (replacerStack.length === 0) {
|
|
309
|
+
res = JSON.stringify(tmp, replacer, spacer);
|
|
310
|
+
} else {
|
|
311
|
+
res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer);
|
|
312
|
+
}
|
|
313
|
+
} catch (_) {
|
|
314
|
+
return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]');
|
|
315
|
+
} finally {
|
|
316
|
+
while (arr.length !== 0) {
|
|
317
|
+
var part = arr.pop();
|
|
318
|
+
|
|
319
|
+
if (part.length === 4) {
|
|
320
|
+
Object.defineProperty(part[0], part[1], part[3]);
|
|
321
|
+
} else {
|
|
322
|
+
part[0][part[1]] = part[2];
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
return res;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
function deterministicDecirc(val, k, edgeIndex, stack, parent, depth, options) {
|
|
331
|
+
depth += 1;
|
|
332
|
+
var i;
|
|
333
|
+
|
|
334
|
+
if (_typeof(val) === 'object' && val !== null) {
|
|
335
|
+
for (i = 0; i < stack.length; i++) {
|
|
336
|
+
if (stack[i] === val) {
|
|
337
|
+
setReplace(CIRCULAR_REPLACE_NODE, val, k, parent);
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
try {
|
|
343
|
+
if (typeof val.toJSON === 'function') {
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
} catch (_) {
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
if (typeof options.depthLimit !== 'undefined' && depth > options.depthLimit) {
|
|
351
|
+
setReplace(LIMIT_REPLACE_NODE, val, k, parent);
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
if (typeof options.edgesLimit !== 'undefined' && edgeIndex + 1 > options.edgesLimit) {
|
|
356
|
+
setReplace(LIMIT_REPLACE_NODE, val, k, parent);
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
stack.push(val);
|
|
361
|
+
|
|
362
|
+
if (Array.isArray(val)) {
|
|
363
|
+
for (i = 0; i < val.length; i++) {
|
|
364
|
+
deterministicDecirc(val[i], i, i, stack, val, depth, options);
|
|
365
|
+
}
|
|
366
|
+
} else {
|
|
367
|
+
var tmp = {};
|
|
368
|
+
var keys = Object.keys(val).sort(compareFunction);
|
|
369
|
+
|
|
370
|
+
for (i = 0; i < keys.length; i++) {
|
|
371
|
+
var key = keys[i];
|
|
372
|
+
deterministicDecirc(val[key], key, i, stack, val, depth, options);
|
|
373
|
+
tmp[key] = val[key];
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
if (typeof parent !== 'undefined') {
|
|
377
|
+
arr.push([parent, k, val]);
|
|
378
|
+
parent[k] = tmp;
|
|
379
|
+
} else {
|
|
380
|
+
return tmp;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
stack.pop();
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
function replaceGetterValues(replacer) {
|
|
389
|
+
replacer = typeof replacer !== 'undefined' ? replacer : function (k, v) {
|
|
390
|
+
return v;
|
|
391
|
+
};
|
|
392
|
+
return function (key, val) {
|
|
393
|
+
if (replacerStack.length > 0) {
|
|
394
|
+
for (var i = 0; i < replacerStack.length; i++) {
|
|
395
|
+
var part = replacerStack[i];
|
|
396
|
+
|
|
397
|
+
if (part[1] === key && part[0] === val) {
|
|
398
|
+
val = part[2];
|
|
399
|
+
replacerStack.splice(i, 1);
|
|
400
|
+
break;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
return replacer.call(this, key, val);
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
},{}],6:[function(require,module,exports){
|
|
410
|
+
'use strict';
|
|
411
|
+
|
|
412
|
+
var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
|
|
413
|
+
var slice = Array.prototype.slice;
|
|
414
|
+
var toStr = Object.prototype.toString;
|
|
415
|
+
var funcType = '[object Function]';
|
|
416
|
+
|
|
417
|
+
module.exports = function bind(that) {
|
|
418
|
+
var target = this;
|
|
419
|
+
|
|
420
|
+
if (typeof target !== 'function' || toStr.call(target) !== funcType) {
|
|
421
|
+
throw new TypeError(ERROR_MESSAGE + target);
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
var args = slice.call(arguments, 1);
|
|
425
|
+
var bound;
|
|
426
|
+
|
|
427
|
+
var binder = function binder() {
|
|
428
|
+
if (this instanceof bound) {
|
|
429
|
+
var result = target.apply(this, args.concat(slice.call(arguments)));
|
|
430
|
+
|
|
431
|
+
if (Object(result) === result) {
|
|
432
|
+
return result;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
return this;
|
|
436
|
+
} else {
|
|
437
|
+
return target.apply(that, args.concat(slice.call(arguments)));
|
|
438
|
+
}
|
|
439
|
+
};
|
|
440
|
+
|
|
441
|
+
var boundLength = Math.max(0, target.length - args.length);
|
|
442
|
+
var boundArgs = [];
|
|
443
|
+
|
|
444
|
+
for (var i = 0; i < boundLength; i++) {
|
|
445
|
+
boundArgs.push('$' + i);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
|
|
449
|
+
|
|
450
|
+
if (target.prototype) {
|
|
451
|
+
var Empty = function Empty() {};
|
|
452
|
+
|
|
453
|
+
Empty.prototype = target.prototype;
|
|
454
|
+
bound.prototype = new Empty();
|
|
455
|
+
Empty.prototype = null;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
return bound;
|
|
459
|
+
};
|
|
460
|
+
|
|
461
|
+
},{}],7:[function(require,module,exports){
|
|
462
|
+
'use strict';
|
|
463
|
+
|
|
464
|
+
var implementation = require('./implementation');
|
|
465
|
+
|
|
466
|
+
module.exports = Function.prototype.bind || implementation;
|
|
467
|
+
|
|
468
|
+
},{"./implementation":6}],8:[function(require,module,exports){
|
|
469
|
+
'use strict';
|
|
470
|
+
|
|
471
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
472
|
+
|
|
473
|
+
var undefined;
|
|
474
|
+
var $SyntaxError = SyntaxError;
|
|
475
|
+
var $Function = Function;
|
|
476
|
+
var $TypeError = TypeError;
|
|
477
|
+
|
|
478
|
+
var getEvalledConstructor = function getEvalledConstructor(expressionSyntax) {
|
|
479
|
+
try {
|
|
480
|
+
return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')();
|
|
481
|
+
} catch (e) {}
|
|
482
|
+
};
|
|
483
|
+
|
|
484
|
+
var $gOPD = Object.getOwnPropertyDescriptor;
|
|
485
|
+
|
|
486
|
+
if ($gOPD) {
|
|
487
|
+
try {
|
|
488
|
+
$gOPD({}, '');
|
|
489
|
+
} catch (e) {
|
|
490
|
+
$gOPD = null;
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
var throwTypeError = function throwTypeError() {
|
|
495
|
+
throw new $TypeError();
|
|
496
|
+
};
|
|
497
|
+
|
|
498
|
+
var ThrowTypeError = $gOPD ? function () {
|
|
499
|
+
try {
|
|
500
|
+
arguments.callee;
|
|
501
|
+
return throwTypeError;
|
|
502
|
+
} catch (calleeThrows) {
|
|
503
|
+
try {
|
|
504
|
+
return $gOPD(arguments, 'callee').get;
|
|
505
|
+
} catch (gOPDthrows) {
|
|
506
|
+
return throwTypeError;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
}() : throwTypeError;
|
|
510
|
+
|
|
511
|
+
var hasSymbols = require('has-symbols')();
|
|
512
|
+
|
|
513
|
+
var getProto = Object.getPrototypeOf || function (x) {
|
|
514
|
+
return x.__proto__;
|
|
515
|
+
};
|
|
516
|
+
|
|
517
|
+
var needsEval = {};
|
|
518
|
+
var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);
|
|
519
|
+
var INTRINSICS = {
|
|
520
|
+
'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,
|
|
521
|
+
'%Array%': Array,
|
|
522
|
+
'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
|
|
523
|
+
'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,
|
|
524
|
+
'%AsyncFromSyncIteratorPrototype%': undefined,
|
|
525
|
+
'%AsyncFunction%': needsEval,
|
|
526
|
+
'%AsyncGenerator%': needsEval,
|
|
527
|
+
'%AsyncGeneratorFunction%': needsEval,
|
|
528
|
+
'%AsyncIteratorPrototype%': needsEval,
|
|
529
|
+
'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
|
|
530
|
+
'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,
|
|
531
|
+
'%Boolean%': Boolean,
|
|
532
|
+
'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,
|
|
533
|
+
'%Date%': Date,
|
|
534
|
+
'%decodeURI%': decodeURI,
|
|
535
|
+
'%decodeURIComponent%': decodeURIComponent,
|
|
536
|
+
'%encodeURI%': encodeURI,
|
|
537
|
+
'%encodeURIComponent%': encodeURIComponent,
|
|
538
|
+
'%Error%': Error,
|
|
539
|
+
'%eval%': eval,
|
|
540
|
+
'%EvalError%': EvalError,
|
|
541
|
+
'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
|
|
542
|
+
'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
|
|
543
|
+
'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,
|
|
544
|
+
'%Function%': $Function,
|
|
545
|
+
'%GeneratorFunction%': needsEval,
|
|
546
|
+
'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
|
|
547
|
+
'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
|
|
548
|
+
'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
|
|
549
|
+
'%isFinite%': isFinite,
|
|
550
|
+
'%isNaN%': isNaN,
|
|
551
|
+
'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,
|
|
552
|
+
'%JSON%': (typeof JSON === "undefined" ? "undefined" : _typeof(JSON)) === 'object' ? JSON : undefined,
|
|
553
|
+
'%Map%': typeof Map === 'undefined' ? undefined : Map,
|
|
554
|
+
'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),
|
|
555
|
+
'%Math%': Math,
|
|
556
|
+
'%Number%': Number,
|
|
557
|
+
'%Object%': Object,
|
|
558
|
+
'%parseFloat%': parseFloat,
|
|
559
|
+
'%parseInt%': parseInt,
|
|
560
|
+
'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,
|
|
561
|
+
'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
|
|
562
|
+
'%RangeError%': RangeError,
|
|
563
|
+
'%ReferenceError%': ReferenceError,
|
|
564
|
+
'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
|
|
565
|
+
'%RegExp%': RegExp,
|
|
566
|
+
'%Set%': typeof Set === 'undefined' ? undefined : Set,
|
|
567
|
+
'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),
|
|
568
|
+
'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
|
|
569
|
+
'%String%': String,
|
|
570
|
+
'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,
|
|
571
|
+
'%Symbol%': hasSymbols ? Symbol : undefined,
|
|
572
|
+
'%SyntaxError%': $SyntaxError,
|
|
573
|
+
'%ThrowTypeError%': ThrowTypeError,
|
|
574
|
+
'%TypedArray%': TypedArray,
|
|
575
|
+
'%TypeError%': $TypeError,
|
|
576
|
+
'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
|
|
577
|
+
'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
|
|
578
|
+
'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
|
|
579
|
+
'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
|
|
580
|
+
'%URIError%': URIError,
|
|
581
|
+
'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
|
|
582
|
+
'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,
|
|
583
|
+
'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet
|
|
584
|
+
};
|
|
585
|
+
|
|
586
|
+
var doEval = function doEval(name) {
|
|
587
|
+
var value;
|
|
588
|
+
|
|
589
|
+
if (name === '%AsyncFunction%') {
|
|
590
|
+
value = getEvalledConstructor('async function () {}');
|
|
591
|
+
} else if (name === '%GeneratorFunction%') {
|
|
592
|
+
value = getEvalledConstructor('function* () {}');
|
|
593
|
+
} else if (name === '%AsyncGeneratorFunction%') {
|
|
594
|
+
value = getEvalledConstructor('async function* () {}');
|
|
595
|
+
} else if (name === '%AsyncGenerator%') {
|
|
596
|
+
var fn = doEval('%AsyncGeneratorFunction%');
|
|
597
|
+
|
|
598
|
+
if (fn) {
|
|
599
|
+
value = fn.prototype;
|
|
600
|
+
}
|
|
601
|
+
} else if (name === '%AsyncIteratorPrototype%') {
|
|
602
|
+
var gen = doEval('%AsyncGenerator%');
|
|
603
|
+
|
|
604
|
+
if (gen) {
|
|
605
|
+
value = getProto(gen.prototype);
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
INTRINSICS[name] = value;
|
|
610
|
+
return value;
|
|
611
|
+
};
|
|
612
|
+
|
|
613
|
+
var LEGACY_ALIASES = {
|
|
614
|
+
'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],
|
|
615
|
+
'%ArrayPrototype%': ['Array', 'prototype'],
|
|
616
|
+
'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],
|
|
617
|
+
'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],
|
|
618
|
+
'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],
|
|
619
|
+
'%ArrayProto_values%': ['Array', 'prototype', 'values'],
|
|
620
|
+
'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],
|
|
621
|
+
'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],
|
|
622
|
+
'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],
|
|
623
|
+
'%BooleanPrototype%': ['Boolean', 'prototype'],
|
|
624
|
+
'%DataViewPrototype%': ['DataView', 'prototype'],
|
|
625
|
+
'%DatePrototype%': ['Date', 'prototype'],
|
|
626
|
+
'%ErrorPrototype%': ['Error', 'prototype'],
|
|
627
|
+
'%EvalErrorPrototype%': ['EvalError', 'prototype'],
|
|
628
|
+
'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],
|
|
629
|
+
'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],
|
|
630
|
+
'%FunctionPrototype%': ['Function', 'prototype'],
|
|
631
|
+
'%Generator%': ['GeneratorFunction', 'prototype'],
|
|
632
|
+
'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],
|
|
633
|
+
'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],
|
|
634
|
+
'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],
|
|
635
|
+
'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],
|
|
636
|
+
'%JSONParse%': ['JSON', 'parse'],
|
|
637
|
+
'%JSONStringify%': ['JSON', 'stringify'],
|
|
638
|
+
'%MapPrototype%': ['Map', 'prototype'],
|
|
639
|
+
'%NumberPrototype%': ['Number', 'prototype'],
|
|
640
|
+
'%ObjectPrototype%': ['Object', 'prototype'],
|
|
641
|
+
'%ObjProto_toString%': ['Object', 'prototype', 'toString'],
|
|
642
|
+
'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],
|
|
643
|
+
'%PromisePrototype%': ['Promise', 'prototype'],
|
|
644
|
+
'%PromiseProto_then%': ['Promise', 'prototype', 'then'],
|
|
645
|
+
'%Promise_all%': ['Promise', 'all'],
|
|
646
|
+
'%Promise_reject%': ['Promise', 'reject'],
|
|
647
|
+
'%Promise_resolve%': ['Promise', 'resolve'],
|
|
648
|
+
'%RangeErrorPrototype%': ['RangeError', 'prototype'],
|
|
649
|
+
'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],
|
|
650
|
+
'%RegExpPrototype%': ['RegExp', 'prototype'],
|
|
651
|
+
'%SetPrototype%': ['Set', 'prototype'],
|
|
652
|
+
'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],
|
|
653
|
+
'%StringPrototype%': ['String', 'prototype'],
|
|
654
|
+
'%SymbolPrototype%': ['Symbol', 'prototype'],
|
|
655
|
+
'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],
|
|
656
|
+
'%TypedArrayPrototype%': ['TypedArray', 'prototype'],
|
|
657
|
+
'%TypeErrorPrototype%': ['TypeError', 'prototype'],
|
|
658
|
+
'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],
|
|
659
|
+
'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],
|
|
660
|
+
'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],
|
|
661
|
+
'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],
|
|
662
|
+
'%URIErrorPrototype%': ['URIError', 'prototype'],
|
|
663
|
+
'%WeakMapPrototype%': ['WeakMap', 'prototype'],
|
|
664
|
+
'%WeakSetPrototype%': ['WeakSet', 'prototype']
|
|
665
|
+
};
|
|
666
|
+
|
|
667
|
+
var bind = require('function-bind');
|
|
668
|
+
|
|
669
|
+
var hasOwn = require('has');
|
|
670
|
+
|
|
671
|
+
var $concat = bind.call(Function.call, Array.prototype.concat);
|
|
672
|
+
var $spliceApply = bind.call(Function.apply, Array.prototype.splice);
|
|
673
|
+
var $replace = bind.call(Function.call, String.prototype.replace);
|
|
674
|
+
var $strSlice = bind.call(Function.call, String.prototype.slice);
|
|
675
|
+
var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
|
|
676
|
+
var reEscapeChar = /\\(\\)?/g;
|
|
677
|
+
|
|
678
|
+
var stringToPath = function stringToPath(string) {
|
|
679
|
+
var first = $strSlice(string, 0, 1);
|
|
680
|
+
var last = $strSlice(string, -1);
|
|
681
|
+
|
|
682
|
+
if (first === '%' && last !== '%') {
|
|
683
|
+
throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');
|
|
684
|
+
} else if (last === '%' && first !== '%') {
|
|
685
|
+
throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
var result = [];
|
|
689
|
+
$replace(string, rePropName, function (match, number, quote, subString) {
|
|
690
|
+
result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;
|
|
691
|
+
});
|
|
692
|
+
return result;
|
|
693
|
+
};
|
|
694
|
+
|
|
695
|
+
var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
|
|
696
|
+
var intrinsicName = name;
|
|
697
|
+
var alias;
|
|
698
|
+
|
|
699
|
+
if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
|
|
700
|
+
alias = LEGACY_ALIASES[intrinsicName];
|
|
701
|
+
intrinsicName = '%' + alias[0] + '%';
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
if (hasOwn(INTRINSICS, intrinsicName)) {
|
|
705
|
+
var value = INTRINSICS[intrinsicName];
|
|
706
|
+
|
|
707
|
+
if (value === needsEval) {
|
|
708
|
+
value = doEval(intrinsicName);
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
if (typeof value === 'undefined' && !allowMissing) {
|
|
712
|
+
throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
return {
|
|
716
|
+
alias: alias,
|
|
717
|
+
name: intrinsicName,
|
|
718
|
+
value: value
|
|
719
|
+
};
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
throw new $SyntaxError('intrinsic ' + name + ' does not exist!');
|
|
723
|
+
};
|
|
724
|
+
|
|
725
|
+
module.exports = function GetIntrinsic(name, allowMissing) {
|
|
726
|
+
if (typeof name !== 'string' || name.length === 0) {
|
|
727
|
+
throw new $TypeError('intrinsic name must be a non-empty string');
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
|
|
731
|
+
throw new $TypeError('"allowMissing" argument must be a boolean');
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
var parts = stringToPath(name);
|
|
735
|
+
var intrinsicBaseName = parts.length > 0 ? parts[0] : '';
|
|
736
|
+
var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);
|
|
737
|
+
var intrinsicRealName = intrinsic.name;
|
|
738
|
+
var value = intrinsic.value;
|
|
739
|
+
var skipFurtherCaching = false;
|
|
740
|
+
var alias = intrinsic.alias;
|
|
741
|
+
|
|
742
|
+
if (alias) {
|
|
743
|
+
intrinsicBaseName = alias[0];
|
|
744
|
+
$spliceApply(parts, $concat([0, 1], alias));
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
for (var i = 1, isOwn = true; i < parts.length; i += 1) {
|
|
748
|
+
var part = parts[i];
|
|
749
|
+
var first = $strSlice(part, 0, 1);
|
|
750
|
+
var last = $strSlice(part, -1);
|
|
751
|
+
|
|
752
|
+
if ((first === '"' || first === "'" || first === '`' || last === '"' || last === "'" || last === '`') && first !== last) {
|
|
753
|
+
throw new $SyntaxError('property names with quotes must have matching quotes');
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
if (part === 'constructor' || !isOwn) {
|
|
757
|
+
skipFurtherCaching = true;
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
intrinsicBaseName += '.' + part;
|
|
761
|
+
intrinsicRealName = '%' + intrinsicBaseName + '%';
|
|
762
|
+
|
|
763
|
+
if (hasOwn(INTRINSICS, intrinsicRealName)) {
|
|
764
|
+
value = INTRINSICS[intrinsicRealName];
|
|
765
|
+
} else if (value != null) {
|
|
766
|
+
if (!(part in value)) {
|
|
767
|
+
if (!allowMissing) {
|
|
768
|
+
throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
return void undefined;
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
if ($gOPD && i + 1 >= parts.length) {
|
|
775
|
+
var desc = $gOPD(value, part);
|
|
776
|
+
isOwn = !!desc;
|
|
777
|
+
|
|
778
|
+
if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {
|
|
779
|
+
value = desc.get;
|
|
780
|
+
} else {
|
|
781
|
+
value = value[part];
|
|
782
|
+
}
|
|
783
|
+
} else {
|
|
784
|
+
isOwn = hasOwn(value, part);
|
|
785
|
+
value = value[part];
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
if (isOwn && !skipFurtherCaching) {
|
|
789
|
+
INTRINSICS[intrinsicRealName] = value;
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
return value;
|
|
795
|
+
};
|
|
796
|
+
|
|
797
|
+
},{"function-bind":7,"has":11,"has-symbols":9}],9:[function(require,module,exports){
|
|
798
|
+
'use strict';
|
|
799
|
+
|
|
800
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
801
|
+
|
|
802
|
+
var origSymbol = typeof Symbol !== 'undefined' && Symbol;
|
|
803
|
+
|
|
804
|
+
var hasSymbolSham = require('./shams');
|
|
805
|
+
|
|
806
|
+
module.exports = function hasNativeSymbols() {
|
|
807
|
+
if (typeof origSymbol !== 'function') {
|
|
808
|
+
return false;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
if (typeof Symbol !== 'function') {
|
|
812
|
+
return false;
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
if (_typeof(origSymbol('foo')) !== 'symbol') {
|
|
816
|
+
return false;
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
if (_typeof(Symbol('bar')) !== 'symbol') {
|
|
820
|
+
return false;
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
return hasSymbolSham();
|
|
824
|
+
};
|
|
825
|
+
|
|
826
|
+
},{"./shams":10}],10:[function(require,module,exports){
|
|
827
|
+
'use strict';
|
|
828
|
+
|
|
829
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
830
|
+
|
|
831
|
+
module.exports = function hasSymbols() {
|
|
832
|
+
if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') {
|
|
833
|
+
return false;
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
if (_typeof(Symbol.iterator) === 'symbol') {
|
|
837
|
+
return true;
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
var obj = {};
|
|
841
|
+
var sym = Symbol('test');
|
|
842
|
+
var symObj = Object(sym);
|
|
843
|
+
|
|
844
|
+
if (typeof sym === 'string') {
|
|
845
|
+
return false;
|
|
846
|
+
}
|
|
847
|
+
|
|
848
|
+
if (Object.prototype.toString.call(sym) !== '[object Symbol]') {
|
|
849
|
+
return false;
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
if (Object.prototype.toString.call(symObj) !== '[object Symbol]') {
|
|
853
|
+
return false;
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
var symVal = 42;
|
|
857
|
+
obj[sym] = symVal;
|
|
858
|
+
|
|
859
|
+
for (sym in obj) {
|
|
860
|
+
return false;
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) {
|
|
864
|
+
return false;
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) {
|
|
868
|
+
return false;
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
var syms = Object.getOwnPropertySymbols(obj);
|
|
872
|
+
|
|
873
|
+
if (syms.length !== 1 || syms[0] !== sym) {
|
|
874
|
+
return false;
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {
|
|
878
|
+
return false;
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
if (typeof Object.getOwnPropertyDescriptor === 'function') {
|
|
882
|
+
var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
|
|
883
|
+
|
|
884
|
+
if (descriptor.value !== symVal || descriptor.enumerable !== true) {
|
|
885
|
+
return false;
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
return true;
|
|
890
|
+
};
|
|
891
|
+
|
|
892
|
+
},{}],11:[function(require,module,exports){
|
|
893
|
+
'use strict';
|
|
894
|
+
|
|
895
|
+
var bind = require('function-bind');
|
|
896
|
+
|
|
897
|
+
module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
|
|
898
|
+
|
|
899
|
+
},{"function-bind":7}],12:[function(require,module,exports){
|
|
900
|
+
"use strict";
|
|
901
|
+
|
|
902
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
903
|
+
|
|
904
|
+
var hasMap = typeof Map === 'function' && Map.prototype;
|
|
905
|
+
var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;
|
|
906
|
+
var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;
|
|
907
|
+
var mapForEach = hasMap && Map.prototype.forEach;
|
|
908
|
+
var hasSet = typeof Set === 'function' && Set.prototype;
|
|
909
|
+
var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;
|
|
910
|
+
var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;
|
|
911
|
+
var setForEach = hasSet && Set.prototype.forEach;
|
|
912
|
+
var hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;
|
|
913
|
+
var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;
|
|
914
|
+
var hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;
|
|
915
|
+
var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;
|
|
916
|
+
var hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;
|
|
917
|
+
var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;
|
|
918
|
+
var booleanValueOf = Boolean.prototype.valueOf;
|
|
919
|
+
var objectToString = Object.prototype.toString;
|
|
920
|
+
var functionToString = Function.prototype.toString;
|
|
921
|
+
var $match = String.prototype.match;
|
|
922
|
+
var $slice = String.prototype.slice;
|
|
923
|
+
var $replace = String.prototype.replace;
|
|
924
|
+
var $toUpperCase = String.prototype.toUpperCase;
|
|
925
|
+
var $toLowerCase = String.prototype.toLowerCase;
|
|
926
|
+
var $test = RegExp.prototype.test;
|
|
927
|
+
var $concat = Array.prototype.concat;
|
|
928
|
+
var $join = Array.prototype.join;
|
|
929
|
+
var $arrSlice = Array.prototype.slice;
|
|
930
|
+
var $floor = Math.floor;
|
|
931
|
+
var bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;
|
|
932
|
+
var gOPS = Object.getOwnPropertySymbols;
|
|
933
|
+
var symToString = typeof Symbol === 'function' && _typeof(Symbol.iterator) === 'symbol' ? Symbol.prototype.toString : null;
|
|
934
|
+
var hasShammedSymbols = typeof Symbol === 'function' && _typeof(Symbol.iterator) === 'object';
|
|
935
|
+
var toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (_typeof(Symbol.toStringTag) === hasShammedSymbols ? 'object' : 'symbol') ? Symbol.toStringTag : null;
|
|
936
|
+
var isEnumerable = Object.prototype.propertyIsEnumerable;
|
|
937
|
+
var gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function (O) {
|
|
938
|
+
return O.__proto__;
|
|
939
|
+
} : null);
|
|
940
|
+
|
|
941
|
+
function addNumericSeparator(num, str) {
|
|
942
|
+
if (num === Infinity || num === -Infinity || num !== num || num && num > -1000 && num < 1000 || $test.call(/e/, str)) {
|
|
943
|
+
return str;
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;
|
|
947
|
+
|
|
948
|
+
if (typeof num === 'number') {
|
|
949
|
+
var int = num < 0 ? -$floor(-num) : $floor(num);
|
|
950
|
+
|
|
951
|
+
if (int !== num) {
|
|
952
|
+
var intStr = String(int);
|
|
953
|
+
var dec = $slice.call(str, intStr.length + 1);
|
|
954
|
+
return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
return $replace.call(str, sepRegex, '$&_');
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
var inspectCustom = require('./util.inspect').custom;
|
|
962
|
+
|
|
963
|
+
var inspectSymbol = inspectCustom && isSymbol(inspectCustom) ? inspectCustom : null;
|
|
964
|
+
|
|
965
|
+
module.exports = function inspect_(obj, options, depth, seen) {
|
|
966
|
+
var opts = options || {};
|
|
967
|
+
|
|
968
|
+
if (has(opts, 'quoteStyle') && opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double') {
|
|
969
|
+
throw new TypeError('option "quoteStyle" must be "single" or "double"');
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
if (has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number' ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) {
|
|
973
|
+
throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;
|
|
977
|
+
|
|
978
|
+
if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {
|
|
979
|
+
throw new TypeError('option "customInspect", if provided, must be `true`, `false`, or `\'symbol\'`');
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
if (has(opts, 'indent') && opts.indent !== null && opts.indent !== '\t' && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) {
|
|
983
|
+
throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {
|
|
987
|
+
throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
var numericSeparator = opts.numericSeparator;
|
|
991
|
+
|
|
992
|
+
if (typeof obj === 'undefined') {
|
|
993
|
+
return 'undefined';
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
if (obj === null) {
|
|
997
|
+
return 'null';
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
if (typeof obj === 'boolean') {
|
|
1001
|
+
return obj ? 'true' : 'false';
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
if (typeof obj === 'string') {
|
|
1005
|
+
return inspectString(obj, opts);
|
|
1006
|
+
}
|
|
1007
|
+
|
|
1008
|
+
if (typeof obj === 'number') {
|
|
1009
|
+
if (obj === 0) {
|
|
1010
|
+
return Infinity / obj > 0 ? '0' : '-0';
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
var str = String(obj);
|
|
1014
|
+
return numericSeparator ? addNumericSeparator(obj, str) : str;
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
if (typeof obj === 'bigint') {
|
|
1018
|
+
var bigIntStr = String(obj) + 'n';
|
|
1019
|
+
return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;
|
|
1023
|
+
|
|
1024
|
+
if (typeof depth === 'undefined') {
|
|
1025
|
+
depth = 0;
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
if (depth >= maxDepth && maxDepth > 0 && _typeof(obj) === 'object') {
|
|
1029
|
+
return isArray(obj) ? '[Array]' : '[Object]';
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
var indent = getIndent(opts, depth);
|
|
1033
|
+
|
|
1034
|
+
if (typeof seen === 'undefined') {
|
|
1035
|
+
seen = [];
|
|
1036
|
+
} else if (indexOf(seen, obj) >= 0) {
|
|
1037
|
+
return '[Circular]';
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
function inspect(value, from, noIndent) {
|
|
1041
|
+
if (from) {
|
|
1042
|
+
seen = $arrSlice.call(seen);
|
|
1043
|
+
seen.push(from);
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
if (noIndent) {
|
|
1047
|
+
var newOpts = {
|
|
1048
|
+
depth: opts.depth
|
|
1049
|
+
};
|
|
1050
|
+
|
|
1051
|
+
if (has(opts, 'quoteStyle')) {
|
|
1052
|
+
newOpts.quoteStyle = opts.quoteStyle;
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
return inspect_(value, newOpts, depth + 1, seen);
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
return inspect_(value, opts, depth + 1, seen);
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
if (typeof obj === 'function') {
|
|
1062
|
+
var name = nameOf(obj);
|
|
1063
|
+
var keys = arrObjKeys(obj, inspect);
|
|
1064
|
+
return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
if (isSymbol(obj)) {
|
|
1068
|
+
var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, '$1') : symToString.call(obj);
|
|
1069
|
+
return _typeof(obj) === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
if (isElement(obj)) {
|
|
1073
|
+
var s = '<' + $toLowerCase.call(String(obj.nodeName));
|
|
1074
|
+
var attrs = obj.attributes || [];
|
|
1075
|
+
|
|
1076
|
+
for (var i = 0; i < attrs.length; i++) {
|
|
1077
|
+
s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
s += '>';
|
|
1081
|
+
|
|
1082
|
+
if (obj.childNodes && obj.childNodes.length) {
|
|
1083
|
+
s += '...';
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';
|
|
1087
|
+
return s;
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
if (isArray(obj)) {
|
|
1091
|
+
if (obj.length === 0) {
|
|
1092
|
+
return '[]';
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
var xs = arrObjKeys(obj, inspect);
|
|
1096
|
+
|
|
1097
|
+
if (indent && !singleLineValues(xs)) {
|
|
1098
|
+
return '[' + indentedJoin(xs, indent) + ']';
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
return '[ ' + $join.call(xs, ', ') + ' ]';
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
if (isError(obj)) {
|
|
1105
|
+
var parts = arrObjKeys(obj, inspect);
|
|
1106
|
+
|
|
1107
|
+
if ('cause' in obj && !isEnumerable.call(obj, 'cause')) {
|
|
1108
|
+
return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
if (parts.length === 0) {
|
|
1112
|
+
return '[' + String(obj) + ']';
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
if (_typeof(obj) === 'object' && customInspect) {
|
|
1119
|
+
if (inspectSymbol && typeof obj[inspectSymbol] === 'function') {
|
|
1120
|
+
return obj[inspectSymbol]();
|
|
1121
|
+
} else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {
|
|
1122
|
+
return obj.inspect();
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
if (isMap(obj)) {
|
|
1127
|
+
var mapParts = [];
|
|
1128
|
+
mapForEach.call(obj, function (value, key) {
|
|
1129
|
+
mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));
|
|
1130
|
+
});
|
|
1131
|
+
return collectionOf('Map', mapSize.call(obj), mapParts, indent);
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
if (isSet(obj)) {
|
|
1135
|
+
var setParts = [];
|
|
1136
|
+
setForEach.call(obj, function (value) {
|
|
1137
|
+
setParts.push(inspect(value, obj));
|
|
1138
|
+
});
|
|
1139
|
+
return collectionOf('Set', setSize.call(obj), setParts, indent);
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
if (isWeakMap(obj)) {
|
|
1143
|
+
return weakCollectionOf('WeakMap');
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
if (isWeakSet(obj)) {
|
|
1147
|
+
return weakCollectionOf('WeakSet');
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
if (isWeakRef(obj)) {
|
|
1151
|
+
return weakCollectionOf('WeakRef');
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
if (isNumber(obj)) {
|
|
1155
|
+
return markBoxed(inspect(Number(obj)));
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
if (isBigInt(obj)) {
|
|
1159
|
+
return markBoxed(inspect(bigIntValueOf.call(obj)));
|
|
1160
|
+
}
|
|
1161
|
+
|
|
1162
|
+
if (isBoolean(obj)) {
|
|
1163
|
+
return markBoxed(booleanValueOf.call(obj));
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
if (isString(obj)) {
|
|
1167
|
+
return markBoxed(inspect(String(obj)));
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
if (!isDate(obj) && !isRegExp(obj)) {
|
|
1171
|
+
var ys = arrObjKeys(obj, inspect);
|
|
1172
|
+
var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;
|
|
1173
|
+
var protoTag = obj instanceof Object ? '' : 'null prototype';
|
|
1174
|
+
var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';
|
|
1175
|
+
var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';
|
|
1176
|
+
var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');
|
|
1177
|
+
|
|
1178
|
+
if (ys.length === 0) {
|
|
1179
|
+
return tag + '{}';
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
if (indent) {
|
|
1183
|
+
return tag + '{' + indentedJoin(ys, indent) + '}';
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
return tag + '{ ' + $join.call(ys, ', ') + ' }';
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1189
|
+
return String(obj);
|
|
1190
|
+
};
|
|
1191
|
+
|
|
1192
|
+
function wrapQuotes(s, defaultStyle, opts) {
|
|
1193
|
+
var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '"' : "'";
|
|
1194
|
+
return quoteChar + s + quoteChar;
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
function quote(s) {
|
|
1198
|
+
return $replace.call(String(s), /"/g, '"');
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
function isArray(obj) {
|
|
1202
|
+
return toStr(obj) === '[object Array]' && (!toStringTag || !(_typeof(obj) === 'object' && toStringTag in obj));
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1205
|
+
function isDate(obj) {
|
|
1206
|
+
return toStr(obj) === '[object Date]' && (!toStringTag || !(_typeof(obj) === 'object' && toStringTag in obj));
|
|
1207
|
+
}
|
|
1208
|
+
|
|
1209
|
+
function isRegExp(obj) {
|
|
1210
|
+
return toStr(obj) === '[object RegExp]' && (!toStringTag || !(_typeof(obj) === 'object' && toStringTag in obj));
|
|
1211
|
+
}
|
|
1212
|
+
|
|
1213
|
+
function isError(obj) {
|
|
1214
|
+
return toStr(obj) === '[object Error]' && (!toStringTag || !(_typeof(obj) === 'object' && toStringTag in obj));
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
function isString(obj) {
|
|
1218
|
+
return toStr(obj) === '[object String]' && (!toStringTag || !(_typeof(obj) === 'object' && toStringTag in obj));
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
function isNumber(obj) {
|
|
1222
|
+
return toStr(obj) === '[object Number]' && (!toStringTag || !(_typeof(obj) === 'object' && toStringTag in obj));
|
|
1223
|
+
}
|
|
1224
|
+
|
|
1225
|
+
function isBoolean(obj) {
|
|
1226
|
+
return toStr(obj) === '[object Boolean]' && (!toStringTag || !(_typeof(obj) === 'object' && toStringTag in obj));
|
|
1227
|
+
}
|
|
1228
|
+
|
|
1229
|
+
function isSymbol(obj) {
|
|
1230
|
+
if (hasShammedSymbols) {
|
|
1231
|
+
return obj && _typeof(obj) === 'object' && obj instanceof Symbol;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
if (_typeof(obj) === 'symbol') {
|
|
1235
|
+
return true;
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
if (!obj || _typeof(obj) !== 'object' || !symToString) {
|
|
1239
|
+
return false;
|
|
1240
|
+
}
|
|
1241
|
+
|
|
1242
|
+
try {
|
|
1243
|
+
symToString.call(obj);
|
|
1244
|
+
return true;
|
|
1245
|
+
} catch (e) {}
|
|
1246
|
+
|
|
1247
|
+
return false;
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
function isBigInt(obj) {
|
|
1251
|
+
if (!obj || _typeof(obj) !== 'object' || !bigIntValueOf) {
|
|
1252
|
+
return false;
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1255
|
+
try {
|
|
1256
|
+
bigIntValueOf.call(obj);
|
|
1257
|
+
return true;
|
|
1258
|
+
} catch (e) {}
|
|
1259
|
+
|
|
1260
|
+
return false;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
var hasOwn = Object.prototype.hasOwnProperty || function (key) {
|
|
1264
|
+
return key in this;
|
|
1265
|
+
};
|
|
1266
|
+
|
|
1267
|
+
function has(obj, key) {
|
|
1268
|
+
return hasOwn.call(obj, key);
|
|
1269
|
+
}
|
|
1270
|
+
|
|
1271
|
+
function toStr(obj) {
|
|
1272
|
+
return objectToString.call(obj);
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
function nameOf(f) {
|
|
1276
|
+
if (f.name) {
|
|
1277
|
+
return f.name;
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/);
|
|
1281
|
+
|
|
1282
|
+
if (m) {
|
|
1283
|
+
return m[1];
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
return null;
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
function indexOf(xs, x) {
|
|
1290
|
+
if (xs.indexOf) {
|
|
1291
|
+
return xs.indexOf(x);
|
|
1292
|
+
}
|
|
1293
|
+
|
|
1294
|
+
for (var i = 0, l = xs.length; i < l; i++) {
|
|
1295
|
+
if (xs[i] === x) {
|
|
1296
|
+
return i;
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1299
|
+
|
|
1300
|
+
return -1;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
function isMap(x) {
|
|
1304
|
+
if (!mapSize || !x || _typeof(x) !== 'object') {
|
|
1305
|
+
return false;
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1308
|
+
try {
|
|
1309
|
+
mapSize.call(x);
|
|
1310
|
+
|
|
1311
|
+
try {
|
|
1312
|
+
setSize.call(x);
|
|
1313
|
+
} catch (s) {
|
|
1314
|
+
return true;
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1317
|
+
return x instanceof Map;
|
|
1318
|
+
} catch (e) {}
|
|
1319
|
+
|
|
1320
|
+
return false;
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1323
|
+
function isWeakMap(x) {
|
|
1324
|
+
if (!weakMapHas || !x || _typeof(x) !== 'object') {
|
|
1325
|
+
return false;
|
|
1326
|
+
}
|
|
1327
|
+
|
|
1328
|
+
try {
|
|
1329
|
+
weakMapHas.call(x, weakMapHas);
|
|
1330
|
+
|
|
1331
|
+
try {
|
|
1332
|
+
weakSetHas.call(x, weakSetHas);
|
|
1333
|
+
} catch (s) {
|
|
1334
|
+
return true;
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1337
|
+
return x instanceof WeakMap;
|
|
1338
|
+
} catch (e) {}
|
|
1339
|
+
|
|
1340
|
+
return false;
|
|
1341
|
+
}
|
|
1342
|
+
|
|
1343
|
+
function isWeakRef(x) {
|
|
1344
|
+
if (!weakRefDeref || !x || _typeof(x) !== 'object') {
|
|
1345
|
+
return false;
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1348
|
+
try {
|
|
1349
|
+
weakRefDeref.call(x);
|
|
1350
|
+
return true;
|
|
1351
|
+
} catch (e) {}
|
|
1352
|
+
|
|
1353
|
+
return false;
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
function isSet(x) {
|
|
1357
|
+
if (!setSize || !x || _typeof(x) !== 'object') {
|
|
1358
|
+
return false;
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
try {
|
|
1362
|
+
setSize.call(x);
|
|
1363
|
+
|
|
1364
|
+
try {
|
|
1365
|
+
mapSize.call(x);
|
|
1366
|
+
} catch (m) {
|
|
1367
|
+
return true;
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
return x instanceof Set;
|
|
1371
|
+
} catch (e) {}
|
|
1372
|
+
|
|
1373
|
+
return false;
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
function isWeakSet(x) {
|
|
1377
|
+
if (!weakSetHas || !x || _typeof(x) !== 'object') {
|
|
1378
|
+
return false;
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
try {
|
|
1382
|
+
weakSetHas.call(x, weakSetHas);
|
|
1383
|
+
|
|
1384
|
+
try {
|
|
1385
|
+
weakMapHas.call(x, weakMapHas);
|
|
1386
|
+
} catch (s) {
|
|
1387
|
+
return true;
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
return x instanceof WeakSet;
|
|
1391
|
+
} catch (e) {}
|
|
62
1392
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
1393
|
+
return false;
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
function isElement(x) {
|
|
1397
|
+
if (!x || _typeof(x) !== 'object') {
|
|
1398
|
+
return false;
|
|
67
1399
|
}
|
|
68
1400
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
};
|
|
73
|
-
/**
|
|
74
|
-
* Remove the given callback for `event` or all
|
|
75
|
-
* registered callbacks.
|
|
76
|
-
*
|
|
77
|
-
* @param {String} event
|
|
78
|
-
* @param {Function} fn
|
|
79
|
-
* @return {Emitter}
|
|
80
|
-
* @api public
|
|
81
|
-
*/
|
|
1401
|
+
if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {
|
|
1402
|
+
return true;
|
|
1403
|
+
}
|
|
82
1404
|
|
|
1405
|
+
return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';
|
|
1406
|
+
}
|
|
83
1407
|
|
|
84
|
-
|
|
85
|
-
|
|
1408
|
+
function inspectString(str, opts) {
|
|
1409
|
+
if (str.length > opts.maxStringLength) {
|
|
1410
|
+
var remaining = str.length - opts.maxStringLength;
|
|
1411
|
+
var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');
|
|
1412
|
+
return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;
|
|
1413
|
+
}
|
|
86
1414
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
} // specific event
|
|
1415
|
+
var s = $replace.call($replace.call(str, /(['\\])/g, '\\$1'), /[\x00-\x1f]/g, lowbyte);
|
|
1416
|
+
return wrapQuotes(s, 'single', opts);
|
|
1417
|
+
}
|
|
91
1418
|
|
|
1419
|
+
function lowbyte(c) {
|
|
1420
|
+
var n = c.charCodeAt(0);
|
|
1421
|
+
var x = {
|
|
1422
|
+
8: 'b',
|
|
1423
|
+
9: 't',
|
|
1424
|
+
10: 'n',
|
|
1425
|
+
12: 'f',
|
|
1426
|
+
13: 'r'
|
|
1427
|
+
}[n];
|
|
92
1428
|
|
|
93
|
-
|
|
94
|
-
|
|
1429
|
+
if (x) {
|
|
1430
|
+
return '\\' + x;
|
|
1431
|
+
}
|
|
95
1432
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
return this;
|
|
99
|
-
} // remove specific handler
|
|
1433
|
+
return '\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));
|
|
1434
|
+
}
|
|
100
1435
|
|
|
1436
|
+
function markBoxed(str) {
|
|
1437
|
+
return 'Object(' + str + ')';
|
|
1438
|
+
}
|
|
101
1439
|
|
|
102
|
-
|
|
1440
|
+
function weakCollectionOf(type) {
|
|
1441
|
+
return type + ' { ? }';
|
|
1442
|
+
}
|
|
103
1443
|
|
|
104
|
-
|
|
105
|
-
|
|
1444
|
+
function collectionOf(type, size, entries, indent) {
|
|
1445
|
+
var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');
|
|
1446
|
+
return type + ' (' + size + ') {' + joinedEntries + '}';
|
|
1447
|
+
}
|
|
106
1448
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
1449
|
+
function singleLineValues(xs) {
|
|
1450
|
+
for (var i = 0; i < xs.length; i++) {
|
|
1451
|
+
if (indexOf(xs[i], '\n') >= 0) {
|
|
1452
|
+
return false;
|
|
110
1453
|
}
|
|
111
|
-
} // Remove event specific arrays for event types that no
|
|
112
|
-
// one is subscribed for to avoid memory leak.
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
if (callbacks.length === 0) {
|
|
116
|
-
delete this._callbacks['$' + event];
|
|
117
1454
|
}
|
|
118
1455
|
|
|
119
|
-
return
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Emit `event` with the given args.
|
|
123
|
-
*
|
|
124
|
-
* @param {String} event
|
|
125
|
-
* @param {Mixed} ...
|
|
126
|
-
* @return {Emitter}
|
|
127
|
-
*/
|
|
128
|
-
|
|
1456
|
+
return true;
|
|
1457
|
+
}
|
|
129
1458
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
var args = new Array(arguments.length - 1),
|
|
133
|
-
callbacks = this._callbacks['$' + event];
|
|
1459
|
+
function getIndent(opts, depth) {
|
|
1460
|
+
var baseIndent;
|
|
134
1461
|
|
|
135
|
-
|
|
136
|
-
|
|
1462
|
+
if (opts.indent === '\t') {
|
|
1463
|
+
baseIndent = '\t';
|
|
1464
|
+
} else if (typeof opts.indent === 'number' && opts.indent > 0) {
|
|
1465
|
+
baseIndent = $join.call(Array(opts.indent + 1), ' ');
|
|
1466
|
+
} else {
|
|
1467
|
+
return null;
|
|
137
1468
|
}
|
|
138
1469
|
|
|
139
|
-
|
|
140
|
-
|
|
1470
|
+
return {
|
|
1471
|
+
base: baseIndent,
|
|
1472
|
+
prev: $join.call(Array(depth + 1), baseIndent)
|
|
1473
|
+
};
|
|
1474
|
+
}
|
|
141
1475
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
1476
|
+
function indentedJoin(xs, indent) {
|
|
1477
|
+
if (xs.length === 0) {
|
|
1478
|
+
return '';
|
|
145
1479
|
}
|
|
146
1480
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
* Return array of callbacks for `event`.
|
|
151
|
-
*
|
|
152
|
-
* @param {String} event
|
|
153
|
-
* @return {Array}
|
|
154
|
-
* @api public
|
|
155
|
-
*/
|
|
1481
|
+
var lineJoiner = '\n' + indent.prev + indent.base;
|
|
1482
|
+
return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\n' + indent.prev;
|
|
1483
|
+
}
|
|
156
1484
|
|
|
1485
|
+
function arrObjKeys(obj, inspect) {
|
|
1486
|
+
var isArr = isArray(obj);
|
|
1487
|
+
var xs = [];
|
|
157
1488
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
return this._callbacks['$' + event] || [];
|
|
161
|
-
};
|
|
162
|
-
/**
|
|
163
|
-
* Check if this emitter has `event` handlers.
|
|
164
|
-
*
|
|
165
|
-
* @param {String} event
|
|
166
|
-
* @return {Boolean}
|
|
167
|
-
* @api public
|
|
168
|
-
*/
|
|
1489
|
+
if (isArr) {
|
|
1490
|
+
xs.length = obj.length;
|
|
169
1491
|
|
|
1492
|
+
for (var i = 0; i < obj.length; i++) {
|
|
1493
|
+
xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';
|
|
1494
|
+
}
|
|
1495
|
+
}
|
|
170
1496
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
};
|
|
1497
|
+
var syms = typeof gOPS === 'function' ? gOPS(obj) : [];
|
|
1498
|
+
var symMap;
|
|
174
1499
|
|
|
175
|
-
|
|
176
|
-
|
|
1500
|
+
if (hasShammedSymbols) {
|
|
1501
|
+
symMap = {};
|
|
177
1502
|
|
|
178
|
-
|
|
1503
|
+
for (var k = 0; k < syms.length; k++) {
|
|
1504
|
+
symMap['$' + syms[k]] = syms[k];
|
|
1505
|
+
}
|
|
1506
|
+
}
|
|
179
1507
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
var arr = [];
|
|
185
|
-
var replacerStack = []; // Regular stringify
|
|
1508
|
+
for (var key in obj) {
|
|
1509
|
+
if (!has(obj, key)) {
|
|
1510
|
+
continue;
|
|
1511
|
+
}
|
|
186
1512
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
1513
|
+
if (isArr && String(Number(key)) === key && key < obj.length) {
|
|
1514
|
+
continue;
|
|
1515
|
+
}
|
|
190
1516
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
1517
|
+
if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {
|
|
1518
|
+
continue;
|
|
1519
|
+
} else if ($test.call(/[^\w$]/, key)) {
|
|
1520
|
+
xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));
|
|
1521
|
+
} else {
|
|
1522
|
+
xs.push(key + ': ' + inspect(obj[key], obj));
|
|
1523
|
+
}
|
|
195
1524
|
}
|
|
196
1525
|
|
|
197
|
-
|
|
198
|
-
var
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
} else {
|
|
203
|
-
part[0][part[1]] = part[2];
|
|
1526
|
+
if (typeof gOPS === 'function') {
|
|
1527
|
+
for (var j = 0; j < syms.length; j++) {
|
|
1528
|
+
if (isEnumerable.call(obj, syms[j])) {
|
|
1529
|
+
xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));
|
|
1530
|
+
}
|
|
204
1531
|
}
|
|
205
1532
|
}
|
|
206
1533
|
|
|
207
|
-
return
|
|
1534
|
+
return xs;
|
|
208
1535
|
}
|
|
209
1536
|
|
|
210
|
-
function
|
|
211
|
-
|
|
1537
|
+
},{"./util.inspect":1}],13:[function(require,module,exports){
|
|
1538
|
+
"use strict";
|
|
212
1539
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k);
|
|
217
|
-
|
|
218
|
-
if (propertyDescriptor.get !== undefined) {
|
|
219
|
-
if (propertyDescriptor.configurable) {
|
|
220
|
-
Object.defineProperty(parent, k, {
|
|
221
|
-
value: '[Circular]'
|
|
222
|
-
});
|
|
223
|
-
arr.push([parent, k, val, propertyDescriptor]);
|
|
224
|
-
} else {
|
|
225
|
-
replacerStack.push([val, k]);
|
|
226
|
-
}
|
|
227
|
-
} else {
|
|
228
|
-
parent[k] = '[Circular]';
|
|
229
|
-
arr.push([parent, k, val]);
|
|
230
|
-
}
|
|
1540
|
+
var process = module.exports = {};
|
|
1541
|
+
var cachedSetTimeout;
|
|
1542
|
+
var cachedClearTimeout;
|
|
231
1543
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
1544
|
+
function defaultSetTimout() {
|
|
1545
|
+
throw new Error('setTimeout has not been defined');
|
|
1546
|
+
}
|
|
235
1547
|
|
|
236
|
-
|
|
1548
|
+
function defaultClearTimeout() {
|
|
1549
|
+
throw new Error('clearTimeout has not been defined');
|
|
1550
|
+
}
|
|
237
1551
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
1552
|
+
(function () {
|
|
1553
|
+
try {
|
|
1554
|
+
if (typeof setTimeout === 'function') {
|
|
1555
|
+
cachedSetTimeout = setTimeout;
|
|
242
1556
|
} else {
|
|
243
|
-
|
|
1557
|
+
cachedSetTimeout = defaultSetTimout;
|
|
1558
|
+
}
|
|
1559
|
+
} catch (e) {
|
|
1560
|
+
cachedSetTimeout = defaultSetTimout;
|
|
1561
|
+
}
|
|
244
1562
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
1563
|
+
try {
|
|
1564
|
+
if (typeof clearTimeout === 'function') {
|
|
1565
|
+
cachedClearTimeout = clearTimeout;
|
|
1566
|
+
} else {
|
|
1567
|
+
cachedClearTimeout = defaultClearTimeout;
|
|
249
1568
|
}
|
|
1569
|
+
} catch (e) {
|
|
1570
|
+
cachedClearTimeout = defaultClearTimeout;
|
|
1571
|
+
}
|
|
1572
|
+
})();
|
|
250
1573
|
|
|
251
|
-
|
|
1574
|
+
function runTimeout(fun) {
|
|
1575
|
+
if (cachedSetTimeout === setTimeout) {
|
|
1576
|
+
return setTimeout(fun, 0);
|
|
252
1577
|
}
|
|
253
|
-
} // Stable-stringify
|
|
254
1578
|
|
|
1579
|
+
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
|
|
1580
|
+
cachedSetTimeout = setTimeout;
|
|
1581
|
+
return setTimeout(fun, 0);
|
|
1582
|
+
}
|
|
255
1583
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
1584
|
+
try {
|
|
1585
|
+
return cachedSetTimeout(fun, 0);
|
|
1586
|
+
} catch (e) {
|
|
1587
|
+
try {
|
|
1588
|
+
return cachedSetTimeout.call(null, fun, 0);
|
|
1589
|
+
} catch (e) {
|
|
1590
|
+
return cachedSetTimeout.call(this, fun, 0);
|
|
1591
|
+
}
|
|
259
1592
|
}
|
|
1593
|
+
}
|
|
260
1594
|
|
|
261
|
-
|
|
262
|
-
|
|
1595
|
+
function runClearTimeout(marker) {
|
|
1596
|
+
if (cachedClearTimeout === clearTimeout) {
|
|
1597
|
+
return clearTimeout(marker);
|
|
263
1598
|
}
|
|
264
1599
|
|
|
265
|
-
|
|
1600
|
+
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
|
|
1601
|
+
cachedClearTimeout = clearTimeout;
|
|
1602
|
+
return clearTimeout(marker);
|
|
1603
|
+
}
|
|
1604
|
+
|
|
1605
|
+
try {
|
|
1606
|
+
return cachedClearTimeout(marker);
|
|
1607
|
+
} catch (e) {
|
|
1608
|
+
try {
|
|
1609
|
+
return cachedClearTimeout.call(null, marker);
|
|
1610
|
+
} catch (e) {
|
|
1611
|
+
return cachedClearTimeout.call(this, marker);
|
|
1612
|
+
}
|
|
1613
|
+
}
|
|
266
1614
|
}
|
|
267
1615
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
1616
|
+
var queue = [];
|
|
1617
|
+
var draining = false;
|
|
1618
|
+
var currentQueue;
|
|
1619
|
+
var queueIndex = -1;
|
|
271
1620
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer);
|
|
1621
|
+
function cleanUpNextTick() {
|
|
1622
|
+
if (!draining || !currentQueue) {
|
|
1623
|
+
return;
|
|
276
1624
|
}
|
|
277
1625
|
|
|
278
|
-
|
|
279
|
-
var part = arr.pop();
|
|
1626
|
+
draining = false;
|
|
280
1627
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
}
|
|
1628
|
+
if (currentQueue.length) {
|
|
1629
|
+
queue = currentQueue.concat(queue);
|
|
1630
|
+
} else {
|
|
1631
|
+
queueIndex = -1;
|
|
286
1632
|
}
|
|
287
1633
|
|
|
288
|
-
|
|
1634
|
+
if (queue.length) {
|
|
1635
|
+
drainQueue();
|
|
1636
|
+
}
|
|
289
1637
|
}
|
|
290
1638
|
|
|
291
|
-
function
|
|
292
|
-
|
|
1639
|
+
function drainQueue() {
|
|
1640
|
+
if (draining) {
|
|
1641
|
+
return;
|
|
1642
|
+
}
|
|
293
1643
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k);
|
|
298
|
-
|
|
299
|
-
if (propertyDescriptor.get !== undefined) {
|
|
300
|
-
if (propertyDescriptor.configurable) {
|
|
301
|
-
Object.defineProperty(parent, k, {
|
|
302
|
-
value: '[Circular]'
|
|
303
|
-
});
|
|
304
|
-
arr.push([parent, k, val, propertyDescriptor]);
|
|
305
|
-
} else {
|
|
306
|
-
replacerStack.push([val, k]);
|
|
307
|
-
}
|
|
308
|
-
} else {
|
|
309
|
-
parent[k] = '[Circular]';
|
|
310
|
-
arr.push([parent, k, val]);
|
|
311
|
-
}
|
|
1644
|
+
var timeout = runTimeout(cleanUpNextTick);
|
|
1645
|
+
draining = true;
|
|
1646
|
+
var len = queue.length;
|
|
312
1647
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
1648
|
+
while (len) {
|
|
1649
|
+
currentQueue = queue;
|
|
1650
|
+
queue = [];
|
|
316
1651
|
|
|
317
|
-
|
|
318
|
-
|
|
1652
|
+
while (++queueIndex < len) {
|
|
1653
|
+
if (currentQueue) {
|
|
1654
|
+
currentQueue[queueIndex].run();
|
|
1655
|
+
}
|
|
319
1656
|
}
|
|
320
1657
|
|
|
321
|
-
|
|
1658
|
+
queueIndex = -1;
|
|
1659
|
+
len = queue.length;
|
|
1660
|
+
}
|
|
322
1661
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
} else {
|
|
328
|
-
// Create a temporary object in the required way
|
|
329
|
-
var tmp = {};
|
|
330
|
-
var keys = Object.keys(val).sort(compareFunction);
|
|
1662
|
+
currentQueue = null;
|
|
1663
|
+
draining = false;
|
|
1664
|
+
runClearTimeout(timeout);
|
|
1665
|
+
}
|
|
331
1666
|
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
deterministicDecirc(val[key], key, stack, val);
|
|
335
|
-
tmp[key] = val[key];
|
|
336
|
-
}
|
|
1667
|
+
process.nextTick = function (fun) {
|
|
1668
|
+
var args = new Array(arguments.length - 1);
|
|
337
1669
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
} else {
|
|
342
|
-
return tmp;
|
|
343
|
-
}
|
|
1670
|
+
if (arguments.length > 1) {
|
|
1671
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
1672
|
+
args[i - 1] = arguments[i];
|
|
344
1673
|
}
|
|
1674
|
+
}
|
|
345
1675
|
|
|
346
|
-
|
|
1676
|
+
queue.push(new Item(fun, args));
|
|
1677
|
+
|
|
1678
|
+
if (queue.length === 1 && !draining) {
|
|
1679
|
+
runTimeout(drainQueue);
|
|
347
1680
|
}
|
|
348
|
-
}
|
|
349
|
-
// and mark them as [Circular]
|
|
1681
|
+
};
|
|
350
1682
|
|
|
1683
|
+
function Item(fun, array) {
|
|
1684
|
+
this.fun = fun;
|
|
1685
|
+
this.array = array;
|
|
1686
|
+
}
|
|
351
1687
|
|
|
352
|
-
function
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
};
|
|
356
|
-
return function (key, val) {
|
|
357
|
-
if (replacerStack.length > 0) {
|
|
358
|
-
for (var i = 0; i < replacerStack.length; i++) {
|
|
359
|
-
var part = replacerStack[i];
|
|
1688
|
+
Item.prototype.run = function () {
|
|
1689
|
+
this.fun.apply(null, this.array);
|
|
1690
|
+
};
|
|
360
1691
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
}
|
|
1692
|
+
process.title = 'browser';
|
|
1693
|
+
process.browser = true;
|
|
1694
|
+
process.env = {};
|
|
1695
|
+
process.argv = [];
|
|
1696
|
+
process.version = '';
|
|
1697
|
+
process.versions = {};
|
|
368
1698
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
1699
|
+
function noop() {}
|
|
1700
|
+
|
|
1701
|
+
process.on = noop;
|
|
1702
|
+
process.addListener = noop;
|
|
1703
|
+
process.once = noop;
|
|
1704
|
+
process.off = noop;
|
|
1705
|
+
process.removeListener = noop;
|
|
1706
|
+
process.removeAllListeners = noop;
|
|
1707
|
+
process.emit = noop;
|
|
1708
|
+
process.prependListener = noop;
|
|
1709
|
+
process.prependOnceListener = noop;
|
|
1710
|
+
|
|
1711
|
+
process.listeners = function (name) {
|
|
1712
|
+
return [];
|
|
1713
|
+
};
|
|
1714
|
+
|
|
1715
|
+
process.binding = function (name) {
|
|
1716
|
+
throw new Error('process.binding is not supported');
|
|
1717
|
+
};
|
|
1718
|
+
|
|
1719
|
+
process.cwd = function () {
|
|
1720
|
+
return '/';
|
|
1721
|
+
};
|
|
1722
|
+
|
|
1723
|
+
process.chdir = function (dir) {
|
|
1724
|
+
throw new Error('process.chdir is not supported');
|
|
1725
|
+
};
|
|
1726
|
+
|
|
1727
|
+
process.umask = function () {
|
|
1728
|
+
return 0;
|
|
1729
|
+
};
|
|
372
1730
|
|
|
373
|
-
},{}],
|
|
1731
|
+
},{}],14:[function(require,module,exports){
|
|
374
1732
|
'use strict';
|
|
375
1733
|
|
|
376
1734
|
var replace = String.prototype.replace;
|
|
377
1735
|
var percentTwenties = /%20/g;
|
|
378
|
-
|
|
379
|
-
var util = require('./utils');
|
|
380
|
-
|
|
381
1736
|
var Format = {
|
|
382
1737
|
RFC1738: 'RFC1738',
|
|
383
1738
|
RFC3986: 'RFC3986'
|
|
384
1739
|
};
|
|
385
|
-
module.exports =
|
|
1740
|
+
module.exports = {
|
|
386
1741
|
'default': Format.RFC3986,
|
|
387
1742
|
formatters: {
|
|
388
1743
|
RFC1738: function RFC1738(value) {
|
|
@@ -391,10 +1746,12 @@ module.exports = util.assign({
|
|
|
391
1746
|
RFC3986: function RFC3986(value) {
|
|
392
1747
|
return String(value);
|
|
393
1748
|
}
|
|
394
|
-
}
|
|
395
|
-
|
|
1749
|
+
},
|
|
1750
|
+
RFC1738: Format.RFC1738,
|
|
1751
|
+
RFC3986: Format.RFC3986
|
|
1752
|
+
};
|
|
396
1753
|
|
|
397
|
-
},{
|
|
1754
|
+
},{}],15:[function(require,module,exports){
|
|
398
1755
|
'use strict';
|
|
399
1756
|
|
|
400
1757
|
var stringify = require('./stringify');
|
|
@@ -409,7 +1766,7 @@ module.exports = {
|
|
|
409
1766
|
stringify: stringify
|
|
410
1767
|
};
|
|
411
1768
|
|
|
412
|
-
},{"./formats":
|
|
1769
|
+
},{"./formats":14,"./parse":16,"./stringify":17}],16:[function(require,module,exports){
|
|
413
1770
|
'use strict';
|
|
414
1771
|
|
|
415
1772
|
var utils = require('./utils');
|
|
@@ -419,6 +1776,7 @@ var isArray = Array.isArray;
|
|
|
419
1776
|
var defaults = {
|
|
420
1777
|
allowDots: false,
|
|
421
1778
|
allowPrototypes: false,
|
|
1779
|
+
allowSparse: false,
|
|
422
1780
|
arrayLimit: 20,
|
|
423
1781
|
charset: 'utf-8',
|
|
424
1782
|
charsetSentinel: false,
|
|
@@ -446,25 +1804,17 @@ var parseArrayValue = function parseArrayValue(val, options) {
|
|
|
446
1804
|
}
|
|
447
1805
|
|
|
448
1806
|
return val;
|
|
449
|
-
};
|
|
450
|
-
// application/x-www-form-urlencoded body and the encoding of the page containing
|
|
451
|
-
// the form is iso-8859-1, or when the submitted form has an accept-charset
|
|
452
|
-
// attribute of iso-8859-1. Presumably also with other charsets that do not contain
|
|
453
|
-
// the ✓ character, such as us-ascii.
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')
|
|
457
|
-
// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
|
|
1807
|
+
};
|
|
458
1808
|
|
|
459
|
-
var
|
|
1809
|
+
var isoSentinel = 'utf8=%26%2310003%3B';
|
|
1810
|
+
var charsetSentinel = 'utf8=%E2%9C%93';
|
|
460
1811
|
|
|
461
1812
|
var parseValues = function parseQueryStringValues(str, options) {
|
|
462
1813
|
var obj = {};
|
|
463
1814
|
var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
|
|
464
1815
|
var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
|
|
465
1816
|
var parts = cleanStr.split(options.delimiter, limit);
|
|
466
|
-
var skipIndex = -1;
|
|
467
|
-
|
|
1817
|
+
var skipIndex = -1;
|
|
468
1818
|
var i;
|
|
469
1819
|
var charset = options.charset;
|
|
470
1820
|
|
|
@@ -478,7 +1828,7 @@ var parseValues = function parseQueryStringValues(str, options) {
|
|
|
478
1828
|
}
|
|
479
1829
|
|
|
480
1830
|
skipIndex = i;
|
|
481
|
-
i = parts.length;
|
|
1831
|
+
i = parts.length;
|
|
482
1832
|
}
|
|
483
1833
|
}
|
|
484
1834
|
}
|
|
@@ -547,7 +1897,7 @@ var parseObject = function parseObject(chain, val, options, valuesParsed) {
|
|
|
547
1897
|
}
|
|
548
1898
|
}
|
|
549
1899
|
|
|
550
|
-
leaf = obj;
|
|
1900
|
+
leaf = obj;
|
|
551
1901
|
}
|
|
552
1902
|
|
|
553
1903
|
return leaf;
|
|
@@ -556,21 +1906,16 @@ var parseObject = function parseObject(chain, val, options, valuesParsed) {
|
|
|
556
1906
|
var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
|
|
557
1907
|
if (!givenKey) {
|
|
558
1908
|
return;
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey; // The regex chunks
|
|
1909
|
+
}
|
|
563
1910
|
|
|
1911
|
+
var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
|
|
564
1912
|
var brackets = /(\[[^[\]]*])/;
|
|
565
|
-
var child = /(\[[^[\]]*])/g;
|
|
566
|
-
|
|
1913
|
+
var child = /(\[[^[\]]*])/g;
|
|
567
1914
|
var segment = options.depth > 0 && brackets.exec(key);
|
|
568
|
-
var parent = segment ? key.slice(0, segment.index) : key;
|
|
569
|
-
|
|
1915
|
+
var parent = segment ? key.slice(0, segment.index) : key;
|
|
570
1916
|
var keys = [];
|
|
571
1917
|
|
|
572
1918
|
if (parent) {
|
|
573
|
-
// If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
|
|
574
1919
|
if (!options.plainObjects && has.call(Object.prototype, parent)) {
|
|
575
1920
|
if (!options.allowPrototypes) {
|
|
576
1921
|
return;
|
|
@@ -578,8 +1923,7 @@ var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesPars
|
|
|
578
1923
|
}
|
|
579
1924
|
|
|
580
1925
|
keys.push(parent);
|
|
581
|
-
}
|
|
582
|
-
|
|
1926
|
+
}
|
|
583
1927
|
|
|
584
1928
|
var i = 0;
|
|
585
1929
|
|
|
@@ -593,8 +1937,7 @@ var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesPars
|
|
|
593
1937
|
}
|
|
594
1938
|
|
|
595
1939
|
keys.push(segment[1]);
|
|
596
|
-
}
|
|
597
|
-
|
|
1940
|
+
}
|
|
598
1941
|
|
|
599
1942
|
if (segment) {
|
|
600
1943
|
keys.push('[' + key.slice(segment.index) + ']');
|
|
@@ -620,13 +1963,13 @@ var normalizeParseOptions = function normalizeParseOptions(opts) {
|
|
|
620
1963
|
return {
|
|
621
1964
|
allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
|
|
622
1965
|
allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
|
|
1966
|
+
allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,
|
|
623
1967
|
arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
|
|
624
1968
|
charset: charset,
|
|
625
1969
|
charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
|
|
626
1970
|
comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
|
|
627
1971
|
decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
|
|
628
1972
|
delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
|
|
629
|
-
// eslint-disable-next-line no-implicit-coercion, no-extra-parens
|
|
630
1973
|
depth: typeof opts.depth === 'number' || opts.depth === false ? +opts.depth : defaults.depth,
|
|
631
1974
|
ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
|
|
632
1975
|
interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
|
|
@@ -645,8 +1988,7 @@ module.exports = function (str, opts) {
|
|
|
645
1988
|
}
|
|
646
1989
|
|
|
647
1990
|
var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
|
|
648
|
-
var obj = options.plainObjects ? Object.create(null) : {};
|
|
649
|
-
|
|
1991
|
+
var obj = options.plainObjects ? Object.create(null) : {};
|
|
650
1992
|
var keys = Object.keys(tempObj);
|
|
651
1993
|
|
|
652
1994
|
for (var i = 0; i < keys.length; ++i) {
|
|
@@ -655,13 +1997,19 @@ module.exports = function (str, opts) {
|
|
|
655
1997
|
obj = utils.merge(obj, newObj, options);
|
|
656
1998
|
}
|
|
657
1999
|
|
|
2000
|
+
if (options.allowSparse === true) {
|
|
2001
|
+
return obj;
|
|
2002
|
+
}
|
|
2003
|
+
|
|
658
2004
|
return utils.compact(obj);
|
|
659
2005
|
};
|
|
660
2006
|
|
|
661
|
-
},{"./utils":
|
|
2007
|
+
},{"./utils":18}],17:[function(require,module,exports){
|
|
662
2008
|
'use strict';
|
|
663
2009
|
|
|
664
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
2010
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2011
|
+
|
|
2012
|
+
var getSideChannel = require('side-channel');
|
|
665
2013
|
|
|
666
2014
|
var utils = require('./utils');
|
|
667
2015
|
|
|
@@ -681,6 +2029,7 @@ var arrayPrefixGenerators = {
|
|
|
681
2029
|
}
|
|
682
2030
|
};
|
|
683
2031
|
var isArray = Array.isArray;
|
|
2032
|
+
var split = String.prototype.split;
|
|
684
2033
|
var push = Array.prototype.push;
|
|
685
2034
|
|
|
686
2035
|
var pushToArray = function pushToArray(arr, valueOrArray) {
|
|
@@ -700,7 +2049,6 @@ var defaults = {
|
|
|
700
2049
|
encodeValuesOnly: false,
|
|
701
2050
|
format: defaultFormat,
|
|
702
2051
|
formatter: formats.formatters[defaultFormat],
|
|
703
|
-
// deprecated
|
|
704
2052
|
indices: false,
|
|
705
2053
|
serializeDate: function serializeDate(date) {
|
|
706
2054
|
return toISO.call(date);
|
|
@@ -713,8 +2061,30 @@ var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
|
|
|
713
2061
|
return typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean' || _typeof(v) === 'symbol' || typeof v === 'bigint';
|
|
714
2062
|
};
|
|
715
2063
|
|
|
716
|
-
var
|
|
2064
|
+
var sentinel = {};
|
|
2065
|
+
|
|
2066
|
+
var stringify = function stringify(object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel) {
|
|
717
2067
|
var obj = object;
|
|
2068
|
+
var tmpSc = sideChannel;
|
|
2069
|
+
var step = 0;
|
|
2070
|
+
var findFlag = false;
|
|
2071
|
+
|
|
2072
|
+
while ((tmpSc = tmpSc.get(sentinel)) !== undefined && !findFlag) {
|
|
2073
|
+
var pos = tmpSc.get(object);
|
|
2074
|
+
step += 1;
|
|
2075
|
+
|
|
2076
|
+
if (typeof pos !== 'undefined') {
|
|
2077
|
+
if (pos === step) {
|
|
2078
|
+
throw new RangeError('Cyclic object value');
|
|
2079
|
+
} else {
|
|
2080
|
+
findFlag = true;
|
|
2081
|
+
}
|
|
2082
|
+
}
|
|
2083
|
+
|
|
2084
|
+
if (typeof tmpSc.get(sentinel) === 'undefined') {
|
|
2085
|
+
step = 0;
|
|
2086
|
+
}
|
|
2087
|
+
}
|
|
718
2088
|
|
|
719
2089
|
if (typeof filter === 'function') {
|
|
720
2090
|
obj = filter(prefix, obj);
|
|
@@ -727,21 +2097,33 @@ var stringify = function stringify(object, prefix, generateArrayPrefix, strictNu
|
|
|
727
2097
|
}
|
|
728
2098
|
|
|
729
2099
|
return value;
|
|
730
|
-
})
|
|
2100
|
+
});
|
|
731
2101
|
}
|
|
732
2102
|
|
|
733
2103
|
if (obj === null) {
|
|
734
2104
|
if (strictNullHandling) {
|
|
735
|
-
return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key') : prefix;
|
|
2105
|
+
return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;
|
|
736
2106
|
}
|
|
737
2107
|
|
|
738
|
-
obj = '';
|
|
739
|
-
}
|
|
2108
|
+
obj = '';
|
|
2109
|
+
}
|
|
2110
|
+
|
|
2111
|
+
if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
|
|
2112
|
+
if (encoder) {
|
|
2113
|
+
var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);
|
|
2114
|
+
|
|
2115
|
+
if (generateArrayPrefix === 'comma' && encodeValuesOnly) {
|
|
2116
|
+
var valuesArray = split.call(String(obj), ',');
|
|
2117
|
+
var valuesJoined = '';
|
|
2118
|
+
|
|
2119
|
+
for (var i = 0; i < valuesArray.length; ++i) {
|
|
2120
|
+
valuesJoined += (i === 0 ? '' : ',') + formatter(encoder(valuesArray[i], defaults.encoder, charset, 'value', format));
|
|
2121
|
+
}
|
|
2122
|
+
|
|
2123
|
+
return [formatter(keyValue) + '=' + valuesJoined];
|
|
2124
|
+
}
|
|
740
2125
|
|
|
741
|
-
|
|
742
|
-
if (encoder) {
|
|
743
|
-
var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key');
|
|
744
|
-
return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value'))];
|
|
2126
|
+
return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];
|
|
745
2127
|
}
|
|
746
2128
|
|
|
747
2129
|
return [formatter(prefix) + '=' + formatter(String(obj))];
|
|
@@ -755,23 +2137,30 @@ var stringify = function stringify(object, prefix, generateArrayPrefix, strictNu
|
|
|
755
2137
|
|
|
756
2138
|
var objKeys;
|
|
757
2139
|
|
|
758
|
-
if (isArray(
|
|
2140
|
+
if (generateArrayPrefix === 'comma' && isArray(obj)) {
|
|
2141
|
+
objKeys = [{
|
|
2142
|
+
value: obj.length > 0 ? obj.join(',') || null : undefined
|
|
2143
|
+
}];
|
|
2144
|
+
} else if (isArray(filter)) {
|
|
759
2145
|
objKeys = filter;
|
|
760
2146
|
} else {
|
|
761
2147
|
var keys = Object.keys(obj);
|
|
762
2148
|
objKeys = sort ? keys.sort(sort) : keys;
|
|
763
2149
|
}
|
|
764
2150
|
|
|
765
|
-
for (var
|
|
766
|
-
var key = objKeys[
|
|
767
|
-
var value = obj[key];
|
|
2151
|
+
for (var j = 0; j < objKeys.length; ++j) {
|
|
2152
|
+
var key = objKeys[j];
|
|
2153
|
+
var value = _typeof(key) === 'object' && key.value !== undefined ? key.value : obj[key];
|
|
768
2154
|
|
|
769
2155
|
if (skipNulls && value === null) {
|
|
770
2156
|
continue;
|
|
771
2157
|
}
|
|
772
2158
|
|
|
773
2159
|
var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix : prefix + (allowDots ? '.' + key : '[' + key + ']');
|
|
774
|
-
|
|
2160
|
+
sideChannel.set(object, step);
|
|
2161
|
+
var valueSideChannel = getSideChannel();
|
|
2162
|
+
valueSideChannel.set(sentinel, sideChannel);
|
|
2163
|
+
pushToArray(values, stringify(value, keyPrefix, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, valueSideChannel));
|
|
775
2164
|
}
|
|
776
2165
|
|
|
777
2166
|
return values;
|
|
@@ -819,6 +2208,7 @@ var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
|
|
|
819
2208
|
encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
|
|
820
2209
|
encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
|
|
821
2210
|
filter: filter,
|
|
2211
|
+
format: format,
|
|
822
2212
|
formatter: formatter,
|
|
823
2213
|
serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
|
|
824
2214
|
skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
|
|
@@ -867,6 +2257,8 @@ module.exports = function (object, opts) {
|
|
|
867
2257
|
objKeys.sort(options.sort);
|
|
868
2258
|
}
|
|
869
2259
|
|
|
2260
|
+
var sideChannel = getSideChannel();
|
|
2261
|
+
|
|
870
2262
|
for (var i = 0; i < objKeys.length; ++i) {
|
|
871
2263
|
var key = objKeys[i];
|
|
872
2264
|
|
|
@@ -874,7 +2266,7 @@ module.exports = function (object, opts) {
|
|
|
874
2266
|
continue;
|
|
875
2267
|
}
|
|
876
2268
|
|
|
877
|
-
pushToArray(keys, stringify(obj[key], key, generateArrayPrefix, options.strictNullHandling, options.skipNulls, options.encode ? options.encoder : null, options.filter, options.sort, options.allowDots, options.serializeDate, options.formatter, options.encodeValuesOnly, options.charset));
|
|
2269
|
+
pushToArray(keys, stringify(obj[key], key, generateArrayPrefix, options.strictNullHandling, options.skipNulls, options.encode ? options.encoder : null, options.filter, options.sort, options.allowDots, options.serializeDate, options.format, options.formatter, options.encodeValuesOnly, options.charset, sideChannel));
|
|
878
2270
|
}
|
|
879
2271
|
|
|
880
2272
|
var joined = keys.join(options.delimiter);
|
|
@@ -882,10 +2274,8 @@ module.exports = function (object, opts) {
|
|
|
882
2274
|
|
|
883
2275
|
if (options.charsetSentinel) {
|
|
884
2276
|
if (options.charset === 'iso-8859-1') {
|
|
885
|
-
// encodeURIComponent('✓'), the "numeric entity" representation of a checkmark
|
|
886
2277
|
prefix += 'utf8=%26%2310003%3B&';
|
|
887
2278
|
} else {
|
|
888
|
-
// encodeURIComponent('✓')
|
|
889
2279
|
prefix += 'utf8=%E2%9C%93&';
|
|
890
2280
|
}
|
|
891
2281
|
}
|
|
@@ -893,10 +2283,12 @@ module.exports = function (object, opts) {
|
|
|
893
2283
|
return joined.length > 0 ? prefix + joined : '';
|
|
894
2284
|
};
|
|
895
2285
|
|
|
896
|
-
},{"./formats":
|
|
2286
|
+
},{"./formats":14,"./utils":18,"side-channel":19}],18:[function(require,module,exports){
|
|
897
2287
|
'use strict';
|
|
898
2288
|
|
|
899
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
2289
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2290
|
+
|
|
2291
|
+
var formats = require('./formats');
|
|
900
2292
|
|
|
901
2293
|
var has = Object.prototype.hasOwnProperty;
|
|
902
2294
|
var isArray = Array.isArray;
|
|
@@ -943,7 +2335,6 @@ var arrayToObject = function arrayToObject(source, options) {
|
|
|
943
2335
|
};
|
|
944
2336
|
|
|
945
2337
|
var merge = function merge(target, source, options) {
|
|
946
|
-
/* eslint no-param-reassign: 0 */
|
|
947
2338
|
if (!source) {
|
|
948
2339
|
return target;
|
|
949
2340
|
}
|
|
@@ -1013,10 +2404,8 @@ var decode = function decode(str, decoder, charset) {
|
|
|
1013
2404
|
var strWithoutPlus = str.replace(/\+/g, ' ');
|
|
1014
2405
|
|
|
1015
2406
|
if (charset === 'iso-8859-1') {
|
|
1016
|
-
// unescape never throws, no try...catch needed:
|
|
1017
2407
|
return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
|
|
1018
|
-
}
|
|
1019
|
-
|
|
2408
|
+
}
|
|
1020
2409
|
|
|
1021
2410
|
try {
|
|
1022
2411
|
return decodeURIComponent(strWithoutPlus);
|
|
@@ -1025,9 +2414,7 @@ var decode = function decode(str, decoder, charset) {
|
|
|
1025
2414
|
}
|
|
1026
2415
|
};
|
|
1027
2416
|
|
|
1028
|
-
var encode = function encode(str, defaultEncoder, charset) {
|
|
1029
|
-
// This code was originally written by Brian White (mscdex) for the io.js core querystring library.
|
|
1030
|
-
// It has been adapted here for stricter adherence to RFC 3986
|
|
2417
|
+
var encode = function encode(str, defaultEncoder, charset, kind, format) {
|
|
1031
2418
|
if (str.length === 0) {
|
|
1032
2419
|
return str;
|
|
1033
2420
|
}
|
|
@@ -1051,17 +2438,10 @@ var encode = function encode(str, defaultEncoder, charset) {
|
|
|
1051
2438
|
for (var i = 0; i < string.length; ++i) {
|
|
1052
2439
|
var c = string.charCodeAt(i);
|
|
1053
2440
|
|
|
1054
|
-
if (c === 0x2D
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|| c >= 0x30 && c <= 0x39 // 0-9
|
|
1059
|
-
|| c >= 0x41 && c <= 0x5A // a-z
|
|
1060
|
-
|| c >= 0x61 && c <= 0x7A // A-Z
|
|
1061
|
-
) {
|
|
1062
|
-
out += string.charAt(i);
|
|
1063
|
-
continue;
|
|
1064
|
-
}
|
|
2441
|
+
if (c === 0x2D || c === 0x2E || c === 0x5F || c === 0x7E || c >= 0x30 && c <= 0x39 || c >= 0x41 && c <= 0x5A || c >= 0x61 && c <= 0x7A || format === formats.RFC1738 && (c === 0x28 || c === 0x29)) {
|
|
2442
|
+
out += string.charAt(i);
|
|
2443
|
+
continue;
|
|
2444
|
+
}
|
|
1065
2445
|
|
|
1066
2446
|
if (c < 0x80) {
|
|
1067
2447
|
out = out + hexTable[c];
|
|
@@ -1161,27 +2541,155 @@ module.exports = {
|
|
|
1161
2541
|
merge: merge
|
|
1162
2542
|
};
|
|
1163
2543
|
|
|
1164
|
-
},{}],
|
|
2544
|
+
},{"./formats":14}],19:[function(require,module,exports){
|
|
2545
|
+
'use strict';
|
|
2546
|
+
|
|
2547
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2548
|
+
|
|
2549
|
+
var GetIntrinsic = require('get-intrinsic');
|
|
2550
|
+
|
|
2551
|
+
var callBound = require('call-bind/callBound');
|
|
2552
|
+
|
|
2553
|
+
var inspect = require('object-inspect');
|
|
2554
|
+
|
|
2555
|
+
var $TypeError = GetIntrinsic('%TypeError%');
|
|
2556
|
+
var $WeakMap = GetIntrinsic('%WeakMap%', true);
|
|
2557
|
+
var $Map = GetIntrinsic('%Map%', true);
|
|
2558
|
+
var $weakMapGet = callBound('WeakMap.prototype.get', true);
|
|
2559
|
+
var $weakMapSet = callBound('WeakMap.prototype.set', true);
|
|
2560
|
+
var $weakMapHas = callBound('WeakMap.prototype.has', true);
|
|
2561
|
+
var $mapGet = callBound('Map.prototype.get', true);
|
|
2562
|
+
var $mapSet = callBound('Map.prototype.set', true);
|
|
2563
|
+
var $mapHas = callBound('Map.prototype.has', true);
|
|
2564
|
+
|
|
2565
|
+
var listGetNode = function listGetNode(list, key) {
|
|
2566
|
+
for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {
|
|
2567
|
+
if (curr.key === key) {
|
|
2568
|
+
prev.next = curr.next;
|
|
2569
|
+
curr.next = list.next;
|
|
2570
|
+
list.next = curr;
|
|
2571
|
+
return curr;
|
|
2572
|
+
}
|
|
2573
|
+
}
|
|
2574
|
+
};
|
|
2575
|
+
|
|
2576
|
+
var listGet = function listGet(objects, key) {
|
|
2577
|
+
var node = listGetNode(objects, key);
|
|
2578
|
+
return node && node.value;
|
|
2579
|
+
};
|
|
2580
|
+
|
|
2581
|
+
var listSet = function listSet(objects, key, value) {
|
|
2582
|
+
var node = listGetNode(objects, key);
|
|
2583
|
+
|
|
2584
|
+
if (node) {
|
|
2585
|
+
node.value = value;
|
|
2586
|
+
} else {
|
|
2587
|
+
objects.next = {
|
|
2588
|
+
key: key,
|
|
2589
|
+
next: objects.next,
|
|
2590
|
+
value: value
|
|
2591
|
+
};
|
|
2592
|
+
}
|
|
2593
|
+
};
|
|
2594
|
+
|
|
2595
|
+
var listHas = function listHas(objects, key) {
|
|
2596
|
+
return !!listGetNode(objects, key);
|
|
2597
|
+
};
|
|
2598
|
+
|
|
2599
|
+
module.exports = function getSideChannel() {
|
|
2600
|
+
var $wm;
|
|
2601
|
+
var $m;
|
|
2602
|
+
var $o;
|
|
2603
|
+
var channel = {
|
|
2604
|
+
assert: function assert(key) {
|
|
2605
|
+
if (!channel.has(key)) {
|
|
2606
|
+
throw new $TypeError('Side channel does not contain ' + inspect(key));
|
|
2607
|
+
}
|
|
2608
|
+
},
|
|
2609
|
+
get: function get(key) {
|
|
2610
|
+
if ($WeakMap && key && (_typeof(key) === 'object' || typeof key === 'function')) {
|
|
2611
|
+
if ($wm) {
|
|
2612
|
+
return $weakMapGet($wm, key);
|
|
2613
|
+
}
|
|
2614
|
+
} else if ($Map) {
|
|
2615
|
+
if ($m) {
|
|
2616
|
+
return $mapGet($m, key);
|
|
2617
|
+
}
|
|
2618
|
+
} else {
|
|
2619
|
+
if ($o) {
|
|
2620
|
+
return listGet($o, key);
|
|
2621
|
+
}
|
|
2622
|
+
}
|
|
2623
|
+
},
|
|
2624
|
+
has: function has(key) {
|
|
2625
|
+
if ($WeakMap && key && (_typeof(key) === 'object' || typeof key === 'function')) {
|
|
2626
|
+
if ($wm) {
|
|
2627
|
+
return $weakMapHas($wm, key);
|
|
2628
|
+
}
|
|
2629
|
+
} else if ($Map) {
|
|
2630
|
+
if ($m) {
|
|
2631
|
+
return $mapHas($m, key);
|
|
2632
|
+
}
|
|
2633
|
+
} else {
|
|
2634
|
+
if ($o) {
|
|
2635
|
+
return listHas($o, key);
|
|
2636
|
+
}
|
|
2637
|
+
}
|
|
2638
|
+
|
|
2639
|
+
return false;
|
|
2640
|
+
},
|
|
2641
|
+
set: function set(key, value) {
|
|
2642
|
+
if ($WeakMap && key && (_typeof(key) === 'object' || typeof key === 'function')) {
|
|
2643
|
+
if (!$wm) {
|
|
2644
|
+
$wm = new $WeakMap();
|
|
2645
|
+
}
|
|
2646
|
+
|
|
2647
|
+
$weakMapSet($wm, key, value);
|
|
2648
|
+
} else if ($Map) {
|
|
2649
|
+
if (!$m) {
|
|
2650
|
+
$m = new $Map();
|
|
2651
|
+
}
|
|
2652
|
+
|
|
2653
|
+
$mapSet($m, key, value);
|
|
2654
|
+
} else {
|
|
2655
|
+
if (!$o) {
|
|
2656
|
+
$o = {
|
|
2657
|
+
key: {},
|
|
2658
|
+
next: null
|
|
2659
|
+
};
|
|
2660
|
+
}
|
|
2661
|
+
|
|
2662
|
+
listSet($o, key, value);
|
|
2663
|
+
}
|
|
2664
|
+
}
|
|
2665
|
+
};
|
|
2666
|
+
return channel;
|
|
2667
|
+
};
|
|
2668
|
+
|
|
2669
|
+
},{"call-bind/callBound":2,"get-intrinsic":8,"object-inspect":12}],20:[function(require,module,exports){
|
|
1165
2670
|
"use strict";
|
|
1166
2671
|
|
|
1167
2672
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
1168
2673
|
|
|
1169
2674
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
1170
2675
|
|
|
1171
|
-
function
|
|
1172
|
-
|
|
1173
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
2676
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
1174
2677
|
|
|
1175
2678
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
1176
2679
|
|
|
2680
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
2681
|
+
|
|
2682
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
2683
|
+
|
|
1177
2684
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
1178
2685
|
|
|
1179
2686
|
function Agent() {
|
|
1180
2687
|
this._defaults = [];
|
|
1181
2688
|
}
|
|
1182
2689
|
|
|
1183
|
-
|
|
1184
|
-
|
|
2690
|
+
var _loop = function _loop() {
|
|
2691
|
+
var fn = _arr[_i];
|
|
2692
|
+
|
|
1185
2693
|
Agent.prototype[fn] = function () {
|
|
1186
2694
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1187
2695
|
args[_key] = arguments[_key];
|
|
@@ -1194,53 +2702,49 @@ function Agent() {
|
|
|
1194
2702
|
|
|
1195
2703
|
return this;
|
|
1196
2704
|
};
|
|
1197
|
-
}
|
|
2705
|
+
};
|
|
1198
2706
|
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
2707
|
+
for (var _i = 0, _arr = ['use', 'on', 'once', 'set', 'query', 'type', 'accept', 'auth', 'withCredentials', 'sortQuery', 'retry', 'ok', 'redirects', 'timeout', 'buffer', 'serialize', 'parse', 'ca', 'key', 'pfx', 'cert', 'disableTLSCerts']; _i < _arr.length; _i++) {
|
|
2708
|
+
_loop();
|
|
2709
|
+
}
|
|
2710
|
+
|
|
2711
|
+
Agent.prototype._setDefaults = function (request) {
|
|
2712
|
+
var _iterator = _createForOfIteratorHelper(this._defaults),
|
|
2713
|
+
_step;
|
|
2714
|
+
|
|
2715
|
+
try {
|
|
2716
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
2717
|
+
var def = _step.value;
|
|
2718
|
+
request[def.fn].apply(request, _toConsumableArray(def.args));
|
|
2719
|
+
}
|
|
2720
|
+
} catch (err) {
|
|
2721
|
+
_iterator.e(err);
|
|
2722
|
+
} finally {
|
|
2723
|
+
_iterator.f();
|
|
2724
|
+
}
|
|
1203
2725
|
};
|
|
1204
2726
|
|
|
1205
2727
|
module.exports = Agent;
|
|
1206
2728
|
|
|
1207
|
-
},{}],
|
|
2729
|
+
},{}],21:[function(require,module,exports){
|
|
1208
2730
|
"use strict";
|
|
1209
2731
|
|
|
1210
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
2732
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
1211
2733
|
|
|
1212
|
-
|
|
1213
|
-
* Check if `obj` is an object.
|
|
1214
|
-
*
|
|
1215
|
-
* @param {Object} obj
|
|
1216
|
-
* @return {Boolean}
|
|
1217
|
-
* @api private
|
|
1218
|
-
*/
|
|
1219
|
-
function isObject(obj) {
|
|
1220
|
-
return obj !== null && _typeof(obj) === 'object';
|
|
1221
|
-
}
|
|
1222
|
-
|
|
1223
|
-
module.exports = isObject;
|
|
2734
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
1224
2735
|
|
|
1225
|
-
|
|
1226
|
-
"use strict";
|
|
2736
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
1227
2737
|
|
|
1228
|
-
function
|
|
2738
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
1229
2739
|
|
|
1230
|
-
/**
|
|
1231
|
-
* Root reference for iframes.
|
|
1232
|
-
*/
|
|
1233
2740
|
var root;
|
|
1234
2741
|
|
|
1235
2742
|
if (typeof window !== 'undefined') {
|
|
1236
|
-
// Browser window
|
|
1237
2743
|
root = window;
|
|
1238
2744
|
} else if (typeof self === 'undefined') {
|
|
1239
|
-
// Other environments
|
|
1240
2745
|
console.warn('Using browser-only version of superagent in non-browser environment');
|
|
1241
2746
|
root = void 0;
|
|
1242
2747
|
} else {
|
|
1243
|
-
// Web Worker
|
|
1244
2748
|
root = self;
|
|
1245
2749
|
}
|
|
1246
2750
|
|
|
@@ -1252,28 +2756,21 @@ var qs = require('qs');
|
|
|
1252
2756
|
|
|
1253
2757
|
var RequestBase = require('./request-base');
|
|
1254
2758
|
|
|
1255
|
-
var
|
|
2759
|
+
var _require = require('./utils'),
|
|
2760
|
+
isObject = _require.isObject,
|
|
2761
|
+
mixin = _require.mixin,
|
|
2762
|
+
hasOwn = _require.hasOwn;
|
|
1256
2763
|
|
|
1257
2764
|
var ResponseBase = require('./response-base');
|
|
1258
2765
|
|
|
1259
2766
|
var Agent = require('./agent-base');
|
|
1260
|
-
/**
|
|
1261
|
-
* Noop.
|
|
1262
|
-
*/
|
|
1263
|
-
|
|
1264
2767
|
|
|
1265
2768
|
function noop() {}
|
|
1266
|
-
/**
|
|
1267
|
-
* Expose `request`.
|
|
1268
|
-
*/
|
|
1269
|
-
|
|
1270
2769
|
|
|
1271
2770
|
module.exports = function (method, url) {
|
|
1272
|
-
// callback
|
|
1273
2771
|
if (typeof url === 'function') {
|
|
1274
2772
|
return new exports.Request('GET', method).end(url);
|
|
1275
|
-
}
|
|
1276
|
-
|
|
2773
|
+
}
|
|
1277
2774
|
|
|
1278
2775
|
if (arguments.length === 1) {
|
|
1279
2776
|
return new exports.Request('GET', method);
|
|
@@ -1285,9 +2782,6 @@ module.exports = function (method, url) {
|
|
|
1285
2782
|
exports = module.exports;
|
|
1286
2783
|
var request = exports;
|
|
1287
2784
|
exports.Request = Request;
|
|
1288
|
-
/**
|
|
1289
|
-
* Determine XHR.
|
|
1290
|
-
*/
|
|
1291
2785
|
|
|
1292
2786
|
request.getXHR = function () {
|
|
1293
2787
|
if (root.XMLHttpRequest && (!root.location || root.location.protocol !== 'file:' || !root.ActiveXObject)) {
|
|
@@ -1312,114 +2806,78 @@ request.getXHR = function () {
|
|
|
1312
2806
|
|
|
1313
2807
|
throw new Error('Browser-only version of superagent could not find XHR');
|
|
1314
2808
|
};
|
|
1315
|
-
/**
|
|
1316
|
-
* Removes leading and trailing whitespace, added to support IE.
|
|
1317
|
-
*
|
|
1318
|
-
* @param {String} s
|
|
1319
|
-
* @return {String}
|
|
1320
|
-
* @api private
|
|
1321
|
-
*/
|
|
1322
|
-
|
|
1323
2809
|
|
|
1324
2810
|
var trim = ''.trim ? function (s) {
|
|
1325
2811
|
return s.trim();
|
|
1326
2812
|
} : function (s) {
|
|
1327
2813
|
return s.replace(/(^\s*|\s*$)/g, '');
|
|
1328
2814
|
};
|
|
1329
|
-
/**
|
|
1330
|
-
* Serialize the given `obj`.
|
|
1331
|
-
*
|
|
1332
|
-
* @param {Object} obj
|
|
1333
|
-
* @return {String}
|
|
1334
|
-
* @api private
|
|
1335
|
-
*/
|
|
1336
2815
|
|
|
1337
|
-
function serialize(
|
|
1338
|
-
if (!isObject(
|
|
2816
|
+
function serialize(object) {
|
|
2817
|
+
if (!isObject(object)) return object;
|
|
1339
2818
|
var pairs = [];
|
|
1340
2819
|
|
|
1341
|
-
for (var key in
|
|
1342
|
-
if (
|
|
2820
|
+
for (var key in object) {
|
|
2821
|
+
if (hasOwn(object, key)) pushEncodedKeyValuePair(pairs, key, object[key]);
|
|
1343
2822
|
}
|
|
1344
2823
|
|
|
1345
2824
|
return pairs.join('&');
|
|
1346
2825
|
}
|
|
1347
|
-
/**
|
|
1348
|
-
* Helps 'serialize' with serializing arrays.
|
|
1349
|
-
* Mutates the pairs array.
|
|
1350
|
-
*
|
|
1351
|
-
* @param {Array} pairs
|
|
1352
|
-
* @param {String} key
|
|
1353
|
-
* @param {Mixed} val
|
|
1354
|
-
*/
|
|
1355
|
-
|
|
1356
2826
|
|
|
1357
|
-
function pushEncodedKeyValuePair(pairs, key,
|
|
1358
|
-
if (
|
|
2827
|
+
function pushEncodedKeyValuePair(pairs, key, value) {
|
|
2828
|
+
if (value === undefined) return;
|
|
1359
2829
|
|
|
1360
|
-
if (
|
|
2830
|
+
if (value === null) {
|
|
1361
2831
|
pairs.push(encodeURI(key));
|
|
1362
2832
|
return;
|
|
1363
2833
|
}
|
|
1364
2834
|
|
|
1365
|
-
if (Array.isArray(
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
2835
|
+
if (Array.isArray(value)) {
|
|
2836
|
+
var _iterator = _createForOfIteratorHelper(value),
|
|
2837
|
+
_step;
|
|
2838
|
+
|
|
2839
|
+
try {
|
|
2840
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
2841
|
+
var v = _step.value;
|
|
2842
|
+
pushEncodedKeyValuePair(pairs, key, v);
|
|
2843
|
+
}
|
|
2844
|
+
} catch (err) {
|
|
2845
|
+
_iterator.e(err);
|
|
2846
|
+
} finally {
|
|
2847
|
+
_iterator.f();
|
|
2848
|
+
}
|
|
2849
|
+
} else if (isObject(value)) {
|
|
2850
|
+
for (var subkey in value) {
|
|
2851
|
+
if (hasOwn(value, subkey)) pushEncodedKeyValuePair(pairs, "".concat(key, "[").concat(subkey, "]"), value[subkey]);
|
|
1372
2852
|
}
|
|
1373
2853
|
} else {
|
|
1374
|
-
pairs.push(encodeURI(key) + '=' + encodeURIComponent(
|
|
2854
|
+
pairs.push(encodeURI(key) + '=' + encodeURIComponent(value));
|
|
1375
2855
|
}
|
|
1376
2856
|
}
|
|
1377
|
-
/**
|
|
1378
|
-
* Expose serialization method.
|
|
1379
|
-
*/
|
|
1380
|
-
|
|
1381
2857
|
|
|
1382
2858
|
request.serializeObject = serialize;
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
* @return {Object}
|
|
1388
|
-
* @api private
|
|
1389
|
-
*/
|
|
1390
|
-
|
|
1391
|
-
function parseString(str) {
|
|
1392
|
-
var obj = {};
|
|
1393
|
-
var pairs = str.split('&');
|
|
2859
|
+
|
|
2860
|
+
function parseString(string_) {
|
|
2861
|
+
var object = {};
|
|
2862
|
+
var pairs = string_.split('&');
|
|
1394
2863
|
var pair;
|
|
1395
2864
|
var pos;
|
|
1396
2865
|
|
|
1397
|
-
for (var i = 0,
|
|
2866
|
+
for (var i = 0, length_ = pairs.length; i < length_; ++i) {
|
|
1398
2867
|
pair = pairs[i];
|
|
1399
2868
|
pos = pair.indexOf('=');
|
|
1400
2869
|
|
|
1401
2870
|
if (pos === -1) {
|
|
1402
|
-
|
|
2871
|
+
object[decodeURIComponent(pair)] = '';
|
|
1403
2872
|
} else {
|
|
1404
|
-
|
|
2873
|
+
object[decodeURIComponent(pair.slice(0, pos))] = decodeURIComponent(pair.slice(pos + 1));
|
|
1405
2874
|
}
|
|
1406
2875
|
}
|
|
1407
2876
|
|
|
1408
|
-
return
|
|
2877
|
+
return object;
|
|
1409
2878
|
}
|
|
1410
|
-
/**
|
|
1411
|
-
* Expose parser.
|
|
1412
|
-
*/
|
|
1413
|
-
|
|
1414
2879
|
|
|
1415
2880
|
request.parseString = parseString;
|
|
1416
|
-
/**
|
|
1417
|
-
* Default MIME type map.
|
|
1418
|
-
*
|
|
1419
|
-
* superagent.types.xml = 'application/xml';
|
|
1420
|
-
*
|
|
1421
|
-
*/
|
|
1422
|
-
|
|
1423
2881
|
request.types = {
|
|
1424
2882
|
html: 'text/html',
|
|
1425
2883
|
json: 'application/json',
|
|
@@ -1428,133 +2886,49 @@ request.types = {
|
|
|
1428
2886
|
form: 'application/x-www-form-urlencoded',
|
|
1429
2887
|
'form-data': 'application/x-www-form-urlencoded'
|
|
1430
2888
|
};
|
|
1431
|
-
/**
|
|
1432
|
-
* Default serialization map.
|
|
1433
|
-
*
|
|
1434
|
-
* superagent.serialize['application/xml'] = function(obj){
|
|
1435
|
-
* return 'generated xml here';
|
|
1436
|
-
* };
|
|
1437
|
-
*
|
|
1438
|
-
*/
|
|
1439
|
-
|
|
1440
2889
|
request.serialize = {
|
|
1441
2890
|
'application/x-www-form-urlencoded': qs.stringify,
|
|
1442
2891
|
'application/json': safeStringify
|
|
1443
2892
|
};
|
|
1444
|
-
/**
|
|
1445
|
-
* Default parsers.
|
|
1446
|
-
*
|
|
1447
|
-
* superagent.parse['application/xml'] = function(str){
|
|
1448
|
-
* return { object parsed from str };
|
|
1449
|
-
* };
|
|
1450
|
-
*
|
|
1451
|
-
*/
|
|
1452
|
-
|
|
1453
2893
|
request.parse = {
|
|
1454
2894
|
'application/x-www-form-urlencoded': parseString,
|
|
1455
2895
|
'application/json': JSON.parse
|
|
1456
2896
|
};
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
*
|
|
1461
|
-
* @param {String} str
|
|
1462
|
-
* @return {Object}
|
|
1463
|
-
* @api private
|
|
1464
|
-
*/
|
|
1465
|
-
|
|
1466
|
-
function parseHeader(str) {
|
|
1467
|
-
var lines = str.split(/\r?\n/);
|
|
2897
|
+
|
|
2898
|
+
function parseHeader(string_) {
|
|
2899
|
+
var lines = string_.split(/\r?\n/);
|
|
1468
2900
|
var fields = {};
|
|
1469
2901
|
var index;
|
|
1470
2902
|
var line;
|
|
1471
2903
|
var field;
|
|
1472
|
-
var
|
|
2904
|
+
var value;
|
|
1473
2905
|
|
|
1474
|
-
for (var i = 0,
|
|
2906
|
+
for (var i = 0, length_ = lines.length; i < length_; ++i) {
|
|
1475
2907
|
line = lines[i];
|
|
1476
2908
|
index = line.indexOf(':');
|
|
1477
2909
|
|
|
1478
2910
|
if (index === -1) {
|
|
1479
|
-
// could be empty line, just skip it
|
|
1480
2911
|
continue;
|
|
1481
2912
|
}
|
|
1482
2913
|
|
|
1483
2914
|
field = line.slice(0, index).toLowerCase();
|
|
1484
|
-
|
|
1485
|
-
fields[field] =
|
|
2915
|
+
value = trim(line.slice(index + 1));
|
|
2916
|
+
fields[field] = value;
|
|
1486
2917
|
}
|
|
1487
2918
|
|
|
1488
2919
|
return fields;
|
|
1489
2920
|
}
|
|
1490
|
-
/**
|
|
1491
|
-
* Check if `mime` is json or has +json structured syntax suffix.
|
|
1492
|
-
*
|
|
1493
|
-
* @param {String} mime
|
|
1494
|
-
* @return {Boolean}
|
|
1495
|
-
* @api private
|
|
1496
|
-
*/
|
|
1497
|
-
|
|
1498
2921
|
|
|
1499
2922
|
function isJSON(mime) {
|
|
1500
|
-
// should match /json or +json
|
|
1501
|
-
// but not /json-seq
|
|
1502
2923
|
return /[/+]json($|[^-\w])/i.test(mime);
|
|
1503
2924
|
}
|
|
1504
|
-
/**
|
|
1505
|
-
* Initialize a new `Response` with the given `xhr`.
|
|
1506
|
-
*
|
|
1507
|
-
* - set flags (.ok, .error, etc)
|
|
1508
|
-
* - parse header
|
|
1509
|
-
*
|
|
1510
|
-
* Examples:
|
|
1511
|
-
*
|
|
1512
|
-
* Aliasing `superagent` as `request` is nice:
|
|
1513
|
-
*
|
|
1514
|
-
* request = superagent;
|
|
1515
|
-
*
|
|
1516
|
-
* We can use the promise-like API, or pass callbacks:
|
|
1517
|
-
*
|
|
1518
|
-
* request.get('/').end(function(res){});
|
|
1519
|
-
* request.get('/', function(res){});
|
|
1520
|
-
*
|
|
1521
|
-
* Sending data can be chained:
|
|
1522
|
-
*
|
|
1523
|
-
* request
|
|
1524
|
-
* .post('/user')
|
|
1525
|
-
* .send({ name: 'tj' })
|
|
1526
|
-
* .end(function(res){});
|
|
1527
|
-
*
|
|
1528
|
-
* Or passed to `.send()`:
|
|
1529
|
-
*
|
|
1530
|
-
* request
|
|
1531
|
-
* .post('/user')
|
|
1532
|
-
* .send({ name: 'tj' }, function(res){});
|
|
1533
|
-
*
|
|
1534
|
-
* Or passed to `.post()`:
|
|
1535
|
-
*
|
|
1536
|
-
* request
|
|
1537
|
-
* .post('/user', { name: 'tj' })
|
|
1538
|
-
* .end(function(res){});
|
|
1539
|
-
*
|
|
1540
|
-
* Or further reduced to a single call for simple cases:
|
|
1541
|
-
*
|
|
1542
|
-
* request
|
|
1543
|
-
* .post('/user', { name: 'tj' }, function(res){});
|
|
1544
|
-
*
|
|
1545
|
-
* @param {XMLHTTPRequest} xhr
|
|
1546
|
-
* @param {Object} options
|
|
1547
|
-
* @api private
|
|
1548
|
-
*/
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
function Response(req) {
|
|
1552
|
-
this.req = req;
|
|
1553
|
-
this.xhr = this.req.xhr; // responseText is accessible only if responseType is '' or 'text' and on older browsers
|
|
1554
2925
|
|
|
2926
|
+
function Response(request_) {
|
|
2927
|
+
this.req = request_;
|
|
2928
|
+
this.xhr = this.req.xhr;
|
|
1555
2929
|
this.text = this.req.method !== 'HEAD' && (this.xhr.responseType === '' || this.xhr.responseType === 'text') || typeof this.xhr.responseType === 'undefined' ? this.xhr.responseText : null;
|
|
1556
2930
|
this.statusText = this.req.xhr.statusText;
|
|
1557
|
-
var status = this.xhr.status;
|
|
2931
|
+
var status = this.xhr.status;
|
|
1558
2932
|
|
|
1559
2933
|
if (status === 1223) {
|
|
1560
2934
|
status = 204;
|
|
@@ -1563,212 +2937,117 @@ function Response(req) {
|
|
|
1563
2937
|
this._setStatusProperties(status);
|
|
1564
2938
|
|
|
1565
2939
|
this.headers = parseHeader(this.xhr.getAllResponseHeaders());
|
|
1566
|
-
this.header = this.headers;
|
|
1567
|
-
// getResponseHeader still works. so we get content-type even if getting
|
|
1568
|
-
// other headers fails.
|
|
1569
|
-
|
|
2940
|
+
this.header = this.headers;
|
|
1570
2941
|
this.header['content-type'] = this.xhr.getResponseHeader('content-type');
|
|
1571
2942
|
|
|
1572
2943
|
this._setHeaderProperties(this.header);
|
|
1573
2944
|
|
|
1574
|
-
if (this.text === null &&
|
|
2945
|
+
if (this.text === null && request_._responseType) {
|
|
1575
2946
|
this.body = this.xhr.response;
|
|
1576
2947
|
} else {
|
|
1577
2948
|
this.body = this.req.method === 'HEAD' ? null : this._parseBody(this.text ? this.text : this.xhr.response);
|
|
1578
2949
|
}
|
|
1579
|
-
}
|
|
1580
|
-
|
|
2950
|
+
}
|
|
1581
2951
|
|
|
1582
|
-
|
|
1583
|
-
/**
|
|
1584
|
-
* Parse the given body `str`.
|
|
1585
|
-
*
|
|
1586
|
-
* Used for auto-parsing of bodies. Parsers
|
|
1587
|
-
* are defined on the `superagent.parse` object.
|
|
1588
|
-
*
|
|
1589
|
-
* @param {String} str
|
|
1590
|
-
* @return {Mixed}
|
|
1591
|
-
* @api private
|
|
1592
|
-
*/
|
|
2952
|
+
mixin(Response.prototype, ResponseBase.prototype);
|
|
1593
2953
|
|
|
1594
|
-
Response.prototype._parseBody = function (
|
|
2954
|
+
Response.prototype._parseBody = function (string_) {
|
|
1595
2955
|
var parse = request.parse[this.type];
|
|
1596
2956
|
|
|
1597
2957
|
if (this.req._parser) {
|
|
1598
|
-
return this.req._parser(this,
|
|
2958
|
+
return this.req._parser(this, string_);
|
|
1599
2959
|
}
|
|
1600
2960
|
|
|
1601
2961
|
if (!parse && isJSON(this.type)) {
|
|
1602
2962
|
parse = request.parse['application/json'];
|
|
1603
2963
|
}
|
|
1604
2964
|
|
|
1605
|
-
return parse &&
|
|
2965
|
+
return parse && string_ && (string_.length > 0 || string_ instanceof Object) ? parse(string_) : null;
|
|
1606
2966
|
};
|
|
1607
|
-
/**
|
|
1608
|
-
* Return an `Error` representative of this response.
|
|
1609
|
-
*
|
|
1610
|
-
* @return {Error}
|
|
1611
|
-
* @api public
|
|
1612
|
-
*/
|
|
1613
|
-
|
|
1614
2967
|
|
|
1615
2968
|
Response.prototype.toError = function () {
|
|
1616
2969
|
var req = this.req;
|
|
1617
2970
|
var method = req.method;
|
|
1618
2971
|
var url = req.url;
|
|
1619
|
-
var
|
|
1620
|
-
var
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
return
|
|
2972
|
+
var message = "cannot ".concat(method, " ").concat(url, " (").concat(this.status, ")");
|
|
2973
|
+
var error = new Error(message);
|
|
2974
|
+
error.status = this.status;
|
|
2975
|
+
error.method = method;
|
|
2976
|
+
error.url = url;
|
|
2977
|
+
return error;
|
|
1625
2978
|
};
|
|
1626
|
-
/**
|
|
1627
|
-
* Expose `Response`.
|
|
1628
|
-
*/
|
|
1629
|
-
|
|
1630
2979
|
|
|
1631
2980
|
request.Response = Response;
|
|
1632
|
-
/**
|
|
1633
|
-
* Initialize a new `Request` with the given `method` and `url`.
|
|
1634
|
-
*
|
|
1635
|
-
* @param {String} method
|
|
1636
|
-
* @param {String} url
|
|
1637
|
-
* @api public
|
|
1638
|
-
*/
|
|
1639
2981
|
|
|
1640
2982
|
function Request(method, url) {
|
|
1641
2983
|
var self = this;
|
|
1642
2984
|
this._query = this._query || [];
|
|
1643
2985
|
this.method = method;
|
|
1644
2986
|
this.url = url;
|
|
1645
|
-
this.header = {};
|
|
1646
|
-
|
|
1647
|
-
this._header = {}; // coerces header names to lowercase
|
|
1648
|
-
|
|
2987
|
+
this.header = {};
|
|
2988
|
+
this._header = {};
|
|
1649
2989
|
this.on('end', function () {
|
|
1650
|
-
var
|
|
2990
|
+
var error = null;
|
|
1651
2991
|
var res = null;
|
|
1652
2992
|
|
|
1653
2993
|
try {
|
|
1654
2994
|
res = new Response(self);
|
|
1655
|
-
} catch (
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
2995
|
+
} catch (error_) {
|
|
2996
|
+
error = new Error('Parser is unable to parse the response');
|
|
2997
|
+
error.parse = true;
|
|
2998
|
+
error.original = error_;
|
|
1659
2999
|
|
|
1660
3000
|
if (self.xhr) {
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
err.status = self.xhr.status ? self.xhr.status : null;
|
|
1665
|
-
err.statusCode = err.status; // backwards-compat only
|
|
3001
|
+
error.rawResponse = typeof self.xhr.responseType === 'undefined' ? self.xhr.responseText : self.xhr.response;
|
|
3002
|
+
error.status = self.xhr.status ? self.xhr.status : null;
|
|
3003
|
+
error.statusCode = error.status;
|
|
1666
3004
|
} else {
|
|
1667
|
-
|
|
1668
|
-
|
|
3005
|
+
error.rawResponse = null;
|
|
3006
|
+
error.status = null;
|
|
1669
3007
|
}
|
|
1670
3008
|
|
|
1671
|
-
return self.callback(
|
|
3009
|
+
return self.callback(error);
|
|
1672
3010
|
}
|
|
1673
3011
|
|
|
1674
3012
|
self.emit('response', res);
|
|
1675
|
-
var
|
|
3013
|
+
var new_error;
|
|
1676
3014
|
|
|
1677
3015
|
try {
|
|
1678
3016
|
if (!self._isResponseOK(res)) {
|
|
1679
|
-
|
|
3017
|
+
new_error = new Error(res.statusText || res.text || 'Unsuccessful HTTP response');
|
|
1680
3018
|
}
|
|
1681
|
-
} catch (
|
|
1682
|
-
|
|
1683
|
-
}
|
|
1684
|
-
|
|
3019
|
+
} catch (err) {
|
|
3020
|
+
new_error = err;
|
|
3021
|
+
}
|
|
1685
3022
|
|
|
1686
|
-
if (
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
self.callback(
|
|
3023
|
+
if (new_error) {
|
|
3024
|
+
new_error.original = error;
|
|
3025
|
+
new_error.response = res;
|
|
3026
|
+
new_error.status = res.status;
|
|
3027
|
+
self.callback(new_error, res);
|
|
1691
3028
|
} else {
|
|
1692
3029
|
self.callback(null, res);
|
|
1693
3030
|
}
|
|
1694
3031
|
});
|
|
1695
3032
|
}
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
// eslint-disable-next-line new-cap
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
Emitter(Request.prototype); // eslint-disable-next-line new-cap
|
|
1703
|
-
|
|
1704
|
-
RequestBase(Request.prototype);
|
|
1705
|
-
/**
|
|
1706
|
-
* Set Content-Type to `type`, mapping values from `request.types`.
|
|
1707
|
-
*
|
|
1708
|
-
* Examples:
|
|
1709
|
-
*
|
|
1710
|
-
* superagent.types.xml = 'application/xml';
|
|
1711
|
-
*
|
|
1712
|
-
* request.post('/')
|
|
1713
|
-
* .type('xml')
|
|
1714
|
-
* .send(xmlstring)
|
|
1715
|
-
* .end(callback);
|
|
1716
|
-
*
|
|
1717
|
-
* request.post('/')
|
|
1718
|
-
* .type('application/xml')
|
|
1719
|
-
* .send(xmlstring)
|
|
1720
|
-
* .end(callback);
|
|
1721
|
-
*
|
|
1722
|
-
* @param {String} type
|
|
1723
|
-
* @return {Request} for chaining
|
|
1724
|
-
* @api public
|
|
1725
|
-
*/
|
|
3033
|
+
|
|
3034
|
+
Emitter(Request.prototype);
|
|
3035
|
+
mixin(Request.prototype, RequestBase.prototype);
|
|
1726
3036
|
|
|
1727
3037
|
Request.prototype.type = function (type) {
|
|
1728
3038
|
this.set('Content-Type', request.types[type] || type);
|
|
1729
3039
|
return this;
|
|
1730
3040
|
};
|
|
1731
|
-
/**
|
|
1732
|
-
* Set Accept to `type`, mapping values from `request.types`.
|
|
1733
|
-
*
|
|
1734
|
-
* Examples:
|
|
1735
|
-
*
|
|
1736
|
-
* superagent.types.json = 'application/json';
|
|
1737
|
-
*
|
|
1738
|
-
* request.get('/agent')
|
|
1739
|
-
* .accept('json')
|
|
1740
|
-
* .end(callback);
|
|
1741
|
-
*
|
|
1742
|
-
* request.get('/agent')
|
|
1743
|
-
* .accept('application/json')
|
|
1744
|
-
* .end(callback);
|
|
1745
|
-
*
|
|
1746
|
-
* @param {String} accept
|
|
1747
|
-
* @return {Request} for chaining
|
|
1748
|
-
* @api public
|
|
1749
|
-
*/
|
|
1750
|
-
|
|
1751
3041
|
|
|
1752
3042
|
Request.prototype.accept = function (type) {
|
|
1753
3043
|
this.set('Accept', request.types[type] || type);
|
|
1754
3044
|
return this;
|
|
1755
3045
|
};
|
|
1756
|
-
/**
|
|
1757
|
-
* Set Authorization field value with `user` and `pass`.
|
|
1758
|
-
*
|
|
1759
|
-
* @param {String} user
|
|
1760
|
-
* @param {String} [pass] optional in case of using 'bearer' as type
|
|
1761
|
-
* @param {Object} options with 'type' property 'auto', 'basic' or 'bearer' (default 'basic')
|
|
1762
|
-
* @return {Request} for chaining
|
|
1763
|
-
* @api public
|
|
1764
|
-
*/
|
|
1765
|
-
|
|
1766
3046
|
|
|
1767
3047
|
Request.prototype.auth = function (user, pass, options) {
|
|
1768
3048
|
if (arguments.length === 1) pass = '';
|
|
1769
3049
|
|
|
1770
3050
|
if (_typeof(pass) === 'object' && pass !== null) {
|
|
1771
|
-
// pass is optional and can be replaced with options
|
|
1772
3051
|
options = pass;
|
|
1773
3052
|
pass = '';
|
|
1774
3053
|
}
|
|
@@ -1789,43 +3068,12 @@ Request.prototype.auth = function (user, pass, options) {
|
|
|
1789
3068
|
|
|
1790
3069
|
return this._auth(user, pass, options, encoder);
|
|
1791
3070
|
};
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
*
|
|
1797
|
-
* request.get('/shoes')
|
|
1798
|
-
* .query('size=10')
|
|
1799
|
-
* .query({ color: 'blue' })
|
|
1800
|
-
*
|
|
1801
|
-
* @param {Object|String} val
|
|
1802
|
-
* @return {Request} for chaining
|
|
1803
|
-
* @api public
|
|
1804
|
-
*/
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
Request.prototype.query = function (val) {
|
|
1808
|
-
if (typeof val !== 'string') val = serialize(val);
|
|
1809
|
-
if (val) this._query.push(val);
|
|
3071
|
+
|
|
3072
|
+
Request.prototype.query = function (value) {
|
|
3073
|
+
if (typeof value !== 'string') value = serialize(value);
|
|
3074
|
+
if (value) this._query.push(value);
|
|
1810
3075
|
return this;
|
|
1811
3076
|
};
|
|
1812
|
-
/**
|
|
1813
|
-
* Queue the given `file` as an attachment to the specified `field`,
|
|
1814
|
-
* with optional `options` (or filename).
|
|
1815
|
-
*
|
|
1816
|
-
* ``` js
|
|
1817
|
-
* request.post('/upload')
|
|
1818
|
-
* .attach('content', new Blob(['<a id="a"><b id="b">hey!</b></a>'], { type: "text/html"}))
|
|
1819
|
-
* .end(callback);
|
|
1820
|
-
* ```
|
|
1821
|
-
*
|
|
1822
|
-
* @param {String} field
|
|
1823
|
-
* @param {Blob|File} file
|
|
1824
|
-
* @param {String|Object} options
|
|
1825
|
-
* @return {Request} for chaining
|
|
1826
|
-
* @api public
|
|
1827
|
-
*/
|
|
1828
|
-
|
|
1829
3077
|
|
|
1830
3078
|
Request.prototype.attach = function (field, file, options) {
|
|
1831
3079
|
if (file) {
|
|
@@ -1846,47 +3094,31 @@ Request.prototype._getFormData = function () {
|
|
|
1846
3094
|
|
|
1847
3095
|
return this._formData;
|
|
1848
3096
|
};
|
|
1849
|
-
/**
|
|
1850
|
-
* Invoke the callback with `err` and `res`
|
|
1851
|
-
* and handle arity check.
|
|
1852
|
-
*
|
|
1853
|
-
* @param {Error} err
|
|
1854
|
-
* @param {Response} res
|
|
1855
|
-
* @api private
|
|
1856
|
-
*/
|
|
1857
3097
|
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
if (this._shouldRetry(err, res)) {
|
|
3098
|
+
Request.prototype.callback = function (error, res) {
|
|
3099
|
+
if (this._shouldRetry(error, res)) {
|
|
1861
3100
|
return this._retry();
|
|
1862
3101
|
}
|
|
1863
3102
|
|
|
1864
3103
|
var fn = this._callback;
|
|
1865
3104
|
this.clearTimeout();
|
|
1866
3105
|
|
|
1867
|
-
if (
|
|
1868
|
-
if (this._maxRetries)
|
|
1869
|
-
this.emit('error',
|
|
3106
|
+
if (error) {
|
|
3107
|
+
if (this._maxRetries) error.retries = this._retries - 1;
|
|
3108
|
+
this.emit('error', error);
|
|
1870
3109
|
}
|
|
1871
3110
|
|
|
1872
|
-
fn(
|
|
3111
|
+
fn(error, res);
|
|
1873
3112
|
};
|
|
1874
|
-
/**
|
|
1875
|
-
* Invoke callback with x-domain error.
|
|
1876
|
-
*
|
|
1877
|
-
* @api private
|
|
1878
|
-
*/
|
|
1879
|
-
|
|
1880
3113
|
|
|
1881
3114
|
Request.prototype.crossDomainError = function () {
|
|
1882
|
-
var
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
this.callback(
|
|
1888
|
-
};
|
|
1889
|
-
|
|
3115
|
+
var error = new Error('Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');
|
|
3116
|
+
error.crossDomain = true;
|
|
3117
|
+
error.status = this.status;
|
|
3118
|
+
error.method = this.method;
|
|
3119
|
+
error.url = this.url;
|
|
3120
|
+
this.callback(error);
|
|
3121
|
+
};
|
|
1890
3122
|
|
|
1891
3123
|
Request.prototype.agent = function () {
|
|
1892
3124
|
console.warn('This is not supported in browser version of superagent');
|
|
@@ -1894,44 +3126,25 @@ Request.prototype.agent = function () {
|
|
|
1894
3126
|
};
|
|
1895
3127
|
|
|
1896
3128
|
Request.prototype.ca = Request.prototype.agent;
|
|
1897
|
-
Request.prototype.buffer = Request.prototype.ca;
|
|
3129
|
+
Request.prototype.buffer = Request.prototype.ca;
|
|
1898
3130
|
|
|
1899
3131
|
Request.prototype.write = function () {
|
|
1900
3132
|
throw new Error('Streaming is not supported in browser version of superagent');
|
|
1901
3133
|
};
|
|
1902
3134
|
|
|
1903
3135
|
Request.prototype.pipe = Request.prototype.write;
|
|
1904
|
-
/**
|
|
1905
|
-
* Check if `obj` is a host object,
|
|
1906
|
-
* we don't want to serialize these :)
|
|
1907
|
-
*
|
|
1908
|
-
* @param {Object} obj host object
|
|
1909
|
-
* @return {Boolean} is a host object
|
|
1910
|
-
* @api private
|
|
1911
|
-
*/
|
|
1912
|
-
|
|
1913
|
-
Request.prototype._isHost = function (obj) {
|
|
1914
|
-
// Native objects stringify to [object File], [object Blob], [object FormData], etc.
|
|
1915
|
-
return obj && _typeof(obj) === 'object' && !Array.isArray(obj) && Object.prototype.toString.call(obj) !== '[object Object]';
|
|
1916
|
-
};
|
|
1917
|
-
/**
|
|
1918
|
-
* Initiate request, invoking callback `fn(res)`
|
|
1919
|
-
* with an instanceof `Response`.
|
|
1920
|
-
*
|
|
1921
|
-
* @param {Function} fn
|
|
1922
|
-
* @return {Request} for chaining
|
|
1923
|
-
* @api public
|
|
1924
|
-
*/
|
|
1925
3136
|
|
|
3137
|
+
Request.prototype._isHost = function (object) {
|
|
3138
|
+
return object && _typeof(object) === 'object' && !Array.isArray(object) && Object.prototype.toString.call(object) !== '[object Object]';
|
|
3139
|
+
};
|
|
1926
3140
|
|
|
1927
3141
|
Request.prototype.end = function (fn) {
|
|
1928
3142
|
if (this._endCalled) {
|
|
1929
3143
|
console.warn('Warning: .end() was called twice. This is not supported in superagent');
|
|
1930
3144
|
}
|
|
1931
3145
|
|
|
1932
|
-
this._endCalled = true;
|
|
1933
|
-
|
|
1934
|
-
this._callback = fn || noop; // querystring
|
|
3146
|
+
this._endCalled = true;
|
|
3147
|
+
this._callback = fn || noop;
|
|
1935
3148
|
|
|
1936
3149
|
this._finalizeQueryString();
|
|
1937
3150
|
|
|
@@ -1939,15 +3152,14 @@ Request.prototype.end = function (fn) {
|
|
|
1939
3152
|
};
|
|
1940
3153
|
|
|
1941
3154
|
Request.prototype._setUploadTimeout = function () {
|
|
1942
|
-
var self = this;
|
|
3155
|
+
var self = this;
|
|
1943
3156
|
|
|
1944
3157
|
if (this._uploadTimeout && !this._uploadTimeoutTimer) {
|
|
1945
3158
|
this._uploadTimeoutTimer = setTimeout(function () {
|
|
1946
3159
|
self._timeoutError('Upload timeout of ', self._uploadTimeout, 'ETIMEDOUT');
|
|
1947
3160
|
}, this._uploadTimeout);
|
|
1948
3161
|
}
|
|
1949
|
-
};
|
|
1950
|
-
|
|
3162
|
+
};
|
|
1951
3163
|
|
|
1952
3164
|
Request.prototype._end = function () {
|
|
1953
3165
|
if (this._aborted) return this.callback(new Error('The request has been aborted even before .end() was called'));
|
|
@@ -1956,10 +3168,9 @@ Request.prototype._end = function () {
|
|
|
1956
3168
|
var xhr = this.xhr;
|
|
1957
3169
|
var data = this._formData || this._data;
|
|
1958
3170
|
|
|
1959
|
-
this._setTimeouts();
|
|
1960
|
-
|
|
3171
|
+
this._setTimeouts();
|
|
1961
3172
|
|
|
1962
|
-
xhr.
|
|
3173
|
+
xhr.addEventListener('readystatechange', function () {
|
|
1963
3174
|
var readyState = xhr.readyState;
|
|
1964
3175
|
|
|
1965
3176
|
if (readyState >= 2 && self._responseTimeoutTimer) {
|
|
@@ -1968,9 +3179,7 @@ Request.prototype._end = function () {
|
|
|
1968
3179
|
|
|
1969
3180
|
if (readyState !== 4) {
|
|
1970
3181
|
return;
|
|
1971
|
-
}
|
|
1972
|
-
// result in the error "Could not complete the operation due to error c00c023f"
|
|
1973
|
-
|
|
3182
|
+
}
|
|
1974
3183
|
|
|
1975
3184
|
var status;
|
|
1976
3185
|
|
|
@@ -1986,8 +3195,7 @@ Request.prototype._end = function () {
|
|
|
1986
3195
|
}
|
|
1987
3196
|
|
|
1988
3197
|
self.emit('end');
|
|
1989
|
-
};
|
|
1990
|
-
|
|
3198
|
+
});
|
|
1991
3199
|
|
|
1992
3200
|
var handleProgress = function handleProgress(direction, e) {
|
|
1993
3201
|
if (e.total > 0) {
|
|
@@ -2009,16 +3217,12 @@ Request.prototype._end = function () {
|
|
|
2009
3217
|
if (xhr.upload) {
|
|
2010
3218
|
xhr.upload.addEventListener('progress', handleProgress.bind(null, 'upload'));
|
|
2011
3219
|
}
|
|
2012
|
-
} catch (_unused6) {
|
|
2013
|
-
// Reported here:
|
|
2014
|
-
// https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context
|
|
2015
|
-
}
|
|
3220
|
+
} catch (_unused6) {}
|
|
2016
3221
|
}
|
|
2017
3222
|
|
|
2018
3223
|
if (xhr.upload) {
|
|
2019
3224
|
this._setUploadTimeout();
|
|
2020
|
-
}
|
|
2021
|
-
|
|
3225
|
+
}
|
|
2022
3226
|
|
|
2023
3227
|
try {
|
|
2024
3228
|
if (this.username && this.password) {
|
|
@@ -2027,15 +3231,12 @@ Request.prototype._end = function () {
|
|
|
2027
3231
|
xhr.open(this.method, this.url, true);
|
|
2028
3232
|
}
|
|
2029
3233
|
} catch (err) {
|
|
2030
|
-
// see #1149
|
|
2031
3234
|
return this.callback(err);
|
|
2032
|
-
}
|
|
2033
|
-
|
|
3235
|
+
}
|
|
2034
3236
|
|
|
2035
|
-
if (this._withCredentials) xhr.withCredentials = true;
|
|
3237
|
+
if (this._withCredentials) xhr.withCredentials = true;
|
|
2036
3238
|
|
|
2037
3239
|
if (!this._formData && this.method !== 'GET' && this.method !== 'HEAD' && typeof data !== 'string' && !this._isHost(data)) {
|
|
2038
|
-
// serialize stuff
|
|
2039
3240
|
var contentType = this._header['content-type'];
|
|
2040
3241
|
|
|
2041
3242
|
var _serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];
|
|
@@ -2045,22 +3246,18 @@ Request.prototype._end = function () {
|
|
|
2045
3246
|
}
|
|
2046
3247
|
|
|
2047
3248
|
if (_serialize) data = _serialize(data);
|
|
2048
|
-
}
|
|
2049
|
-
|
|
3249
|
+
}
|
|
2050
3250
|
|
|
2051
3251
|
for (var field in this.header) {
|
|
2052
3252
|
if (this.header[field] === null) continue;
|
|
2053
|
-
if (
|
|
3253
|
+
if (hasOwn(this.header, field)) xhr.setRequestHeader(field, this.header[field]);
|
|
2054
3254
|
}
|
|
2055
3255
|
|
|
2056
3256
|
if (this._responseType) {
|
|
2057
3257
|
xhr.responseType = this._responseType;
|
|
2058
|
-
}
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
this.emit('request', this); // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)
|
|
2062
|
-
// We need null here if data is undefined
|
|
3258
|
+
}
|
|
2063
3259
|
|
|
3260
|
+
this.emit('request', this);
|
|
2064
3261
|
xhr.send(typeof data === 'undefined' ? null : data);
|
|
2065
3262
|
};
|
|
2066
3263
|
|
|
@@ -2068,230 +3265,137 @@ request.agent = function () {
|
|
|
2068
3265
|
return new Agent();
|
|
2069
3266
|
};
|
|
2070
3267
|
|
|
2071
|
-
|
|
3268
|
+
var _loop = function _loop() {
|
|
3269
|
+
var method = _arr[_i];
|
|
3270
|
+
|
|
2072
3271
|
Agent.prototype[method.toLowerCase()] = function (url, fn) {
|
|
2073
|
-
var
|
|
3272
|
+
var request_ = new request.Request(method, url);
|
|
2074
3273
|
|
|
2075
|
-
this._setDefaults(
|
|
3274
|
+
this._setDefaults(request_);
|
|
2076
3275
|
|
|
2077
3276
|
if (fn) {
|
|
2078
|
-
|
|
3277
|
+
request_.end(fn);
|
|
2079
3278
|
}
|
|
2080
3279
|
|
|
2081
|
-
return
|
|
3280
|
+
return request_;
|
|
2082
3281
|
};
|
|
2083
|
-
}
|
|
3282
|
+
};
|
|
3283
|
+
|
|
3284
|
+
for (var _i = 0, _arr = ['GET', 'POST', 'OPTIONS', 'PATCH', 'PUT', 'DELETE']; _i < _arr.length; _i++) {
|
|
3285
|
+
_loop();
|
|
3286
|
+
}
|
|
3287
|
+
|
|
2084
3288
|
Agent.prototype.del = Agent.prototype.delete;
|
|
2085
|
-
/**
|
|
2086
|
-
* GET `url` with optional callback `fn(res)`.
|
|
2087
|
-
*
|
|
2088
|
-
* @param {String} url
|
|
2089
|
-
* @param {Mixed|Function} [data] or fn
|
|
2090
|
-
* @param {Function} [fn]
|
|
2091
|
-
* @return {Request}
|
|
2092
|
-
* @api public
|
|
2093
|
-
*/
|
|
2094
3289
|
|
|
2095
3290
|
request.get = function (url, data, fn) {
|
|
2096
|
-
var
|
|
3291
|
+
var request_ = request('GET', url);
|
|
2097
3292
|
|
|
2098
3293
|
if (typeof data === 'function') {
|
|
2099
3294
|
fn = data;
|
|
2100
3295
|
data = null;
|
|
2101
3296
|
}
|
|
2102
3297
|
|
|
2103
|
-
if (data)
|
|
2104
|
-
if (fn)
|
|
2105
|
-
return
|
|
3298
|
+
if (data) request_.query(data);
|
|
3299
|
+
if (fn) request_.end(fn);
|
|
3300
|
+
return request_;
|
|
2106
3301
|
};
|
|
2107
|
-
/**
|
|
2108
|
-
* HEAD `url` with optional callback `fn(res)`.
|
|
2109
|
-
*
|
|
2110
|
-
* @param {String} url
|
|
2111
|
-
* @param {Mixed|Function} [data] or fn
|
|
2112
|
-
* @param {Function} [fn]
|
|
2113
|
-
* @return {Request}
|
|
2114
|
-
* @api public
|
|
2115
|
-
*/
|
|
2116
|
-
|
|
2117
3302
|
|
|
2118
3303
|
request.head = function (url, data, fn) {
|
|
2119
|
-
var
|
|
3304
|
+
var request_ = request('HEAD', url);
|
|
2120
3305
|
|
|
2121
3306
|
if (typeof data === 'function') {
|
|
2122
3307
|
fn = data;
|
|
2123
3308
|
data = null;
|
|
2124
3309
|
}
|
|
2125
3310
|
|
|
2126
|
-
if (data)
|
|
2127
|
-
if (fn)
|
|
2128
|
-
return
|
|
3311
|
+
if (data) request_.query(data);
|
|
3312
|
+
if (fn) request_.end(fn);
|
|
3313
|
+
return request_;
|
|
2129
3314
|
};
|
|
2130
|
-
/**
|
|
2131
|
-
* OPTIONS query to `url` with optional callback `fn(res)`.
|
|
2132
|
-
*
|
|
2133
|
-
* @param {String} url
|
|
2134
|
-
* @param {Mixed|Function} [data] or fn
|
|
2135
|
-
* @param {Function} [fn]
|
|
2136
|
-
* @return {Request}
|
|
2137
|
-
* @api public
|
|
2138
|
-
*/
|
|
2139
|
-
|
|
2140
3315
|
|
|
2141
3316
|
request.options = function (url, data, fn) {
|
|
2142
|
-
var
|
|
3317
|
+
var request_ = request('OPTIONS', url);
|
|
2143
3318
|
|
|
2144
3319
|
if (typeof data === 'function') {
|
|
2145
3320
|
fn = data;
|
|
2146
3321
|
data = null;
|
|
2147
3322
|
}
|
|
2148
3323
|
|
|
2149
|
-
if (data)
|
|
2150
|
-
if (fn)
|
|
2151
|
-
return
|
|
3324
|
+
if (data) request_.send(data);
|
|
3325
|
+
if (fn) request_.end(fn);
|
|
3326
|
+
return request_;
|
|
2152
3327
|
};
|
|
2153
|
-
/**
|
|
2154
|
-
* DELETE `url` with optional `data` and callback `fn(res)`.
|
|
2155
|
-
*
|
|
2156
|
-
* @param {String} url
|
|
2157
|
-
* @param {Mixed} [data]
|
|
2158
|
-
* @param {Function} [fn]
|
|
2159
|
-
* @return {Request}
|
|
2160
|
-
* @api public
|
|
2161
|
-
*/
|
|
2162
|
-
|
|
2163
3328
|
|
|
2164
3329
|
function del(url, data, fn) {
|
|
2165
|
-
var
|
|
3330
|
+
var request_ = request('DELETE', url);
|
|
2166
3331
|
|
|
2167
3332
|
if (typeof data === 'function') {
|
|
2168
3333
|
fn = data;
|
|
2169
3334
|
data = null;
|
|
2170
3335
|
}
|
|
2171
3336
|
|
|
2172
|
-
if (data)
|
|
2173
|
-
if (fn)
|
|
2174
|
-
return
|
|
3337
|
+
if (data) request_.send(data);
|
|
3338
|
+
if (fn) request_.end(fn);
|
|
3339
|
+
return request_;
|
|
2175
3340
|
}
|
|
2176
3341
|
|
|
2177
3342
|
request.del = del;
|
|
2178
3343
|
request.delete = del;
|
|
2179
|
-
/**
|
|
2180
|
-
* PATCH `url` with optional `data` and callback `fn(res)`.
|
|
2181
|
-
*
|
|
2182
|
-
* @param {String} url
|
|
2183
|
-
* @param {Mixed} [data]
|
|
2184
|
-
* @param {Function} [fn]
|
|
2185
|
-
* @return {Request}
|
|
2186
|
-
* @api public
|
|
2187
|
-
*/
|
|
2188
3344
|
|
|
2189
3345
|
request.patch = function (url, data, fn) {
|
|
2190
|
-
var
|
|
3346
|
+
var request_ = request('PATCH', url);
|
|
2191
3347
|
|
|
2192
3348
|
if (typeof data === 'function') {
|
|
2193
3349
|
fn = data;
|
|
2194
3350
|
data = null;
|
|
2195
3351
|
}
|
|
2196
3352
|
|
|
2197
|
-
if (data)
|
|
2198
|
-
if (fn)
|
|
2199
|
-
return
|
|
3353
|
+
if (data) request_.send(data);
|
|
3354
|
+
if (fn) request_.end(fn);
|
|
3355
|
+
return request_;
|
|
2200
3356
|
};
|
|
2201
|
-
/**
|
|
2202
|
-
* POST `url` with optional `data` and callback `fn(res)`.
|
|
2203
|
-
*
|
|
2204
|
-
* @param {String} url
|
|
2205
|
-
* @param {Mixed} [data]
|
|
2206
|
-
* @param {Function} [fn]
|
|
2207
|
-
* @return {Request}
|
|
2208
|
-
* @api public
|
|
2209
|
-
*/
|
|
2210
|
-
|
|
2211
3357
|
|
|
2212
3358
|
request.post = function (url, data, fn) {
|
|
2213
|
-
var
|
|
3359
|
+
var request_ = request('POST', url);
|
|
2214
3360
|
|
|
2215
3361
|
if (typeof data === 'function') {
|
|
2216
3362
|
fn = data;
|
|
2217
3363
|
data = null;
|
|
2218
3364
|
}
|
|
2219
3365
|
|
|
2220
|
-
if (data)
|
|
2221
|
-
if (fn)
|
|
2222
|
-
return
|
|
3366
|
+
if (data) request_.send(data);
|
|
3367
|
+
if (fn) request_.end(fn);
|
|
3368
|
+
return request_;
|
|
2223
3369
|
};
|
|
2224
|
-
/**
|
|
2225
|
-
* PUT `url` with optional `data` and callback `fn(res)`.
|
|
2226
|
-
*
|
|
2227
|
-
* @param {String} url
|
|
2228
|
-
* @param {Mixed|Function} [data] or fn
|
|
2229
|
-
* @param {Function} [fn]
|
|
2230
|
-
* @return {Request}
|
|
2231
|
-
* @api public
|
|
2232
|
-
*/
|
|
2233
|
-
|
|
2234
3370
|
|
|
2235
3371
|
request.put = function (url, data, fn) {
|
|
2236
|
-
var
|
|
3372
|
+
var request_ = request('PUT', url);
|
|
2237
3373
|
|
|
2238
3374
|
if (typeof data === 'function') {
|
|
2239
3375
|
fn = data;
|
|
2240
3376
|
data = null;
|
|
2241
3377
|
}
|
|
2242
3378
|
|
|
2243
|
-
if (data)
|
|
2244
|
-
if (fn)
|
|
2245
|
-
return
|
|
3379
|
+
if (data) request_.send(data);
|
|
3380
|
+
if (fn) request_.end(fn);
|
|
3381
|
+
return request_;
|
|
2246
3382
|
};
|
|
2247
3383
|
|
|
2248
|
-
},{"./agent-base":
|
|
3384
|
+
},{"./agent-base":20,"./request-base":22,"./response-base":23,"./utils":24,"component-emitter":4,"fast-safe-stringify":5,"qs":15}],22:[function(require,module,exports){
|
|
3385
|
+
(function (process){(function (){
|
|
2249
3386
|
"use strict";
|
|
2250
3387
|
|
|
2251
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
3388
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2252
3389
|
|
|
2253
|
-
|
|
2254
|
-
* Module of mixed-in functions shared between node and client code
|
|
2255
|
-
*/
|
|
2256
|
-
var isObject = require('./is-object');
|
|
2257
|
-
/**
|
|
2258
|
-
* Expose `RequestBase`.
|
|
2259
|
-
*/
|
|
3390
|
+
var semver = require('semver');
|
|
2260
3391
|
|
|
3392
|
+
var _require = require('./utils'),
|
|
3393
|
+
isObject = _require.isObject,
|
|
3394
|
+
hasOwn = _require.hasOwn;
|
|
2261
3395
|
|
|
2262
3396
|
module.exports = RequestBase;
|
|
2263
|
-
/**
|
|
2264
|
-
* Initialize a new `RequestBase`.
|
|
2265
|
-
*
|
|
2266
|
-
* @api public
|
|
2267
|
-
*/
|
|
2268
|
-
|
|
2269
|
-
function RequestBase(object) {
|
|
2270
|
-
if (object) return mixin(object);
|
|
2271
|
-
}
|
|
2272
|
-
/**
|
|
2273
|
-
* Mixin the prototype properties.
|
|
2274
|
-
*
|
|
2275
|
-
* @param {Object} obj
|
|
2276
|
-
* @return {Object}
|
|
2277
|
-
* @api private
|
|
2278
|
-
*/
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
function mixin(object) {
|
|
2282
|
-
for (var key in RequestBase.prototype) {
|
|
2283
|
-
if (Object.prototype.hasOwnProperty.call(RequestBase.prototype, key)) object[key] = RequestBase.prototype[key];
|
|
2284
|
-
}
|
|
2285
|
-
|
|
2286
|
-
return object;
|
|
2287
|
-
}
|
|
2288
|
-
/**
|
|
2289
|
-
* Clear previous timeout.
|
|
2290
|
-
*
|
|
2291
|
-
* @return {Request} for chaining
|
|
2292
|
-
* @api public
|
|
2293
|
-
*/
|
|
2294
3397
|
|
|
3398
|
+
function RequestBase() {}
|
|
2295
3399
|
|
|
2296
3400
|
RequestBase.prototype.clearTimeout = function () {
|
|
2297
3401
|
clearTimeout(this._timer);
|
|
@@ -2302,71 +3406,21 @@ RequestBase.prototype.clearTimeout = function () {
|
|
|
2302
3406
|
delete this._uploadTimeoutTimer;
|
|
2303
3407
|
return this;
|
|
2304
3408
|
};
|
|
2305
|
-
/**
|
|
2306
|
-
* Override default response body parser
|
|
2307
|
-
*
|
|
2308
|
-
* This function will be called to convert incoming data into request.body
|
|
2309
|
-
*
|
|
2310
|
-
* @param {Function}
|
|
2311
|
-
* @api public
|
|
2312
|
-
*/
|
|
2313
|
-
|
|
2314
3409
|
|
|
2315
3410
|
RequestBase.prototype.parse = function (fn) {
|
|
2316
3411
|
this._parser = fn;
|
|
2317
3412
|
return this;
|
|
2318
3413
|
};
|
|
2319
|
-
/**
|
|
2320
|
-
* Set format of binary response body.
|
|
2321
|
-
* In browser valid formats are 'blob' and 'arraybuffer',
|
|
2322
|
-
* which return Blob and ArrayBuffer, respectively.
|
|
2323
|
-
*
|
|
2324
|
-
* In Node all values result in Buffer.
|
|
2325
|
-
*
|
|
2326
|
-
* Examples:
|
|
2327
|
-
*
|
|
2328
|
-
* req.get('/')
|
|
2329
|
-
* .responseType('blob')
|
|
2330
|
-
* .end(callback);
|
|
2331
|
-
*
|
|
2332
|
-
* @param {String} val
|
|
2333
|
-
* @return {Request} for chaining
|
|
2334
|
-
* @api public
|
|
2335
|
-
*/
|
|
2336
|
-
|
|
2337
3414
|
|
|
2338
3415
|
RequestBase.prototype.responseType = function (value) {
|
|
2339
3416
|
this._responseType = value;
|
|
2340
3417
|
return this;
|
|
2341
3418
|
};
|
|
2342
|
-
/**
|
|
2343
|
-
* Override default request body serializer
|
|
2344
|
-
*
|
|
2345
|
-
* This function will be called to convert data set via .send or .attach into payload to send
|
|
2346
|
-
*
|
|
2347
|
-
* @param {Function}
|
|
2348
|
-
* @api public
|
|
2349
|
-
*/
|
|
2350
|
-
|
|
2351
3419
|
|
|
2352
3420
|
RequestBase.prototype.serialize = function (fn) {
|
|
2353
3421
|
this._serializer = fn;
|
|
2354
3422
|
return this;
|
|
2355
3423
|
};
|
|
2356
|
-
/**
|
|
2357
|
-
* Set timeouts.
|
|
2358
|
-
*
|
|
2359
|
-
* - response timeout is time between sending request and receiving the first byte of the response. Includes DNS and connection time.
|
|
2360
|
-
* - deadline is the time from start of the request to receiving response body in full. If the deadline is too short large files may not load at all on slow connections.
|
|
2361
|
-
* - upload is the time since last bit of data was sent or received. This timeout works only if deadline timeout is off
|
|
2362
|
-
*
|
|
2363
|
-
* Value of 0 or false means no timeout.
|
|
2364
|
-
*
|
|
2365
|
-
* @param {Number|Object} ms or {response, deadline}
|
|
2366
|
-
* @return {Request} for chaining
|
|
2367
|
-
* @api public
|
|
2368
|
-
*/
|
|
2369
|
-
|
|
2370
3424
|
|
|
2371
3425
|
RequestBase.prototype.timeout = function (options) {
|
|
2372
3426
|
if (!options || _typeof(options) !== 'object') {
|
|
@@ -2377,7 +3431,7 @@ RequestBase.prototype.timeout = function (options) {
|
|
|
2377
3431
|
}
|
|
2378
3432
|
|
|
2379
3433
|
for (var option in options) {
|
|
2380
|
-
if (
|
|
3434
|
+
if (hasOwn(options, option)) {
|
|
2381
3435
|
switch (option) {
|
|
2382
3436
|
case 'deadline':
|
|
2383
3437
|
this._timeout = options.deadline;
|
|
@@ -2399,99 +3453,48 @@ RequestBase.prototype.timeout = function (options) {
|
|
|
2399
3453
|
|
|
2400
3454
|
return this;
|
|
2401
3455
|
};
|
|
2402
|
-
/**
|
|
2403
|
-
* Set number of retry attempts on error.
|
|
2404
|
-
*
|
|
2405
|
-
* Failed requests will be retried 'count' times if timeout or err.code >= 500.
|
|
2406
|
-
*
|
|
2407
|
-
* @param {Number} count
|
|
2408
|
-
* @param {Function} [fn]
|
|
2409
|
-
* @return {Request} for chaining
|
|
2410
|
-
* @api public
|
|
2411
|
-
*/
|
|
2412
|
-
|
|
2413
3456
|
|
|
2414
3457
|
RequestBase.prototype.retry = function (count, fn) {
|
|
2415
|
-
// Default to 1 if no count passed or true
|
|
2416
3458
|
if (arguments.length === 0 || count === true) count = 1;
|
|
2417
3459
|
if (count <= 0) count = 0;
|
|
2418
3460
|
this._maxRetries = count;
|
|
2419
3461
|
this._retries = 0;
|
|
2420
3462
|
this._retryCallback = fn;
|
|
2421
3463
|
return this;
|
|
2422
|
-
};
|
|
2423
|
-
// NOTE: we do not include ESOCKETTIMEDOUT because that is from `request` package
|
|
2424
|
-
// <https://github.com/sindresorhus/got/pull/537>
|
|
2425
|
-
//
|
|
2426
|
-
// NOTE: we do not include EADDRINFO because it was removed from libuv in 2014
|
|
2427
|
-
// <https://github.com/libuv/libuv/commit/02e1ebd40b807be5af46343ea873331b2ee4e9c1>
|
|
2428
|
-
// <https://github.com/request/request/search?q=ESOCKETTIMEDOUT&unscoped_q=ESOCKETTIMEDOUT>
|
|
2429
|
-
//
|
|
2430
|
-
//
|
|
2431
|
-
// TODO: expose these as configurable defaults
|
|
2432
|
-
//
|
|
2433
|
-
|
|
3464
|
+
};
|
|
2434
3465
|
|
|
2435
3466
|
var ERROR_CODES = new Set(['ETIMEDOUT', 'ECONNRESET', 'EADDRINUSE', 'ECONNREFUSED', 'EPIPE', 'ENOTFOUND', 'ENETUNREACH', 'EAI_AGAIN']);
|
|
2436
|
-
var STATUS_CODES = new Set([408, 413, 429, 500, 502, 503, 504, 521, 522, 524]);
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
/**
|
|
2440
|
-
* Determine if a request should be retried.
|
|
2441
|
-
* (Inspired by https://github.com/sindresorhus/got#retry)
|
|
2442
|
-
*
|
|
2443
|
-
* @param {Error} err an error
|
|
2444
|
-
* @param {Response} [res] response
|
|
2445
|
-
* @returns {Boolean} if segment should be retried
|
|
2446
|
-
*/
|
|
2447
|
-
|
|
2448
|
-
RequestBase.prototype._shouldRetry = function (err, res) {
|
|
3467
|
+
var STATUS_CODES = new Set([408, 413, 429, 500, 502, 503, 504, 521, 522, 524]);
|
|
3468
|
+
|
|
3469
|
+
RequestBase.prototype._shouldRetry = function (error, res) {
|
|
2449
3470
|
if (!this._maxRetries || this._retries++ >= this._maxRetries) {
|
|
2450
3471
|
return false;
|
|
2451
3472
|
}
|
|
2452
3473
|
|
|
2453
3474
|
if (this._retryCallback) {
|
|
2454
3475
|
try {
|
|
2455
|
-
var override = this._retryCallback(
|
|
3476
|
+
var override = this._retryCallback(error, res);
|
|
2456
3477
|
|
|
2457
3478
|
if (override === true) return true;
|
|
2458
|
-
if (override === false) return false;
|
|
2459
|
-
} catch (
|
|
2460
|
-
console.error(
|
|
2461
|
-
}
|
|
2462
|
-
}
|
|
2463
|
-
|
|
2464
|
-
/*
|
|
2465
|
-
if (
|
|
2466
|
-
this.req &&
|
|
2467
|
-
this.req.method &&
|
|
2468
|
-
!METHODS.has(this.req.method.toUpperCase())
|
|
2469
|
-
)
|
|
2470
|
-
return false;
|
|
2471
|
-
*/
|
|
2472
|
-
|
|
3479
|
+
if (override === false) return false;
|
|
3480
|
+
} catch (error_) {
|
|
3481
|
+
console.error(error_);
|
|
3482
|
+
}
|
|
3483
|
+
}
|
|
2473
3484
|
|
|
2474
3485
|
if (res && res.status && STATUS_CODES.has(res.status)) return true;
|
|
2475
3486
|
|
|
2476
|
-
if (
|
|
2477
|
-
if (
|
|
2478
|
-
|
|
2479
|
-
if (
|
|
2480
|
-
if (err.crossDomain) return true;
|
|
3487
|
+
if (error) {
|
|
3488
|
+
if (error.code && ERROR_CODES.has(error.code)) return true;
|
|
3489
|
+
if (error.timeout && error.code === 'ECONNABORTED') return true;
|
|
3490
|
+
if (error.crossDomain) return true;
|
|
2481
3491
|
}
|
|
2482
3492
|
|
|
2483
3493
|
return false;
|
|
2484
3494
|
};
|
|
2485
|
-
/**
|
|
2486
|
-
* Retry request
|
|
2487
|
-
*
|
|
2488
|
-
* @return {Request} for chaining
|
|
2489
|
-
* @api private
|
|
2490
|
-
*/
|
|
2491
|
-
|
|
2492
3495
|
|
|
2493
3496
|
RequestBase.prototype._retry = function () {
|
|
2494
|
-
this.clearTimeout();
|
|
3497
|
+
this.clearTimeout();
|
|
2495
3498
|
|
|
2496
3499
|
if (this.req) {
|
|
2497
3500
|
this.req = null;
|
|
@@ -2503,14 +3506,6 @@ RequestBase.prototype._retry = function () {
|
|
|
2503
3506
|
this.timedoutError = null;
|
|
2504
3507
|
return this._end();
|
|
2505
3508
|
};
|
|
2506
|
-
/**
|
|
2507
|
-
* Promise support
|
|
2508
|
-
*
|
|
2509
|
-
* @param {Function} resolve
|
|
2510
|
-
* @param {Function} [reject]
|
|
2511
|
-
* @return {Request}
|
|
2512
|
-
*/
|
|
2513
|
-
|
|
2514
3509
|
|
|
2515
3510
|
RequestBase.prototype.then = function (resolve, reject) {
|
|
2516
3511
|
var _this = this;
|
|
@@ -2533,15 +3528,15 @@ RequestBase.prototype.then = function (resolve, reject) {
|
|
|
2533
3528
|
return;
|
|
2534
3529
|
}
|
|
2535
3530
|
|
|
2536
|
-
var
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
reject(
|
|
3531
|
+
var error = new Error('Aborted');
|
|
3532
|
+
error.code = 'ABORTED';
|
|
3533
|
+
error.status = _this.status;
|
|
3534
|
+
error.method = _this.method;
|
|
3535
|
+
error.url = _this.url;
|
|
3536
|
+
reject(error);
|
|
2542
3537
|
});
|
|
2543
|
-
self.end(function (
|
|
2544
|
-
if (
|
|
3538
|
+
self.end(function (error, res) {
|
|
3539
|
+
if (error) reject(error);else resolve(res);
|
|
2545
3540
|
});
|
|
2546
3541
|
});
|
|
2547
3542
|
}
|
|
@@ -2552,10 +3547,6 @@ RequestBase.prototype.then = function (resolve, reject) {
|
|
|
2552
3547
|
RequestBase.prototype.catch = function (cb) {
|
|
2553
3548
|
return this.then(undefined, cb);
|
|
2554
3549
|
};
|
|
2555
|
-
/**
|
|
2556
|
-
* Allow for extension
|
|
2557
|
-
*/
|
|
2558
|
-
|
|
2559
3550
|
|
|
2560
3551
|
RequestBase.prototype.use = function (fn) {
|
|
2561
3552
|
fn(this);
|
|
@@ -2579,58 +3570,17 @@ RequestBase.prototype._isResponseOK = function (res) {
|
|
|
2579
3570
|
|
|
2580
3571
|
return res.status >= 200 && res.status < 300;
|
|
2581
3572
|
};
|
|
2582
|
-
/**
|
|
2583
|
-
* Get request header `field`.
|
|
2584
|
-
* Case-insensitive.
|
|
2585
|
-
*
|
|
2586
|
-
* @param {String} field
|
|
2587
|
-
* @return {String}
|
|
2588
|
-
* @api public
|
|
2589
|
-
*/
|
|
2590
|
-
|
|
2591
3573
|
|
|
2592
3574
|
RequestBase.prototype.get = function (field) {
|
|
2593
3575
|
return this._header[field.toLowerCase()];
|
|
2594
3576
|
};
|
|
2595
|
-
/**
|
|
2596
|
-
* Get case-insensitive header `field` value.
|
|
2597
|
-
* This is a deprecated internal API. Use `.get(field)` instead.
|
|
2598
|
-
*
|
|
2599
|
-
* (getHeader is no longer used internally by the superagent code base)
|
|
2600
|
-
*
|
|
2601
|
-
* @param {String} field
|
|
2602
|
-
* @return {String}
|
|
2603
|
-
* @api private
|
|
2604
|
-
* @deprecated
|
|
2605
|
-
*/
|
|
2606
|
-
|
|
2607
3577
|
|
|
2608
3578
|
RequestBase.prototype.getHeader = RequestBase.prototype.get;
|
|
2609
|
-
/**
|
|
2610
|
-
* Set header `field` to `val`, or multiple fields with one object.
|
|
2611
|
-
* Case-insensitive.
|
|
2612
|
-
*
|
|
2613
|
-
* Examples:
|
|
2614
|
-
*
|
|
2615
|
-
* req.get('/')
|
|
2616
|
-
* .set('Accept', 'application/json')
|
|
2617
|
-
* .set('X-API-Key', 'foobar')
|
|
2618
|
-
* .end(callback);
|
|
2619
|
-
*
|
|
2620
|
-
* req.get('/')
|
|
2621
|
-
* .set({ Accept: 'application/json', 'X-API-Key': 'foobar' })
|
|
2622
|
-
* .end(callback);
|
|
2623
|
-
*
|
|
2624
|
-
* @param {String|Object} field
|
|
2625
|
-
* @param {String} val
|
|
2626
|
-
* @return {Request} for chaining
|
|
2627
|
-
* @api public
|
|
2628
|
-
*/
|
|
2629
3579
|
|
|
2630
3580
|
RequestBase.prototype.set = function (field, value) {
|
|
2631
3581
|
if (isObject(field)) {
|
|
2632
3582
|
for (var key in field) {
|
|
2633
|
-
if (
|
|
3583
|
+
if (hasOwn(field, key)) this.set(key, field[key]);
|
|
2634
3584
|
}
|
|
2635
3585
|
|
|
2636
3586
|
return this;
|
|
@@ -2640,48 +3590,14 @@ RequestBase.prototype.set = function (field, value) {
|
|
|
2640
3590
|
this.header[field] = value;
|
|
2641
3591
|
return this;
|
|
2642
3592
|
};
|
|
2643
|
-
/**
|
|
2644
|
-
* Remove header `field`.
|
|
2645
|
-
* Case-insensitive.
|
|
2646
|
-
*
|
|
2647
|
-
* Example:
|
|
2648
|
-
*
|
|
2649
|
-
* req.get('/')
|
|
2650
|
-
* .unset('User-Agent')
|
|
2651
|
-
* .end(callback);
|
|
2652
|
-
*
|
|
2653
|
-
* @param {String} field field name
|
|
2654
|
-
*/
|
|
2655
|
-
|
|
2656
3593
|
|
|
2657
3594
|
RequestBase.prototype.unset = function (field) {
|
|
2658
3595
|
delete this._header[field.toLowerCase()];
|
|
2659
3596
|
delete this.header[field];
|
|
2660
3597
|
return this;
|
|
2661
3598
|
};
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
* for "multipart/form-data" request bodies.
|
|
2665
|
-
*
|
|
2666
|
-
* ``` js
|
|
2667
|
-
* request.post('/upload')
|
|
2668
|
-
* .field('foo', 'bar')
|
|
2669
|
-
* .end(callback);
|
|
2670
|
-
*
|
|
2671
|
-
* request.post('/upload')
|
|
2672
|
-
* .field({ foo: 'bar', baz: 'qux' })
|
|
2673
|
-
* .end(callback);
|
|
2674
|
-
* ```
|
|
2675
|
-
*
|
|
2676
|
-
* @param {String|Object} name name of field
|
|
2677
|
-
* @param {String|Blob|File|Buffer|fs.ReadStream} val value of field
|
|
2678
|
-
* @return {Request} for chaining
|
|
2679
|
-
* @api public
|
|
2680
|
-
*/
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
RequestBase.prototype.field = function (name, value) {
|
|
2684
|
-
// name should be either a string or an object.
|
|
3599
|
+
|
|
3600
|
+
RequestBase.prototype.field = function (name, value, options) {
|
|
2685
3601
|
if (name === null || undefined === name) {
|
|
2686
3602
|
throw new Error('.field(name, val) name can not be empty');
|
|
2687
3603
|
}
|
|
@@ -2692,7 +3608,7 @@ RequestBase.prototype.field = function (name, value) {
|
|
|
2692
3608
|
|
|
2693
3609
|
if (isObject(name)) {
|
|
2694
3610
|
for (var key in name) {
|
|
2695
|
-
if (
|
|
3611
|
+
if (hasOwn(name, key)) this.field(key, name[key]);
|
|
2696
3612
|
}
|
|
2697
3613
|
|
|
2698
3614
|
return this;
|
|
@@ -2700,12 +3616,11 @@ RequestBase.prototype.field = function (name, value) {
|
|
|
2700
3616
|
|
|
2701
3617
|
if (Array.isArray(value)) {
|
|
2702
3618
|
for (var i in value) {
|
|
2703
|
-
if (
|
|
3619
|
+
if (hasOwn(value, i)) this.field(name, value[i]);
|
|
2704
3620
|
}
|
|
2705
3621
|
|
|
2706
3622
|
return this;
|
|
2707
|
-
}
|
|
2708
|
-
|
|
3623
|
+
}
|
|
2709
3624
|
|
|
2710
3625
|
if (value === null || undefined === value) {
|
|
2711
3626
|
throw new Error('.field(name, val) val can not be empty');
|
|
@@ -2715,17 +3630,10 @@ RequestBase.prototype.field = function (name, value) {
|
|
|
2715
3630
|
value = String(value);
|
|
2716
3631
|
}
|
|
2717
3632
|
|
|
2718
|
-
this._getFormData().append(name, value);
|
|
3633
|
+
this._getFormData().append(name, value, options);
|
|
2719
3634
|
|
|
2720
3635
|
return this;
|
|
2721
3636
|
};
|
|
2722
|
-
/**
|
|
2723
|
-
* Abort the request, and clear potential timeout.
|
|
2724
|
-
*
|
|
2725
|
-
* @return {Request} request
|
|
2726
|
-
* @api public
|
|
2727
|
-
*/
|
|
2728
|
-
|
|
2729
3637
|
|
|
2730
3638
|
RequestBase.prototype.abort = function () {
|
|
2731
3639
|
if (this._aborted) {
|
|
@@ -2733,9 +3641,17 @@ RequestBase.prototype.abort = function () {
|
|
|
2733
3641
|
}
|
|
2734
3642
|
|
|
2735
3643
|
this._aborted = true;
|
|
2736
|
-
if (this.xhr) this.xhr.abort();
|
|
3644
|
+
if (this.xhr) this.xhr.abort();
|
|
3645
|
+
|
|
3646
|
+
if (this.req) {
|
|
3647
|
+
if (semver.gte(process.version, 'v13.0.0') && semver.lt(process.version, 'v14.0.0')) {
|
|
3648
|
+
throw new Error('Superagent does not work in v13 properly with abort() due to Node.js core changes');
|
|
3649
|
+
} else if (semver.gte(process.version, 'v14.0.0')) {
|
|
3650
|
+
this.req.destroyed = true;
|
|
3651
|
+
}
|
|
2737
3652
|
|
|
2738
|
-
|
|
3653
|
+
this.req.abort();
|
|
3654
|
+
}
|
|
2739
3655
|
|
|
2740
3656
|
this.clearTimeout();
|
|
2741
3657
|
this.emit('abort');
|
|
@@ -2754,7 +3670,6 @@ RequestBase.prototype._auth = function (user, pass, options, base64Encoder) {
|
|
|
2754
3670
|
break;
|
|
2755
3671
|
|
|
2756
3672
|
case 'bearer':
|
|
2757
|
-
// usage would be .auth(accessToken, { type: 'bearer' })
|
|
2758
3673
|
this.set('Authorization', "Bearer ".concat(user));
|
|
2759
3674
|
break;
|
|
2760
3675
|
|
|
@@ -2764,45 +3679,17 @@ RequestBase.prototype._auth = function (user, pass, options, base64Encoder) {
|
|
|
2764
3679
|
|
|
2765
3680
|
return this;
|
|
2766
3681
|
};
|
|
2767
|
-
/**
|
|
2768
|
-
* Enable transmission of cookies with x-domain requests.
|
|
2769
|
-
*
|
|
2770
|
-
* Note that for this to work the origin must not be
|
|
2771
|
-
* using "Access-Control-Allow-Origin" with a wildcard,
|
|
2772
|
-
* and also must set "Access-Control-Allow-Credentials"
|
|
2773
|
-
* to "true".
|
|
2774
|
-
*
|
|
2775
|
-
* @api public
|
|
2776
|
-
*/
|
|
2777
|
-
|
|
2778
3682
|
|
|
2779
3683
|
RequestBase.prototype.withCredentials = function (on) {
|
|
2780
|
-
// This is browser-only functionality. Node side is no-op.
|
|
2781
3684
|
if (on === undefined) on = true;
|
|
2782
3685
|
this._withCredentials = on;
|
|
2783
3686
|
return this;
|
|
2784
3687
|
};
|
|
2785
|
-
/**
|
|
2786
|
-
* Set the max redirects to `n`. Does nothing in browser XHR implementation.
|
|
2787
|
-
*
|
|
2788
|
-
* @param {Number} n
|
|
2789
|
-
* @return {Request} for chaining
|
|
2790
|
-
* @api public
|
|
2791
|
-
*/
|
|
2792
|
-
|
|
2793
3688
|
|
|
2794
3689
|
RequestBase.prototype.redirects = function (n) {
|
|
2795
3690
|
this._maxRedirects = n;
|
|
2796
3691
|
return this;
|
|
2797
3692
|
};
|
|
2798
|
-
/**
|
|
2799
|
-
* Maximum size of buffered response body, in bytes. Counts uncompressed size.
|
|
2800
|
-
* Default 200MB.
|
|
2801
|
-
*
|
|
2802
|
-
* @param {Number} n number of bytes
|
|
2803
|
-
* @return {Request} for chaining
|
|
2804
|
-
*/
|
|
2805
|
-
|
|
2806
3693
|
|
|
2807
3694
|
RequestBase.prototype.maxResponseSize = function (n) {
|
|
2808
3695
|
if (typeof n !== 'number') {
|
|
@@ -2812,15 +3699,6 @@ RequestBase.prototype.maxResponseSize = function (n) {
|
|
|
2812
3699
|
this._maxResponseSize = n;
|
|
2813
3700
|
return this;
|
|
2814
3701
|
};
|
|
2815
|
-
/**
|
|
2816
|
-
* Convert to a plain javascript object (not JSON string) of scalar properties.
|
|
2817
|
-
* Note as this method is designed to return a useful non-this value,
|
|
2818
|
-
* it cannot be chained.
|
|
2819
|
-
*
|
|
2820
|
-
* @return {Object} describing method, url, and data of this request
|
|
2821
|
-
* @api public
|
|
2822
|
-
*/
|
|
2823
|
-
|
|
2824
3702
|
|
|
2825
3703
|
RequestBase.prototype.toJSON = function () {
|
|
2826
3704
|
return {
|
|
@@ -2830,47 +3708,6 @@ RequestBase.prototype.toJSON = function () {
|
|
|
2830
3708
|
headers: this._header
|
|
2831
3709
|
};
|
|
2832
3710
|
};
|
|
2833
|
-
/**
|
|
2834
|
-
* Send `data` as the request body, defaulting the `.type()` to "json" when
|
|
2835
|
-
* an object is given.
|
|
2836
|
-
*
|
|
2837
|
-
* Examples:
|
|
2838
|
-
*
|
|
2839
|
-
* // manual json
|
|
2840
|
-
* request.post('/user')
|
|
2841
|
-
* .type('json')
|
|
2842
|
-
* .send('{"name":"tj"}')
|
|
2843
|
-
* .end(callback)
|
|
2844
|
-
*
|
|
2845
|
-
* // auto json
|
|
2846
|
-
* request.post('/user')
|
|
2847
|
-
* .send({ name: 'tj' })
|
|
2848
|
-
* .end(callback)
|
|
2849
|
-
*
|
|
2850
|
-
* // manual x-www-form-urlencoded
|
|
2851
|
-
* request.post('/user')
|
|
2852
|
-
* .type('form')
|
|
2853
|
-
* .send('name=tj')
|
|
2854
|
-
* .end(callback)
|
|
2855
|
-
*
|
|
2856
|
-
* // auto x-www-form-urlencoded
|
|
2857
|
-
* request.post('/user')
|
|
2858
|
-
* .type('form')
|
|
2859
|
-
* .send({ name: 'tj' })
|
|
2860
|
-
* .end(callback)
|
|
2861
|
-
*
|
|
2862
|
-
* // defaults to x-www-form-urlencoded
|
|
2863
|
-
* request.post('/user')
|
|
2864
|
-
* .send('name=tobi')
|
|
2865
|
-
* .send('species=ferret')
|
|
2866
|
-
* .end(callback)
|
|
2867
|
-
*
|
|
2868
|
-
* @param {String|Object} data
|
|
2869
|
-
* @return {Request} for chaining
|
|
2870
|
-
* @api public
|
|
2871
|
-
*/
|
|
2872
|
-
// eslint-disable-next-line complexity
|
|
2873
|
-
|
|
2874
3711
|
|
|
2875
3712
|
RequestBase.prototype.send = function (data) {
|
|
2876
3713
|
var isObject_ = isObject(data);
|
|
@@ -2888,15 +3725,13 @@ RequestBase.prototype.send = function (data) {
|
|
|
2888
3725
|
}
|
|
2889
3726
|
} else if (data && this._data && this._isHost(this._data)) {
|
|
2890
3727
|
throw new Error("Can't merge these send calls");
|
|
2891
|
-
}
|
|
2892
|
-
|
|
3728
|
+
}
|
|
2893
3729
|
|
|
2894
3730
|
if (isObject_ && isObject(this._data)) {
|
|
2895
3731
|
for (var key in data) {
|
|
2896
|
-
if (
|
|
3732
|
+
if (hasOwn(data, key)) this._data[key] = data[key];
|
|
2897
3733
|
}
|
|
2898
3734
|
} else if (typeof data === 'string') {
|
|
2899
|
-
// default to x-www-form-urlencoded
|
|
2900
3735
|
if (!type) this.type('form');
|
|
2901
3736
|
type = this._header['content-type'];
|
|
2902
3737
|
if (type) type = type.toLowerCase().trim();
|
|
@@ -2912,52 +3747,16 @@ RequestBase.prototype.send = function (data) {
|
|
|
2912
3747
|
|
|
2913
3748
|
if (!isObject_ || this._isHost(data)) {
|
|
2914
3749
|
return this;
|
|
2915
|
-
}
|
|
2916
|
-
|
|
3750
|
+
}
|
|
2917
3751
|
|
|
2918
3752
|
if (!type) this.type('json');
|
|
2919
3753
|
return this;
|
|
2920
3754
|
};
|
|
2921
|
-
/**
|
|
2922
|
-
* Sort `querystring` by the sort function
|
|
2923
|
-
*
|
|
2924
|
-
*
|
|
2925
|
-
* Examples:
|
|
2926
|
-
*
|
|
2927
|
-
* // default order
|
|
2928
|
-
* request.get('/user')
|
|
2929
|
-
* .query('name=Nick')
|
|
2930
|
-
* .query('search=Manny')
|
|
2931
|
-
* .sortQuery()
|
|
2932
|
-
* .end(callback)
|
|
2933
|
-
*
|
|
2934
|
-
* // customized sort function
|
|
2935
|
-
* request.get('/user')
|
|
2936
|
-
* .query('name=Nick')
|
|
2937
|
-
* .query('search=Manny')
|
|
2938
|
-
* .sortQuery(function(a, b){
|
|
2939
|
-
* return a.length - b.length;
|
|
2940
|
-
* })
|
|
2941
|
-
* .end(callback)
|
|
2942
|
-
*
|
|
2943
|
-
*
|
|
2944
|
-
* @param {Function} sort
|
|
2945
|
-
* @return {Request} for chaining
|
|
2946
|
-
* @api public
|
|
2947
|
-
*/
|
|
2948
|
-
|
|
2949
3755
|
|
|
2950
3756
|
RequestBase.prototype.sortQuery = function (sort) {
|
|
2951
|
-
// _sort default to true but otherwise can be a function or boolean
|
|
2952
3757
|
this._sort = typeof sort === 'undefined' ? true : sort;
|
|
2953
3758
|
return this;
|
|
2954
3759
|
};
|
|
2955
|
-
/**
|
|
2956
|
-
* Compose querystring to append to req.url
|
|
2957
|
-
*
|
|
2958
|
-
* @api private
|
|
2959
|
-
*/
|
|
2960
|
-
|
|
2961
3760
|
|
|
2962
3761
|
RequestBase.prototype._finalizeQueryString = function () {
|
|
2963
3762
|
var query = this._query.join('&');
|
|
@@ -2966,7 +3765,7 @@ RequestBase.prototype._finalizeQueryString = function () {
|
|
|
2966
3765
|
this.url += (this.url.includes('?') ? '&' : '?') + query;
|
|
2967
3766
|
}
|
|
2968
3767
|
|
|
2969
|
-
this._query.length = 0;
|
|
3768
|
+
this._query.length = 0;
|
|
2970
3769
|
|
|
2971
3770
|
if (this._sort) {
|
|
2972
3771
|
var index = this.url.indexOf('?');
|
|
@@ -2983,43 +3782,35 @@ RequestBase.prototype._finalizeQueryString = function () {
|
|
|
2983
3782
|
this.url = this.url.slice(0, index) + '?' + queryArray.join('&');
|
|
2984
3783
|
}
|
|
2985
3784
|
}
|
|
2986
|
-
};
|
|
2987
|
-
|
|
3785
|
+
};
|
|
2988
3786
|
|
|
2989
3787
|
RequestBase.prototype._appendQueryString = function () {
|
|
2990
3788
|
console.warn('Unsupported');
|
|
2991
3789
|
};
|
|
2992
|
-
/**
|
|
2993
|
-
* Invoke callback with timeout error.
|
|
2994
|
-
*
|
|
2995
|
-
* @api private
|
|
2996
|
-
*/
|
|
2997
|
-
|
|
2998
3790
|
|
|
2999
3791
|
RequestBase.prototype._timeoutError = function (reason, timeout, errno) {
|
|
3000
3792
|
if (this._aborted) {
|
|
3001
3793
|
return;
|
|
3002
3794
|
}
|
|
3003
3795
|
|
|
3004
|
-
var
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3796
|
+
var error = new Error("".concat(reason + timeout, "ms exceeded"));
|
|
3797
|
+
error.timeout = timeout;
|
|
3798
|
+
error.code = 'ECONNABORTED';
|
|
3799
|
+
error.errno = errno;
|
|
3008
3800
|
this.timedout = true;
|
|
3009
|
-
this.timedoutError =
|
|
3801
|
+
this.timedoutError = error;
|
|
3010
3802
|
this.abort();
|
|
3011
|
-
this.callback(
|
|
3803
|
+
this.callback(error);
|
|
3012
3804
|
};
|
|
3013
3805
|
|
|
3014
3806
|
RequestBase.prototype._setTimeouts = function () {
|
|
3015
|
-
var self = this;
|
|
3807
|
+
var self = this;
|
|
3016
3808
|
|
|
3017
3809
|
if (this._timeout && !this._timer) {
|
|
3018
3810
|
this._timer = setTimeout(function () {
|
|
3019
3811
|
self._timeoutError('Timeout of ', self._timeout, 'ETIME');
|
|
3020
3812
|
}, this._timeout);
|
|
3021
|
-
}
|
|
3022
|
-
|
|
3813
|
+
}
|
|
3023
3814
|
|
|
3024
3815
|
if (this._responseTimeout && !this._responseTimeoutTimer) {
|
|
3025
3816
|
this._responseTimeoutTimer = setTimeout(function () {
|
|
@@ -3028,127 +3819,49 @@ RequestBase.prototype._setTimeouts = function () {
|
|
|
3028
3819
|
}
|
|
3029
3820
|
};
|
|
3030
3821
|
|
|
3031
|
-
}
|
|
3822
|
+
}).call(this)}).call(this,require('_process'))
|
|
3823
|
+
},{"./utils":24,"_process":13,"semver":1}],23:[function(require,module,exports){
|
|
3032
3824
|
"use strict";
|
|
3033
3825
|
|
|
3034
|
-
/**
|
|
3035
|
-
* Module dependencies.
|
|
3036
|
-
*/
|
|
3037
3826
|
var utils = require('./utils');
|
|
3038
|
-
/**
|
|
3039
|
-
* Expose `ResponseBase`.
|
|
3040
|
-
*/
|
|
3041
|
-
|
|
3042
3827
|
|
|
3043
3828
|
module.exports = ResponseBase;
|
|
3044
|
-
/**
|
|
3045
|
-
* Initialize a new `ResponseBase`.
|
|
3046
|
-
*
|
|
3047
|
-
* @api public
|
|
3048
|
-
*/
|
|
3049
|
-
|
|
3050
|
-
function ResponseBase(obj) {
|
|
3051
|
-
if (obj) return mixin(obj);
|
|
3052
|
-
}
|
|
3053
|
-
/**
|
|
3054
|
-
* Mixin the prototype properties.
|
|
3055
|
-
*
|
|
3056
|
-
* @param {Object} obj
|
|
3057
|
-
* @return {Object}
|
|
3058
|
-
* @api private
|
|
3059
|
-
*/
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
function mixin(obj) {
|
|
3063
|
-
for (var key in ResponseBase.prototype) {
|
|
3064
|
-
if (Object.prototype.hasOwnProperty.call(ResponseBase.prototype, key)) obj[key] = ResponseBase.prototype[key];
|
|
3065
|
-
}
|
|
3066
|
-
|
|
3067
|
-
return obj;
|
|
3068
|
-
}
|
|
3069
|
-
/**
|
|
3070
|
-
* Get case-insensitive `field` value.
|
|
3071
|
-
*
|
|
3072
|
-
* @param {String} field
|
|
3073
|
-
* @return {String}
|
|
3074
|
-
* @api public
|
|
3075
|
-
*/
|
|
3076
3829
|
|
|
3830
|
+
function ResponseBase() {}
|
|
3077
3831
|
|
|
3078
3832
|
ResponseBase.prototype.get = function (field) {
|
|
3079
3833
|
return this.header[field.toLowerCase()];
|
|
3080
3834
|
};
|
|
3081
|
-
/**
|
|
3082
|
-
* Set header related properties:
|
|
3083
|
-
*
|
|
3084
|
-
* - `.type` the content type without params
|
|
3085
|
-
*
|
|
3086
|
-
* A response of "Content-Type: text/plain; charset=utf-8"
|
|
3087
|
-
* will provide you with a `.type` of "text/plain".
|
|
3088
|
-
*
|
|
3089
|
-
* @param {Object} header
|
|
3090
|
-
* @api private
|
|
3091
|
-
*/
|
|
3092
|
-
|
|
3093
3835
|
|
|
3094
3836
|
ResponseBase.prototype._setHeaderProperties = function (header) {
|
|
3095
|
-
// TODO: moar!
|
|
3096
|
-
// TODO: make this a util
|
|
3097
|
-
// content-type
|
|
3098
3837
|
var ct = header['content-type'] || '';
|
|
3099
|
-
this.type = utils.type(ct);
|
|
3838
|
+
this.type = utils.type(ct);
|
|
3839
|
+
var parameters = utils.params(ct);
|
|
3100
3840
|
|
|
3101
|
-
var
|
|
3102
|
-
|
|
3103
|
-
for (var key in params) {
|
|
3104
|
-
if (Object.prototype.hasOwnProperty.call(params, key)) this[key] = params[key];
|
|
3841
|
+
for (var key in parameters) {
|
|
3842
|
+
if (Object.prototype.hasOwnProperty.call(parameters, key)) this[key] = parameters[key];
|
|
3105
3843
|
}
|
|
3106
3844
|
|
|
3107
|
-
this.links = {};
|
|
3845
|
+
this.links = {};
|
|
3108
3846
|
|
|
3109
3847
|
try {
|
|
3110
3848
|
if (header.link) {
|
|
3111
3849
|
this.links = utils.parseLinks(header.link);
|
|
3112
3850
|
}
|
|
3113
|
-
} catch (_unused) {
|
|
3114
|
-
|
|
3115
|
-
};
|
|
3116
|
-
/**
|
|
3117
|
-
* Set flags such as `.ok` based on `status`.
|
|
3118
|
-
*
|
|
3119
|
-
* For example a 2xx response will give you a `.ok` of __true__
|
|
3120
|
-
* whereas 5xx will be __false__ and `.error` will be __true__. The
|
|
3121
|
-
* `.clientError` and `.serverError` are also available to be more
|
|
3122
|
-
* specific, and `.statusType` is the class of error ranging from 1..5
|
|
3123
|
-
* sometimes useful for mapping respond colors etc.
|
|
3124
|
-
*
|
|
3125
|
-
* "sugar" properties are also defined for common cases. Currently providing:
|
|
3126
|
-
*
|
|
3127
|
-
* - .noContent
|
|
3128
|
-
* - .badRequest
|
|
3129
|
-
* - .unauthorized
|
|
3130
|
-
* - .notAcceptable
|
|
3131
|
-
* - .notFound
|
|
3132
|
-
*
|
|
3133
|
-
* @param {Number} status
|
|
3134
|
-
* @api private
|
|
3135
|
-
*/
|
|
3136
|
-
|
|
3851
|
+
} catch (_unused) {}
|
|
3852
|
+
};
|
|
3137
3853
|
|
|
3138
3854
|
ResponseBase.prototype._setStatusProperties = function (status) {
|
|
3139
|
-
var type = status / 100
|
|
3140
|
-
|
|
3855
|
+
var type = Math.trunc(status / 100);
|
|
3141
3856
|
this.statusCode = status;
|
|
3142
3857
|
this.status = this.statusCode;
|
|
3143
|
-
this.statusType = type;
|
|
3144
|
-
|
|
3858
|
+
this.statusType = type;
|
|
3145
3859
|
this.info = type === 1;
|
|
3146
3860
|
this.ok = type === 2;
|
|
3147
3861
|
this.redirect = type === 3;
|
|
3148
3862
|
this.clientError = type === 4;
|
|
3149
3863
|
this.serverError = type === 5;
|
|
3150
|
-
this.error = type === 4 || type === 5 ? this.toError() : false;
|
|
3151
|
-
|
|
3864
|
+
this.error = type === 4 || type === 5 ? this.toError() : false;
|
|
3152
3865
|
this.created = status === 201;
|
|
3153
3866
|
this.accepted = status === 202;
|
|
3154
3867
|
this.noContent = status === 204;
|
|
@@ -3160,49 +3873,36 @@ ResponseBase.prototype._setStatusProperties = function (status) {
|
|
|
3160
3873
|
this.unprocessableEntity = status === 422;
|
|
3161
3874
|
};
|
|
3162
3875
|
|
|
3163
|
-
},{"./utils":
|
|
3876
|
+
},{"./utils":24}],24:[function(require,module,exports){
|
|
3164
3877
|
"use strict";
|
|
3165
3878
|
|
|
3166
|
-
function
|
|
3879
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3880
|
+
|
|
3881
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
3167
3882
|
|
|
3168
3883
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
3169
3884
|
|
|
3170
3885
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
3171
3886
|
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
* @param {String} str
|
|
3176
|
-
* @return {String}
|
|
3177
|
-
* @api private
|
|
3178
|
-
*/
|
|
3179
|
-
exports.type = function (str) {
|
|
3180
|
-
return str.split(/ *; */).shift();
|
|
3181
|
-
};
|
|
3182
|
-
/**
|
|
3183
|
-
* Return header field parameters.
|
|
3184
|
-
*
|
|
3185
|
-
* @param {String} str
|
|
3186
|
-
* @return {Object}
|
|
3187
|
-
* @api private
|
|
3188
|
-
*/
|
|
3189
|
-
|
|
3190
|
-
|
|
3191
|
-
exports.params = function (val) {
|
|
3192
|
-
var obj = {};
|
|
3887
|
+
exports.type = function (string_) {
|
|
3888
|
+
return string_.split(/ *; */).shift();
|
|
3889
|
+
};
|
|
3193
3890
|
|
|
3194
|
-
|
|
3891
|
+
exports.params = function (value) {
|
|
3892
|
+
var object = {};
|
|
3893
|
+
|
|
3894
|
+
var _iterator = _createForOfIteratorHelper(value.split(/ *; */)),
|
|
3195
3895
|
_step;
|
|
3196
3896
|
|
|
3197
3897
|
try {
|
|
3198
3898
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
3199
|
-
var
|
|
3200
|
-
var parts =
|
|
3899
|
+
var string_ = _step.value;
|
|
3900
|
+
var parts = string_.split(/ *= */);
|
|
3201
3901
|
var key = parts.shift();
|
|
3202
3902
|
|
|
3203
|
-
var
|
|
3903
|
+
var _value = parts.shift();
|
|
3204
3904
|
|
|
3205
|
-
if (key &&
|
|
3905
|
+
if (key && _value) object[key] = _value;
|
|
3206
3906
|
}
|
|
3207
3907
|
} catch (err) {
|
|
3208
3908
|
_iterator.e(err);
|
|
@@ -3210,30 +3910,22 @@ exports.params = function (val) {
|
|
|
3210
3910
|
_iterator.f();
|
|
3211
3911
|
}
|
|
3212
3912
|
|
|
3213
|
-
return
|
|
3913
|
+
return object;
|
|
3214
3914
|
};
|
|
3215
|
-
/**
|
|
3216
|
-
* Parse Link header fields.
|
|
3217
|
-
*
|
|
3218
|
-
* @param {String} str
|
|
3219
|
-
* @return {Object}
|
|
3220
|
-
* @api private
|
|
3221
|
-
*/
|
|
3222
|
-
|
|
3223
3915
|
|
|
3224
|
-
exports.parseLinks = function (
|
|
3225
|
-
var
|
|
3916
|
+
exports.parseLinks = function (value) {
|
|
3917
|
+
var object = {};
|
|
3226
3918
|
|
|
3227
|
-
var _iterator2 = _createForOfIteratorHelper(
|
|
3919
|
+
var _iterator2 = _createForOfIteratorHelper(value.split(/ *, */)),
|
|
3228
3920
|
_step2;
|
|
3229
3921
|
|
|
3230
3922
|
try {
|
|
3231
3923
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
3232
|
-
var
|
|
3233
|
-
var parts =
|
|
3924
|
+
var string_ = _step2.value;
|
|
3925
|
+
var parts = string_.split(/ *; */);
|
|
3234
3926
|
var url = parts[0].slice(1, -1);
|
|
3235
3927
|
var rel = parts[1].split(/ *= */)[1].slice(1, -1);
|
|
3236
|
-
|
|
3928
|
+
object[rel] = url;
|
|
3237
3929
|
}
|
|
3238
3930
|
} catch (err) {
|
|
3239
3931
|
_iterator2.e(err);
|
|
@@ -3241,22 +3933,14 @@ exports.parseLinks = function (val) {
|
|
|
3241
3933
|
_iterator2.f();
|
|
3242
3934
|
}
|
|
3243
3935
|
|
|
3244
|
-
return
|
|
3936
|
+
return object;
|
|
3245
3937
|
};
|
|
3246
|
-
/**
|
|
3247
|
-
* Strip content related fields from `header`.
|
|
3248
|
-
*
|
|
3249
|
-
* @param {Object} header
|
|
3250
|
-
* @return {Object} header
|
|
3251
|
-
* @api private
|
|
3252
|
-
*/
|
|
3253
|
-
|
|
3254
3938
|
|
|
3255
3939
|
exports.cleanHeader = function (header, changesOrigin) {
|
|
3256
3940
|
delete header['content-type'];
|
|
3257
3941
|
delete header['content-length'];
|
|
3258
3942
|
delete header['transfer-encoding'];
|
|
3259
|
-
delete header.host;
|
|
3943
|
+
delete header.host;
|
|
3260
3944
|
|
|
3261
3945
|
if (changesOrigin) {
|
|
3262
3946
|
delete header.authorization;
|
|
@@ -3266,5 +3950,25 @@ exports.cleanHeader = function (header, changesOrigin) {
|
|
|
3266
3950
|
return header;
|
|
3267
3951
|
};
|
|
3268
3952
|
|
|
3269
|
-
|
|
3953
|
+
exports.isObject = function (object) {
|
|
3954
|
+
return object !== null && _typeof(object) === 'object';
|
|
3955
|
+
};
|
|
3956
|
+
|
|
3957
|
+
exports.hasOwn = Object.hasOwn || function (object, property) {
|
|
3958
|
+
if (object == null) {
|
|
3959
|
+
throw new TypeError('Cannot convert undefined or null to object');
|
|
3960
|
+
}
|
|
3961
|
+
|
|
3962
|
+
return Object.prototype.hasOwnProperty.call(new Object(object), property);
|
|
3963
|
+
};
|
|
3964
|
+
|
|
3965
|
+
exports.mixin = function (target, source) {
|
|
3966
|
+
for (var key in source) {
|
|
3967
|
+
if (exports.hasOwn(source, key)) {
|
|
3968
|
+
target[key] = source[key];
|
|
3969
|
+
}
|
|
3970
|
+
}
|
|
3971
|
+
};
|
|
3972
|
+
|
|
3973
|
+
},{}]},{},[21])(21)
|
|
3270
3974
|
});
|