diff options
Diffstat (limited to 'packages/gitbook-core/src/models/StateApi.js')
-rw-r--r-- | packages/gitbook-core/src/models/StateApi.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/gitbook-core/src/models/StateApi.js b/packages/gitbook-core/src/models/StateApi.js new file mode 100644 index 0000000..430833b --- /dev/null +++ b/packages/gitbook-core/src/models/StateApi.js @@ -0,0 +1,26 @@ +const { Record } = require('immutable'); + +const DEFAULTS = { + currentUser: null +}; + +/** + * State for the API, it stores informations about the logged in user, etc. + * @type {Record} + */ +class StateApi extends Record(DEFAULTS) { + static create(state) { + return state instanceof StateApi ? + state : new StateApi(state); + } + + /** + * Check if reader is an user is loggedin. + * @return {Boolean} + */ + get isLoggedIn() { + return Boolean(this.currentUser); + } +} + +module.exports = StateApi; |