sequence-request
Version:
A lightweight TypeScript library for handling request deduplication.
3 lines (2 loc) • 2.31 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).SequenceRequest={})}(this,function(e){"use strict";function t(e,t,n,r,o,u,a){try{var i=e[u](a),l=i.value}catch(e){return void n(e)}i.done?t(l):Promise.resolve(l).then(r,o)}function n(e,t){var n,r,o,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=i(0),a.throw=i(1),a.return=i(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(i){return function(l){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,i[0]&&(u=0)),u;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return u.label++,{value:i[1],done:!1};case 5:u.label++,r=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=t.call(e,u)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,l])}}}var r=function(){function e(){this.latestRequestId=0}return e.prototype.wrap=function(e){var r=this;return function(){for(var o=arguments.length,u=new Array(o),a=0;a<o;a++)u[a]=arguments[a];return(i=function(){var t,r,o;return n(this,function(n){switch(n.label){case 0:t=++this.latestRequestId,n.label=1;case 1:return n.trys.push([1,3,,4]),[4,e.apply(void 0,[].concat(u))];case 2:return r=n.sent(),t===this.latestRequestId?[2,r]:[2,null];case 3:if(o=n.sent(),t===this.latestRequestId)throw o;return[2,null];case 4:return[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,o){var u=i.apply(e,n);function a(e){t(u,r,o,a,l,"next",e)}function l(e){t(u,r,o,a,l,"throw",e)}a(void 0)})}).call(r);var i}},e}();e.RequestManager=r});
//# sourceMappingURL=index.min.js.map