axios 0.28.0 → 0.29.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/dist/esm/axios.js CHANGED
@@ -1,4 +1,4 @@
1
- // axios v0.28.0 Copyright (c) 2024 Matt Zabriskie
1
+ // axios v0.29.0 Copyright (c) 2024 Matt Zabriskie
2
2
  var bind = function bind(fn, thisArg) {
3
3
  return function wrap() {
4
4
  return fn.apply(thisArg, arguments);
@@ -738,7 +738,7 @@ function toFormData(obj, formData, options) {
738
738
  key = removeBrackets(key);
739
739
 
740
740
  arr.forEach(function each(el, index) {
741
- !utils.isUndefined(el) && formData.append(
741
+ !(utils.isUndefined(el) || el === null) && formData.append(
742
742
  // eslint-disable-next-line no-nested-ternary
743
743
  indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),
744
744
  convertValue(el)
@@ -775,7 +775,7 @@ function toFormData(obj, formData, options) {
775
775
  stack.push(value);
776
776
 
777
777
  utils.forEach(value, function each(el, key) {
778
- var result = !utils.isUndefined(el) && visitor.call(
778
+ var result = !(utils.isUndefined(el) || el === null) && visitor.call(
779
779
  formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers
780
780
  );
781
781
 
@@ -869,12 +869,20 @@ var buildURL = function buildURL(url, params, options) {
869
869
 
870
870
  var _encode = options && options.encode || encode;
871
871
 
872
- var serializerParams = utils.isURLSearchParams(params) ?
873
- params.toString() :
874
- new AxiosURLSearchParams_1(params, options).toString(_encode);
872
+ var serializeFn = options && options.serialize;
875
873
 
876
- if (serializerParams) {
877
- url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams;
874
+ var serializedParams;
875
+
876
+ if (serializeFn) {
877
+ serializedParams = serializeFn(params, options);
878
+ } else {
879
+ serializedParams = utils.isURLSearchParams(params) ?
880
+ params.toString() :
881
+ new AxiosURLSearchParams_1(params, options).toString(_encode);
882
+ }
883
+
884
+ if (serializedParams) {
885
+ url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
878
886
  }
879
887
 
880
888
  return url;
@@ -1010,6 +1018,9 @@ function arrayToObject(arr) {
1010
1018
  function formDataToJSON(formData) {
1011
1019
  function buildPath(path, value, target, index) {
1012
1020
  var name = path[index++];
1021
+
1022
+ if (name === '__proto__') return true;
1023
+
1013
1024
  var isNumericKey = Number.isFinite(+name);
1014
1025
  var isLast = index >= path.length;
1015
1026
  name = !name && utils.isArray(target) ? target.length : name;
@@ -1146,7 +1157,7 @@ var isAbsoluteURL = function isAbsoluteURL(url) {
1146
1157
  */
1147
1158
  var combineURLs = function combineURLs(baseURL, relativeURL) {
1148
1159
  return relativeURL
1149
- ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
1160
+ ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '')
1150
1161
  : baseURL;
1151
1162
  };
1152
1163
 
@@ -1489,7 +1500,7 @@ var xhr = function xhrAdapter(config) {
1489
1500
  if (!request) {
1490
1501
  return;
1491
1502
  }
1492
- reject(!cancel || cancel.type ? new CanceledError_1(null, config, req) : cancel);
1503
+ reject(!cancel || cancel.type ? new CanceledError_1(null, config, request) : cancel);
1493
1504
  request.abort();
1494
1505
  request = null;
1495
1506
  };
@@ -1893,7 +1904,7 @@ var mergeConfig = function mergeConfig(config1, config2) {
1893
1904
  };
1894
1905
 
1895
1906
  var data = {
1896
- "version": "0.28.0"
1907
+ "version": "0.29.0"
1897
1908
  };
1898
1909
 
1899
1910
  var VERSION = data.version;
@@ -2034,7 +2045,18 @@ Axios.prototype.request = function request(configOrUrl, config) {
2034
2045
 
2035
2046
  var paramsSerializer = config.paramsSerializer;
2036
2047
 
2037
- utils.isFunction(paramsSerializer) && (config.paramsSerializer = {serialize: paramsSerializer});
2048
+ if (paramsSerializer != null) {
2049
+ if (utils.isFunction(paramsSerializer)) {
2050
+ config.paramsSerializer = {
2051
+ serialize: paramsSerializer
2052
+ };
2053
+ } else {
2054
+ validator.assertOptions(paramsSerializer, {
2055
+ encode: validators.function,
2056
+ serialize: validators.function
2057
+ }, true);
2058
+ }
2059
+ }
2038
2060
 
2039
2061
  // filter out skipped interceptors
2040
2062
  var requestInterceptorChain = [];