diff options
Diffstat (limited to 'lib/plugins')
-rw-r--r-- | lib/plugins/index.js | 4 | ||||
-rw-r--r-- | lib/plugins/listBlocks.js | 17 | ||||
-rw-r--r-- | lib/plugins/listFilters.js | 17 | ||||
-rw-r--r-- | lib/plugins/listResources.js | 2 |
4 files changed, 38 insertions, 2 deletions
diff --git a/lib/plugins/index.js b/lib/plugins/index.js index 8842342..607a7f1 100644 --- a/lib/plugins/index.js +++ b/lib/plugins/index.js @@ -3,6 +3,8 @@ module.exports = { loadForBook: require('./loadForBook'), validateConfig: require('./validateConfig'), installPlugins: require('./installPlugins'), - listResources: require('./listResources') + listResources: require('./listResources'), + listBlocks: require('./listBlocks'), + listFilters: require('./listFilters') }; 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; diff --git a/lib/plugins/listFilters.js b/lib/plugins/listFilters.js new file mode 100644 index 0000000..4d8a471 --- /dev/null +++ b/lib/plugins/listFilters.js @@ -0,0 +1,17 @@ +var Immutable = require('immutable'); + +/** + List filters from a list of plugins + + @param {OrderedMap<String:Plugin>} + @return {Map<String:Function>} +*/ +function listFilters(plugins) { + return plugins + .reverse() + .reduce(function(result, plugin) { + return result.merge(plugin.getFilters()); + }, Immutable.Map()); +} + +module.exports = listFilters; diff --git a/lib/plugins/listResources.js b/lib/plugins/listResources.js index b4a16cb..4a73a2c 100644 --- a/lib/plugins/listResources.js +++ b/lib/plugins/listResources.js @@ -5,7 +5,7 @@ var LocationUtils = require('../utils/location'); var PLUGIN_RESOURCES = require('../constants/pluginResources'); /** - Encode plugins as JSON + List all resources from a list of plugins @param {OrderedMap<String:Plugin>} @param {String} type |