summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-core/src/models/Config.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gitbook-core/src/models/Config.js')
-rw-r--r--packages/gitbook-core/src/models/Config.js14
1 files changed, 10 insertions, 4 deletions
diff --git a/packages/gitbook-core/src/models/Config.js b/packages/gitbook-core/src/models/Config.js
index 50abef2..6e28f66 100644
--- a/packages/gitbook-core/src/models/Config.js
+++ b/packages/gitbook-core/src/models/Config.js
@@ -1,10 +1,15 @@
-const { Map, fromJS } = require('immutable');
+const { Record, Map, fromJS } = require('immutable');
+
+const DEFAULTS = {
+ title: String(),
+ pluginsConfig: Map()
+};
/**
* Configuration from the book.
* @type {Class}
*/
-class Config extends Map {
+class Config extends Record(DEFAULTS) {
/**
* Create a config instance from values.
@@ -12,8 +17,9 @@ class Config extends Map {
* @return {Config}
*/
static create(values) {
- return values instanceof Config ?
- values : new Config(fromJS(values));
+ return (values instanceof Config) ?
+ values :
+ new Config(fromJS(values));
}
/**