diff options
Diffstat (limited to 'lib/modifiers/summary/unshiftArticle.js')
-rw-r--r-- | lib/modifiers/summary/unshiftArticle.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/modifiers/summary/unshiftArticle.js b/lib/modifiers/summary/unshiftArticle.js new file mode 100644 index 0000000..6bb97c9 --- /dev/null +++ b/lib/modifiers/summary/unshiftArticle.js @@ -0,0 +1,28 @@ +var SummaryArticle = require('../../models/summaryArticle'); +var SummaryPart = require('../../models/summaryPart'); + +var indexLevels = require('./indexLevels'); + +/** + Insert an article at the + + @param {Summary} summary + @param {Article} article + @return {Summary} +*/ +function unshiftArticle(summary, article) { + article = SummaryArticle(article); + + var parts = summary.getParts(); + var part = parts.get(0) || SummaryPart(); + + var articles = part.getArticles(); + articles = articles.unshift(article); + + parts = parts.set(0, part); + summary = summary.set('parts', parts); + + return indexLevels(summary); +} + +module.exports = unshiftArticle; |