applyfilters a JavaScript hook module
a simple lightweight javascript module to implement hooks in your project.
Execute functions hooked on a specific filter hook, specifying arguments like you know it from WordPress in your JavaScript project.
Install
npm install --save applyfilters
Usage
require
const applyfilters = ;
add a dofilter event
/* * Place the doFilter() function this will handle * the registred filter functions * * @param {string} filterName * @param filterObj * @param args * * @return promise */applyfilters;
a filter function
/* * Register a custom filter before doFilter('beforeSayHello') and change the response. * * Attention: the callback function in addFilter() * runs in a Promise so you have to resolve this! * * @param {string} filterName * @param {function} callback * @param {number} priority * * @return void */applyfilters; applyfilters;
RunKit Example
const applyfilters = ; // Usage see -> a filter functionapplyfilters; // simple objectvar runKitObj = foo: "bar" // Usage see -> add a dofilter eventapplyfilters;
Example
const applyfilters = ;; /** build a simple function **/const sayHello = { const helloStr = 'John'; const span = document; /** * Place the doFilter() function this will handle * the registered filter functions * * @param * @param filterObj * @param args * * @return promise **/ applyfilters;}; /* run codeexample on document loaded */document;
filter the helloStr from other place like a new file example/src/filter.js
module { const applyfilters = ; /** * Register a custom filter on 'beforeSayHello' and change the response. * * Attention: the callback function in addFilter() * runs in a Promise so you have to resolve this! * * @param * @param * @param * * @return void **/ applyfilters;}
The finally result in browser
applyfilters example - say hello to Sven and Rene
What is in the inside?
Name | Type | Description |
---|---|---|
filter | array | contains all registered filter |
addFilter | function | registers a function that use a filter/hook 'doFilter()' |
doFilter | function | register a filter/hook for this can add a filter 'addFilter()' |
asyncForEach | function | Iterate the registered filter from this.filter |
getFilter | function | returns all registered filter |