diff options
Diffstat (limited to 'lib/models/glossary.js')
-rw-r--r-- | lib/models/glossary.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/models/glossary.js b/lib/models/glossary.js index 51aa370..bb4407d 100644 --- a/lib/models/glossary.js +++ b/lib/models/glossary.js @@ -1,7 +1,9 @@ var Immutable = require('immutable'); +var error = require('../utils/error'); var File = require('./file'); var GlossaryEntry = require('./glossaryEntry'); +var parsers = require('../parsers'); var Glossary = Immutable.Record({ file: File(), @@ -30,6 +32,27 @@ Glossary.prototype.getEntry = function(name) { }; /** + Render glossary as text + + @return {Promise<String>} +*/ +Glossary.prototype.toText = function(parser) { + var file = this.getFile(); + var entries = this.getEntries(); + + parser = parser? parsers.getByExt(parser) : file.getParser(); + + if (!parser) { + throw error.FileNotParsableError({ + filename: file.getPath() + }); + } + + return parser.glossary.toText(entries.toJS()); +}; + + +/** Add/Replace an entry to a glossary @param {Glossary} glossary |