@meanie/angular-duplicate-requests-filter
Version:
A decorator for the Angular $http service to filter duplicate requests
3 lines (2 loc) • 1.14 kB
JavaScript
var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function(t,e,o){"use strict";e.module("DuplicateRequestsFilter.Decorator",[]).config(["$provide",function(t){t.decorator("$http",["$delegate","$q",function(t,o){function r(t){var e=0,o=t.length;if(0===o)return e;for(var r=0;r<o;++r)e=(e<<5)-e+t.charCodeAt(r),e&=e;return e>>>0}function n(t){var o=t.method+t.url;return t.params&&"object"===_typeof(t.params)&&(o+=e.toJson(t.params)),t.data&&"object"===_typeof(t.data)&&(o+=e.toJson(t.data)),r(o)}function u(t){if(t.ignoreDuplicateRequest)return c(t);var e=n(t);return a[e]?t.rejectDuplicateRequest?o.reject({data:"",headers:{},status:t.rejectDuplicateStatusCode||400,config:t}):a[e]:(a[e]=c(t).finally(function(){delete a[e]}),a[e])}var a={},c=t;return Object.keys(c).filter(function(t){return"function"==typeof c[t]}).forEach(function(t){return u[t]=c[t]}),u.defaults=c.defaults,u}])}])}(window,window.angular);
//# sourceMappingURL=angular-duplicate-requests-filter.min.js.map