summaryrefslogtreecommitdiffstats
path: root/lib/json/encodeSummaryArticle.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/json/encodeSummaryArticle.js')
-rw-r--r--lib/json/encodeSummaryArticle.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/json/encodeSummaryArticle.js b/lib/json/encodeSummaryArticle.js
new file mode 100644
index 0000000..987e44a
--- /dev/null
+++ b/lib/json/encodeSummaryArticle.js
@@ -0,0 +1,27 @@
+
+/**
+ Encode a SummaryArticle to JSON
+
+ @param {SummaryArticle}
+ @return {Object}
+*/
+function encodeSummaryArticle(article, recursive) {
+ var articles = undefined;
+ if (recursive !== false) {
+ articles = article.getArticles()
+ .map(encodeSummaryArticle)
+ .toJS();
+ }
+
+ return {
+ title: article.getTitle(),
+ level: article.getLevel(),
+ depth: article.getDepth(),
+ anchor: article.getAnchor(),
+ url: article.getUrl(),
+ path: article.getPath(),
+ articles: articles
+ };
+}
+
+module.exports = encodeSummaryArticle;