3 var _ = require('lodash'),
4 fs = require('fs-extra'),
5 path = require('path'),
6 util = require('../common/util');
8 var mapping = require('../../fp/_mapping'),
9 templatePath = path.join(__dirname, 'template/doc'),
10 template = util.globTemplate(path.join(templatePath, '*.jst'));
12 var argNames = ['a', 'b', 'c', 'd'];
16 'toArgOrder': toArgOrder,
17 'toFuncList': toFuncList
20 function toArgOrder(array) {
21 return '`(' + _.map(array, function(value) {
22 return argNames[value];
26 function toFuncList(array) {
27 var chunks = _.chunk(array.slice().sort(), 5),
28 lastChunk = _.last(chunks),
29 last = lastChunk ? lastChunk.pop() : undefined;
31 chunks = _.reject(chunks, _.isEmpty);
32 lastChunk = _.last(chunks);
34 var result = '`' + _.map(chunks, function(chunk) {
35 return chunk.join('`, `') + '`';
41 if (_.size(chunks) > 1 || _.size(lastChunk) > 1) {
45 result += _.size(lastChunk) < 5 ? ' ' : '\n';
46 return result + '`' + last + '`';
49 /*----------------------------------------------------------------------------*/
51 function onComplete(error) {
57 function build(target) {
58 target = path.resolve(target);
59 fs.writeFile(target, template.wiki(templateData), onComplete);
62 build(_.last(process.argv));