Archive. Date of access: 12 Jan 2022

marak a2d9624aef [dist] Bump to v2.0.0 8 anni fa
examples 291e42e892 [dist] First commit 9 anni fa
test 9a65160df8 [dist] Added tests / coverage / ReadMe 8 anni fa
.gitignore 9a65160df8 [dist] Added tests / coverage / ReadMe 8 anni fa
ReadMe.md 9a65160df8 [dist] Added tests / coverage / ReadMe 8 anni fa
index.js baf765d3c8 [api] [fix] Don't ignore errors 8 anni fa
package.json a2d9624aef [dist] Bump to v2.0.0 8 anni fa

ReadMe.md

prototype-hooks

Adds before and after hooks to any JavaScript protoype chain.

Installation

npm install --save prototype-hooks

Features

  • Adds .before() hook for all existing prototype methods
  • Adds .after hook for all existing prototype methods
  • Quickly enables Apsect-oriented Programming AOP patterns for JavaScript

Example Usage

  var hooks = require('protoype-hooks');
 
  var Creature = function (opts) {
    this.name = opts.name;
  };
  
  Creature.prototype.talk = function (data, cb) {
    cb(null, this.name + ' says ' + data.text);
  };
  
  hooks(Creature);
  
  var larry = new Creature({ name: "Larry" });

  larry.before('talk', function(data, next) {
    data.text = data.text + "!";
    next(null, data);
  });

  larry.after('talk', function(text, next) {
    text = text + ' ... ';
    next(null, text);
  });
  
  larry.talk({ text: 'hi'}, function (err, result){
    console.log(err, result);
    // outputs: 'Larry says hi! ... '
  })