summaryrefslogtreecommitdiffstats
path: root/packages/gitbook/src/json/encodeSummaryArticle.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gitbook/src/json/encodeSummaryArticle.js')
-rw-r--r--packages/gitbook/src/json/encodeSummaryArticle.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/gitbook/src/json/encodeSummaryArticle.js b/packages/gitbook/src/json/encodeSummaryArticle.js
new file mode 100644
index 0000000..0b9461c
--- /dev/null
+++ b/packages/gitbook/src/json/encodeSummaryArticle.js
@@ -0,0 +1,28 @@
+
+/**
+ Encode a SummaryArticle to JSON
+
+ @param {SummaryArticle}
+ @return {Object}
+*/
+function encodeSummaryArticle(article, recursive) {
+ let 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(),
+ ref: article.getRef(),
+ articles
+ };
+}
+
+module.exports = encodeSummaryArticle;