github.com/nektos/act@v0.2.63/pkg/runner/testdata/actions/node20/node_modules/before-after-hook/lib/register.js (about) 1 module.exports = register; 2 3 function register(state, name, method, options) { 4 if (typeof method !== "function") { 5 throw new Error("method for before hook must be a function"); 6 } 7 8 if (!options) { 9 options = {}; 10 } 11 12 if (Array.isArray(name)) { 13 return name.reverse().reduce(function (callback, name) { 14 return register.bind(null, state, name, callback, options); 15 }, method)(); 16 } 17 18 return Promise.resolve().then(function () { 19 if (!state.registry[name]) { 20 return method(options); 21 } 22 23 return state.registry[name].reduce(function (method, registered) { 24 return registered.hook.bind(null, method, options); 25 }, method)(); 26 }); 27 }