var Immutable = require('immutable'); var TemplateOutput = Immutable.Record({ // Text content of the template content: String(), // Map of blocks to replace / post process blocks: Immutable.Map() }, 'TemplateOutput'); TemplateOutput.prototype.getContent = function() { return this.get('content'); }; TemplateOutput.prototype.getBlocks = function() { return this.get('blocks'); }; /** * Update content of this output * @param {String} content * @return {TemplateContent} */ TemplateOutput.prototype.setContent = function(content) { return this.set('content', content); }; /** * Create a TemplateOutput from a text content * and an object containing block definition * @param {String} content * @param {Object} blocks * @return {TemplateOutput} */ TemplateOutput.create = function(content, blocks) { return new TemplateOutput({ content: content, blocks: Immutable.fromJS(blocks) }); }; module.exports = TemplateOutput;