mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-17 08:05:19 +00:00
42 lines
823 B
JavaScript
42 lines
823 B
JavaScript
var Immutable = require('immutable');
|
|
|
|
var File = require('./file');
|
|
var SummaryPart = require('./summaryPart');
|
|
|
|
var Summary = Immutable.Record({
|
|
file: File(),
|
|
parts: Immutable.List()
|
|
});
|
|
|
|
Summary.prototype.getFile = function() {
|
|
return this.get('file');
|
|
};
|
|
|
|
Summary.prototype.getParts = function() {
|
|
return this.get('parts');
|
|
};
|
|
|
|
|
|
/**
|
|
Create a new summary for a list of parts
|
|
|
|
@param {Lust|Array} parts
|
|
@return {Summary}
|
|
*/
|
|
Summary.createFromParts = function createFromParts(file, parts) {
|
|
parts = parts.map(function(part) {
|
|
if (part instanceof SummaryPart) {
|
|
return part;
|
|
}
|
|
|
|
return SummaryPart.create(part);
|
|
});
|
|
|
|
return new Summary({
|
|
file: file,
|
|
parts: new Immutable.List(parts)
|
|
});
|
|
};
|
|
|
|
module.exports = Summary;
|