Skip to content

Erutan409/proxy-method

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Proxy JavaScript Methods
npm npm

Simple way of adding custom logic to an instantiated object's method(s).

Installation

npm install proxy-method --save

Usage

const proxyMethod = require('proxy-method');

const instance = new class {

    print(message) {
        console.log(`This is your message: ${message}`);
    }

};

instance.print('This is a test.');

// prints: 'This is your message: This is a test.'

// proxy the method before it executes
var restore = proxyMethod.before(
    instance,
    'print',
    message => `${message.replace(/\.\s*$/, '')} - suffixed.`,
    true
);

instance.print('This is another test.');

// prints: 'This is your message: This is another test - suffixed.'

// removing previous proxied functionality
restore.restore();

proxyMethod.after(instance, 'print', () => console.log('Executing after proxied method.'));

instance.print('This is one more test.');

// prints:
// This is your message: This is one more test.
// Executing after proxied method.