Files
release-action/node_modules/before-after-hook/lib/register.js
Nick Cipollo 6c34249ffc
Some checks failed
PR Checks / check_pr (push) Has been cancelled
Prepare 1.6.1 release
2020-03-05 13:25:53 -05:00

29 lines
691 B
JavaScript

module.exports = register
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(function (callback, name) {
return register.bind(null, state, name, callback, options)
}, method)()
}
return Promise.resolve()
.then(function () {
if (!state.registry[name]) {
return method(options)
}
return (state.registry[name]).reduce(function (method, registered) {
return registered.hook.bind(null, method, options)
}, method)()
})
}