Socket
Socket
Sign inDemoInstall

axios-mock-adapter

Package Overview
Dependencies
Maintainers
1
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

axios-mock-adapter - npm Package Compare versions

Comparing version 1.18.2 to 1.19.0

4

dist/axios-mock-adapter.js

@@ -130,3 +130,3 @@ (function webpackUniversalModuleDefinition(root, factory) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n\nfunction transformRequest(data) {\n if (\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data)\n ) {\n return data;\n }\n\n // Object and Array: returns a deep copy\n if (utils.isObjectOrArray(data)) {\n return JSON.parse(JSON.stringify(data));\n }\n\n // for primitives like string, undefined, null, number\n return data;\n}\n\nfunction makeResponse(result, config) {\n return {\n status: result[0],\n data: transformRequest(result[1]),\n headers: result[2],\n config: config,\n request: {\n responseUrl: config.url,\n },\n };\n}\n\nfunction handleRequest(mockAdapter, resolve, reject, config) {\n var url = config.url;\n // TODO we're not hitting this `if` in any of the tests, investigate\n if (\n config.baseURL &&\n config.url.substr(0, config.baseURL.length) === config.baseURL\n ) {\n url = config.url.slice(config.baseURL.length);\n }\n\n delete config.adapter;\n mockAdapter.history[config.method].push(config);\n\n var handler = utils.findHandler(\n mockAdapter.handlers,\n config.method,\n url,\n config.data,\n config.params,\n config.headers,\n config.baseURL\n );\n\n if (handler) {\n if (handler.length === 7) {\n utils.purgeIfReplyOnce(mockAdapter, handler);\n }\n\n if (handler.length === 2) {\n // passThrough handler\n mockAdapter.originalAdapter(config).then(resolve, reject);\n } else if (typeof handler[3] !== \"function\") {\n utils.settle(\n resolve,\n reject,\n makeResponse(handler.slice(3), config),\n mockAdapter.delayResponse\n );\n } else {\n var result = handler[3](config);\n // TODO throw a sane exception when return value is incorrect\n if (typeof result.then !== \"function\") {\n utils.settle(\n resolve,\n reject,\n makeResponse(result, config),\n mockAdapter.delayResponse\n );\n } else {\n result.then(\n function (result) {\n if (result.config && result.status) {\n utils.settle(\n resolve,\n reject,\n makeResponse(\n [result.status, result.data, result.headers],\n result.config\n ),\n 0\n );\n } else {\n utils.settle(\n resolve,\n reject,\n makeResponse(result, config),\n mockAdapter.delayResponse\n );\n }\n },\n function (error) {\n if (mockAdapter.delayResponse > 0) {\n setTimeout(function () {\n reject(error);\n }, mockAdapter.delayResponse);\n } else {\n reject(error);\n }\n }\n );\n }\n }\n } else {\n // handler not found\n switch (mockAdapter.onNoMatch) {\n case \"passthrough\":\n mockAdapter.originalAdapter(config).then(resolve, reject);\n break;\n default:\n utils.settle(\n resolve,\n reject,\n {\n status: 404,\n config: config,\n },\n mockAdapter.delayResponse\n );\n }\n }\n}\n\nmodule.exports = handleRequest;\n\n\n//# sourceURL=webpack://AxiosMockAdapter/./src/handle_request.js?");
eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n\nfunction transformRequest(data) {\n if (\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data)\n ) {\n return data;\n }\n\n // Object and Array: returns a deep copy\n if (utils.isObjectOrArray(data)) {\n return JSON.parse(JSON.stringify(data));\n }\n\n // for primitives like string, undefined, null, number\n return data;\n}\n\nfunction makeResponse(result, config) {\n return {\n status: result[0],\n data: transformRequest(result[1]),\n headers: result[2],\n config: config,\n request: {\n responseURL: config.url,\n },\n };\n}\n\nfunction handleRequest(mockAdapter, resolve, reject, config) {\n var url = config.url || \"\";\n // TODO we're not hitting this `if` in any of the tests, investigate\n if (\n config.baseURL &&\n url.substr(0, config.baseURL.length) === config.baseURL\n ) {\n url = url.slice(config.baseURL.length);\n }\n\n delete config.adapter;\n mockAdapter.history[config.method].push(config);\n\n var handler = utils.findHandler(\n mockAdapter.handlers,\n config.method,\n url,\n config.data,\n config.params,\n config.headers,\n config.baseURL\n );\n\n if (handler) {\n if (handler.length === 7) {\n utils.purgeIfReplyOnce(mockAdapter, handler);\n }\n\n if (handler.length === 2) {\n // passThrough handler\n mockAdapter.originalAdapter(config).then(resolve, reject);\n } else if (typeof handler[3] !== \"function\") {\n utils.settle(\n resolve,\n reject,\n makeResponse(handler.slice(3), config),\n mockAdapter.delayResponse\n );\n } else {\n var result = handler[3](config);\n // TODO throw a sane exception when return value is incorrect\n if (typeof result.then !== \"function\") {\n utils.settle(\n resolve,\n reject,\n makeResponse(result, config),\n mockAdapter.delayResponse\n );\n } else {\n result.then(\n function (result) {\n if (result.config && result.status) {\n utils.settle(\n resolve,\n reject,\n makeResponse(\n [result.status, result.data, result.headers],\n result.config\n ),\n 0\n );\n } else {\n utils.settle(\n resolve,\n reject,\n makeResponse(result, config),\n mockAdapter.delayResponse\n );\n }\n },\n function (error) {\n if (mockAdapter.delayResponse > 0) {\n setTimeout(function () {\n reject(error);\n }, mockAdapter.delayResponse);\n } else {\n reject(error);\n }\n }\n );\n }\n }\n } else {\n // handler not found\n switch (mockAdapter.onNoMatch) {\n case \"passthrough\":\n mockAdapter.originalAdapter(config).then(resolve, reject);\n break;\n case \"throwException\":\n throw utils.createCouldNotFindMockError(config);\n default:\n utils.settle(\n resolve,\n reject,\n {\n status: 404,\n config: config,\n },\n mockAdapter.delayResponse\n );\n }\n }\n}\n\nmodule.exports = handleRequest;\n\n\n//# sourceURL=webpack://AxiosMockAdapter/./src/handle_request.js?");

@@ -155,3 +155,3 @@ /***/ }),

"use strict";
eval("\n\nvar axios = __webpack_require__(/*! axios */ \"axios\");\nvar isEqual = __webpack_require__(/*! fast-deep-equal */ \"./node_modules/fast-deep-equal/index.js\");\nvar isBuffer = __webpack_require__(/*! is-buffer */ \"./node_modules/is-buffer/index.js\");\nvar toString = Object.prototype.toString;\n\n// < 0.13.0 will not have default headers set on a custom instance\nvar rejectWithError = !!axios.create().defaults.headers;\n\nfunction find(array, predicate) {\n var length = array.length;\n for (var i = 0; i < length; i++) {\n var value = array[i];\n if (predicate(value)) return value;\n }\n}\n\nfunction isFunction(val) {\n return toString.call(val) === \"[object Function]\";\n}\n\nfunction isObjectOrArray(val) {\n return val !== null && typeof val === \"object\";\n}\n\nfunction isStream(val) {\n return isObjectOrArray(val) && isFunction(val.pipe);\n}\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === \"[object ArrayBuffer]\";\n}\n\nfunction combineUrls(baseURL, url) {\n if (baseURL) {\n return baseURL.replace(/\\/+$/, \"\") + \"/\" + url.replace(/^\\/+/, \"\");\n }\n\n return url;\n}\n\nfunction findHandler(\n handlers,\n method,\n url,\n body,\n parameters,\n headers,\n baseURL\n) {\n return find(handlers[method.toLowerCase()], function (handler) {\n if (typeof handler[0] === \"string\") {\n return (\n (isUrlMatching(url, handler[0]) ||\n isUrlMatching(combineUrls(baseURL, url), handler[0])) &&\n isBodyOrParametersMatching(method, body, parameters, handler[1]) &&\n isObjectMatching(headers, handler[2])\n );\n } else if (handler[0] instanceof RegExp) {\n return (\n (handler[0].test(url) || handler[0].test(combineUrls(baseURL, url))) &&\n isBodyOrParametersMatching(method, body, parameters, handler[1]) &&\n isObjectMatching(headers, handler[2])\n );\n }\n });\n}\n\nfunction isUrlMatching(url, required) {\n var noSlashUrl = url[0] === \"/\" ? url.substr(1) : url;\n var noSlashRequired = required[0] === \"/\" ? required.substr(1) : required;\n return noSlashUrl === noSlashRequired;\n}\n\nfunction isBodyOrParametersMatching(method, body, parameters, required) {\n var allowedParamsMethods = [\"delete\", \"get\", \"head\", \"options\"];\n if (allowedParamsMethods.indexOf(method.toLowerCase()) >= 0) {\n var params = required ? required.params : undefined;\n return isObjectMatching(parameters, params);\n } else {\n return isBodyMatching(body, required);\n }\n}\n\nfunction isObjectMatching(actual, expected) {\n if (expected === undefined) return true;\n if (typeof expected.asymmetricMatch === \"function\") {\n return expected.asymmetricMatch(actual);\n }\n return isEqual(actual, expected);\n}\n\nfunction isBodyMatching(body, requiredBody) {\n if (requiredBody === undefined) {\n return true;\n }\n var parsedBody;\n try {\n parsedBody = JSON.parse(body);\n } catch (e) {}\n\n return isObjectMatching(parsedBody ? parsedBody : body, requiredBody);\n}\n\nfunction purgeIfReplyOnce(mock, handler) {\n Object.keys(mock.handlers).forEach(function (key) {\n var index = mock.handlers[key].indexOf(handler);\n if (index > -1) {\n mock.handlers[key].splice(index, 1);\n }\n });\n}\n\nfunction settle(resolve, reject, response, delay) {\n if (delay > 0) {\n setTimeout(function () {\n settle(resolve, reject, response);\n }, delay);\n return;\n }\n\n if (response.config && response.config.validateStatus) {\n response.config.validateStatus(response.status)\n ? resolve(response)\n : reject(\n createAxiosError(\n \"Request failed with status code \" + response.status,\n response.config,\n response\n )\n );\n return;\n }\n\n // Support for axios < 0.11\n if (response.status >= 200 && response.status < 300) {\n resolve(response);\n } else {\n reject(response);\n }\n}\n\nfunction createAxiosError(message, config, response, code) {\n // Support for axios < 0.13.0\n if (!rejectWithError) return response;\n\n var error = new Error(message);\n error.isAxiosError = true;\n error.config = config;\n if (response !== undefined) {\n error.response = response;\n }\n if (code !== undefined) {\n error.code = code;\n }\n return error;\n}\n\nmodule.exports = {\n find: find,\n findHandler: findHandler,\n purgeIfReplyOnce: purgeIfReplyOnce,\n settle: settle,\n isStream: isStream,\n isArrayBuffer: isArrayBuffer,\n isFunction: isFunction,\n isObjectOrArray: isObjectOrArray,\n isBuffer: isBuffer,\n isEqual: isEqual,\n createAxiosError: createAxiosError,\n};\n\n\n//# sourceURL=webpack://AxiosMockAdapter/./src/utils.js?");
eval("\n\nvar axios = __webpack_require__(/*! axios */ \"axios\");\nvar isEqual = __webpack_require__(/*! fast-deep-equal */ \"./node_modules/fast-deep-equal/index.js\");\nvar isBuffer = __webpack_require__(/*! is-buffer */ \"./node_modules/is-buffer/index.js\");\nvar toString = Object.prototype.toString;\n\n// < 0.13.0 will not have default headers set on a custom instance\nvar rejectWithError = !!axios.create().defaults.headers;\n\nfunction find(array, predicate) {\n var length = array.length;\n for (var i = 0; i < length; i++) {\n var value = array[i];\n if (predicate(value)) return value;\n }\n}\n\nfunction isFunction(val) {\n return toString.call(val) === \"[object Function]\";\n}\n\nfunction isObjectOrArray(val) {\n return val !== null && typeof val === \"object\";\n}\n\nfunction isStream(val) {\n return isObjectOrArray(val) && isFunction(val.pipe);\n}\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === \"[object ArrayBuffer]\";\n}\n\nfunction combineUrls(baseURL, url) {\n if (baseURL) {\n return baseURL.replace(/\\/+$/, \"\") + \"/\" + url.replace(/^\\/+/, \"\");\n }\n\n return url;\n}\n\nfunction findHandler(\n handlers,\n method,\n url,\n body,\n parameters,\n headers,\n baseURL\n) {\n return find(handlers[method.toLowerCase()], function (handler) {\n if (typeof handler[0] === \"string\") {\n return (\n (isUrlMatching(url, handler[0]) ||\n isUrlMatching(combineUrls(baseURL, url), handler[0])) &&\n isBodyOrParametersMatching(method, body, parameters, handler[1]) &&\n isObjectMatching(headers, handler[2])\n );\n } else if (handler[0] instanceof RegExp) {\n return (\n (handler[0].test(url) || handler[0].test(combineUrls(baseURL, url))) &&\n isBodyOrParametersMatching(method, body, parameters, handler[1]) &&\n isObjectMatching(headers, handler[2])\n );\n }\n });\n}\n\nfunction isUrlMatching(url, required) {\n var noSlashUrl = url[0] === \"/\" ? url.substr(1) : url;\n var noSlashRequired = required[0] === \"/\" ? required.substr(1) : required;\n return noSlashUrl === noSlashRequired;\n}\n\nfunction isBodyOrParametersMatching(method, body, parameters, required) {\n var allowedParamsMethods = [\"delete\", \"get\", \"head\", \"options\"];\n if (allowedParamsMethods.indexOf(method.toLowerCase()) >= 0) {\n var params = required ? required.params : undefined;\n return isObjectMatching(parameters, params);\n } else {\n return isBodyMatching(body, required);\n }\n}\n\nfunction isObjectMatching(actual, expected) {\n if (expected === undefined) return true;\n if (typeof expected.asymmetricMatch === \"function\") {\n return expected.asymmetricMatch(actual);\n }\n return isEqual(actual, expected);\n}\n\nfunction isBodyMatching(body, requiredBody) {\n if (requiredBody === undefined) {\n return true;\n }\n var parsedBody;\n try {\n parsedBody = JSON.parse(body);\n } catch (e) {}\n\n return isObjectMatching(parsedBody ? parsedBody : body, requiredBody);\n}\n\nfunction purgeIfReplyOnce(mock, handler) {\n Object.keys(mock.handlers).forEach(function (key) {\n var index = mock.handlers[key].indexOf(handler);\n if (index > -1) {\n mock.handlers[key].splice(index, 1);\n }\n });\n}\n\nfunction settle(resolve, reject, response, delay) {\n if (delay > 0) {\n setTimeout(function () {\n settle(resolve, reject, response);\n }, delay);\n return;\n }\n\n if (response.config && response.config.validateStatus) {\n response.config.validateStatus(response.status)\n ? resolve(response)\n : reject(\n createAxiosError(\n \"Request failed with status code \" + response.status,\n response.config,\n response\n )\n );\n return;\n }\n\n // Support for axios < 0.11\n if (response.status >= 200 && response.status < 300) {\n resolve(response);\n } else {\n reject(response);\n }\n}\n\nfunction createAxiosError(message, config, response, code) {\n // Support for axios < 0.13.0\n if (!rejectWithError) return response;\n\n var error = new Error(message);\n error.isAxiosError = true;\n error.config = config;\n if (response !== undefined) {\n error.response = response;\n }\n if (code !== undefined) {\n error.code = code;\n }\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n };\n };\n return error;\n}\n\nfunction createCouldNotFindMockError(config) {\n var message =\n \"Could not find mock for: \\n\" +\n JSON.stringify(config, [\"method\", \"url\"], 2);\n var error = new Error(message);\n error.isCouldNotFindMockError = true;\n error.url = config.url;\n error.method = config.method;\n return error;\n}\n\nmodule.exports = {\n find: find,\n findHandler: findHandler,\n purgeIfReplyOnce: purgeIfReplyOnce,\n settle: settle,\n isStream: isStream,\n isArrayBuffer: isArrayBuffer,\n isFunction: isFunction,\n isObjectOrArray: isObjectOrArray,\n isBuffer: isBuffer,\n isEqual: isEqual,\n createAxiosError: createAxiosError,\n createCouldNotFindMockError: createCouldNotFindMockError,\n};\n\n\n//# sourceURL=webpack://AxiosMockAdapter/./src/utils.js?");

@@ -158,0 +158,0 @@ /***/ }),

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("axios")):"function"==typeof define&&define.amd?define(["axios"],t):"object"==typeof exports?exports.AxiosMockAdapter=t(require("axios")):e.AxiosMockAdapter=t(e.axios)}(window,(function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t,r){"use strict";var n=r(3),o=r(4),i=r(5),s=Object.prototype.toString,u=!!n.create().defaults.headers;function a(e,t){for(var r=e.length,n=0;n<r;n++){var o=e[n];if(t(o))return o}}function c(e){return"[object Function]"===s.call(e)}function f(e){return null!==e&&"object"==typeof e}function l(e,t){return e?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):t}function p(e,t){return("/"===e[0]?e.substr(1):e)===("/"===t[0]?t.substr(1):t)}function d(e,t,r,n){return["delete","get","head","options"].indexOf(e.toLowerCase())>=0?h(r,n?n.params:void 0):function(e,t){if(void 0===t)return!0;var r;try{r=JSON.parse(e)}catch(e){}return h(r||e,t)}(t,n)}function h(e,t){return void 0===t||("function"==typeof t.asymmetricMatch?t.asymmetricMatch(e):o(e,t))}function y(e,t,r,n){if(!u)return r;var o=new Error(e);return o.isAxiosError=!0,o.config=t,void 0!==r&&(o.response=r),void 0!==n&&(o.code=n),o}e.exports={find:a,findHandler:function(e,t,r,n,o,i,s){return a(e[t.toLowerCase()],(function(e){return"string"==typeof e[0]?(p(r,e[0])||p(l(s,r),e[0]))&&d(t,n,o,e[1])&&h(i,e[2]):e[0]instanceof RegExp?(e[0].test(r)||e[0].test(l(s,r)))&&d(t,n,o,e[1])&&h(i,e[2]):void 0}))},purgeIfReplyOnce:function(e,t){Object.keys(e.handlers).forEach((function(r){var n=e.handlers[r].indexOf(t);n>-1&&e.handlers[r].splice(n,1)}))},settle:function e(t,r,n,o){o>0?setTimeout((function(){e(t,r,n)}),o):n.config&&n.config.validateStatus?n.config.validateStatus(n.status)?t(n):r(y("Request failed with status code "+n.status,n.config,n)):n.status>=200&&n.status<300?t(n):r(n)},isStream:function(e){return f(e)&&c(e.pipe)},isArrayBuffer:function(e){return"[object ArrayBuffer]"===s.call(e)},isFunction:c,isObjectOrArray:f,isBuffer:i,isEqual:o,createAxiosError:y}},function(e,t,r){"use strict";var n=r(2),o=r(0),i=["get","post","head","delete","patch","put","options","list"];function s(){return i.reduce((function(e,t){return e[t]=[],e}),{})}function u(){a.call(this),c.call(this)}function a(){this.handlers=s()}function c(){this.history=s()}function f(e,t){u.call(this),e&&(this.axiosInstance=e,this.originalAdapter=e.defaults.adapter,this.delayResponse=t&&t.delayResponse>0?t.delayResponse:null,this.onNoMatch=t&&t.onNoMatch||null,e.defaults.adapter=this.adapter.call(this))}function l(e,t,r){if("any"===e)i.forEach((function(e){t[e].push(r)}));else{var n=function(e,t,r){for(var n=-1,i=0;i<t[e].length;i+=1){var s=t[e][i],u=7===s.length;(s[0]instanceof RegExp&&r[0]instanceof RegExp?String(s[0])===String(r[0]):s[0]===r[0])&&o.isEqual(s[1],r[1])&&o.isEqual(s[2],r[2])&&!u&&(n=i)}return n}(e,t,r);n>-1&&r.length<7?t[e].splice(n,1,r):t[e].push(r)}}f.prototype.adapter=function(){return function(e){var t=this;if(3!==arguments.length)return new Promise((function(r,o){n(t,r,o,e)}));n(t,arguments[0],arguments[1],arguments[2])}.bind(this)},f.prototype.restore=function(){this.axiosInstance&&(this.axiosInstance.defaults.adapter=this.originalAdapter,this.axiosInstance=void 0)},f.prototype.reset=u,f.prototype.resetHandlers=a,f.prototype.resetHistory=c,i.concat("any").forEach((function(e){var t="on"+e.charAt(0).toUpperCase()+e.slice(1);f.prototype[t]=function(t,r,n){var i=this;t=void 0===t?/.*/:t;function s(o,s,u){var a=[t,r,n,o,s,u];return l(e,i.handlers,a),i}function u(o,s,u){var a=[t,r,n,o,s,u,!0];return l(e,i.handlers,a),i}return{reply:s,replyOnce:u,passThrough:function(){var n=[t,r];return l(e,i.handlers,n),i},abortRequest:function(){return s((function(e){var t=o.createAxiosError("Request aborted",e,void 0,"ECONNABORTED");return Promise.reject(t)}))},abortRequestOnce:function(){return u((function(e){var t=o.createAxiosError("Request aborted",e,void 0,"ECONNABORTED");return Promise.reject(t)}))},networkError:function(){return s((function(e){var t=o.createAxiosError("Network Error",e);return Promise.reject(t)}))},networkErrorOnce:function(){return u((function(e){var t=o.createAxiosError("Network Error",e);return Promise.reject(t)}))},timeout:function(){return s((function(e){var t=o.createAxiosError(e.timeoutErrorMessage||"timeout of "+e.timeout+"ms exceeded",e,void 0,"ECONNABORTED");return Promise.reject(t)}))},timeoutOnce:function(){return u((function(e){var t=o.createAxiosError(e.timeoutErrorMessage||"timeout of "+e.timeout+"ms exceeded",e,void 0,"ECONNABORTED");return Promise.reject(t)}))}}}})),e.exports=f,e.exports.default=f},function(e,t,r){"use strict";var n=r(0);function o(e,t){return{status:e[0],data:(r=e[1],n.isArrayBuffer(r)||n.isBuffer(r)||n.isStream(r)?r:n.isObjectOrArray(r)?JSON.parse(JSON.stringify(r)):r),headers:e[2],config:t,request:{responseUrl:t.url}};var r}e.exports=function(e,t,r,i){var s=i.url;i.baseURL&&i.url.substr(0,i.baseURL.length)===i.baseURL&&(s=i.url.slice(i.baseURL.length)),delete i.adapter,e.history[i.method].push(i);var u=n.findHandler(e.handlers,i.method,s,i.data,i.params,i.headers,i.baseURL);if(u)if(7===u.length&&n.purgeIfReplyOnce(e,u),2===u.length)e.originalAdapter(i).then(t,r);else if("function"!=typeof u[3])n.settle(t,r,o(u.slice(3),i),e.delayResponse);else{var a=u[3](i);"function"!=typeof a.then?n.settle(t,r,o(a,i),e.delayResponse):a.then((function(s){s.config&&s.status?n.settle(t,r,o([s.status,s.data,s.headers],s.config),0):n.settle(t,r,o(s,i),e.delayResponse)}),(function(t){e.delayResponse>0?setTimeout((function(){r(t)}),e.delayResponse):r(t)}))}else switch(e.onNoMatch){case"passthrough":e.originalAdapter(i).then(t,r);break;default:n.settle(t,r,{status:404,config:i},e.delayResponse)}}},function(t,r){t.exports=e},function(e,t,r){"use strict";e.exports=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(o=n;0!=o--;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(i=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;0!=o--;){var s=i[o];if(!e(t[s],r[s]))return!1}return!0}return t!=t&&r!=r}},function(e,t){
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("axios")):"function"==typeof define&&define.amd?define(["axios"],t):"object"==typeof exports?exports.AxiosMockAdapter=t(require("axios")):e.AxiosMockAdapter=t(e.axios)}(window,(function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t,r){"use strict";var n=r(3),o=r(4),i=r(5),s=Object.prototype.toString,u=!!n.create().defaults.headers;function a(e,t){for(var r=e.length,n=0;n<r;n++){var o=e[n];if(t(o))return o}}function c(e){return"[object Function]"===s.call(e)}function f(e){return null!==e&&"object"==typeof e}function l(e,t){return e?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):t}function d(e,t){return("/"===e[0]?e.substr(1):e)===("/"===t[0]?t.substr(1):t)}function p(e,t,r,n){return["delete","get","head","options"].indexOf(e.toLowerCase())>=0?h(r,n?n.params:void 0):function(e,t){if(void 0===t)return!0;var r;try{r=JSON.parse(e)}catch(e){}return h(r||e,t)}(t,n)}function h(e,t){return void 0===t||("function"==typeof t.asymmetricMatch?t.asymmetricMatch(e):o(e,t))}function y(e,t,r,n){if(!u)return r;var o=new Error(e);return o.isAxiosError=!0,o.config=t,void 0!==r&&(o.response=r),void 0!==n&&(o.code=n),o.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},o}e.exports={find:a,findHandler:function(e,t,r,n,o,i,s){return a(e[t.toLowerCase()],(function(e){return"string"==typeof e[0]?(d(r,e[0])||d(l(s,r),e[0]))&&p(t,n,o,e[1])&&h(i,e[2]):e[0]instanceof RegExp?(e[0].test(r)||e[0].test(l(s,r)))&&p(t,n,o,e[1])&&h(i,e[2]):void 0}))},purgeIfReplyOnce:function(e,t){Object.keys(e.handlers).forEach((function(r){var n=e.handlers[r].indexOf(t);n>-1&&e.handlers[r].splice(n,1)}))},settle:function e(t,r,n,o){o>0?setTimeout((function(){e(t,r,n)}),o):n.config&&n.config.validateStatus?n.config.validateStatus(n.status)?t(n):r(y("Request failed with status code "+n.status,n.config,n)):n.status>=200&&n.status<300?t(n):r(n)},isStream:function(e){return f(e)&&c(e.pipe)},isArrayBuffer:function(e){return"[object ArrayBuffer]"===s.call(e)},isFunction:c,isObjectOrArray:f,isBuffer:i,isEqual:o,createAxiosError:y,createCouldNotFindMockError:function(e){var t="Could not find mock for: \n"+JSON.stringify(e,["method","url"],2),r=new Error(t);return r.isCouldNotFindMockError=!0,r.url=e.url,r.method=e.method,r}}},function(e,t,r){"use strict";var n=r(2),o=r(0),i=["get","post","head","delete","patch","put","options","list"];function s(){return i.reduce((function(e,t){return e[t]=[],e}),{})}function u(){a.call(this),c.call(this)}function a(){this.handlers=s()}function c(){this.history=s()}function f(e,t){u.call(this),e&&(this.axiosInstance=e,this.originalAdapter=e.defaults.adapter,this.delayResponse=t&&t.delayResponse>0?t.delayResponse:null,this.onNoMatch=t&&t.onNoMatch||null,e.defaults.adapter=this.adapter.call(this))}function l(e,t,r){if("any"===e)i.forEach((function(e){t[e].push(r)}));else{var n=function(e,t,r){for(var n=-1,i=0;i<t[e].length;i+=1){var s=t[e][i],u=7===s.length;(s[0]instanceof RegExp&&r[0]instanceof RegExp?String(s[0])===String(r[0]):s[0]===r[0])&&o.isEqual(s[1],r[1])&&o.isEqual(s[2],r[2])&&!u&&(n=i)}return n}(e,t,r);n>-1&&r.length<7?t[e].splice(n,1,r):t[e].push(r)}}f.prototype.adapter=function(){return function(e){var t=this;if(3!==arguments.length)return new Promise((function(r,o){n(t,r,o,e)}));n(t,arguments[0],arguments[1],arguments[2])}.bind(this)},f.prototype.restore=function(){this.axiosInstance&&(this.axiosInstance.defaults.adapter=this.originalAdapter,this.axiosInstance=void 0)},f.prototype.reset=u,f.prototype.resetHandlers=a,f.prototype.resetHistory=c,i.concat("any").forEach((function(e){var t="on"+e.charAt(0).toUpperCase()+e.slice(1);f.prototype[t]=function(t,r,n){var i=this;t=void 0===t?/.*/:t;function s(o,s,u){var a=[t,r,n,o,s,u];return l(e,i.handlers,a),i}function u(o,s,u){var a=[t,r,n,o,s,u,!0];return l(e,i.handlers,a),i}return{reply:s,replyOnce:u,passThrough:function(){var n=[t,r];return l(e,i.handlers,n),i},abortRequest:function(){return s((function(e){var t=o.createAxiosError("Request aborted",e,void 0,"ECONNABORTED");return Promise.reject(t)}))},abortRequestOnce:function(){return u((function(e){var t=o.createAxiosError("Request aborted",e,void 0,"ECONNABORTED");return Promise.reject(t)}))},networkError:function(){return s((function(e){var t=o.createAxiosError("Network Error",e);return Promise.reject(t)}))},networkErrorOnce:function(){return u((function(e){var t=o.createAxiosError("Network Error",e);return Promise.reject(t)}))},timeout:function(){return s((function(e){var t=o.createAxiosError(e.timeoutErrorMessage||"timeout of "+e.timeout+"ms exceeded",e,void 0,"ECONNABORTED");return Promise.reject(t)}))},timeoutOnce:function(){return u((function(e){var t=o.createAxiosError(e.timeoutErrorMessage||"timeout of "+e.timeout+"ms exceeded",e,void 0,"ECONNABORTED");return Promise.reject(t)}))}}}})),e.exports=f,e.exports.default=f},function(e,t,r){"use strict";var n=r(0);function o(e,t){return{status:e[0],data:(r=e[1],n.isArrayBuffer(r)||n.isBuffer(r)||n.isStream(r)?r:n.isObjectOrArray(r)?JSON.parse(JSON.stringify(r)):r),headers:e[2],config:t,request:{responseURL:t.url}};var r}e.exports=function(e,t,r,i){var s=i.url||"";i.baseURL&&s.substr(0,i.baseURL.length)===i.baseURL&&(s=s.slice(i.baseURL.length)),delete i.adapter,e.history[i.method].push(i);var u=n.findHandler(e.handlers,i.method,s,i.data,i.params,i.headers,i.baseURL);if(u)if(7===u.length&&n.purgeIfReplyOnce(e,u),2===u.length)e.originalAdapter(i).then(t,r);else if("function"!=typeof u[3])n.settle(t,r,o(u.slice(3),i),e.delayResponse);else{var a=u[3](i);"function"!=typeof a.then?n.settle(t,r,o(a,i),e.delayResponse):a.then((function(s){s.config&&s.status?n.settle(t,r,o([s.status,s.data,s.headers],s.config),0):n.settle(t,r,o(s,i),e.delayResponse)}),(function(t){e.delayResponse>0?setTimeout((function(){r(t)}),e.delayResponse):r(t)}))}else switch(e.onNoMatch){case"passthrough":e.originalAdapter(i).then(t,r);break;case"throwException":throw n.createCouldNotFindMockError(i);default:n.settle(t,r,{status:404,config:i},e.delayResponse)}}},function(t,r){t.exports=e},function(e,t,r){"use strict";e.exports=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(o=n;0!=o--;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(i=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;0!=o--;){var s=i[o];if(!e(t[s],r[s]))return!1}return!0}return t!=t&&r!=r}},function(e,t){
/*!

@@ -3,0 +3,0 @@ * Determine if an object is a Buffer

{
"name": "axios-mock-adapter",
"version": "1.18.2",
"version": "1.19.0",
"description": "Axios adapter that allows to easily mock requests",

@@ -44,9 +44,9 @@ "main": "src/index.js",

"devDependencies": {
"axios": "^0.19.0",
"axios": "^0.21.0",
"bundlesize": "^0.18.0",
"chai": "^4.1.0",
"eslint": "^6.0.1",
"eslint": "^7.12.0",
"istanbul": "^0.4.5",
"mocha": "^7.0.1",
"nyc": "^15.0.0",
"mocha": "^8.2.0",
"nyc": "^15.1.0",
"rimraf": "^3.0.2",

@@ -57,3 +57,3 @@ "webpack": "^4.16.4",

"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-deep-equal": "^3.1.3",
"is-buffer": "^2.0.3"

@@ -60,0 +60,0 @@ },

@@ -66,2 +66,4 @@ # axios-mock-adapter

When using `params`, you must match _all_ key/value pairs passed to that option.
To add a delay to responses, specify a delay amount (in milliseconds) when instantiating the adapter

@@ -288,2 +290,20 @@

Using `onNoMatch` option with `throwException` to throw an exception when a request is made without match any handler. It's helpful to debug your test mocks.
```js
var mock = new MockAdapter(axiosInstance, { onNoMatch: "throwException" });
mock.onAny("/foo").reply(200);
axios.get("/unexistent-path");
// Exception message on console:
//
// Could not find mock for:
// {
// "method": "get",
// "url": "http://localhost/unexistent-path"
// }
```
As of 1.7.0, `reply` function may return a Promise:

@@ -290,0 +310,0 @@

@@ -30,3 +30,3 @@ "use strict";

request: {
responseUrl: config.url,
responseURL: config.url,
},

@@ -37,9 +37,9 @@ };

function handleRequest(mockAdapter, resolve, reject, config) {
var url = config.url;
var url = config.url || "";
// TODO we're not hitting this `if` in any of the tests, investigate
if (
config.baseURL &&
config.url.substr(0, config.baseURL.length) === config.baseURL
url.substr(0, config.baseURL.length) === config.baseURL
) {
url = config.url.slice(config.baseURL.length);
url = url.slice(config.baseURL.length);
}

@@ -125,2 +125,4 @@

break;
case "throwException":
throw utils.createCouldNotFindMockError(config);
default:

@@ -127,0 +129,0 @@ utils.settle(

@@ -127,8 +127,8 @@ "use strict";

: reject(
createAxiosError(
"Request failed with status code " + response.status,
response.config,
response
)
);
createAxiosError(
"Request failed with status code " + response.status,
response.config,
response
)
);
return;

@@ -158,5 +158,35 @@ }

}
error.toJSON = function toJSON() {
return {
// Standard
message: this.message,
name: this.name,
// Microsoft
description: this.description,
number: this.number,
// Mozilla
fileName: this.fileName,
lineNumber: this.lineNumber,
columnNumber: this.columnNumber,
stack: this.stack,
// Axios
config: this.config,
code: this.code,
};
};
return error;
}
function createCouldNotFindMockError(config) {
var message =
"Could not find mock for: \n" +
JSON.stringify(config, ["method", "url"], 2);
var error = new Error(message);
error.isCouldNotFindMockError = true;
error.url = config.url;
error.method = config.method;
return error;
}
module.exports = {

@@ -174,2 +204,3 @@ find: find,

createAxiosError: createAxiosError,
createCouldNotFindMockError: createCouldNotFindMockError,
};

@@ -27,5 +27,9 @@ import { AxiosAdapter, AxiosInstance, AxiosRequestConfig } from 'axios';

delayResponse?: number;
onNoMatch?: 'passthrough';
onNoMatch?: 'passthrough' | 'throwException';
}
interface AsymmetricMatcher {
asymmetricMatch: Function;
}
interface RequestDataMatcher {

@@ -42,6 +46,10 @@ [index: string]: any;

type AsymmetricHeadersMatcher = AsymmetricMatcher | HeadersMatcher;
type AsymmetricRequestDataMatcher = AsymmetricMatcher | RequestDataMatcher;
type RequestMatcherFunc = (
matcher?: string | RegExp,
body?: string | RequestDataMatcher,
headers?: HeadersMatcher
body?: string | AsymmetricRequestDataMatcher,
headers?: AsymmetricHeadersMatcher
) => RequestHandler;

@@ -48,0 +56,0 @@

@@ -18,2 +18,8 @@ import axios from 'axios';

namespace SupportsOnNoMatchThrowException {
new MockAdapter(instance, {
onNoMatch: 'throwException'
});
}
namespace ExposesAdapter {

@@ -136,3 +142,3 @@ mock.adapter();

namespace SupportsChanining {
namespace SupportsChaining {
mock

@@ -139,0 +145,0 @@ .onGet('/users')

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc