diff options
Diffstat (limited to 'lib/plugins/listBlocks.js')
-rw-r--r-- | lib/plugins/listBlocks.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/plugins/listBlocks.js b/lib/plugins/listBlocks.js new file mode 100644 index 0000000..f738937 --- /dev/null +++ b/lib/plugins/listBlocks.js @@ -0,0 +1,17 @@ +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) { + return result.merge(plugin.getBlocks()); + }, Immutable.Map()); +} + +module.exports = listBlocks; |