This commit is contained in:
Enok
2019-10-10 18:04:43 +08:00
parent 16a2f295e8
commit c2d26c1dff
534 changed files with 85643 additions and 1 deletions
+28
View File
@@ -0,0 +1,28 @@
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)()
})
}