diff options
Diffstat (limited to 'lib/models/languages.js')
-rw-r--r-- | lib/models/languages.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/models/languages.js b/lib/models/languages.js index c64857f..6c19cba 100644 --- a/lib/models/languages.js +++ b/lib/models/languages.js @@ -1,6 +1,7 @@ var Immutable = require('immutable'); var File = require('./file'); +var Language = require('./language'); var Languages = Immutable.Record({ file: File(), @@ -34,4 +35,29 @@ Languages.prototype.getLanguage = function(lang) { return this.getList().get(lang); }; + +/** + Create a languages list from a JS object + + @param {File} + @param {Array} + @return {Language} +*/ +Languages.createFromList = function(file, langs) { + var list = Immutable.OrderedMap(); + + langs.forEach(function(lang) { + lang = Language({ + title: lang.title, + path: lang.path + }); + list = list.set(lang.getID(), lang); + }); + + return Languages({ + file: file, + list: list + }); +} + module.exports = Languages; |