add node modules
This commit is contained in:
61
node_modules/before-after-hook/index.js
generated
vendored
Normal file
61
node_modules/before-after-hook/index.js
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
var register = require("./lib/register");
|
||||
var addHook = require("./lib/add");
|
||||
var removeHook = require("./lib/remove");
|
||||
|
||||
// bind with array of arguments: https://stackoverflow.com/a/21792913
|
||||
var bind = Function.bind;
|
||||
var bindable = bind.bind(bind);
|
||||
|
||||
function bindApi(hook, state, name) {
|
||||
var removeHookRef = bindable(removeHook, null).apply(
|
||||
null,
|
||||
name ? [state, name] : [state]
|
||||
);
|
||||
hook.api = { remove: removeHookRef };
|
||||
hook.remove = removeHookRef;
|
||||
["before", "error", "after", "wrap"].forEach(function (kind) {
|
||||
var args = name ? [state, kind, name] : [state, kind];
|
||||
hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);
|
||||
});
|
||||
}
|
||||
|
||||
function HookSingular() {
|
||||
var singularHookName = "h";
|
||||
var singularHookState = {
|
||||
registry: {},
|
||||
};
|
||||
var singularHook = register.bind(null, singularHookState, singularHookName);
|
||||
bindApi(singularHook, singularHookState, singularHookName);
|
||||
return singularHook;
|
||||
}
|
||||
|
||||
function HookCollection() {
|
||||
var state = {
|
||||
registry: {},
|
||||
};
|
||||
|
||||
var hook = register.bind(null, state);
|
||||
bindApi(hook, state);
|
||||
|
||||
return hook;
|
||||
}
|
||||
|
||||
var collectionHookDeprecationMessageDisplayed = false;
|
||||
function Hook() {
|
||||
if (!collectionHookDeprecationMessageDisplayed) {
|
||||
console.warn(
|
||||
'[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4'
|
||||
);
|
||||
collectionHookDeprecationMessageDisplayed = true;
|
||||
}
|
||||
return HookCollection();
|
||||
}
|
||||
|
||||
Hook.Singular = HookSingular.bind();
|
||||
Hook.Collection = HookCollection.bind();
|
||||
|
||||
module.exports = Hook;
|
||||
// expose constructors as a named property for TypeScript
|
||||
module.exports.Hook = Hook;
|
||||
module.exports.Singular = Hook.Singular;
|
||||
module.exports.Collection = Hook.Collection;
|
||||
Reference in New Issue
Block a user