first commit
This commit is contained in:
27
node_modules/before-after-hook/lib/register.js
generated
vendored
Normal file
27
node_modules/before-after-hook/lib/register.js
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
// @ts-check
|
||||
|
||||
export function register(state, name, method, options) {
|
||||
if (typeof method !== "function") {
|
||||
throw new Error("method for before hook must be a function");
|
||||
}
|
||||
|
||||
if (!options) {
|
||||
options = {};
|
||||
}
|
||||
|
||||
if (Array.isArray(name)) {
|
||||
return name.reverse().reduce((callback, name) => {
|
||||
return register.bind(null, state, name, callback, options);
|
||||
}, method)();
|
||||
}
|
||||
|
||||
return Promise.resolve().then(() => {
|
||||
if (!state.registry[name]) {
|
||||
return method(options);
|
||||
}
|
||||
|
||||
return state.registry[name].reduce((method, registered) => {
|
||||
return registered.hook.bind(null, method, options);
|
||||
}, method)();
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user