node-aop

node-aop is a aop helper library for JavaScript, can be run inside Node.js or in a browser.

npm install node-aop
2 downloads in the last week
7 downloads in the last month

aop.js

aop.js is a simple aop, can be run inside Node.js or in a browser.

install

In a browser

<script type="text/javascript" src="aop/aop.js"></script>

In Node, use NPM to install:

npm install node-aop

Note that the package name is node-aop; the name “aop” was already taken.

Usage

var aop = require("node-aop");// Node.js require. Use window.aop in browser

var obj = {
  url:"",
    get : function(key){
        return this["key"];
    },
    set : function(key, value){
        this["key"] = value;
    } 
};

var h1 = aop.before(obj, "set", function(key, value){
    value += " before-1 ";
    return [key, value]; // modify the parameters, 
});

var h2 = aop.before(obj, "set", function(key, value){
    value += " before-2 ";// do not modify the parameters
});
// before
obj.set("url", "http://mojijs.com");
console.log( obj.get("url") );  // http://mojijs.com before-1


var h3 = aop.after(obj, "get", function(value){
    value += " after-1 "; // do not modify the return value
});

var h4 = aop.after(obj, "get", function(value){
    value += " after-2 "; 
    return value; // modify the return value
});

// after
console.log( obj.get("url") ); //http://mojijs.com before-1  after-2  



// rmmove 
h1.remove();
h4.remove();

obj.set("url", "http://google.com");
console.log( obj.get("url") ); // http://google.com
npm loves you