diff options
Diffstat (limited to 'packages/gitbook-core/src/models/Config.js')
-rw-r--r-- | packages/gitbook-core/src/models/Config.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/gitbook-core/src/models/Config.js b/packages/gitbook-core/src/models/Config.js new file mode 100644 index 0000000..50abef2 --- /dev/null +++ b/packages/gitbook-core/src/models/Config.js @@ -0,0 +1,32 @@ +const { Map, fromJS } = require('immutable'); + +/** + * Configuration from the book. + * @type {Class} + */ +class Config extends Map { + + /** + * Create a config instance from values. + * @param {Mixed} values + * @return {Config} + */ + static create(values) { + return values instanceof Config ? + values : new Config(fromJS(values)); + } + + /** + * Get configuration for a plugin. + * @param {String} pluginName + * @return {Map} + */ + getForPlugin(pluginName) { + return this.getIn([ + 'pluginsConfig', pluginName + ]); + } + +} + +module.exports = Config; |