UNPKG

composr-cli

Version:
72 lines (55 loc) 1.9 kB
'use strict'; var _glob = require('glob'); var _glob2 = _interopRequireDefault(_glob); var _print = require('../print'); var _print2 = _interopRequireDefault(_print); var _async = require('async2'); var _async2 = _interopRequireDefault(_async); var _buildPhrase = require('./buildPhrase'); var _buildPhrase2 = _interopRequireDefault(_buildPhrase); var _gauge = require('gauge'); var _gauge2 = _interopRequireDefault(_gauge); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var gauge = new _gauge2.default(); /** * Locate model files */ var locateModels = function locateModels(config, next) { // progressBAr var progress = 0; (0, _glob2.default)('**/*.model.json', null, function (err, files) { if (err) return _print2.default.error(err); var phraseURLs = []; var increment = 1 / files.length; _print2.default.ok(files.length + ' Phrases models founds'); // bulk parallel execution var buildPhrasesExecList = []; var phrasesCreated = []; files.forEach(function (filePath) { progress += increment; gauge.show('Building Phrases → ' + filePath, progress); buildPhrasesExecList.push(function (callback) { (0, _buildPhrase2.default)(config, filePath, gauge, function (err, model) { if (err) { return callback(err); } else { phrasesCreated.push(model); return callback(null, model); } }); }); }); gauge.hide(); gauge.disable(); _async2.default.parallel(buildPhrasesExecList, function (err, results) { if (err) _print2.default.error(err); if (phrasesCreated.length > 0) { phrasesCreated.forEach(function (result) { phraseURLs.push(result.url); }); } return next(err, phrasesCreated); }); }); }; module.exports = locateModels;