Skip to content
This repository was archived by the owner on Apr 20, 2018. It is now read-only.

Commit da39de6

Browse files
Fixing Issue #583 and Issue #598
1 parent e08d89f commit da39de6

31 files changed

Lines changed: 131 additions & 139 deletions

dist/rx.all.compat.js

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2760,7 +2760,7 @@
27602760
inherits(FromArrayObservable, __super__);
27612761
function FromArrayObservable(args, scheduler) {
27622762
this.args = args;
2763-
this.scheduler = scheduler || currentThreadScheduler;
2763+
this.scheduler = scheduler;
27642764
__super__.call(this);
27652765
}
27662766

@@ -2798,6 +2798,7 @@
27982798
* @returns {Observable} The observable sequence whose elements are pulled from the given enumerable sequence.
27992799
*/
28002800
var observableFromArray = Observable.fromArray = function (array, scheduler) {
2801+
isScheduler(scheduler) || (scheduler = currentThreadScheduler);
28012802
return new FromArrayObservable(array, scheduler)
28022803
};
28032804

@@ -2845,6 +2846,7 @@
28452846
};
28462847

28472848
function observableOf (scheduler, array) {
2849+
isScheduler(scheduler) || (scheduler = currentThreadScheduler);
28482850
return new FromArrayObservable(array, scheduler);
28492851
}
28502852

@@ -2855,7 +2857,7 @@
28552857
Observable.of = function () {
28562858
var len = arguments.length, args = new Array(len);
28572859
for(var i = 0; i < len; i++) { args[i] = arguments[i]; }
2858-
return new FromArrayObservable(args);
2860+
return new FromArrayObservable(args, currentThreadScheduler);
28592861
};
28602862

28612863
/**
@@ -3209,24 +3211,23 @@
32093211
var len = arguments.length, args = new Array(len);
32103212
for(var i = 0; i < len; i++) { args[i] = arguments[i]; }
32113213
var resultSelector = args.pop();
3212-
len--;
32133214
Array.isArray(args[0]) && (args = args[0]);
32143215

32153216
return new AnonymousObservable(function (o) {
3216-
var falseFactory = function () { return false; },
3217-
hasValue = arrayInitialize(len, falseFactory),
3217+
var n = args.length,
3218+
falseFactory = function () { return false; },
3219+
hasValue = arrayInitialize(n, falseFactory),
32183220
hasValueAll = false,
3219-
isDone = arrayInitialize(len, falseFactory),
3220-
values = new Array(len);
3221+
isDone = arrayInitialize(n, falseFactory),
3222+
values = new Array(n);
32213223

32223224
function next(i) {
32233225
hasValue[i] = true;
32243226
if (hasValueAll || (hasValueAll = hasValue.every(identity))) {
32253227
try {
32263228
var res = resultSelector.apply(null, values);
3227-
} catch (ex) {
3228-
o.onError(ex);
3229-
return;
3229+
} catch (e) {
3230+
return o.onError(e);
32303231
}
32313232
o.onNext(res);
32323233
} else if (isDone.filter(function (x, j) { return j !== i; }).every(identity)) {
@@ -3239,8 +3240,8 @@
32393240
isDone.every(identity) && o.onCompleted();
32403241
}
32413242

3242-
var subscriptions = new Array(len);
3243-
for (var idx = 0; idx < len; idx++) {
3243+
var subscriptions = new Array(n);
3244+
for (var idx = 0; idx < n; idx++) {
32443245
(function (i) {
32453246
var source = args[i], sad = new SingleAssignmentDisposable();
32463247
isPromise(source) && (source = observableFromPromise(source));
@@ -6271,8 +6272,7 @@
62716272
try {
62726273
results = selector(arguments);
62736274
} catch (err) {
6274-
observer.onError(err);
6275-
return
6275+
return observer.onError(err);
62766276
}
62776277
}
62786278

@@ -6296,8 +6296,7 @@
62966296
try {
62976297
result = selector(arguments);
62986298
} catch (err) {
6299-
observer.onError(err);
6300-
return;
6299+
return observer.onError(err);
63016300
}
63026301
}
63036302
observer.onNext(result);

dist/rx.all.compat.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rx.all.compat.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rx.all.js

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2569,7 +2569,7 @@
25692569
inherits(FromArrayObservable, __super__);
25702570
function FromArrayObservable(args, scheduler) {
25712571
this.args = args;
2572-
this.scheduler = scheduler || currentThreadScheduler;
2572+
this.scheduler = scheduler;
25732573
__super__.call(this);
25742574
}
25752575

@@ -2607,6 +2607,7 @@
26072607
* @returns {Observable} The observable sequence whose elements are pulled from the given enumerable sequence.
26082608
*/
26092609
var observableFromArray = Observable.fromArray = function (array, scheduler) {
2610+
isScheduler(scheduler) || (scheduler = currentThreadScheduler);
26102611
return new FromArrayObservable(array, scheduler)
26112612
};
26122613

@@ -2654,6 +2655,7 @@
26542655
};
26552656

26562657
function observableOf (scheduler, array) {
2658+
isScheduler(scheduler) || (scheduler = currentThreadScheduler);
26572659
return new FromArrayObservable(array, scheduler);
26582660
}
26592661

@@ -2664,7 +2666,7 @@
26642666
Observable.of = function () {
26652667
var len = arguments.length, args = new Array(len);
26662668
for(var i = 0; i < len; i++) { args[i] = arguments[i]; }
2667-
return new FromArrayObservable(args);
2669+
return new FromArrayObservable(args, currentThreadScheduler);
26682670
};
26692671

26702672
/**
@@ -3064,24 +3066,23 @@
30643066
var len = arguments.length, args = new Array(len);
30653067
for(var i = 0; i < len; i++) { args[i] = arguments[i]; }
30663068
var resultSelector = args.pop();
3067-
len--;
30683069
Array.isArray(args[0]) && (args = args[0]);
30693070

30703071
return new AnonymousObservable(function (o) {
3071-
var falseFactory = function () { return false; },
3072-
hasValue = arrayInitialize(len, falseFactory),
3072+
var n = args.length,
3073+
falseFactory = function () { return false; },
3074+
hasValue = arrayInitialize(n, falseFactory),
30733075
hasValueAll = false,
3074-
isDone = arrayInitialize(len, falseFactory),
3075-
values = new Array(len);
3076+
isDone = arrayInitialize(n, falseFactory),
3077+
values = new Array(n);
30763078

30773079
function next(i) {
30783080
hasValue[i] = true;
30793081
if (hasValueAll || (hasValueAll = hasValue.every(identity))) {
30803082
try {
30813083
var res = resultSelector.apply(null, values);
3082-
} catch (ex) {
3083-
o.onError(ex);
3084-
return;
3084+
} catch (e) {
3085+
return o.onError(e);
30853086
}
30863087
o.onNext(res);
30873088
} else if (isDone.filter(function (x, j) { return j !== i; }).every(identity)) {
@@ -3094,8 +3095,8 @@
30943095
isDone.every(identity) && o.onCompleted();
30953096
}
30963097

3097-
var subscriptions = new Array(len);
3098-
for (var idx = 0; idx < len; idx++) {
3098+
var subscriptions = new Array(n);
3099+
for (var idx = 0; idx < n; idx++) {
30993100
(function (i) {
31003101
var source = args[i], sad = new SingleAssignmentDisposable();
31013102
isPromise(source) && (source = observableFromPromise(source));
@@ -6058,8 +6059,7 @@
60586059
try {
60596060
results = selector(arguments);
60606061
} catch (err) {
6061-
observer.onError(err);
6062-
return
6062+
return observer.onError(err);
60636063
}
60646064
}
60656065

@@ -6083,8 +6083,7 @@
60836083
try {
60846084
result = selector(arguments);
60856085
} catch (err) {
6086-
observer.onError(err);
6087-
return;
6086+
return observer.onError(err);
60886087
}
60896088
}
60906089
observer.onNext(result);

dist/rx.all.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rx.all.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rx.async.compat.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -514,8 +514,7 @@
514514
try {
515515
results = selector(arguments);
516516
} catch (err) {
517-
observer.onError(err);
518-
return
517+
return observer.onError(err);
519518
}
520519
}
521520

@@ -539,8 +538,7 @@
539538
try {
540539
result = selector(arguments);
541540
} catch (err) {
542-
observer.onError(err);
543-
return;
541+
return observer.onError(err);
544542
}
545543
}
546544
observer.onNext(result);

dist/rx.async.compat.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rx.async.compat.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rx.async.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -446,8 +446,7 @@
446446
try {
447447
results = selector(arguments);
448448
} catch (err) {
449-
observer.onError(err);
450-
return
449+
return observer.onError(err);
451450
}
452451
}
453452

@@ -471,8 +470,7 @@
471470
try {
472471
result = selector(arguments);
473472
} catch (err) {
474-
observer.onError(err);
475-
return;
473+
return observer.onError(err);
476474
}
477475
}
478476
observer.onNext(result);

0 commit comments

Comments
 (0)