Add util.pitch.

This commit is contained in:
John-David Dalton
2016-05-30 08:04:00 -07:00
parent 695d74d7c5
commit 77cf88a3bf
7 changed files with 98 additions and 62 deletions

View File

@@ -5,7 +5,8 @@ var _ = require('lodash'),
path = require('path'),
webpack = require('webpack');
var file = require('../common/file');
var file = require('../common/file'),
util = require('../common/util');
var basePath = path.join(__dirname, '..', '..'),
distPath = path.join(basePath, 'dist'),
@@ -38,18 +39,17 @@ var mappingConfig = {
/*----------------------------------------------------------------------------*/
function onComplete(error) {
if (error) {
throw error;
}
}
/**
* Creates browser builds of the FP converter and mappings at the `target` path.
*
* @param {string} target The output directory path.
*/
function build() {
async.series([
_.partial(webpack, mappingConfig),
_.partial(webpack, fpConfig),
file.min(path.join(distPath, filename))
], onComplete);
], util.pitch);
}
build();

View File

@@ -5,7 +5,8 @@ var _ = require('lodash'),
path = require('path');
var file = require('../common/file'),
mapping = require('../common/mapping');
mapping = require('../common/mapping'),
util = require('../common/util');
var templatePath = path.join(__dirname, 'template/doc'),
template = file.globTemplate(path.join(templatePath, '*.jst'));
@@ -34,7 +35,7 @@ function toArgOrder(indexes) {
}
/**
* Converts `funcNames` into a backticked chunked list string representation.
* Converts `funcNames` into a chunked list string representation.
*
* @param {string[]} funcNames The function names.
* @returns {string} Returns the function list string.
@@ -64,17 +65,6 @@ function toFuncList(funcNames) {
/*----------------------------------------------------------------------------*/
/**
* A no-frills callback that throws any error it receives.
*
* @param {Object} [error] The error object.
*/
function onComplete(error) {
if (error) {
throw error;
}
}
/**
* Creates the FP-Guide wiki at the `target` path.
*
@@ -82,7 +72,7 @@ function onComplete(error) {
*/
function build(target) {
target = path.resolve(target);
fs.writeFile(target, template.wiki(templateData), onComplete);
fs.writeFile(target, template.wiki(templateData), util.pitch);
}
build(_.last(process.argv));

View File

@@ -6,7 +6,8 @@ var _ = require('lodash'),
path = require('path');
var file = require('../common/file'),
mapping = require('../common/mapping');
mapping = require('../common/mapping'),
util = require('../common/util');
var templatePath = path.join(__dirname, 'template/modules'),
template = file.globTemplate(path.join(templatePath, '*.jst'));
@@ -42,18 +43,44 @@ var ignored = [
'lodash.min.js'
];
function isAlias(funcName) {
return _.has(mapping.aliasToReal, funcName);
/**
* Checks if `name` is a method alias.
*
* @param {string} name The name to check.
* @returns {boolean} Returns `true` if `name` is a method alias, else `false`.
*/
function isAlias(name) {
return _.has(mapping.aliasToReal, name);
}
function isCategory(funcName) {
return _.includes(categories, funcName);
/**
* Checks if `name` is a category name.
*
* @param {string} name The name to check.
* @returns {boolean} Returns `true` if `name` is a category name, else `false`.
*/
function isCategory(name) {
return _.includes(categories, name);
}
function isThru(funcName) {
return !_.includes(aryMethods, funcName);
/**
* Checks if `name` belongs to a method that's passed thru and not wrapped.
*
* @param {string} name The name to check.
* @returns {boolean} Returns `true` if `name` is of a pass thru method,
* else `false`.
*/
function isThru(name) {
return !_.includes(aryMethods, name);
}
/**
* Gets metadata for `func`.
*
* @private
* @param {Function} func The function to query.
* @returns {*} Returns the metadata for `func`.
*/
function getTemplate(moduleName) {
var data = {
'name': _.result(mapping.aliasToReal, moduleName, moduleName),
@@ -74,12 +101,11 @@ function getTemplate(moduleName) {
/*----------------------------------------------------------------------------*/
function onComplete(error) {
if (error) {
throw error;
}
}
/**
* Creates FP modules at the `target` path.
*
* @param {string} target The output directory path.
*/
function build(target) {
target = path.resolve(target);
@@ -114,7 +140,7 @@ function build(target) {
actions.push(file.write(path.join(target, 'fp.js'), template.fp()));
actions.push(file.write(path.join(fpPath, 'convert.js'), template.convert()));
async.series(actions, onComplete);
async.series(actions, util.pitch);
}
build(_.last(process.argv));