PHP 8.2.30
Preview: mergeConfig.js Size: 3.49 KB
/home/byroehnu/easepay.easetack.com/node_modules/axios/lib/core/mergeConfig.js

"use strict";

import utils from "../utils.js";
import AxiosHeaders from "./AxiosHeaders.js";

const headersToObject = (thing) =>
  thing instanceof AxiosHeaders ? { ...thing } : thing;

/**
 * Config-specific merge-function which creates a new config-object
 * by merging two configuration objects together.
 *
 * @param {Object} config1
 * @param {Object} config2
 *
 * @returns {Object} New object resulting from merging config2 to config1
 */
export default function mergeConfig(config1, config2) {
  // eslint-disable-next-line no-param-reassign
  config2 = config2 || {};
  const config = {};

  function getMergedValue(target, source, prop, caseless) {
    if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
      return utils.merge.call({ caseless }, target, source);
    } else if (utils.isPlainObject(source)) {
      return utils.merge({}, source);
    } else if (utils.isArray(source)) {
      return source.slice();
    }
    return source;
  }

  function mergeDeepProperties(a, b, prop, caseless) {
    if (!utils.isUndefined(b)) {
      return getMergedValue(a, b, prop, caseless);
    } else if (!utils.isUndefined(a)) {
      return getMergedValue(undefined, a, prop, caseless);
    }
  }

  // eslint-disable-next-line consistent-return
  function valueFromConfig2(a, b) {
    if (!utils.isUndefined(b)) {
      return getMergedValue(undefined, b);
    }
  }

  // eslint-disable-next-line consistent-return
  function defaultToConfig2(a, b) {
    if (!utils.isUndefined(b)) {
      return getMergedValue(undefined, b);
    } else if (!utils.isUndefined(a)) {
      return getMergedValue(undefined, a);
    }
  }

  // eslint-disable-next-line consistent-return
  function mergeDirectKeys(a, b, prop) {
    if (prop in config2) {
      return getMergedValue(a, b);
    } else if (prop in config1) {
      return getMergedValue(undefined, a);
    }
  }

  const mergeMap = {
    url: valueFromConfig2,
    method: valueFromConfig2,
    data: valueFromConfig2,
    baseURL: defaultToConfig2,
    transformRequest: defaultToConfig2,
    transformResponse: defaultToConfig2,
    paramsSerializer: defaultToConfig2,
    timeout: defaultToConfig2,
    timeoutMessage: defaultToConfig2,
    withCredentials: defaultToConfig2,
    withXSRFToken: defaultToConfig2,
    adapter: defaultToConfig2,
    responseType: defaultToConfig2,
    xsrfCookieName: defaultToConfig2,
    xsrfHeaderName: defaultToConfig2,
    onUploadProgress: defaultToConfig2,
    onDownloadProgress: defaultToConfig2,
    decompress: defaultToConfig2,
    maxContentLength: defaultToConfig2,
    maxBodyLength: defaultToConfig2,
    beforeRedirect: defaultToConfig2,
    transport: defaultToConfig2,
    httpAgent: defaultToConfig2,
    httpsAgent: defaultToConfig2,
    cancelToken: defaultToConfig2,
    socketPath: defaultToConfig2,
    responseEncoding: defaultToConfig2,
    validateStatus: mergeDirectKeys,
    headers: (a, b, prop) =>
      mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),
  };

  utils.forEach(
    Object.keys({ ...config1, ...config2 }),
    function computeConfigValue(prop) {
      if (
        prop === "__proto__" ||
        prop === "constructor" ||
        prop === "prototype"
      )
        return;
      const merge = utils.hasOwnProp(mergeMap, prop)
        ? mergeMap[prop]
        : mergeDeepProperties;
      const configValue = merge(config1[prop], config2[prop], prop);
      (utils.isUndefined(configValue) && merge !== mergeDirectKeys) ||
        (config[prop] = configValue);
    },
  );

  return config;
}

Directory Contents

Dirs: 0 × Files: 11

Name Size Perms Modified Actions
127 B lr--r--r-- 2026-03-14 01:49:09
Edit Download
7.15 KB lrw-r--r-- 2026-02-20 03:53:00
Edit Download
2.45 KB lrw-r--r-- 2026-02-20 03:53:04
Edit Download
7.22 KB lrw-r--r-- 2026-02-20 03:53:04
Edit Download
783 B lrw-r--r-- 2026-02-20 03:53:06
Edit Download
2.14 KB lrw-r--r-- 2026-02-20 03:53:06
Edit Download
1.56 KB lrw-r--r-- 2026-02-20 03:53:06
Edit Download
3.49 KB lrw-r--r-- 2026-02-20 03:53:08
Edit Download
399 B lrw-r--r-- 2026-02-20 03:53:18
Edit Download
836 B lrw-r--r-- 2026-02-20 03:53:08
Edit Download
776 B lrw-r--r-- 2026-02-20 03:53:10
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).