summaryrefslogtreecommitdiffstats
path: root/lib/json/encodeSummaryArticle.js
blob: 987e44a590cf868a30c9cc34ee3c1380c38e7932 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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;