rxjs-rails 2.2.17 → 2.2.18

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.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/Rakefile +19 -0
  4. data/lib/rxjs/rails/version.rb +1 -1
  5. data/vendor/assets/javascripts/rx.aggregates.js +23 -23
  6. data/vendor/assets/javascripts/rx.aggregates.min.js +1 -1
  7. data/vendor/assets/javascripts/rx.async.compat.js +2 -2
  8. data/vendor/assets/javascripts/rx.async.compat.min.js +1 -1
  9. data/vendor/assets/javascripts/rx.async.js +2 -2
  10. data/vendor/assets/javascripts/rx.async.min.js +1 -1
  11. data/vendor/assets/javascripts/rx.backpressure.js +2 -2
  12. data/vendor/assets/javascripts/rx.backpressure.min.js +1 -1
  13. data/vendor/assets/javascripts/rx.binding.js +85 -85
  14. data/vendor/assets/javascripts/rx.coincidence.js +17 -17
  15. data/vendor/assets/javascripts/rx.coincidence.min.js +1 -1
  16. data/vendor/assets/javascripts/rx.compat.js +461 -456
  17. data/vendor/assets/javascripts/rx.compat.min.js +2 -2
  18. data/vendor/assets/javascripts/rx.experimental.js +31 -31
  19. data/vendor/assets/javascripts/rx.experimental.min.js +1 -1
  20. data/vendor/assets/javascripts/rx.joinpatterns.js +284 -284
  21. data/vendor/assets/javascripts/rx.joinpatterns.min.js +1 -1
  22. data/vendor/assets/javascripts/rx.js +446 -441
  23. data/vendor/assets/javascripts/rx.lite.compat.js +469 -464
  24. data/vendor/assets/javascripts/rx.lite.compat.min.js +2 -2
  25. data/vendor/assets/javascripts/rx.lite.js +469 -464
  26. data/vendor/assets/javascripts/rx.lite.min.js +2 -2
  27. data/vendor/assets/javascripts/rx.min.js +2 -2
  28. data/vendor/assets/javascripts/rx.testing.js +165 -165
  29. data/vendor/assets/javascripts/rx.time.js +19 -19
  30. data/vendor/assets/javascripts/rx.time.min.js +1 -1
  31. data/vendor/assets/javascripts/rx.virtualtime.js +2 -2
  32. metadata +3 -2
@@ -1,4 +1,4 @@
1
- // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
1
+ // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
2
2
 
3
3
  ;(function (factory) {
4
4
  var objectTypes = {
@@ -33,104 +33,104 @@
33
33
  }
34
34
  }.call(this, function (root, exp, Rx, undefined) {
35
35
 
36
- // Aliases
37
- var Observable = Rx.Observable,
38
- observableProto = Observable.prototype,
39
- AnonymousObservable = Rx.AnonymousObservable,
40
- observableThrow = Observable.throwException,
41
- observerCreate = Rx.Observer.create,
42
- SingleAssignmentDisposable = Rx.SingleAssignmentDisposable,
43
- CompositeDisposable = Rx.CompositeDisposable,
44
- AbstractObserver = Rx.internals.AbstractObserver,
45
- isEqual = Rx.internals.isEqual;
46
-
47
- // Defaults
48
- function defaultComparer(x, y) { return isEqual(x, y); }
49
- function noop() { }
50
-
51
- // Utilities
52
- var inherits = Rx.internals.inherits;
53
- var slice = Array.prototype.slice;
54
- function argsOrArray(args, idx) {
55
- return args.length === 1 && Array.isArray(args[idx]) ?
56
- args[idx] :
57
- slice.call(args);
58
- }
59
-
60
- /** @private */
61
- var Map = (function () {
62
-
63
- /**
64
- * @constructor
65
- * @private
66
- */
67
- function Map() {
68
- this.keys = [];
69
- this.values = [];
70
- }
71
-
72
- /**
73
- * @private
74
- * @memberOf Map#
75
- */
76
- Map.prototype['delete'] = function (key) {
77
- var i = this.keys.indexOf(key);
78
- if (i !== -1) {
79
- this.keys.splice(i, 1);
80
- this.values.splice(i, 1);
81
- }
82
- return i !== -1;
83
- };
84
-
85
- /**
86
- * @private
87
- * @memberOf Map#
88
- */
89
- Map.prototype.get = function (key, fallback) {
90
- var i = this.keys.indexOf(key);
91
- return i !== -1 ? this.values[i] : fallback;
92
- };
93
-
94
- /**
95
- * @private
96
- * @memberOf Map#
97
- */
98
- Map.prototype.set = function (key, value) {
99
- var i = this.keys.indexOf(key);
100
- if (i !== -1) {
101
- this.values[i] = value;
102
- }
103
- this.values[this.keys.push(key) - 1] = value;
104
- };
105
-
106
- /**
107
- * @private
108
- * @memberOf Map#
109
- */
110
- Map.prototype.size = function () { return this.keys.length; };
111
-
112
- /**
113
- * @private
114
- * @memberOf Map#
115
- */
116
- Map.prototype.has = function (key) {
117
- return this.keys.indexOf(key) !== -1;
118
- };
119
-
120
- /**
121
- * @private
122
- * @memberOf Map#
123
- */
124
- Map.prototype.getKeys = function () { return this.keys.slice(0); };
125
-
126
- /**
127
- * @private
128
- * @memberOf Map#
129
- */
130
- Map.prototype.getValues = function () { return this.values.slice(0); };
131
-
132
- return Map;
133
- }());
36
+ // Aliases
37
+ var Observable = Rx.Observable,
38
+ observableProto = Observable.prototype,
39
+ AnonymousObservable = Rx.AnonymousObservable,
40
+ observableThrow = Observable.throwException,
41
+ observerCreate = Rx.Observer.create,
42
+ SingleAssignmentDisposable = Rx.SingleAssignmentDisposable,
43
+ CompositeDisposable = Rx.CompositeDisposable,
44
+ AbstractObserver = Rx.internals.AbstractObserver,
45
+ isEqual = Rx.internals.isEqual;
46
+
47
+ // Defaults
48
+ function defaultComparer(x, y) { return isEqual(x, y); }
49
+ function noop() { }
50
+
51
+ // Utilities
52
+ var inherits = Rx.internals.inherits;
53
+ var slice = Array.prototype.slice;
54
+ function argsOrArray(args, idx) {
55
+ return args.length === 1 && Array.isArray(args[idx]) ?
56
+ args[idx] :
57
+ slice.call(args);
58
+ }
59
+
60
+ /** @private */
61
+ var Map = (function () {
62
+
63
+ /**
64
+ * @constructor
65
+ * @private
66
+ */
67
+ function Map() {
68
+ this.keys = [];
69
+ this.values = [];
70
+ }
71
+
72
+ /**
73
+ * @private
74
+ * @memberOf Map#
75
+ */
76
+ Map.prototype['delete'] = function (key) {
77
+ var i = this.keys.indexOf(key);
78
+ if (i !== -1) {
79
+ this.keys.splice(i, 1);
80
+ this.values.splice(i, 1);
81
+ }
82
+ return i !== -1;
83
+ };
84
+
85
+ /**
86
+ * @private
87
+ * @memberOf Map#
88
+ */
89
+ Map.prototype.get = function (key, fallback) {
90
+ var i = this.keys.indexOf(key);
91
+ return i !== -1 ? this.values[i] : fallback;
92
+ };
93
+
94
+ /**
95
+ * @private
96
+ * @memberOf Map#
97
+ */
98
+ Map.prototype.set = function (key, value) {
99
+ var i = this.keys.indexOf(key);
100
+ if (i !== -1) {
101
+ this.values[i] = value;
102
+ }
103
+ this.values[this.keys.push(key) - 1] = value;
104
+ };
105
+
106
+ /**
107
+ * @private
108
+ * @memberOf Map#
109
+ */
110
+ Map.prototype.size = function () { return this.keys.length; };
111
+
112
+ /**
113
+ * @private
114
+ * @memberOf Map#
115
+ */
116
+ Map.prototype.has = function (key) {
117
+ return this.keys.indexOf(key) !== -1;
118
+ };
119
+
120
+ /**
121
+ * @private
122
+ * @memberOf Map#
123
+ */
124
+ Map.prototype.getKeys = function () { return this.keys.slice(0); };
125
+
126
+ /**
127
+ * @private
128
+ * @memberOf Map#
129
+ */
130
+ Map.prototype.getValues = function () { return this.values.slice(0); };
131
+
132
+ return Map;
133
+ }());
134
134
 
135
135
  /**
136
136
  * @constructor
@@ -162,190 +162,190 @@
162
162
  return new Plan(this, selector);
163
163
  };
164
164
 
165
- function Plan(expression, selector) {
166
- this.expression = expression;
167
- this.selector = selector;
168
- }
169
-
170
- Plan.prototype.activate = function (externalSubscriptions, observer, deactivate) {
171
- var self = this;
172
- var joinObservers = [];
173
- for (var i = 0, len = this.expression.patterns.length; i < len; i++) {
174
- joinObservers.push(planCreateObserver(externalSubscriptions, this.expression.patterns[i], observer.onError.bind(observer)));
175
- }
176
- var activePlan = new ActivePlan(joinObservers, function () {
177
- var result;
178
- try {
179
- result = self.selector.apply(self, arguments);
180
- } catch (exception) {
181
- observer.onError(exception);
182
- return;
183
- }
184
- observer.onNext(result);
185
- }, function () {
186
- for (var j = 0, jlen = joinObservers.length; j < jlen; j++) {
187
- joinObservers[j].removeActivePlan(activePlan);
188
- }
189
- deactivate(activePlan);
190
- });
191
- for (i = 0, len = joinObservers.length; i < len; i++) {
192
- joinObservers[i].addActivePlan(activePlan);
193
- }
194
- return activePlan;
195
- };
196
-
197
- function planCreateObserver(externalSubscriptions, observable, onError) {
198
- var entry = externalSubscriptions.get(observable);
199
- if (!entry) {
200
- var observer = new JoinObserver(observable, onError);
201
- externalSubscriptions.set(observable, observer);
202
- return observer;
203
- }
204
- return entry;
205
- }
206
-
207
- // Active Plan
208
- function ActivePlan(joinObserverArray, onNext, onCompleted) {
209
- var i, joinObserver;
210
- this.joinObserverArray = joinObserverArray;
211
- this.onNext = onNext;
212
- this.onCompleted = onCompleted;
213
- this.joinObservers = new Map();
214
- for (i = 0; i < this.joinObserverArray.length; i++) {
215
- joinObserver = this.joinObserverArray[i];
216
- this.joinObservers.set(joinObserver, joinObserver);
217
- }
218
- }
219
-
220
- ActivePlan.prototype.dequeue = function () {
221
- var values = this.joinObservers.getValues();
222
- for (var i = 0, len = values.length; i < len; i++) {
223
- values[i].queue.shift();
224
- }
225
- };
226
- ActivePlan.prototype.match = function () {
227
- var firstValues, i, len, isCompleted, values, hasValues = true;
228
- for (i = 0, len = this.joinObserverArray.length; i < len; i++) {
229
- if (this.joinObserverArray[i].queue.length === 0) {
230
- hasValues = false;
231
- break;
232
- }
233
- }
234
- if (hasValues) {
235
- firstValues = [];
236
- isCompleted = false;
237
- for (i = 0, len = this.joinObserverArray.length; i < len; i++) {
238
- firstValues.push(this.joinObserverArray[i].queue[0]);
239
- if (this.joinObserverArray[i].queue[0].kind === 'C') {
240
- isCompleted = true;
241
- }
242
- }
243
- if (isCompleted) {
244
- this.onCompleted();
245
- } else {
246
- this.dequeue();
247
- values = [];
248
- for (i = 0; i < firstValues.length; i++) {
249
- values.push(firstValues[i].value);
250
- }
251
- this.onNext.apply(this, values);
252
- }
253
- }
254
- };
255
-
256
- /** @private */
257
- var JoinObserver = (function (_super) {
258
-
259
- inherits(JoinObserver, _super);
260
-
261
- /**
262
- * @constructor
263
- * @private
264
- */
265
- function JoinObserver(source, onError) {
266
- _super.call(this);
267
- this.source = source;
268
- this.onError = onError;
269
- this.queue = [];
270
- this.activePlans = [];
271
- this.subscription = new SingleAssignmentDisposable();
272
- this.isDisposed = false;
273
- }
274
-
275
- var JoinObserverPrototype = JoinObserver.prototype;
276
-
277
- /**
278
- * @memberOf JoinObserver#
279
- * @private
280
- */
281
- JoinObserverPrototype.next = function (notification) {
282
- if (!this.isDisposed) {
283
- if (notification.kind === 'E') {
284
- this.onError(notification.exception);
285
- return;
286
- }
287
- this.queue.push(notification);
288
- var activePlans = this.activePlans.slice(0);
289
- for (var i = 0, len = activePlans.length; i < len; i++) {
290
- activePlans[i].match();
291
- }
292
- }
293
- };
294
-
295
- /**
296
- * @memberOf JoinObserver#
297
- * @private
298
- */
299
- JoinObserverPrototype.error = noop;
300
-
301
- /**
302
- * @memberOf JoinObserver#
303
- * @private
304
- */
305
- JoinObserverPrototype.completed = noop;
306
-
307
- /**
308
- * @memberOf JoinObserver#
309
- * @private
310
- */
311
- JoinObserverPrototype.addActivePlan = function (activePlan) {
312
- this.activePlans.push(activePlan);
313
- };
314
-
315
- /**
316
- * @memberOf JoinObserver#
317
- * @private
318
- */
319
- JoinObserverPrototype.subscribe = function () {
320
- this.subscription.setDisposable(this.source.materialize().subscribe(this));
321
- };
322
-
323
- /**
324
- * @memberOf JoinObserver#
325
- * @private
326
- */
327
- JoinObserverPrototype.removeActivePlan = function (activePlan) {
328
- var idx = this.activePlans.indexOf(activePlan);
329
- this.activePlans.splice(idx, 1);
330
- if (this.activePlans.length === 0) {
331
- this.dispose();
332
- }
333
- };
334
-
335
- /**
336
- * @memberOf JoinObserver#
337
- * @private
338
- */
339
- JoinObserverPrototype.dispose = function () {
340
- _super.prototype.dispose.call(this);
341
- if (!this.isDisposed) {
342
- this.isDisposed = true;
343
- this.subscription.dispose();
344
- }
345
- };
346
-
347
- return JoinObserver;
348
- } (AbstractObserver));
165
+ function Plan(expression, selector) {
166
+ this.expression = expression;
167
+ this.selector = selector;
168
+ }
169
+
170
+ Plan.prototype.activate = function (externalSubscriptions, observer, deactivate) {
171
+ var self = this;
172
+ var joinObservers = [];
173
+ for (var i = 0, len = this.expression.patterns.length; i < len; i++) {
174
+ joinObservers.push(planCreateObserver(externalSubscriptions, this.expression.patterns[i], observer.onError.bind(observer)));
175
+ }
176
+ var activePlan = new ActivePlan(joinObservers, function () {
177
+ var result;
178
+ try {
179
+ result = self.selector.apply(self, arguments);
180
+ } catch (exception) {
181
+ observer.onError(exception);
182
+ return;
183
+ }
184
+ observer.onNext(result);
185
+ }, function () {
186
+ for (var j = 0, jlen = joinObservers.length; j < jlen; j++) {
187
+ joinObservers[j].removeActivePlan(activePlan);
188
+ }
189
+ deactivate(activePlan);
190
+ });
191
+ for (i = 0, len = joinObservers.length; i < len; i++) {
192
+ joinObservers[i].addActivePlan(activePlan);
193
+ }
194
+ return activePlan;
195
+ };
196
+
197
+ function planCreateObserver(externalSubscriptions, observable, onError) {
198
+ var entry = externalSubscriptions.get(observable);
199
+ if (!entry) {
200
+ var observer = new JoinObserver(observable, onError);
201
+ externalSubscriptions.set(observable, observer);
202
+ return observer;
203
+ }
204
+ return entry;
205
+ }
206
+
207
+ // Active Plan
208
+ function ActivePlan(joinObserverArray, onNext, onCompleted) {
209
+ var i, joinObserver;
210
+ this.joinObserverArray = joinObserverArray;
211
+ this.onNext = onNext;
212
+ this.onCompleted = onCompleted;
213
+ this.joinObservers = new Map();
214
+ for (i = 0; i < this.joinObserverArray.length; i++) {
215
+ joinObserver = this.joinObserverArray[i];
216
+ this.joinObservers.set(joinObserver, joinObserver);
217
+ }
218
+ }
219
+
220
+ ActivePlan.prototype.dequeue = function () {
221
+ var values = this.joinObservers.getValues();
222
+ for (var i = 0, len = values.length; i < len; i++) {
223
+ values[i].queue.shift();
224
+ }
225
+ };
226
+ ActivePlan.prototype.match = function () {
227
+ var firstValues, i, len, isCompleted, values, hasValues = true;
228
+ for (i = 0, len = this.joinObserverArray.length; i < len; i++) {
229
+ if (this.joinObserverArray[i].queue.length === 0) {
230
+ hasValues = false;
231
+ break;
232
+ }
233
+ }
234
+ if (hasValues) {
235
+ firstValues = [];
236
+ isCompleted = false;
237
+ for (i = 0, len = this.joinObserverArray.length; i < len; i++) {
238
+ firstValues.push(this.joinObserverArray[i].queue[0]);
239
+ if (this.joinObserverArray[i].queue[0].kind === 'C') {
240
+ isCompleted = true;
241
+ }
242
+ }
243
+ if (isCompleted) {
244
+ this.onCompleted();
245
+ } else {
246
+ this.dequeue();
247
+ values = [];
248
+ for (i = 0; i < firstValues.length; i++) {
249
+ values.push(firstValues[i].value);
250
+ }
251
+ this.onNext.apply(this, values);
252
+ }
253
+ }
254
+ };
255
+
256
+ /** @private */
257
+ var JoinObserver = (function (_super) {
258
+
259
+ inherits(JoinObserver, _super);
260
+
261
+ /**
262
+ * @constructor
263
+ * @private
264
+ */
265
+ function JoinObserver(source, onError) {
266
+ _super.call(this);
267
+ this.source = source;
268
+ this.onError = onError;
269
+ this.queue = [];
270
+ this.activePlans = [];
271
+ this.subscription = new SingleAssignmentDisposable();
272
+ this.isDisposed = false;
273
+ }
274
+
275
+ var JoinObserverPrototype = JoinObserver.prototype;
276
+
277
+ /**
278
+ * @memberOf JoinObserver#
279
+ * @private
280
+ */
281
+ JoinObserverPrototype.next = function (notification) {
282
+ if (!this.isDisposed) {
283
+ if (notification.kind === 'E') {
284
+ this.onError(notification.exception);
285
+ return;
286
+ }
287
+ this.queue.push(notification);
288
+ var activePlans = this.activePlans.slice(0);
289
+ for (var i = 0, len = activePlans.length; i < len; i++) {
290
+ activePlans[i].match();
291
+ }
292
+ }
293
+ };
294
+
295
+ /**
296
+ * @memberOf JoinObserver#
297
+ * @private
298
+ */
299
+ JoinObserverPrototype.error = noop;
300
+
301
+ /**
302
+ * @memberOf JoinObserver#
303
+ * @private
304
+ */
305
+ JoinObserverPrototype.completed = noop;
306
+
307
+ /**
308
+ * @memberOf JoinObserver#
309
+ * @private
310
+ */
311
+ JoinObserverPrototype.addActivePlan = function (activePlan) {
312
+ this.activePlans.push(activePlan);
313
+ };
314
+
315
+ /**
316
+ * @memberOf JoinObserver#
317
+ * @private
318
+ */
319
+ JoinObserverPrototype.subscribe = function () {
320
+ this.subscription.setDisposable(this.source.materialize().subscribe(this));
321
+ };
322
+
323
+ /**
324
+ * @memberOf JoinObserver#
325
+ * @private
326
+ */
327
+ JoinObserverPrototype.removeActivePlan = function (activePlan) {
328
+ var idx = this.activePlans.indexOf(activePlan);
329
+ this.activePlans.splice(idx, 1);
330
+ if (this.activePlans.length === 0) {
331
+ this.dispose();
332
+ }
333
+ };
334
+
335
+ /**
336
+ * @memberOf JoinObserver#
337
+ * @private
338
+ */
339
+ JoinObserverPrototype.dispose = function () {
340
+ _super.prototype.dispose.call(this);
341
+ if (!this.isDisposed) {
342
+ this.isDisposed = true;
343
+ this.subscription.dispose();
344
+ }
345
+ };
346
+
347
+ return JoinObserver;
348
+ } (AbstractObserver));
349
349
 
350
350
  /**
351
351
  * Creates a pattern that matches when both observable sequences have an available value.
@@ -414,5 +414,5 @@
414
414
  });
415
415
  };
416
416
 
417
- return Rx;
417
+ return Rx;
418
418
  }));
@@ -1 +1 @@
1
- (function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){function d(){}function e(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:s.call(a)}function f(a){this.patterns=a}function g(a,b){this.expression=a,this.selector=b}function h(a,b,c){var d=a.get(b);if(!d){var e=new u(b,c);return a.set(b,e),e}return d}function i(a,b,c){var d,e;for(this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new t,d=0;d<this.joinObserverArray.length;d++)e=this.joinObserverArray[d],this.joinObservers.set(e,e)}var j=c.Observable,k=j.prototype,l=c.AnonymousObservable,m=j.throwException,n=c.Observer.create,o=c.SingleAssignmentDisposable,p=c.CompositeDisposable,q=c.internals.AbstractObserver,r=(c.internals.isEqual,c.internals.inherits),s=Array.prototype.slice,t=function(){function a(){this.keys=[],this.values=[]}return a.prototype["delete"]=function(a){var b=this.keys.indexOf(a);return-1!==b&&(this.keys.splice(b,1),this.values.splice(b,1)),-1!==b},a.prototype.get=function(a,b){var c=this.keys.indexOf(a);return-1!==c?this.values[c]:b},a.prototype.set=function(a,b){var c=this.keys.indexOf(a);-1!==c&&(this.values[c]=b),this.values[this.keys.push(a)-1]=b},a.prototype.size=function(){return this.keys.length},a.prototype.has=function(a){return-1!==this.keys.indexOf(a)},a.prototype.getKeys=function(){return this.keys.slice(0)},a.prototype.getValues=function(){return this.values.slice(0)},a}();f.prototype.and=function(a){var b=this.patterns.slice(0);return b.push(a),new f(b)},f.prototype.then=function(a){return new g(this,a)},g.prototype.activate=function(a,b,c){for(var d=this,e=[],f=0,g=this.expression.patterns.length;g>f;f++)e.push(h(a,this.expression.patterns[f],b.onError.bind(b)));var j=new i(e,function(){var a;try{a=d.selector.apply(d,arguments)}catch(c){return b.onError(c),void 0}b.onNext(a)},function(){for(var a=0,b=e.length;b>a;a++)e[a].removeActivePlan(j);c(j)});for(f=0,g=e.length;g>f;f++)e[f].addActivePlan(j);return j},i.prototype.dequeue=function(){for(var a=this.joinObservers.getValues(),b=0,c=a.length;c>b;b++)a[b].queue.shift()},i.prototype.match=function(){var a,b,c,d,e,f=!0;for(b=0,c=this.joinObserverArray.length;c>b;b++)if(0===this.joinObserverArray[b].queue.length){f=!1;break}if(f){for(a=[],d=!1,b=0,c=this.joinObserverArray.length;c>b;b++)a.push(this.joinObserverArray[b].queue[0]),"C"===this.joinObserverArray[b].queue[0].kind&&(d=!0);if(d)this.onCompleted();else{for(this.dequeue(),e=[],b=0;b<a.length;b++)e.push(a[b].value);this.onNext.apply(this,e)}}};var u=function(a){function b(b,c){a.call(this),this.source=b,this.onError=c,this.queue=[],this.activePlans=[],this.subscription=new o,this.isDisposed=!1}r(b,a);var c=b.prototype;return c.next=function(a){if(!this.isDisposed){if("E"===a.kind)return this.onError(a.exception),void 0;this.queue.push(a);for(var b=this.activePlans.slice(0),c=0,d=b.length;d>c;c++)b[c].match()}},c.error=d,c.completed=d,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){var b=this.activePlans.indexOf(a);this.activePlans.splice(b,1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(q);return k.and=function(a){return new f([this,a])},k.then=function(a){return new f([this]).then(a)},j.when=function(){var a=e(arguments,0);return new l(function(b){var c,d,e,f,g,h,i=[],j=new t;h=n(b.onNext.bind(b),function(a){for(var c=j.getValues(),d=0,e=c.length;e>d;d++)c[d].onError(a);b.onError(a)},b.onCompleted.bind(b));try{for(d=0,e=a.length;e>d;d++)i.push(a[d].activate(j,h,function(a){var b=i.indexOf(a);i.splice(b,1),0===i.length&&h.onCompleted()}))}catch(k){m(k).subscribe(b)}for(c=new p,g=j.getValues(),d=0,e=g.length;e>d;d++)f=g[d],f.subscribe(),c.add(f);return c})},c});
1
+ (function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){function d(){}function e(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:s.call(a)}function f(a){this.patterns=a}function g(a,b){this.expression=a,this.selector=b}function h(a,b,c){var d=a.get(b);if(!d){var e=new u(b,c);return a.set(b,e),e}return d}function i(a,b,c){var d,e;for(this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new t,d=0;d<this.joinObserverArray.length;d++)e=this.joinObserverArray[d],this.joinObservers.set(e,e)}var j=c.Observable,k=j.prototype,l=c.AnonymousObservable,m=j.throwException,n=c.Observer.create,o=c.SingleAssignmentDisposable,p=c.CompositeDisposable,q=c.internals.AbstractObserver,r=(c.internals.isEqual,c.internals.inherits),s=Array.prototype.slice,t=function(){function a(){this.keys=[],this.values=[]}return a.prototype["delete"]=function(a){var b=this.keys.indexOf(a);return-1!==b&&(this.keys.splice(b,1),this.values.splice(b,1)),-1!==b},a.prototype.get=function(a,b){var c=this.keys.indexOf(a);return-1!==c?this.values[c]:b},a.prototype.set=function(a,b){var c=this.keys.indexOf(a);-1!==c&&(this.values[c]=b),this.values[this.keys.push(a)-1]=b},a.prototype.size=function(){return this.keys.length},a.prototype.has=function(a){return-1!==this.keys.indexOf(a)},a.prototype.getKeys=function(){return this.keys.slice(0)},a.prototype.getValues=function(){return this.values.slice(0)},a}();f.prototype.and=function(a){var b=this.patterns.slice(0);return b.push(a),new f(b)},f.prototype.then=function(a){return new g(this,a)},g.prototype.activate=function(a,b,c){for(var d=this,e=[],f=0,g=this.expression.patterns.length;g>f;f++)e.push(h(a,this.expression.patterns[f],b.onError.bind(b)));var j=new i(e,function(){var a;try{a=d.selector.apply(d,arguments)}catch(c){return void b.onError(c)}b.onNext(a)},function(){for(var a=0,b=e.length;b>a;a++)e[a].removeActivePlan(j);c(j)});for(f=0,g=e.length;g>f;f++)e[f].addActivePlan(j);return j},i.prototype.dequeue=function(){for(var a=this.joinObservers.getValues(),b=0,c=a.length;c>b;b++)a[b].queue.shift()},i.prototype.match=function(){var a,b,c,d,e,f=!0;for(b=0,c=this.joinObserverArray.length;c>b;b++)if(0===this.joinObserverArray[b].queue.length){f=!1;break}if(f){for(a=[],d=!1,b=0,c=this.joinObserverArray.length;c>b;b++)a.push(this.joinObserverArray[b].queue[0]),"C"===this.joinObserverArray[b].queue[0].kind&&(d=!0);if(d)this.onCompleted();else{for(this.dequeue(),e=[],b=0;b<a.length;b++)e.push(a[b].value);this.onNext.apply(this,e)}}};var u=function(a){function b(b,c){a.call(this),this.source=b,this.onError=c,this.queue=[],this.activePlans=[],this.subscription=new o,this.isDisposed=!1}r(b,a);var c=b.prototype;return c.next=function(a){if(!this.isDisposed){if("E"===a.kind)return void this.onError(a.exception);this.queue.push(a);for(var b=this.activePlans.slice(0),c=0,d=b.length;d>c;c++)b[c].match()}},c.error=d,c.completed=d,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){var b=this.activePlans.indexOf(a);this.activePlans.splice(b,1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(q);return k.and=function(a){return new f([this,a])},k.then=function(a){return new f([this]).then(a)},j.when=function(){var a=e(arguments,0);return new l(function(b){var c,d,e,f,g,h,i=[],j=new t;h=n(b.onNext.bind(b),function(a){for(var c=j.getValues(),d=0,e=c.length;e>d;d++)c[d].onError(a);b.onError(a)},b.onCompleted.bind(b));try{for(d=0,e=a.length;e>d;d++)i.push(a[d].activate(j,h,function(a){var b=i.indexOf(a);i.splice(b,1),0===i.length&&h.onCompleted()}))}catch(k){m(k).subscribe(b)}for(c=new p,g=j.getValues(),d=0,e=g.length;e>d;d++)f=g[d],f.subscribe(),c.add(f);return c})},c});