35 lines
1003 B
JavaScript
35 lines
1003 B
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const promise_1 = __importDefault(require("../utils/promise"));
|
|
/**
|
|
Walk over a list of articles
|
|
|
|
@param {List<Article>} articles
|
|
@param {Function(article)}
|
|
@return {Promise}
|
|
*/
|
|
function walkArticles(articles, fn) {
|
|
return promise_1.default.forEach(articles, (article) => {
|
|
return (0, promise_1.default)(fn(article)).then(() => {
|
|
return walkArticles(article.getArticles(), fn);
|
|
});
|
|
});
|
|
}
|
|
/**
|
|
Walk over summary and execute "fn" on each article
|
|
|
|
@param {Summary} summary
|
|
@param {Function(article)}
|
|
@return {Promise}
|
|
*/
|
|
function walkSummary(summary, fn) {
|
|
const parts = summary.getParts();
|
|
return promise_1.default.forEach(parts, (part) => {
|
|
return walkArticles(part.getArticles(), fn);
|
|
});
|
|
}
|
|
exports.default = walkSummary;
|