apeman-doc
Version:
Document generator for apeman.
53 lines (44 loc) • 1.15 kB
JavaScript
/**
* Documentize an apemanfile.
* @function apemanfileDocBud
*/
const _tmpl = require('./_tmpl')
const path = require('path')
const assert = require('assert')
const arrayreduce = require('arrayreduce')
const arrayfilter = require('arrayfilter')
const pkgData = require('./pkg_data')
const protoData = require('./proto_data')
const childrenData = require('./children_data')
const needsData = require('./needs_data')
/** @lends apemanfileDocBud */
function apemanfileDocBud (apemanfile) {
if (typeof apemanfile === 'string') {
apemanfile = require(apemanfile)
}
assert.ok(apemanfile, 'apemanfile is required.')
let $cwd = apemanfile.$cwd || process.cwd()
let {
$pkg,
$notes,
$children,
$needs,
$proto
} = apemanfile
let arrayConcat = arrayreduce.arrayConcat()
let emptyReject = arrayfilter.emptyReject()
return {
force: true,
mode: '444',
mkdirp: true,
tmpl: _tmpl('apdoc.hbs'),
data: {
pkg: pkgData($pkg),
proto: protoData($proto),
children: childrenData($children),
needs: needsData($needs)
}
}
}
module.exports = apemanfileDocBud