Adding the rest back in.
Some checks failed
Auto Maintenance Cycle / pre-commit Autoupdate (push) Failing after 34s
Some checks failed
Auto Maintenance Cycle / pre-commit Autoupdate (push) Failing after 34s
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,
|
||||
});
|
||||
}
|
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 @@
|
||||
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)();
|
||||
});
|
||||
}
|
19
node_modules/before-after-hook/lib/remove.js
generated
vendored
Normal file
19
node_modules/before-after-hook/lib/remove.js
generated
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
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