node_modules
This commit is contained in:
46
node_modules/before-after-hook/lib/add.js
generated
vendored
Normal file
46
node_modules/before-after-hook/lib/add.js
generated
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
module.exports = addHook
|
||||
|
||||
function addHook (state, kind, name, hook) {
|
||||
var orig = hook
|
||||
if (!state.registry[name]) {
|
||||
state.registry[name] = []
|
||||
}
|
||||
|
||||
if (kind === 'before') {
|
||||
hook = function (method, options) {
|
||||
return Promise.resolve()
|
||||
.then(orig.bind(null, options))
|
||||
.then(method.bind(null, options))
|
||||
}
|
||||
}
|
||||
|
||||
if (kind === 'after') {
|
||||
hook = function (method, options) {
|
||||
var result
|
||||
return Promise.resolve()
|
||||
.then(method.bind(null, options))
|
||||
.then(function (result_) {
|
||||
result = result_
|
||||
return orig(result, options)
|
||||
})
|
||||
.then(function () {
|
||||
return result
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
if (kind === 'error') {
|
||||
hook = function (method, options) {
|
||||
return Promise.resolve()
|
||||
.then(method.bind(null, options))
|
||||
.catch(function (error) {
|
||||
return orig(error, options)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
state.registry[name].push({
|
||||
hook: hook,
|
||||
orig: orig
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user