summaryrefslogtreecommitdiffstats
path: root/lib/models/config.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models/config.js')
-rw-r--r--lib/models/config.js28
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