wp-hooks
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

Introduction: wp-hooks

Create hooks insipred by Wordpress. Two types Action and Filter have been included and modifyed.

Example of the two types

import { createAction, createFilter, HookLib } from './';
 
/**
 * Interface describing the action 
 */
export interface IAction {
    (target: number, meta: number): HookLib.Promise<any>;
    stack: Array<{
        (target: number, meta: number, next: { (err: Error, res: number): void }): void;
    }>;
}
 
// create action
let action: IAction = createAction([]);
 
// add a command to stack for action
action.stack.push((cargo: number, meta: number, next: { (err: Error, res: number): void }) => {
 
    return next(undefined, cargo * meta);
});
 
// do action and get result
action(4, 3).then((res: any) => {
 
    // output 12
    console.log(res);
});
 
/**
 * Interface describing the filter 
 */
export interface IFilter {
    (target: number, meta: number): HookLib.Promise<any>;
    stack: Array<{
        (target: number, meta: number, next: { (err: Error, res: number): void }): void;
    }>;
}
 
// create action
let filter: IFilter = createFilter([(cargo: number, meta: number, next: { (err: Error, cargo: number, meta: number): void }) => {
 
    return next(undefined, cargo * meta, meta);
}]);
 
// do action and get result
filter(4, 3).then((res: any) => {
 
    // output [12, 3]
    console.log(res);
});
 

License

The MIT License (MIT)

Readme

Keywords

Package Sidebar

Install

npm i wp-hooks

Weekly Downloads

1

Version

1.0.1

License

MIT

Last publish

Collaborators

  • medsolve