From d3adc16a08d95d6e331de55d7d3bf05a66a874a8 Mon Sep 17 00:00:00 2001 From: pack Date: Sun, 9 Aug 2026 10:54:08 +0000 Subject: stop tracking node_modules/ --- node_modules/qs/lib/utils.js | 381 ------------------------------------------- 1 file changed, 381 deletions(-) delete mode 100644 node_modules/qs/lib/utils.js (limited to 'node_modules/qs/lib/utils.js') diff --git a/node_modules/qs/lib/utils.js b/node_modules/qs/lib/utils.js deleted file mode 100644 index 6fce590..0000000 --- a/node_modules/qs/lib/utils.js +++ /dev/null @@ -1,381 +0,0 @@ -'use strict'; - -var formats = require('./formats'); -var getSideChannel = require('side-channel'); -var defineProperty = require('es-define-property'); - -var has = Object.prototype.hasOwnProperty; -var isArray = Array.isArray; - -// Track objects created from arrayLimit overflow using side-channel -// Stores the current max numeric index for O(1) lookup -var overflowChannel = getSideChannel(); - -var markOverflow = function markOverflow(obj, maxIndex) { - overflowChannel.set(obj, maxIndex); - return obj; -}; - -var isOverflow = function isOverflow(obj) { - return overflowChannel.has(obj); -}; - -var getMaxIndex = function getMaxIndex(obj) { - return overflowChannel.get(obj); -}; - -var setMaxIndex = function setMaxIndex(obj, maxIndex) { - overflowChannel.set(obj, maxIndex); -}; - -var hexTable = (function () { - var array = []; - for (var i = 0; i < 256; ++i) { - array[array.length] = '%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase(); - } - - return array; -}()); - -var compactQueue = function compactQueue(queue) { - while (queue.length > 1) { - var item = queue.pop(); - var obj = item.obj[item.prop]; - - if (isArray(obj)) { - var compacted = []; - - for (var j = 0; j < obj.length; ++j) { - if (typeof obj[j] !== 'undefined') { - compacted[compacted.length] = obj[j]; - } - } - - item.obj[item.prop] = compacted; - } - } -}; - -var arrayToObject = function arrayToObject(source, options) { - var obj = options && options.plainObjects ? { __proto__: null } : {}; - for (var i = 0; i < source.length; ++i) { - if (typeof source[i] !== 'undefined') { - obj[i] = source[i]; - } - } - - return obj; -}; - -var setProperty = function setProperty(obj, key, value) { - if (key === '__proto__' && defineProperty) { - defineProperty(obj, key, { - configurable: true, - enumerable: true, - value: value, - writable: true - }); - } else { - obj[key] = value; - } -}; - -var merge = function merge(target, source, options) { - /* eslint no-param-reassign: 0 */ - if (!source) { - return target; - } - - if (typeof source !== 'object' && typeof source !== 'function') { - if (isArray(target)) { - var nextIndex = target.length; - if (options && typeof options.arrayLimit === 'number' && nextIndex >= options.arrayLimit) { - if (options.throwOnLimitExceeded) { - throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.'); - } - return markOverflow(arrayToObject(target.concat(source), options), nextIndex); - } - target[nextIndex] = source; - } else if (target && typeof target === 'object') { - if (isOverflow(target)) { - // Add at next numeric index for overflow objects - var newIndex = getMaxIndex(target) + 1; - target[newIndex] = source; - setMaxIndex(target, newIndex); - } else if (options && options.strictMerge) { - return [target, source]; - } else if ( - (options && (options.plainObjects || options.allowPrototypes)) - || !has.call(Object.prototype, source) - ) { - target[source] = true; - } - } else { - return [target, source]; - } - - return target; - } - - if (!target || typeof target !== 'object') { - if (isOverflow(source)) { - // Create new object with target at 0, source values shifted by 1 - var sourceKeys = Object.keys(source); - var result = options && options.plainObjects - ? { __proto__: null, 0: target } - : { 0: target }; - for (var m = 0; m < sourceKeys.length; m++) { - var oldKey = parseInt(sourceKeys[m], 10); - result[oldKey + 1] = source[sourceKeys[m]]; - } - return markOverflow(result, getMaxIndex(source) + 1); - } - var combined = [target].concat(source); - if (options && typeof options.arrayLimit === 'number' && combined.length > options.arrayLimit) { - if (options.throwOnLimitExceeded) { - throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.'); - } - return markOverflow(arrayToObject(combined, options), combined.length - 1); - } - return combined; - } - - var mergeTarget = target; - if (isArray(target) && !isArray(source)) { - mergeTarget = arrayToObject(target, options); - } - - if (isArray(target) && isArray(source)) { - source.forEach(function (item, i) { - if (has.call(target, i)) { - var targetItem = target[i]; - if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') { - target[i] = merge(targetItem, item, options); - } else { - target[target.length] = item; - } - } else { - target[i] = item; - } - }); - if (options && typeof options.arrayLimit === 'number' && target.length > options.arrayLimit) { - if (options.throwOnLimitExceeded) { - throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.'); - } - return markOverflow(arrayToObject(target, options), target.length - 1); - } - return target; - } - - return Object.keys(source).reduce(function (acc, key) { - var value = source[key]; - - if (has.call(acc, key)) { - setProperty(acc, key, merge(acc[key], value, options)); - } else { - setProperty(acc, key, value); - } - - if (isOverflow(source) && !isOverflow(acc)) { - markOverflow(acc, getMaxIndex(source)); - } - if (isOverflow(acc)) { - var keyNum = parseInt(key, 10); - if (String(keyNum) === key && keyNum >= 0 && keyNum > getMaxIndex(acc)) { - setMaxIndex(acc, keyNum); - } - } - - return acc; - }, mergeTarget); -}; - -var assign = function assignSingleSource(target, source) { - return Object.keys(source).reduce(function (acc, key) { - setProperty(acc, key, source[key]); - return acc; - }, target); -}; - -var decode = function (str, defaultDecoder, charset) { - var strWithoutPlus = str.replace(/\+/g, ' '); - if (charset === 'iso-8859-1') { - // unescape never throws, no try...catch needed: - return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape); - } - // utf-8 - try { - return decodeURIComponent(strWithoutPlus); - } catch (e) { - return strWithoutPlus; - } -}; - -var limit = 1024; - -/* eslint operator-linebreak: [2, "before"] */ - -var encode = function encode(str, defaultEncoder, charset, kind, format) { - // 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) { - return str; - } - - var string = str; - if (typeof str === 'symbol') { - string = Symbol.prototype.toString.call(str); - } else if (typeof str !== 'string') { - string = String(str); - } - - if (charset === 'iso-8859-1') { - return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) { - return '%26%23' + parseInt($0.slice(2), 16) + '%3B'; - }); - } - - var out = ''; - for (var j = 0; j < string.length; j += limit) { - var segment = string.length >= limit ? string.slice(j, j + limit) : string; - if (j + limit < string.length) { - var last = segment.charCodeAt(segment.length - 1); - if (last >= 0xD800 && last <= 0xDBFF) { - segment = segment.slice(0, -1); - j -= 1; - } - } - var arr = []; - - for (var i = 0; i < segment.length; ++i) { - var c = segment.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 - || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( ) - ) { - arr[arr.length] = segment.charAt(i); - continue; - } - - if (c < 0x80) { - arr[arr.length] = hexTable[c]; - continue; - } - - if (c < 0x800) { - arr[arr.length] = hexTable[0xC0 | (c >> 6)] - + hexTable[0x80 | (c & 0x3F)]; - continue; - } - - if (c < 0xD800 || c >= 0xE000) { - arr[arr.length] = hexTable[0xE0 | (c >> 12)] - + hexTable[0x80 | ((c >> 6) & 0x3F)] - + hexTable[0x80 | (c & 0x3F)]; - continue; - } - - i += 1; - c = 0x10000 + (((c & 0x3FF) << 10) | (segment.charCodeAt(i) & 0x3FF)); - - arr[arr.length] = hexTable[0xF0 | (c >> 18)] - + hexTable[0x80 | ((c >> 12) & 0x3F)] - + hexTable[0x80 | ((c >> 6) & 0x3F)] - + hexTable[0x80 | (c & 0x3F)]; - } - - out += arr.join(''); - } - - return out; -}; - -var compact = function compact(value) { - var queue = [{ obj: { o: value }, prop: 'o' }]; - var refs = getSideChannel(); - - for (var i = 0; i < queue.length; ++i) { - var item = queue[i]; - var obj = item.obj[item.prop]; - - 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.has(val)) { - queue[queue.length] = { obj: obj, prop: key }; - refs.set(val, true); - } - } - } - - compactQueue(queue); - - return value; -}; - -var isRegExp = function isRegExp(obj) { - return Object.prototype.toString.call(obj) === '[object RegExp]'; -}; - -var isBuffer = function isBuffer(obj) { - if (!obj || typeof obj !== 'object') { - return false; - } - - return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj)); -}; - -var combine = function combine(a, b, arrayLimit, plainObjects, throwOnLimitExceeded) { - // If 'a' is already an overflow object, add to it - if (isOverflow(a)) { - if (throwOnLimitExceeded) { - throw new RangeError('Array limit exceeded. Only ' + arrayLimit + ' element' + (arrayLimit === 1 ? '' : 's') + ' allowed in an array.'); - } - var newIndex = getMaxIndex(a) + 1; - a[newIndex] = b; - setMaxIndex(a, newIndex); - return a; - } - - var result = [].concat(a, b); - if (result.length > arrayLimit) { - if (throwOnLimitExceeded) { - throw new RangeError('Array limit exceeded. Only ' + arrayLimit + ' element' + (arrayLimit === 1 ? '' : 's') + ' allowed in an array.'); - } - return markOverflow(arrayToObject(result, { plainObjects: plainObjects }), result.length - 1); - } - return result; -}; - -var maybeMap = function maybeMap(val, fn) { - if (isArray(val)) { - var mapped = []; - for (var i = 0; i < val.length; i += 1) { - mapped[mapped.length] = fn(val[i]); - } - return mapped; - } - return fn(val); -}; - -module.exports = { - arrayToObject: arrayToObject, - assign: assign, - combine: combine, - compact: compact, - decode: decode, - encode: encode, - isBuffer: isBuffer, - isOverflow: isOverflow, - isRegExp: isRegExp, - markOverflow: markOverflow, - maybeMap: maybeMap, - merge: merge -}; -- cgit v1.2.3