summaryrefslogtreecommitdiffstats
path: root/lib/modifiers/config/togglePlugin.js
diff options
context:
space:
mode:
authorSamy Pesse <samypesse@gmail.com>2016-06-06 17:27:47 +0200
committerSamy Pesse <samypesse@gmail.com>2016-06-06 17:27:47 +0200
commit30fbd22efe117f459873599311f16a2e7394aa52 (patch)
treed7b32b3ad7ade7b155c488f8b33afb2532b29696 /lib/modifiers/config/togglePlugin.js
parent29df73ba72cedc6ff66843dad59ffded9d4aa01b (diff)
downloadgitbook-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.js25
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;