UNPKG

833 BJavaScriptView Raw
1const async = require('async');
2const utils = require('../utils');
3const basePath = process.cwd();
4
5module.exports = (section, meta, callback) => {
6
7 // Task flow control
8 async.parallel([
9
10 // Run processors for top level page
11 async.apply(runProcessor, section, meta),
12
13 // Run processors for children
14 (cb) => async.map(section.children, (section, cb) => {
15 runProcessor(section, meta, cb)
16 }, cb)
17
18 ], done);
19
20 // On complete handler
21 function done(err, result) {
22 if (err) {
23 callback(err);
24 } else {
25 callback(null, section)
26 }
27 }
28
29}
30
31function runProcessor(page, meta, cb) {
32
33 if (page.processor) {
34 var key = Object.keys(page.processor)[0];
35
36 // load processor and pass in configuration
37 require(`swanky-processor-${key}`)(page, meta, cb);
38
39 } else {
40 cb(null);
41 }
42}
\No newline at end of file