Socket
Socket
Sign inDemoInstall

async-hooks

Package Overview
Dependencies
1
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    async-hooks

Async 'will' and 'did' hooks for any methods


Version published
Weekly downloads
1K
increased by112.5%
Maintainers
1
Install size
626 kB
Created
Weekly downloads
 

Readme

Source

async-hooks

NPM Version NPM Downloads

Async 'will' and 'did' hooks for any methods.

install

npm i async-hooks

usage

'use strict';
const hooks = require('async-hooks');

// Define your class
class MyClass {
  constructor() {
    hooks(this);
  }

  method(arg1, arg2) {
    return Promise.resolve(arg1 + arg2);
  }
}

// Instantiate MyClass
const myClass = new MyClass();
// Now you can add hooks to any class methods

myClass.will('method', (arg1, arg2) => {
  // ... do something
});

myClass.will('method', (arg1, arg2) => {
  // ... do something else
});

myClass.did('method', res => {
  // ... do something
  return res;
});

myClass.did('method', res => {
  // ... do something else
  return res;
});

API

(object, [method, ...])

Adds will and did methods to the object. Both will and did are lazy methods. So to use auto hooks you still should run it as:

hooks(this, 'method', 'anotherMethod');

will(method, hook)

Adds will (runs before) hook function to the method only if method exists and it is a function. hook function will receive all arguments as the original method. If hook function is async it should return a Promise.

If object has will<Method> it will be run before all other hooks

did(method, hook)

Adds did (runs after) hook function to the method only if method exists and it is a function. hook function will receive a result of the original method or previous hook and should return result or Promise.

If object has did<Method> it will be run after all other hooks

Errors

If object has catch<Method> it will receive the throws and orginal arguments.

License MIT;

© velocityzen

Keywords

FAQs

Last updated on 10 Nov 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc