diff options
author | Soreine <nicolas@gitbook.com> | 2016-05-03 16:02:58 +0200 |
---|---|---|
committer | Soreine <nicolas@gitbook.com> | 2016-05-03 16:02:58 +0200 |
commit | 3fc90554f5e7e6ff2fb4f023319799e1e8f81454 (patch) | |
tree | dc34d87ba50d004c9fac610a370432ae340ad498 /lib/modifiers/summary/editArticle.js | |
parent | 4ebe28faaebb8752107ef6cfa6253f7b6f8a2a86 (diff) | |
download | gitbook-3fc90554f5e7e6ff2fb4f023319799e1e8f81454.zip gitbook-3fc90554f5e7e6ff2fb4f023319799e1e8f81454.tar.gz gitbook-3fc90554f5e7e6ff2fb4f023319799e1e8f81454.tar.bz2 |
Add tests, and fixes.
Diffstat (limited to 'lib/modifiers/summary/editArticle.js')
-rw-r--r-- | lib/modifiers/summary/editArticle.js | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/lib/modifiers/summary/editArticle.js b/lib/modifiers/summary/editArticle.js deleted file mode 100644 index 1625398..0000000 --- a/lib/modifiers/summary/editArticle.js +++ /dev/null @@ -1,70 +0,0 @@ - -/** - Edit a list of articles - - @param {List<Article>} articles - @param {String} level - @param {Article} newArticle - @return {List<Article>} -*/ -function editArticleInList(articles, level, newArticle) { - return articles.map(function(article) { - var articleLevel = article.getLevel(); - - if (articleLevel == level) { - return article.merge(newArticle); - } - - if (level.indexOf(articleLevel) === 0) { - var articles = editArticleInList(article.getArticles(), level, newArticle); - return article.set('articles', articles); - } - - return article; - }); -} - - -/** - Edit an article in a part - - @param {Part} part - @param {String} level - @param {Article} newArticle - @return {Part} -*/ -function editArticleInPart(part, level, newArticle) { - var articles = part.getArticles(); - articles = editArticleInList(articles); - - return part.set('articles', articles); -} - - -/** - Edit an article in a summary - - @param {Summary} summary - @param {String} level - @param {Article} newArticle - @return {Summary} -*/ -function editArticle(summary, level, newArticle) { - var parts = summary.getParts(); - - var levelParts = level.split('.'); - var partIndex = Number(levelParts[0]); - - var part = parts.get(partIndex); - if (!part) { - return summary; - } - - part = editArticleInPart(part, level, newArticle); - parts = parts.set(partIndex, part); - - return summary.set('parts', parts); -} - - -module.exports = editArticle; |