diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-05-02 22:02:45 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-05-02 22:02:45 +0200 |
commit | 41e687255717c43d1bf2745e7b806057c7de16ae (patch) | |
tree | 6be8992936b0c0ec006fc46d5f7577791494aba1 /lib/models/config.js | |
parent | 8de0d6186e8a10cdd5a3efe9a4cf0afcae734223 (diff) | |
parent | 30c96c37c2145a28710e2875c677d37156fdaa92 (diff) | |
download | gitbook-41e687255717c43d1bf2745e7b806057c7de16ae.zip gitbook-41e687255717c43d1bf2745e7b806057c7de16ae.tar.gz gitbook-41e687255717c43d1bf2745e7b806057c7de16ae.tar.bz2 |
Merge branch 'fix/plugins_deps'
Diffstat (limited to 'lib/models/config.js')
-rw-r--r-- | lib/models/config.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/models/config.js b/lib/models/config.js index 6ee03e4..83dd6d4 100644 --- a/lib/models/config.js +++ b/lib/models/config.js @@ -2,6 +2,7 @@ var is = require('is'); var Immutable = require('immutable'); var File = require('./file'); +var PluginDependency = require('./pluginDependency'); var configDefault = require('../constants/configDefault'); var Config = Immutable.Record({ @@ -53,6 +54,33 @@ Config.prototype.setValue = function(keyPath, value) { }; /** + Return a list of plugin dependencies + + @return {List<PluginDependency>} +*/ +Config.prototype.getPluginDependencies = function() { + var plugins = this.getValue('plugins'); + + if (is.string(plugins)) { + return PluginDependency.listFromString(plugins); + } else { + return PluginDependency.listFromArray(plugins); + } +}; + +/** + Update the list of plugins dependencies + + @param {List<PluginDependency>} + @return {Config} +*/ +Config.prototype.setPluginDependencies = function(deps) { + var plugins = PluginDependency.listToArray(deps); + + return this.setValue('plugins', plugins); +}; + +/** Create a new config for a file @param {File} file |