ngx-http-configure
Version:
Angular (6+) helpers for configure HTTP interceptors and services.
2 lines • 1.51 kB
JavaScript
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@angular/common/http")):"function"==typeof define&&define.amd?define("ngx-http-configure",["exports","@angular/common/http"],r):r((e=e||self)["ngx-http-configure"]={},e.ng.common.http)}(this,function(e,r){"use strict";var n=function(){return(n=Object.assign||function(e){for(var r,n=1,t=arguments.length;n<t;n++)for(var o in r=arguments[n])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e}).apply(this,arguments)},t=["headers","observe","params","reportProgress","responseType","withCredentials"],o="~";function a(e,t,o){return void 0===o&&(o=""),Object.keys(e).reduce(function(a,u){if(t(u)){var i=""+o+u,s=e[u];s instanceof r.HttpParams&&(s=s.keys().reduce(function(e,r){var t;return n({},e,((t={})[r]=s.get(r),t))},{})),a[i]=s}return a},{})}e.configure=function(e){var r=a(e,function(e){return t.includes(e)}),u=a(e,function(e){return!t.includes(e)},o);return r.params=n({},r.params,u),r},e.reconfigure=function(e,n){var t=function(e){return function(r){return!Array.isArray(e)||e.map(function(e){return""+o+e}).includes(r)}}(n),a=e.params.keys().reduce(function(r,n){var a=e.params.get(n);if(n.startsWith(o)&&t(n)){var u=n.replace(o,"");r.config[u]=a}else r.params=r.params.set(n,a);return r},{config:{},params:new r.HttpParams}),u=a.config,i=a.params;return{config:u,request:e.clone({params:i})}},Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=ngx-http-configure.umd.min.js.map