diff options
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.js | 65 |
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)); |