UNPKG

axios-case-converter

Version:

Axios transformer/interceptor that converts snake_case/camelCase

2 lines (1 loc) 6.99 kB
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("axios")):"function"==typeof define&&define.amd?define(["exports","axios"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).AxiosCaseConverter={},e.axios)}(this,(function(e,r){"use strict";var t=function(){return t=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var o in r=arguments[t])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},t.apply(this,arguments)};function n(e){var r="function"==typeof Symbol&&Symbol.iterator,t=r&&e[r],n=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function o(e,r){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,o,a=t.call(e),i=[];try{for(;(void 0===r||r-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(t=a.return)&&t.call(a)}finally{if(o)throw o.error}}return i}function a(e,r,t){if(t||2===arguments.length)for(var n,o=0,a=r.length;o<a;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}function i(e){return e.toLowerCase()}"function"==typeof SuppressedError&&SuppressedError;var u=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],l=/[^A-Z0-9]+/gi;function f(e,r){void 0===r&&(r={});for(var t=r.splitRegexp,n=void 0===t?u:t,o=r.stripRegexp,a=void 0===o?l:o,f=r.transform,c=void 0===f?i:f,d=r.delimiter,p=void 0===d?" ":d,v=s(s(e,n,"$1\0$2"),a,"\0"),y=0,m=v.length;"\0"===v.charAt(y);)y++;for(;"\0"===v.charAt(m-1);)m--;return v.slice(y,m).split("\0").map(c).join(p)}function s(e,r,t){return r instanceof RegExp?e.replace(r,t):r.reduce((function(e,r){return e.replace(r,t)}),e)}function c(e,r){var t=e.charAt(0),n=e.substr(1).toLowerCase();return r>0&&t>="0"&&t<="9"?"_"+t+n:""+t.toUpperCase()+n}function d(e,r){return 0===r?e.toLowerCase():c(e,r)}function p(e){return function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(e.toLowerCase())}var v=function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},y=function(e){return"undefined"!=typeof FormData&&e instanceof FormData},m=function(e){if(null==e)return!1;var r=Object.getPrototypeOf(e);return null===r||r===Object.prototype},h=function(e){return null!=e&&e instanceof r.AxiosHeaders},b={snake:function(e,r){return void 0===r&&(r={}),function(e,r){return void 0===r&&(r={}),f(e,t({delimiter:"."},r))}(e,t({delimiter:"_"},r))},camel:function(e,r){return void 0===r&&(r={}),function(e,r){return void 0===r&&(r={}),f(e,t({delimiter:"",transform:c},r))}(e,t({transform:d},r))},header:function(e,r){return void 0===r&&(r={}),function(e,r){return void 0===r&&(r={}),f(e,t({delimiter:" ",transform:p},r))}(e,t({delimiter:"-"},r))}},g=function(e,r,t){var i,u,l,f,s,c;if(!function(e){return Array.isArray(e)||m(e)||y(e)||v(e)}(e))return e;if((y(e)||v(e))&&(!e.entries||t&&!e.delete)){var d=y(e)?"FormData":"URLSearchParams",p=y(e)?"https://github.com/jimmywarting/FormData":"https://github.com/jerrybendy/url-search-params-polyfill";return"undefined"!=typeof navigator&&"ReactNative"===navigator.product?console.warn("Be careful that ".concat(d," cannot be transformed on React Native. If you intentionally implemented, ignore this kind of warning: https://facebook.github.io/react-native/docs/debugging.html")):(e.entries||console.warn("You must use polyfill of ".concat(d,".prototype.entries() on Internet Explorer or Safari: ").concat(p)),t&&!e.delete&&console.warn("You must use polyfill of ".concat(d,".prototype.delete() on Internet Explorer or Safari: ").concat(p))),e}var h,b=Object.getPrototypeOf(e),x=t?e:b?new b.constructor:Object.create(null);if(y(e)||v(e)){if(h=e.entries(),t){h=a([],o(h),!1);try{for(var w=n(h),A=w.next();!A.done;A=w.next()){var R=o(A.value,1)[0];e.delete(R)}}catch(e){i={error:e}}finally{try{A&&!A.done&&(u=w.return)&&u.call(w)}finally{if(i)throw i.error}}}}else if(h=Object.entries(e),t&&!Array.isArray(e))try{for(var j=n(h),O=j.next();!O.done;O=j.next()){delete e[R=o(O.value,1)[0]]}}catch(e){l={error:e}}finally{try{O&&!O.done&&(f=j.return)&&f.call(j)}finally{if(l)throw l.error}}try{for(var S=n(h),q=S.next();!q.done;q=S.next()){var k=o(q.value,2),C=(R=k[0],k[1]);y(x)||v(x)?x.append(r(R),C):"__proto__"!==R&&(x[Array.isArray(e)?Number(R):r("".concat(R))]=g(C,r,t))}}catch(e){s={error:e}}finally{try{q&&!q.done&&(c=S.return)&&c.call(S)}finally{if(s)throw s.error}}return x},x=function(e,r,n){return r=function(e,r){return function(n,o){return e(n,t(t({},r),o))}}(r,t({stripRegexp:/[^A-Z0-9[\]]+/gi},null==n?void 0:n.caseOptions)),(null==n?void 0:n.preservedKeys)&&(r=function(e,r){var t="function"==typeof r?r:function(e){return r.includes(e)};return function(r,n){return t(r,n)?r:e(r,n)}}(r,n.preservedKeys)),g(e,r,(null==n?void 0:n.overwrite)||!1)},w=function(e,r){return t=(null==r?void 0:r[e])||b[e],function(e,r){return x(e,t,r)};var t},A=function(e){var r,t,o=Object.keys(b),a={};try{for(var i=n(o),u=i.next();!u.done;u=i.next()){var l=u.value;a[l]=w(l,e)}}catch(e){r={error:e}}finally{try{u&&!u.done&&(t=i.return)&&t.call(i)}finally{if(r)throw r.error}}return a},R=function(e){var r=A(null==e?void 0:e.caseFunctions),t=r.snake,n=r.header;return function(r,o){return O(o,n,e,["common","delete","get","head","post","put","patch"]),t(r,e)}},j=function(e){var r=A(null==e?void 0:e.caseFunctions).camel;return function(t,n){return O(n,r,e),r(t,e)}},O=function(e,r,a,i){var u,l,f,s;if(!(null==a?void 0:a.ignoreHeaders)&&(m(e)||h(e)))try{for(var c=n(Object.entries(e)),d=c.next();!d.done;d=c.next()){var p=o(d.value,2),v=p[0],y=p[1];r(y,t({overwrite:!0},a)),(i||[]).includes(v)||(h(e)?(e.delete(v),e.set(Object.keys(r((f={},f[v]=null,f),a))[0],y,!0)):(delete e[v],e[Object.keys(r((s={},s[v]=null,s),a))[0]]=y))}}catch(e){u={error:e}}finally{try{d&&!d.done&&(l=c.return)&&l.call(c)}finally{if(u)throw u.error}}},S=function(e,r){var t,n,i;return e.defaults.transformRequest=a([(null===(t=null==r?void 0:r.caseMiddleware)||void 0===t?void 0:t.requestTransformer)||R(r)],o(Array.isArray(e.defaults.transformRequest)?e.defaults.transformRequest:void 0!==e.defaults.transformRequest?[e.defaults.transformRequest]:[]),!1),e.defaults.transformResponse=a(a([],o(Array.isArray(e.defaults.transformResponse)?e.defaults.transformResponse:void 0!==e.defaults.transformResponse?[e.defaults.transformResponse]:[]),!1),[(null===(n=null==r?void 0:r.caseMiddleware)||void 0===n?void 0:n.responseTransformer)||j(r)],!1),e.interceptors.request.use((null===(i=null==r?void 0:r.caseMiddleware)||void 0===i?void 0:i.requestInterceptor)||function(e){var r=A(null==e?void 0:e.caseFunctions).snake;return function(t){return!(null==e?void 0:e.ignoreParams)&&t.params&&(t.params=r(t.params,e)),t}}(r)),e};e.default=S,Object.defineProperty(e,"__esModule",{value:!0})}));//# sourceMappingURL=axios-case-converter.min.js.map