summaryrefslogtreecommitdiffstats
path: root/packages/gitbook/src/models/readme.js
blob: 5b7654e3f767878288ff2203333e30a9055c80a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
const { Record } = require('immutable');
const File = require('./file');

const DEFAULTS = {
    file:        new File()
};

class Readme extends Record(DEFAULTS) {
    getFile() {
        return this.get('file');
    }

    /**
     * Set file linked to the readme.
     * @param  {File} file
     * @return {Readme}
     */
    setFile(file) {
        return this.merge({ file });
    }

    /**
     * Create a new readme
     *
     * @param {Object} def
     * @return {Readme}
     */
    static create(def) {
        def = def || {};

        return new Readme({
            file: def.file || ''
        });
    }
}

module.exports = Readme;