awesome-cordova-plugins/ng1demo/www/js/bundle.js
2015-12-01 13:33:08 -06:00

8418 lines
340 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
var DEVICE_READY_TIMEOUT = 2000;
__export(require('./plugins/actionsheet'));
__export(require('./plugins/ble'));
__export(require('./plugins/camera'));
__export(require('./plugins/calendar'));
__export(require('./plugins/contacts'));
__export(require('./plugins/device'));
__export(require('./plugins/facebook'));
__export(require('./plugins/geolocation'));
__export(require('./plugins/statusbar'));
__export(require('./plugins/toast'));
var before = +new Date;
var didFireReady = false;
document.addEventListener('deviceready', function () {
console.log('DEVICE READY FIRED AFTER', (+new Date - before), 'ms');
didFireReady = true;
});
setTimeout(function () {
if (!didFireReady && window.cordova) {
console.warn('Native: deviceready did not fire within ' + DEVICE_READY_TIMEOUT + 'ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.');
}
}, DEVICE_READY_TIMEOUT);
//# sourceMappingURL=index.js.map
},{"./plugins/actionsheet":2,"./plugins/ble":3,"./plugins/calendar":4,"./plugins/camera":5,"./plugins/contacts":6,"./plugins/device":7,"./plugins/facebook":8,"./plugins/geolocation":9,"./plugins/statusbar":11,"./plugins/toast":12}],2:[function(require,module,exports){
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
}
};
var plugin_1 = require('./plugin');
var ActionSheet = (function () {
function ActionSheet() {
}
ActionSheet.show = function (options) { };
;
ActionSheet.hide = function (options) { };
;
Object.defineProperty(ActionSheet, "show",
__decorate([
plugin_1.Cordova()
], ActionSheet, "show", Object.getOwnPropertyDescriptor(ActionSheet, "show")));
Object.defineProperty(ActionSheet, "hide",
__decorate([
plugin_1.Cordova()
], ActionSheet, "hide", Object.getOwnPropertyDescriptor(ActionSheet, "hide")));
ActionSheet = __decorate([
plugin_1.Plugin({
name: 'ActionSheet',
plugin: 'cordova-plugin-actionsheet',
pluginRef: 'plugins.actionsheet',
repo: 'https://github.com/EddyVerbruggen/cordova-plugin-actionsheet'
})
], ActionSheet);
return ActionSheet;
})();
exports.ActionSheet = ActionSheet;
//# sourceMappingURL=actionsheet.js.map
},{"./plugin":10}],3:[function(require,module,exports){
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
}
};
var plugin_1 = require('./plugin');
var BLE = (function () {
function BLE() {
}
BLE.scan = function (services, seconds) { };
BLE.startScan = function (services) { };
;
BLE.stopScan = function () { };
;
BLE.connect = function (deviceId) { };
;
BLE.disconnect = function (deviceId) { };
;
BLE.read = function (deviceId, serviceUUID, characteristicUUID) { };
;
BLE.write = function (deviceId, serviceUUID, characteristicUUID, value) { };
;
BLE.writeWithoutResponse = function (deviceId, serviceUUID, characteristicUUID, value) { };
;
Object.defineProperty(BLE, "scan",
__decorate([
plugin_1.Cordova()
], BLE, "scan", Object.getOwnPropertyDescriptor(BLE, "scan")));
Object.defineProperty(BLE, "startScan",
__decorate([
plugin_1.Cordova()
], BLE, "startScan", Object.getOwnPropertyDescriptor(BLE, "startScan")));
Object.defineProperty(BLE, "stopScan",
__decorate([
plugin_1.Cordova()
], BLE, "stopScan", Object.getOwnPropertyDescriptor(BLE, "stopScan")));
Object.defineProperty(BLE, "connect",
__decorate([
plugin_1.Cordova()
], BLE, "connect", Object.getOwnPropertyDescriptor(BLE, "connect")));
Object.defineProperty(BLE, "disconnect",
__decorate([
plugin_1.Cordova()
], BLE, "disconnect", Object.getOwnPropertyDescriptor(BLE, "disconnect")));
Object.defineProperty(BLE, "read",
__decorate([
plugin_1.Cordova()
], BLE, "read", Object.getOwnPropertyDescriptor(BLE, "read")));
Object.defineProperty(BLE, "write",
__decorate([
plugin_1.Cordova()
], BLE, "write", Object.getOwnPropertyDescriptor(BLE, "write")));
Object.defineProperty(BLE, "writeWithoutResponse",
__decorate([
plugin_1.Cordova()
], BLE, "writeWithoutResponse", Object.getOwnPropertyDescriptor(BLE, "writeWithoutResponse")));
BLE = __decorate([
plugin_1.Plugin({
name: 'BluetoothLowEnergy',
plugin: 'cordova-plugin-ble-central',
pluginRef: 'ble',
pluginRepo: 'https://github.com/don/cordova-plugin-ble-central'
})
], BLE);
return BLE;
})();
exports.BLE = BLE;
//# sourceMappingURL=ble.js.map
},{"./plugin":10}],4:[function(require,module,exports){
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
}
};
var plugin_1 = require('./plugin');
var Calendar = (function () {
function Calendar() {
}
Calendar.createCalendar = function (options) { };
Calendar.deleteCalendar = function (calendarName) { };
Calendar.getCalendarOptions = function () { };
Calendar.createEvent = function (title, location, notes, startDate, endDate) { };
Calendar.createEventWithOptions = function (title, location, notes, startDate, endDate, options) { };
Calendar.createEventInteractively = function (title, location, notes, startDate, endDate) { };
Calendar.createEventInteractivelyWithOptions = function (title, location, notes, startDate, endDate, options) { };
Calendar.createEventInNamedCalendar = function (title, location, notes, startDate, endDate, calendarName) { };
Calendar.findEvent = function (title, location, notes, startDate, endDate) { };
Calendar.listEventsInRange = function (startDate, endDate) { };
Calendar.listCalendars = function () { };
Calendar.findAllEventsInNamedCalendar = function (calendarName) { };
Calendar.modifyEvent = function (title, location, notes, startDate, endDate, newTitle, newLocation, newNotes, newStartDate, newEndDate) { };
Calendar.modifyEventWithOptions = function (title, location, notes, startDate, endDate, newTitle, newEventLocation, newNotes, newStartDate, newEndDate, options) { };
Calendar.deleteEvent = function (title, location, notes, startDate, endDate) { };
Calendar.deleteEventFromNamedCalendar = function (title, location, notes, startDate, endDate, calendarName) { };
Calendar.openCalendar = function (date) { };
Object.defineProperty(Calendar, "createCalendar",
__decorate([
plugin_1.Cordova()
], Calendar, "createCalendar", Object.getOwnPropertyDescriptor(Calendar, "createCalendar")));
Object.defineProperty(Calendar, "deleteCalendar",
__decorate([
plugin_1.Cordova()
], Calendar, "deleteCalendar", Object.getOwnPropertyDescriptor(Calendar, "deleteCalendar")));
Object.defineProperty(Calendar, "getCalendarOptions",
__decorate([
plugin_1.Cordova()
], Calendar, "getCalendarOptions", Object.getOwnPropertyDescriptor(Calendar, "getCalendarOptions")));
Object.defineProperty(Calendar, "createEvent",
__decorate([
plugin_1.Cordova()
], Calendar, "createEvent", Object.getOwnPropertyDescriptor(Calendar, "createEvent")));
Object.defineProperty(Calendar, "createEventWithOptions",
__decorate([
plugin_1.Cordova()
], Calendar, "createEventWithOptions", Object.getOwnPropertyDescriptor(Calendar, "createEventWithOptions")));
Object.defineProperty(Calendar, "createEventInteractively",
__decorate([
plugin_1.Cordova()
], Calendar, "createEventInteractively", Object.getOwnPropertyDescriptor(Calendar, "createEventInteractively")));
Object.defineProperty(Calendar, "createEventInteractivelyWithOptions",
__decorate([
plugin_1.Cordova()
], Calendar, "createEventInteractivelyWithOptions", Object.getOwnPropertyDescriptor(Calendar, "createEventInteractivelyWithOptions")));
Object.defineProperty(Calendar, "createEventInNamedCalendar",
__decorate([
plugin_1.Cordova()
], Calendar, "createEventInNamedCalendar", Object.getOwnPropertyDescriptor(Calendar, "createEventInNamedCalendar")));
Object.defineProperty(Calendar, "findEvent",
__decorate([
plugin_1.Cordova()
], Calendar, "findEvent", Object.getOwnPropertyDescriptor(Calendar, "findEvent")));
Object.defineProperty(Calendar, "listEventsInRange",
__decorate([
plugin_1.Cordova()
], Calendar, "listEventsInRange", Object.getOwnPropertyDescriptor(Calendar, "listEventsInRange")));
Object.defineProperty(Calendar, "listCalendars",
__decorate([
plugin_1.Cordova()
], Calendar, "listCalendars", Object.getOwnPropertyDescriptor(Calendar, "listCalendars")));
Object.defineProperty(Calendar, "findAllEventsInNamedCalendar",
__decorate([
plugin_1.Cordova()
], Calendar, "findAllEventsInNamedCalendar", Object.getOwnPropertyDescriptor(Calendar, "findAllEventsInNamedCalendar")));
Object.defineProperty(Calendar, "modifyEvent",
__decorate([
plugin_1.Cordova()
], Calendar, "modifyEvent", Object.getOwnPropertyDescriptor(Calendar, "modifyEvent")));
Object.defineProperty(Calendar, "modifyEventWithOptions",
__decorate([
plugin_1.Cordova()
], Calendar, "modifyEventWithOptions", Object.getOwnPropertyDescriptor(Calendar, "modifyEventWithOptions")));
Object.defineProperty(Calendar, "deleteEvent",
__decorate([
plugin_1.Cordova()
], Calendar, "deleteEvent", Object.getOwnPropertyDescriptor(Calendar, "deleteEvent")));
Object.defineProperty(Calendar, "deleteEventFromNamedCalendar",
__decorate([
plugin_1.Cordova()
], Calendar, "deleteEventFromNamedCalendar", Object.getOwnPropertyDescriptor(Calendar, "deleteEventFromNamedCalendar")));
Object.defineProperty(Calendar, "openCalendar",
__decorate([
plugin_1.Cordova()
], Calendar, "openCalendar", Object.getOwnPropertyDescriptor(Calendar, "openCalendar")));
Calendar = __decorate([
plugin_1.Plugin({
name: 'Calendar',
plugin: 'cordova-plugin-calendar',
pluginRef: 'plugins.calendar'
})
], Calendar);
return Calendar;
})();
exports.Calendar = Calendar;
//# sourceMappingURL=calendar.js.map
},{"./plugin":10}],5:[function(require,module,exports){
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
}
};
var plugin_1 = require('./plugin');
var Camera = (function () {
function Camera() {
}
Camera.getPicture = function (options) { };
;
Camera.cleanup = function () { };
;
Object.defineProperty(Camera, "getPicture",
__decorate([
plugin_1.Cordova({
// Not sure why this plugin has the success/err come first...
callbackOrder: 'reverse'
})
], Camera, "getPicture", Object.getOwnPropertyDescriptor(Camera, "getPicture")));
Object.defineProperty(Camera, "cleanup",
__decorate([
plugin_1.Cordova()
], Camera, "cleanup", Object.getOwnPropertyDescriptor(Camera, "cleanup")));
Camera = __decorate([
plugin_1.Plugin({
name: 'Camera',
plugin: 'cordova-plugin-camera',
pluginRef: 'navigator.camera'
})
], Camera);
return Camera;
})();
exports.Camera = Camera;
//# sourceMappingURL=camera.js.map
},{"./plugin":10}],6:[function(require,module,exports){
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
}
};
var plugin_1 = require('./plugin');
var Contacts = (function () {
function Contacts() {
}
Contacts.create = function (fields, options) { };
;
Contacts.find = function (fields, options) { };
;
Contacts.pickContact = function () { };
;
Object.defineProperty(Contacts, "create",
__decorate([
plugin_1.Cordova({
successIndex: 1,
errorIndex: 2
})
], Contacts, "create", Object.getOwnPropertyDescriptor(Contacts, "create")));
Object.defineProperty(Contacts, "find",
__decorate([
plugin_1.Cordova({
successIndex: 1,
errorIndex: 2
})
], Contacts, "find", Object.getOwnPropertyDescriptor(Contacts, "find")));
Object.defineProperty(Contacts, "pickContact",
__decorate([
plugin_1.Cordova()
], Contacts, "pickContact", Object.getOwnPropertyDescriptor(Contacts, "pickContact")));
Contacts = __decorate([
plugin_1.Plugin({
name: 'Contacts',
plugin: 'cordova-plugin-contacts',
pluginRef: 'navigator.contacts',
repo: 'https://github.com/apache/cordova-plugin-contacts'
})
], Contacts);
return Contacts;
})();
exports.Contacts = Contacts;
//# sourceMappingURL=contacts.js.map
},{"./plugin":10}],7:[function(require,module,exports){
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
}
};
var plugin_1 = require('./plugin');
var Device = (function () {
function Device() {
}
Device.getDevice = function () {
return window.device;
};
Object.defineProperty(Device, "getDevice",
__decorate([
plugin_1.RequiresPlugin
], Device, "getDevice", Object.getOwnPropertyDescriptor(Device, "getDevice")));
Device = __decorate([
plugin_1.Plugin({
name: 'Device',
plugin: 'cordova-plugin-device',
pluginRef: 'device'
})
], Device);
return Device;
})();
exports.Device = Device;
//# sourceMappingURL=device.js.map
},{"./plugin":10}],8:[function(require,module,exports){
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
}
};
var plugin_1 = require('./plugin');
var Facebook = (function () {
function Facebook() {
}
Facebook.login = function (permissions) { };
Facebook.logout = function () { };
Facebook.getLoginStatus = function () { };
Facebook.getAccessToken = function () { };
Facebook.showDialog = function (options) { };
Facebook.api = function (requestPath, permissions) { };
Facebook.logEvent = function (name, params, valueToSum) { };
Facebook.logPurchase = function (value, currency) { };
Facebook.appInvite = function (options) { };
Object.defineProperty(Facebook, "login",
__decorate([
plugin_1.Cordova()
], Facebook, "login", Object.getOwnPropertyDescriptor(Facebook, "login")));
Object.defineProperty(Facebook, "logout",
__decorate([
plugin_1.Cordova()
], Facebook, "logout", Object.getOwnPropertyDescriptor(Facebook, "logout")));
Object.defineProperty(Facebook, "getLoginStatus",
__decorate([
plugin_1.Cordova()
], Facebook, "getLoginStatus", Object.getOwnPropertyDescriptor(Facebook, "getLoginStatus")));
Object.defineProperty(Facebook, "getAccessToken",
__decorate([
plugin_1.Cordova()
], Facebook, "getAccessToken", Object.getOwnPropertyDescriptor(Facebook, "getAccessToken")));
Object.defineProperty(Facebook, "showDialog",
__decorate([
plugin_1.Cordova()
], Facebook, "showDialog", Object.getOwnPropertyDescriptor(Facebook, "showDialog")));
Object.defineProperty(Facebook, "api",
__decorate([
plugin_1.Cordova()
], Facebook, "api", Object.getOwnPropertyDescriptor(Facebook, "api")));
Object.defineProperty(Facebook, "logEvent",
__decorate([
plugin_1.Cordova()
], Facebook, "logEvent", Object.getOwnPropertyDescriptor(Facebook, "logEvent")));
Object.defineProperty(Facebook, "logPurchase",
__decorate([
plugin_1.Cordova()
], Facebook, "logPurchase", Object.getOwnPropertyDescriptor(Facebook, "logPurchase")));
Object.defineProperty(Facebook, "appInvite",
__decorate([
plugin_1.Cordova()
], Facebook, "appInvite", Object.getOwnPropertyDescriptor(Facebook, "appInvite")));
Facebook = __decorate([
plugin_1.Plugin({
name: 'Facebook',
plugin: 'cordova-plugin-facebook4',
pluginRef: 'facebookConnectPlugin'
})
], Facebook);
return Facebook;
})();
exports.Facebook = Facebook;
//# sourceMappingURL=facebook.js.map
},{"./plugin":10}],9:[function(require,module,exports){
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
}
};
var plugin_1 = require('./plugin');
var Geolocation = (function () {
function Geolocation() {
}
Geolocation.getCurrentPosition = function (options) { };
;
Geolocation.watchPosition = function (options) { };
;
Object.defineProperty(Geolocation, "getCurrentPosition",
__decorate([
plugin_1.Cordova()
], Geolocation, "getCurrentPosition", Object.getOwnPropertyDescriptor(Geolocation, "getCurrentPosition")));
Object.defineProperty(Geolocation, "watchPosition",
__decorate([
plugin_1.Cordova({
callbackOrder: 'reverse',
observable: true,
clearFunction: 'clearWatch()'
})
], Geolocation, "watchPosition", Object.getOwnPropertyDescriptor(Geolocation, "watchPosition")));
Geolocation = __decorate([
plugin_1.Plugin({
name: 'Geolocation',
plugin: 'cordova-plugin-geolocation',
pluginRef: 'navigator.geolocation'
})
], Geolocation);
return Geolocation;
})();
exports.Geolocation = Geolocation;
//# sourceMappingURL=geolocation.js.map
},{"./plugin":10}],10:[function(require,module,exports){
var util_1 = require('../util');
var Rx_1 = require('@reactivex/rxjs/dist/cjs/Rx');
exports.getPlugin = function (pluginRef) {
return util_1.get(window, pluginRef);
};
exports.isInstalled = function (pluginRef) {
return !!exports.getPlugin(pluginRef);
};
exports.pluginWarn = function (pluginName, method, plugin) {
if (method) {
console.warn('Native: tried calling ' + pluginName + '.' + method +
', but the ' + pluginName + ' plugin is not installed. Install the ' +
plugin + ' plugin');
}
else {
console.warn('Native: tried accessing the ' + pluginName + ' plugin but it\'s not installed. Install the ' + plugin + ' plugin');
}
};
exports.cordovaWarn = function (pluginName, method) {
if (method) {
console.warn('Native: tried calling ' + pluginName + '.' + method + ', but Cordova is not available. Make sure to include cordova.js or run in a device/simulator');
}
else {
console.warn('Native: tried accessing the ' + pluginName + ' plugin but Cordova is not available. Make sure to include cordova.js or run in a device/simulator');
}
};
function callCordovaPlugin(pluginObj, methodName, args, opts, resolve, reject) {
// Try to figure out where the success/error callbacks need to be bound
// to our promise resolve/reject handlers.
if (opts === void 0) { opts = {}; }
// If the plugin method expects myMethod(success, err, options)
if (opts.callbackOrder == 'reverse') {
// Get those arguments in the order [reject, resolve, ...restOfArgs]
args.unshift(reject);
args.unshift(resolve);
}
else if (typeof opts.successIndex !== 'undefined' || typeof opts.errorIndex !== 'undefined') {
// If we've specified a success/error index
args.splice(opts.successIndex, 0, resolve);
args.splice(opts.errorIndex, 0, reject);
}
else {
// Otherwise, let's tack them on to the end of the argument list
// which is 90% of cases
args.push(resolve);
args.push(reject);
}
var pluginInstance = exports.getPlugin(pluginObj.pluginRef);
if (!pluginInstance) {
// Do this check in here in the case that the Web API for this plugin is available (for example, Geolocation).
if (!window.cordova) {
exports.cordovaWarn(pluginObj.name, methodName);
reject({
error: 'cordova_not_available'
});
return;
}
exports.pluginWarn(pluginObj.name, methodName, pluginObj.name);
reject({
error: 'plugin_not_installed'
});
return;
}
console.log('Cordova calling', pluginObj.name, methodName, args);
// TODO: Illegal invocation needs window context
return util_1.get(window, pluginObj.pluginRef)[methodName].apply(pluginInstance, args);
}
function wrapPromise(pluginObj, methodName, args, opts) {
if (opts === void 0) { opts = {}; }
return new Promise(function (resolve, reject) {
callCordovaPlugin(pluginObj, methodName, args, opts, resolve, reject);
});
}
function wrapObservable(pluginObj, methodName, args, opts) {
if (opts === void 0) { opts = {}; }
return new Rx_1.Observable(function (observer) {
var pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, observer.next.bind(observer), observer.error.bind(observer));
return function () {
try {
return util_1.get(window, pluginObj.pluginRef)[opts.clearFunction].apply(pluginObj, pluginResult);
}
catch (e) {
console.warn('Unable to clear the previous observable watch for', pluginObj.name, methodName);
console.log(e);
}
};
});
}
exports.wrap = function (pluginObj, methodName, opts) {
if (opts === void 0) { opts = {}; }
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i - 0] = arguments[_i];
}
if (opts.observable) {
return wrapObservable(pluginObj, methodName, args, opts);
}
else {
return wrapPromise(pluginObj, methodName, args, opts);
}
};
};
/**
* Class decorator specifying Plugin metadata. Required for all plugins.
*/
function Plugin(config) {
return function (cls) {
// Add these fields to the class
for (var k in config) {
cls[k] = config[k];
}
return cls;
};
}
exports.Plugin = Plugin;
/**
* Wrap a stub function in a call to a Cordova plugin, checking if both Cordova
* and the required plugin are installed.
*/
function Cordova(opts) {
if (opts === void 0) { opts = {}; }
return function (target, methodName, descriptor) {
var originalMethod = descriptor.value;
return {
value: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i - 0] = arguments[_i];
}
return exports.wrap(this, methodName, opts).apply(this, args);
}
};
};
}
exports.Cordova = Cordova;
/**
* Before calling the original method, ensure Cordova and the plugin are installed.
*/
function RequiresPlugin(target, key, descriptor) {
var originalMethod = descriptor.value;
descriptor.value = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i - 0] = arguments[_i];
}
console.log('Calling', this);
if (!window.cordova) {
exports.cordovaWarn(this.name, null);
return;
}
var pluginInstance = exports.getPlugin(this.pluginRef);
if (!pluginInstance) {
exports.pluginWarn(this.name, null, this.name);
return;
}
originalMethod.apply(this, args);
};
return descriptor;
}
exports.RequiresPlugin = RequiresPlugin;
//# sourceMappingURL=plugin.js.map
},{"../util":13,"@reactivex/rxjs/dist/cjs/Rx":18}],11:[function(require,module,exports){
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
}
};
var plugin_1 = require('./plugin');
var StatusBar = (function () {
function StatusBar() {
}
StatusBar.overlaysWebView = function (doOverlay) { };
;
StatusBar.styleDefault = function () { };
;
StatusBar.styleLightContent = function () { };
;
StatusBar.styleBlackTranslucent = function () { };
;
StatusBar.styleBlackOpaque = function () { };
;
StatusBar.backgroundColorByName = function (colorName) { };
;
StatusBar.backgroundColorByHexString = function (hexString) { };
;
StatusBar.hide = function () { };
;
StatusBar.show = function () { };
;
Object.defineProperty(StatusBar, "overlaysWebView",
__decorate([
plugin_1.Cordova()
], StatusBar, "overlaysWebView", Object.getOwnPropertyDescriptor(StatusBar, "overlaysWebView")));
Object.defineProperty(StatusBar, "styleDefault",
__decorate([
plugin_1.Cordova()
], StatusBar, "styleDefault", Object.getOwnPropertyDescriptor(StatusBar, "styleDefault")));
Object.defineProperty(StatusBar, "styleLightContent",
__decorate([
plugin_1.Cordova()
], StatusBar, "styleLightContent", Object.getOwnPropertyDescriptor(StatusBar, "styleLightContent")));
Object.defineProperty(StatusBar, "styleBlackTranslucent",
__decorate([
plugin_1.Cordova()
], StatusBar, "styleBlackTranslucent", Object.getOwnPropertyDescriptor(StatusBar, "styleBlackTranslucent")));
Object.defineProperty(StatusBar, "styleBlackOpaque",
__decorate([
plugin_1.Cordova()
], StatusBar, "styleBlackOpaque", Object.getOwnPropertyDescriptor(StatusBar, "styleBlackOpaque")));
Object.defineProperty(StatusBar, "backgroundColorByName",
__decorate([
plugin_1.Cordova()
], StatusBar, "backgroundColorByName", Object.getOwnPropertyDescriptor(StatusBar, "backgroundColorByName")));
Object.defineProperty(StatusBar, "backgroundColorByHexString",
__decorate([
plugin_1.Cordova()
], StatusBar, "backgroundColorByHexString", Object.getOwnPropertyDescriptor(StatusBar, "backgroundColorByHexString")));
Object.defineProperty(StatusBar, "hide",
__decorate([
plugin_1.Cordova()
], StatusBar, "hide", Object.getOwnPropertyDescriptor(StatusBar, "hide")));
Object.defineProperty(StatusBar, "show",
__decorate([
plugin_1.Cordova()
], StatusBar, "show", Object.getOwnPropertyDescriptor(StatusBar, "show")));
StatusBar = __decorate([
plugin_1.Plugin({
name: 'StatusBar',
plugin: 'cordova-plugin-statusbar',
pluginRef: 'StatusBar'
})
], StatusBar);
return StatusBar;
})();
exports.StatusBar = StatusBar;
//# sourceMappingURL=statusbar.js.map
},{"./plugin":10}],12:[function(require,module,exports){
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
}
};
var plugin_1 = require('./plugin');
var Toast = (function () {
function Toast() {
}
Toast.hide = function () { };
;
Toast.showWithOptions = function (options) { };
;
Object.defineProperty(Toast, "hide",
__decorate([
plugin_1.Cordova()
], Toast, "hide", Object.getOwnPropertyDescriptor(Toast, "hide")));
Object.defineProperty(Toast, "showWithOptions",
__decorate([
plugin_1.Cordova()
], Toast, "showWithOptions", Object.getOwnPropertyDescriptor(Toast, "showWithOptions")));
Toast = __decorate([
plugin_1.Plugin({
name: 'Toast',
plugin: 'cordova-plugin-x-toast',
pluginRef: 'plugins.toast',
repo: 'https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin'
})
], Toast);
return Toast;
})();
exports.Toast = Toast;
//# sourceMappingURL=toast.js.map
},{"./plugin":10}],13:[function(require,module,exports){
function get(obj, path) {
for (var i = 0, path = path.split('.'), len = path.length; i < len; i++) {
if (!obj) {
return null;
}
obj = obj[path[i]];
}
return obj;
}
exports.get = get;
;
//# sourceMappingURL=util.js.map
},{}],14:[function(require,module,exports){
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('./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) {
var index = this.index++;
this.parent.notifyNext(this.outerValue, value, this.outerIndex, index);
};
InnerSubscriber.prototype._error = function (error) {
this.parent.notifyError(error, this);
};
InnerSubscriber.prototype._complete = function () {
this.parent.notifyComplete(this);
};
return InnerSubscriber;
})(Subscriber_1.Subscriber);
exports.InnerSubscriber = InnerSubscriber;
//# sourceMappingURL=InnerSubscriber.js.map
},{"./Subscriber":20}],15:[function(require,module,exports){
var Observable_1 = require('./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(this.value);
case 'E':
return observer.error(this.exception);
case 'C':
return observer.complete();
}
};
Notification.prototype.do = function (next, error, complete) {
var kind = this.kind;
switch (kind) {
case 'N':
return next(this.value);
case 'E':
return error(this.exception);
case 'C':
return 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;
//# sourceMappingURL=Notification.js.map
},{"./Observable":16}],16:[function(require,module,exports){
var Subscriber_1 = require('./Subscriber');
var root_1 = require('./util/root');
var Symbol_observable_1 = require('./util/Symbol_observable');
/**
* A representation of any set of values over any amount of time. This the most basic building block
* of RxJS.
*
* @class Observable<T>
*/
var Observable = (function () {
/**
* @constructor
* @param {Function} subscribe the function that is
* called when the Observable is initially subscribed to. This function is given a Subscriber, to which new values
* can be `next`ed, or an `error` method can be called to raise an error, or `complete` can be called to notify
* of a successful completion.
*/
function Observable(subscribe) {
this._isScalar = false;
if (subscribe) {
this._subscribe = subscribe;
}
}
/**
* @method lift
* @param {Operator} operator the operator defining the operation to take on the observable
* @returns {Observable} a new observable with the Operator applied
* @description creates a new Observable, with this Observable as the source, and the passed
* operator defined as the new observable's operator.
*/
Observable.prototype.lift = function (operator) {
var observable = new Observable();
observable.source = this;
observable.operator = operator;
return observable;
};
/**
* @method Symbol.observable
* @returns {Observable} this instance of the observable
* @description an interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable
*/
Observable.prototype[Symbol_observable_1.$$observable] = function () {
return this;
};
/**
* @method subscribe
* @param {Observer|Function} observerOrNext (optional) either an observer defining all functions to be called,
* or the first of three possible handlers, which is the handler for each value emitted from the observable.
* @param {Function} error (optional) a handler for a terminal event resulting from an error. If no error handler is provided,
* the error will be thrown as unhandled
* @param {Function} complete (optional) a handler for a terminal event resulting from successful completion.
* @returns {Subscription} a subscription reference to the registered handlers
* @description registers handlers for handling emitted values, error and completions from the observable, and
* executes the observable's subscriber function, which will take action to set up the underlying data stream
*/
Observable.prototype.subscribe = function (observerOrNext, error, complete) {
var subscriber;
if (observerOrNext && typeof observerOrNext === 'object') {
if (observerOrNext instanceof Subscriber_1.Subscriber) {
subscriber = observerOrNext;
}
else {
subscriber = new Subscriber_1.Subscriber(observerOrNext);
}
}
else {
var next = observerOrNext;
subscriber = Subscriber_1.Subscriber.create(next, error, complete);
}
subscriber.add(this._subscribe(subscriber));
return subscriber;
};
/**
* @method forEach
* @param {Function} next a handler for each value emitted by the observable
* @param {PromiseConstructor} PromiseCtor? a constructor function used to instantiate the Promise
* @returns {Promise} a promise that either resolves on observable completion or
* rejects with the handled error
*/
Observable.prototype.forEach = function (next, PromiseCtor) {
var _this = this;
if (!PromiseCtor) {
if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {
PromiseCtor = root_1.root.Rx.config.Promise;
}
else if (root_1.root.Promise) {
PromiseCtor = root_1.root.Promise;
}
}
if (!PromiseCtor) {
throw new Error('no Promise impl found');
}
return new PromiseCtor(function (resolve, reject) {
_this.subscribe(next, reject, resolve);
});
};
Observable.prototype._subscribe = function (subscriber) {
return this.source._subscribe(this.operator.call(subscriber));
};
// HACK: Since TypeScript inherits static properties too, we have to
// fight against TypeScript here so Subject can have a different static create signature
/**
* @static
* @method create
* @param {Function} subscribe? the subscriber function to be passed to the Observable constructor
* @returns {Observable} a new cold observable
* @description creates a new cold Observable by calling the Observable constructor
*/
Observable.create = function (subscribe) {
return new Observable(subscribe);
};
return Observable;
})();
exports.Observable = Observable;
//# sourceMappingURL=Observable.js.map
},{"./Subscriber":20,"./util/Symbol_observable":141,"./util/root":149}],17:[function(require,module,exports){
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('./Subscriber');
var OuterSubscriber = (function (_super) {
__extends(OuterSubscriber, _super);
function OuterSubscriber() {
_super.apply(this, arguments);
}
OuterSubscriber.prototype.notifyComplete = function (inner) {
this.destination.complete();
};
OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {
this.destination.next(innerValue);
};
OuterSubscriber.prototype.notifyError = function (error, inner) {
this.destination.error(error);
};
return OuterSubscriber;
})(Subscriber_1.Subscriber);
exports.OuterSubscriber = OuterSubscriber;
//# sourceMappingURL=OuterSubscriber.js.map
},{"./Subscriber":20}],18:[function(require,module,exports){
var Observable_1 = require('./Observable');
exports.Observable = Observable_1.Observable;
// operators
/* tslint:disable:no-use-before-declare */
var combineLatest_static_1 = require('./operators/combineLatest-static');
Observable_1.Observable.combineLatest = combineLatest_static_1.combineLatest;
var concat_static_1 = require('./operators/concat-static');
Observable_1.Observable.concat = concat_static_1.concat;
var merge_static_1 = require('./operators/merge-static');
Observable_1.Observable.merge = merge_static_1.merge;
/* tslint:enable:no-use-before-declare */
var DeferObservable_1 = require('./observables/DeferObservable');
Observable_1.Observable.defer = DeferObservable_1.DeferObservable.create;
var EmptyObservable_1 = require('./observables/EmptyObservable');
Observable_1.Observable.empty = EmptyObservable_1.EmptyObservable.create;
var ForkJoinObservable_1 = require('./observables/ForkJoinObservable');
Observable_1.Observable.forkJoin = ForkJoinObservable_1.ForkJoinObservable.create;
var FromObservable_1 = require('./observables/FromObservable');
Observable_1.Observable.from = FromObservable_1.FromObservable.create;
var ArrayObservable_1 = require('./observables/ArrayObservable');
Observable_1.Observable.fromArray = ArrayObservable_1.ArrayObservable.create;
var FromEventObservable_1 = require('./observables/FromEventObservable');
Observable_1.Observable.fromEvent = FromEventObservable_1.FromEventObservable.create;
var FromEventPatternObservable_1 = require('./observables/FromEventPatternObservable');
Observable_1.Observable.fromEventPattern = FromEventPatternObservable_1.FromEventPatternObservable.create;
var PromiseObservable_1 = require('./observables/PromiseObservable');
Observable_1.Observable.fromPromise = PromiseObservable_1.PromiseObservable.create;
var IntervalObservable_1 = require('./observables/IntervalObservable');
Observable_1.Observable.interval = IntervalObservable_1.IntervalObservable.create;
var InfiniteObservable_1 = require('./observables/InfiniteObservable');
Observable_1.Observable.never = InfiniteObservable_1.InfiniteObservable.create;
Observable_1.Observable.of = ArrayObservable_1.ArrayObservable.of;
var RangeObservable_1 = require('./observables/RangeObservable');
Observable_1.Observable.range = RangeObservable_1.RangeObservable.create;
var ErrorObservable_1 = require('./observables/ErrorObservable');
Observable_1.Observable.throw = ErrorObservable_1.ErrorObservable.create;
var TimerObservable_1 = require('./observables/TimerObservable');
Observable_1.Observable.timer = TimerObservable_1.TimerObservable.create;
var zip_static_1 = require('./operators/zip-static');
Observable_1.Observable.zip = zip_static_1.zip;
var observableProto = Observable_1.Observable.prototype;
var buffer_1 = require('./operators/buffer');
observableProto.buffer = buffer_1.buffer;
var bufferCount_1 = require('./operators/bufferCount');
observableProto.bufferCount = bufferCount_1.bufferCount;
var bufferTime_1 = require('./operators/bufferTime');
observableProto.bufferTime = bufferTime_1.bufferTime;
var bufferToggle_1 = require('./operators/bufferToggle');
observableProto.bufferToggle = bufferToggle_1.bufferToggle;
var bufferWhen_1 = require('./operators/bufferWhen');
observableProto.bufferWhen = bufferWhen_1.bufferWhen;
var catch_1 = require('./operators/catch');
observableProto.catch = catch_1._catch;
var combineAll_1 = require('./operators/combineAll');
observableProto.combineAll = combineAll_1.combineAll;
var combineLatest_1 = require('./operators/combineLatest');
observableProto.combineLatest = combineLatest_1.combineLatest;
var concat_1 = require('./operators/concat');
observableProto.concat = concat_1.concat;
var concatAll_1 = require('./operators/concatAll');
observableProto.concatAll = concatAll_1.concatAll;
var concatMap_1 = require('./operators/concatMap');
observableProto.concatMap = concatMap_1.concatMap;
var concatMapTo_1 = require('./operators/concatMapTo');
observableProto.concatMapTo = concatMapTo_1.concatMapTo;
var count_1 = require('./operators/count');
observableProto.count = count_1.count;
var dematerialize_1 = require('./operators/dematerialize');
observableProto.dematerialize = dematerialize_1.dematerialize;
var debounce_1 = require('./operators/debounce');
observableProto.debounce = debounce_1.debounce;
var debounceTime_1 = require('./operators/debounceTime');
observableProto.debounceTime = debounceTime_1.debounceTime;
var defaultIfEmpty_1 = require('./operators/defaultIfEmpty');
observableProto.defaultIfEmpty = defaultIfEmpty_1.defaultIfEmpty;
var delay_1 = require('./operators/delay');
observableProto.delay = delay_1.delay;
var distinctUntilChanged_1 = require('./operators/distinctUntilChanged');
observableProto.distinctUntilChanged = distinctUntilChanged_1.distinctUntilChanged;
var do_1 = require('./operators/do');
observableProto.do = do_1._do;
var expand_1 = require('./operators/expand');
observableProto.expand = expand_1.expand;
var filter_1 = require('./operators/filter');
observableProto.filter = filter_1.filter;
var finally_1 = require('./operators/finally');
observableProto.finally = finally_1._finally;
var first_1 = require('./operators/first');
observableProto.first = first_1.first;
var groupBy_1 = require('./operators/groupBy');
observableProto.groupBy = groupBy_1.groupBy;
var ignoreElements_1 = require('./operators/ignoreElements');
observableProto.ignoreElements = ignoreElements_1.ignoreElements;
var every_1 = require('./operators/every');
observableProto.every = every_1.every;
var last_1 = require('./operators/last');
observableProto.last = last_1.last;
var map_1 = require('./operators/map');
observableProto.map = map_1.map;
var mapTo_1 = require('./operators/mapTo');
observableProto.mapTo = mapTo_1.mapTo;
var materialize_1 = require('./operators/materialize');
observableProto.materialize = materialize_1.materialize;
var merge_1 = require('./operators/merge');
observableProto.merge = merge_1.merge;
var mergeAll_1 = require('./operators/mergeAll');
observableProto.mergeAll = mergeAll_1.mergeAll;
var mergeMap_1 = require('./operators/mergeMap');
observableProto.mergeMap = mergeMap_1.mergeMap;
observableProto.flatMap = mergeMap_1.mergeMap;
var mergeMapTo_1 = require('./operators/mergeMapTo');
observableProto.mergeMapTo = mergeMapTo_1.mergeMapTo;
observableProto.flatMapTo = mergeMapTo_1.mergeMapTo;
var multicast_1 = require('./operators/multicast');
observableProto.multicast = multicast_1.multicast;
var observeOn_1 = require('./operators/observeOn');
observableProto.observeOn = observeOn_1.observeOn;
var partition_1 = require('./operators/partition');
observableProto.partition = partition_1.partition;
var publish_1 = require('./operators/publish');
observableProto.publish = publish_1.publish;
var publishBehavior_1 = require('./operators/publishBehavior');
observableProto.publishBehavior = publishBehavior_1.publishBehavior;
var publishReplay_1 = require('./operators/publishReplay');
observableProto.publishReplay = publishReplay_1.publishReplay;
var reduce_1 = require('./operators/reduce');
observableProto.reduce = reduce_1.reduce;
var repeat_1 = require('./operators/repeat');
observableProto.repeat = repeat_1.repeat;
var retry_1 = require('./operators/retry');
observableProto.retry = retry_1.retry;
var retryWhen_1 = require('./operators/retryWhen');
observableProto.retryWhen = retryWhen_1.retryWhen;
var sample_1 = require('./operators/sample');
observableProto.sample = sample_1.sample;
var sampleTime_1 = require('./operators/sampleTime');
observableProto.sampleTime = sampleTime_1.sampleTime;
var scan_1 = require('./operators/scan');
observableProto.scan = scan_1.scan;
var share_1 = require('./operators/share');
observableProto.share = share_1.share;
var single_1 = require('./operators/single');
observableProto.single = single_1.single;
var skip_1 = require('./operators/skip');
observableProto.skip = skip_1.skip;
var skipUntil_1 = require('./operators/skipUntil');
observableProto.skipUntil = skipUntil_1.skipUntil;
var startWith_1 = require('./operators/startWith');
observableProto.startWith = startWith_1.startWith;
var subscribeOn_1 = require('./operators/subscribeOn');
observableProto.subscribeOn = subscribeOn_1.subscribeOn;
var switch_1 = require('./operators/switch');
observableProto.switch = switch_1._switch;
var switchMap_1 = require('./operators/switchMap');
observableProto.switchMap = switchMap_1.switchMap;
var switchMapTo_1 = require('./operators/switchMapTo');
observableProto.switchMapTo = switchMapTo_1.switchMapTo;
var take_1 = require('./operators/take');
observableProto.take = take_1.take;
var takeUntil_1 = require('./operators/takeUntil');
observableProto.takeUntil = takeUntil_1.takeUntil;
var throttle_1 = require('./operators/throttle');
observableProto.throttle = throttle_1.throttle;
var timeout_1 = require('./operators/timeout');
observableProto.timeout = timeout_1.timeout;
var timeoutWith_1 = require('./operators/timeoutWith');
observableProto.timeoutWith = timeoutWith_1.timeoutWith;
var toArray_1 = require('./operators/toArray');
observableProto.toArray = toArray_1.toArray;
var toPromise_1 = require('./operators/toPromise');
observableProto.toPromise = toPromise_1.toPromise;
var window_1 = require('./operators/window');
observableProto.window = window_1.window;
var windowCount_1 = require('./operators/windowCount');
observableProto.windowCount = windowCount_1.windowCount;
var windowTime_1 = require('./operators/windowTime');
observableProto.windowTime = windowTime_1.windowTime;
var windowToggle_1 = require('./operators/windowToggle');
observableProto.windowToggle = windowToggle_1.windowToggle;
var windowWhen_1 = require('./operators/windowWhen');
observableProto.windowWhen = windowWhen_1.windowWhen;
var withLatestFrom_1 = require('./operators/withLatestFrom');
observableProto.withLatestFrom = withLatestFrom_1.withLatestFrom;
var zip_1 = require('./operators/zip');
observableProto.zip = zip_1.zipProto;
var zipAll_1 = require('./operators/zipAll');
observableProto.zipAll = zipAll_1.zipAll;
/* tslint:disable:no-unused-variable */
var Subject_1 = require('./Subject');
exports.Subject = Subject_1.Subject;
var Subscription_1 = require('./Subscription');
exports.Subscription = Subscription_1.Subscription;
var Subscriber_1 = require('./Subscriber');
exports.Subscriber = Subscriber_1.Subscriber;
var ReplaySubject_1 = require('./subjects/ReplaySubject');
exports.ReplaySubject = ReplaySubject_1.ReplaySubject;
var BehaviorSubject_1 = require('./subjects/BehaviorSubject');
exports.BehaviorSubject = BehaviorSubject_1.BehaviorSubject;
var ConnectableObservable_1 = require('./observables/ConnectableObservable');
exports.ConnectableObservable = ConnectableObservable_1.ConnectableObservable;
var Notification_1 = require('./Notification');
exports.Notification = Notification_1.Notification;
var EmptyError_1 = require('./util/EmptyError');
exports.EmptyError = EmptyError_1.EmptyError;
var ArgumentOutOfRangeError_1 = require('./util/ArgumentOutOfRangeError');
exports.ArgumentOutOfRangeError = ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;
var nextTick_1 = require('./schedulers/nextTick');
var immediate_1 = require('./schedulers/immediate');
/* tslint:enable:no-unused-variable */
/* tslint:disable:no-var-keyword */
var Scheduler = {
nextTick: nextTick_1.nextTick,
immediate: immediate_1.immediate
};
exports.Scheduler = Scheduler;
/* tslint:enable:no-var-keyword */
//# sourceMappingURL=Rx.js.map
},{"./Notification":15,"./Observable":16,"./Subject":19,"./Subscriber":20,"./Subscription":21,"./observables/ArrayObservable":22,"./observables/ConnectableObservable":23,"./observables/DeferObservable":24,"./observables/EmptyObservable":25,"./observables/ErrorObservable":26,"./observables/ForkJoinObservable":27,"./observables/FromEventObservable":28,"./observables/FromEventPatternObservable":29,"./observables/FromObservable":30,"./observables/InfiniteObservable":31,"./observables/IntervalObservable":32,"./observables/PromiseObservable":34,"./observables/RangeObservable":35,"./observables/TimerObservable":38,"./operators/buffer":39,"./operators/bufferCount":40,"./operators/bufferTime":41,"./operators/bufferToggle":42,"./operators/bufferWhen":43,"./operators/catch":44,"./operators/combineAll":45,"./operators/combineLatest":48,"./operators/combineLatest-static":46,"./operators/concat":50,"./operators/concat-static":49,"./operators/concatAll":51,"./operators/concatMap":52,"./operators/concatMapTo":53,"./operators/count":54,"./operators/debounce":55,"./operators/debounceTime":56,"./operators/defaultIfEmpty":57,"./operators/delay":58,"./operators/dematerialize":59,"./operators/distinctUntilChanged":60,"./operators/do":61,"./operators/every":62,"./operators/expand":64,"./operators/filter":65,"./operators/finally":66,"./operators/first":67,"./operators/groupBy":69,"./operators/ignoreElements":70,"./operators/last":71,"./operators/map":72,"./operators/mapTo":73,"./operators/materialize":74,"./operators/merge":76,"./operators/merge-static":75,"./operators/mergeAll":78,"./operators/mergeMap":80,"./operators/mergeMapTo":82,"./operators/multicast":83,"./operators/observeOn":85,"./operators/partition":86,"./operators/publish":87,"./operators/publishBehavior":88,"./operators/publishReplay":89,"./operators/reduce":91,"./operators/repeat":92,"./operators/retry":93,"./operators/retryWhen":94,"./operators/sample":95,"./operators/sampleTime":96,"./operators/scan":97,"./operators/share":98,"./operators/single":99,"./operators/skip":100,"./operators/skipUntil":101,"./operators/startWith":102,"./operators/subscribeOn":103,"./operators/switch":104,"./operators/switchMap":105,"./operators/switchMapTo":106,"./operators/take":107,"./operators/takeUntil":108,"./operators/throttle":109,"./operators/timeout":110,"./operators/timeoutWith":111,"./operators/toArray":112,"./operators/toPromise":113,"./operators/window":114,"./operators/windowCount":115,"./operators/windowTime":116,"./operators/windowToggle":117,"./operators/windowWhen":118,"./operators/withLatestFrom":119,"./operators/zip":122,"./operators/zip-static":120,"./operators/zipAll":123,"./schedulers/immediate":129,"./schedulers/nextTick":130,"./subjects/BehaviorSubject":131,"./subjects/ReplaySubject":132,"./util/ArgumentOutOfRangeError":134,"./util/EmptyError":135}],19:[function(require,module,exports){
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('./Observable');
var Subscriber_1 = require('./Subscriber');
var Subscription_1 = require('./Subscription');
var SubjectSubscription_1 = require('./subjects/SubjectSubscription');
var subscriptionAdd = Subscription_1.Subscription.prototype.add;
var subscriptionRemove = Subscription_1.Subscription.prototype.remove;
var subscriptionUnsubscribe = Subscription_1.Subscription.prototype.unsubscribe;
var subscriberNext = Subscriber_1.Subscriber.prototype.next;
var subscriberError = Subscriber_1.Subscriber.prototype.error;
var subscriberComplete = Subscriber_1.Subscriber.prototype.complete;
var _subscriberNext = Subscriber_1.Subscriber.prototype._next;
var _subscriberError = Subscriber_1.Subscriber.prototype._error;
var _subscriberComplete = Subscriber_1.Subscriber.prototype._complete;
var Subject = (function (_super) {
__extends(Subject, _super);
function Subject() {
_super.apply(this, arguments);
this.observers = [];
this.isUnsubscribed = false;
this.dispatching = false;
this.errorSignal = false;
this.completeSignal = false;
}
Subject.create = function (source, destination) {
return new BidirectionalSubject(source, destination);
};
Subject.prototype.lift = function (operator) {
var subject = new BidirectionalSubject(this, this.destination || this);
subject.operator = operator;
return subject;
};
Subject.prototype._subscribe = function (subscriber) {
if (subscriber.isUnsubscribed) {
return;
}
else if (this.errorSignal) {
subscriber.error(this.errorInstance);
return;
}
else if (this.completeSignal) {
subscriber.complete();
return;
}
else if (this.isUnsubscribed) {
throw new Error('Cannot subscribe to a disposed Subject.');
}
this.observers.push(subscriber);
return new SubjectSubscription_1.SubjectSubscription(this, subscriber);
};
Subject.prototype.add = function (subscription) {
subscriptionAdd.call(this, subscription);
};
Subject.prototype.remove = function (subscription) {
subscriptionRemove.call(this, subscription);
};
Subject.prototype.unsubscribe = function () {
this.observers = void 0;
subscriptionUnsubscribe.call(this);
};
Subject.prototype.next = function (value) {
if (this.isUnsubscribed) {
return;
}
this.dispatching = true;
this._next(value);
this.dispatching = false;
if (this.errorSignal) {
this.error(this.errorInstance);
}
else if (this.completeSignal) {
this.complete();
}
};
Subject.prototype.error = function (err) {
if (this.isUnsubscribed || this.completeSignal) {
return;
}
this.errorSignal = true;
this.errorInstance = err;
if (this.dispatching) {
return;
}
this._error(err);
this.unsubscribe();
};
Subject.prototype.complete = function () {
if (this.isUnsubscribed || this.errorSignal) {
return;
}
this.completeSignal = true;
if (this.dispatching) {
return;
}
this._complete();
this.unsubscribe();
};
Subject.prototype._next = function (value) {
var index = -1;
var observers = this.observers.slice(0);
var len = observers.length;
while (++index < len) {
observers[index].next(value);
}
};
Subject.prototype._error = function (err) {
var index = -1;
var observers = this.observers;
var len = observers.length;
// optimization -- block next, complete, and unsubscribe while dispatching
this.observers = void 0;
this.isUnsubscribed = true;
while (++index < len) {
observers[index].error(err);
}
this.isUnsubscribed = false;
};
Subject.prototype._complete = function () {
var index = -1;
var observers = this.observers;
var len = observers.length;
// optimization -- block next, complete, and unsubscribe while dispatching
this.observers = void 0; // optimization
this.isUnsubscribed = true;
while (++index < len) {
observers[index].complete();
}
this.isUnsubscribed = false;
};
return Subject;
})(Observable_1.Observable);
exports.Subject = Subject;
var BidirectionalSubject = (function (_super) {
__extends(BidirectionalSubject, _super);
function BidirectionalSubject(source, destination) {
_super.call(this);
this.source = source;
this.destination = destination;
}
BidirectionalSubject.prototype._subscribe = function (subscriber) {
var operator = this.operator;
return this.source._subscribe.call(this.source, operator ? operator.call(subscriber) : subscriber);
};
BidirectionalSubject.prototype.next = function (value) {
subscriberNext.call(this, value);
};
BidirectionalSubject.prototype.error = function (err) {
subscriberError.call(this, err);
};
BidirectionalSubject.prototype.complete = function () {
subscriberComplete.call(this);
};
BidirectionalSubject.prototype._next = function (value) {
_subscriberNext.call(this, value);
};
BidirectionalSubject.prototype._error = function (err) {
_subscriberError.call(this, err);
};
BidirectionalSubject.prototype._complete = function () {
_subscriberComplete.call(this);
};
return BidirectionalSubject;
})(Subject);
//# sourceMappingURL=Subject.js.map
},{"./Observable":16,"./Subscriber":20,"./Subscription":21,"./subjects/SubjectSubscription":133}],20:[function(require,module,exports){
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 noop_1 = require('./util/noop');
var throwError_1 = require('./util/throwError');
var tryOrOnError_1 = require('./util/tryOrOnError');
var Subscription_1 = require('./Subscription');
var Subscriber = (function (_super) {
__extends(Subscriber, _super);
function Subscriber(destination) {
_super.call(this);
this.destination = destination;
this._isUnsubscribed = false;
if (!this.destination) {
return;
}
var subscription = destination._subscription;
if (subscription) {
this._subscription = subscription;
}
else if (destination instanceof Subscriber) {
this._subscription = destination;
}
}
Object.defineProperty(Subscriber.prototype, "isUnsubscribed", {
get: function () {
var subscription = this._subscription;
if (subscription) {
// route to the shared Subscription if it exists
return this._isUnsubscribed || subscription.isUnsubscribed;
}
else {
return this._isUnsubscribed;
}
},
set: function (value) {
var subscription = this._subscription;
if (subscription) {
// route to the shared Subscription if it exists
subscription.isUnsubscribed = Boolean(value);
}
else {
this._isUnsubscribed = Boolean(value);
}
},
enumerable: true,
configurable: true
});
Subscriber.create = function (next, error, complete) {
var subscriber = new Subscriber();
subscriber._next = (typeof next === 'function') && tryOrOnError_1.tryOrOnError(next) || noop_1.noop;
subscriber._error = (typeof error === 'function') && error || throwError_1.throwError;
subscriber._complete = (typeof complete === 'function') && complete || noop_1.noop;
return subscriber;
};
Subscriber.prototype.add = function (sub) {
// route add to the shared Subscription if it exists
var _subscription = this._subscription;
if (_subscription) {
_subscription.add(sub);
}
else {
_super.prototype.add.call(this, sub);
}
};
Subscriber.prototype.remove = function (sub) {
// route remove to the shared Subscription if it exists
if (this._subscription) {
this._subscription.remove(sub);
}
else {
_super.prototype.remove.call(this, sub);
}
};
Subscriber.prototype.unsubscribe = function () {
if (this._isUnsubscribed) {
return;
}
else if (this._subscription) {
this._isUnsubscribed = true;
}
else {
_super.prototype.unsubscribe.call(this);
}
};
Subscriber.prototype._next = function (value) {
this.destination.next(value);
};
Subscriber.prototype._error = function (err) {
this.destination.error(err);
};
Subscriber.prototype._complete = function () {
this.destination.complete();
};
Subscriber.prototype.next = function (value) {
if (!this.isUnsubscribed) {
this._next(value);
}
};
Subscriber.prototype.error = function (err) {
if (!this.isUnsubscribed) {
this._error(err);
this.unsubscribe();
}
};
Subscriber.prototype.complete = function () {
if (!this.isUnsubscribed) {
this._complete();
this.unsubscribe();
}
};
return Subscriber;
})(Subscription_1.Subscription);
exports.Subscriber = Subscriber;
//# sourceMappingURL=Subscriber.js.map
},{"./Subscription":21,"./util/noop":147,"./util/throwError":151,"./util/tryOrOnError":153}],21:[function(require,module,exports){
var noop_1 = require('./util/noop');
var Subscription = (function () {
function Subscription(_unsubscribe) {
this.isUnsubscribed = false;
if (_unsubscribe) {
this._unsubscribe = _unsubscribe;
}
}
Subscription.prototype._unsubscribe = function () {
noop_1.noop();
};
Subscription.prototype.unsubscribe = function () {
if (this.isUnsubscribed) {
return;
}
this.isUnsubscribed = true;
var unsubscribe = this._unsubscribe;
var subscriptions = this._subscriptions;
this._subscriptions = void 0;
if (unsubscribe) {
unsubscribe.call(this);
}
if (subscriptions != null) {
var index = -1;
var len = subscriptions.length;
while (++index < len) {
subscriptions[index].unsubscribe();
}
}
};
Subscription.prototype.add = function (subscription) {
// return early if:
// 1. the subscription is null
// 2. we're attempting to add our this
// 3. we're attempting to add the static `empty` Subscription
if (!subscription || (subscription === this) || (subscription === Subscription.EMPTY)) {
return;
}
var sub = subscription;
switch (typeof subscription) {
case 'function':
sub = new Subscription(subscription);
case 'object':
if (sub.isUnsubscribed || typeof sub.unsubscribe !== 'function') {
break;
}
else if (this.isUnsubscribed) {
sub.unsubscribe();
}
else {
var subscriptions = this._subscriptions || (this._subscriptions = []);
subscriptions.push(sub);
}
break;
default:
throw new Error('Unrecognized subscription ' + subscription + ' added to Subscription.');
}
};
Subscription.prototype.remove = function (subscription) {
// return early if:
// 1. the subscription is null
// 2. we're attempting to remove ourthis
// 3. we're attempting to remove the static `empty` Subscription
if (subscription == null || (subscription === this) || (subscription === Subscription.EMPTY)) {
return;
}
var subscriptions = this._subscriptions;
if (subscriptions) {
var subscriptionIndex = subscriptions.indexOf(subscription);
if (subscriptionIndex !== -1) {
subscriptions.splice(subscriptionIndex, 1);
}
}
};
Subscription.EMPTY = (function (empty) {
empty.isUnsubscribed = true;
return empty;
}(new Subscription()));
return Subscription;
})();
exports.Subscription = Subscription;
//# sourceMappingURL=Subscription.js.map
},{"./util/noop":147}],22:[function(require,module,exports){
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('../Observable');
var ScalarObservable_1 = require('./ScalarObservable');
var EmptyObservable_1 = require('./EmptyObservable');
var ArrayObservable = (function (_super) {
__extends(ArrayObservable, _super);
function ArrayObservable(array, scheduler) {
_super.call(this);
this.array = array;
this.scheduler = scheduler;
if (!scheduler && array.length === 1) {
this._isScalar = true;
this.value = array[0];
}
}
ArrayObservable.create = function (array, scheduler) {
return new ArrayObservable(array, scheduler);
};
ArrayObservable.of = function () {
var array = [];
for (var _i = 0; _i < arguments.length; _i++) {
array[_i - 0] = arguments[_i];
}
var scheduler = array[array.length - 1];
if (scheduler && typeof scheduler.schedule === 'function') {
array.pop();
}
else {
scheduler = void 0;
}
var len = array.length;
if (len > 1) {
return new ArrayObservable(array, scheduler);
}
else if (len === 1) {
return new ScalarObservable_1.ScalarObservable(array[0], scheduler);
}
else {
return new EmptyObservable_1.EmptyObservable(scheduler);
}
};
ArrayObservable.dispatch = function (state) {
var array = state.array, index = state.index, count = state.count, subscriber = state.subscriber;
if (index >= count) {
subscriber.complete();
return;
}
subscriber.next(array[index]);
if (subscriber.isUnsubscribed) {
return;
}
state.index = index + 1;
this.schedule(state);
};
ArrayObservable.prototype._subscribe = function (subscriber) {
var index = 0;
var array = this.array;
var count = array.length;
var scheduler = this.scheduler;
if (scheduler) {
subscriber.add(scheduler.schedule(ArrayObservable.dispatch, 0, {
array: array, index: index, count: count, subscriber: subscriber
}));
}
else {
for (var i = 0; i < count && !subscriber.isUnsubscribed; i++) {
subscriber.next(array[i]);
}
subscriber.complete();
}
};
return ArrayObservable;
})(Observable_1.Observable);
exports.ArrayObservable = ArrayObservable;
//# sourceMappingURL=ArrayObservable.js.map
},{"../Observable":16,"./EmptyObservable":25,"./ScalarObservable":36}],23:[function(require,module,exports){
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('../Observable');
var Subscription_1 = require('../Subscription');
var ConnectableObservable = (function (_super) {
__extends(ConnectableObservable, _super);
function ConnectableObservable(source, subjectFactory) {
_super.call(this);
this.source = source;
this.subjectFactory = subjectFactory;
}
ConnectableObservable.prototype._subscribe = function (subscriber) {
return this._getSubject().subscribe(subscriber);
};
ConnectableObservable.prototype._getSubject = function () {
var subject = this.subject;
if (subject && !subject.isUnsubscribed) {
return subject;
}
return (this.subject = this.subjectFactory());
};
ConnectableObservable.prototype.connect = function () {
var source = this.source;
var subscription = this.subscription;
if (subscription && !subscription.isUnsubscribed) {
return subscription;
}
subscription = source.subscribe(this._getSubject());
subscription.add(new ConnectableSubscription(this));
return (this.subscription = subscription);
};
ConnectableObservable.prototype.refCount = function () {
return new RefCountObservable(this);
};
return ConnectableObservable;
})(Observable_1.Observable);
exports.ConnectableObservable = ConnectableObservable;
var ConnectableSubscription = (function (_super) {
__extends(ConnectableSubscription, _super);
function ConnectableSubscription(connectable) {
_super.call(this);
this.connectable = connectable;
}
ConnectableSubscription.prototype._unsubscribe = function () {
var connectable = this.connectable;
connectable.subject = void 0;
connectable.subscription = void 0;
this.connectable = void 0;
};
return ConnectableSubscription;
})(Subscription_1.Subscription);
var RefCountObservable = (function (_super) {
__extends(RefCountObservable, _super);
function RefCountObservable(connectable, refCount) {
if (refCount === void 0) { refCount = 0; }
_super.call(this);
this.connectable = connectable;
this.refCount = refCount;
}
RefCountObservable.prototype._subscribe = function (subscriber) {
var connectable = this.connectable;
var subscription = connectable.subscribe(subscriber);
if (++this.refCount === 1) {
this.connection = connectable.connect();
}
subscription.add(new RefCountSubscription(this));
return subscription;
};
return RefCountObservable;
})(Observable_1.Observable);
var RefCountSubscription = (function (_super) {
__extends(RefCountSubscription, _super);
function RefCountSubscription(refCountObservable) {
_super.call(this);
this.refCountObservable = refCountObservable;
}
RefCountSubscription.prototype._unsubscribe = function () {
var observable = this.refCountObservable;
if (--observable.refCount === 0) {
observable.connection.unsubscribe();
observable.connection = void 0;
}
};
return RefCountSubscription;
})(Subscription_1.Subscription);
//# sourceMappingURL=ConnectableObservable.js.map
},{"../Observable":16,"../Subscription":21}],24:[function(require,module,exports){
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('../Observable');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
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) {
var result = tryCatch_1.tryCatch(this.observableFactory)();
if (result === errorObject_1.errorObject) {
subscriber.error(errorObject_1.errorObject.e);
}
else {
result.subscribe(subscriber);
}
};
return DeferObservable;
})(Observable_1.Observable);
exports.DeferObservable = DeferObservable;
//# sourceMappingURL=DeferObservable.js.map
},{"../Observable":16,"../util/errorObject":143,"../util/tryCatch":152}],25:[function(require,module,exports){
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('../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 (_a) {
var subscriber = _a.subscriber;
subscriber.complete();
};
EmptyObservable.prototype._subscribe = function (subscriber) {
var scheduler = this.scheduler;
if (scheduler) {
subscriber.add(scheduler.schedule(EmptyObservable.dispatch, 0, { subscriber: subscriber }));
}
else {
subscriber.complete();
}
};
return EmptyObservable;
})(Observable_1.Observable);
exports.EmptyObservable = EmptyObservable;
//# sourceMappingURL=EmptyObservable.js.map
},{"../Observable":16}],26:[function(require,module,exports){
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('../Observable');
var ErrorObservable = (function (_super) {
__extends(ErrorObservable, _super);
function ErrorObservable(error, scheduler) {
_super.call(this);
this.error = error;
this.scheduler = scheduler;
}
ErrorObservable.create = function (error, scheduler) {
return new ErrorObservable(error, scheduler);
};
ErrorObservable.dispatch = function (_a) {
var error = _a.error, subscriber = _a.subscriber;
subscriber.error(error);
};
ErrorObservable.prototype._subscribe = function (subscriber) {
var error = this.error;
var scheduler = this.scheduler;
if (scheduler) {
subscriber.add(scheduler.schedule(ErrorObservable.dispatch, 0, {
error: error, subscriber: subscriber
}));
}
else {
subscriber.error(error);
}
};
return ErrorObservable;
})(Observable_1.Observable);
exports.ErrorObservable = ErrorObservable;
//# sourceMappingURL=ErrorObservable.js.map
},{"../Observable":16}],27:[function(require,module,exports){
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('../Observable');
var Subscriber_1 = require('../Subscriber');
var PromiseObservable_1 = require('./PromiseObservable');
var EmptyObservable_1 = require('./EmptyObservable');
var isPromise_1 = require('../util/isPromise');
var ForkJoinObservable = (function (_super) {
__extends(ForkJoinObservable, _super);
function ForkJoinObservable(sources) {
_super.call(this);
this.sources = sources;
}
ForkJoinObservable.create = function () {
var sources = [];
for (var _i = 0; _i < arguments.length; _i++) {
sources[_i - 0] = arguments[_i];
}
if (sources === null || sources.length === 0) {
return new EmptyObservable_1.EmptyObservable();
}
return new ForkJoinObservable(sources);
};
ForkJoinObservable.prototype.getResultSelector = function () {
var sources = this.sources;
var resultSelector = sources[sources.length - 1];
if (typeof resultSelector !== 'function') {
return null;
}
this.sources.pop();
return resultSelector;
};
ForkJoinObservable.prototype._subscribe = function (subscriber) {
var resultSelector = this.getResultSelector();
var sources = this.sources;
var len = sources.length;
var context = { completed: 0, total: len, values: emptyArray(len), selector: resultSelector };
for (var i = 0; i < len; i++) {
var source = sources[i];
if (isPromise_1.isPromise(source)) {
source = new PromiseObservable_1.PromiseObservable(source);
}
source.subscribe(new AllSubscriber(subscriber, i, context));
}
};
return ForkJoinObservable;
})(Observable_1.Observable);
exports.ForkJoinObservable = ForkJoinObservable;
var AllSubscriber = (function (_super) {
__extends(AllSubscriber, _super);
function AllSubscriber(destination, index, context) {
_super.call(this, destination);
this.index = index;
this.context = context;
this._value = null;
}
AllSubscriber.prototype._next = function (value) {
this._value = value;
};
AllSubscriber.prototype._complete = function () {
var destination = this.destination;
if (this._value == null) {
destination.complete();
}
var context = this.context;
context.completed++;
context.values[this.index] = this._value;
var values = context.values;
if (context.completed !== values.length) {
return;
}
if (values.every(hasValue)) {
var value = context.selector ? context.selector.apply(this, values) :
values;
destination.next(value);
}
destination.complete();
};
return AllSubscriber;
})(Subscriber_1.Subscriber);
function hasValue(x) {
return x !== null;
}
function emptyArray(len) {
var arr = [];
for (var i = 0; i < len; i++) {
arr.push(null);
}
return arr;
}
//# sourceMappingURL=ForkJoinObservable.js.map
},{"../Observable":16,"../Subscriber":20,"../util/isPromise":146,"./EmptyObservable":25,"./PromiseObservable":34}],28:[function(require,module,exports){
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('../Observable');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var Subscription_1 = require('../Subscription');
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;
var tag = sourceObj.toString();
if (tag === '[object NodeList]' || tag === '[object HTMLCollection]') {
for (var i = 0, len = sourceObj.length; i < len; i++) {
FromEventObservable.setupSubscription(sourceObj[i], eventName, handler, subscriber);
}
}
else if (typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function') {
sourceObj.addEventListener(eventName, handler);
unsubscribe = function () { return sourceObj.removeEventListener(eventName, handler); };
}
else if (typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function') {
sourceObj.on(eventName, handler);
unsubscribe = function () { return sourceObj.off(eventName, handler); };
}
else if (typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function') {
sourceObj.addListener(eventName, handler);
unsubscribe = function () { return sourceObj.removeListener(eventName, handler); };
}
subscriber.add(new Subscription_1.Subscription(unsubscribe));
};
FromEventObservable.prototype._subscribe = function (subscriber) {
var sourceObj = this.sourceObj;
var eventName = this.eventName;
var selector = this.selector;
var handler = selector ? function (e) {
var result = tryCatch_1.tryCatch(selector)(e);
if (result === errorObject_1.errorObject) {
subscriber.error(result.e);
}
else {
subscriber.next(result);
}
} : function (e) { return subscriber.next(e); };
FromEventObservable.setupSubscription(sourceObj, eventName, handler, subscriber);
};
return FromEventObservable;
})(Observable_1.Observable);
exports.FromEventObservable = FromEventObservable;
//# sourceMappingURL=FromEventObservable.js.map
},{"../Observable":16,"../Subscription":21,"../util/errorObject":143,"../util/tryCatch":152}],29:[function(require,module,exports){
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('../Observable');
var Subscription_1 = require('../Subscription');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var FromEventPatternObservable = (function (_super) {
__extends(FromEventPatternObservable, _super);
function FromEventPatternObservable(addHandler, removeHandler, selector) {
_super.call(this);
this.addHandler = addHandler;
this.removeHandler = removeHandler;
this.selector = selector;
}
FromEventPatternObservable.create = function (addHandler, removeHandler, selector) {
return new FromEventPatternObservable(addHandler, removeHandler, selector);
};
FromEventPatternObservable.prototype._subscribe = function (subscriber) {
var addHandler = this.addHandler;
var removeHandler = this.removeHandler;
var selector = this.selector;
var handler = selector ? function (e) {
var result = tryCatch_1.tryCatch(selector).apply(null, arguments);
if (result === errorObject_1.errorObject) {
subscriber.error(result.e);
}
else {
subscriber.next(result);
}
} : function (e) { subscriber.next(e); };
var result = tryCatch_1.tryCatch(addHandler)(handler);
if (result === errorObject_1.errorObject) {
subscriber.error(result.e);
}
subscriber.add(new Subscription_1.Subscription(function () {
//TODO: determine whether or not to forward to error handler
removeHandler(handler);
}));
};
return FromEventPatternObservable;
})(Observable_1.Observable);
exports.FromEventPatternObservable = FromEventPatternObservable;
//# sourceMappingURL=FromEventPatternObservable.js.map
},{"../Observable":16,"../Subscription":21,"../util/errorObject":143,"../util/tryCatch":152}],30:[function(require,module,exports){
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 PromiseObservable_1 = require('./PromiseObservable');
var IteratorObservable_1 = require('./IteratorObservable');
var ArrayObservable_1 = require('./ArrayObservable');
var Symbol_observable_1 = require('../util/Symbol_observable');
var Symbol_iterator_1 = require('../util/Symbol_iterator');
var Observable_1 = require('../Observable');
var observeOn_support_1 = require('../operators/observeOn-support');
var immediate_1 = require('../schedulers/immediate');
var isArray = Array.isArray;
var FromObservable = (function (_super) {
__extends(FromObservable, _super);
function FromObservable(ish, scheduler) {
_super.call(this, null);
this.ish = ish;
this.scheduler = scheduler;
}
FromObservable.create = function (ish, scheduler) {
if (scheduler === void 0) { scheduler = immediate_1.immediate; }
if (ish) {
if (isArray(ish)) {
return new ArrayObservable_1.ArrayObservable(ish, scheduler);
}
else if (typeof ish.then === 'function') {
return new PromiseObservable_1.PromiseObservable(ish, scheduler);
}
else if (typeof ish[Symbol_observable_1.$$observable] === 'function') {
if (ish instanceof Observable_1.Observable) {
return ish;
}
return new FromObservable(ish, scheduler);
}
else if (typeof ish[Symbol_iterator_1.$$iterator] === 'function') {
return new IteratorObservable_1.IteratorObservable(ish, null, null, scheduler);
}
}
throw new TypeError((typeof ish) + ' is not observable');
};
FromObservable.prototype._subscribe = function (subscriber) {
var ish = this.ish;
var scheduler = this.scheduler;
if (scheduler === immediate_1.immediate) {
return ish[Symbol_observable_1.$$observable]().subscribe(subscriber);
}
else {
return ish[Symbol_observable_1.$$observable]().subscribe(new observeOn_support_1.ObserveOnSubscriber(subscriber, scheduler, 0));
}
};
return FromObservable;
})(Observable_1.Observable);
exports.FromObservable = FromObservable;
//# sourceMappingURL=FromObservable.js.map
},{"../Observable":16,"../operators/observeOn-support":84,"../schedulers/immediate":129,"../util/Symbol_iterator":140,"../util/Symbol_observable":141,"./ArrayObservable":22,"./IteratorObservable":33,"./PromiseObservable":34}],31:[function(require,module,exports){
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('../Observable');
var noop_1 = require('../util/noop');
var InfiniteObservable = (function (_super) {
__extends(InfiniteObservable, _super);
function InfiniteObservable() {
_super.call(this);
}
InfiniteObservable.create = function () {
return new InfiniteObservable();
};
InfiniteObservable.prototype._subscribe = function (subscriber) {
noop_1.noop();
};
return InfiniteObservable;
})(Observable_1.Observable);
exports.InfiniteObservable = InfiniteObservable;
//# sourceMappingURL=InfiniteObservable.js.map
},{"../Observable":16,"../util/noop":147}],32:[function(require,module,exports){
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 isNumeric_1 = require('../util/isNumeric');
var Observable_1 = require('../Observable');
var nextTick_1 = require('../schedulers/nextTick');
var IntervalObservable = (function (_super) {
__extends(IntervalObservable, _super);
function IntervalObservable(period, scheduler) {
if (period === void 0) { period = 0; }
if (scheduler === void 0) { scheduler = nextTick_1.nextTick; }
_super.call(this);
this.period = period;
this.scheduler = scheduler;
if (!isNumeric_1.isNumeric(period) || period < 0) {
this.period = 0;
}
if (!scheduler || typeof scheduler.schedule !== 'function') {
this.scheduler = nextTick_1.nextTick;
}
}
IntervalObservable.create = function (period, scheduler) {
if (period === void 0) { period = 0; }
if (scheduler === void 0) { scheduler = nextTick_1.nextTick; }
return new IntervalObservable(period, scheduler);
};
IntervalObservable.dispatch = function (state) {
var index = state.index, subscriber = state.subscriber, period = state.period;
subscriber.next(index);
if (subscriber.isUnsubscribed) {
return;
}
state.index += 1;
this.schedule(state, period);
};
IntervalObservable.prototype._subscribe = function (subscriber) {
var index = 0;
var period = this.period;
var scheduler = this.scheduler;
subscriber.add(scheduler.schedule(IntervalObservable.dispatch, period, {
index: index, subscriber: subscriber, period: period
}));
};
return IntervalObservable;
})(Observable_1.Observable);
exports.IntervalObservable = IntervalObservable;
//# sourceMappingURL=IntervalObservable.js.map
},{"../Observable":16,"../schedulers/nextTick":130,"../util/isNumeric":145}],33:[function(require,module,exports){
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('../Observable');
var root_1 = require('../util/root');
var Symbol_iterator_1 = require('../util/Symbol_iterator');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var IteratorObservable = (function (_super) {
__extends(IteratorObservable, _super);
function IteratorObservable(iterator, project, thisArg, scheduler) {
_super.call(this);
this.iterator = iterator;
this.project = project;
this.thisArg = thisArg;
this.scheduler = scheduler;
}
IteratorObservable.create = function (iterator, project, thisArg, scheduler) {
if (iterator == null) {
throw new Error('iterator cannot be null.');
}
if (project && typeof project !== 'function') {
throw new Error('When provided, `project` must be a function.');
}
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 project = this.project;
var thisArg = this.thisArg;
var iterator = getIterator(Object(this.iterator));
var scheduler = this.scheduler;
if (scheduler) {
subscriber.add(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 maxSafeInteger = Math.pow(2, 53) - 1;
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[Symbol_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[Symbol_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(o) {
var i = o[Symbol_iterator_1.$$iterator];
if (!i && typeof o === 'string') {
return new StringIterator(o);
}
if (!i && o.length !== undefined) {
return new ArrayIterator(o);
}
if (!i) {
throw new TypeError('Object is not iterable');
}
return o[Symbol_iterator_1.$$iterator]();
}
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;
}
//# sourceMappingURL=IteratorObservable.js.map
},{"../Observable":16,"../util/Symbol_iterator":140,"../util/errorObject":143,"../util/root":149,"../util/tryCatch":152}],34:[function(require,module,exports){
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('../Observable');
var Subscription_1 = require('../Subscription');
var immediate_1 = require('../schedulers/immediate');
var PromiseObservable = (function (_super) {
__extends(PromiseObservable, _super);
function PromiseObservable(promise, scheduler) {
if (scheduler === void 0) { scheduler = immediate_1.immediate; }
_super.call(this);
this.promise = promise;
this.scheduler = scheduler;
this._isScalar = false;
}
PromiseObservable.create = function (promise, scheduler) {
if (scheduler === void 0) { scheduler = immediate_1.immediate; }
return new PromiseObservable(promise, scheduler);
};
PromiseObservable.prototype._subscribe = function (subscriber) {
var _this = this;
var scheduler = this.scheduler;
var promise = this.promise;
if (scheduler === immediate_1.immediate) {
if (this._isScalar) {
subscriber.next(this.value);
subscriber.complete();
}
else {
promise.then(function (value) {
_this._isScalar = true;
_this.value = value;
subscriber.next(value);
subscriber.complete();
}, function (err) { return subscriber.error(err); })
.then(null, function (err) {
// escape the promise trap, throw unhandled errors
setTimeout(function () { throw err; });
});
}
}
else {
var subscription = new Subscription_1.Subscription();
if (this._isScalar) {
var value = this.value;
subscription.add(scheduler.schedule(dispatchNext, 0, { value: value, subscriber: subscriber }));
}
else {
promise.then(function (value) {
_this._isScalar = true;
_this.value = value;
subscription.add(scheduler.schedule(dispatchNext, 0, { value: value, subscriber: subscriber }));
}, function (err) { return subscription.add(scheduler.schedule(dispatchError, 0, { err: err, subscriber: subscriber })); })
.then(null, function (err) {
// escape the promise trap, throw unhandled errors
scheduler.schedule(function () { throw err; });
});
}
return subscription;
}
};
return PromiseObservable;
})(Observable_1.Observable);
exports.PromiseObservable = PromiseObservable;
function dispatchNext(_a) {
var value = _a.value, subscriber = _a.subscriber;
subscriber.next(value);
subscriber.complete();
}
function dispatchError(_a) {
var err = _a.err, subscriber = _a.subscriber;
subscriber.error(err);
}
//# sourceMappingURL=PromiseObservable.js.map
},{"../Observable":16,"../Subscription":21,"../schedulers/immediate":129}],35:[function(require,module,exports){
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('../Observable');
var RangeObservable = (function (_super) {
__extends(RangeObservable, _super);
function RangeObservable(start, end, scheduler) {
_super.call(this);
this.start = start;
this.end = end;
this.scheduler = scheduler;
}
RangeObservable.create = function (start, end, scheduler) {
if (start === void 0) { start = 0; }
if (end === void 0) { end = 0; }
return new RangeObservable(start, end, scheduler);
};
RangeObservable.dispatch = function (state) {
var start = state.start, index = state.index, end = state.end, subscriber = state.subscriber;
if (index >= end) {
subscriber.complete();
return;
}
subscriber.next(start);
if (subscriber.isUnsubscribed) {
return;
}
state.index = index + 1;
state.start = start + 1;
this.schedule(state);
};
RangeObservable.prototype._subscribe = function (subscriber) {
var index = 0;
var start = this.start;
var end = this.end;
var scheduler = this.scheduler;
if (scheduler) {
subscriber.add(scheduler.schedule(RangeObservable.dispatch, 0, {
index: index, end: end, start: start, subscriber: subscriber
}));
}
else {
do {
if (index++ >= end) {
subscriber.complete();
break;
}
subscriber.next(start++);
if (subscriber.isUnsubscribed) {
break;
}
} while (true);
}
};
return RangeObservable;
})(Observable_1.Observable);
exports.RangeObservable = RangeObservable;
//# sourceMappingURL=RangeObservable.js.map
},{"../Observable":16}],36:[function(require,module,exports){
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('../Observable');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var ErrorObservable_1 = require('./ErrorObservable');
var EmptyObservable_1 = require('./EmptyObservable');
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) {
subscriber.add(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;
// TypeScript is weird about class prototype member functions and instance properties touching on it's plate.
var proto = ScalarObservable.prototype;
proto.map = function (project, thisArg) {
var result = tryCatch_1.tryCatch(project).call(thisArg || this, this.value, 0);
if (result === errorObject_1.errorObject) {
return new ErrorObservable_1.ErrorObservable(errorObject_1.errorObject.e);
}
else {
return new ScalarObservable(project.call(thisArg || this, this.value, 0));
}
};
proto.filter = function (select, thisArg) {
var result = tryCatch_1.tryCatch(select).call(thisArg || this, this.value, 0);
if (result === errorObject_1.errorObject) {
return new ErrorObservable_1.ErrorObservable(errorObject_1.errorObject.e);
}
else if (result) {
return this;
}
else {
return new EmptyObservable_1.EmptyObservable();
}
};
proto.reduce = function (project, seed) {
if (typeof seed === 'undefined') {
return this;
}
var result = tryCatch_1.tryCatch(project)(seed, this.value);
if (result === errorObject_1.errorObject) {
return new ErrorObservable_1.ErrorObservable(errorObject_1.errorObject.e);
}
else {
return new ScalarObservable(result);
}
};
proto.scan = function (project, acc) {
return this.reduce(project, acc);
};
proto.count = function (predicate, thisArg) {
if (!predicate) {
return new ScalarObservable(1);
}
else {
var result = tryCatch_1.tryCatch(predicate).call(thisArg || this, this.value, 0, this);
if (result === errorObject_1.errorObject) {
return new ErrorObservable_1.ErrorObservable(errorObject_1.errorObject.e);
}
else {
return new ScalarObservable(result ? 1 : 0);
}
}
};
proto.skip = function (count) {
if (count > 0) {
return new EmptyObservable_1.EmptyObservable();
}
return this;
};
proto.take = function (count) {
if (count > 0) {
return this;
}
return new EmptyObservable_1.EmptyObservable();
};
//# sourceMappingURL=ScalarObservable.js.map
},{"../Observable":16,"../util/errorObject":143,"../util/tryCatch":152,"./EmptyObservable":25,"./ErrorObservable":26}],37:[function(require,module,exports){
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('../Observable');
var nextTick_1 = require('../schedulers/nextTick');
var isNumeric_1 = require('../util/isNumeric');
var SubscribeOnObservable = (function (_super) {
__extends(SubscribeOnObservable, _super);
function SubscribeOnObservable(source, delayTime, scheduler) {
if (delayTime === void 0) { delayTime = 0; }
if (scheduler === void 0) { scheduler = nextTick_1.nextTick; }
_super.call(this);
this.source = source;
this.delayTime = delayTime;
this.scheduler = scheduler;
if (!isNumeric_1.isNumeric(delayTime) || delayTime < 0) {
this.delayTime = 0;
}
if (!scheduler || typeof scheduler.schedule !== 'function') {
this.scheduler = nextTick_1.nextTick;
}
}
SubscribeOnObservable.create = function (source, delay, scheduler) {
if (delay === void 0) { delay = 0; }
if (scheduler === void 0) { scheduler = nextTick_1.nextTick; }
return new SubscribeOnObservable(source, delay, scheduler);
};
SubscribeOnObservable.dispatch = function (_a) {
var source = _a.source, subscriber = _a.subscriber;
return source.subscribe(subscriber);
};
SubscribeOnObservable.prototype._subscribe = function (subscriber) {
var delay = this.delayTime;
var source = this.source;
var scheduler = this.scheduler;
subscriber.add(scheduler.schedule(SubscribeOnObservable.dispatch, delay, {
source: source, subscriber: subscriber
}));
};
return SubscribeOnObservable;
})(Observable_1.Observable);
exports.SubscribeOnObservable = SubscribeOnObservable;
//# sourceMappingURL=SubscribeOnObservable.js.map
},{"../Observable":16,"../schedulers/nextTick":130,"../util/isNumeric":145}],38:[function(require,module,exports){
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 isNumeric_1 = require('../util/isNumeric');
var Observable_1 = require('../Observable');
var nextTick_1 = require('../schedulers/nextTick');
var TimerObservable = (function (_super) {
__extends(TimerObservable, _super);
function TimerObservable(dueTime, period, scheduler) {
if (dueTime === void 0) { dueTime = 0; }
_super.call(this);
this.dueTime = dueTime;
this.period = period;
this.scheduler = scheduler;
if (isNumeric_1.isNumeric(period)) {
this._period = Number(period) < 1 && 1 || Number(period);
}
else if (period && typeof period.schedule === 'function') {
scheduler = period;
}
if (!scheduler || typeof scheduler.schedule !== 'function') {
scheduler = nextTick_1.nextTick;
}
this.scheduler = scheduler;
}
TimerObservable.create = function (dueTime, period, scheduler) {
if (dueTime === void 0) { dueTime = 0; }
return new TimerObservable(dueTime, period, scheduler);
};
TimerObservable.dispatch = function (state) {
var index = state.index, period = state.period, subscriber = state.subscriber;
var action = this;
subscriber.next(index);
if (typeof period === 'undefined') {
subscriber.complete();
return;
}
else if (subscriber.isUnsubscribed) {
return;
}
if (typeof action.delay === 'undefined') {
action.add(action.scheduler.schedule(TimerObservable.dispatch, period, {
index: index + 1, period: period, subscriber: subscriber
}));
}
else {
state.index = index + 1;
action.schedule(state, period);
}
};
TimerObservable.prototype._subscribe = function (subscriber) {
var index = 0;
var period = this._period;
var dueTime = this.dueTime;
var scheduler = this.scheduler;
subscriber.add(scheduler.schedule(TimerObservable.dispatch, dueTime, { index: index, period: period, subscriber: subscriber }));
};
return TimerObservable;
})(Observable_1.Observable);
exports.TimerObservable = TimerObservable;
//# sourceMappingURL=TimerObservable.js.map
},{"../Observable":16,"../schedulers/nextTick":130,"../util/isNumeric":145}],39:[function(require,module,exports){
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('../Subscriber');
/**
* buffers the incoming observable values until the passed `closingNotifier` emits a value, at which point
* it emits the buffer on the returned observable and starts a new buffer internally, awaiting the
* next time `closingNotifier` emits
*
* @param {Observable<any>} closingNotifier an observable, that signals the buffer to be emitted} from the returned observable
* @returns {Observable<T[]>} an observable of buffers, which are arrays of values
*/
function buffer(closingNotifier) {
return this.lift(new BufferOperator(closingNotifier));
}
exports.buffer = buffer;
var BufferOperator = (function () {
function BufferOperator(closingNotifier) {
this.closingNotifier = closingNotifier;
}
BufferOperator.prototype.call = function (subscriber) {
return new BufferSubscriber(subscriber, this.closingNotifier);
};
return BufferOperator;
})();
var BufferSubscriber = (function (_super) {
__extends(BufferSubscriber, _super);
function BufferSubscriber(destination, closingNotifier) {
_super.call(this, destination);
this.buffer = [];
this.notifierSubscriber = null;
this.notifierSubscriber = new BufferClosingNotifierSubscriber(this);
this.add(closingNotifier._subscribe(this.notifierSubscriber));
}
BufferSubscriber.prototype._next = function (value) {
this.buffer.push(value);
};
BufferSubscriber.prototype._error = function (err) {
this.destination.error(err);
};
BufferSubscriber.prototype._complete = function () {
this.destination.complete();
};
BufferSubscriber.prototype.flushBuffer = function () {
var buffer = this.buffer;
this.buffer = [];
this.destination.next(buffer);
if (this.isUnsubscribed) {
this.notifierSubscriber.unsubscribe();
}
};
return BufferSubscriber;
})(Subscriber_1.Subscriber);
var BufferClosingNotifierSubscriber = (function (_super) {
__extends(BufferClosingNotifierSubscriber, _super);
function BufferClosingNotifierSubscriber(parent) {
_super.call(this, null);
this.parent = parent;
}
BufferClosingNotifierSubscriber.prototype._next = function (value) {
this.parent.flushBuffer();
};
BufferClosingNotifierSubscriber.prototype._error = function (err) {
this.parent.error(err);
};
BufferClosingNotifierSubscriber.prototype._complete = function () {
this.parent.complete();
};
return BufferClosingNotifierSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=buffer.js.map
},{"../Subscriber":20}],40:[function(require,module,exports){
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('../Subscriber');
/**
* buffers a number of values from the source observable by `bufferSize` then emits the buffer and clears it, and starts a
* new buffer each `startBufferEvery` values. If `startBufferEvery` is not provided or is `null`, then new buffers are
* started immediately at the start of the source and when each buffer closes and is emitted.
* @param {number} bufferSize the maximum size of the buffer emitted.
* @param {number} [startBufferEvery] optional interval at which to start a new buffer. (e.g. if `startBufferEvery` is `2`,asdf then a
* new buffer will be started on every other value from the source.) A new buffer is started at the beginning of the source by default.
* @returns {Observable<T[]>} an observable of arrays of buffered values.
*/
function bufferCount(bufferSize, startBufferEvery) {
if (startBufferEvery === void 0) { startBufferEvery = null; }
return this.lift(new BufferCountOperator(bufferSize, startBufferEvery));
}
exports.bufferCount = bufferCount;
var BufferCountOperator = (function () {
function BufferCountOperator(bufferSize, startBufferEvery) {
this.bufferSize = bufferSize;
this.startBufferEvery = startBufferEvery;
}
BufferCountOperator.prototype.call = function (subscriber) {
return new BufferCountSubscriber(subscriber, this.bufferSize, this.startBufferEvery);
};
return BufferCountOperator;
})();
var BufferCountSubscriber = (function (_super) {
__extends(BufferCountSubscriber, _super);
function BufferCountSubscriber(destination, bufferSize, startBufferEvery) {
_super.call(this, destination);
this.bufferSize = bufferSize;
this.startBufferEvery = startBufferEvery;
this.buffers = [[]];
this.count = 0;
}
BufferCountSubscriber.prototype._next = function (value) {
var count = (this.count += 1);
var destination = this.destination;
var bufferSize = this.bufferSize;
var startBufferEvery = (this.startBufferEvery == null) ? bufferSize : this.startBufferEvery;
var buffers = this.buffers;
var len = buffers.length;
var remove = -1;
if (count % startBufferEvery === 0) {
buffers.push([]);
}
for (var i = 0; i < len; i++) {
var buffer = buffers[i];
buffer.push(value);
if (buffer.length === bufferSize) {
remove = i;
destination.next(buffer);
}
}
if (remove !== -1) {
buffers.splice(remove, 1);
}
};
BufferCountSubscriber.prototype._error = function (err) {
this.destination.error(err);
};
BufferCountSubscriber.prototype._complete = function () {
var destination = this.destination;
var buffers = this.buffers;
while (buffers.length > 0) {
var buffer = buffers.shift();
if (buffer.length > 0) {
destination.next(buffer);
}
}
destination.complete();
};
return BufferCountSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=bufferCount.js.map
},{"../Subscriber":20}],41:[function(require,module,exports){
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('../Subscriber');
var nextTick_1 = require('../schedulers/nextTick');
/**
* buffers values from the source for a specific time period. Optionally allows new buffers to be set up at an interval.
* @param {number} the amount of time to fill each buffer for before emitting them and clearing them.
* @param {number} [bufferCreationInterval] the interval at which to start new buffers.
* @param {Scheduler} [scheduler] (optional, defaults to `nextTick` scheduler) The scheduler on which to schedule the
* intervals that determine buffer boundaries.
* @returns {Observable<T[]>} an observable of arrays of buffered values.
*/
function bufferTime(bufferTimeSpan, bufferCreationInterval, scheduler) {
if (bufferCreationInterval === void 0) { bufferCreationInterval = null; }
if (scheduler === void 0) { scheduler = nextTick_1.nextTick; }
return this.lift(new BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, scheduler));
}
exports.bufferTime = bufferTime;
var BufferTimeOperator = (function () {
function BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, scheduler) {
this.bufferTimeSpan = bufferTimeSpan;
this.bufferCreationInterval = bufferCreationInterval;
this.scheduler = scheduler;
}
BufferTimeOperator.prototype.call = function (subscriber) {
return new BufferTimeSubscriber(subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.scheduler);
};
return BufferTimeOperator;
})();
var BufferTimeSubscriber = (function (_super) {
__extends(BufferTimeSubscriber, _super);
function BufferTimeSubscriber(destination, bufferTimeSpan, bufferCreationInterval, scheduler) {
_super.call(this, destination);
this.bufferTimeSpan = bufferTimeSpan;
this.bufferCreationInterval = bufferCreationInterval;
this.scheduler = scheduler;
this.buffers = [];
var buffer = this.openBuffer();
if (bufferCreationInterval !== null && bufferCreationInterval >= 0) {
var closeState = { subscriber: this, buffer: buffer };
var creationState = { bufferTimeSpan: bufferTimeSpan, bufferCreationInterval: bufferCreationInterval, subscriber: this, scheduler: scheduler };
this.add(scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState));
this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState));
}
else {
var timeSpanOnlyState = { subscriber: this, buffer: buffer, bufferTimeSpan: bufferTimeSpan };
this.add(scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));
}
}
BufferTimeSubscriber.prototype._next = function (value) {
var buffers = this.buffers;
var len = buffers.length;
for (var i = 0; i < len; i++) {
buffers[i].push(value);
}
};
BufferTimeSubscriber.prototype._error = function (err) {
this.buffers.length = 0;
this.destination.error(err);
};
BufferTimeSubscriber.prototype._complete = function () {
var buffers = this.buffers;
while (buffers.length > 0) {
this.destination.next(buffers.shift());
}
this.destination.complete();
};
BufferTimeSubscriber.prototype.openBuffer = function () {
var buffer = [];
this.buffers.push(buffer);
return buffer;
};
BufferTimeSubscriber.prototype.closeBuffer = function (buffer) {
this.destination.next(buffer);
var buffers = this.buffers;
buffers.splice(buffers.indexOf(buffer), 1);
};
return BufferTimeSubscriber;
})(Subscriber_1.Subscriber);
function dispatchBufferTimeSpanOnly(state) {
var subscriber = state.subscriber;
var prevBuffer = state.buffer;
if (prevBuffer) {
subscriber.closeBuffer(prevBuffer);
}
state.buffer = subscriber.openBuffer();
if (!subscriber.isUnsubscribed) {
this.schedule(state, state.bufferTimeSpan);
}
}
function dispatchBufferCreation(state) {
var bufferCreationInterval = state.bufferCreationInterval, bufferTimeSpan = state.bufferTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler;
var buffer = subscriber.openBuffer();
var action = this;
if (!subscriber.isUnsubscribed) {
action.add(scheduler.schedule(dispatchBufferClose, bufferTimeSpan, { subscriber: subscriber, buffer: buffer }));
action.schedule(state, bufferCreationInterval);
}
}
function dispatchBufferClose(_a) {
var subscriber = _a.subscriber, buffer = _a.buffer;
subscriber.closeBuffer(buffer);
}
//# sourceMappingURL=bufferTime.js.map
},{"../Subscriber":20,"../schedulers/nextTick":130}],42:[function(require,module,exports){
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('../Subscriber');
var Subscription_1 = require('../Subscription');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
/**
* buffers values from the source by opening the buffer via signals from an observable provided to `openings`, and closing
* and sending the buffers when an observable returned by the `closingSelector` emits.
* @param {Observable<O>} openings An observable of notifications to start new buffers
* @param {Function} an function, that takes the value emitted by the `openings` observable and returns an Observable, which,
* when it emits, signals that the associated buffer should be emitted and cleared.
* @returns {Observable<T[]>} an observable of arrays of buffered values.
*/
function bufferToggle(openings, closingSelector) {
return this.lift(new BufferToggleOperator(openings, closingSelector));
}
exports.bufferToggle = bufferToggle;
var BufferToggleOperator = (function () {
function BufferToggleOperator(openings, closingSelector) {
this.openings = openings;
this.closingSelector = closingSelector;
}
BufferToggleOperator.prototype.call = function (subscriber) {
return new BufferToggleSubscriber(subscriber, this.openings, this.closingSelector);
};
return BufferToggleOperator;
})();
var BufferToggleSubscriber = (function (_super) {
__extends(BufferToggleSubscriber, _super);
function BufferToggleSubscriber(destination, openings, closingSelector) {
_super.call(this, destination);
this.openings = openings;
this.closingSelector = closingSelector;
this.contexts = [];
this.add(this.openings._subscribe(new BufferToggleOpeningsSubscriber(this)));
}
BufferToggleSubscriber.prototype._next = function (value) {
var contexts = this.contexts;
var len = contexts.length;
for (var i = 0; i < len; i++) {
contexts[i].buffer.push(value);
}
};
BufferToggleSubscriber.prototype._error = function (err) {
this.contexts = null;
this.destination.error(err);
};
BufferToggleSubscriber.prototype._complete = function () {
var contexts = this.contexts;
while (contexts.length > 0) {
var context = contexts.shift();
this.destination.next(context.buffer);
context.subscription.unsubscribe();
context.buffer = null;
}
this.destination.complete();
};
BufferToggleSubscriber.prototype.openBuffer = function (value) {
var closingSelector = this.closingSelector;
var contexts = this.contexts;
var closingNotifier = tryCatch_1.tryCatch(closingSelector)(value);
if (closingNotifier === errorObject_1.errorObject) {
var err = closingNotifier.e;
this.contexts = null;
this.destination.error(err);
}
else {
var context = {
buffer: [],
subscription: new Subscription_1.Subscription()
};
contexts.push(context);
var subscriber = new BufferClosingNotifierSubscriber(this, context);
var subscription = closingNotifier._subscribe(subscriber);
this.add(context.subscription.add(subscription));
}
};
BufferToggleSubscriber.prototype.closeBuffer = function (context) {
var contexts = this.contexts;
if (contexts === null) {
return;
}
var buffer = context.buffer, subscription = context.subscription;
this.destination.next(buffer);
contexts.splice(contexts.indexOf(context), 1);
this.remove(subscription);
subscription.unsubscribe();
};
return BufferToggleSubscriber;
})(Subscriber_1.Subscriber);
var BufferClosingNotifierSubscriber = (function (_super) {
__extends(BufferClosingNotifierSubscriber, _super);
function BufferClosingNotifierSubscriber(parent, context) {
_super.call(this, null);
this.parent = parent;
this.context = context;
}
BufferClosingNotifierSubscriber.prototype._next = function () {
this.parent.closeBuffer(this.context);
};
BufferClosingNotifierSubscriber.prototype._error = function (err) {
this.parent.error(err);
};
BufferClosingNotifierSubscriber.prototype._complete = function () {
this.parent.closeBuffer(this.context);
};
return BufferClosingNotifierSubscriber;
})(Subscriber_1.Subscriber);
var BufferToggleOpeningsSubscriber = (function (_super) {
__extends(BufferToggleOpeningsSubscriber, _super);
function BufferToggleOpeningsSubscriber(parent) {
_super.call(this, null);
this.parent = parent;
}
BufferToggleOpeningsSubscriber.prototype._next = function (value) {
this.parent.openBuffer(value);
};
BufferToggleOpeningsSubscriber.prototype._error = function (err) {
this.parent.error(err);
};
BufferToggleOpeningsSubscriber.prototype._complete = function () {
// noop
};
return BufferToggleOpeningsSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=bufferToggle.js.map
},{"../Subscriber":20,"../Subscription":21,"../util/errorObject":143,"../util/tryCatch":152}],43:[function(require,module,exports){
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('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
/**
* Opens a buffer immediately, then closes the buffer when the observable returned by calling `closingSelector` emits a value.
* It that immediately opens a new buffer and repeats the process
* @param {function} a function that takes no arguments and returns an Observable that signals buffer closure
* @returns {Observable<T[]>} an observable of arrays of buffered values.
*/
function bufferWhen(closingSelector) {
return this.lift(new BufferWhenOperator(closingSelector));
}
exports.bufferWhen = bufferWhen;
var BufferWhenOperator = (function () {
function BufferWhenOperator(closingSelector) {
this.closingSelector = closingSelector;
}
BufferWhenOperator.prototype.call = function (subscriber) {
return new BufferWhenSubscriber(subscriber, this.closingSelector);
};
return BufferWhenOperator;
})();
var BufferWhenSubscriber = (function (_super) {
__extends(BufferWhenSubscriber, _super);
function BufferWhenSubscriber(destination, closingSelector) {
_super.call(this, destination);
this.closingSelector = closingSelector;
this.openBuffer();
}
BufferWhenSubscriber.prototype._next = function (value) {
this.buffer.push(value);
};
BufferWhenSubscriber.prototype._error = function (err) {
this.buffer = null;
this.destination.error(err);
};
BufferWhenSubscriber.prototype._complete = function () {
var buffer = this.buffer;
this.destination.next(buffer);
this.buffer = null;
this.destination.complete();
};
BufferWhenSubscriber.prototype.openBuffer = function () {
var prevClosingNotification = this.closingNotification;
if (prevClosingNotification) {
this.remove(prevClosingNotification);
prevClosingNotification.unsubscribe();
}
var buffer = this.buffer;
if (buffer) {
this.destination.next(buffer);
}
this.buffer = [];
var closingNotifier = tryCatch_1.tryCatch(this.closingSelector)();
if (closingNotifier === errorObject_1.errorObject) {
var err = closingNotifier.e;
this.buffer = null;
this.destination.error(err);
}
else {
this.add(this.closingNotification = closingNotifier._subscribe(new BufferClosingNotifierSubscriber(this)));
}
};
return BufferWhenSubscriber;
})(Subscriber_1.Subscriber);
var BufferClosingNotifierSubscriber = (function (_super) {
__extends(BufferClosingNotifierSubscriber, _super);
function BufferClosingNotifierSubscriber(parent) {
_super.call(this, null);
this.parent = parent;
}
BufferClosingNotifierSubscriber.prototype._next = function () {
this.parent.openBuffer();
};
BufferClosingNotifierSubscriber.prototype._error = function (err) {
this.parent.error(err);
};
BufferClosingNotifierSubscriber.prototype._complete = function () {
this.parent.openBuffer();
};
return BufferClosingNotifierSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=bufferWhen.js.map
},{"../Subscriber":20,"../util/errorObject":143,"../util/tryCatch":152}],44:[function(require,module,exports){
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('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
/**
* Catches errors on the observable to be handled by returning a new observable or throwing an error.
* @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which
* is the source observable, in case you'd like to "retry" that observable by returning it again. Whatever observable
* is returned by the `selector` will be used to continue the observable chain.
* @return {Observable} an observable that originates from either the source or the observable returned by the
* catch `selector` function.
*/
function _catch(selector) {
var catchOperator = new CatchOperator(selector);
var caught = this.lift(catchOperator);
catchOperator.caught = caught;
return caught;
}
exports._catch = _catch;
var CatchOperator = (function () {
function CatchOperator(selector) {
this.selector = selector;
}
CatchOperator.prototype.call = function (subscriber) {
return new CatchSubscriber(subscriber, this.selector, this.caught);
};
return CatchOperator;
})();
var CatchSubscriber = (function (_super) {
__extends(CatchSubscriber, _super);
function CatchSubscriber(destination, selector, caught) {
_super.call(this, destination);
this.selector = selector;
this.caught = caught;
}
CatchSubscriber.prototype._error = function (err) {
var result = tryCatch_1.tryCatch(this.selector)(err, this.caught);
if (result === errorObject_1.errorObject) {
this.destination.error(errorObject_1.errorObject.e);
}
else {
this.add(result.subscribe(this.destination));
}
};
return CatchSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=catch.js.map
},{"../Subscriber":20,"../util/errorObject":143,"../util/tryCatch":152}],45:[function(require,module,exports){
var combineLatest_support_1 = require('./combineLatest-support');
/**
* Takes an Observable of Observables, and collects all observables from it. Once the outer observable
* completes, it subscribes to all collected observables and "combines" their values, such that:
* - every time an observable emits, the returned observable emits
* - when the returned observable emits, it emits all of the most recent values by:
* - if a `project` function is provided, it is called with each recent value from each observable in whatever order they arrived,
* and the result of the `project` function is what is emitted by the returned observable
* - if there is no `project` function, an array of all of the most recent values is emitted by the returned observable.
* @param {function} [project] an optional function to map the most recent values from each observable into a new result. Takes each of the
* most recent values from each collected observable as arguments, in order.
* @returns {Observable} an observable of projected results or arrays of recent values.
*/
function combineAll(project) {
return this.lift(new combineLatest_support_1.CombineLatestOperator(project));
}
exports.combineAll = combineAll;
//# sourceMappingURL=combineAll.js.map
},{"./combineLatest-support":47}],46:[function(require,module,exports){
var ArrayObservable_1 = require('../observables/ArrayObservable');
var combineLatest_support_1 = require('./combineLatest-support');
/**
* Combines the values from observables passed as arguments. This is done by subscribing
* to each observable, in order, and collecting an array of each of the most recent values any time any of the observables
* emits, then either taking that array and passing it as arguments to an option `project` function and emitting the return
* value of that, or just emitting the array of recent values directly if there is no `project` function.
* @param {...Observable} observables the observables to combine
* @param {function} [project] an optional function to project the values from the combined recent values into a new value for emission.
* @returns {Observable} an observable of other projected values from the most recent values from each observable, or an array of each of
* the most recent values from each observable.
*/
function combineLatest() {
var observables = [];
for (var _i = 0; _i < arguments.length; _i++) {
observables[_i - 0] = arguments[_i];
}
var project, scheduler;
if (typeof observables[observables.length - 1].schedule === 'function') {
scheduler = observables.pop();
}
if (typeof observables[observables.length - 1] === 'function') {
project = observables.pop();
}
return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new combineLatest_support_1.CombineLatestOperator(project));
}
exports.combineLatest = combineLatest;
//# sourceMappingURL=combineLatest-static.js.map
},{"../observables/ArrayObservable":22,"./combineLatest-support":47}],47:[function(require,module,exports){
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 tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var OuterSubscriber_1 = require('../OuterSubscriber');
var subscribeToResult_1 = require('../util/subscribeToResult');
var CombineLatestOperator = (function () {
function CombineLatestOperator(project) {
this.project = project;
}
CombineLatestOperator.prototype.call = function (subscriber) {
return new CombineLatestSubscriber(subscriber, this.project);
};
return CombineLatestOperator;
})();
exports.CombineLatestOperator = CombineLatestOperator;
var CombineLatestSubscriber = (function (_super) {
__extends(CombineLatestSubscriber, _super);
function CombineLatestSubscriber(destination, project) {
_super.call(this, destination);
this.project = project;
this.active = 0;
this.values = [];
this.observables = [];
this.toRespond = [];
}
CombineLatestSubscriber.prototype._next = function (observable) {
var toRespond = this.toRespond;
toRespond.push(toRespond.length);
this.observables.push(observable);
};
CombineLatestSubscriber.prototype._complete = function () {
var observables = this.observables;
var len = observables.length;
if (len === 0) {
this.destination.complete();
}
else {
this.active = len;
for (var i = 0; i < len; i++) {
var observable = observables[i];
this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));
}
}
};
CombineLatestSubscriber.prototype.notifyComplete = function (innerSubscriber) {
if ((this.active -= 1) === 0) {
this.destination.complete();
}
};
CombineLatestSubscriber.prototype.notifyNext = function (observable, value, outerIndex, innerIndex) {
var values = this.values;
values[outerIndex] = value;
var toRespond = this.toRespond;
if (toRespond.length > 0) {
var found = toRespond.indexOf(outerIndex);
if (found !== -1) {
toRespond.splice(found, 1);
}
}
if (toRespond.length === 0) {
var project = this.project;
var destination = this.destination;
if (project) {
var result = tryCatch_1.tryCatch(project).apply(this, values);
if (result === errorObject_1.errorObject) {
destination.error(errorObject_1.errorObject.e);
}
else {
destination.next(result);
}
}
else {
destination.next(values);
}
}
};
return CombineLatestSubscriber;
})(OuterSubscriber_1.OuterSubscriber);
exports.CombineLatestSubscriber = CombineLatestSubscriber;
//# sourceMappingURL=combineLatest-support.js.map
},{"../OuterSubscriber":17,"../util/errorObject":143,"../util/subscribeToResult":150,"../util/tryCatch":152}],48:[function(require,module,exports){
var ArrayObservable_1 = require('../observables/ArrayObservable');
var combineLatest_support_1 = require('./combineLatest-support');
/**
* Combines the values from this observable with values from observables passed as arguments. This is done by subscribing
* to each observable, in order, and collecting an array of each of the most recent values any time any of the observables
* emits, then either taking that array and passing it as arguments to an option `project` function and emitting the return
* value of that, or just emitting the array of recent values directly if there is no `project` function.
* @param {...Observable} observables the observables to combine the source with
* @param {function} [project] an optional function to project the values from the combined recent values into a new value for emission.
* @returns {Observable} an observable of other projected values from the most recent values from each observable, or an array of each of
* the most recent values from each observable.
*/
function combineLatest() {
var observables = [];
for (var _i = 0; _i < arguments.length; _i++) {
observables[_i - 0] = arguments[_i];
}
observables.unshift(this);
var project;
if (typeof observables[observables.length - 1] === 'function') {
project = observables.pop();
}
return new ArrayObservable_1.ArrayObservable(observables).lift(new combineLatest_support_1.CombineLatestOperator(project));
}
exports.combineLatest = combineLatest;
//# sourceMappingURL=combineLatest.js.map
},{"../observables/ArrayObservable":22,"./combineLatest-support":47}],49:[function(require,module,exports){
var immediate_1 = require('../schedulers/immediate');
var mergeAll_support_1 = require('./mergeAll-support');
var ArrayObservable_1 = require('../observables/ArrayObservable');
/**
* Joins multiple observables together by subscribing to them one at a time and merging their results
* into the returned observable. Will wait for each observable to complete before moving on to the next.
* @params {...Observable} the observables to concatenate
* @params {Scheduler} [scheduler] an optional scheduler to schedule each observable subscription on.
* @returns {Observable} All values of each passed observable merged into a single observable, in order, in serial fashion.
*/
function concat() {
var observables = [];
for (var _i = 0; _i < arguments.length; _i++) {
observables[_i - 0] = arguments[_i];
}
var scheduler = immediate_1.immediate;
var args = observables;
if (typeof (args[observables.length - 1]).schedule === 'function') {
scheduler = args.pop();
}
return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new mergeAll_support_1.MergeAllOperator(1));
}
exports.concat = concat;
//# sourceMappingURL=concat-static.js.map
},{"../observables/ArrayObservable":22,"../schedulers/immediate":129,"./mergeAll-support":77}],50:[function(require,module,exports){
var Observable_1 = require('../Observable');
/**
* Joins this observable with multiple other observables by subscribing to them one at a time, starting with the source,
* and merging their results into the returned observable. Will wait for each observable to complete before moving
* on to the next.
* @params {...Observable} the observables to concatenate
* @params {Scheduler} [scheduler] an optional scheduler to schedule each observable subscription on.
* @returns {Observable} All values of each passed observable merged into a single observable, in order, in serial fashion.
*/
function concat() {
var observables = [];
for (var _i = 0; _i < arguments.length; _i++) {
observables[_i - 0] = arguments[_i];
}
var args = observables;
args.unshift(this);
if (args.length > 1 && typeof args[args.length - 1].schedule === 'function') {
args.splice(args.length - 2, 0, 1);
}
return Observable_1.Observable.fromArray(args).mergeAll(1);
}
exports.concat = concat;
//# sourceMappingURL=concat.js.map
},{"../Observable":16}],51:[function(require,module,exports){
var mergeAll_support_1 = require('./mergeAll-support');
/**
* Joins every Observable emitted by the source (an Observable of Observables), in a serial
* fashion. Subscribing to each one only when the previous one has completed, and merging
* all of their values into the returned observable.
*
* __Warning:__ If the source Observable emits Observables quickly and endlessly, and the
* Observables it emits generally complete slower than the source emits, you can run into
* memory issues as the incoming observables collect in an unbounded buffer.
*
* @returns {Observable} an observable of values merged from the incoming observables.
*/
function concatAll() {
return this.lift(new mergeAll_support_1.MergeAllOperator(1));
}
exports.concatAll = concatAll;
//# sourceMappingURL=concatAll.js.map
},{"./mergeAll-support":77}],52:[function(require,module,exports){
var mergeMap_support_1 = require('./mergeMap-support');
/**
* Maps values from the source observable into new Observables, then merges them in a serialized fashion,
* waiting for each one to complete before merging the next.
*
* __Warning:__ if incoming values arrive endlessly and faster than the observables they're being mapped
* to can complete, it will result in memory issues as created observables amass in an unbounded buffer
* waiting for their turn to be subscribed to.
*
* @param {function} project a function to map incoming values into Observables to be concatenated. accepts
* the `value` and the `index` as arguments.
* @param {function} [projectResult] an optional result selector that is applied to values before they're
* merged into the returned observable. The arguments passed to this function are:
* - `outerValue`: the value that came from the source
* - `innerValue`: the value that came from the projected Observable
* - `outerIndex`: the "index" of the value that came from the source
* - `innerIndex`: the "index" of the value from the projected Observable
* @returns {Observable} an observable of values merged from the projected Observables as they were subscribed to,
* one at a time. Optionally, these values may have been projected from a passed `projectResult` argument.
*/
function concatMap(project, projectResult) {
return this.lift(new mergeMap_support_1.MergeMapOperator(project, projectResult, 1));
}
exports.concatMap = concatMap;
//# sourceMappingURL=concatMap.js.map
},{"./mergeMap-support":79}],53:[function(require,module,exports){
var mergeMapTo_support_1 = require('./mergeMapTo-support');
/**
* Maps values from the source to a specific observable, and merges them together in a serialized fashion.
*
* @param {Observable} observable the observable to map each source value to
* @param {function} [projectResult] an optional result selector that is applied to values before they're
* merged into the returned observable. The arguments passed to this function are:
* - `outerValue`: the value that came from the source
* - `innerValue`: the value that came from the projected Observable
* - `outerIndex`: the "index" of the value that came from the source
* - `innerIndex`: the "index" of the value from the projected Observable
* @returns {Observable} an observable of values merged together by joining the passed observable
* with itself, one after the other, for each value emitted from the source.
*/
function concatMapTo(observable, projectResult) {
return this.lift(new mergeMapTo_support_1.MergeMapToOperator(observable, projectResult, 1));
}
exports.concatMapTo = concatMapTo;
//# sourceMappingURL=concatMapTo.js.map
},{"./mergeMapTo-support":81}],54:[function(require,module,exports){
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('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var bindCallback_1 = require('../util/bindCallback');
/**
* Returns an observable of a single number that represents the number of items that either:
* Match a provided predicate function, _or_ if a predicate is not provided, the number
* represents the total count of all items in the source observable. The count is emitted
* by the returned observable when the source observable completes.
* @param {function} [predicate] a boolean function to select what values are to be counted.
* it is provided with arguments of:
* - `value`: the value from the source observable
* - `index`: the "index" of the value from the source observable
* - `source`: the source observable instance itself.
* @param {any} [thisArg] the optional `this` context to use in the `predicate` function
* @returns {Observable} an observable of one number that represents the count as described
* above
*/
function count(predicate, thisArg) {
return this.lift(new CountOperator(predicate, thisArg, this));
}
exports.count = count;
var CountOperator = (function () {
function CountOperator(predicate, thisArg, source) {
this.predicate = predicate;
this.thisArg = thisArg;
this.source = source;
}
CountOperator.prototype.call = function (subscriber) {
return new CountSubscriber(subscriber, this.predicate, this.thisArg, this.source);
};
return CountOperator;
})();
var CountSubscriber = (function (_super) {
__extends(CountSubscriber, _super);
function CountSubscriber(destination, predicate, thisArg, source) {
_super.call(this, destination);
this.thisArg = thisArg;
this.source = source;
this.count = 0;
this.index = 0;
if (typeof predicate === 'function') {
this.predicate = bindCallback_1.bindCallback(predicate, thisArg, 3);
}
}
CountSubscriber.prototype._next = function (value) {
var predicate = this.predicate;
var passed = true;
if (predicate) {
passed = tryCatch_1.tryCatch(predicate)(value, this.index++, this.source);
if (passed === errorObject_1.errorObject) {
this.destination.error(passed.e);
return;
}
}
if (passed) {
this.count += 1;
}
};
CountSubscriber.prototype._complete = function () {
this.destination.next(this.count);
this.destination.complete();
};
return CountSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=count.js.map
},{"../Subscriber":20,"../util/bindCallback":142,"../util/errorObject":143,"../util/tryCatch":152}],55:[function(require,module,exports){
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 PromiseObservable_1 = require('../observables/PromiseObservable');
var Subscriber_1 = require('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var isPromise_1 = require('../util/isPromise');
var errorObject_1 = require('../util/errorObject');
function debounce(durationSelector) {
return this.lift(new DebounceOperator(durationSelector));
}
exports.debounce = debounce;
var DebounceOperator = (function () {
function DebounceOperator(durationSelector) {
this.durationSelector = durationSelector;
}
DebounceOperator.prototype.call = function (observer) {
return new DebounceSubscriber(observer, this.durationSelector);
};
return DebounceOperator;
})();
var DebounceSubscriber = (function (_super) {
__extends(DebounceSubscriber, _super);
function DebounceSubscriber(destination, durationSelector) {
_super.call(this, destination);
this.durationSelector = durationSelector;
this.debouncedSubscription = null;
this.lastValue = null;
this._index = 0;
}
Object.defineProperty(DebounceSubscriber.prototype, "index", {
get: function () {
return this._index;
},
enumerable: true,
configurable: true
});
DebounceSubscriber.prototype._next = function (value) {
var destination = this.destination;
var currentIndex = ++this._index;
var debounce = tryCatch_1.tryCatch(this.durationSelector)(value);
if (debounce === errorObject_1.errorObject) {
destination.error(errorObject_1.errorObject.e);
}
else {
if (isPromise_1.isPromise(debounce)) {
debounce = PromiseObservable_1.PromiseObservable.create(debounce);
}
this.lastValue = value;
this.add(this.debouncedSubscription = debounce._subscribe(new DurationSelectorSubscriber(this, currentIndex)));
}
};
DebounceSubscriber.prototype._complete = function () {
this.debouncedNext();
this.destination.complete();
};
DebounceSubscriber.prototype.debouncedNext = function () {
this.clearDebounce();
if (this.lastValue != null) {
this.destination.next(this.lastValue);
this.lastValue = null;
}
};
DebounceSubscriber.prototype.clearDebounce = function () {
var debouncedSubscription = this.debouncedSubscription;
if (debouncedSubscription !== null) {
this.remove(debouncedSubscription);
this.debouncedSubscription = null;
}
};
return DebounceSubscriber;
})(Subscriber_1.Subscriber);
var DurationSelectorSubscriber = (function (_super) {
__extends(DurationSelectorSubscriber, _super);
function DurationSelectorSubscriber(parent, currentIndex) {
_super.call(this, null);
this.parent = parent;
this.currentIndex = currentIndex;
}
DurationSelectorSubscriber.prototype.debounceNext = function () {
var parent = this.parent;
if (this.currentIndex === parent.index) {
parent.debouncedNext();
if (!this.isUnsubscribed) {
this.unsubscribe();
}
}
};
DurationSelectorSubscriber.prototype._next = function (unused) {
this.debounceNext();
};
DurationSelectorSubscriber.prototype._error = function (err) {
this.parent.error(err);
};
DurationSelectorSubscriber.prototype._complete = function () {
this.debounceNext();
};
return DurationSelectorSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=debounce.js.map
},{"../Subscriber":20,"../observables/PromiseObservable":34,"../util/errorObject":143,"../util/isPromise":146,"../util/tryCatch":152}],56:[function(require,module,exports){
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('../Subscriber');
var nextTick_1 = require('../schedulers/nextTick');
function debounceTime(dueTime, scheduler) {
if (scheduler === void 0) { scheduler = nextTick_1.nextTick; }
return this.lift(new DebounceTimeOperator(dueTime, scheduler));
}
exports.debounceTime = debounceTime;
var DebounceTimeOperator = (function () {
function DebounceTimeOperator(dueTime, scheduler) {
this.dueTime = dueTime;
this.scheduler = scheduler;
}
DebounceTimeOperator.prototype.call = function (subscriber) {
return new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler);
};
return DebounceTimeOperator;
})();
var DebounceTimeSubscriber = (function (_super) {
__extends(DebounceTimeSubscriber, _super);
function DebounceTimeSubscriber(destination, dueTime, scheduler) {
_super.call(this, destination);
this.dueTime = dueTime;
this.scheduler = scheduler;
this.debouncedSubscription = null;
this.lastValue = null;
}
DebounceTimeSubscriber.prototype._next = function (value) {
this.clearDebounce();
this.lastValue = value;
this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));
};
DebounceTimeSubscriber.prototype._complete = function () {
this.debouncedNext();
this.destination.complete();
};
DebounceTimeSubscriber.prototype.debouncedNext = function () {
this.clearDebounce();
if (this.lastValue != null) {
this.destination.next(this.lastValue);
this.lastValue = null;
}
};
DebounceTimeSubscriber.prototype.clearDebounce = function () {
var debouncedSubscription = this.debouncedSubscription;
if (debouncedSubscription !== null) {
this.remove(debouncedSubscription);
debouncedSubscription.unsubscribe();
this.debouncedSubscription = null;
}
};
return DebounceTimeSubscriber;
})(Subscriber_1.Subscriber);
function dispatchNext(subscriber) {
subscriber.debouncedNext();
}
//# sourceMappingURL=debounceTime.js.map
},{"../Subscriber":20,"../schedulers/nextTick":130}],57:[function(require,module,exports){
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('../Subscriber');
function defaultIfEmpty(defaultValue) {
if (defaultValue === void 0) { defaultValue = null; }
return this.lift(new DefaultIfEmptyOperator(defaultValue));
}
exports.defaultIfEmpty = defaultIfEmpty;
var DefaultIfEmptyOperator = (function () {
function DefaultIfEmptyOperator(defaultValue) {
this.defaultValue = defaultValue;
}
DefaultIfEmptyOperator.prototype.call = function (subscriber) {
return new DefaultIfEmptySubscriber(subscriber, this.defaultValue);
};
return DefaultIfEmptyOperator;
})();
var DefaultIfEmptySubscriber = (function (_super) {
__extends(DefaultIfEmptySubscriber, _super);
function DefaultIfEmptySubscriber(destination, defaultValue) {
_super.call(this, destination);
this.defaultValue = defaultValue;
this.isEmpty = true;
}
DefaultIfEmptySubscriber.prototype._next = function (x) {
this.isEmpty = false;
this.destination.next(x);
};
DefaultIfEmptySubscriber.prototype._complete = function () {
if (this.isEmpty) {
this.destination.next(this.defaultValue);
}
this.destination.complete();
};
return DefaultIfEmptySubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=defaultIfEmpty.js.map
},{"../Subscriber":20}],58:[function(require,module,exports){
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('../Subscriber');
var Notification_1 = require('../Notification');
var immediate_1 = require('../schedulers/immediate');
var isDate_1 = require('../util/isDate');
function delay(delay, scheduler) {
if (scheduler === void 0) { scheduler = immediate_1.immediate; }
var absoluteDelay = isDate_1.isDate(delay);
var delayFor = absoluteDelay ? (+delay - scheduler.now()) : delay;
return this.lift(new DelayOperator(delayFor, scheduler));
}
exports.delay = delay;
var DelayOperator = (function () {
function DelayOperator(delay, scheduler) {
this.delay = delay;
this.scheduler = scheduler;
}
DelayOperator.prototype.call = function (subscriber) {
return new DelaySubscriber(subscriber, this.delay, this.scheduler);
};
return DelayOperator;
})();
var DelaySubscriber = (function (_super) {
__extends(DelaySubscriber, _super);
function DelaySubscriber(destination, delay, scheduler) {
_super.call(this, destination);
this.delay = delay;
this.scheduler = scheduler;
this.queue = [];
this.active = false;
this.errored = false;
}
DelaySubscriber.dispatch = function (state) {
var source = state.source;
var queue = source.queue;
var scheduler = state.scheduler;
var destination = state.destination;
while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {
queue.shift().notification.observe(destination);
}
if (queue.length > 0) {
var delay_1 = Math.max(0, queue[0].time - scheduler.now());
this.schedule(state, delay_1);
}
else {
source.active = false;
}
};
DelaySubscriber.prototype._schedule = function (scheduler) {
this.active = true;
this.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {
source: this, destination: this.destination, scheduler: scheduler
}));
};
DelaySubscriber.prototype.scheduleNotification = function (notification) {
if (this.errored === true) {
return;
}
var scheduler = this.scheduler;
var message = new DelayMessage(scheduler.now() + this.delay, notification);
this.queue.push(message);
if (this.active === false) {
this._schedule(scheduler);
}
};
DelaySubscriber.prototype._next = function (value) {
this.scheduleNotification(Notification_1.Notification.createNext(value));
};
DelaySubscriber.prototype._error = function (err) {
this.errored = true;
this.queue = [];
this.destination.error(err);
};
DelaySubscriber.prototype._complete = function () {
this.scheduleNotification(Notification_1.Notification.createComplete());
};
return DelaySubscriber;
})(Subscriber_1.Subscriber);
var DelayMessage = (function () {
function DelayMessage(time, notification) {
this.time = time;
this.notification = notification;
}
return DelayMessage;
})();
//# sourceMappingURL=delay.js.map
},{"../Notification":15,"../Subscriber":20,"../schedulers/immediate":129,"../util/isDate":144}],59:[function(require,module,exports){
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('../Subscriber');
function dematerialize() {
return this.lift(new DeMaterializeOperator());
}
exports.dematerialize = dematerialize;
var DeMaterializeOperator = (function () {
function DeMaterializeOperator() {
}
DeMaterializeOperator.prototype.call = function (subscriber) {
return new DeMaterializeSubscriber(subscriber);
};
return DeMaterializeOperator;
})();
var DeMaterializeSubscriber = (function (_super) {
__extends(DeMaterializeSubscriber, _super);
function DeMaterializeSubscriber(destination) {
_super.call(this, destination);
}
DeMaterializeSubscriber.prototype._next = function (value) {
value.observe(this.destination);
};
return DeMaterializeSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=dematerialize.js.map
},{"../Subscriber":20}],60:[function(require,module,exports){
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('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var bindCallback_1 = require('../util/bindCallback');
function distinctUntilChanged(compare, thisArg) {
return this.lift(new DistinctUntilChangedOperator(thisArg ?
bindCallback_1.bindCallback(compare, thisArg, 2) :
compare));
}
exports.distinctUntilChanged = distinctUntilChanged;
var DistinctUntilChangedOperator = (function () {
function DistinctUntilChangedOperator(compare) {
this.compare = compare;
}
DistinctUntilChangedOperator.prototype.call = function (subscriber) {
return new DistinctUntilChangedSubscriber(subscriber, this.compare);
};
return DistinctUntilChangedOperator;
})();
var DistinctUntilChangedSubscriber = (function (_super) {
__extends(DistinctUntilChangedSubscriber, _super);
function DistinctUntilChangedSubscriber(destination, compare) {
_super.call(this, destination);
this.hasValue = false;
if (typeof compare === 'function') {
this.compare = compare;
}
}
DistinctUntilChangedSubscriber.prototype.compare = function (x, y) {
return x === y;
};
DistinctUntilChangedSubscriber.prototype._next = function (x) {
var result = false;
if (this.hasValue) {
result = tryCatch_1.tryCatch(this.compare)(this.value, x);
if (result === errorObject_1.errorObject) {
this.destination.error(errorObject_1.errorObject.e);
return;
}
}
else {
this.hasValue = true;
}
if (Boolean(result) === false) {
this.value = x;
this.destination.next(x);
}
};
return DistinctUntilChangedSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=distinctUntilChanged.js.map
},{"../Subscriber":20,"../util/bindCallback":142,"../util/errorObject":143,"../util/tryCatch":152}],61:[function(require,module,exports){
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('../Subscriber');
var noop_1 = require('../util/noop');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
function _do(nextOrObserver, error, complete) {
var next;
if (nextOrObserver && typeof nextOrObserver === 'object') {
next = nextOrObserver.next;
error = nextOrObserver.error;
complete = nextOrObserver.complete;
}
else {
next = nextOrObserver;
}
return this.lift(new DoOperator(next || noop_1.noop, error || noop_1.noop, complete || noop_1.noop));
}
exports._do = _do;
var DoOperator = (function () {
function DoOperator(next, error, complete) {
this.next = next;
this.error = error;
this.complete = complete;
}
DoOperator.prototype.call = function (subscriber) {
return new DoSubscriber(subscriber, this.next, this.error, this.complete);
};
return DoOperator;
})();
var DoSubscriber = (function (_super) {
__extends(DoSubscriber, _super);
function DoSubscriber(destination, next, error, complete) {
_super.call(this, destination);
this.__next = next;
this.__error = error;
this.__complete = complete;
}
DoSubscriber.prototype._next = function (x) {
var result = tryCatch_1.tryCatch(this.__next)(x);
if (result === errorObject_1.errorObject) {
this.destination.error(errorObject_1.errorObject.e);
}
else {
this.destination.next(x);
}
};
DoSubscriber.prototype._error = function (e) {
var result = tryCatch_1.tryCatch(this.__error)(e);
if (result === errorObject_1.errorObject) {
this.destination.error(errorObject_1.errorObject.e);
}
else {
this.destination.error(e);
}
};
DoSubscriber.prototype._complete = function () {
var result = tryCatch_1.tryCatch(this.__complete)();
if (result === errorObject_1.errorObject) {
this.destination.error(errorObject_1.errorObject.e);
}
else {
this.destination.complete();
}
};
return DoSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=do.js.map
},{"../Subscriber":20,"../util/errorObject":143,"../util/noop":147,"../util/tryCatch":152}],62:[function(require,module,exports){
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 ScalarObservable_1 = require('../observables/ScalarObservable');
var ArrayObservable_1 = require('../observables/ArrayObservable');
var ErrorObservable_1 = require('../observables/ErrorObservable');
var Subscriber_1 = require('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var bindCallback_1 = require('../util/bindCallback');
function every(predicate, thisArg) {
var source = this;
var result;
if (source._isScalar) {
result = tryCatch_1.tryCatch(predicate)(source.value, 0, source);
if (result === errorObject_1.errorObject) {
return new ErrorObservable_1.ErrorObservable(errorObject_1.errorObject.e, source.scheduler);
}
else {
return new ScalarObservable_1.ScalarObservable(result, source.scheduler);
}
}
if (source instanceof ArrayObservable_1.ArrayObservable) {
var array = source.array;
var result_1 = tryCatch_1.tryCatch(function (array, predicate) { return array.every(predicate); })(array, predicate);
if (result_1 === errorObject_1.errorObject) {
return new ErrorObservable_1.ErrorObservable(errorObject_1.errorObject.e, source.scheduler);
}
else {
return new ScalarObservable_1.ScalarObservable(result_1, source.scheduler);
}
}
return source.lift(new EveryOperator(predicate, thisArg, source));
}
exports.every = every;
var EveryOperator = (function () {
function EveryOperator(predicate, thisArg, source) {
this.predicate = predicate;
this.thisArg = thisArg;
this.source = source;
}
EveryOperator.prototype.call = function (observer) {
return new EverySubscriber(observer, this.predicate, this.thisArg, this.source);
};
return EveryOperator;
})();
var EverySubscriber = (function (_super) {
__extends(EverySubscriber, _super);
function EverySubscriber(destination, predicate, thisArg, source) {
_super.call(this, destination);
this.thisArg = thisArg;
this.source = source;
this.predicate = undefined;
this.index = 0;
if (typeof predicate === 'function') {
this.predicate = bindCallback_1.bindCallback(predicate, thisArg, 3);
}
}
EverySubscriber.prototype.notifyComplete = function (everyValueMatch) {
this.destination.next(everyValueMatch);
this.destination.complete();
};
EverySubscriber.prototype._next = function (value) {
var predicate = this.predicate;
if (predicate === undefined) {
this.destination.error(new TypeError('predicate must be a function'));
}
var result = tryCatch_1.tryCatch(predicate)(value, this.index++, this.source);
if (result === errorObject_1.errorObject) {
this.destination.error(result.e);
}
else if (!result) {
this.notifyComplete(false);
}
};
EverySubscriber.prototype._complete = function () {
this.notifyComplete(true);
};
return EverySubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=every.js.map
},{"../Subscriber":20,"../observables/ArrayObservable":22,"../observables/ErrorObservable":26,"../observables/ScalarObservable":36,"../util/bindCallback":142,"../util/errorObject":143,"../util/tryCatch":152}],63:[function(require,module,exports){
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 tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var OuterSubscriber_1 = require('../OuterSubscriber');
var subscribeToResult_1 = require('../util/subscribeToResult');
var ExpandOperator = (function () {
function ExpandOperator(project, concurrent) {
if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
this.project = project;
this.concurrent = concurrent;
}
ExpandOperator.prototype.call = function (subscriber) {
return new ExpandSubscriber(subscriber, this.project, this.concurrent);
};
return ExpandOperator;
})();
exports.ExpandOperator = ExpandOperator;
var ExpandSubscriber = (function (_super) {
__extends(ExpandSubscriber, _super);
function ExpandSubscriber(destination, project, concurrent) {
if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
_super.call(this, destination);
this.project = project;
this.concurrent = concurrent;
this.index = 0;
this.active = 0;
this.hasCompleted = false;
if (concurrent < Number.POSITIVE_INFINITY) {
this.buffer = [];
}
}
ExpandSubscriber.prototype._next = function (value) {
var index = this.index++;
this.destination.next(value);
if (this.active < this.concurrent) {
var result = tryCatch_1.tryCatch(this.project)(value, index);
if (result === errorObject_1.errorObject) {
this.destination.error(result.e);
}
else {
if (result._isScalar) {
this._next(result.value);
}
else {
this.active++;
this.add(subscribeToResult_1.subscribeToResult(this, result, value, index));
}
}
}
else {
this.buffer.push(value);
}
};
ExpandSubscriber.prototype._complete = function () {
this.hasCompleted = true;
if (this.hasCompleted && this.active === 0) {
this.destination.complete();
}
};
ExpandSubscriber.prototype.notifyComplete = function (innerSub) {
var buffer = this.buffer;
this.remove(innerSub);
this.active--;
if (buffer && buffer.length > 0) {
this._next(buffer.shift());
}
if (this.hasCompleted && this.active === 0) {
this.destination.complete();
}
};
ExpandSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {
this._next(innerValue);
};
return ExpandSubscriber;
})(OuterSubscriber_1.OuterSubscriber);
exports.ExpandSubscriber = ExpandSubscriber;
//# sourceMappingURL=expand-support.js.map
},{"../OuterSubscriber":17,"../util/errorObject":143,"../util/subscribeToResult":150,"../util/tryCatch":152}],64:[function(require,module,exports){
var expand_support_1 = require('./expand-support');
function expand(project, concurrent) {
if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
return this.lift(new expand_support_1.ExpandOperator(project, concurrent));
}
exports.expand = expand;
//# sourceMappingURL=expand.js.map
},{"./expand-support":63}],65:[function(require,module,exports){
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('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var bindCallback_1 = require('../util/bindCallback');
/**
* Similar to the well-known `Array.prototype.filter` method, this operator filters values down to a set
* allowed by a `select` function
*
* @param {Function} select a function that is used to select the resulting values
* if it returns `true`, the value is emitted, if `false` the value is not passed to the resulting observable
* @param {any} [thisArg] an optional argument to determine the value of `this` in the `select` function
* @returns {Observable} an observable of values allowed by the select function
*/
function filter(select, thisArg) {
return this.lift(new FilterOperator(select, thisArg));
}
exports.filter = filter;
var FilterOperator = (function () {
function FilterOperator(select, thisArg) {
this.select = bindCallback_1.bindCallback(select, thisArg, 2);
}
FilterOperator.prototype.call = function (subscriber) {
return new FilterSubscriber(subscriber, this.select);
};
return FilterOperator;
})();
var FilterSubscriber = (function (_super) {
__extends(FilterSubscriber, _super);
function FilterSubscriber(destination, select) {
_super.call(this, destination);
this.count = 0;
this.select = select;
}
FilterSubscriber.prototype._next = function (x) {
var result = tryCatch_1.tryCatch(this.select)(x, this.count++);
if (result === errorObject_1.errorObject) {
this.destination.error(errorObject_1.errorObject.e);
}
else if (Boolean(result)) {
this.destination.next(x);
}
};
return FilterSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=filter.js.map
},{"../Subscriber":20,"../util/bindCallback":142,"../util/errorObject":143,"../util/tryCatch":152}],66:[function(require,module,exports){
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('../Subscriber');
var Subscription_1 = require('../Subscription');
var bindCallback_1 = require('../util/bindCallback');
function _finally(finallySelector, thisArg) {
return this.lift(new FinallyOperator(thisArg ?
bindCallback_1.bindCallback(finallySelector, thisArg, 2) :
finallySelector));
}
exports._finally = _finally;
var FinallyOperator = (function () {
function FinallyOperator(finallySelector) {
this.finallySelector = finallySelector;
}
FinallyOperator.prototype.call = function (subscriber) {
return new FinallySubscriber(subscriber, this.finallySelector);
};
return FinallyOperator;
})();
var FinallySubscriber = (function (_super) {
__extends(FinallySubscriber, _super);
function FinallySubscriber(destination, finallySelector) {
_super.call(this, destination);
this.add(new Subscription_1.Subscription(finallySelector));
}
return FinallySubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=finally.js.map
},{"../Subscriber":20,"../Subscription":21,"../util/bindCallback":142}],67:[function(require,module,exports){
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('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var EmptyError_1 = require('../util/EmptyError');
function first(predicate, resultSelector, defaultValue) {
return this.lift(new FirstOperator(predicate, resultSelector, defaultValue, this));
}
exports.first = first;
var FirstOperator = (function () {
function FirstOperator(predicate, resultSelector, defaultValue, source) {
this.predicate = predicate;
this.resultSelector = resultSelector;
this.defaultValue = defaultValue;
this.source = source;
}
FirstOperator.prototype.call = function (observer) {
return new FirstSubscriber(observer, this.predicate, this.resultSelector, this.defaultValue, this.source);
};
return FirstOperator;
})();
var FirstSubscriber = (function (_super) {
__extends(FirstSubscriber, _super);
function FirstSubscriber(destination, predicate, resultSelector, defaultValue, source) {
_super.call(this, destination);
this.predicate = predicate;
this.resultSelector = resultSelector;
this.defaultValue = defaultValue;
this.source = source;
this.index = 0;
this.hasCompleted = false;
}
FirstSubscriber.prototype._next = function (value) {
var _a = this, destination = _a.destination, predicate = _a.predicate, resultSelector = _a.resultSelector;
var index = this.index++;
var passed = true;
if (predicate) {
passed = tryCatch_1.tryCatch(predicate)(value, index, this.source);
if (passed === errorObject_1.errorObject) {
destination.error(errorObject_1.errorObject.e);
return;
}
}
if (passed) {
if (resultSelector) {
var result = tryCatch_1.tryCatch(resultSelector)(value, index);
if (result === errorObject_1.errorObject) {
destination.error(errorObject_1.errorObject.e);
return;
}
destination.next(result);
}
else {
destination.next(value);
}
destination.complete();
this.hasCompleted = true;
}
};
FirstSubscriber.prototype._complete = function () {
var destination = this.destination;
if (!this.hasCompleted && typeof this.defaultValue !== 'undefined') {
destination.next(this.defaultValue);
destination.complete();
}
else if (!this.hasCompleted) {
destination.error(new EmptyError_1.EmptyError);
}
};
return FirstSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=first.js.map
},{"../Subscriber":20,"../util/EmptyError":135,"../util/errorObject":143,"../util/tryCatch":152}],68:[function(require,module,exports){
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('../Subscription');
var Observable_1 = require('../Observable');
var RefCountSubscription = (function (_super) {
__extends(RefCountSubscription, _super);
function RefCountSubscription() {
_super.call(this);
this.attemptedToUnsubscribePrimary = false;
this.count = 0;
}
RefCountSubscription.prototype.setPrimary = function (subscription) {
this.primary = subscription;
};
RefCountSubscription.prototype.unsubscribe = function () {
if (!this.isUnsubscribed && !this.attemptedToUnsubscribePrimary) {
this.attemptedToUnsubscribePrimary = true;
if (this.count === 0) {
_super.prototype.unsubscribe.call(this);
this.primary.unsubscribe();
}
}
};
return RefCountSubscription;
})(Subscription_1.Subscription);
exports.RefCountSubscription = RefCountSubscription;
var GroupedObservable = (function (_super) {
__extends(GroupedObservable, _super);
function GroupedObservable(key, groupSubject, refCountSubscription) {
_super.call(this);
this.key = key;
this.groupSubject = groupSubject;
this.refCountSubscription = refCountSubscription;
}
GroupedObservable.prototype._subscribe = function (subscriber) {
var subscription = new Subscription_1.Subscription();
if (this.refCountSubscription && !this.refCountSubscription.isUnsubscribed) {
subscription.add(new InnerRefCountSubscription(this.refCountSubscription));
}
subscription.add(this.groupSubject.subscribe(subscriber));
return subscription;
};
return GroupedObservable;
})(Observable_1.Observable);
exports.GroupedObservable = GroupedObservable;
var InnerRefCountSubscription = (function (_super) {
__extends(InnerRefCountSubscription, _super);
function InnerRefCountSubscription(parent) {
_super.call(this);
this.parent = parent;
parent.count++;
}
InnerRefCountSubscription.prototype.unsubscribe = function () {
if (!this.parent.isUnsubscribed && !this.isUnsubscribed) {
_super.prototype.unsubscribe.call(this);
this.parent.count--;
if (this.parent.count === 0 && this.parent.attemptedToUnsubscribePrimary) {
this.parent.unsubscribe();
this.parent.primary.unsubscribe();
}
}
};
return InnerRefCountSubscription;
})(Subscription_1.Subscription);
exports.InnerRefCountSubscription = InnerRefCountSubscription;
//# sourceMappingURL=groupBy-support.js.map
},{"../Observable":16,"../Subscription":21}],69:[function(require,module,exports){
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('../Subscriber');
var Observable_1 = require('../Observable');
var Subject_1 = require('../Subject');
var Map_1 = require('../util/Map');
var FastMap_1 = require('../util/FastMap');
var groupBy_support_1 = require('./groupBy-support');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
function groupBy(keySelector, elementSelector, durationSelector) {
return new GroupByObservable(this, keySelector, elementSelector, durationSelector);
}
exports.groupBy = groupBy;
var GroupByObservable = (function (_super) {
__extends(GroupByObservable, _super);
function GroupByObservable(source, keySelector, elementSelector, durationSelector) {
_super.call(this);
this.source = source;
this.keySelector = keySelector;
this.elementSelector = elementSelector;
this.durationSelector = durationSelector;
}
GroupByObservable.prototype._subscribe = function (subscriber) {
var refCountSubscription = new groupBy_support_1.RefCountSubscription();
var groupBySubscriber = new GroupBySubscriber(subscriber, refCountSubscription, this.keySelector, this.elementSelector, this.durationSelector);
refCountSubscription.setPrimary(this.source.subscribe(groupBySubscriber));
return refCountSubscription;
};
return GroupByObservable;
})(Observable_1.Observable);
exports.GroupByObservable = GroupByObservable;
var GroupBySubscriber = (function (_super) {
__extends(GroupBySubscriber, _super);
function GroupBySubscriber(destination, refCountSubscription, keySelector, elementSelector, durationSelector) {
_super.call(this);
this.refCountSubscription = refCountSubscription;
this.keySelector = keySelector;
this.elementSelector = elementSelector;
this.durationSelector = durationSelector;
this.groups = null;
this.destination = destination;
this.add(destination);
}
GroupBySubscriber.prototype._next = function (x) {
var key = tryCatch_1.tryCatch(this.keySelector)(x);
if (key === errorObject_1.errorObject) {
this.error(key.e);
}
else {
var groups = this.groups;
var elementSelector = this.elementSelector;
var durationSelector = this.durationSelector;
if (!groups) {
groups = this.groups = typeof key === 'string' ? new FastMap_1.FastMap() : new Map_1.Map();
}
var group = groups.get(key);
if (!group) {
groups.set(key, group = new Subject_1.Subject());
var groupedObservable = new groupBy_support_1.GroupedObservable(key, group, this.refCountSubscription);
if (durationSelector) {
var duration = tryCatch_1.tryCatch(durationSelector)(new groupBy_support_1.GroupedObservable(key, group));
if (duration === errorObject_1.errorObject) {
this.error(duration.e);
}
else {
this.add(duration._subscribe(new GroupDurationSubscriber(key, group, this)));
}
}
this.destination.next(groupedObservable);
}
if (elementSelector) {
var value = tryCatch_1.tryCatch(elementSelector)(x);
if (value === errorObject_1.errorObject) {
this.error(value.e);
}
else {
group.next(value);
}
}
else {
group.next(x);
}
}
};
GroupBySubscriber.prototype._error = function (err) {
var _this = this;
var groups = this.groups;
if (groups) {
groups.forEach(function (group, key) {
group.error(err);
_this.removeGroup(key);
});
}
this.destination.error(err);
};
GroupBySubscriber.prototype._complete = function () {
var _this = this;
var groups = this.groups;
if (groups) {
groups.forEach(function (group, key) {
group.complete();
_this.removeGroup(group);
});
}
this.destination.complete();
};
GroupBySubscriber.prototype.removeGroup = function (key) {
this.groups.delete(key);
};
return GroupBySubscriber;
})(Subscriber_1.Subscriber);
var GroupDurationSubscriber = (function (_super) {
__extends(GroupDurationSubscriber, _super);
function GroupDurationSubscriber(key, group, parent) {
_super.call(this, null);
this.key = key;
this.group = group;
this.parent = parent;
}
GroupDurationSubscriber.prototype._next = function (value) {
this.group.complete();
this.parent.removeGroup(this.key);
};
GroupDurationSubscriber.prototype._error = function (err) {
this.group.error(err);
this.parent.removeGroup(this.key);
};
GroupDurationSubscriber.prototype._complete = function () {
this.group.complete();
this.parent.removeGroup(this.key);
};
return GroupDurationSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=groupBy.js.map
},{"../Observable":16,"../Subject":19,"../Subscriber":20,"../util/FastMap":136,"../util/Map":138,"../util/errorObject":143,"../util/tryCatch":152,"./groupBy-support":68}],70:[function(require,module,exports){
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('../Subscriber');
var noop_1 = require('../util/noop');
function ignoreElements() {
return this.lift(new IgnoreElementsOperator());
}
exports.ignoreElements = ignoreElements;
;
var IgnoreElementsOperator = (function () {
function IgnoreElementsOperator() {
}
IgnoreElementsOperator.prototype.call = function (subscriber) {
return new IgnoreElementsSubscriber(subscriber);
};
return IgnoreElementsOperator;
})();
var IgnoreElementsSubscriber = (function (_super) {
__extends(IgnoreElementsSubscriber, _super);
function IgnoreElementsSubscriber() {
_super.apply(this, arguments);
}
IgnoreElementsSubscriber.prototype._next = function (unused) {
noop_1.noop();
};
return IgnoreElementsSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=ignoreElements.js.map
},{"../Subscriber":20,"../util/noop":147}],71:[function(require,module,exports){
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('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var EmptyError_1 = require('../util/EmptyError');
function last(predicate, resultSelector, defaultValue) {
return this.lift(new LastOperator(predicate, resultSelector, defaultValue, this));
}
exports.last = last;
var LastOperator = (function () {
function LastOperator(predicate, resultSelector, defaultValue, source) {
this.predicate = predicate;
this.resultSelector = resultSelector;
this.defaultValue = defaultValue;
this.source = source;
}
LastOperator.prototype.call = function (observer) {
return new LastSubscriber(observer, this.predicate, this.resultSelector, this.defaultValue, this.source);
};
return LastOperator;
})();
var LastSubscriber = (function (_super) {
__extends(LastSubscriber, _super);
function LastSubscriber(destination, predicate, resultSelector, defaultValue, source) {
_super.call(this, destination);
this.predicate = predicate;
this.resultSelector = resultSelector;
this.defaultValue = defaultValue;
this.source = source;
this.hasValue = false;
this.index = 0;
if (typeof defaultValue !== 'undefined') {
this.lastValue = defaultValue;
this.hasValue = true;
}
}
LastSubscriber.prototype._next = function (value) {
var _a = this, predicate = _a.predicate, resultSelector = _a.resultSelector, destination = _a.destination;
var index = this.index++;
if (predicate) {
var found = tryCatch_1.tryCatch(predicate)(value, index, this.source);
if (found === errorObject_1.errorObject) {
destination.error(errorObject_1.errorObject.e);
return;
}
if (found) {
if (resultSelector) {
var result = tryCatch_1.tryCatch(resultSelector)(value, index);
if (result === errorObject_1.errorObject) {
destination.error(errorObject_1.errorObject.e);
return;
}
this.lastValue = result;
}
else {
this.lastValue = value;
}
this.hasValue = true;
}
}
else {
this.lastValue = value;
this.hasValue = true;
}
};
LastSubscriber.prototype._complete = function () {
var destination = this.destination;
if (this.hasValue) {
destination.next(this.lastValue);
destination.complete();
}
else {
destination.error(new EmptyError_1.EmptyError);
}
};
return LastSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=last.js.map
},{"../Subscriber":20,"../util/EmptyError":135,"../util/errorObject":143,"../util/tryCatch":152}],72:[function(require,module,exports){
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('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var bindCallback_1 = require('../util/bindCallback');
/**
* Similar to the well known `Array.prototype.map` function, this operator
* applies a projection to each value and emits that projection in the returned observable
*
* @param {Function} project the function to create projection
* @param {any} [thisArg] an optional argument to define what `this` is in the project function
* @returns {Observable} a observable of projected values
*/
function map(project, thisArg) {
return this.lift(new MapOperator(project, thisArg));
}
exports.map = map;
var MapOperator = (function () {
function MapOperator(project, thisArg) {
this.project = bindCallback_1.bindCallback(project, thisArg, 2);
}
MapOperator.prototype.call = function (subscriber) {
return new MapSubscriber(subscriber, this.project);
};
return MapOperator;
})();
var MapSubscriber = (function (_super) {
__extends(MapSubscriber, _super);
function MapSubscriber(destination, project) {
_super.call(this, destination);
this.count = 0;
this.project = project;
}
MapSubscriber.prototype._next = function (x) {
var result = tryCatch_1.tryCatch(this.project)(x, this.count++);
if (result === errorObject_1.errorObject) {
this.error(errorObject_1.errorObject.e);
}
else {
this.destination.next(result);
}
};
return MapSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=map.js.map
},{"../Subscriber":20,"../util/bindCallback":142,"../util/errorObject":143,"../util/tryCatch":152}],73:[function(require,module,exports){
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('../Subscriber');
/**
* Maps every value to the same value every time.
* @param {any} value the value to map each incoming value to
* @returns {Observable} an observable of the passed value that emits everytime the source does
*/
function mapTo(value) {
return this.lift(new MapToOperator(value));
}
exports.mapTo = mapTo;
var MapToOperator = (function () {
function MapToOperator(value) {
this.value = value;
}
MapToOperator.prototype.call = function (subscriber) {
return new MapToSubscriber(subscriber, this.value);
};
return MapToOperator;
})();
var MapToSubscriber = (function (_super) {
__extends(MapToSubscriber, _super);
function MapToSubscriber(destination, value) {
_super.call(this, destination);
this.value = value;
}
MapToSubscriber.prototype._next = function (x) {
this.destination.next(this.value);
};
return MapToSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=mapTo.js.map
},{"../Subscriber":20}],74:[function(require,module,exports){
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('../Subscriber');
var Notification_1 = require('../Notification');
function materialize() {
return this.lift(new MaterializeOperator());
}
exports.materialize = materialize;
var MaterializeOperator = (function () {
function MaterializeOperator() {
}
MaterializeOperator.prototype.call = function (subscriber) {
return new MaterializeSubscriber(subscriber);
};
return MaterializeOperator;
})();
var MaterializeSubscriber = (function (_super) {
__extends(MaterializeSubscriber, _super);
function MaterializeSubscriber(destination) {
_super.call(this, destination);
}
MaterializeSubscriber.prototype._next = function (value) {
this.destination.next(Notification_1.Notification.createNext(value));
};
MaterializeSubscriber.prototype._error = function (err) {
var destination = this.destination;
destination.next(Notification_1.Notification.createError(err));
destination.complete();
};
MaterializeSubscriber.prototype._complete = function () {
var destination = this.destination;
destination.next(Notification_1.Notification.createComplete());
destination.complete();
};
return MaterializeSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=materialize.js.map
},{"../Notification":15,"../Subscriber":20}],75:[function(require,module,exports){
var ArrayObservable_1 = require('../observables/ArrayObservable');
var mergeAll_support_1 = require('./mergeAll-support');
var immediate_1 = require('../schedulers/immediate');
function merge() {
var observables = [];
for (var _i = 0; _i < arguments.length; _i++) {
observables[_i - 0] = arguments[_i];
}
var concurrent = Number.POSITIVE_INFINITY;
var scheduler = immediate_1.immediate;
var last = observables[observables.length - 1];
if (typeof last.schedule === 'function') {
scheduler = observables.pop();
if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {
concurrent = observables.pop();
}
}
else if (typeof last === 'number') {
concurrent = observables.pop();
}
if (observables.length === 1) {
return observables[0];
}
return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new mergeAll_support_1.MergeAllOperator(concurrent));
}
exports.merge = merge;
//# sourceMappingURL=merge-static.js.map
},{"../observables/ArrayObservable":22,"../schedulers/immediate":129,"./mergeAll-support":77}],76:[function(require,module,exports){
var merge_static_1 = require('./merge-static');
function merge() {
var observables = [];
for (var _i = 0; _i < arguments.length; _i++) {
observables[_i - 0] = arguments[_i];
}
observables.unshift(this);
return merge_static_1.merge.apply(this, observables);
}
exports.merge = merge;
//# sourceMappingURL=merge.js.map
},{"./merge-static":75}],77:[function(require,module,exports){
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('../OuterSubscriber');
var subscribeToResult_1 = require('../util/subscribeToResult');
var MergeAllOperator = (function () {
function MergeAllOperator(concurrent) {
this.concurrent = concurrent;
}
MergeAllOperator.prototype.call = function (observer) {
return 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) {
if (observable._isScalar) {
this.destination.next(observable.value);
}
else {
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;
//# sourceMappingURL=mergeAll-support.js.map
},{"../OuterSubscriber":17,"../util/subscribeToResult":150}],78:[function(require,module,exports){
var mergeAll_support_1 = require('./mergeAll-support');
function mergeAll(concurrent) {
if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
return this.lift(new mergeAll_support_1.MergeAllOperator(concurrent));
}
exports.mergeAll = mergeAll;
//# sourceMappingURL=mergeAll.js.map
},{"./mergeAll-support":77}],79:[function(require,module,exports){
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 tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var subscribeToResult_1 = require('../util/subscribeToResult');
var OuterSubscriber_1 = require('../OuterSubscriber');
var MergeMapOperator = (function () {
function MergeMapOperator(project, resultSelector, concurrent) {
if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
this.project = project;
this.resultSelector = resultSelector;
this.concurrent = concurrent;
}
MergeMapOperator.prototype.call = function (observer) {
return new MergeMapSubscriber(observer, this.project, this.resultSelector, this.concurrent);
};
return MergeMapOperator;
})();
exports.MergeMapOperator = MergeMapOperator;
var MergeMapSubscriber = (function (_super) {
__extends(MergeMapSubscriber, _super);
function MergeMapSubscriber(destination, project, resultSelector, concurrent) {
if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
_super.call(this, destination);
this.project = project;
this.resultSelector = resultSelector;
this.concurrent = concurrent;
this.hasCompleted = false;
this.buffer = [];
this.active = 0;
this.index = 0;
}
MergeMapSubscriber.prototype._next = function (value) {
if (this.active < this.concurrent) {
var index = this.index++;
var ish = tryCatch_1.tryCatch(this.project)(value, index);
var destination = this.destination;
if (ish === errorObject_1.errorObject) {
destination.error(ish.e);
}
else {
this.active++;
this._innerSub(ish, value, index);
}
}
else {
this.buffer.push(value);
}
};
MergeMapSubscriber.prototype._innerSub = function (ish, value, index) {
this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));
};
MergeMapSubscriber.prototype._complete = function () {
this.hasCompleted = true;
if (this.active === 0 && this.buffer.length === 0) {
this.destination.complete();
}
};
MergeMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {
var _a = this, destination = _a.destination, resultSelector = _a.resultSelector;
if (resultSelector) {
var result = tryCatch_1.tryCatch(resultSelector)(outerValue, innerValue, outerIndex, innerIndex);
if (result === errorObject_1.errorObject) {
destination.error(errorObject_1.errorObject.e);
}
else {
destination.next(result);
}
}
else {
destination.next(innerValue);
}
};
MergeMapSubscriber.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 MergeMapSubscriber;
})(OuterSubscriber_1.OuterSubscriber);
exports.MergeMapSubscriber = MergeMapSubscriber;
//# sourceMappingURL=mergeMap-support.js.map
},{"../OuterSubscriber":17,"../util/errorObject":143,"../util/subscribeToResult":150,"../util/tryCatch":152}],80:[function(require,module,exports){
var mergeMap_support_1 = require('./mergeMap-support');
function mergeMap(project, resultSelector, concurrent) {
if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
return this.lift(new mergeMap_support_1.MergeMapOperator(project, resultSelector, concurrent));
}
exports.mergeMap = mergeMap;
//# sourceMappingURL=mergeMap.js.map
},{"./mergeMap-support":79}],81:[function(require,module,exports){
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 tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var OuterSubscriber_1 = require('../OuterSubscriber');
var subscribeToResult_1 = require('../util/subscribeToResult');
var MergeMapToOperator = (function () {
function MergeMapToOperator(ish, resultSelector, concurrent) {
if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
this.ish = ish;
this.resultSelector = resultSelector;
this.concurrent = concurrent;
}
MergeMapToOperator.prototype.call = function (observer) {
return new MergeMapToSubscriber(observer, this.ish, this.resultSelector, this.concurrent);
};
return MergeMapToOperator;
})();
exports.MergeMapToOperator = MergeMapToOperator;
var MergeMapToSubscriber = (function (_super) {
__extends(MergeMapToSubscriber, _super);
function MergeMapToSubscriber(destination, ish, resultSelector, concurrent) {
if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
_super.call(this, destination);
this.ish = ish;
this.resultSelector = resultSelector;
this.concurrent = concurrent;
this.hasCompleted = false;
this.buffer = [];
this.active = 0;
this.index = 0;
}
MergeMapToSubscriber.prototype._next = function (value) {
if (this.active < this.concurrent) {
var resultSelector = this.resultSelector;
var index = this.index++;
var ish = this.ish;
var destination = this.destination;
if (ish === errorObject_1.errorObject) {
destination.error(ish.e);
}
else {
this.active++;
this._innerSub(ish, destination, resultSelector, value, index);
}
}
else {
this.buffer.push(value);
}
};
MergeMapToSubscriber.prototype._innerSub = function (ish, destination, resultSelector, value, index) {
this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));
};
MergeMapToSubscriber.prototype._complete = function () {
this.hasCompleted = true;
if (this.active === 0 && this.buffer.length === 0) {
this.destination.complete();
}
};
MergeMapToSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {
var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;
if (resultSelector) {
var result = tryCatch_1.tryCatch(resultSelector)(outerValue, innerValue, outerIndex, innerIndex);
if (result === errorObject_1.errorObject) {
destination.error(errorObject_1.errorObject.e);
}
else {
destination.next(result);
}
}
else {
destination.next(innerValue);
}
};
MergeMapToSubscriber.prototype.notifyError = function (err) {
this.destination.error(err);
};
MergeMapToSubscriber.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 MergeMapToSubscriber;
})(OuterSubscriber_1.OuterSubscriber);
exports.MergeMapToSubscriber = MergeMapToSubscriber;
//# sourceMappingURL=mergeMapTo-support.js.map
},{"../OuterSubscriber":17,"../util/errorObject":143,"../util/subscribeToResult":150,"../util/tryCatch":152}],82:[function(require,module,exports){
var mergeMapTo_support_1 = require('./mergeMapTo-support');
function mergeMapTo(observable, resultSelector, concurrent) {
if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
return this.lift(new mergeMapTo_support_1.MergeMapToOperator(observable, resultSelector, concurrent));
}
exports.mergeMapTo = mergeMapTo;
//# sourceMappingURL=mergeMapTo.js.map
},{"./mergeMapTo-support":81}],83:[function(require,module,exports){
var ConnectableObservable_1 = require('../observables/ConnectableObservable');
function multicast(subjectOrSubjectFactory) {
var subjectFactory;
if (typeof subjectOrSubjectFactory === 'function') {
subjectFactory = subjectOrSubjectFactory;
}
else {
subjectFactory = function subjectFactory() {
return subjectOrSubjectFactory;
};
}
return new ConnectableObservable_1.ConnectableObservable(this, subjectFactory);
}
exports.multicast = multicast;
//# sourceMappingURL=multicast.js.map
},{"../observables/ConnectableObservable":23}],84:[function(require,module,exports){
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('../Subscriber');
var Notification_1 = require('../Notification');
var ObserveOnOperator = (function () {
function ObserveOnOperator(scheduler, delay) {
if (delay === void 0) { delay = 0; }
this.scheduler = scheduler;
this.delay = delay;
}
ObserveOnOperator.prototype.call = function (subscriber) {
return new ObserveOnSubscriber(subscriber, this.scheduler, this.delay);
};
return ObserveOnOperator;
})();
exports.ObserveOnOperator = ObserveOnOperator;
var ObserveOnSubscriber = (function (_super) {
__extends(ObserveOnSubscriber, _super);
function ObserveOnSubscriber(destination, scheduler, delay) {
if (delay === void 0) { delay = 0; }
_super.call(this, destination);
this.scheduler = scheduler;
this.delay = delay;
}
ObserveOnSubscriber.dispatch = function (_a) {
var notification = _a.notification, destination = _a.destination;
notification.observe(destination);
};
ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {
this.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));
};
ObserveOnSubscriber.prototype._next = function (value) {
this.scheduleMessage(Notification_1.Notification.createNext(value));
};
ObserveOnSubscriber.prototype._error = function (err) {
this.scheduleMessage(Notification_1.Notification.createError(err));
};
ObserveOnSubscriber.prototype._complete = function () {
this.scheduleMessage(Notification_1.Notification.createComplete());
};
return ObserveOnSubscriber;
})(Subscriber_1.Subscriber);
exports.ObserveOnSubscriber = ObserveOnSubscriber;
var ObserveOnMessage = (function () {
function ObserveOnMessage(notification, destination) {
this.notification = notification;
this.destination = destination;
}
return ObserveOnMessage;
})();
//# sourceMappingURL=observeOn-support.js.map
},{"../Notification":15,"../Subscriber":20}],85:[function(require,module,exports){
var observeOn_support_1 = require('./observeOn-support');
function observeOn(scheduler, delay) {
if (delay === void 0) { delay = 0; }
return this.lift(new observeOn_support_1.ObserveOnOperator(scheduler, delay));
}
exports.observeOn = observeOn;
//# sourceMappingURL=observeOn.js.map
},{"./observeOn-support":84}],86:[function(require,module,exports){
var not_1 = require('../util/not');
var filter_1 = require('./filter');
function partition(predicate, thisArg) {
return [
filter_1.filter.call(this, predicate),
filter_1.filter.call(this, not_1.not(predicate, thisArg))
];
}
exports.partition = partition;
//# sourceMappingURL=partition.js.map
},{"../util/not":148,"./filter":65}],87:[function(require,module,exports){
var Subject_1 = require('../Subject');
var multicast_1 = require('./multicast');
function publish() {
return multicast_1.multicast.call(this, new Subject_1.Subject());
}
exports.publish = publish;
//# sourceMappingURL=publish.js.map
},{"../Subject":19,"./multicast":83}],88:[function(require,module,exports){
var BehaviorSubject_1 = require('../subjects/BehaviorSubject');
var multicast_1 = require('./multicast');
function publishBehavior(value) {
return multicast_1.multicast.call(this, new BehaviorSubject_1.BehaviorSubject(value));
}
exports.publishBehavior = publishBehavior;
//# sourceMappingURL=publishBehavior.js.map
},{"../subjects/BehaviorSubject":131,"./multicast":83}],89:[function(require,module,exports){
var ReplaySubject_1 = require('../subjects/ReplaySubject');
var multicast_1 = require('./multicast');
function publishReplay(bufferSize, windowTime, scheduler) {
if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }
if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }
return multicast_1.multicast.call(this, new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler));
}
exports.publishReplay = publishReplay;
//# sourceMappingURL=publishReplay.js.map
},{"../subjects/ReplaySubject":132,"./multicast":83}],90:[function(require,module,exports){
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('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var ReduceOperator = (function () {
function ReduceOperator(project, seed) {
this.project = project;
this.seed = seed;
}
ReduceOperator.prototype.call = function (subscriber) {
return new ReduceSubscriber(subscriber, this.project, this.seed);
};
return ReduceOperator;
})();
exports.ReduceOperator = ReduceOperator;
var ReduceSubscriber = (function (_super) {
__extends(ReduceSubscriber, _super);
function ReduceSubscriber(destination, project, seed) {
_super.call(this, destination);
this.hasValue = false;
this.acc = seed;
this.project = project;
this.hasSeed = typeof seed !== 'undefined';
}
ReduceSubscriber.prototype._next = function (x) {
if (this.hasValue || (this.hasValue = this.hasSeed)) {
var result = tryCatch_1.tryCatch(this.project).call(this, this.acc, x);
if (result === errorObject_1.errorObject) {
this.destination.error(errorObject_1.errorObject.e);
}
else {
this.acc = result;
}
}
else {
this.acc = x;
this.hasValue = true;
}
};
ReduceSubscriber.prototype._complete = function () {
if (this.hasValue || this.hasSeed) {
this.destination.next(this.acc);
}
this.destination.complete();
};
return ReduceSubscriber;
})(Subscriber_1.Subscriber);
exports.ReduceSubscriber = ReduceSubscriber;
//# sourceMappingURL=reduce-support.js.map
},{"../Subscriber":20,"../util/errorObject":143,"../util/tryCatch":152}],91:[function(require,module,exports){
var reduce_support_1 = require('./reduce-support');
function reduce(project, seed) {
return this.lift(new reduce_support_1.ReduceOperator(project, seed));
}
exports.reduce = reduce;
//# sourceMappingURL=reduce.js.map
},{"./reduce-support":90}],92:[function(require,module,exports){
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('../Subscriber');
var EmptyObservable_1 = require('../observables/EmptyObservable');
function repeat(count) {
if (count === void 0) { count = -1; }
if (count === 0) {
return new EmptyObservable_1.EmptyObservable();
}
else {
return this.lift(new RepeatOperator(count, this));
}
}
exports.repeat = repeat;
var RepeatOperator = (function () {
function RepeatOperator(count, source) {
this.count = count;
this.source = source;
}
RepeatOperator.prototype.call = function (subscriber) {
return new FirstRepeatSubscriber(subscriber, this.count, this.source);
};
return RepeatOperator;
})();
var FirstRepeatSubscriber = (function (_super) {
__extends(FirstRepeatSubscriber, _super);
function FirstRepeatSubscriber(destination, count, source) {
_super.call(this, null);
this.destination = destination;
this.count = count;
this.source = source;
if (count === 0) {
this.destination.complete();
_super.prototype.unsubscribe.call(this);
}
this.lastSubscription = this;
}
FirstRepeatSubscriber.prototype._next = function (value) {
this.destination.next(value);
};
FirstRepeatSubscriber.prototype._error = function (err) {
this.destination.error(err);
};
FirstRepeatSubscriber.prototype.complete = function () {
if (!this.isUnsubscribed) {
this.resubscribe(this.count);
}
};
FirstRepeatSubscriber.prototype.unsubscribe = function () {
var lastSubscription = this.lastSubscription;
if (lastSubscription === this) {
_super.prototype.unsubscribe.call(this);
}
else {
lastSubscription.unsubscribe();
}
};
FirstRepeatSubscriber.prototype.resubscribe = function (count) {
this.lastSubscription.unsubscribe();
if (count - 1 === 0) {
this.destination.complete();
}
else {
var nextSubscriber = new MoreRepeatSubscriber(this, count - 1);
this.lastSubscription = this.source.subscribe(nextSubscriber);
}
};
return FirstRepeatSubscriber;
})(Subscriber_1.Subscriber);
var MoreRepeatSubscriber = (function (_super) {
__extends(MoreRepeatSubscriber, _super);
function MoreRepeatSubscriber(parent, count) {
_super.call(this, null);
this.parent = parent;
this.count = count;
}
MoreRepeatSubscriber.prototype._next = function (value) {
this.parent.destination.next(value);
};
MoreRepeatSubscriber.prototype._error = function (err) {
this.parent.destination.error(err);
};
MoreRepeatSubscriber.prototype._complete = function () {
var count = this.count;
this.parent.resubscribe(count < 0 ? -1 : count);
};
return MoreRepeatSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=repeat.js.map
},{"../Subscriber":20,"../observables/EmptyObservable":25}],93:[function(require,module,exports){
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('../Subscriber');
function retry(count) {
if (count === void 0) { count = 0; }
return this.lift(new RetryOperator(count, this));
}
exports.retry = retry;
var RetryOperator = (function () {
function RetryOperator(count, source) {
this.count = count;
this.source = source;
}
RetryOperator.prototype.call = function (subscriber) {
return new FirstRetrySubscriber(subscriber, this.count, this.source);
};
return RetryOperator;
})();
var FirstRetrySubscriber = (function (_super) {
__extends(FirstRetrySubscriber, _super);
function FirstRetrySubscriber(destination, count, source) {
_super.call(this, null);
this.destination = destination;
this.count = count;
this.source = source;
this.lastSubscription = this;
}
FirstRetrySubscriber.prototype._next = function (value) {
this.destination.next(value);
};
FirstRetrySubscriber.prototype.error = function (error) {
if (!this.isUnsubscribed) {
_super.prototype.unsubscribe.call(this);
this.resubscribe();
}
};
FirstRetrySubscriber.prototype._complete = function () {
_super.prototype.unsubscribe.call(this);
this.destination.complete();
};
FirstRetrySubscriber.prototype.unsubscribe = function () {
var lastSubscription = this.lastSubscription;
if (lastSubscription === this) {
_super.prototype.unsubscribe.call(this);
}
else {
lastSubscription.unsubscribe();
}
};
FirstRetrySubscriber.prototype.resubscribe = function (retried) {
if (retried === void 0) { retried = 0; }
this.lastSubscription.unsubscribe();
var nextSubscriber = new RetryMoreSubscriber(this, this.count, retried + 1);
this.lastSubscription = this.source.subscribe(nextSubscriber);
};
return FirstRetrySubscriber;
})(Subscriber_1.Subscriber);
var RetryMoreSubscriber = (function (_super) {
__extends(RetryMoreSubscriber, _super);
function RetryMoreSubscriber(parent, count, retried) {
if (retried === void 0) { retried = 0; }
_super.call(this, null);
this.parent = parent;
this.count = count;
this.retried = retried;
}
RetryMoreSubscriber.prototype._next = function (value) {
this.parent.destination.next(value);
};
RetryMoreSubscriber.prototype._error = function (err) {
var parent = this.parent;
var retried = this.retried;
var count = this.count;
if (count && retried === count) {
parent.destination.error(err);
}
else {
parent.resubscribe(retried);
}
};
RetryMoreSubscriber.prototype._complete = function () {
this.parent.destination.complete();
};
return RetryMoreSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=retry.js.map
},{"../Subscriber":20}],94:[function(require,module,exports){
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('../Subscriber');
var Subject_1 = require('../Subject');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
function retryWhen(notifier) {
return this.lift(new RetryWhenOperator(notifier, this));
}
exports.retryWhen = retryWhen;
var RetryWhenOperator = (function () {
function RetryWhenOperator(notifier, source) {
this.notifier = notifier;
this.source = source;
}
RetryWhenOperator.prototype.call = function (subscriber) {
return new FirstRetryWhenSubscriber(subscriber, this.notifier, this.source);
};
return RetryWhenOperator;
})();
var FirstRetryWhenSubscriber = (function (_super) {
__extends(FirstRetryWhenSubscriber, _super);
function FirstRetryWhenSubscriber(destination, notifier, source) {
_super.call(this, null);
this.destination = destination;
this.notifier = notifier;
this.source = source;
this.lastSubscription = this;
}
FirstRetryWhenSubscriber.prototype._next = function (value) {
this.destination.next(value);
};
FirstRetryWhenSubscriber.prototype.error = function (err) {
if (!this.isUnsubscribed) {
_super.prototype.unsubscribe.call(this);
if (!this.retryNotifications) {
this.errors = new Subject_1.Subject();
var notifications = tryCatch_1.tryCatch(this.notifier).call(this, this.errors);
if (notifications === errorObject_1.errorObject) {
this.destination.error(errorObject_1.errorObject.e);
}
else {
this.retryNotifications = notifications;
var notificationSubscriber = new RetryNotificationSubscriber(this);
this.notificationSubscription = notifications.subscribe(notificationSubscriber);
}
}
this.errors.next(err);
}
};
FirstRetryWhenSubscriber.prototype.destinationError = function (err) {
this.tearDown();
this.destination.error(err);
};
FirstRetryWhenSubscriber.prototype._complete = function () {
this.destinationComplete();
};
FirstRetryWhenSubscriber.prototype.destinationComplete = function () {
this.tearDown();
this.destination.complete();
};
FirstRetryWhenSubscriber.prototype.unsubscribe = function () {
var lastSubscription = this.lastSubscription;
if (lastSubscription === this) {
_super.prototype.unsubscribe.call(this);
}
else {
this.tearDown();
}
};
FirstRetryWhenSubscriber.prototype.tearDown = function () {
_super.prototype.unsubscribe.call(this);
this.lastSubscription.unsubscribe();
var notificationSubscription = this.notificationSubscription;
if (notificationSubscription) {
notificationSubscription.unsubscribe();
}
};
FirstRetryWhenSubscriber.prototype.resubscribe = function () {
this.lastSubscription.unsubscribe();
var nextSubscriber = new MoreRetryWhenSubscriber(this);
this.lastSubscription = this.source.subscribe(nextSubscriber);
};
return FirstRetryWhenSubscriber;
})(Subscriber_1.Subscriber);
var MoreRetryWhenSubscriber = (function (_super) {
__extends(MoreRetryWhenSubscriber, _super);
function MoreRetryWhenSubscriber(parent) {
_super.call(this, null);
this.parent = parent;
}
MoreRetryWhenSubscriber.prototype._next = function (value) {
this.parent.destination.next(value);
};
MoreRetryWhenSubscriber.prototype._error = function (err) {
this.parent.errors.next(err);
};
MoreRetryWhenSubscriber.prototype._complete = function () {
this.parent.destinationComplete();
};
return MoreRetryWhenSubscriber;
})(Subscriber_1.Subscriber);
var RetryNotificationSubscriber = (function (_super) {
__extends(RetryNotificationSubscriber, _super);
function RetryNotificationSubscriber(parent) {
_super.call(this, null);
this.parent = parent;
}
RetryNotificationSubscriber.prototype._next = function (value) {
this.parent.resubscribe();
};
RetryNotificationSubscriber.prototype._error = function (err) {
this.parent.destinationError(err);
};
RetryNotificationSubscriber.prototype._complete = function () {
this.parent.destinationComplete();
};
return RetryNotificationSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=retryWhen.js.map
},{"../Subject":19,"../Subscriber":20,"../util/errorObject":143,"../util/tryCatch":152}],95:[function(require,module,exports){
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('../Subscriber');
function sample(notifier) {
return this.lift(new SampleOperator(notifier));
}
exports.sample = sample;
var SampleOperator = (function () {
function SampleOperator(notifier) {
this.notifier = notifier;
}
SampleOperator.prototype.call = function (subscriber) {
return new SampleSubscriber(subscriber, this.notifier);
};
return SampleOperator;
})();
var SampleSubscriber = (function (_super) {
__extends(SampleSubscriber, _super);
function SampleSubscriber(destination, notifier) {
_super.call(this, destination);
this.notifier = notifier;
this.hasValue = false;
this.add(notifier._subscribe(new SampleNoficationSubscriber(this)));
}
SampleSubscriber.prototype._next = function (value) {
this.lastValue = value;
this.hasValue = true;
};
SampleSubscriber.prototype.notifyNext = function () {
if (this.hasValue) {
this.destination.next(this.lastValue);
}
};
return SampleSubscriber;
})(Subscriber_1.Subscriber);
var SampleNoficationSubscriber = (function (_super) {
__extends(SampleNoficationSubscriber, _super);
function SampleNoficationSubscriber(parent) {
_super.call(this, null);
this.parent = parent;
}
SampleNoficationSubscriber.prototype._next = function () {
this.parent.notifyNext();
};
SampleNoficationSubscriber.prototype._error = function (err) {
this.parent.error(err);
};
SampleNoficationSubscriber.prototype._complete = function () {
//noop
};
return SampleNoficationSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=sample.js.map
},{"../Subscriber":20}],96:[function(require,module,exports){
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('../Subscriber');
var nextTick_1 = require('../schedulers/nextTick');
function sampleTime(delay, scheduler) {
if (scheduler === void 0) { scheduler = nextTick_1.nextTick; }
return this.lift(new SampleTimeOperator(delay, scheduler));
}
exports.sampleTime = sampleTime;
var SampleTimeOperator = (function () {
function SampleTimeOperator(delay, scheduler) {
this.delay = delay;
this.scheduler = scheduler;
}
SampleTimeOperator.prototype.call = function (subscriber) {
return new SampleTimeSubscriber(subscriber, this.delay, this.scheduler);
};
return SampleTimeOperator;
})();
var SampleTimeSubscriber = (function (_super) {
__extends(SampleTimeSubscriber, _super);
function SampleTimeSubscriber(destination, delay, scheduler) {
_super.call(this, destination);
this.delay = delay;
this.scheduler = scheduler;
this.hasValue = false;
this.add(scheduler.schedule(dispatchNotification, delay, { subscriber: this, delay: delay }));
}
SampleTimeSubscriber.prototype._next = function (value) {
this.lastValue = value;
this.hasValue = true;
};
SampleTimeSubscriber.prototype.notifyNext = function () {
if (this.hasValue) {
this.destination.next(this.lastValue);
}
};
return SampleTimeSubscriber;
})(Subscriber_1.Subscriber);
function dispatchNotification(state) {
var subscriber = state.subscriber, delay = state.delay;
subscriber.notifyNext();
this.schedule(state, delay);
}
//# sourceMappingURL=sampleTime.js.map
},{"../Subscriber":20,"../schedulers/nextTick":130}],97:[function(require,module,exports){
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('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
function scan(project, acc) {
return this.lift(new ScanOperator(project, acc));
}
exports.scan = scan;
var ScanOperator = (function () {
function ScanOperator(project, acc) {
this.acc = acc;
this.project = project;
}
ScanOperator.prototype.call = function (subscriber) {
return new ScanSubscriber(subscriber, this.project, this.acc);
};
return ScanOperator;
})();
var ScanSubscriber = (function (_super) {
__extends(ScanSubscriber, _super);
function ScanSubscriber(destination, project, acc) {
_super.call(this, destination);
this.accumulatorSet = false;
this.acc = acc;
this.project = project;
this.accumulatorSet = typeof acc !== 'undefined';
}
Object.defineProperty(ScanSubscriber.prototype, "acc", {
get: function () {
return this._acc;
},
set: function (value) {
this.accumulatorSet = true;
this._acc = value;
},
enumerable: true,
configurable: true
});
ScanSubscriber.prototype._next = function (x) {
if (!this.accumulatorSet) {
this.acc = x;
this.destination.next(x);
}
else {
var result = tryCatch_1.tryCatch(this.project).call(this, this.acc, x);
if (result === errorObject_1.errorObject) {
this.destination.error(errorObject_1.errorObject.e);
}
else {
this.acc = result;
this.destination.next(this.acc);
}
}
};
return ScanSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=scan.js.map
},{"../Subscriber":20,"../util/errorObject":143,"../util/tryCatch":152}],98:[function(require,module,exports){
var multicast_1 = require('./multicast');
var Subject_1 = require('../Subject');
function shareSubjectFactory() {
return new Subject_1.Subject();
}
function share() {
return multicast_1.multicast.call(this, shareSubjectFactory).refCount();
}
exports.share = share;
;
//# sourceMappingURL=share.js.map
},{"../Subject":19,"./multicast":83}],99:[function(require,module,exports){
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('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var bindCallback_1 = require('../util/bindCallback');
var EmptyError_1 = require('../util/EmptyError');
function single(predicate, thisArg) {
return this.lift(new SingleOperator(predicate, thisArg, this));
}
exports.single = single;
var SingleOperator = (function () {
function SingleOperator(predicate, thisArg, source) {
this.predicate = predicate;
this.thisArg = thisArg;
this.source = source;
}
SingleOperator.prototype.call = function (subscriber) {
return new SingleSubscriber(subscriber, this.predicate, this.thisArg, this.source);
};
return SingleOperator;
})();
var SingleSubscriber = (function (_super) {
__extends(SingleSubscriber, _super);
function SingleSubscriber(destination, predicate, thisArg, source) {
_super.call(this, destination);
this.thisArg = thisArg;
this.source = source;
this.seenValue = false;
this.index = 0;
if (typeof predicate === 'function') {
this.predicate = bindCallback_1.bindCallback(predicate, thisArg, 3);
}
}
SingleSubscriber.prototype.applySingleValue = function (value) {
if (this.seenValue) {
this.destination.error('Sequence contains more than one element');
}
else {
this.seenValue = true;
this.singleValue = value;
}
};
SingleSubscriber.prototype._next = function (value) {
var predicate = this.predicate;
var currentIndex = this.index++;
if (predicate) {
var result = tryCatch_1.tryCatch(predicate)(value, currentIndex, this.source);
if (result === errorObject_1.errorObject) {
this.destination.error(result.e);
}
else if (result) {
this.applySingleValue(value);
}
}
else {
this.applySingleValue(value);
}
};
SingleSubscriber.prototype._complete = function () {
var destination = this.destination;
if (this.index > 0) {
destination.next(this.seenValue ? this.singleValue : undefined);
destination.complete();
}
else {
destination.error(new EmptyError_1.EmptyError);
}
};
return SingleSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=single.js.map
},{"../Subscriber":20,"../util/EmptyError":135,"../util/bindCallback":142,"../util/errorObject":143,"../util/tryCatch":152}],100:[function(require,module,exports){
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('../Subscriber');
function skip(total) {
return this.lift(new SkipOperator(total));
}
exports.skip = skip;
var SkipOperator = (function () {
function SkipOperator(total) {
this.total = total;
}
SkipOperator.prototype.call = function (subscriber) {
return new SkipSubscriber(subscriber, this.total);
};
return SkipOperator;
})();
var SkipSubscriber = (function (_super) {
__extends(SkipSubscriber, _super);
function SkipSubscriber(destination, total) {
_super.call(this, destination);
this.total = total;
this.count = 0;
}
SkipSubscriber.prototype._next = function (x) {
if (++this.count > this.total) {
this.destination.next(x);
}
};
return SkipSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=skip.js.map
},{"../Subscriber":20}],101:[function(require,module,exports){
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('../Subscriber');
function skipUntil(notifier) {
return this.lift(new SkipUntilOperator(notifier));
}
exports.skipUntil = skipUntil;
var SkipUntilOperator = (function () {
function SkipUntilOperator(notifier) {
this.notifier = notifier;
}
SkipUntilOperator.prototype.call = function (subscriber) {
return new SkipUntilSubscriber(subscriber, this.notifier);
};
return SkipUntilOperator;
})();
var SkipUntilSubscriber = (function (_super) {
__extends(SkipUntilSubscriber, _super);
function SkipUntilSubscriber(destination, notifier) {
_super.call(this, destination);
this.notifier = notifier;
this.notificationSubscriber = null;
this.notificationSubscriber = new NotificationSubscriber(this);
this.add(this.notifier.subscribe(this.notificationSubscriber));
}
SkipUntilSubscriber.prototype._next = function (value) {
if (this.notificationSubscriber.hasValue) {
this.destination.next(value);
}
};
SkipUntilSubscriber.prototype._error = function (err) {
this.destination.error(err);
};
SkipUntilSubscriber.prototype._complete = function () {
if (this.notificationSubscriber.hasCompleted) {
this.destination.complete();
}
this.notificationSubscriber.unsubscribe();
};
SkipUntilSubscriber.prototype.unsubscribe = function () {
if (this._isUnsubscribed) {
return;
}
else if (this._subscription) {
this._subscription.unsubscribe();
this._isUnsubscribed = true;
}
else {
_super.prototype.unsubscribe.call(this);
}
};
return SkipUntilSubscriber;
})(Subscriber_1.Subscriber);
var NotificationSubscriber = (function (_super) {
__extends(NotificationSubscriber, _super);
function NotificationSubscriber(parent) {
_super.call(this, null);
this.parent = parent;
this.hasValue = false;
this.hasCompleted = false;
}
NotificationSubscriber.prototype._next = function (unused) {
this.hasValue = true;
};
NotificationSubscriber.prototype._error = function (err) {
this.parent.error(err);
this.hasValue = true;
};
NotificationSubscriber.prototype._complete = function () {
this.hasCompleted = true;
};
return NotificationSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=skipUntil.js.map
},{"../Subscriber":20}],102:[function(require,module,exports){
var ArrayObservable_1 = require('../observables/ArrayObservable');
var ScalarObservable_1 = require('../observables/ScalarObservable');
var EmptyObservable_1 = require('../observables/EmptyObservable');
var concat_static_1 = require('./concat-static');
function startWith() {
var array = [];
for (var _i = 0; _i < arguments.length; _i++) {
array[_i - 0] = arguments[_i];
}
var scheduler = array[array.length - 1];
if (scheduler && typeof scheduler.schedule === 'function') {
array.pop();
}
else {
scheduler = void 0;
}
var len = array.length;
if (len === 1) {
return concat_static_1.concat(new ScalarObservable_1.ScalarObservable(array[0], scheduler), this);
}
else if (len > 1) {
return concat_static_1.concat(new ArrayObservable_1.ArrayObservable(array, scheduler), this);
}
else {
return concat_static_1.concat(new EmptyObservable_1.EmptyObservable(scheduler), this);
}
}
exports.startWith = startWith;
//# sourceMappingURL=startWith.js.map
},{"../observables/ArrayObservable":22,"../observables/EmptyObservable":25,"../observables/ScalarObservable":36,"./concat-static":49}],103:[function(require,module,exports){
var SubscribeOnObservable_1 = require('../observables/SubscribeOnObservable');
function subscribeOn(scheduler, delay) {
if (delay === void 0) { delay = 0; }
return new SubscribeOnObservable_1.SubscribeOnObservable(this, delay, scheduler);
}
exports.subscribeOn = subscribeOn;
//# sourceMappingURL=subscribeOn.js.map
},{"../observables/SubscribeOnObservable":37}],104:[function(require,module,exports){
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('../OuterSubscriber');
var subscribeToResult_1 = require('../util/subscribeToResult');
function _switch() {
return this.lift(new SwitchOperator());
}
exports._switch = _switch;
var SwitchOperator = (function () {
function SwitchOperator() {
}
SwitchOperator.prototype.call = function (subscriber) {
return new SwitchSubscriber(subscriber);
};
return SwitchOperator;
})();
var SwitchSubscriber = (function (_super) {
__extends(SwitchSubscriber, _super);
function SwitchSubscriber(destination) {
_super.call(this, destination);
this.active = 0;
this.hasCompleted = false;
}
SwitchSubscriber.prototype._next = function (value) {
this.unsubscribeInner();
this.active++;
this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, value));
};
SwitchSubscriber.prototype._complete = function () {
this.hasCompleted = true;
if (this.active === 0) {
this.destination.complete();
}
};
SwitchSubscriber.prototype.unsubscribeInner = function () {
this.active = this.active > 0 ? this.active - 1 : 0;
var innerSubscription = this.innerSubscription;
if (innerSubscription) {
innerSubscription.unsubscribe();
this.remove(innerSubscription);
}
};
SwitchSubscriber.prototype.notifyNext = function (outerValue, innerValue) {
this.destination.next(innerValue);
};
SwitchSubscriber.prototype.notifyError = function (err) {
this.destination.error(err);
};
SwitchSubscriber.prototype.notifyComplete = function () {
this.unsubscribeInner();
if (this.hasCompleted && this.active === 0) {
this.destination.complete();
}
};
return SwitchSubscriber;
})(OuterSubscriber_1.OuterSubscriber);
//# sourceMappingURL=switch.js.map
},{"../OuterSubscriber":17,"../util/subscribeToResult":150}],105:[function(require,module,exports){
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 tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var OuterSubscriber_1 = require('../OuterSubscriber');
var subscribeToResult_1 = require('../util/subscribeToResult');
function switchMap(project, resultSelector) {
return this.lift(new SwitchMapOperator(project, resultSelector));
}
exports.switchMap = switchMap;
var SwitchMapOperator = (function () {
function SwitchMapOperator(project, resultSelector) {
this.project = project;
this.resultSelector = resultSelector;
}
SwitchMapOperator.prototype.call = function (subscriber) {
return new SwitchMapSubscriber(subscriber, this.project, this.resultSelector);
};
return SwitchMapOperator;
})();
var SwitchMapSubscriber = (function (_super) {
__extends(SwitchMapSubscriber, _super);
function SwitchMapSubscriber(destination, project, resultSelector) {
_super.call(this, destination);
this.project = project;
this.resultSelector = resultSelector;
this.hasCompleted = false;
this.index = 0;
}
SwitchMapSubscriber.prototype._next = function (value) {
var index = this.index++;
var destination = this.destination;
var result = tryCatch_1.tryCatch(this.project)(value, index);
if (result === errorObject_1.errorObject) {
destination.error(result.e);
}
else {
var innerSubscription = this.innerSubscription;
if (innerSubscription) {
innerSubscription.unsubscribe();
}
this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, result, value, index));
}
};
SwitchMapSubscriber.prototype._complete = function () {
var innerSubscription = this.innerSubscription;
this.hasCompleted = true;
if (!innerSubscription || innerSubscription.isUnsubscribed) {
this.destination.complete();
}
};
SwitchMapSubscriber.prototype.notifyComplete = function (innerSub) {
this.remove(innerSub);
var prevSubscription = this.innerSubscription;
if (prevSubscription) {
prevSubscription.unsubscribe();
}
this.innerSubscription = null;
if (this.hasCompleted) {
this.destination.complete();
}
};
SwitchMapSubscriber.prototype.notifyError = function (err) {
this.destination.error(err);
};
SwitchMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {
var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;
if (resultSelector) {
var result = tryCatch_1.tryCatch(resultSelector)(outerValue, innerValue, outerIndex, innerIndex);
if (result === errorObject_1.errorObject) {
destination.error(errorObject_1.errorObject.e);
}
else {
destination.next(result);
}
}
else {
destination.next(innerValue);
}
};
return SwitchMapSubscriber;
})(OuterSubscriber_1.OuterSubscriber);
//# sourceMappingURL=switchMap.js.map
},{"../OuterSubscriber":17,"../util/errorObject":143,"../util/subscribeToResult":150,"../util/tryCatch":152}],106:[function(require,module,exports){
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 tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var OuterSubscriber_1 = require('../OuterSubscriber');
var subscribeToResult_1 = require('../util/subscribeToResult');
function switchMapTo(observable, projectResult) {
return this.lift(new SwitchMapToOperator(observable, projectResult));
}
exports.switchMapTo = switchMapTo;
var SwitchMapToOperator = (function () {
function SwitchMapToOperator(observable, resultSelector) {
this.observable = observable;
this.resultSelector = resultSelector;
}
SwitchMapToOperator.prototype.call = function (subscriber) {
return new SwitchMapToSubscriber(subscriber, this.observable, this.resultSelector);
};
return SwitchMapToOperator;
})();
var SwitchMapToSubscriber = (function (_super) {
__extends(SwitchMapToSubscriber, _super);
function SwitchMapToSubscriber(destination, inner, resultSelector) {
_super.call(this, destination);
this.inner = inner;
this.resultSelector = resultSelector;
this.hasCompleted = false;
this.index = 0;
}
SwitchMapToSubscriber.prototype._next = function (value) {
var index = this.index++;
var innerSubscription = this.innerSubscription;
if (innerSubscription) {
innerSubscription.unsubscribe();
}
this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, this.inner, value, index));
};
SwitchMapToSubscriber.prototype._complete = function () {
var innerSubscription = this.innerSubscription;
this.hasCompleted = true;
if (!innerSubscription || innerSubscription.isUnsubscribed) {
this.destination.complete();
}
};
SwitchMapToSubscriber.prototype.notifyComplete = function (innerSub) {
this.remove(innerSub);
var prevSubscription = this.innerSubscription;
if (prevSubscription) {
prevSubscription.unsubscribe();
}
this.innerSubscription = null;
if (this.hasCompleted) {
this.destination.complete();
}
};
SwitchMapToSubscriber.prototype.notifyError = function (err) {
this.destination.error(err);
};
SwitchMapToSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {
var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;
if (resultSelector) {
var result = tryCatch_1.tryCatch(resultSelector)(outerValue, innerValue, outerIndex, innerIndex);
if (result === errorObject_1.errorObject) {
destination.error(errorObject_1.errorObject.e);
}
else {
destination.next(result);
}
}
else {
destination.next(innerValue);
}
};
return SwitchMapToSubscriber;
})(OuterSubscriber_1.OuterSubscriber);
//# sourceMappingURL=switchMapTo.js.map
},{"../OuterSubscriber":17,"../util/errorObject":143,"../util/subscribeToResult":150,"../util/tryCatch":152}],107:[function(require,module,exports){
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('../Subscriber');
var ArgumentOutOfRangeError_1 = require('../util/ArgumentOutOfRangeError');
var EmptyObservable_1 = require('../observables/EmptyObservable');
function take(total) {
if (total === 0) {
return new EmptyObservable_1.EmptyObservable();
}
else {
return this.lift(new TakeOperator(total));
}
}
exports.take = take;
var TakeOperator = (function () {
function TakeOperator(total) {
this.total = total;
if (this.total < 0) {
throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;
}
}
TakeOperator.prototype.call = function (subscriber) {
return new TakeSubscriber(subscriber, this.total);
};
return TakeOperator;
})();
var TakeSubscriber = (function (_super) {
__extends(TakeSubscriber, _super);
function TakeSubscriber(destination, total) {
_super.call(this, destination);
this.total = total;
this.count = 0;
}
TakeSubscriber.prototype._next = function (value) {
var total = this.total;
if (++this.count <= total) {
this.destination.next(value);
if (this.count === total) {
this.destination.complete();
}
}
};
return TakeSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=take.js.map
},{"../Subscriber":20,"../observables/EmptyObservable":25,"../util/ArgumentOutOfRangeError":134}],108:[function(require,module,exports){
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('../Subscriber');
var noop_1 = require('../util/noop');
function takeUntil(notifier) {
return this.lift(new TakeUntilOperator(notifier));
}
exports.takeUntil = takeUntil;
var TakeUntilOperator = (function () {
function TakeUntilOperator(notifier) {
this.notifier = notifier;
}
TakeUntilOperator.prototype.call = function (subscriber) {
return new TakeUntilSubscriber(subscriber, this.notifier);
};
return TakeUntilOperator;
})();
var TakeUntilSubscriber = (function (_super) {
__extends(TakeUntilSubscriber, _super);
function TakeUntilSubscriber(destination, notifier) {
_super.call(this, destination);
this.notifier = notifier;
this.notificationSubscriber = null;
this.notificationSubscriber = new TakeUntilInnerSubscriber(destination);
this.add(notifier.subscribe(this.notificationSubscriber));
}
TakeUntilSubscriber.prototype._complete = function () {
this.destination.complete();
this.notificationSubscriber.unsubscribe();
};
return TakeUntilSubscriber;
})(Subscriber_1.Subscriber);
var TakeUntilInnerSubscriber = (function (_super) {
__extends(TakeUntilInnerSubscriber, _super);
function TakeUntilInnerSubscriber(destination) {
_super.call(this, null);
this.destination = destination;
}
TakeUntilInnerSubscriber.prototype._next = function (unused) {
this.destination.complete();
};
TakeUntilInnerSubscriber.prototype._error = function (err) {
this.destination.error(err);
};
TakeUntilInnerSubscriber.prototype._complete = function () {
noop_1.noop();
};
return TakeUntilInnerSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=takeUntil.js.map
},{"../Subscriber":20,"../util/noop":147}],109:[function(require,module,exports){
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('../Subscriber');
var nextTick_1 = require('../schedulers/nextTick');
function throttle(delay, scheduler) {
if (scheduler === void 0) { scheduler = nextTick_1.nextTick; }
return this.lift(new ThrottleOperator(delay, scheduler));
}
exports.throttle = throttle;
var ThrottleOperator = (function () {
function ThrottleOperator(delay, scheduler) {
this.delay = delay;
this.scheduler = scheduler;
}
ThrottleOperator.prototype.call = function (subscriber) {
return new ThrottleSubscriber(subscriber, this.delay, this.scheduler);
};
return ThrottleOperator;
})();
var ThrottleSubscriber = (function (_super) {
__extends(ThrottleSubscriber, _super);
function ThrottleSubscriber(destination, delay, scheduler) {
_super.call(this, destination);
this.delay = delay;
this.scheduler = scheduler;
}
ThrottleSubscriber.prototype._next = function (value) {
if (!this.throttled) {
this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.delay, { value: value, subscriber: this }));
}
};
ThrottleSubscriber.prototype.throttledNext = function (value) {
this.clearThrottle();
this.destination.next(value);
};
ThrottleSubscriber.prototype.clearThrottle = function () {
var throttled = this.throttled;
if (throttled) {
throttled.unsubscribe();
this.remove(throttled);
}
};
return ThrottleSubscriber;
})(Subscriber_1.Subscriber);
function dispatchNext(_a) {
var value = _a.value, subscriber = _a.subscriber;
subscriber.throttledNext(value);
}
//# sourceMappingURL=throttle.js.map
},{"../Subscriber":20,"../schedulers/nextTick":130}],110:[function(require,module,exports){
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('../Subscriber');
var immediate_1 = require('../schedulers/immediate');
var isDate_1 = require('../util/isDate');
function timeout(due, errorToSend, scheduler) {
if (errorToSend === void 0) { errorToSend = null; }
if (scheduler === void 0) { scheduler = immediate_1.immediate; }
var absoluteTimeout = isDate_1.isDate(due);
var waitFor = absoluteTimeout ? (+due - scheduler.now()) : due;
return this.lift(new TimeoutOperator(waitFor, absoluteTimeout, errorToSend, scheduler));
}
exports.timeout = timeout;
var TimeoutOperator = (function () {
function TimeoutOperator(waitFor, absoluteTimeout, errorToSend, scheduler) {
this.waitFor = waitFor;
this.absoluteTimeout = absoluteTimeout;
this.errorToSend = errorToSend;
this.scheduler = scheduler;
}
TimeoutOperator.prototype.call = function (subscriber) {
return new TimeoutSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.errorToSend, this.scheduler);
};
return TimeoutOperator;
})();
var TimeoutSubscriber = (function (_super) {
__extends(TimeoutSubscriber, _super);
function TimeoutSubscriber(destination, absoluteTimeout, waitFor, errorToSend, scheduler) {
_super.call(this, destination);
this.absoluteTimeout = absoluteTimeout;
this.waitFor = waitFor;
this.errorToSend = errorToSend;
this.scheduler = scheduler;
this.index = 0;
this._previousIndex = 0;
this._hasCompleted = false;
this.scheduleTimeout();
}
Object.defineProperty(TimeoutSubscriber.prototype, "previousIndex", {
get: function () {
return this._previousIndex;
},
enumerable: true,
configurable: true
});
Object.defineProperty(TimeoutSubscriber.prototype, "hasCompleted", {
get: function () {
return this._hasCompleted;
},
enumerable: true,
configurable: true
});
TimeoutSubscriber.dispatchTimeout = function (state) {
var source = state.subscriber;
var currentIndex = state.index;
if (!source.hasCompleted && source.previousIndex === currentIndex) {
source.notifyTimeout();
}
};
TimeoutSubscriber.prototype.scheduleTimeout = function () {
var currentIndex = this.index;
this.scheduler.schedule(TimeoutSubscriber.dispatchTimeout, this.waitFor, { subscriber: this, index: currentIndex });
this.index++;
this._previousIndex = currentIndex;
};
TimeoutSubscriber.prototype._next = function (value) {
this.destination.next(value);
if (!this.absoluteTimeout) {
this.scheduleTimeout();
}
};
TimeoutSubscriber.prototype._error = function (err) {
this.destination.error(err);
this._hasCompleted = true;
};
TimeoutSubscriber.prototype._complete = function () {
this.destination.complete();
this._hasCompleted = true;
};
TimeoutSubscriber.prototype.notifyTimeout = function () {
this.error(this.errorToSend || new Error('timeout'));
};
return TimeoutSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=timeout.js.map
},{"../Subscriber":20,"../schedulers/immediate":129,"../util/isDate":144}],111:[function(require,module,exports){
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 immediate_1 = require('../schedulers/immediate');
var isDate_1 = require('../util/isDate');
var OuterSubscriber_1 = require('../OuterSubscriber');
var subscribeToResult_1 = require('../util/subscribeToResult');
function timeoutWith(due, withObservable, scheduler) {
if (scheduler === void 0) { scheduler = immediate_1.immediate; }
var absoluteTimeout = isDate_1.isDate(due);
var waitFor = absoluteTimeout ? (+due - scheduler.now()) : due;
return this.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));
}
exports.timeoutWith = timeoutWith;
var TimeoutWithOperator = (function () {
function TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler) {
this.waitFor = waitFor;
this.absoluteTimeout = absoluteTimeout;
this.withObservable = withObservable;
this.scheduler = scheduler;
}
TimeoutWithOperator.prototype.call = function (subscriber) {
return new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler);
};
return TimeoutWithOperator;
})();
var TimeoutWithSubscriber = (function (_super) {
__extends(TimeoutWithSubscriber, _super);
function TimeoutWithSubscriber(destination, absoluteTimeout, waitFor, withObservable, scheduler) {
_super.call(this, destination);
this.absoluteTimeout = absoluteTimeout;
this.waitFor = waitFor;
this.withObservable = withObservable;
this.scheduler = scheduler;
this.timeoutSubscription = undefined;
this.timedOut = false;
this.index = 0;
this._previousIndex = 0;
this._hasCompleted = false;
this.scheduleTimeout();
}
Object.defineProperty(TimeoutWithSubscriber.prototype, "previousIndex", {
get: function () {
return this._previousIndex;
},
enumerable: true,
configurable: true
});
Object.defineProperty(TimeoutWithSubscriber.prototype, "hasCompleted", {
get: function () {
return this._hasCompleted;
},
enumerable: true,
configurable: true
});
TimeoutWithSubscriber.dispatchTimeout = function (state) {
var source = state.subscriber;
var currentIndex = state.index;
if (!source.hasCompleted && source.previousIndex === currentIndex) {
source.handleTimeout();
}
};
TimeoutWithSubscriber.prototype.scheduleTimeout = function () {
var currentIndex = this.index;
var timeoutState = { subscriber: this, index: currentIndex };
this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, timeoutState);
this.index++;
this._previousIndex = currentIndex;
};
TimeoutWithSubscriber.prototype._next = function (value) {
if (!this.timedOut) {
this.destination.next(value);
if (!this.absoluteTimeout) {
this.scheduleTimeout();
}
}
};
TimeoutWithSubscriber.prototype._error = function (err) {
if (!this.timedOut) {
this.destination.error(err);
this._hasCompleted = true;
}
};
TimeoutWithSubscriber.prototype._complete = function () {
if (!this.timedOut) {
this.destination.complete();
this._hasCompleted = true;
}
};
TimeoutWithSubscriber.prototype.handleTimeout = function () {
var withObservable = this.withObservable;
this.timedOut = true;
this.add(this.timeoutSubscription = subscribeToResult_1.subscribeToResult(this, withObservable));
};
return TimeoutWithSubscriber;
})(OuterSubscriber_1.OuterSubscriber);
//# sourceMappingURL=timeoutWith.js.map
},{"../OuterSubscriber":17,"../schedulers/immediate":129,"../util/isDate":144,"../util/subscribeToResult":150}],112:[function(require,module,exports){
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('../Subscriber');
function toArray() {
return this.lift(new ToArrayOperator());
}
exports.toArray = toArray;
var ToArrayOperator = (function () {
function ToArrayOperator() {
}
ToArrayOperator.prototype.call = function (subscriber) {
return new ToArraySubscriber(subscriber);
};
return ToArrayOperator;
})();
var ToArraySubscriber = (function (_super) {
__extends(ToArraySubscriber, _super);
function ToArraySubscriber(destination) {
_super.call(this, destination);
this.array = [];
}
ToArraySubscriber.prototype._next = function (x) {
this.array.push(x);
};
ToArraySubscriber.prototype._complete = function () {
this.destination.next(this.array);
this.destination.complete();
};
return ToArraySubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=toArray.js.map
},{"../Subscriber":20}],113:[function(require,module,exports){
var root_1 = require('../util/root');
function toPromise(PromiseCtor) {
var _this = this;
if (!PromiseCtor) {
if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {
PromiseCtor = root_1.root.Rx.config.Promise;
}
else if (root_1.root.Promise) {
PromiseCtor = root_1.root.Promise;
}
}
if (!PromiseCtor) {
throw new Error('no Promise impl found');
}
return new PromiseCtor(function (resolve, reject) {
var value;
_this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });
});
}
exports.toPromise = toPromise;
//# sourceMappingURL=toPromise.js.map
},{"../util/root":149}],114:[function(require,module,exports){
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('../Subscriber');
var Subject_1 = require('../Subject');
function window(closingNotifier) {
return this.lift(new WindowOperator(closingNotifier));
}
exports.window = window;
var WindowOperator = (function () {
function WindowOperator(closingNotifier) {
this.closingNotifier = closingNotifier;
}
WindowOperator.prototype.call = function (subscriber) {
return new WindowSubscriber(subscriber, this.closingNotifier);
};
return WindowOperator;
})();
var WindowSubscriber = (function (_super) {
__extends(WindowSubscriber, _super);
function WindowSubscriber(destination, closingNotifier) {
_super.call(this, destination);
this.closingNotifier = closingNotifier;
this.window = new Subject_1.Subject();
this.add(closingNotifier._subscribe(new WindowClosingNotifierSubscriber(this)));
this.openWindow();
}
WindowSubscriber.prototype._next = function (value) {
this.window.next(value);
};
WindowSubscriber.prototype._error = function (err) {
this.window.error(err);
this.destination.error(err);
};
WindowSubscriber.prototype._complete = function () {
this.window.complete();
this.destination.complete();
};
WindowSubscriber.prototype.openWindow = function () {
var prevWindow = this.window;
if (prevWindow) {
prevWindow.complete();
}
this.destination.next(this.window = new Subject_1.Subject());
};
return WindowSubscriber;
})(Subscriber_1.Subscriber);
var WindowClosingNotifierSubscriber = (function (_super) {
__extends(WindowClosingNotifierSubscriber, _super);
function WindowClosingNotifierSubscriber(parent) {
_super.call(this, null);
this.parent = parent;
}
WindowClosingNotifierSubscriber.prototype._next = function () {
this.parent.openWindow();
};
WindowClosingNotifierSubscriber.prototype._error = function (err) {
this.parent._error(err);
};
WindowClosingNotifierSubscriber.prototype._complete = function () {
this.parent._complete();
};
return WindowClosingNotifierSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=window.js.map
},{"../Subject":19,"../Subscriber":20}],115:[function(require,module,exports){
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('../Subscriber');
var Subject_1 = require('../Subject');
function windowCount(windowSize, startWindowEvery) {
if (startWindowEvery === void 0) { startWindowEvery = 0; }
return this.lift(new WindowCountOperator(windowSize, startWindowEvery));
}
exports.windowCount = windowCount;
var WindowCountOperator = (function () {
function WindowCountOperator(windowSize, startWindowEvery) {
this.windowSize = windowSize;
this.startWindowEvery = startWindowEvery;
}
WindowCountOperator.prototype.call = function (subscriber) {
return new WindowCountSubscriber(subscriber, this.windowSize, this.startWindowEvery);
};
return WindowCountOperator;
})();
var WindowCountSubscriber = (function (_super) {
__extends(WindowCountSubscriber, _super);
function WindowCountSubscriber(destination, windowSize, startWindowEvery) {
_super.call(this, destination);
this.windowSize = windowSize;
this.startWindowEvery = startWindowEvery;
this.windows = [new Subject_1.Subject()];
this.count = 0;
destination.next(this.windows[0]);
}
WindowCountSubscriber.prototype._next = function (value) {
var startWindowEvery = (this.startWindowEvery > 0) ? this.startWindowEvery : this.windowSize;
var windowSize = this.windowSize;
var windows = this.windows;
var len = windows.length;
for (var i = 0; i < len; i++) {
windows[i].next(value);
}
var c = this.count - windowSize + 1;
if (c >= 0 && c % startWindowEvery === 0) {
windows.shift().complete();
}
if (++this.count % startWindowEvery === 0) {
var window_1 = new Subject_1.Subject();
windows.push(window_1);
this.destination.next(window_1);
}
};
WindowCountSubscriber.prototype._error = function (err) {
var windows = this.windows;
while (windows.length > 0) {
windows.shift().error(err);
}
this.destination.error(err);
};
WindowCountSubscriber.prototype._complete = function () {
var windows = this.windows;
while (windows.length > 0) {
windows.shift().complete();
}
this.destination.complete();
};
return WindowCountSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=windowCount.js.map
},{"../Subject":19,"../Subscriber":20}],116:[function(require,module,exports){
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('../Subscriber');
var Subject_1 = require('../Subject');
var nextTick_1 = require('../schedulers/nextTick');
function windowTime(windowTimeSpan, windowCreationInterval, scheduler) {
if (windowCreationInterval === void 0) { windowCreationInterval = null; }
if (scheduler === void 0) { scheduler = nextTick_1.nextTick; }
return this.lift(new WindowTimeOperator(windowTimeSpan, windowCreationInterval, scheduler));
}
exports.windowTime = windowTime;
var WindowTimeOperator = (function () {
function WindowTimeOperator(windowTimeSpan, windowCreationInterval, scheduler) {
this.windowTimeSpan = windowTimeSpan;
this.windowCreationInterval = windowCreationInterval;
this.scheduler = scheduler;
}
WindowTimeOperator.prototype.call = function (subscriber) {
return new WindowTimeSubscriber(subscriber, this.windowTimeSpan, this.windowCreationInterval, this.scheduler);
};
return WindowTimeOperator;
})();
var WindowTimeSubscriber = (function (_super) {
__extends(WindowTimeSubscriber, _super);
function WindowTimeSubscriber(destination, windowTimeSpan, windowCreationInterval, scheduler) {
_super.call(this, destination);
this.windowTimeSpan = windowTimeSpan;
this.windowCreationInterval = windowCreationInterval;
this.scheduler = scheduler;
this.windows = [];
if (windowCreationInterval !== null && windowCreationInterval >= 0) {
var window_1 = this.openWindow();
var closeState = { subscriber: this, window: window_1, context: null };
var creationState = { windowTimeSpan: windowTimeSpan, windowCreationInterval: windowCreationInterval, subscriber: this, scheduler: scheduler };
this.add(scheduler.schedule(dispatchWindowClose, windowTimeSpan, closeState));
this.add(scheduler.schedule(dispatchWindowCreation, windowCreationInterval, creationState));
}
else {
var window_2 = this.openWindow();
var timeSpanOnlyState = { subscriber: this, window: window_2, windowTimeSpan: windowTimeSpan };
this.add(scheduler.schedule(dispatchWindowTimeSpanOnly, windowTimeSpan, timeSpanOnlyState));
}
}
WindowTimeSubscriber.prototype._next = function (value) {
var windows = this.windows;
var len = windows.length;
for (var i = 0; i < len; i++) {
windows[i].next(value);
}
};
WindowTimeSubscriber.prototype._error = function (err) {
var windows = this.windows;
while (windows.length > 0) {
windows.shift().error(err);
}
this.destination.error(err);
};
WindowTimeSubscriber.prototype._complete = function () {
var windows = this.windows;
while (windows.length > 0) {
windows.shift().complete();
}
this.destination.complete();
};
WindowTimeSubscriber.prototype.openWindow = function () {
var window = new Subject_1.Subject();
this.windows.push(window);
this.destination.next(window);
return window;
};
WindowTimeSubscriber.prototype.closeWindow = function (window) {
window.complete();
var windows = this.windows;
windows.splice(windows.indexOf(window), 1);
};
return WindowTimeSubscriber;
})(Subscriber_1.Subscriber);
function dispatchWindowTimeSpanOnly(state) {
var subscriber = state.subscriber, windowTimeSpan = state.windowTimeSpan, window = state.window;
if (window) {
window.complete();
}
state.window = subscriber.openWindow();
this.schedule(state, windowTimeSpan);
}
function dispatchWindowCreation(state) {
var windowTimeSpan = state.windowTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler, windowCreationInterval = state.windowCreationInterval;
var window = subscriber.openWindow();
var action = this;
var context = { action: action, subscription: null };
var timeSpanState = { subscriber: subscriber, window: window, context: context };
context.subscription = scheduler.schedule(dispatchWindowClose, windowTimeSpan, timeSpanState);
action.add(context.subscription);
action.schedule(state, windowCreationInterval);
}
function dispatchWindowClose(_a) {
var subscriber = _a.subscriber, window = _a.window, context = _a.context;
if (context && context.action && context.subscription) {
context.action.remove(context.subscription);
}
subscriber.closeWindow(window);
}
//# sourceMappingURL=windowTime.js.map
},{"../Subject":19,"../Subscriber":20,"../schedulers/nextTick":130}],117:[function(require,module,exports){
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('../Subscriber');
var Subject_1 = require('../Subject');
var Subscription_1 = require('../Subscription');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
function windowToggle(openings, closingSelector) {
return this.lift(new WindowToggleOperator(openings, closingSelector));
}
exports.windowToggle = windowToggle;
var WindowToggleOperator = (function () {
function WindowToggleOperator(openings, closingSelector) {
this.openings = openings;
this.closingSelector = closingSelector;
}
WindowToggleOperator.prototype.call = function (subscriber) {
return new WindowToggleSubscriber(subscriber, this.openings, this.closingSelector);
};
return WindowToggleOperator;
})();
var WindowToggleSubscriber = (function (_super) {
__extends(WindowToggleSubscriber, _super);
function WindowToggleSubscriber(destination, openings, closingSelector) {
_super.call(this, destination);
this.openings = openings;
this.closingSelector = closingSelector;
this.contexts = [];
this.add(this.openings._subscribe(new WindowToggleOpeningsSubscriber(this)));
}
WindowToggleSubscriber.prototype._next = function (value) {
var contexts = this.contexts;
var len = contexts.length;
for (var i = 0; i < len; i++) {
contexts[i].window.next(value);
}
};
WindowToggleSubscriber.prototype._error = function (err) {
var contexts = this.contexts;
while (contexts.length > 0) {
contexts.shift().window.error(err);
}
this.destination.error(err);
};
WindowToggleSubscriber.prototype._complete = function () {
var contexts = this.contexts;
while (contexts.length > 0) {
var context = contexts.shift();
context.window.complete();
context.subscription.unsubscribe();
}
this.destination.complete();
};
WindowToggleSubscriber.prototype.openWindow = function (value) {
var closingSelector = this.closingSelector;
var closingNotifier = tryCatch_1.tryCatch(closingSelector)(value);
if (closingNotifier === errorObject_1.errorObject) {
this.error(closingNotifier.e);
}
else {
var context = {
window: new Subject_1.Subject(),
subscription: new Subscription_1.Subscription()
};
this.contexts.push(context);
this.destination.next(context.window);
var subscriber = new WindowClosingNotifierSubscriber(this, context);
var subscription = closingNotifier._subscribe(subscriber);
this.add(context.subscription.add(subscription));
}
};
WindowToggleSubscriber.prototype.closeWindow = function (context) {
var window = context.window, subscription = context.subscription;
var contexts = this.contexts;
contexts.splice(contexts.indexOf(context), 1);
window.complete();
this.remove(subscription);
subscription.unsubscribe();
};
return WindowToggleSubscriber;
})(Subscriber_1.Subscriber);
var WindowClosingNotifierSubscriber = (function (_super) {
__extends(WindowClosingNotifierSubscriber, _super);
function WindowClosingNotifierSubscriber(parent, windowContext) {
_super.call(this, null);
this.parent = parent;
this.windowContext = windowContext;
}
WindowClosingNotifierSubscriber.prototype._next = function () {
this.parent.closeWindow(this.windowContext);
};
WindowClosingNotifierSubscriber.prototype._error = function (err) {
this.parent.error(err);
};
WindowClosingNotifierSubscriber.prototype._complete = function () {
this.parent.closeWindow(this.windowContext);
};
return WindowClosingNotifierSubscriber;
})(Subscriber_1.Subscriber);
var WindowToggleOpeningsSubscriber = (function (_super) {
__extends(WindowToggleOpeningsSubscriber, _super);
function WindowToggleOpeningsSubscriber(parent) {
_super.call(this);
this.parent = parent;
}
WindowToggleOpeningsSubscriber.prototype._next = function (value) {
this.parent.openWindow(value);
};
WindowToggleOpeningsSubscriber.prototype._error = function (err) {
this.parent.error(err);
};
WindowToggleOpeningsSubscriber.prototype._complete = function () {
// noop
};
return WindowToggleOpeningsSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=windowToggle.js.map
},{"../Subject":19,"../Subscriber":20,"../Subscription":21,"../util/errorObject":143,"../util/tryCatch":152}],118:[function(require,module,exports){
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('../Subscriber');
var Subject_1 = require('../Subject');
var Subscription_1 = require('../Subscription');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
function windowWhen(closingSelector) {
return this.lift(new WindowOperator(closingSelector));
}
exports.windowWhen = windowWhen;
var WindowOperator = (function () {
function WindowOperator(closingSelector) {
this.closingSelector = closingSelector;
}
WindowOperator.prototype.call = function (subscriber) {
return new WindowSubscriber(subscriber, this.closingSelector);
};
return WindowOperator;
})();
var WindowSubscriber = (function (_super) {
__extends(WindowSubscriber, _super);
function WindowSubscriber(destination, closingSelector) {
_super.call(this, destination);
this.closingSelector = closingSelector;
this.window = new Subject_1.Subject();
this.openWindow();
}
WindowSubscriber.prototype._next = function (value) {
this.window.next(value);
};
WindowSubscriber.prototype._error = function (err) {
this.window.error(err);
this.destination.error(err);
this._unsubscribeClosingNotification();
};
WindowSubscriber.prototype._complete = function () {
this.window.complete();
this.destination.complete();
this._unsubscribeClosingNotification();
};
WindowSubscriber.prototype.unsubscribe = function () {
_super.prototype.unsubscribe.call(this);
this._unsubscribeClosingNotification();
};
WindowSubscriber.prototype._unsubscribeClosingNotification = function () {
var closingNotification = this.closingNotification;
if (closingNotification) {
closingNotification.unsubscribe();
}
};
WindowSubscriber.prototype.openWindow = function () {
var prevClosingNotification = this.closingNotification;
if (prevClosingNotification) {
this.remove(prevClosingNotification);
prevClosingNotification.unsubscribe();
}
var prevWindow = this.window;
if (prevWindow) {
prevWindow.complete();
}
this.destination.next(this.window = new Subject_1.Subject());
var closingNotifier = tryCatch_1.tryCatch(this.closingSelector)();
if (closingNotifier === errorObject_1.errorObject) {
var err = closingNotifier.e;
this.destination.error(err);
this.window.error(err);
}
else {
var closingNotification = this.closingNotification = new Subscription_1.Subscription();
this.add(closingNotification.add(closingNotifier._subscribe(new WindowClosingNotifierSubscriber(this))));
}
};
return WindowSubscriber;
})(Subscriber_1.Subscriber);
var WindowClosingNotifierSubscriber = (function (_super) {
__extends(WindowClosingNotifierSubscriber, _super);
function WindowClosingNotifierSubscriber(parent) {
_super.call(this, null);
this.parent = parent;
}
WindowClosingNotifierSubscriber.prototype._next = function () {
this.parent.openWindow();
};
WindowClosingNotifierSubscriber.prototype._error = function (err) {
this.parent.error(err);
};
WindowClosingNotifierSubscriber.prototype._complete = function () {
this.parent.openWindow();
};
return WindowClosingNotifierSubscriber;
})(Subscriber_1.Subscriber);
//# sourceMappingURL=windowWhen.js.map
},{"../Subject":19,"../Subscriber":20,"../Subscription":21,"../util/errorObject":143,"../util/tryCatch":152}],119:[function(require,module,exports){
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 tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var OuterSubscriber_1 = require('../OuterSubscriber');
var subscribeToResult_1 = require('../util/subscribeToResult');
/**
* @param {Observable} observables the observables to get the latest values from.
* @param {Function} [project] optional projection function for merging values together. Receives all values in order
* of observables passed. (e.g. `a.withLatestFrom(b, c, (a1, b1, c1) => a1 + b1 + c1)`). If this is not passed, arrays
* will be returned.
* @description merges each value from an observable with the latest values from the other passed observables.
* All observables must emit at least one value before the resulting observable will emit
*
* #### example
* ```
* A.withLatestFrom(B, C)
*
* A: ----a-----------------b---------------c-----------|
* B: ---d----------------e--------------f---------|
* C: --x----------------y-------------z-------------|
* result: ---([a,d,x])---------([b,e,y])--------([c,f,z])---|
* ```
*/
function withLatestFrom() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i - 0] = arguments[_i];
}
var project;
if (typeof args[args.length - 1] === 'function') {
project = args.pop();
}
var observables = args;
return this.lift(new WithLatestFromOperator(observables, project));
}
exports.withLatestFrom = withLatestFrom;
var WithLatestFromOperator = (function () {
function WithLatestFromOperator(observables, project) {
this.observables = observables;
this.project = project;
}
WithLatestFromOperator.prototype.call = function (subscriber) {
return new WithLatestFromSubscriber(subscriber, this.observables, this.project);
};
return WithLatestFromOperator;
})();
var WithLatestFromSubscriber = (function (_super) {
__extends(WithLatestFromSubscriber, _super);
function WithLatestFromSubscriber(destination, observables, project) {
_super.call(this, destination);
this.observables = observables;
this.project = project;
this.toRespond = [];
var len = observables.length;
this.values = new Array(len);
for (var i = 0; i < len; i++) {
this.toRespond.push(i);
}
for (var i = 0; i < len; i++) {
var observable = observables[i];
this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));
}
}
WithLatestFromSubscriber.prototype.notifyNext = function (observable, value, observableIndex, index) {
this.values[observableIndex] = value;
var toRespond = this.toRespond;
if (toRespond.length > 0) {
var found = toRespond.indexOf(observableIndex);
if (found !== -1) {
toRespond.splice(found, 1);
}
}
};
WithLatestFromSubscriber.prototype.notifyComplete = function () {
// noop
};
WithLatestFromSubscriber.prototype._next = function (value) {
if (this.toRespond.length === 0) {
var values = this.values;
var destination = this.destination;
var project = this.project;
var args = [value].concat(values);
if (project) {
var result = tryCatch_1.tryCatch(this.project).apply(this, args);
if (result === errorObject_1.errorObject) {
destination.error(result.e);
}
else {
destination.next(result);
}
}
else {
destination.next(args);
}
}
};
return WithLatestFromSubscriber;
})(OuterSubscriber_1.OuterSubscriber);
//# sourceMappingURL=withLatestFrom.js.map
},{"../OuterSubscriber":17,"../util/errorObject":143,"../util/subscribeToResult":150,"../util/tryCatch":152}],120:[function(require,module,exports){
var ArrayObservable_1 = require('../observables/ArrayObservable');
var zip_support_1 = require('./zip-support');
function zip() {
var observables = [];
for (var _i = 0; _i < arguments.length; _i++) {
observables[_i - 0] = arguments[_i];
}
var project = observables[observables.length - 1];
if (typeof project === 'function') {
observables.pop();
}
return new ArrayObservable_1.ArrayObservable(observables).lift(new zip_support_1.ZipOperator(project));
}
exports.zip = zip;
//# sourceMappingURL=zip-static.js.map
},{"../observables/ArrayObservable":22,"./zip-support":121}],121:[function(require,module,exports){
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('../Subscriber');
var tryCatch_1 = require('../util/tryCatch');
var errorObject_1 = require('../util/errorObject');
var OuterSubscriber_1 = require('../OuterSubscriber');
var subscribeToResult_1 = require('../util/subscribeToResult');
var Symbol_iterator_1 = require('../util/Symbol_iterator');
var isArray = Array.isArray;
var ZipOperator = (function () {
function ZipOperator(project) {
this.project = project;
}
ZipOperator.prototype.call = function (subscriber) {
return new ZipSubscriber(subscriber, this.project);
};
return ZipOperator;
})();
exports.ZipOperator = ZipOperator;
var ZipSubscriber = (function (_super) {
__extends(ZipSubscriber, _super);
function ZipSubscriber(destination, project, values) {
if (values === void 0) { values = Object.create(null); }
_super.call(this, destination);
this.index = 0;
this.iterators = [];
this.active = 0;
this.project = (typeof project === 'function') ? project : null;
this.values = values;
}
ZipSubscriber.prototype._next = function (value) {
var iterators = this.iterators;
var index = this.index++;
if (isArray(value)) {
iterators.push(new StaticArrayIterator(value));
}
else if (typeof value[Symbol_iterator_1.$$iterator] === 'function') {
iterators.push(new StaticIterator(value[Symbol_iterator_1.$$iterator]()));
}
else {
iterators.push(new ZipBufferIterator(this.destination, this, value, index));
}
};
ZipSubscriber.prototype._complete = function () {
var iterators = this.iterators;
var len = iterators.length;
this.active = len;
for (var i = 0; i < len; i++) {
var iterator = iterators[i];
if (iterator.stillUnsubscribed) {
iterator.subscribe(iterator, i);
}
else {
this.active--; // not an observable
}
}
};
ZipSubscriber.prototype.notifyInactive = function () {
this.active--;
if (this.active === 0) {
this.destination.complete();
}
};
ZipSubscriber.prototype.checkIterators = function () {
var iterators = this.iterators;
var len = iterators.length;
var destination = this.destination;
// abort if not all of them have values
for (var i = 0; i < len; i++) {
var iterator = iterators[i];
if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {
return;
}
}
var shouldComplete = false;
var args = [];
for (var i = 0; i < len; i++) {
var iterator = iterators[i];
var result = iterator.next();
// check to see if it's completed now that you've gotten
// the next value.
if (iterator.hasCompleted()) {
shouldComplete = true;
}
if (result.done) {
destination.complete();
return;
}
args.push(result.value);
}
var project = this.project;
if (project) {
var result = tryCatch_1.tryCatch(project).apply(this, args);
if (result === errorObject_1.errorObject) {
destination.error(errorObject_1.errorObject.e);
}
else {
destination.next(result);
}
}
else {
destination.next(args);
}
if (shouldComplete) {
destination.complete();
}
};
return ZipSubscriber;
})(Subscriber_1.Subscriber);
exports.ZipSubscriber = ZipSubscriber;
var StaticIterator = (function () {
function StaticIterator(iterator) {
this.iterator = iterator;
this.nextResult = iterator.next();
}
StaticIterator.prototype.hasValue = function () {
return true;
};
StaticIterator.prototype.next = function () {
var result = this.nextResult;
this.nextResult = this.iterator.next();
return result;
};
StaticIterator.prototype.hasCompleted = function () {
var nextResult = this.nextResult;
return nextResult && nextResult.done;
};
return StaticIterator;
})();
var StaticArrayIterator = (function () {
function StaticArrayIterator(array) {
this.array = array;
this.index = 0;
this.length = 0;
this.length = array.length;
}
StaticArrayIterator.prototype[Symbol_iterator_1.$$iterator] = function () {
return this;
};
StaticArrayIterator.prototype.next = function (value) {
var i = this.index++;
var array = this.array;
return i < this.length ? { value: array[i], done: false } : { done: true };
};
StaticArrayIterator.prototype.hasValue = function () {
return this.array.length > this.index;
};
StaticArrayIterator.prototype.hasCompleted = function () {
return this.array.length === this.index;
};
return StaticArrayIterator;
})();
var ZipBufferIterator = (function (_super) {
__extends(ZipBufferIterator, _super);
function ZipBufferIterator(destination, parent, observable, index) {
_super.call(this, destination);
this.parent = parent;
this.observable = observable;
this.index = index;
this.stillUnsubscribed = true;
this.buffer = [];
this.isComplete = false;
}
ZipBufferIterator.prototype[Symbol_iterator_1.$$iterator] = function () {
return this;
};
// NOTE: there is actually a name collision here with Subscriber.next and Iterator.next
// this is legit because `next()` will never be called by a subscription in this case.
ZipBufferIterator.prototype.next = function () {
var buffer = this.buffer;
if (buffer.length === 0 && this.isComplete) {
return { done: true };
}
else {
return { value: buffer.shift(), done: false };
}
};
ZipBufferIterator.prototype.hasValue = function () {
return this.buffer.length > 0;
};
ZipBufferIterator.prototype.hasCompleted = function () {
return this.buffer.length === 0 && this.isComplete;
};
ZipBufferIterator.prototype.notifyComplete = function () {
if (this.buffer.length > 0) {
this.isComplete = true;
this.parent.notifyInactive();
}
else {
this.destination.complete();
}
};
ZipBufferIterator.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {
this.buffer.push(innerValue);
this.parent.checkIterators();
};
ZipBufferIterator.prototype.subscribe = function (value, index) {
this.add(subscribeToResult_1.subscribeToResult(this, this.observable, this, index));
};
return ZipBufferIterator;
})(OuterSubscriber_1.OuterSubscriber);
//# sourceMappingURL=zip-support.js.map
},{"../OuterSubscriber":17,"../Subscriber":20,"../util/Symbol_iterator":140,"../util/errorObject":143,"../util/subscribeToResult":150,"../util/tryCatch":152}],122:[function(require,module,exports){
var zip_static_1 = require('./zip-static');
function zipProto() {
var observables = [];
for (var _i = 0; _i < arguments.length; _i++) {
observables[_i - 0] = arguments[_i];
}
observables.unshift(this);
return zip_static_1.zip.apply(this, observables);
}
exports.zipProto = zipProto;
//# sourceMappingURL=zip.js.map
},{"./zip-static":120}],123:[function(require,module,exports){
var zip_support_1 = require('./zip-support');
function zipAll(project) {
return this.lift(new zip_support_1.ZipOperator(project));
}
exports.zipAll = zipAll;
//# sourceMappingURL=zipAll.js.map
},{"./zip-support":121}],124:[function(require,module,exports){
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 ImmediateAction_1 = require('./ImmediateAction');
var FutureAction = (function (_super) {
__extends(FutureAction, _super);
function FutureAction(scheduler, work) {
_super.call(this, scheduler, work);
this.scheduler = scheduler;
this.work = work;
}
FutureAction.prototype.schedule = function (state, delay) {
var _this = this;
if (delay === void 0) { delay = 0; }
if (this.isUnsubscribed) {
return this;
}
this.delay = delay;
this.state = state;
var id = this.id;
if (id != null) {
this.id = undefined;
clearTimeout(id);
}
var scheduler = this.scheduler;
this.id = setTimeout(function () {
_this.id = void 0;
scheduler.actions.push(_this);
scheduler.flush();
}, this.delay);
return this;
};
FutureAction.prototype.unsubscribe = function () {
var id = this.id;
if (id != null) {
this.id = void 0;
clearTimeout(id);
}
_super.prototype.unsubscribe.call(this);
};
return FutureAction;
})(ImmediateAction_1.ImmediateAction);
exports.FutureAction = FutureAction;
//# sourceMappingURL=FutureAction.js.map
},{"./ImmediateAction":125}],125:[function(require,module,exports){
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('../Subscription');
var ImmediateAction = (function (_super) {
__extends(ImmediateAction, _super);
function ImmediateAction(scheduler, work) {
_super.call(this);
this.scheduler = scheduler;
this.work = work;
}
ImmediateAction.prototype.schedule = function (state) {
if (this.isUnsubscribed) {
return this;
}
this.state = state;
var scheduler = this.scheduler;
scheduler.actions.push(this);
scheduler.flush();
return this;
};
ImmediateAction.prototype.execute = function () {
if (this.isUnsubscribed) {
throw new Error('How did did we execute a canceled Action?');
}
this.work(this.state);
};
ImmediateAction.prototype.unsubscribe = function () {
var scheduler = this.scheduler;
var actions = scheduler.actions;
var index = actions.indexOf(this);
this.work = void 0;
this.state = void 0;
this.scheduler = void 0;
if (index !== -1) {
actions.splice(index, 1);
}
_super.prototype.unsubscribe.call(this);
};
return ImmediateAction;
})(Subscription_1.Subscription);
exports.ImmediateAction = ImmediateAction;
//# sourceMappingURL=ImmediateAction.js.map
},{"../Subscription":21}],126:[function(require,module,exports){
var ImmediateAction_1 = require('./ImmediateAction');
var FutureAction_1 = require('./FutureAction');
var ImmediateScheduler = (function () {
function ImmediateScheduler() {
this.actions = [];
this.active = false;
this.scheduled = false;
}
ImmediateScheduler.prototype.now = function () {
return Date.now();
};
ImmediateScheduler.prototype.flush = function () {
if (this.active || this.scheduled) {
return;
}
this.active = true;
var actions = this.actions;
for (var action = void 0; action = actions.shift();) {
action.execute();
}
this.active = false;
};
ImmediateScheduler.prototype.schedule = function (work, delay, state) {
if (delay === void 0) { delay = 0; }
return (delay <= 0) ?
this.scheduleNow(work, state) :
this.scheduleLater(work, delay, state);
};
ImmediateScheduler.prototype.scheduleNow = function (work, state) {
return new ImmediateAction_1.ImmediateAction(this, work).schedule(state);
};
ImmediateScheduler.prototype.scheduleLater = function (work, delay, state) {
return new FutureAction_1.FutureAction(this, work).schedule(state, delay);
};
return ImmediateScheduler;
})();
exports.ImmediateScheduler = ImmediateScheduler;
//# sourceMappingURL=ImmediateScheduler.js.map
},{"./FutureAction":124,"./ImmediateAction":125}],127:[function(require,module,exports){
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 Immediate_1 = require('../util/Immediate');
var ImmediateAction_1 = require('./ImmediateAction');
var NextTickAction = (function (_super) {
__extends(NextTickAction, _super);
function NextTickAction() {
_super.apply(this, arguments);
}
NextTickAction.prototype.schedule = function (state) {
var _this = this;
if (this.isUnsubscribed) {
return this;
}
this.state = state;
var scheduler = this.scheduler;
scheduler.actions.push(this);
if (!scheduler.scheduled) {
scheduler.scheduled = true;
this.id = Immediate_1.Immediate.setImmediate(function () {
_this.id = null;
_this.scheduler.scheduled = false;
_this.scheduler.flush();
});
}
return this;
};
NextTickAction.prototype.unsubscribe = function () {
var id = this.id;
var scheduler = this.scheduler;
_super.prototype.unsubscribe.call(this);
if (scheduler.actions.length === 0) {
scheduler.active = false;
scheduler.scheduled = false;
}
if (id) {
this.id = null;
Immediate_1.Immediate.clearImmediate(id);
}
};
return NextTickAction;
})(ImmediateAction_1.ImmediateAction);
exports.NextTickAction = NextTickAction;
//# sourceMappingURL=NextTickAction.js.map
},{"../util/Immediate":137,"./ImmediateAction":125}],128:[function(require,module,exports){
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 ImmediateScheduler_1 = require('./ImmediateScheduler');
var NextTickAction_1 = require('./NextTickAction');
var ImmediateAction_1 = require('./ImmediateAction');
var NextTickScheduler = (function (_super) {
__extends(NextTickScheduler, _super);
function NextTickScheduler() {
_super.apply(this, arguments);
}
NextTickScheduler.prototype.scheduleNow = function (work, state) {
return (this.scheduled ?
new ImmediateAction_1.ImmediateAction(this, work) :
new NextTickAction_1.NextTickAction(this, work)).schedule(state);
};
return NextTickScheduler;
})(ImmediateScheduler_1.ImmediateScheduler);
exports.NextTickScheduler = NextTickScheduler;
//# sourceMappingURL=NextTickScheduler.js.map
},{"./ImmediateAction":125,"./ImmediateScheduler":126,"./NextTickAction":127}],129:[function(require,module,exports){
var ImmediateScheduler_1 = require('./ImmediateScheduler');
exports.immediate = new ImmediateScheduler_1.ImmediateScheduler();
//# sourceMappingURL=immediate.js.map
},{"./ImmediateScheduler":126}],130:[function(require,module,exports){
var NextTickScheduler_1 = require('./NextTickScheduler');
exports.nextTick = new NextTickScheduler_1.NextTickScheduler();
//# sourceMappingURL=nextTick.js.map
},{"./NextTickScheduler":128}],131:[function(require,module,exports){
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('../Subject');
var BehaviorSubject = (function (_super) {
__extends(BehaviorSubject, _super);
function BehaviorSubject(value) {
_super.call(this);
this.value = value;
}
BehaviorSubject.prototype._subscribe = function (subscriber) {
var subscription = _super.prototype._subscribe.call(this, subscriber);
if (!subscription) {
return;
}
else if (!subscription.isUnsubscribed) {
subscriber.next(this.value);
}
return subscription;
};
BehaviorSubject.prototype._next = function (value) {
_super.prototype._next.call(this, this.value = value);
};
return BehaviorSubject;
})(Subject_1.Subject);
exports.BehaviorSubject = BehaviorSubject;
//# sourceMappingURL=BehaviorSubject.js.map
},{"../Subject":19}],132:[function(require,module,exports){
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('../Subject');
var immediate_1 = require('../schedulers/immediate');
var ReplaySubject = (function (_super) {
__extends(ReplaySubject, _super);
function ReplaySubject(bufferSize, windowTime, scheduler) {
if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }
if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }
_super.call(this);
this.events = [];
this.bufferSize = bufferSize < 1 ? 1 : bufferSize;
this._windowTime = windowTime < 1 ? 1 : windowTime;
this.scheduler = scheduler;
}
ReplaySubject.prototype._next = function (value) {
var now = this._getNow();
this.events.push(new ReplayEvent(now, value));
_super.prototype._next.call(this, value);
};
ReplaySubject.prototype._subscribe = function (subscriber) {
var events = this._getEvents(this._getNow());
var index = -1;
var len = events.length;
while (!subscriber.isUnsubscribed && ++index < len) {
subscriber.next(events[index].value);
}
return _super.prototype._subscribe.call(this, subscriber);
};
ReplaySubject.prototype._getNow = function () {
return (this.scheduler || immediate_1.immediate).now();
};
ReplaySubject.prototype._getEvents = function (now) {
var bufferSize = this.bufferSize;
var _windowTime = this._windowTime;
var events = this.events;
var eventsCount = events.length;
var spliceCount = 0;
// Trim events that fall out of the time window.
// Start at the front of the list. Break early once
// we encounter an event that falls within the window.
while (spliceCount < eventsCount) {
if ((now - events[spliceCount].time) < _windowTime) {
break;
}
spliceCount += 1;
}
if (eventsCount > bufferSize) {
spliceCount = Math.max(spliceCount, eventsCount - bufferSize);
}
if (spliceCount > 0) {
events.splice(0, spliceCount);
}
return events;
};
return ReplaySubject;
})(Subject_1.Subject);
exports.ReplaySubject = ReplaySubject;
var ReplayEvent = (function () {
function ReplayEvent(time, value) {
this.time = time;
this.value = value;
}
return ReplayEvent;
})();
//# sourceMappingURL=ReplaySubject.js.map
},{"../Subject":19,"../schedulers/immediate":129}],133:[function(require,module,exports){
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('../Subscription');
var Subscriber_1 = require('../Subscriber');
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 = void 0;
if (!observers || observers.length === 0 || subject.isUnsubscribed) {
return;
}
if (this.observer instanceof Subscriber_1.Subscriber) {
this.observer.unsubscribe();
}
var subscriberIndex = observers.indexOf(this.observer);
if (subscriberIndex !== -1) {
observers.splice(subscriberIndex, 1);
}
};
return SubjectSubscription;
})(Subscription_1.Subscription);
exports.SubjectSubscription = SubjectSubscription;
//# sourceMappingURL=SubjectSubscription.js.map
},{"../Subscriber":20,"../Subscription":21}],134:[function(require,module,exports){
var ArgumentOutOfRangeError = (function () {
function ArgumentOutOfRangeError() {
this.name = 'ArgumentOutOfRangeError';
this.message = 'argument out of range';
}
return ArgumentOutOfRangeError;
})();
exports.ArgumentOutOfRangeError = ArgumentOutOfRangeError;
//# sourceMappingURL=ArgumentOutOfRangeError.js.map
},{}],135:[function(require,module,exports){
var EmptyError = (function () {
function EmptyError() {
this.name = 'EmptyError';
this.message = 'no elements in sequence';
}
return EmptyError;
})();
exports.EmptyError = EmptyError;
//# sourceMappingURL=EmptyError.js.map
},{}],136:[function(require,module,exports){
var FastMap = (function () {
function FastMap() {
this.size = 0;
this._values = {};
}
FastMap.prototype.delete = function (key) {
this._values[key] = null;
return true;
};
FastMap.prototype.set = function (key, value) {
this._values[key] = value;
return this;
};
FastMap.prototype.get = function (key) {
return this._values[key];
};
FastMap.prototype.forEach = function (cb, thisArg) {
var values = this._values;
for (var key in values) {
if (values.hasOwnProperty(key) && values[key] !== null) {
cb.call(thisArg, values[key], key);
}
}
};
FastMap.prototype.clear = function () {
this._values = {};
};
return FastMap;
})();
exports.FastMap = FastMap;
//# sourceMappingURL=FastMap.js.map
},{}],137:[function(require,module,exports){
/**
Some credit for this helper goes to http://github.com/YuzuJS/setImmediate
*/
var root_1 = require('./root');
var ImmediateDefinition = (function () {
function ImmediateDefinition(root) {
this.root = root;
if (root.setImmediate) {
this.setImmediate = root.setImmediate;
this.clearImmediate = root.clearImmediate;
}
else {
this.nextHandle = 1;
this.tasksByHandle = {};
this.currentlyRunningATask = false;
// Don't get fooled by e.g. browserify environments.
if (this.canUseProcessNextTick()) {
// For Node.js before 0.9
this.setImmediate = this.createProcessNextTickSetImmediate();
}
else if (this.canUsePostMessage()) {
// For non-IE10 modern browsers
this.setImmediate = this.createPostMessageSetImmediate();
}
else if (this.canUseMessageChannel()) {
// For web workers, where supported
this.setImmediate = this.createMessageChannelSetImmediate();
}
else if (this.canUseReadyStateChange()) {
// For IE 68
this.setImmediate = this.createReadyStateChangeSetImmediate();
}
else {
// For older browsers
this.setImmediate = this.createSetTimeoutSetImmediate();
}
var ci = function clearImmediate(handle) {
delete clearImmediate.instance.tasksByHandle[handle];
};
ci.instance = this;
this.clearImmediate = ci;
}
}
ImmediateDefinition.prototype.identify = function (o) {
return this.root.Object.prototype.toString.call(o);
};
ImmediateDefinition.prototype.canUseProcessNextTick = function () {
return this.identify(this.root.process) === '[object process]';
};
ImmediateDefinition.prototype.canUseMessageChannel = function () {
return Boolean(this.root.MessageChannel);
};
ImmediateDefinition.prototype.canUseReadyStateChange = function () {
var document = this.root.document;
return Boolean(document && 'onreadystatechange' in document.createElement('script'));
};
ImmediateDefinition.prototype.canUsePostMessage = function () {
var root = this.root;
// The test against `importScripts` prevents this implementation from being installed inside a web worker,
// where `root.postMessage` means something completely different and can't be used for this purpose.
if (root.postMessage && !root.importScripts) {
var postMessageIsAsynchronous = true;
var oldOnMessage = root.onmessage;
root.onmessage = function () {
postMessageIsAsynchronous = false;
};
root.postMessage('', '*');
root.onmessage = oldOnMessage;
return postMessageIsAsynchronous;
}
return false;
};
// This function accepts the same arguments as setImmediate, but
// returns a function that requires no arguments.
ImmediateDefinition.prototype.partiallyApplied = function (handler) {
var args = [];
for (var _i = 1; _i < arguments.length; _i++) {
args[_i - 1] = arguments[_i];
}
var fn = function result() {
var _a = result, handler = _a.handler, args = _a.args;
if (typeof handler === 'function') {
handler.apply(undefined, args);
}
else {
(new Function('' + handler))();
}
};
fn.handler = handler;
fn.args = args;
return fn;
};
ImmediateDefinition.prototype.addFromSetImmediateArguments = function (args) {
this.tasksByHandle[this.nextHandle] = this.partiallyApplied.apply(undefined, args);
return this.nextHandle++;
};
ImmediateDefinition.prototype.createProcessNextTickSetImmediate = function () {
var fn = function setImmediate() {
var instance = setImmediate.instance;
var handle = instance.addFromSetImmediateArguments(arguments);
instance.root.process.nextTick(instance.partiallyApplied(instance.runIfPresent, handle));
return handle;
};
fn.instance = this;
return fn;
};
ImmediateDefinition.prototype.createPostMessageSetImmediate = function () {
// Installs an event handler on `global` for the `message` event: see
// * https://developer.mozilla.org/en/DOM/window.postMessage
// * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages
var root = this.root;
var messagePrefix = 'setImmediate$' + root.Math.random() + '$';
var onGlobalMessage = function globalMessageHandler(event) {
var instance = globalMessageHandler.instance;
if (event.source === root &&
typeof event.data === 'string' &&
event.data.indexOf(messagePrefix) === 0) {
instance.runIfPresent(+event.data.slice(messagePrefix.length));
}
};
onGlobalMessage.instance = this;
root.addEventListener('message', onGlobalMessage, false);
var fn = function setImmediate() {
var _a = setImmediate, messagePrefix = _a.messagePrefix, instance = _a.instance;
var handle = instance.addFromSetImmediateArguments(arguments);
instance.root.postMessage(messagePrefix + handle, '*');
return handle;
};
fn.instance = this;
fn.messagePrefix = messagePrefix;
return fn;
};
ImmediateDefinition.prototype.runIfPresent = function (handle) {
// From the spec: 'Wait until any invocations of this algorithm started before this one have completed.'
// So if we're currently running a task, we'll need to delay this invocation.
if (this.currentlyRunningATask) {
// Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a
// 'too much recursion' error.
this.root.setTimeout(this.partiallyApplied(this.runIfPresent, handle), 0);
}
else {
var task = this.tasksByHandle[handle];
if (task) {
this.currentlyRunningATask = true;
try {
task();
}
finally {
this.clearImmediate(handle);
this.currentlyRunningATask = false;
}
}
}
};
ImmediateDefinition.prototype.createMessageChannelSetImmediate = function () {
var _this = this;
var channel = new this.root.MessageChannel();
channel.port1.onmessage = function (event) {
var handle = event.data;
_this.runIfPresent(handle);
};
var fn = function setImmediate() {
var _a = setImmediate, channel = _a.channel, instance = _a.instance;
var handle = instance.addFromSetImmediateArguments(arguments);
channel.port2.postMessage(handle);
return handle;
};
fn.channel = channel;
fn.instance = this;
return fn;
};
ImmediateDefinition.prototype.createReadyStateChangeSetImmediate = function () {
var fn = function setImmediate() {
var instance = setImmediate.instance;
var root = instance.root;
var doc = root.document;
var html = doc.documentElement;
var handle = instance.addFromSetImmediateArguments(arguments);
// Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted
// into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.
var script = doc.createElement('script');
script.onreadystatechange = function () {
instance.runIfPresent(handle);
script.onreadystatechange = null;
html.removeChild(script);
script = null;
};
html.appendChild(script);
return handle;
};
fn.instance = this;
return fn;
};
ImmediateDefinition.prototype.createSetTimeoutSetImmediate = function () {
var fn = function setImmediate() {
var instance = setImmediate.instance;
var handle = instance.addFromSetImmediateArguments(arguments);
instance.root.setTimeout(instance.partiallyApplied(instance.runIfPresent, handle), 0);
return handle;
};
fn.instance = this;
return fn;
};
return ImmediateDefinition;
})();
exports.ImmediateDefinition = ImmediateDefinition;
exports.Immediate = new ImmediateDefinition(root_1.root);
//# sourceMappingURL=Immediate.js.map
},{"./root":149}],138:[function(require,module,exports){
var root_1 = require('./root');
var MapPolyfill_1 = require('./MapPolyfill');
exports.Map = root_1.root.Map || (function () { return MapPolyfill_1.MapPolyfill; })();
//# sourceMappingURL=Map.js.map
},{"./MapPolyfill":139,"./root":149}],139:[function(require,module,exports){
var MapPolyfill = (function () {
function MapPolyfill() {
this.size = 0;
this._values = [];
this._keys = [];
}
MapPolyfill.prototype.get = function (key) {
var i = this._keys.indexOf(key);
return i === -1 ? undefined : this._values[i];
};
MapPolyfill.prototype.set = function (key, value) {
var i = this._keys.indexOf(key);
if (i === -1) {
this._keys.push(key);
this._values.push(value);
this.size++;
}
else {
this._values[i] = value;
}
return this;
};
MapPolyfill.prototype.delete = function (key) {
var i = this._keys.indexOf(key);
if (i === -1) {
return false;
}
this._values.splice(i, 1);
this._keys.splice(i, 1);
this.size--;
return true;
};
MapPolyfill.prototype.forEach = function (cb, thisArg) {
for (var i = 0; i < this.size; i++) {
cb.call(thisArg, this._values[i], this._keys[i]);
}
};
return MapPolyfill;
})();
exports.MapPolyfill = MapPolyfill;
//# sourceMappingURL=MapPolyfill.js.map
},{}],140:[function(require,module,exports){
var root_1 = require('./root');
if (!root_1.root.Symbol) {
root_1.root.Symbol = {};
}
if (!root_1.root.Symbol.iterator) {
if (typeof root_1.root.Symbol.for === 'function') {
root_1.root.Symbol.iterator = root_1.root.Symbol.for('iterator');
}
else if (root_1.root.Set && typeof new root_1.root.Set()['@@iterator'] === 'function') {
// Bug for mozilla version
root_1.root.Symbol.iterator = '@@iterator';
}
else if (root_1.root.Map) {
// es6-shim specific logic
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']) {
root_1.root.Symbol.iterator = key;
break;
}
}
}
else {
root_1.root.Symbol.iterator = '@@iterator';
}
}
exports.$$iterator = root_1.root.Symbol.iterator;
// // Shim in iterator support
// export var $iterator$ = (typeof Symbol === 'function' && Symbol.iterator) || '_es6shim_iterator_';
// // Bug for mozilla version
// if (root.Set && typeof new root.Set()['@@iterator'] === 'function') {
// $iterator$ = '@@iterator';
// }
//# sourceMappingURL=Symbol_iterator.js.map
},{"./root":149}],141:[function(require,module,exports){
var root_1 = require('./root');
if (!root_1.root.Symbol) {
root_1.root.Symbol = {};
}
if (!root_1.root.Symbol.observable) {
if (typeof root_1.root.Symbol.for === 'function') {
root_1.root.Symbol.observable = root_1.root.Symbol.for('observable');
}
else {
root_1.root.Symbol.observable = '@@observable';
}
}
exports.$$observable = root_1.root.Symbol.observable;
//# sourceMappingURL=Symbol_observable.js.map
},{"./root":149}],142:[function(require,module,exports){
function bindCallback(func, thisArg, argCount) {
if (typeof thisArg === 'undefined') {
return func;
}
switch (argCount) {
case 0:
return function () {
return func.call(thisArg);
};
case 1:
return function (arg) {
return func.call(thisArg, arg);
};
case 2:
return function (value, index) {
return func.call(thisArg, value, index);
};
case 3:
return function (value, index, collection) {
return func.call(thisArg, value, index, collection);
};
}
return function () {
return func.apply(thisArg, arguments);
};
}
exports.bindCallback = bindCallback;
;
//# sourceMappingURL=bindCallback.js.map
},{}],143:[function(require,module,exports){
exports.errorObject = { e: {} };
//# sourceMappingURL=errorObject.js.map
},{}],144:[function(require,module,exports){
function isDate(value) {
return value instanceof Date && !isNaN(+value);
}
exports.isDate = isDate;
//# sourceMappingURL=isDate.js.map
},{}],145:[function(require,module,exports){
var is_array = Array.isArray;
function isNumeric(val) {
// parseFloat NaNs numeric-cast false positives (null|true|false|"")
// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
// subtraction forces infinities to NaN
// adding 1 corrects loss of precision from parseFloat (#15100)
return !is_array(val) && (val - parseFloat(val) + 1) >= 0;
}
exports.isNumeric = isNumeric;
;
//# sourceMappingURL=isNumeric.js.map
},{}],146:[function(require,module,exports){
function isPromise(value) {
return value && typeof value.subscribe !== 'function' && typeof value.then === 'function';
}
exports.isPromise = isPromise;
//# sourceMappingURL=isPromise.js.map
},{}],147:[function(require,module,exports){
/* tslint:disable:no-empty */
function noop() { }
exports.noop = noop;
//# sourceMappingURL=noop.js.map
},{}],148:[function(require,module,exports){
function not(pred, thisArg) {
function notPred() {
return !(notPred.pred.apply(notPred.thisArg, arguments));
}
notPred.pred = pred;
notPred.thisArg = thisArg;
return notPred;
}
exports.not = not;
//# sourceMappingURL=not.js.map
},{}],149:[function(require,module,exports){
(function (global){
var objectTypes = {
'boolean': false,
'function': true,
'object': true,
'number': false,
'string': false,
'undefined': false
};
exports.root = (objectTypes[typeof self] && self) || (objectTypes[typeof window] && window);
/* tslint:disable:no-unused-variable */
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;
}
//# sourceMappingURL=root.js.map
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],150:[function(require,module,exports){
var Observable_1 = require('../Observable');
var Symbol_iterator_1 = require('../util/Symbol_iterator');
var Symbol_observable_1 = require('../util/Symbol_observable');
var InnerSubscriber_1 = require('../InnerSubscriber');
var isArray = Array.isArray;
function subscribeToResult(outerSubscriber, result, outerValue, outerIndex) {
var destination = new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex);
if (destination.isUnsubscribed) {
return;
}
if (result instanceof Observable_1.Observable) {
if (result._isScalar) {
destination.next(result.value);
destination.complete();
return;
}
else {
return result.subscribe(destination);
}
}
if (isArray(result)) {
for (var i = 0, len = result.length; i < len && !destination.isUnsubscribed; i++) {
destination.next(result[i]);
}
if (!destination.isUnsubscribed) {
destination.complete();
}
}
else if (typeof result.then === 'function') {
result.then(function (x) {
if (!destination.isUnsubscribed) {
destination.next(x);
destination.complete();
}
}, function (err) { return destination.error(err); })
.then(null, function (err) {
// Escaping the Promise trap: globally throw unhandled errors
setTimeout(function () { throw err; });
});
return destination;
}
else if (typeof result[Symbol_iterator_1.$$iterator] === 'function') {
for (var _i = 0; _i < result.length; _i++) {
var item = result[_i];
destination.next(item);
if (destination.isUnsubscribed) {
break;
}
}
if (!destination.isUnsubscribed) {
destination.complete();
}
}
else if (typeof result[Symbol_observable_1.$$observable] === 'function') {
var obs = result[Symbol_observable_1.$$observable]();
if (typeof obs.subscribe !== 'function') {
destination.error('invalid observable');
}
else {
return obs.subscribe(new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex));
}
}
else {
destination.error(new TypeError('unknown type returned'));
}
}
exports.subscribeToResult = subscribeToResult;
//# sourceMappingURL=subscribeToResult.js.map
},{"../InnerSubscriber":14,"../Observable":16,"../util/Symbol_iterator":140,"../util/Symbol_observable":141}],151:[function(require,module,exports){
function throwError(e) { throw e; }
exports.throwError = throwError;
//# sourceMappingURL=throwError.js.map
},{}],152:[function(require,module,exports){
var errorObject_1 = require('./errorObject');
var tryCatchTarget;
function tryCatcher() {
try {
return tryCatchTarget.apply(this, arguments);
}
catch (e) {
errorObject_1.errorObject.e = e;
return errorObject_1.errorObject;
}
}
function tryCatch(fn) {
tryCatchTarget = fn;
return tryCatcher;
}
exports.tryCatch = tryCatch;
;
//# sourceMappingURL=tryCatch.js.map
},{"./errorObject":143}],153:[function(require,module,exports){
function tryOrOnError(target) {
function tryCatcher() {
try {
tryCatcher.target.apply(this, arguments);
}
catch (e) {
this.error(e);
}
}
tryCatcher.target = target;
return tryCatcher;
}
exports.tryOrOnError = tryOrOnError;
//# sourceMappingURL=tryOrOnError.js.map
},{}]},{},[1]);