'use strict';
-const _ = require('lodash');
-const fs = require('fs-extra');
-const path = require('path');
+var _ = require('lodash'),
+ fs = require('fs-extra'),
+ path = require('path');
-const file = require('../common/file');
-const mapping = require('../common/mapping');
-const util = require('../common/util');
+var file = require('../common/file'),
+ mapping = require('../common/mapping');
-const templatePath = path.join(__dirname, 'template/doc');
-const template = file.globTemplate(path.join(templatePath, '*.jst'));
+var templatePath = path.join(__dirname, 'template/doc'),
+ template = file.globTemplate(path.join(templatePath, '*.jst'));
-const argNames = ['a', 'b', 'c', 'd'];
+var argNames = ['a', 'b', 'c', 'd'];
-const templateData = {
- mapping,
- toArgOrder,
- toFuncList
+var templateData = {
+ 'mapping': mapping,
+ 'toArgOrder': toArgOrder,
+ 'toFuncList': toFuncList
};
-/**
- * Converts arranged argument `indexes` into a named argument string
- * representation of their order.
- *
- * @private
- * @param {number[]} indexes The arranged argument indexes.
- * @returns {string} Returns the named argument string.
- */
-function toArgOrder(indexes) {
- const reordered = [];
- _.each(indexes, (newIndex, index) => {
+function toArgOrder(array) {
+ var reordered = [];
+ _.each(array, function(newIndex, index) {
reordered[newIndex] = argNames[index];
});
return '`(' + reordered.join(', ') + ')`';
}
-/**
- * Converts `funcNames` into a chunked list string representation.
- *
- * @private
- * @param {string[]} funcNames The function names.
- * @returns {string} Returns the function list string.
- */
-function toFuncList(funcNames) {
- let chunks = _.chunk(funcNames.slice().sort(), 5);
- let lastChunk = _.last(chunks);
- const lastName = lastChunk ? lastChunk.pop() : undefined;
+function toFuncList(array) {
+ var chunks = _.chunk(array.slice().sort(), 5),
+ lastChunk = _.last(chunks),
+ last = lastChunk ? lastChunk.pop() : undefined;
chunks = _.reject(chunks, _.isEmpty);
lastChunk = _.last(chunks);
- let result = '`' + _.map(chunks, chunk => chunk.join('`, `') + '`').join(',\n`');
- if (lastName == null) {
+ var result = '`' + _.map(chunks, function(chunk) {
+ return chunk.join('`, `') + '`';
+ }).join(',\n`');
+
+ if (last == null) {
return result;
}
if (_.size(chunks) > 1 || _.size(lastChunk) > 1) {
}
result += ' &';
result += _.size(lastChunk) < 5 ? ' ' : '\n';
- return result + '`' + lastName + '`';
+ return result + '`' + last + '`';
}
/*----------------------------------------------------------------------------*/
-/**
- * Creates the FP-Guide wiki at the `target` path.
- *
- * @private
- * @param {string} target The output file path.
- */
+function onComplete(error) {
+ if (error) {
+ throw error;
+ }
+}
+
function build(target) {
target = path.resolve(target);
- fs.writeFile(target, template.wiki(templateData), util.pitch);
+ fs.writeFile(target, template.wiki(templateData), onComplete);
}
build(_.last(process.argv));