UNPKG

@aofl/middleware

Version:
2 lines 2.6 kB
module.exports=function(e){var r={};function t(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var i in e)t.d(n,i,function(r){return e[r]}.bind(null,i));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="/",t(t.s="QfWi")}({MmcY:function(e,r){e.exports=require("@babel/runtime/helpers/classCallCheck")},QfWi:function(e,r,t){"use strict";t.r(r),t.d(r,"Middleware",(function(){return l}));var n=t("MmcY"),i=t.n(n),u=t("iTvO"),o=t.n(u),l=function(){function e(){i()(this,e),this.middleware={};for(var r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];for(var u=0;u<t.length;u++)this.middleware[t[u]]=[]}return o()(e,[{key:"use",value:function(e,r){if("function"!=typeof e)throw new Error("callback must be a function");if(void 0===this.middleware[r])throw new Error("Only ".concat(Object.keys(this.middleware)," hooks are supported."));return this.middleware[r].push({callback:e,hook:r}),this.createUnsubscribeFn(r,e)}},{key:"getMiddlewareIterator",value:function(e){var r=this.middleware[e],t=0;return{next:function(){return t<r.length?{value:r[t++],done:!1}:{done:!0}}}}},{key:"iterateMiddleware",value:function(e,r){var t=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return new Promise((function(i,u){var o=t.getMiddlewareIterator(r),l=null;!function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null!==n)return o=null,u(n);!0!==(l=o.next()).done?l.value.callback(e,t,r):i(t)}(n)}))}},{key:"createUnsubscribeFn",value:function(e,r){var t=this;return function n(){if(!n.executed){Object.defineProperty(n,"executed",{value:!0});for(var i=0;i<t.middleware[e].length;i++)if(r===t.middleware[e][i].callback){t.middleware[e].splice(i,1);break}}}}}]),e}()},iTvO:function(e,r){e.exports=require("@babel/runtime/helpers/createClass")}}); //# sourceMappingURL=index.js.map