async-rails 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/async-rails/version.rb +1 -1
- data/vendor/assets/javascripts/async.js +42 -72
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf7ed9ac6955d573c6be07f818c207a752b12942
|
4
|
+
data.tar.gz: a1d2ff576984764147b7567aa7b665c63f054346
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88acfee5cf852aa961b9980053efb67884f716ef9dc497fd67c75457e2feaebafb98de36414fb06608e6cecf7867330876cafcdc968694a3ed4ae7af337896a5
|
7
|
+
data.tar.gz: 209c1e3c6c4724f2d39b1c47410e30edea7fe0c4a62a598d92aea1546b11d4477aeb29b2eba86a10e2e6c768e85a436de506ee21d972f5aeb95e2d899d68d05d
|
data/lib/async-rails/version.rb
CHANGED
@@ -75,11 +75,11 @@
|
|
75
75
|
//// nextTick implementation with browser-compatible fallback ////
|
76
76
|
if (typeof process === 'undefined' || !(process.nextTick)) {
|
77
77
|
if (typeof setImmediate === 'function') {
|
78
|
-
async.
|
79
|
-
|
80
|
-
};
|
78
|
+
async.setImmediate = setImmediate;
|
79
|
+
async.nextTick = setImmediate;
|
81
80
|
}
|
82
81
|
else {
|
82
|
+
async.setImmediate = async.nextTick;
|
83
83
|
async.nextTick = function (fn) {
|
84
84
|
setTimeout(fn, 0);
|
85
85
|
};
|
@@ -87,6 +87,12 @@
|
|
87
87
|
}
|
88
88
|
else {
|
89
89
|
async.nextTick = process.nextTick;
|
90
|
+
if (typeof setImmediate !== 'undefined') {
|
91
|
+
async.setImmediate = setImmediate;
|
92
|
+
}
|
93
|
+
else {
|
94
|
+
async.setImmediate = async.nextTick;
|
95
|
+
}
|
90
96
|
}
|
91
97
|
|
92
98
|
async.each = function (arr, iterator, callback) {
|
@@ -119,7 +125,6 @@
|
|
119
125
|
}
|
120
126
|
var completed = 0;
|
121
127
|
var iterate = function () {
|
122
|
-
var sync = true;
|
123
128
|
iterator(arr[completed], function (err) {
|
124
129
|
if (err) {
|
125
130
|
callback(err);
|
@@ -131,16 +136,10 @@
|
|
131
136
|
callback(null);
|
132
137
|
}
|
133
138
|
else {
|
134
|
-
|
135
|
-
async.nextTick(iterate);
|
136
|
-
}
|
137
|
-
else {
|
138
|
-
iterate();
|
139
|
-
}
|
139
|
+
iterate();
|
140
140
|
}
|
141
141
|
}
|
142
142
|
});
|
143
|
-
sync = false;
|
144
143
|
};
|
145
144
|
iterate();
|
146
145
|
};
|
@@ -441,7 +440,7 @@
|
|
441
440
|
}
|
442
441
|
else {
|
443
442
|
results[k] = args;
|
444
|
-
async.
|
443
|
+
async.setImmediate(taskComplete);
|
445
444
|
}
|
446
445
|
};
|
447
446
|
var requires = task.slice(0, Math.abs(task.length - 1)) || [];
|
@@ -467,6 +466,10 @@
|
|
467
466
|
|
468
467
|
async.waterfall = function (tasks, callback) {
|
469
468
|
callback = callback || function () {};
|
469
|
+
if (tasks.constructor !== Array) {
|
470
|
+
var err = new Error('First argument to waterfall must be an array of functions');
|
471
|
+
return callback(err);
|
472
|
+
}
|
470
473
|
if (!tasks.length) {
|
471
474
|
return callback();
|
472
475
|
}
|
@@ -485,7 +488,7 @@
|
|
485
488
|
else {
|
486
489
|
args.push(callback);
|
487
490
|
}
|
488
|
-
async.
|
491
|
+
async.setImmediate(function () {
|
489
492
|
iterator.apply(null, args);
|
490
493
|
});
|
491
494
|
}
|
@@ -607,21 +610,12 @@
|
|
607
610
|
|
608
611
|
async.whilst = function (test, iterator, callback) {
|
609
612
|
if (test()) {
|
610
|
-
var sync = true;
|
611
613
|
iterator(function (err) {
|
612
614
|
if (err) {
|
613
615
|
return callback(err);
|
614
616
|
}
|
615
|
-
|
616
|
-
async.nextTick(function () {
|
617
|
-
async.whilst(test, iterator, callback);
|
618
|
-
});
|
619
|
-
}
|
620
|
-
else {
|
621
|
-
async.whilst(test, iterator, callback);
|
622
|
-
}
|
617
|
+
async.whilst(test, iterator, callback);
|
623
618
|
});
|
624
|
-
sync = false;
|
625
619
|
}
|
626
620
|
else {
|
627
621
|
callback();
|
@@ -629,45 +623,27 @@
|
|
629
623
|
};
|
630
624
|
|
631
625
|
async.doWhilst = function (iterator, test, callback) {
|
632
|
-
var sync = true;
|
633
626
|
iterator(function (err) {
|
634
627
|
if (err) {
|
635
628
|
return callback(err);
|
636
629
|
}
|
637
630
|
if (test()) {
|
638
|
-
|
639
|
-
async.nextTick(function () {
|
640
|
-
async.doWhilst(iterator, test, callback);
|
641
|
-
});
|
642
|
-
}
|
643
|
-
else {
|
644
|
-
async.doWhilst(iterator, test, callback);
|
645
|
-
}
|
631
|
+
async.doWhilst(iterator, test, callback);
|
646
632
|
}
|
647
633
|
else {
|
648
634
|
callback();
|
649
635
|
}
|
650
636
|
});
|
651
|
-
sync = false;
|
652
637
|
};
|
653
638
|
|
654
639
|
async.until = function (test, iterator, callback) {
|
655
640
|
if (!test()) {
|
656
|
-
var sync = true;
|
657
641
|
iterator(function (err) {
|
658
642
|
if (err) {
|
659
643
|
return callback(err);
|
660
644
|
}
|
661
|
-
|
662
|
-
async.nextTick(function () {
|
663
|
-
async.until(test, iterator, callback);
|
664
|
-
});
|
665
|
-
}
|
666
|
-
else {
|
667
|
-
async.until(test, iterator, callback);
|
668
|
-
}
|
645
|
+
async.until(test, iterator, callback);
|
669
646
|
});
|
670
|
-
sync = false;
|
671
647
|
}
|
672
648
|
else {
|
673
649
|
callback();
|
@@ -675,26 +651,17 @@
|
|
675
651
|
};
|
676
652
|
|
677
653
|
async.doUntil = function (iterator, test, callback) {
|
678
|
-
var sync = true;
|
679
654
|
iterator(function (err) {
|
680
655
|
if (err) {
|
681
656
|
return callback(err);
|
682
657
|
}
|
683
658
|
if (!test()) {
|
684
|
-
|
685
|
-
async.nextTick(function () {
|
686
|
-
async.doUntil(iterator, test, callback);
|
687
|
-
});
|
688
|
-
}
|
689
|
-
else {
|
690
|
-
async.doUntil(iterator, test, callback);
|
691
|
-
}
|
659
|
+
async.doUntil(iterator, test, callback);
|
692
660
|
}
|
693
661
|
else {
|
694
662
|
callback();
|
695
663
|
}
|
696
664
|
});
|
697
|
-
sync = false;
|
698
665
|
};
|
699
666
|
|
700
667
|
async.queue = function (worker, concurrency) {
|
@@ -720,7 +687,7 @@
|
|
720
687
|
if (q.saturated && q.tasks.length === concurrency) {
|
721
688
|
q.saturated();
|
722
689
|
}
|
723
|
-
async.
|
690
|
+
async.setImmediate(q.process);
|
724
691
|
});
|
725
692
|
}
|
726
693
|
|
@@ -744,7 +711,6 @@
|
|
744
711
|
q.empty();
|
745
712
|
}
|
746
713
|
workers += 1;
|
747
|
-
var sync = true;
|
748
714
|
var next = function () {
|
749
715
|
workers -= 1;
|
750
716
|
if (task.callback) {
|
@@ -755,19 +721,8 @@
|
|
755
721
|
}
|
756
722
|
q.process();
|
757
723
|
};
|
758
|
-
var cb = only_once(
|
759
|
-
var cbArgs = arguments;
|
760
|
-
|
761
|
-
if (sync) {
|
762
|
-
async.nextTick(function () {
|
763
|
-
next.apply(null, cbArgs);
|
764
|
-
});
|
765
|
-
} else {
|
766
|
-
next.apply(null, arguments);
|
767
|
-
}
|
768
|
-
});
|
724
|
+
var cb = only_once(next);
|
769
725
|
worker(task.data, cb);
|
770
|
-
sync = false;
|
771
726
|
}
|
772
727
|
},
|
773
728
|
length: function () {
|
@@ -803,7 +758,7 @@
|
|
803
758
|
cargo.saturated();
|
804
759
|
}
|
805
760
|
});
|
806
|
-
async.
|
761
|
+
async.setImmediate(cargo.process);
|
807
762
|
},
|
808
763
|
process: function process() {
|
809
764
|
if (working) return;
|
@@ -945,24 +900,39 @@
|
|
945
900
|
};
|
946
901
|
};
|
947
902
|
|
948
|
-
|
903
|
+
var _applyEach = function (eachfn, fns /*args...*/) {
|
949
904
|
var go = function () {
|
950
905
|
var that = this;
|
951
906
|
var args = Array.prototype.slice.call(arguments);
|
952
907
|
var callback = args.pop();
|
953
|
-
return
|
908
|
+
return eachfn(fns, function (fn, cb) {
|
954
909
|
fn.apply(that, args.concat([cb]));
|
955
910
|
},
|
956
911
|
callback);
|
957
912
|
};
|
958
|
-
if (arguments.length >
|
959
|
-
var args = Array.prototype.slice.call(arguments,
|
913
|
+
if (arguments.length > 2) {
|
914
|
+
var args = Array.prototype.slice.call(arguments, 2);
|
960
915
|
return go.apply(this, args);
|
961
916
|
}
|
962
917
|
else {
|
963
918
|
return go;
|
964
919
|
}
|
965
920
|
};
|
921
|
+
async.applyEach = doParallel(_applyEach);
|
922
|
+
async.applyEachSeries = doSeries(_applyEach);
|
923
|
+
|
924
|
+
async.forever = function (fn, callback) {
|
925
|
+
function next(err) {
|
926
|
+
if (err) {
|
927
|
+
if (callback) {
|
928
|
+
return callback(err);
|
929
|
+
}
|
930
|
+
throw err;
|
931
|
+
}
|
932
|
+
fn(next);
|
933
|
+
}
|
934
|
+
next();
|
935
|
+
};
|
966
936
|
|
967
937
|
// AMD / RequireJS
|
968
938
|
if (typeof define !== 'undefined' && define.amd) {
|