New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@aofl/middleware

Package Overview
Dependencies
Maintainers
2
Versions
142
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aofl/middleware - npm Package Compare versions

Comparing version

to
3.0.0-beta.32

2

dist/index.js

@@ -1,2 +0,2 @@

module.exports=function(e){var n={};function r(t){if(n[t])return n[t].exports;var o=n[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)r.d(t,o,function(n){return e[n]}.bind(null,o));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="/",r(r.s="QfWi")}({QfWi:function(e,n,r){"use strict";r.r(n);var t=r("lwsE"),o=r.n(t),i=r("W8MJ"),u=r.n(i),a=function(){function e(){o()(this,e),this.middleware={};for(var n=arguments.length,r=new Array(n),t=0;t<n;t++)r[t]=arguments[t];for(var i=0;i<r.length;i++)this.middleware[r[i]]=[]}return u()(e,[{key:"use",value:function(e,n){if("function"!=typeof e)throw new Error("callback must be a function");if(void 0===this.middleware[n])throw new Error("Only ".concat(Object.keys(this.middleware)," hooks are supported."));return this.middleware[n].push({callback:e,hook:n}),this.createUnsubscribeFn(n,e)}},{key:"getMiddlewareIterator",value:function(e){var n=this.middleware[e],r=0;return{next:function(){return r<n.length?{value:n[r++],done:!1}:{done:!0}}}}},{key:"iterateMiddleware",value:function(e,n){var r=this,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return new Promise((function(o){var i=r.getMiddlewareIterator(n),u=null;!function n(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;!0!==(u=i.next()).done?u.value.callback(e,r,n):o(r)}(t)}))}},{key:"createUnsubscribeFn",value:function(e,n){var r=this;return function t(){if(!t.executed){Object.defineProperty(t,"executed",{value:!0});var o=r.middleware[e].indexOf(n);o>-1&&r.middleware[e].splice(o,1)}}}}]),e}();r.d(n,"Middleware",(function(){return a}))},W8MJ:function(e,n){function r(e,n){for(var r=0;r<n.length;r++){var t=n[r];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}e.exports=function(e,n,t){return n&&r(e.prototype,n),t&&r(e,t),e}},lwsE:function(e,n){e.exports=function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}}});
module.exports=function(e){var r={};function n(t){if(r[t])return r[t].exports;var o=r[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=r,n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,r){if(1&r&&(e=n(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(n.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)n.d(t,o,function(r){return e[r]}.bind(null,o));return t},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},n.p="/",n(n.s="QfWi")}({QfWi:function(e,r,n){"use strict";n.r(r);var t=n("lwsE"),o=n.n(t),i=n("W8MJ"),u=n.n(i),a=function(){function e(){o()(this,e),this.middleware={};for(var r=arguments.length,n=new Array(r),t=0;t<r;t++)n[t]=arguments[t];for(var i=0;i<n.length;i++)this.middleware[n[i]]=[]}return u()(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],n=0;return{next:function(){return n<r.length?{value:r[n++],done:!1}:{done:!0}}}}},{key:"iterateMiddleware",value:function(e,r){var n=this,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return new Promise((function(o){var i=n.getMiddlewareIterator(r),u=null;!function r(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;!0!==(u=i.next()).done?u.value.callback(e,n,r):o(n)}(t)}))}},{key:"createUnsubscribeFn",value:function(e,r){var n=this;return function t(){if(!t.executed){Object.defineProperty(t,"executed",{value:!0});for(var o=0;o<n.middleware[e].length;o++)if(r===n.middleware[e][o].callback){n.middleware[e].splice(o,1);break}}}}}]),e}();n.d(r,"Middleware",(function(){return a}))},W8MJ:function(e,r){function n(e,r){for(var n=0;n<r.length;n++){var t=r[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}e.exports=function(e,r,t){return r&&n(e.prototype,r),t&&n(e,t),e}},lwsE:function(e,r){e.exports=function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}}});
//# sourceMappingURL=index.js.map

@@ -106,6 +106,7 @@ /**

const index = this.middleware[hook].indexOf(callback);
/* istanbul ignore else */
if (index > -1) {
this.middleware[hook].splice(index, 1);
for (let i = 0; i < this.middleware[hook].length; i++) {
if (callback === this.middleware[hook][i].callback) {
this.middleware[hook].splice(i, 1);
break;
}
}

@@ -112,0 +113,0 @@ };

{
"name": "@aofl/middleware",
"version": "3.0.0-beta.30",
"version": "3.0.0-beta.32",
"description": "Simple base middleware class",

@@ -32,3 +32,3 @@ "main": "index.js",

"devDependencies": {
"@aofl/cli": "^3.0.0-beta.30",
"@aofl/cli": "^3.0.0-beta.32",
"cross-env": "^6.0.3",

@@ -38,4 +38,3 @@ "jsdoc": "^3.6.3",

"tsd-jsdoc": "^2.4.0"
},
"gitHead": "7bb6b9b6e2c1d77cf7e65680aeb6a4c60e0300f4"
}
}

@@ -5,7 +5,4 @@ import {Middleware} from '../modules/middleware';

describe('@aofl/middleware', function() {
before(function() {
beforeEach(function() {
this.mw = new Middleware('before', 'after');
});
beforeEach(function() {
this.beforeStub = sinon.stub();

@@ -21,6 +18,12 @@ this.afterStub = sinon.stub();

}
this.mw.use(this.beforeMW, 'before');
this.mw.use(this.afterMW, 'after');
this.unsubBefore = this.mw.use(this.beforeMW, 'before');
this.unsubAfter = this.mw.use(this.afterMW, 'after');
});
afterEach(function() {
this.mw = null;
this.beforeStub.reset();
this.afterStub.reset();
});
context('Registering and calling', function() {

@@ -51,2 +54,37 @@ it('Should register middleware', function() {

context('Unsubscribe and calling', function() {
beforeEach(function() {
this.unsubBefore();
this.unsubAfter();
});
it('Should call before middleware', async function() {
try {
await this.mw.iterateMiddleware({}, 'before');
expect(this.beforeStub.called).to.be.false;
} catch (e) {
return Promise.reject(e);
}
});
it('Should call after middleware', async function() {
try {
await this.mw.iterateMiddleware({}, 'after');
expect(this.afterStub.called).to.be.false;
} catch (e) {
return Promise.reject(e);
}
});
it('Calling unsubscribe twice should not have any effect', async function() {
try {
this.unsubAfter();
await this.mw.iterateMiddleware({}, 'after');
expect(this.afterStub.called).to.be.false;
} catch (e) {
return Promise.reject(e);
}
});
});
context('Enforcement and errors', function() {

@@ -71,7 +109,2 @@ it('Should throw an error when registering w/invalid hook', function() {

});
afterEach(function() {
this.beforeStub.reset();
this.afterStub.reset();
});
});

Sorry, the diff of this file is not supported yet