diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-06-06 17:27:47 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-06-06 17:27:47 +0200 |
commit | 30fbd22efe117f459873599311f16a2e7394aa52 (patch) | |
tree | d7b32b3ad7ade7b155c488f8b33afb2532b29696 /lib/modifiers/config/togglePlugin.js | |
parent | 29df73ba72cedc6ff66843dad59ffded9d4aa01b (diff) | |
download | gitbook-30fbd22efe117f459873599311f16a2e7394aa52.zip gitbook-30fbd22efe117f459873599311f16a2e7394aa52.tar.gz gitbook-30fbd22efe117f459873599311f16a2e7394aa52.tar.bz2 |
Add modifier togglePlugin
Diffstat (limited to 'lib/modifiers/config/togglePlugin.js')
-rw-r--r-- | lib/modifiers/config/togglePlugin.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/modifiers/config/togglePlugin.js b/lib/modifiers/config/togglePlugin.js new file mode 100644 index 0000000..13d4406 --- /dev/null +++ b/lib/modifiers/config/togglePlugin.js @@ -0,0 +1,25 @@ + +/** + * Enable/disable a plugin dependency + * @param {Book} book + * @param {String} plugin + * @param {Boolean} state (optional) + * @return {Book} + */ +function togglePlugin(book, plugin, state) { + var config = book.getConfig(); + var deps = config.getPluginDependencies(); + + deps = deps.map(function(dep) { + if (dep.getName() === plugin) { + return dep.toggle(state); + } + + return dep; + }); + + config = config.setPluginDependencies(deps); + return book.setConfig(config); +} + +module.exports = togglePlugin; |