summaryrefslogtreecommitdiffstats
path: root/lib/modifiers/summary/editArticle.js
diff options
context:
space:
mode:
authorSoreine <nicolas@gitbook.com>2016-05-03 16:02:58 +0200
committerSoreine <nicolas@gitbook.com>2016-05-03 16:02:58 +0200
commit3fc90554f5e7e6ff2fb4f023319799e1e8f81454 (patch)
treedc34d87ba50d004c9fac610a370432ae340ad498 /lib/modifiers/summary/editArticle.js
parent4ebe28faaebb8752107ef6cfa6253f7b6f8a2a86 (diff)
downloadgitbook-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.js70
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;