summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE/client/bower_components/lodash/lib/fp/build-doc.js
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-portal-FE/client/bower_components/lodash/lib/fp/build-doc.js')
-rw-r--r--ecomp-portal-FE/client/bower_components/lodash/lib/fp/build-doc.js65
1 files changed, 65 insertions, 0 deletions
diff --git a/ecomp-portal-FE/client/bower_components/lodash/lib/fp/build-doc.js b/ecomp-portal-FE/client/bower_components/lodash/lib/fp/build-doc.js
new file mode 100644
index 00000000..02800bcf
--- /dev/null
+++ b/ecomp-portal-FE/client/bower_components/lodash/lib/fp/build-doc.js
@@ -0,0 +1,65 @@
+'use strict';
+
+var _ = require('lodash'),
+ fs = require('fs-extra'),
+ path = require('path');
+
+var file = require('../common/file'),
+ mapping = require('../common/mapping');
+
+var templatePath = path.join(__dirname, 'template/doc'),
+ template = file.globTemplate(path.join(templatePath, '*.jst'));
+
+var argNames = ['a', 'b', 'c', 'd'];
+
+var templateData = {
+ 'mapping': mapping,
+ 'toArgOrder': toArgOrder,
+ 'toFuncList': toFuncList
+};
+
+function toArgOrder(array) {
+ var reordered = [];
+ _.each(array, function(newIndex, index) {
+ reordered[newIndex] = argNames[index];
+ });
+ return '`(' + reordered.join(', ') + ')`';
+}
+
+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);
+
+ 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 += ' &';
+ result += _.size(lastChunk) < 5 ? ' ' : '\n';
+ return result + '`' + last + '`';
+}
+
+/*----------------------------------------------------------------------------*/
+
+function onComplete(error) {
+ if (error) {
+ throw error;
+ }
+}
+
+function build(target) {
+ target = path.resolve(target);
+ fs.writeFile(target, template.wiki(templateData), onComplete);
+}
+
+build(_.last(process.argv));