diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-09-05 11:04:18 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-09-05 11:04:18 +0200 |
commit | a14ca3e268e95a7eab59fb205b41da7331d57631 (patch) | |
tree | 9c84b2cbd561345335fca3e26af961b2ea23d8ec /lib/output/callHook.js | |
parent | 9c071dade573aa6990878006f83c89b6065a1395 (diff) | |
download | gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.zip gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.tar.gz gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.tar.bz2 |
Switch to lerna
Diffstat (limited to 'lib/output/callHook.js')
-rw-r--r-- | lib/output/callHook.js | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/lib/output/callHook.js b/lib/output/callHook.js deleted file mode 100644 index 4914e52..0000000 --- a/lib/output/callHook.js +++ /dev/null @@ -1,60 +0,0 @@ -var Promise = require('../utils/promise'); -var timing = require('../utils/timing'); -var Api = require('../api'); - -function defaultGetArgument() { - return undefined; -} - -function defaultHandleResult(output, result) { - return output; -} - -/** - Call a "global" hook for an output - - @param {String} name - @param {Function(Output) -> Mixed} getArgument - @param {Function(Output, result) -> Output} handleResult - @param {Output} output - @return {Promise<Output>} -*/ -function callHook(name, getArgument, handleResult, output) { - getArgument = getArgument || defaultGetArgument; - handleResult = handleResult || defaultHandleResult; - - var logger = output.getLogger(); - var plugins = output.getPlugins(); - - logger.debug.ln('calling hook "' + name + '"'); - - // Create the JS context for plugins - var context = Api.encodeGlobal(output); - - return timing.measure( - 'call.hook.' + name, - - // Get the arguments - Promise(getArgument(output)) - - // Call the hooks in serie - .then(function(arg) { - return Promise.reduce(plugins, function(prev, plugin) { - var hook = plugin.getHook(name); - if (!hook) { - return prev; - } - - return hook.call(context, prev); - }, arg); - }) - - // Handle final result - .then(function(result) { - output = Api.decodeGlobal(output, context); - return handleResult(output, result); - }) - ); -} - -module.exports = callHook; |