summaryrefslogtreecommitdiffstats
path: root/lib/output/callPageHook.js
blob: 0582da95c16e75dacd4f5fa647919c5db5af6b8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var Api = require('../api');
var callHook = require('./callHook');

var Promise = require('../utils/promise');

/**
    Call a hook for a specific page

    @param {String} name
    @param {Output} output
    @param {Page} page
    @return {Promise<Page>}
*/
function callPageHook(name, output, page) {
    return callHook(
        name,

        function(out) {
            return Api.encodePage(out, page);
        },

        function(out, result) {
            return Api.decodePage(out, page, result);
        },

        output
    );
}

module.exports = callPageHook;