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
|
||||
})
|
||||
}
|
28
node_modules/before-after-hook/lib/register.js
generated
vendored
Normal file
28
node_modules/before-after-hook/lib/register.js
generated
vendored
Normal 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)()
|
||||
})
|
||||
}
|
17
node_modules/before-after-hook/lib/remove.js
generated
vendored
Normal file
17
node_modules/before-after-hook/lib/remove.js
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
module.exports = removeHook
|
||||
|
||||
function removeHook (state, name, method) {
|
||||
if (!state.registry[name]) {
|
||||
return
|
||||
}
|
||||
|
||||
var index = state.registry[name]
|
||||
.map(function (registered) { return registered.orig })
|
||||
.indexOf(method)
|
||||
|
||||
if (index === -1) {
|
||||
return
|
||||
}
|
||||
|
||||
state.registry[name].splice(index, 1)
|
||||
}
|
Reference in New Issue
Block a user