Socket
Socket
Sign inDemoInstall

egg-aop

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

egg-aop - npm Package Compare versions

Comparing version 0.3.6 to 0.3.7

36

lib/aspect.js

@@ -7,2 +7,9 @@ "use strict";

}
function getFinalData(target, data, func) {
if (!func) {
return data;
}
const newData = func(target, data);
return newData === undefined ? data : newData;
}
function funcWrapper(point, fn) {

@@ -12,13 +19,8 @@ let newFn;

newFn = function* (...args) {
args = point.before && point.before(this, args) || args;
try {
const result = yield fn.apply(this, args);
point.after && point.after(this, result);
return result;
let result = yield fn.apply(this, getFinalData(this, args, point.before));
return getFinalData(this, result, point.after);
}
catch (error) {
if (point.onError) {
error = point.onError(this, error) || error;
}
throw error;
throw getFinalData(this, error, point.onError);
}

@@ -30,8 +32,6 @@ };

newFn = function (...args) {
args = point.before && point.before(this, args) || args;
let result = fn.apply(this, args);
let result = fn.apply(this, getFinalData(this, args, point.before));
if (result instanceof Promise) {
result = result.then((ret) => {
point.after && point.after(this, ret);
return ret;
return getFinalData(this, ret, point.after);
});

@@ -41,19 +41,15 @@ if (point.onError) {

.catch(error => {
error = point.onError(this, error) || error;
throw error;
throw getFinalData(this, error, point.onError);
});
}
return result;
}
else {
try {
point.after && point.after(this, result);
return getFinalData(this, result, point.after);
}
catch (error) {
if (point.onError) {
error = point.onError(this, error) || error;
}
throw error;
throw getFinalData(this, error, point.onError);
}
}
return result;
};

@@ -60,0 +56,0 @@ }

{
"name": "egg-aop",
"version": "0.3.6",
"version": "0.3.7",
"description": "aop for egg.",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc