Exemplo n.º 1
0
prompt.confirm = function (/* msg, options, callback */) {
  var args     = Array.prototype.slice.call(arguments),
      msg      = args.shift(),
      callback = args.pop(),
      opts     = args.shift(),
      vars     = !Array.isArray(msg) ? [msg] : msg,
      RX_Y     = /^[yt]{1}/i,
      RX_YN    = /^[yntf]{1}/i;

  function confirm(target, next) {
    var yes = target.yes || RX_Y,
      options = mixin({
        description: typeof target === 'string' ? target : target.description||'yes/no',
        pattern: target.pattern || RX_YN,
        name: 'confirm',
        message: target.message || 'yes/no'
      }, opts || {});


    prompt.get([options], function (err, result) {
      next(err ? false : yes.test(result[options.name]));
    });
  }

  async.rejectSeries(vars, confirm, function(result) {
    callback(null, result.length===0);
  });
};
Exemplo n.º 2
0
exports['rejectSeries'] = function(test){
    async.rejectSeries([3,1,2], function(x, callback){
        setTimeout(function(){callback(x % 2);}, x*25);
    }, function(results){
        test.same(results, [2]);
        test.done();
    });
};
Exemplo n.º 3
0
      function filter (callback) {
        if (!ifMissing) {
          return callback(null, fileInfos);
        }

        function exists (fileInfo, callback) {
          fs.exists(fileInfo.dest, callback);
        }
        async.rejectSeries(fileInfos, exists, function (fileInfos) {
          callback(null, fileInfos);
        });
      },
Exemplo n.º 4
0
 .on('end', function () {
     async.rejectSeries(files, function (file, finished) {
         galen(file, finished);
     }, function (errors) {
        if (errors && errors.length > 0) {
           done("Galen reported failed tests: " + (errors.map(function(f) {
              return f.relative;
           }).join(", ")));
        }
        else {
           done();
        }
     });
 });
Exemplo n.º 5
0
// 31.559> 1.4 test: 2
// 31.559> 1.4 test: 3
// 31.559> 1.4 test: 4
// 31.559> 1.4 test: 5
// 31.569> 1.4 results: [ 1, 2 ]


/**
 * 串行执行,对arr进行筛选。
 */
// 1.3
async.rejectSeries(arr, function(item, callback) {
    log('1.5 enter: ' + item);
    setTimeout(function() {
        log('1.5 handle: ' + item);
        callback(item>=3);
    }, 200);
}, function(results) {
    log('1.5 results: ', results);
});
//43.592> 1.5 enter: 1
//43.799> 1.5 handle: 1
//43.800> 1.5 enter: 2
//44.004> 1.5 handle: 2
//44.007> 1.5 enter: 3
//44.210> 1.5 handle: 3
//44.211> 1.5 enter: 4
//44.412> 1.5 handle: 4
//44.413> 1.5 enter: 5
//44.614> 1.5 handle: 5
//44.616> 1.5 results: [ 1, 2 ]