diff options
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 |