diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-04-28 11:15:51 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-04-28 11:15:51 +0200 |
commit | 4763f1342c1b63d2f43ae2f5060b93d4c09271fd (patch) | |
tree | 5ef83232fa187532efe01f59ce3d794476d56b60 /lib/modifiers/summary/unshiftArticle.js | |
parent | 9413e53b001c3a7ee9d07a362a7bdd69df4d4c1e (diff) | |
download | gitbook-4763f1342c1b63d2f43ae2f5060b93d4c09271fd.zip gitbook-4763f1342c1b63d2f43ae2f5060b93d4c09271fd.tar.gz gitbook-4763f1342c1b63d2f43ae2f5060b93d4c09271fd.tar.bz2 |
Add base modifiers for summary as SummaryModifier
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; |