@reactivex/rxjs
Version:
Reactive Extensions for modern JavaScript
1,498 lines (1,469 loc) • 471 kB
JavaScript
"format register";
System.register("rxjs/util/root", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var objectTypes = {
'boolean': false,
'function': true,
'object': true,
'number': false,
'string': false,
'undefined': false
};
exports.root = (objectTypes[typeof self] && self) || (objectTypes[typeof window] && window);
var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;
var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;
var freeGlobal = objectTypes[typeof global] && global;
if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
exports.root = freeGlobal;
}
global.define = __define;
return module.exports;
});
System.register("rxjs/symbol/observable", ["rxjs/util/root"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var root_1 = require("rxjs/util/root");
var Symbol = root_1.root.Symbol;
if (typeof Symbol === 'function') {
if (Symbol.observable) {
exports.$$observable = Symbol.observable;
} else {
if (typeof Symbol.for === 'function') {
exports.$$observable = Symbol.for('observable');
} else {
exports.$$observable = Symbol('observable');
}
Symbol.observable = exports.$$observable;
}
} else {
exports.$$observable = '@@observable';
}
global.define = __define;
return module.exports;
});
System.register("rxjs/util/isFunction", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
function isFunction(x) {
return typeof x === 'function';
}
exports.isFunction = isFunction;
global.define = __define;
return module.exports;
});
System.register("rxjs/util/isArray", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
exports.isArray = Array.isArray || (function(x) {
return x && typeof x.length === 'number';
});
global.define = __define;
return module.exports;
});
System.register("rxjs/util/isObject", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
function isObject(x) {
return x != null && typeof x === 'object';
}
exports.isObject = isObject;
global.define = __define;
return module.exports;
});
System.register("rxjs/util/errorObject", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
exports.errorObject = {e: {}};
global.define = __define;
return module.exports;
});
System.register("rxjs/util/UnsubscriptionError", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var UnsubscriptionError = (function(_super) {
__extends(UnsubscriptionError, _super);
function UnsubscriptionError(errors) {
_super.call(this);
this.errors = errors;
this.name = 'UnsubscriptionError';
this.message = errors ? errors.length + " errors occurred during unsubscription:\n" + errors.map(function(err, i) {
return ((i + 1) + ") " + err.toString());
}).join('\n') : '';
}
return UnsubscriptionError;
}(Error));
exports.UnsubscriptionError = UnsubscriptionError;
global.define = __define;
return module.exports;
});
System.register("rxjs/symbol/rxSubscriber", ["rxjs/util/root"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var root_1 = require("rxjs/util/root");
var Symbol = root_1.root.Symbol;
exports.$$rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'function') ? Symbol.for('rxSubscriber') : '@@rxSubscriber';
global.define = __define;
return module.exports;
});
System.register("rxjs/Observer", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
exports.empty = {
isUnsubscribed: true,
next: function(value) {},
error: function(err) {
throw err;
},
complete: function() {}
};
global.define = __define;
return module.exports;
});
System.register("rxjs/SubjectSubscription", ["rxjs/Subscription"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscription_1 = require("rxjs/Subscription");
var SubjectSubscription = (function(_super) {
__extends(SubjectSubscription, _super);
function SubjectSubscription(subject, observer) {
_super.call(this);
this.subject = subject;
this.observer = observer;
this.isUnsubscribed = false;
}
SubjectSubscription.prototype.unsubscribe = function() {
if (this.isUnsubscribed) {
return ;
}
this.isUnsubscribed = true;
var subject = this.subject;
var observers = subject.observers;
this.subject = null;
if (!observers || observers.length === 0 || subject.isUnsubscribed) {
return ;
}
var subscriberIndex = observers.indexOf(this.observer);
if (subscriberIndex !== -1) {
observers.splice(subscriberIndex, 1);
}
};
return SubjectSubscription;
}(Subscription_1.Subscription));
exports.SubjectSubscription = SubjectSubscription;
global.define = __define;
return module.exports;
});
System.register("rxjs/util/throwError", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
function throwError(e) {
throw e;
}
exports.throwError = throwError;
global.define = __define;
return module.exports;
});
System.register("rxjs/util/ObjectUnsubscribedError", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var ObjectUnsubscribedError = (function(_super) {
__extends(ObjectUnsubscribedError, _super);
function ObjectUnsubscribedError() {
_super.call(this, 'object unsubscribed');
this.name = 'ObjectUnsubscribedError';
}
return ObjectUnsubscribedError;
}(Error));
exports.ObjectUnsubscribedError = ObjectUnsubscribedError;
global.define = __define;
return module.exports;
});
System.register("rxjs/AsyncSubject", ["rxjs/Subject"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subject_1 = require("rxjs/Subject");
var AsyncSubject = (function(_super) {
__extends(AsyncSubject, _super);
function AsyncSubject() {
_super.apply(this, arguments);
this.value = null;
this.hasNext = false;
}
AsyncSubject.prototype._subscribe = function(subscriber) {
if (this.hasCompleted && this.hasNext) {
subscriber.next(this.value);
}
return _super.prototype._subscribe.call(this, subscriber);
};
AsyncSubject.prototype._next = function(value) {
this.value = value;
this.hasNext = true;
};
AsyncSubject.prototype._complete = function() {
var index = -1;
var observers = this.observers;
var len = observers.length;
this.isUnsubscribed = true;
if (this.hasNext) {
while (++index < len) {
var o = observers[index];
o.next(this.value);
o.complete();
}
} else {
while (++index < len) {
observers[index].complete();
}
}
this.isUnsubscribed = false;
this.unsubscribe();
};
return AsyncSubject;
}(Subject_1.Subject));
exports.AsyncSubject = AsyncSubject;
global.define = __define;
return module.exports;
});
System.register("rxjs/observable/BoundNodeCallbackObservable", ["rxjs/Observable", "rxjs/util/tryCatch", "rxjs/util/errorObject", "rxjs/AsyncSubject"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = require("rxjs/Observable");
var tryCatch_1 = require("rxjs/util/tryCatch");
var errorObject_1 = require("rxjs/util/errorObject");
var AsyncSubject_1 = require("rxjs/AsyncSubject");
var BoundNodeCallbackObservable = (function(_super) {
__extends(BoundNodeCallbackObservable, _super);
function BoundNodeCallbackObservable(callbackFunc, selector, args, scheduler) {
_super.call(this);
this.callbackFunc = callbackFunc;
this.selector = selector;
this.args = args;
this.scheduler = scheduler;
}
BoundNodeCallbackObservable.create = function(callbackFunc, selector, scheduler) {
if (selector === void 0) {
selector = undefined;
}
return function() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i - 0] = arguments[_i];
}
return new BoundNodeCallbackObservable(callbackFunc, selector, args, scheduler);
};
};
BoundNodeCallbackObservable.prototype._subscribe = function(subscriber) {
var callbackFunc = this.callbackFunc;
var args = this.args;
var scheduler = this.scheduler;
var subject = this.subject;
if (!scheduler) {
if (!subject) {
subject = this.subject = new AsyncSubject_1.AsyncSubject();
var handler = function handlerFn() {
var innerArgs = [];
for (var _i = 0; _i < arguments.length; _i++) {
innerArgs[_i - 0] = arguments[_i];
}
var source = handlerFn.source;
var selector = source.selector,
subject = source.subject;
var err = innerArgs.shift();
if (err) {
subject.error(err);
} else if (selector) {
var result_1 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);
if (result_1 === errorObject_1.errorObject) {
subject.error(errorObject_1.errorObject.e);
} else {
subject.next(result_1);
subject.complete();
}
} else {
subject.next(innerArgs.length === 1 ? innerArgs[0] : innerArgs);
subject.complete();
}
};
handler.source = this;
var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));
if (result === errorObject_1.errorObject) {
subject.error(errorObject_1.errorObject.e);
}
}
return subject.subscribe(subscriber);
} else {
return scheduler.schedule(dispatch, 0, {
source: this,
subscriber: subscriber
});
}
};
return BoundNodeCallbackObservable;
}(Observable_1.Observable));
exports.BoundNodeCallbackObservable = BoundNodeCallbackObservable;
function dispatch(state) {
var self = this;
var source = state.source,
subscriber = state.subscriber;
var callbackFunc = source.callbackFunc,
args = source.args,
scheduler = source.scheduler;
var subject = source.subject;
if (!subject) {
subject = source.subject = new AsyncSubject_1.AsyncSubject();
var handler = function handlerFn() {
var innerArgs = [];
for (var _i = 0; _i < arguments.length; _i++) {
innerArgs[_i - 0] = arguments[_i];
}
var source = handlerFn.source;
var selector = source.selector,
subject = source.subject;
var err = innerArgs.shift();
if (err) {
subject.error(err);
} else if (selector) {
var result_2 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);
if (result_2 === errorObject_1.errorObject) {
self.add(scheduler.schedule(dispatchError, 0, {
err: errorObject_1.errorObject.e,
subject: subject
}));
} else {
self.add(scheduler.schedule(dispatchNext, 0, {
value: result_2,
subject: subject
}));
}
} else {
var value = innerArgs.length === 1 ? innerArgs[0] : innerArgs;
self.add(scheduler.schedule(dispatchNext, 0, {
value: value,
subject: subject
}));
}
};
handler.source = source;
var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));
if (result === errorObject_1.errorObject) {
subject.error(errorObject_1.errorObject.e);
}
}
self.add(subject.subscribe(subscriber));
}
function dispatchNext(arg) {
var value = arg.value,
subject = arg.subject;
subject.next(value);
subject.complete();
}
function dispatchError(arg) {
var err = arg.err,
subject = arg.subject;
subject.error(err);
}
global.define = __define;
return module.exports;
});
System.register("rxjs/observable/ScalarObservable", ["rxjs/Observable"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = require("rxjs/Observable");
var ScalarObservable = (function(_super) {
__extends(ScalarObservable, _super);
function ScalarObservable(value, scheduler) {
_super.call(this);
this.value = value;
this.scheduler = scheduler;
this._isScalar = true;
}
ScalarObservable.create = function(value, scheduler) {
return new ScalarObservable(value, scheduler);
};
ScalarObservable.dispatch = function(state) {
var done = state.done,
value = state.value,
subscriber = state.subscriber;
if (done) {
subscriber.complete();
return ;
}
subscriber.next(value);
if (subscriber.isUnsubscribed) {
return ;
}
state.done = true;
this.schedule(state);
};
ScalarObservable.prototype._subscribe = function(subscriber) {
var value = this.value;
var scheduler = this.scheduler;
if (scheduler) {
return scheduler.schedule(ScalarObservable.dispatch, 0, {
done: false,
value: value,
subscriber: subscriber
});
} else {
subscriber.next(value);
if (!subscriber.isUnsubscribed) {
subscriber.complete();
}
}
};
return ScalarObservable;
}(Observable_1.Observable));
exports.ScalarObservable = ScalarObservable;
global.define = __define;
return module.exports;
});
System.register("rxjs/observable/EmptyObservable", ["rxjs/Observable"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = require("rxjs/Observable");
var EmptyObservable = (function(_super) {
__extends(EmptyObservable, _super);
function EmptyObservable(scheduler) {
_super.call(this);
this.scheduler = scheduler;
}
EmptyObservable.create = function(scheduler) {
return new EmptyObservable(scheduler);
};
EmptyObservable.dispatch = function(arg) {
var subscriber = arg.subscriber;
subscriber.complete();
};
EmptyObservable.prototype._subscribe = function(subscriber) {
var scheduler = this.scheduler;
if (scheduler) {
return scheduler.schedule(EmptyObservable.dispatch, 0, {subscriber: subscriber});
} else {
subscriber.complete();
}
};
return EmptyObservable;
}(Observable_1.Observable));
exports.EmptyObservable = EmptyObservable;
global.define = __define;
return module.exports;
});
System.register("rxjs/util/isScheduler", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
function isScheduler(value) {
return value && typeof value.schedule === 'function';
}
exports.isScheduler = isScheduler;
global.define = __define;
return module.exports;
});
System.register("rxjs/OuterSubscriber", ["rxjs/Subscriber"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = require("rxjs/Subscriber");
var OuterSubscriber = (function(_super) {
__extends(OuterSubscriber, _super);
function OuterSubscriber() {
_super.apply(this, arguments);
}
OuterSubscriber.prototype.notifyNext = function(outerValue, innerValue, outerIndex, innerIndex, innerSub) {
this.destination.next(innerValue);
};
OuterSubscriber.prototype.notifyError = function(error, innerSub) {
this.destination.error(error);
};
OuterSubscriber.prototype.notifyComplete = function(innerSub) {
this.destination.complete();
};
return OuterSubscriber;
}(Subscriber_1.Subscriber));
exports.OuterSubscriber = OuterSubscriber;
global.define = __define;
return module.exports;
});
System.register("rxjs/util/isPromise", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
function isPromise(value) {
return value && typeof value.subscribe !== 'function' && typeof value.then === 'function';
}
exports.isPromise = isPromise;
global.define = __define;
return module.exports;
});
System.register("rxjs/symbol/iterator", ["rxjs/util/root"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var root_1 = require("rxjs/util/root");
var Symbol = root_1.root.Symbol;
if (typeof Symbol === 'function') {
if (Symbol.iterator) {
exports.$$iterator = Symbol.iterator;
} else if (typeof Symbol.for === 'function') {
exports.$$iterator = Symbol.for('iterator');
}
} else {
if (root_1.root.Set && typeof new root_1.root.Set()['@@iterator'] === 'function') {
exports.$$iterator = '@@iterator';
} else if (root_1.root.Map) {
var keys = Object.getOwnPropertyNames(root_1.root.Map.prototype);
for (var i = 0; i < keys.length; ++i) {
var key = keys[i];
if (key !== 'entries' && key !== 'size' && root_1.root.Map.prototype[key] === root_1.root.Map.prototype['entries']) {
exports.$$iterator = key;
break;
}
}
} else {
exports.$$iterator = '@@iterator';
}
}
global.define = __define;
return module.exports;
});
System.register("rxjs/InnerSubscriber", ["rxjs/Subscriber"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = require("rxjs/Subscriber");
var InnerSubscriber = (function(_super) {
__extends(InnerSubscriber, _super);
function InnerSubscriber(parent, outerValue, outerIndex) {
_super.call(this);
this.parent = parent;
this.outerValue = outerValue;
this.outerIndex = outerIndex;
this.index = 0;
}
InnerSubscriber.prototype._next = function(value) {
this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);
};
InnerSubscriber.prototype._error = function(error) {
this.parent.notifyError(error, this);
this.unsubscribe();
};
InnerSubscriber.prototype._complete = function() {
this.parent.notifyComplete(this);
this.unsubscribe();
};
return InnerSubscriber;
}(Subscriber_1.Subscriber));
exports.InnerSubscriber = InnerSubscriber;
global.define = __define;
return module.exports;
});
System.register("rxjs/operator/mergeAll", ["rxjs/OuterSubscriber", "rxjs/util/subscribeToResult"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var OuterSubscriber_1 = require("rxjs/OuterSubscriber");
var subscribeToResult_1 = require("rxjs/util/subscribeToResult");
function mergeAll(concurrent) {
if (concurrent === void 0) {
concurrent = Number.POSITIVE_INFINITY;
}
return this.lift(new MergeAllOperator(concurrent));
}
exports.mergeAll = mergeAll;
var MergeAllOperator = (function() {
function MergeAllOperator(concurrent) {
this.concurrent = concurrent;
}
MergeAllOperator.prototype.call = function(observer, source) {
return source._subscribe(new MergeAllSubscriber(observer, this.concurrent));
};
return MergeAllOperator;
}());
exports.MergeAllOperator = MergeAllOperator;
var MergeAllSubscriber = (function(_super) {
__extends(MergeAllSubscriber, _super);
function MergeAllSubscriber(destination, concurrent) {
_super.call(this, destination);
this.concurrent = concurrent;
this.hasCompleted = false;
this.buffer = [];
this.active = 0;
}
MergeAllSubscriber.prototype._next = function(observable) {
if (this.active < this.concurrent) {
this.active++;
this.add(subscribeToResult_1.subscribeToResult(this, observable));
} else {
this.buffer.push(observable);
}
};
MergeAllSubscriber.prototype._complete = function() {
this.hasCompleted = true;
if (this.active === 0 && this.buffer.length === 0) {
this.destination.complete();
}
};
MergeAllSubscriber.prototype.notifyComplete = function(innerSub) {
var buffer = this.buffer;
this.remove(innerSub);
this.active--;
if (buffer.length > 0) {
this._next(buffer.shift());
} else if (this.active === 0 && this.hasCompleted) {
this.destination.complete();
}
};
return MergeAllSubscriber;
}(OuterSubscriber_1.OuterSubscriber));
exports.MergeAllSubscriber = MergeAllSubscriber;
global.define = __define;
return module.exports;
});
System.register("rxjs/observable/DeferObservable", ["rxjs/Observable", "rxjs/util/subscribeToResult", "rxjs/OuterSubscriber"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = require("rxjs/Observable");
var subscribeToResult_1 = require("rxjs/util/subscribeToResult");
var OuterSubscriber_1 = require("rxjs/OuterSubscriber");
var DeferObservable = (function(_super) {
__extends(DeferObservable, _super);
function DeferObservable(observableFactory) {
_super.call(this);
this.observableFactory = observableFactory;
}
DeferObservable.create = function(observableFactory) {
return new DeferObservable(observableFactory);
};
DeferObservable.prototype._subscribe = function(subscriber) {
return new DeferSubscriber(subscriber, this.observableFactory);
};
return DeferObservable;
}(Observable_1.Observable));
exports.DeferObservable = DeferObservable;
var DeferSubscriber = (function(_super) {
__extends(DeferSubscriber, _super);
function DeferSubscriber(destination, factory) {
_super.call(this, destination);
this.factory = factory;
this.tryDefer();
}
DeferSubscriber.prototype.tryDefer = function() {
try {
this._callFactory();
} catch (err) {
this._error(err);
}
};
DeferSubscriber.prototype._callFactory = function() {
var result = this.factory();
if (result) {
this.add(subscribeToResult_1.subscribeToResult(this, result));
}
};
return DeferSubscriber;
}(OuterSubscriber_1.OuterSubscriber));
global.define = __define;
return module.exports;
});
System.register("rxjs/observable/empty", ["rxjs/observable/EmptyObservable"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var EmptyObservable_1 = require("rxjs/observable/EmptyObservable");
exports.empty = EmptyObservable_1.EmptyObservable.create;
global.define = __define;
return module.exports;
});
System.register("rxjs/observable/ForkJoinObservable", ["rxjs/Observable", "rxjs/observable/EmptyObservable", "rxjs/util/isArray", "rxjs/util/subscribeToResult", "rxjs/OuterSubscriber"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = require("rxjs/Observable");
var EmptyObservable_1 = require("rxjs/observable/EmptyObservable");
var isArray_1 = require("rxjs/util/isArray");
var subscribeToResult_1 = require("rxjs/util/subscribeToResult");
var OuterSubscriber_1 = require("rxjs/OuterSubscriber");
var ForkJoinObservable = (function(_super) {
__extends(ForkJoinObservable, _super);
function ForkJoinObservable(sources, resultSelector) {
_super.call(this);
this.sources = sources;
this.resultSelector = resultSelector;
}
ForkJoinObservable.create = function() {
var sources = [];
for (var _i = 0; _i < arguments.length; _i++) {
sources[_i - 0] = arguments[_i];
}
if (sources === null || arguments.length === 0) {
return new EmptyObservable_1.EmptyObservable();
}
var resultSelector = null;
if (typeof sources[sources.length - 1] === 'function') {
resultSelector = sources.pop();
}
if (sources.length === 1 && isArray_1.isArray(sources[0])) {
sources = sources[0];
}
if (sources.length === 0) {
return new EmptyObservable_1.EmptyObservable();
}
return new ForkJoinObservable(sources, resultSelector);
};
ForkJoinObservable.prototype._subscribe = function(subscriber) {
return new ForkJoinSubscriber(subscriber, this.sources, this.resultSelector);
};
return ForkJoinObservable;
}(Observable_1.Observable));
exports.ForkJoinObservable = ForkJoinObservable;
var ForkJoinSubscriber = (function(_super) {
__extends(ForkJoinSubscriber, _super);
function ForkJoinSubscriber(destination, sources, resultSelector) {
_super.call(this, destination);
this.sources = sources;
this.resultSelector = resultSelector;
this.completed = 0;
this.haveValues = 0;
var len = sources.length;
this.total = len;
this.values = new Array(len);
for (var i = 0; i < len; i++) {
var source = sources[i];
var innerSubscription = subscribeToResult_1.subscribeToResult(this, source, null, i);
if (innerSubscription) {
innerSubscription.outerIndex = i;
this.add(innerSubscription);
}
}
}
ForkJoinSubscriber.prototype.notifyNext = function(outerValue, innerValue, outerIndex, innerIndex, innerSub) {
this.values[outerIndex] = innerValue;
if (!innerSub._hasValue) {
innerSub._hasValue = true;
this.haveValues++;
}
};
ForkJoinSubscriber.prototype.notifyComplete = function(innerSub) {
var destination = this.destination;
var _a = this,
haveValues = _a.haveValues,
resultSelector = _a.resultSelector,
values = _a.values;
var len = values.length;
if (!innerSub._hasValue) {
destination.complete();
return ;
}
this.completed++;
if (this.completed !== len) {
return ;
}
if (haveValues === len) {
var value = resultSelector ? resultSelector.apply(this, values) : values;
destination.next(value);
}
destination.complete();
};
return ForkJoinSubscriber;
}(OuterSubscriber_1.OuterSubscriber));
global.define = __define;
return module.exports;
});
System.register("rxjs/observable/PromiseObservable", ["rxjs/util/root", "rxjs/Observable"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var root_1 = require("rxjs/util/root");
var Observable_1 = require("rxjs/Observable");
var PromiseObservable = (function(_super) {
__extends(PromiseObservable, _super);
function PromiseObservable(promise, scheduler) {
if (scheduler === void 0) {
scheduler = null;
}
_super.call(this);
this.promise = promise;
this.scheduler = scheduler;
}
PromiseObservable.create = function(promise, scheduler) {
if (scheduler === void 0) {
scheduler = null;
}
return new PromiseObservable(promise, scheduler);
};
PromiseObservable.prototype._subscribe = function(subscriber) {
var _this = this;
var promise = this.promise;
var scheduler = this.scheduler;
if (scheduler == null) {
if (this._isScalar) {
if (!subscriber.isUnsubscribed) {
subscriber.next(this.value);
subscriber.complete();
}
} else {
promise.then(function(value) {
_this.value = value;
_this._isScalar = true;
if (!subscriber.isUnsubscribed) {
subscriber.next(value);
subscriber.complete();
}
}, function(err) {
if (!subscriber.isUnsubscribed) {
subscriber.error(err);
}
}).then(null, function(err) {
root_1.root.setTimeout(function() {
throw err;
});
});
}
} else {
if (this._isScalar) {
if (!subscriber.isUnsubscribed) {
return scheduler.schedule(dispatchNext, 0, {
value: this.value,
subscriber: subscriber
});
}
} else {
promise.then(function(value) {
_this.value = value;
_this._isScalar = true;
if (!subscriber.isUnsubscribed) {
subscriber.add(scheduler.schedule(dispatchNext, 0, {
value: value,
subscriber: subscriber
}));
}
}, function(err) {
if (!subscriber.isUnsubscribed) {
subscriber.add(scheduler.schedule(dispatchError, 0, {
err: err,
subscriber: subscriber
}));
}
}).then(null, function(err) {
root_1.root.setTimeout(function() {
throw err;
});
});
}
}
};
return PromiseObservable;
}(Observable_1.Observable));
exports.PromiseObservable = PromiseObservable;
function dispatchNext(arg) {
var value = arg.value,
subscriber = arg.subscriber;
if (!subscriber.isUnsubscribed) {
subscriber.next(value);
subscriber.complete();
}
}
function dispatchError(arg) {
var err = arg.err,
subscriber = arg.subscriber;
if (!subscriber.isUnsubscribed) {
subscriber.error(err);
}
}
global.define = __define;
return module.exports;
});
System.register("rxjs/observable/IteratorObservable", ["rxjs/util/root", "rxjs/util/isObject", "rxjs/util/tryCatch", "rxjs/Observable", "rxjs/util/isFunction", "rxjs/symbol/iterator", "rxjs/util/errorObject"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var root_1 = require("rxjs/util/root");
var isObject_1 = require("rxjs/util/isObject");
var tryCatch_1 = require("rxjs/util/tryCatch");
var Observable_1 = require("rxjs/Observable");
var isFunction_1 = require("rxjs/util/isFunction");
var iterator_1 = require("rxjs/symbol/iterator");
var errorObject_1 = require("rxjs/util/errorObject");
var IteratorObservable = (function(_super) {
__extends(IteratorObservable, _super);
function IteratorObservable(iterator, project, thisArg, scheduler) {
_super.call(this);
if (iterator == null) {
throw new Error('iterator cannot be null.');
}
if (isObject_1.isObject(project)) {
this.thisArg = project;
this.scheduler = thisArg;
} else if (isFunction_1.isFunction(project)) {
this.project = project;
this.thisArg = thisArg;
this.scheduler = scheduler;
} else if (project != null) {
throw new Error('When provided, `project` must be a function.');
}
this.iterator = getIterator(iterator);
}
IteratorObservable.create = function(iterator, project, thisArg, scheduler) {
return new IteratorObservable(iterator, project, thisArg, scheduler);
};
IteratorObservable.dispatch = function(state) {
var index = state.index,
hasError = state.hasError,
thisArg = state.thisArg,
project = state.project,
iterator = state.iterator,
subscriber = state.subscriber;
if (hasError) {
subscriber.error(state.error);
return ;
}
var result = iterator.next();
if (result.done) {
subscriber.complete();
return ;
}
if (project) {
result = tryCatch_1.tryCatch(project).call(thisArg, result.value, index);
if (result === errorObject_1.errorObject) {
state.error = errorObject_1.errorObject.e;
state.hasError = true;
} else {
subscriber.next(result);
state.index = index + 1;
}
} else {
subscriber.next(result.value);
state.index = index + 1;
}
if (subscriber.isUnsubscribed) {
return ;
}
this.schedule(state);
};
IteratorObservable.prototype._subscribe = function(subscriber) {
var index = 0;
var _a = this,
iterator = _a.iterator,
project = _a.project,
thisArg = _a.thisArg,
scheduler = _a.scheduler;
if (scheduler) {
return scheduler.schedule(IteratorObservable.dispatch, 0, {
index: index,
thisArg: thisArg,
project: project,
iterator: iterator,
subscriber: subscriber
});
} else {
do {
var result = iterator.next();
if (result.done) {
subscriber.complete();
break;
} else if (project) {
result = tryCatch_1.tryCatch(project).call(thisArg, result.value, index++);
if (result === errorObject_1.errorObject) {
subscriber.error(errorObject_1.errorObject.e);
break;
}
subscriber.next(result);
} else {
subscriber.next(result.value);
}
if (subscriber.isUnsubscribed) {
break;
}
} while (true);
}
};
return IteratorObservable;
}(Observable_1.Observable));
exports.IteratorObservable = IteratorObservable;
var StringIterator = (function() {
function StringIterator(str, idx, len) {
if (idx === void 0) {
idx = 0;
}
if (len === void 0) {
len = str.length;
}
this.str = str;
this.idx = idx;
this.len = len;
}
StringIterator.prototype[iterator_1.$$iterator] = function() {
return (this);
};
StringIterator.prototype.next = function() {
return this.idx < this.len ? {
done: false,
value: this.str.charAt(this.idx++)
} : {
done: true,
value: undefined
};
};
return StringIterator;
}());
var ArrayIterator = (function() {
function ArrayIterator(arr, idx, len) {
if (idx === void 0) {
idx = 0;
}
if (len === void 0) {
len = toLength(arr);
}
this.arr = arr;
this.idx = idx;
this.len = len;
}
ArrayIterator.prototype[iterator_1.$$iterator] = function() {
return this;
};
ArrayIterator.prototype.next = function() {
return this.idx < this.len ? {
done: false,
value: this.arr[this.idx++]
} : {
done: true,
value: undefined
};
};
return ArrayIterator;
}());
function getIterator(obj) {
var i = obj[iterator_1.$$iterator];
if (!i && typeof obj === 'string') {
return new StringIterator(obj);
}
if (!i && obj.length !== undefined) {
return new ArrayIterator(obj);
}
if (!i) {
throw new TypeError('Object is not iterable');
}
return obj[iterator_1.$$iterator]();
}
var maxSafeInteger = Math.pow(2, 53) - 1;
function toLength(o) {
var len = +o.length;
if (isNaN(len)) {
return 0;
}
if (len === 0 || !numberIsFinite(len)) {
return len;
}
len = sign(len) * Math.floor(Math.abs(len));
if (len <= 0) {
return 0;
}
if (len > maxSafeInteger) {
return maxSafeInteger;
}
return len;
}
function numberIsFinite(value) {
return typeof value === 'number' && root_1.root.isFinite(value);
}
function sign(value) {
var valueAsNumber = +value;
if (valueAsNumber === 0) {
return valueAsNumber;
}
if (isNaN(valueAsNumber)) {
return valueAsNumber;
}
return valueAsNumber < 0 ? -1 : 1;
}
global.define = __define;
return module.exports;
});
System.register("rxjs/observable/ArrayLikeObservable", ["rxjs/Observable", "rxjs/observable/ScalarObservable", "rxjs/observable/EmptyObservable"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = require("rxjs/Observable");
var ScalarObservable_1 = require("rxjs/observable/ScalarObservable");
var EmptyObservable_1 = require("rxjs/observable/EmptyObservable");
var ArrayLikeObservable = (function(_super) {
__extends(ArrayLikeObservable, _super);
function ArrayLikeObservable(arrayLike, mapFn, thisArg, scheduler) {
_super.call(this);
this.arrayLike = arrayLike;
this.scheduler = scheduler;
if (!mapFn && !scheduler && arrayLike.length === 1) {
this._isScalar = true;
this.value = arrayLike[0];
}
if (mapFn) {
this.mapFn = mapFn.bind(thisArg);
}
}
ArrayLikeObservable.create = function(arrayLike, mapFn, thisArg, scheduler) {
var length = arrayLike.length;
if (length === 0) {
return new EmptyObservable_1.EmptyObservable();
} else if (length === 1 && !mapFn) {
return new ScalarObservable_1.ScalarObservable(arrayLike[0], scheduler);
} else {
return new ArrayLikeObservable(arrayLike, mapFn, thisArg, scheduler);
}
};
ArrayLikeObservable.dispatch = function(state) {
var arrayLike = state.arrayLike,
index = state.index,
length = state.length,
mapFn = state.mapFn,
subscriber = state.subscriber;
if (subscriber.isUnsubscribed) {
return ;
}
if (index >= length) {
subscriber.complete();
return ;
}
var result = mapFn ? mapFn(arrayLike[index], index) : arrayLike[index];
subscriber.next(result);
state.index = index + 1;
this.schedule(state);
};
ArrayLikeObservable.prototype._subscribe = function(subscriber) {
var index = 0;
var _a = this,
arrayLike = _a.arrayLike,
mapFn = _a.mapFn,
scheduler = _a.scheduler;
var length = arrayLike.length;
if (scheduler) {
return scheduler.schedule(ArrayLikeObservable.dispatch, 0, {
arrayLike: arrayLike,
index: index,
length: length,
mapFn: mapFn,
subscriber: subscriber
});
} else {
for (var i = 0; i < length && !subscriber.isUnsubscribed; i++) {
var result = mapFn ? mapFn(arrayLike[i], i) : arrayLike[i];
subscriber.next(result);
}
subscriber.complete();
}
};
return ArrayLikeObservable;
}(Observable_1.Observable));
exports.ArrayLikeObservable = ArrayLikeObservable;
global.define = __define;
return module.exports;
});
System.register("rxjs/Notification", ["rxjs/Observable"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var Observable_1 = require("rxjs/Observable");
var Notification = (function() {
function Notification(kind, value, exception) {
this.kind = kind;
this.value = value;
this.exception = exception;
this.hasValue = kind === 'N';
}
Notification.prototype.observe = function(observer) {
switch (this.kind) {
case 'N':
return observer.next && observer.next(this.value);
case 'E':
return observer.error && observer.error(this.exception);
case 'C':
return observer.complete && observer.complete();
}
};
Notification.prototype.do = function(next, error, complete) {
var kind = this.kind;
switch (kind) {
case 'N':
return next && next(this.value);
case 'E':
return error && error(this.exception);
case 'C':
return complete && complete();
}
};
Notification.prototype.accept = function(nextOrObserver, error, complete) {
if (nextOrObserver && typeof nextOrObserver.next === 'function') {
return this.observe(nextOrObserver);
} else {
return this.do(nextOrObserver, error, complete);
}
};
Notification.prototype.toObservable = function() {
var kind = this.kind;
switch (kind) {
case 'N':
return Observable_1.Observable.of(this.value);
case 'E':
return Observable_1.Observable.throw(this.exception);
case 'C':
return Observable_1.Observable.empty();
}
};
Notification.createNext = function(value) {
if (typeof value !== 'undefined') {
return new Notification('N', value);
}
return this.undefinedValueNotification;
};
Notification.createError = function(err) {
return new Notification('E', undefined, err);
};
Notification.createComplete = function() {
return this.completeNotification;
};
Notification.completeNotification = new Notification('C');
Notification.undefinedValueNotification = new Notification('N', undefined);
return Notification;
}());
exports.Notification = Notification;
global.define = __define;
return module.exports;
});
System.register("rxjs/observable/FromEventObservable", ["rxjs/Observable", "rxjs/util/tryCatch", "rxjs/util/errorObject", "rxjs/Subscription"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
"use strict";
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = require("rxjs/Observable");
var tryCatch_1 = require("rxjs/util/tryCatch");
var errorObject_1 = require("rxjs/util/errorObject");
var Subscription_1 = require("rxjs/Subscription");
function isNodeStyleEventEmmitter(sourceObj) {
return !!sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';
}
function isJQueryStyleEventEmitter(sourceObj) {
return !!sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';
}
function isNodeList(sourceObj) {
return !!sourceObj && sourceObj.toString() === '[object NodeList]';
}
function isHTMLCollection(sourceObj) {
return !!sourceObj && sourceObj.toString() === '[object HTMLCollection]';
}
function isEventTarget(sourceObj) {
return !!sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';
}
var FromEventObservable = (function(_super) {
__extends(FromEventObservable, _super);
function FromEventObservable(sourceObj, eventName, selector) {
_super.call(this);
this.sourceObj = sourceObj;
this.eventName = eventName;
this.selector = selector;
}
FromEventObservable.create = function(sourceObj, eventName, selector) {
return new FromEventObservable(sourceObj, eventName, selector);
};
FromEventObservable.setupSubscription = function(sourceObj, eventName, handler, subscriber) {
var unsubscribe;
if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) {
for (var i = 0,
len = sourceObj.length; i < len; i++) {
FromEventObservable.setupSubscription(sourceObj[i], eventName, handler, subscriber);
}
} else if (isEventTarget(sourceObj)) {
sourceObj.addEventListener(eventName, handler);
unsubscribe = function() {
return sourceObj.removeEventListener(eventName, handler);
};
} e