summaryrefslogtreecommitdiffstats
path: root/lib/plugins/listBlocks.js
blob: 3ac28afa25d4d4b84eddeae671a5f9c1a83f198d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var Immutable = require('immutable');

/**
    List blocks from a list of plugins

    @param {OrderedMap<String:Plugin>}
    @return {Map<String:TemplateBlock>}
*/
function listBlocks(plugins) {
    return plugins
        .reverse()
        .reduce(function(result, plugin) {
            var blocks = plugin.getBlocks();
            return result.merge(blocks);
        }, Immutable.Map());
}

module.exports = listBlocks;