summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/qs/dist/qs.js
diff options
context:
space:
mode:
authorKat Marchán <kzm@zkat.tech>2018-07-18 13:55:52 -0700
committerMichaël Zasso <targos@protonmail.com>2018-07-29 14:16:56 +0200
commit5842366ae83a36065d626e3937ad8fc327efab30 (patch)
tree663eb6d493b00788d83d7a71fc2489adabd24527 /deps/npm/node_modules/qs/dist/qs.js
parent2aca0957f46af0be33368a1fcb398e63a35c46ef (diff)
downloadandroid-node-v8-5842366ae83a36065d626e3937ad8fc327efab30.tar.gz
android-node-v8-5842366ae83a36065d626e3937ad8fc327efab30.tar.bz2
android-node-v8-5842366ae83a36065d626e3937ad8fc327efab30.zip
deps: upgrade npm to 6.2.0
PR-URL: https://github.com/nodejs/node/pull/21592 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/npm/node_modules/qs/dist/qs.js')
-rw-r--r--deps/npm/node_modules/qs/dist/qs.js205
1 files changed, 82 insertions, 123 deletions
diff --git a/deps/npm/node_modules/qs/dist/qs.js b/deps/npm/node_modules/qs/dist/qs.js
index ecf7ba44cf..2d0d63ff26 100644
--- a/deps/npm/node_modules/qs/dist/qs.js
+++ b/deps/npm/node_modules/qs/dist/qs.js
@@ -1,4 +1,4 @@
-(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.Qs = 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){
+(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.Qs = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
'use strict';
var replace = String.prototype.replace;
@@ -52,23 +52,19 @@ var defaults = {
var parseValues = function parseQueryStringValues(str, options) {
var obj = {};
- var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
- var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
- var parts = cleanStr.split(options.delimiter, limit);
+ var parts = str.split(options.delimiter, options.parameterLimit === Infinity ? undefined : options.parameterLimit);
for (var i = 0; i < parts.length; ++i) {
var part = parts[i];
-
- var bracketEqualsPos = part.indexOf(']=');
- var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
+ var pos = part.indexOf(']=') === -1 ? part.indexOf('=') : part.indexOf(']=') + 1;
var key, val;
if (pos === -1) {
- key = options.decoder(part, defaults.decoder);
+ key = options.decoder(part);
val = options.strictNullHandling ? null : '';
} else {
- key = options.decoder(part.slice(0, pos), defaults.decoder);
- val = options.decoder(part.slice(pos + 1), defaults.decoder);
+ key = options.decoder(part.slice(0, pos));
+ val = options.decoder(part.slice(pos + 1));
}
if (has.call(obj, key)) {
obj[key] = [].concat(obj[key]).concat(val);
@@ -80,38 +76,36 @@ var parseValues = function parseQueryStringValues(str, options) {
return obj;
};
-var parseObject = function (chain, val, options) {
- var leaf = val;
+var parseObject = function parseObjectRecursive(chain, val, options) {
+ if (!chain.length) {
+ return val;
+ }
- for (var i = chain.length - 1; i >= 0; --i) {
- var obj;
- var root = chain[i];
+ var root = chain.shift();
- if (root === '[]') {
+ var obj;
+ if (root === '[]') {
+ obj = [];
+ obj = obj.concat(parseObject(chain, val, options));
+ } else {
+ obj = options.plainObjects ? Object.create(null) : {};
+ var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
+ var index = parseInt(cleanRoot, 10);
+ if (
+ !isNaN(index) &&
+ root !== cleanRoot &&
+ String(index) === cleanRoot &&
+ index >= 0 &&
+ (options.parseArrays && index <= options.arrayLimit)
+ ) {
obj = [];
- obj = obj.concat(leaf);
+ obj[index] = parseObject(chain, val, options);
} else {
- obj = options.plainObjects ? Object.create(null) : {};
- var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
- var index = parseInt(cleanRoot, 10);
- if (
- !isNaN(index)
- && root !== cleanRoot
- && String(index) === cleanRoot
- && index >= 0
- && (options.parseArrays && index <= options.arrayLimit)
- ) {
- obj = [];
- obj[index] = leaf;
- } else {
- obj[cleanRoot] = leaf;
- }
+ obj[cleanRoot] = parseObject(chain, val, options);
}
-
- leaf = obj;
}
- return leaf;
+ return obj;
};
var parseKeys = function parseQueryStringKeys(givenKey, val, options) {
@@ -170,13 +164,12 @@ var parseKeys = function parseQueryStringKeys(givenKey, val, options) {
};
module.exports = function (str, opts) {
- var options = opts ? utils.assign({}, opts) : {};
+ var options = opts || {};
if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') {
throw new TypeError('Decoder has to be a function.');
}
- options.ignoreQueryPrefix = options.ignoreQueryPrefix === true;
options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;
options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;
options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;
@@ -260,7 +253,7 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
obj = serializeDate(obj);
} else if (obj === null) {
if (strictNullHandling) {
- return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix;
+ return encoder && !encodeValuesOnly ? encoder(prefix) : prefix;
}
obj = '';
@@ -268,8 +261,8 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {
if (encoder) {
- var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder);
- return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder))];
+ var keyValue = encodeValuesOnly ? prefix : encoder(prefix);
+ return [formatter(keyValue) + '=' + formatter(encoder(obj))];
}
return [formatter(prefix) + '=' + formatter(String(obj))];
}
@@ -333,7 +326,7 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
module.exports = function (object, opts) {
var obj = object;
- var options = opts ? utils.assign({}, opts) : {};
+ var options = opts || {};
if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {
throw new TypeError('Encoder has to be a function.');
@@ -349,7 +342,7 @@ module.exports = function (object, opts) {
var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;
var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly;
if (typeof options.format === 'undefined') {
- options.format = formats['default'];
+ options.format = formats.default;
} else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {
throw new TypeError('Unknown format option provided.');
}
@@ -413,10 +406,7 @@ module.exports = function (object, opts) {
));
}
- var joined = keys.join(delimiter);
- var prefix = options.addQueryPrefix === true ? '?' : '';
-
- return joined.length > 0 ? prefix + joined : '';
+ return keys.join(delimiter);
};
},{"./formats":1,"./utils":5}],5:[function(require,module,exports){
@@ -433,30 +423,7 @@ var hexTable = (function () {
return array;
}());
-var compactQueue = function compactQueue(queue) {
- var obj;
-
- while (queue.length) {
- var item = queue.pop();
- obj = item.obj[item.prop];
-
- if (Array.isArray(obj)) {
- var compacted = [];
-
- for (var j = 0; j < obj.length; ++j) {
- if (typeof obj[j] !== 'undefined') {
- compacted.push(obj[j]);
- }
- }
-
- item.obj[item.prop] = compacted;
- }
- }
-
- return obj;
-};
-
-var arrayToObject = function arrayToObject(source, options) {
+exports.arrayToObject = function (source, options) {
var obj = options && options.plainObjects ? Object.create(null) : {};
for (var i = 0; i < source.length; ++i) {
if (typeof source[i] !== 'undefined') {
@@ -467,7 +434,7 @@ var arrayToObject = function arrayToObject(source, options) {
return obj;
};
-var merge = function merge(target, source, options) {
+exports.merge = function (target, source, options) {
if (!source) {
return target;
}
@@ -492,14 +459,14 @@ var merge = function merge(target, source, options) {
var mergeTarget = target;
if (Array.isArray(target) && !Array.isArray(source)) {
- mergeTarget = arrayToObject(target, options);
+ mergeTarget = exports.arrayToObject(target, options);
}
if (Array.isArray(target) && Array.isArray(source)) {
source.forEach(function (item, i) {
if (has.call(target, i)) {
if (target[i] && typeof target[i] === 'object') {
- target[i] = merge(target[i], item, options);
+ target[i] = exports.merge(target[i], item, options);
} else {
target.push(item);
}
@@ -513,8 +480,8 @@ var merge = function merge(target, source, options) {
return Object.keys(source).reduce(function (acc, key) {
var value = source[key];
- if (has.call(acc, key)) {
- acc[key] = merge(acc[key], value, options);
+ if (Object.prototype.hasOwnProperty.call(acc, key)) {
+ acc[key] = exports.merge(acc[key], value, options);
} else {
acc[key] = value;
}
@@ -522,14 +489,7 @@ var merge = function merge(target, source, options) {
}, mergeTarget);
};
-var assign = function assignSingleSource(target, source) {
- return Object.keys(source).reduce(function (acc, key) {
- acc[key] = source[key];
- return acc;
- }, target);
-};
-
-var decode = function (str) {
+exports.decode = function (str) {
try {
return decodeURIComponent(str.replace(/\+/g, ' '));
} catch (e) {
@@ -537,7 +497,7 @@ var decode = function (str) {
}
};
-var encode = function encode(str) {
+exports.encode = function (str) {
// This code was originally written by Brian White (mscdex) for the io.js core querystring library.
// It has been adapted here for stricter adherence to RFC 3986
if (str.length === 0) {
@@ -551,13 +511,13 @@ var encode = function encode(str) {
var c = string.charCodeAt(i);
if (
- c === 0x2D // -
- || c === 0x2E // .
- || c === 0x5F // _
- || c === 0x7E // ~
- || (c >= 0x30 && c <= 0x39) // 0-9
- || (c >= 0x41 && c <= 0x5A) // a-z
- || (c >= 0x61 && c <= 0x7A) // A-Z
+ c === 0x2D || // -
+ c === 0x2E || // .
+ c === 0x5F || // _
+ c === 0x7E || // ~
+ (c >= 0x30 && c <= 0x39) || // 0-9
+ (c >= 0x41 && c <= 0x5A) || // a-z
+ (c >= 0x61 && c <= 0x7A) // A-Z
) {
out += string.charAt(i);
continue;
@@ -580,42 +540,52 @@ var encode = function encode(str) {
i += 1;
c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
- out += hexTable[0xF0 | (c >> 18)]
- + hexTable[0x80 | ((c >> 12) & 0x3F)]
- + hexTable[0x80 | ((c >> 6) & 0x3F)]
- + hexTable[0x80 | (c & 0x3F)];
+ out += hexTable[0xF0 | (c >> 18)] + hexTable[0x80 | ((c >> 12) & 0x3F)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]; // eslint-disable-line max-len
}
return out;
};
-var compact = function compact(value) {
- var queue = [{ obj: { o: value }, prop: 'o' }];
- var refs = [];
+exports.compact = function (obj, references) {
+ if (typeof obj !== 'object' || obj === null) {
+ return obj;
+ }
+
+ var refs = references || [];
+ var lookup = refs.indexOf(obj);
+ if (lookup !== -1) {
+ return refs[lookup];
+ }
- for (var i = 0; i < queue.length; ++i) {
- var item = queue[i];
- var obj = item.obj[item.prop];
+ refs.push(obj);
- var keys = Object.keys(obj);
- for (var j = 0; j < keys.length; ++j) {
- var key = keys[j];
- var val = obj[key];
- if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
- queue.push({ obj: obj, prop: key });
- refs.push(val);
+ if (Array.isArray(obj)) {
+ var compacted = [];
+
+ for (var i = 0; i < obj.length; ++i) {
+ if (obj[i] && typeof obj[i] === 'object') {
+ compacted.push(exports.compact(obj[i], refs));
+ } else if (typeof obj[i] !== 'undefined') {
+ compacted.push(obj[i]);
}
}
+
+ return compacted;
}
- return compactQueue(queue);
+ var keys = Object.keys(obj);
+ keys.forEach(function (key) {
+ obj[key] = exports.compact(obj[key], refs);
+ });
+
+ return obj;
};
-var isRegExp = function isRegExp(obj) {
+exports.isRegExp = function (obj) {
return Object.prototype.toString.call(obj) === '[object RegExp]';
};
-var isBuffer = function isBuffer(obj) {
+exports.isBuffer = function (obj) {
if (obj === null || typeof obj === 'undefined') {
return false;
}
@@ -623,16 +593,5 @@ var isBuffer = function isBuffer(obj) {
return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
};
-module.exports = {
- arrayToObject: arrayToObject,
- assign: assign,
- compact: compact,
- decode: decode,
- encode: encode,
- isBuffer: isBuffer,
- isRegExp: isRegExp,
- merge: merge
-};
-
},{}]},{},[2])(2)
-});
+}); \ No newline at end of file