luch-request.js.map 43 KB

1234567
  1. {
  2. "version": 3,
  3. "sources": ["../../../../../node_modules/luch-request/src/lib/utils.js", "../../../../../node_modules/luch-request/src/lib/helpers/buildURL.js", "../../../../../node_modules/luch-request/src/lib/helpers/isAbsoluteURL.js", "../../../../../node_modules/luch-request/src/lib/helpers/combineURLs.js", "../../../../../node_modules/luch-request/src/lib/core/buildFullPath.js", "../../../../../node_modules/luch-request/src/lib/core/settle.js", "../../../../../node_modules/luch-request/src/lib/adapters/index.js", "../../../../../node_modules/luch-request/src/lib/core/dispatchRequest.js", "../../../../../node_modules/luch-request/src/lib/core/InterceptorManager.js", "../../../../../node_modules/luch-request/src/lib/core/mergeConfig.js", "../../../../../node_modules/luch-request/src/lib/core/defaults.js", "../../../../../node_modules/luch-request/src/lib/utils/clone.js", "../../../../../node_modules/luch-request/src/lib/core/Request.js", "../../../../../node_modules/luch-request/src/lib/luch-request.js"],
  4. "sourcesContent": ["'use strict'\r\n\r\n// utils is a library of generic helper functions non-specific to axios\r\n\r\nvar toString = Object.prototype.toString\r\n\r\n/**\r\n * Determine if a value is an Array\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is an Array, otherwise false\r\n */\r\nexport function isArray (val) {\r\n return toString.call(val) === '[object Array]'\r\n}\r\n\r\n\r\n/**\r\n * Determine if a value is an Object\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is an Object, otherwise false\r\n */\r\nexport function isObject (val) {\r\n return val !== null && typeof val === 'object'\r\n}\r\n\r\n/**\r\n * Determine if a value is a Date\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is a Date, otherwise false\r\n */\r\nexport function isDate (val) {\r\n return toString.call(val) === '[object Date]'\r\n}\r\n\r\n/**\r\n * Determine if a value is a URLSearchParams object\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\r\n */\r\nexport function isURLSearchParams (val) {\r\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams\r\n}\r\n\r\n\r\n/**\r\n * Iterate over an Array or an Object invoking a function for each item.\r\n *\r\n * If `obj` is an Array callback will be called passing\r\n * the value, index, and complete array for each item.\r\n *\r\n * If 'obj' is an Object callback will be called passing\r\n * the value, key, and complete object for each property.\r\n *\r\n * @param {Object|Array} obj The object to iterate\r\n * @param {Function} fn The callback to invoke for each item\r\n */\r\nexport function forEach (obj, fn) {\r\n // Don't bother if no value provided\r\n if (obj === null || typeof obj === 'undefined') {\r\n return\r\n }\r\n\r\n // Force an array if not already something iterable\r\n if (typeof obj !== 'object') {\r\n /*eslint no-param-reassign:0*/\r\n obj = [obj]\r\n }\r\n\r\n if (isArray(obj)) {\r\n // Iterate over array values\r\n for (var i = 0, l = obj.length; i < l; i++) {\r\n fn.call(null, obj[i], i, obj)\r\n }\r\n } else {\r\n // Iterate over object keys\r\n for (var key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n fn.call(null, obj[key], key, obj)\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 是否为boolean 值\r\n * @param val\r\n * @returns {boolean}\r\n */\r\nexport function isBoolean(val) {\r\n return typeof val === 'boolean'\r\n}\r\n\r\n/**\r\n * 是否为真正的对象{} new Object\r\n * @param {any} obj - 检测的对象\r\n * @returns {boolean}\r\n */\r\nexport function isPlainObject(obj) {\r\n return Object.prototype.toString.call(obj) === '[object Object]'\r\n}\r\n\r\n\r\n\r\n/**\r\n * Function equal to merge with the difference being that no reference\r\n * to original objects is kept.\r\n *\r\n * @see merge\r\n * @param {Object} obj1 Object to merge\r\n * @returns {Object} Result of all merge properties\r\n */\r\nexport function deepMerge(/* obj1, obj2, obj3, ... */) {\r\n let result = {}\r\n function assignValue(val, key) {\r\n if (typeof result[key] === 'object' && typeof val === 'object') {\r\n result[key] = deepMerge(result[key], val)\r\n } else if (typeof val === 'object') {\r\n result[key] = deepMerge({}, val)\r\n } else {\r\n result[key] = val\r\n }\r\n }\r\n for (let i = 0, l = arguments.length; i < l; i++) {\r\n forEach(arguments[i], assignValue)\r\n }\r\n return result\r\n}\r\n\r\nexport function isUndefined (val) {\r\n return typeof val === 'undefined'\r\n}\r\n", "'use strict'\r\n\r\nimport * as utils from './../utils'\r\n\r\nfunction encode(val) {\r\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']')\r\n}\r\n\r\n/**\r\n * Build a URL by appending params to the end\r\n *\r\n * @param {string} url The base of the url (e.g., http://www.google.com)\r\n * @param {object} [params] The params to be appended\r\n * @returns {string} The formatted url\r\n */\r\nexport default function buildURL(url, params, paramsSerializer) {\r\n /*eslint no-param-reassign:0*/\r\n if (!params) {\r\n return url\r\n }\r\n\r\n var serializedParams\r\n if (paramsSerializer) {\r\n serializedParams = paramsSerializer(params)\r\n } else if (utils.isURLSearchParams(params)) {\r\n serializedParams = params.toString()\r\n } else {\r\n var parts = []\r\n\r\n utils.forEach(params, function serialize(val, key) {\r\n if (val === null || typeof val === 'undefined') {\r\n return\r\n }\r\n\r\n if (utils.isArray(val)) {\r\n key = key + '[]'\r\n } else {\r\n val = [val]\r\n }\r\n\r\n utils.forEach(val, function parseValue(v) {\r\n if (utils.isDate(v)) {\r\n v = v.toISOString()\r\n } else if (utils.isObject(v)) {\r\n v = JSON.stringify(v)\r\n }\r\n parts.push(encode(key) + '=' + encode(v))\r\n })\r\n })\r\n\r\n serializedParams = parts.join('&')\r\n }\r\n\r\n if (serializedParams) {\r\n var hashmarkIndex = url.indexOf('#')\r\n if (hashmarkIndex !== -1) {\r\n url = url.slice(0, hashmarkIndex)\r\n }\r\n\r\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams\r\n }\r\n\r\n return url\r\n}\r\n", "'use strict'\r\n\r\n/**\r\n * Determines whether the specified URL is absolute\r\n *\r\n * @param {string} url The URL to test\r\n * @returns {boolean} True if the specified URL is absolute, otherwise false\r\n */\r\nexport default function isAbsoluteURL(url) {\r\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\r\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\r\n // by any combination of letters, digits, plus, period, or hyphen.\r\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url)\r\n}\r\n", "'use strict'\r\n\r\n/**\r\n * Creates a new URL by combining the specified URLs\r\n *\r\n * @param {string} baseURL The base URL\r\n * @param {string} relativeURL The relative URL\r\n * @returns {string} The combined URL\r\n */\r\nexport default function combineURLs(baseURL, relativeURL) {\r\n return relativeURL\r\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\r\n : baseURL\r\n}\r\n", "'use strict'\r\n\r\nimport isAbsoluteURL from '../helpers/isAbsoluteURL'\r\nimport combineURLs from '../helpers/combineURLs'\r\n\r\n/**\r\n * Creates a new URL by combining the baseURL with the requestedURL,\r\n * only when the requestedURL is not already an absolute URL.\r\n * If the requestURL is absolute, this function returns the requestedURL untouched.\r\n *\r\n * @param {string} baseURL The base URL\r\n * @param {string} requestedURL Absolute or relative URL to combine\r\n * @returns {string} The combined full path\r\n */\r\nexport default function buildFullPath(baseURL, requestedURL) {\r\n if (baseURL && !isAbsoluteURL(requestedURL)) {\r\n return combineURLs(baseURL, requestedURL)\r\n }\r\n return requestedURL\r\n}\r\n", "/**\r\n * Resolve or reject a Promise based on response status.\r\n *\r\n * @param {Function} resolve A function that resolves the promise.\r\n * @param {Function} reject A function that rejects the promise.\r\n * @param {object} response The response.\r\n */\r\nexport default function settle(resolve, reject, response) {\r\n const validateStatus = response.config.validateStatus\r\n const status = response.statusCode\r\n if (status && (!validateStatus || validateStatus(status))) {\r\n resolve(response)\r\n } else {\r\n reject(response)\r\n }\r\n}\r\n", "import buildURL from '../helpers/buildURL'\r\nimport buildFullPath from '../core/buildFullPath'\r\nimport settle from '../core/settle'\r\nimport {isUndefined} from \"../utils\"\r\n\r\n/**\r\n * 返回可选值存在的配置\r\n * @param {Array} keys - 可选值数组\r\n * @param {Object} config2 - 配置\r\n * @return {{}} - 存在的配置项\r\n */\r\nconst mergeKeys = (keys, config2) => {\r\n let config = {}\r\n keys.forEach(prop => {\r\n if (!isUndefined(config2[prop])) {\r\n config[prop] = config2[prop]\r\n }\r\n })\r\n return config\r\n}\r\nexport default (config) => {\r\n return new Promise((resolve, reject) => {\r\n let fullPath = buildURL(buildFullPath(config.baseURL, config.url), config.params, config.paramsSerializer)\r\n const _config = {\r\n url: fullPath,\r\n header: config.header,\r\n complete: (response) => {\r\n config.fullPath = fullPath\r\n response.config = config\r\n response.rawData = response.data\r\n try {\r\n let jsonParseHandle = false\r\n const forcedJSONParsingType = typeof config.forcedJSONParsing\r\n if (forcedJSONParsingType === 'boolean') {\r\n jsonParseHandle = config.forcedJSONParsing\r\n } else if (forcedJSONParsingType === 'object') {\r\n const includesMethod = config.forcedJSONParsing.include || []\r\n jsonParseHandle = includesMethod.includes(config.method)\r\n }\r\n\r\n // 对可能字符串不是json 的情况容错\r\n if (jsonParseHandle && typeof response.data === 'string') {\r\n response.data = JSON.parse(response.data)\r\n }\r\n // eslint-disable-next-line no-empty\r\n } catch (e) {\r\n }\r\n settle(resolve, reject, response)\r\n }\r\n }\r\n let requestTask\r\n if (config.method === 'UPLOAD') {\r\n delete _config.header['content-type']\r\n delete _config.header['Content-Type']\r\n let otherConfig = {\r\n\r\n\r\n\r\n filePath: config.filePath,\r\n name: config.name\r\n }\r\n const optionalKeys = [\r\n\r\n 'files',\r\n\r\n\r\n 'file',\r\n\r\n\r\n 'timeout',\r\n\r\n 'formData'\r\n ]\r\n requestTask = uni.uploadFile({..._config, ...otherConfig, ...mergeKeys(optionalKeys, config)})\r\n } else if (config.method === 'DOWNLOAD') {\r\n const optionalKeys = [\r\n\r\n 'timeout',\r\n\r\n\r\n\r\n\r\n ]\r\n requestTask = uni.downloadFile({..._config, ...mergeKeys(optionalKeys, config)})\r\n } else {\r\n const optionalKeys = [\r\n 'data',\r\n 'method',\r\n\r\n 'timeout',\r\n\r\n 'dataType',\r\n\r\n 'responseType',\r\n\r\n\r\n\r\n\r\n\r\n 'withCredentials',\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n ]\r\n requestTask = uni.request({..._config, ...mergeKeys(optionalKeys, config)})\r\n }\r\n if (config.getTask) {\r\n config.getTask(requestTask, config)\r\n }\r\n })\r\n}\r\n", "import adapter from '../adapters/index'\r\n\r\n\r\nexport default (config) => {\r\n return adapter(config)\r\n}\r\n", "'use strict'\r\n\r\n\r\nfunction InterceptorManager() {\r\n this.handlers = []\r\n}\r\n\r\n/**\r\n * Add a new interceptor to the stack\r\n *\r\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\r\n * @param {Function} rejected The function to handle `reject` for a `Promise`\r\n *\r\n * @return {Number} An ID used to remove interceptor later\r\n */\r\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\r\n this.handlers.push({\r\n fulfilled: fulfilled,\r\n rejected: rejected\r\n })\r\n return this.handlers.length - 1\r\n}\r\n\r\n/**\r\n * Remove an interceptor from the stack\r\n *\r\n * @param {Number} id The ID that was returned by `use`\r\n */\r\nInterceptorManager.prototype.eject = function eject(id) {\r\n if (this.handlers[id]) {\r\n this.handlers[id] = null\r\n }\r\n}\r\n\r\n/**\r\n * Iterate over all the registered interceptors\r\n *\r\n * This method is particularly useful for skipping over any\r\n * interceptors that may have become `null` calling `eject`.\r\n *\r\n * @param {Function} fn The function to call for each interceptor\r\n */\r\nInterceptorManager.prototype.forEach = function forEach(fn) {\r\n this.handlers.forEach(h => {\r\n if (h !== null) {\r\n fn(h)\r\n }\r\n })\r\n}\r\n\r\nexport default InterceptorManager\r\n", "import {deepMerge, isUndefined} from '../utils'\r\n\r\n/**\r\n * 合并局部配置优先的配置,如果局部有该配置项则用局部,如果全局有该配置项则用全局\r\n * @param {Array} keys - 配置项\r\n * @param {Object} globalsConfig - 当前的全局配置\r\n * @param {Object} config2 - 局部配置\r\n * @return {{}}\r\n */\r\nconst mergeKeys = (keys, globalsConfig, config2) => {\r\n let config = {}\r\n keys.forEach(prop => {\r\n if (!isUndefined(config2[prop])) {\r\n config[prop] = config2[prop]\r\n } else if (!isUndefined(globalsConfig[prop])) {\r\n config[prop] = globalsConfig[prop]\r\n }\r\n })\r\n return config\r\n}\r\n/**\r\n *\r\n * @param globalsConfig - 当前实例的全局配置\r\n * @param config2 - 当前的局部配置\r\n * @return - 合并后的配置\r\n */\r\nexport default (globalsConfig, config2 = {}) => {\r\n const method = config2.method || globalsConfig.method || 'GET'\r\n let config = {\r\n baseURL: config2.baseURL || globalsConfig.baseURL || '',\r\n method: method,\r\n url: config2.url || '',\r\n params: config2.params || {},\r\n custom: {...(globalsConfig.custom || {}), ...(config2.custom || {})},\r\n header: deepMerge(globalsConfig.header || {}, config2.header || {})\r\n }\r\n const defaultToConfig2Keys = ['getTask', 'validateStatus', 'paramsSerializer', 'forcedJSONParsing']\r\n config = {...config, ...mergeKeys(defaultToConfig2Keys, globalsConfig, config2)}\r\n\r\n // eslint-disable-next-line no-empty\r\n if (method === 'DOWNLOAD') {\r\n const downloadKeys = [\r\n\r\n 'timeout',\r\n\r\n\r\n\r\n\r\n ]\r\n config = {...config, ...mergeKeys(downloadKeys, globalsConfig, config2)}\r\n } else if (method === 'UPLOAD') {\r\n delete config.header['content-type']\r\n delete config.header['Content-Type']\r\n const uploadKeys = [\r\n\r\n 'files',\r\n\r\n\r\n\r\n\r\n\r\n 'file',\r\n\r\n 'filePath',\r\n 'name',\r\n\r\n 'timeout',\r\n\r\n 'formData',\r\n ]\r\n uploadKeys.forEach(prop => {\r\n if (!isUndefined(config2[prop])) {\r\n config[prop] = config2[prop]\r\n }\r\n })\r\n\r\n if (isUndefined(config.timeout) && !isUndefined(globalsConfig.timeout)) {\r\n config['timeout'] = globalsConfig['timeout']\r\n }\r\n\r\n } else {\r\n const defaultsKeys = [\r\n 'data',\r\n\r\n 'timeout',\r\n\r\n 'dataType',\r\n\r\n 'responseType',\r\n\r\n\r\n\r\n\r\n\r\n 'withCredentials',\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n ]\r\n config = {...config, ...mergeKeys(defaultsKeys, globalsConfig, config2)}\r\n }\r\n\r\n return config\r\n}\r\n", "/**\r\n * 默认的全局配置\r\n */\r\n\r\n\r\nexport default {\r\n baseURL: '',\r\n header: {},\r\n method: 'GET',\r\n dataType: 'json',\r\n paramsSerializer: null,\r\n\r\n responseType: 'text',\r\n\r\n custom: {},\r\n\r\n timeout: 60000,\r\n\r\n\r\n\r\n\r\n\r\n withCredentials: false,\r\n\r\n\r\n\r\n\r\n validateStatus: function validateStatus(status) {\r\n return status >= 200 && status < 300\r\n },\r\n // 是否尝试将响应数据json化\r\n forcedJSONParsing: true\r\n}\r\n", "/* eslint-disable */\r\nvar clone = (function() {\r\n 'use strict';\r\n\r\n function _instanceof(obj, type) {\r\n return type != null && obj instanceof type;\r\n }\r\n\r\n var nativeMap;\r\n try {\r\n nativeMap = Map;\r\n } catch(_) {\r\n // maybe a reference error because no `Map`. Give it a dummy value that no\r\n // value will ever be an instanceof.\r\n nativeMap = function() {};\r\n }\r\n\r\n var nativeSet;\r\n try {\r\n nativeSet = Set;\r\n } catch(_) {\r\n nativeSet = function() {};\r\n }\r\n\r\n var nativePromise;\r\n try {\r\n nativePromise = Promise;\r\n } catch(_) {\r\n nativePromise = function() {};\r\n }\r\n\r\n /**\r\n * Clones (copies) an Object using deep copying.\r\n *\r\n * This function supports circular references by default, but if you are certain\r\n * there are no circular references in your object, you can save some CPU time\r\n * by calling clone(obj, false).\r\n *\r\n * Caution: if `circular` is false and `parent` contains circular references,\r\n * your program may enter an infinite loop and crash.\r\n *\r\n * @param `parent` - the object to be cloned\r\n * @param `circular` - set to true if the object to be cloned may contain\r\n * circular references. (optional - true by default)\r\n * @param `depth` - set to a number if the object is only to be cloned to\r\n * a particular depth. (optional - defaults to Infinity)\r\n * @param `prototype` - sets the prototype to be used when cloning an object.\r\n * (optional - defaults to parent prototype).\r\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\r\n * should be cloned as well. Non-enumerable properties on the prototype\r\n * chain will be ignored. (optional - false by default)\r\n */\r\n function clone(parent, circular, depth, prototype, includeNonEnumerable) {\r\n if (typeof circular === 'object') {\r\n depth = circular.depth;\r\n prototype = circular.prototype;\r\n includeNonEnumerable = circular.includeNonEnumerable;\r\n circular = circular.circular;\r\n }\r\n // maintain two arrays for circular references, where corresponding parents\r\n // and children have the same index\r\n var allParents = [];\r\n var allChildren = [];\r\n\r\n var useBuffer = typeof Buffer != 'undefined';\r\n\r\n if (typeof circular == 'undefined')\r\n circular = true;\r\n\r\n if (typeof depth == 'undefined')\r\n depth = Infinity;\r\n\r\n // recurse this function so we don't reset allParents and allChildren\r\n function _clone(parent, depth) {\r\n // cloning null always returns null\r\n if (parent === null)\r\n return null;\r\n\r\n if (depth === 0)\r\n return parent;\r\n\r\n var child;\r\n var proto;\r\n if (typeof parent != 'object') {\r\n return parent;\r\n }\r\n\r\n if (_instanceof(parent, nativeMap)) {\r\n child = new nativeMap();\r\n } else if (_instanceof(parent, nativeSet)) {\r\n child = new nativeSet();\r\n } else if (_instanceof(parent, nativePromise)) {\r\n child = new nativePromise(function (resolve, reject) {\r\n parent.then(function(value) {\r\n resolve(_clone(value, depth - 1));\r\n }, function(err) {\r\n reject(_clone(err, depth - 1));\r\n });\r\n });\r\n } else if (clone.__isArray(parent)) {\r\n child = [];\r\n } else if (clone.__isRegExp(parent)) {\r\n child = new RegExp(parent.source, __getRegExpFlags(parent));\r\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\r\n } else if (clone.__isDate(parent)) {\r\n child = new Date(parent.getTime());\r\n } else if (useBuffer && Buffer.isBuffer(parent)) {\r\n if (Buffer.from) {\r\n // Node.js >= 5.10.0\r\n child = Buffer.from(parent);\r\n } else {\r\n // Older Node.js versions\r\n child = new Buffer(parent.length);\r\n parent.copy(child);\r\n }\r\n return child;\r\n } else if (_instanceof(parent, Error)) {\r\n child = Object.create(parent);\r\n } else {\r\n if (typeof prototype == 'undefined') {\r\n proto = Object.getPrototypeOf(parent);\r\n child = Object.create(proto);\r\n }\r\n else {\r\n child = Object.create(prototype);\r\n proto = prototype;\r\n }\r\n }\r\n\r\n if (circular) {\r\n var index = allParents.indexOf(parent);\r\n\r\n if (index != -1) {\r\n return allChildren[index];\r\n }\r\n allParents.push(parent);\r\n allChildren.push(child);\r\n }\r\n\r\n if (_instanceof(parent, nativeMap)) {\r\n parent.forEach(function(value, key) {\r\n var keyChild = _clone(key, depth - 1);\r\n var valueChild = _clone(value, depth - 1);\r\n child.set(keyChild, valueChild);\r\n });\r\n }\r\n if (_instanceof(parent, nativeSet)) {\r\n parent.forEach(function(value) {\r\n var entryChild = _clone(value, depth - 1);\r\n child.add(entryChild);\r\n });\r\n }\r\n\r\n for (var i in parent) {\r\n var attrs = Object.getOwnPropertyDescriptor(parent, i);\r\n if (attrs) {\r\n child[i] = _clone(parent[i], depth - 1);\r\n }\r\n\r\n try {\r\n var objProperty = Object.getOwnPropertyDescriptor(parent, i);\r\n if (objProperty.set === 'undefined') {\r\n // no setter defined. Skip cloning this property\r\n continue;\r\n }\r\n child[i] = _clone(parent[i], depth - 1);\r\n } catch(e){\r\n if (e instanceof TypeError) {\r\n // when in strict mode, TypeError will be thrown if child[i] property only has a getter\r\n // we can't do anything about this, other than inform the user that this property cannot be set.\r\n continue\r\n } else if (e instanceof ReferenceError) {\r\n //this may happen in non strict mode\r\n continue\r\n }\r\n }\r\n\r\n }\r\n\r\n if (Object.getOwnPropertySymbols) {\r\n var symbols = Object.getOwnPropertySymbols(parent);\r\n for (var i = 0; i < symbols.length; i++) {\r\n // Don't need to worry about cloning a symbol because it is a primitive,\r\n // like a number or string.\r\n var symbol = symbols[i];\r\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\r\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\r\n continue;\r\n }\r\n child[symbol] = _clone(parent[symbol], depth - 1);\r\n Object.defineProperty(child, symbol, descriptor);\r\n }\r\n }\r\n\r\n if (includeNonEnumerable) {\r\n var allPropertyNames = Object.getOwnPropertyNames(parent);\r\n for (var i = 0; i < allPropertyNames.length; i++) {\r\n var propertyName = allPropertyNames[i];\r\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\r\n if (descriptor && descriptor.enumerable) {\r\n continue;\r\n }\r\n child[propertyName] = _clone(parent[propertyName], depth - 1);\r\n Object.defineProperty(child, propertyName, descriptor);\r\n }\r\n }\r\n\r\n return child;\r\n }\r\n\r\n return _clone(parent, depth);\r\n }\r\n\r\n /**\r\n * Simple flat clone using prototype, accepts only objects, usefull for property\r\n * override on FLAT configuration object (no nested props).\r\n *\r\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\r\n * works.\r\n */\r\n clone.clonePrototype = function clonePrototype(parent) {\r\n if (parent === null)\r\n return null;\r\n\r\n var c = function () {};\r\n c.prototype = parent;\r\n return new c();\r\n };\r\n\r\n// private utility functions\r\n\r\n function __objToStr(o) {\r\n return Object.prototype.toString.call(o);\r\n }\r\n clone.__objToStr = __objToStr;\r\n\r\n function __isDate(o) {\r\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\r\n }\r\n clone.__isDate = __isDate;\r\n\r\n function __isArray(o) {\r\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\r\n }\r\n clone.__isArray = __isArray;\r\n\r\n function __isRegExp(o) {\r\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\r\n }\r\n clone.__isRegExp = __isRegExp;\r\n\r\n function __getRegExpFlags(re) {\r\n var flags = '';\r\n if (re.global) flags += 'g';\r\n if (re.ignoreCase) flags += 'i';\r\n if (re.multiline) flags += 'm';\r\n return flags;\r\n }\r\n clone.__getRegExpFlags = __getRegExpFlags;\r\n\r\n return clone;\r\n})();\r\n\r\nexport default clone\r\n", "/**\r\n * @Class Request\r\n * @description luch-request http请求插件\r\n * @Author lu-ch\r\n * @Email webwork.s@qq.com\r\n * 文档: https://www.quanzhan.co/luch-request/\r\n * github: https://github.com/lei-mu/luch-request\r\n * DCloud: http://ext.dcloud.net.cn/plugin?id=392\r\n */\r\n\r\n\r\nimport dispatchRequest from './dispatchRequest'\r\nimport InterceptorManager from './InterceptorManager'\r\nimport mergeConfig from './mergeConfig'\r\nimport defaults from './defaults'\r\nimport { isPlainObject } from '../utils'\r\nimport clone from '../utils/clone'\r\n\r\nexport default class Request {\r\n /**\r\n * @param {Object} arg - 全局配置\r\n * @param {String} arg.baseURL - 全局根路径\r\n * @param {Object} arg.header - 全局header\r\n * @param {String} arg.method = [GET|POST|PUT|DELETE|CONNECT|HEAD|OPTIONS|TRACE] - 全局默认请求方式\r\n * @param {String} arg.dataType = [json] - 全局默认的dataType\r\n * @param {String} arg.responseType = [text|arraybuffer] - 全局默认的responseType。支付宝小程序不支持\r\n * @param {Object} arg.custom - 全局默认的自定义参数\r\n * @param {Number} arg.timeout - 全局默认的超时时间,单位 ms。默认60000。H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)、微信小程序(2.10.0)、支付宝小程序\r\n * @param {Boolean} arg.sslVerify - 全局默认的是否验证 ssl 证书。默认true.仅App安卓端支持(HBuilderX 2.3.3+)\r\n * @param {Boolean} arg.withCredentials - 全局默认的跨域请求时是否携带凭证(cookies)。默认false。仅H5支持(HBuilderX 2.6.15+)\r\n * @param {Boolean} arg.firstIpv4 - 全DNS解析时优先使用ipv4。默认false。仅 App-Android 支持 (HBuilderX 2.8.0+)\r\n * @param {Function(statusCode):Boolean} arg.validateStatus - 全局默认的自定义验证器。默认statusCode >= 200 && statusCode < 300\r\n */\r\n constructor(arg = {}) {\r\n if (!isPlainObject(arg)) {\r\n arg = {}\r\n console.warn('设置全局参数必须接收一个Object')\r\n }\r\n this.config = clone({...defaults, ...arg})\r\n this.interceptors = {\r\n request: new InterceptorManager(),\r\n response: new InterceptorManager()\r\n }\r\n }\r\n\r\n /**\r\n * @Function\r\n * @param {Request~setConfigCallback} f - 设置全局默认配置\r\n */\r\n setConfig(f) {\r\n this.config = f(this.config)\r\n }\r\n\r\n middleware(config) {\r\n config = mergeConfig(this.config, config)\r\n let chain = [dispatchRequest, undefined]\r\n let promise = Promise.resolve(config)\r\n\r\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\r\n chain.unshift(interceptor.fulfilled, interceptor.rejected)\r\n })\r\n\r\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\r\n chain.push(interceptor.fulfilled, interceptor.rejected)\r\n })\r\n\r\n while (chain.length) {\r\n promise = promise.then(chain.shift(), chain.shift())\r\n }\r\n\r\n return promise\r\n }\r\n\r\n /**\r\n * @Function\r\n * @param {Object} config - 请求配置项\r\n * @prop {String} options.url - 请求路径\r\n * @prop {Object} options.data - 请求参数\r\n * @prop {Object} [options.responseType = config.responseType] [text|arraybuffer] - 响应的数据类型\r\n * @prop {Object} [options.dataType = config.dataType] - 如果设为 json,会尝试对返回的数据做一次 JSON.parse\r\n * @prop {Object} [options.header = config.header] - 请求header\r\n * @prop {Object} [options.method = config.method] - 请求方法\r\n * @returns {Promise<unknown>}\r\n */\r\n request(config = {}) {\r\n return this.middleware(config)\r\n }\r\n\r\n get(url, options = {}) {\r\n return this.middleware({\r\n url,\r\n method: 'GET',\r\n ...options\r\n })\r\n }\r\n\r\n post(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'POST',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n put(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'PUT',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n delete(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'DELETE',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n connect(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'CONNECT',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n head(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'HEAD',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n options(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'OPTIONS',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n trace(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'TRACE',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n upload(url, config = {}) {\r\n config.url = url\r\n config.method = 'UPLOAD'\r\n return this.middleware(config)\r\n }\r\n\r\n download(url, config = {}) {\r\n config.url = url\r\n config.method = 'DOWNLOAD'\r\n return this.middleware(config)\r\n }\r\n\r\n get version () {\r\n return '3.1.0'\r\n }\r\n}\r\n\r\n\r\n/**\r\n * setConfig回调\r\n * @return {Object} - 返回操作后的config\r\n * @callback Request~setConfigCallback\r\n * @param {Object} config - 全局默认config\r\n */\r\n", "import Request from './core/Request'\r\nexport default Request\r\n"],
  5. "mappings": "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",
  6. "names": ["validateStatus", "forEach", "mergeKeys", "clone", "parent", "depth"]
  7. }