Socket
Socket
Sign inDemoInstall

rxjs

Package Overview
Dependencies
0
Maintainers
3
Versions
165
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 8.0.0-alpha.10 to 8.0.0-alpha.11

173

dist/cjs/internal/ajax/ajax.js
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromAjax = exports.ajax = void 0;
var map_1 = require("../operators/map");
var Observable_1 = require("../Observable");
var AjaxResponse_1 = require("./AjaxResponse");
var errors_1 = require("./errors");
const map_1 = require("../operators/map");
const Observable_1 = require("../Observable");
const AjaxResponse_1 = require("./AjaxResponse");
const errors_1 = require("./errors");
function ajaxGet(url, headers) {
return (0, exports.ajax)({ method: 'GET', url: url, headers: headers });
return (0, exports.ajax)({ method: 'GET', url, headers });
}
function ajaxPost(url, body, headers) {
return (0, exports.ajax)({ method: 'POST', url: url, body: body, headers: headers });
return (0, exports.ajax)({ method: 'POST', url, body, headers });
}
function ajaxDelete(url, headers) {
return (0, exports.ajax)({ method: 'DELETE', url: url, headers: headers });
return (0, exports.ajax)({ method: 'DELETE', url, headers });
}
function ajaxPut(url, body, headers) {
return (0, exports.ajax)({ method: 'PUT', url: url, body: body, headers: headers });
return (0, exports.ajax)({ method: 'PUT', url, body, headers });
}
function ajaxPatch(url, body, headers) {
return (0, exports.ajax)({ method: 'PATCH', url: url, body: body, headers: headers });
return (0, exports.ajax)({ method: 'PATCH', url, body, headers });
}
var mapResponse = (0, map_1.map)(function (x) { return x.response; });
const mapResponse = (0, map_1.map)((x) => x.response);
function ajaxGetJSON(url, headers) {
return mapResponse((0, exports.ajax)({
method: 'GET',
url: url,
headers: headers,
url,
headers,
}));
}
exports.ajax = (function () {
var create = function (urlOrConfig) {
var config = typeof urlOrConfig === 'string'
exports.ajax = (() => {
const create = (urlOrConfig) => {
const config = typeof urlOrConfig === 'string'
? {

@@ -59,13 +48,20 @@ url: urlOrConfig,

})();
var UPLOAD = 'upload';
var DOWNLOAD = 'download';
var LOADSTART = 'loadstart';
var PROGRESS = 'progress';
var LOAD = 'load';
const UPLOAD = 'upload';
const DOWNLOAD = 'download';
const LOADSTART = 'loadstart';
const PROGRESS = 'progress';
const LOAD = 'load';
function fromAjax(init) {
return new Observable_1.Observable(function (destination) {
var _a, _b;
var config = __assign({ async: true, crossDomain: false, withCredentials: false, method: 'GET', timeout: 0, responseType: 'json' }, init);
var queryParams = config.queryParams, configuredBody = config.body, configuredHeaders = config.headers;
var url = config.url;
return new Observable_1.Observable((destination) => {
const config = {
async: true,
crossDomain: false,
withCredentials: false,
method: 'GET',
timeout: 0,
responseType: 'json',
...init,
};
const { queryParams, body: configuredBody, headers: configuredHeaders } = config;
let url = config.url;
if (!url) {

@@ -75,20 +71,20 @@ throw new TypeError('url is required');

if (queryParams) {
var searchParams_1;
let searchParams;
if (url.includes('?')) {
var parts = url.split('?');
const parts = url.split('?');
if (2 < parts.length) {
throw new TypeError('invalid url');
}
searchParams_1 = new URLSearchParams(parts[1]);
new URLSearchParams(queryParams).forEach(function (value, key) { return searchParams_1.set(key, value); });
url = parts[0] + '?' + searchParams_1;
searchParams = new URLSearchParams(parts[1]);
new URLSearchParams(queryParams).forEach((value, key) => searchParams.set(key, value));
url = parts[0] + '?' + searchParams;
}
else {
searchParams_1 = new URLSearchParams(queryParams);
url = url + '?' + searchParams_1;
searchParams = new URLSearchParams(queryParams);
url = url + '?' + searchParams;
}
}
var headers = {};
const headers = {};
if (configuredHeaders) {
for (var key in configuredHeaders) {
for (const key in configuredHeaders) {
if (configuredHeaders.hasOwnProperty(key)) {

@@ -99,9 +95,9 @@ headers[key.toLowerCase()] = configuredHeaders[key];

}
var crossDomain = config.crossDomain;
const crossDomain = config.crossDomain;
if (!crossDomain && !('x-requested-with' in headers)) {
headers['x-requested-with'] = 'XMLHttpRequest';
}
var withCredentials = config.withCredentials, xsrfCookieName = config.xsrfCookieName, xsrfHeaderName = config.xsrfHeaderName;
const { withCredentials, xsrfCookieName, xsrfHeaderName } = config;
if ((withCredentials || !crossDomain) && xsrfCookieName && xsrfHeaderName) {
var xsrfCookie = (_b = (_a = document === null || document === void 0 ? void 0 : document.cookie.match(new RegExp("(^|;\\s*)(".concat(xsrfCookieName, ")=([^;]*)")))) === null || _a === void 0 ? void 0 : _a.pop()) !== null && _b !== void 0 ? _b : '';
const xsrfCookie = document?.cookie.match(new RegExp(`(^|;\\s*)(${xsrfCookieName})=([^;]*)`))?.pop() ?? '';
if (xsrfCookie) {

@@ -111,59 +107,59 @@ headers[xsrfHeaderName] = xsrfCookie;

}
var body = extractContentTypeAndMaybeSerializeBody(configuredBody, headers);
var _request = __assign(__assign({}, config), { url: url, headers: headers, body: body });
var xhr;
const body = extractContentTypeAndMaybeSerializeBody(configuredBody, headers);
const _request = {
...config,
url,
headers,
body,
};
let xhr;
xhr = init.createXHR ? init.createXHR() : new XMLHttpRequest();
{
var progressSubscriber_1 = init.progressSubscriber, _c = init.includeDownloadProgress, includeDownloadProgress = _c === void 0 ? false : _c, _d = init.includeUploadProgress, includeUploadProgress = _d === void 0 ? false : _d;
var addErrorEvent = function (type, errorFactory) {
xhr.addEventListener(type, function () {
var _a;
var error = errorFactory();
(_a = progressSubscriber_1 === null || progressSubscriber_1 === void 0 ? void 0 : progressSubscriber_1.error) === null || _a === void 0 ? void 0 : _a.call(progressSubscriber_1, error);
const { progressSubscriber, includeDownloadProgress = false, includeUploadProgress = false } = init;
const addErrorEvent = (type, errorFactory) => {
xhr.addEventListener(type, () => {
const error = errorFactory();
progressSubscriber?.error?.(error);
destination.error(error);
});
};
addErrorEvent('timeout', function () { return new errors_1.AjaxTimeoutError(xhr, _request); });
addErrorEvent('abort', function () { return new errors_1.AjaxError('aborted', xhr, _request); });
var createResponse_1 = function (direction, event) {
return new AjaxResponse_1.AjaxResponse(event, xhr, _request, "".concat(direction, "_").concat(event.type));
};
var addProgressEvent_1 = function (target, type, direction) {
target.addEventListener(type, function (event) {
destination.next(createResponse_1(direction, event));
addErrorEvent('timeout', () => new errors_1.AjaxTimeoutError(xhr, _request));
addErrorEvent('abort', () => new errors_1.AjaxError('aborted', xhr, _request));
const createResponse = (direction, event) => new AjaxResponse_1.AjaxResponse(event, xhr, _request, `${direction}_${event.type}`);
const addProgressEvent = (target, type, direction) => {
target.addEventListener(type, (event) => {
destination.next(createResponse(direction, event));
});
};
if (includeUploadProgress) {
[LOADSTART, PROGRESS, LOAD].forEach(function (type) { return addProgressEvent_1(xhr.upload, type, UPLOAD); });
[LOADSTART, PROGRESS, LOAD].forEach((type) => addProgressEvent(xhr.upload, type, UPLOAD));
}
if (progressSubscriber_1) {
[LOADSTART, PROGRESS].forEach(function (type) { return xhr.upload.addEventListener(type, function (e) { var _a; return (_a = progressSubscriber_1 === null || progressSubscriber_1 === void 0 ? void 0 : progressSubscriber_1.next) === null || _a === void 0 ? void 0 : _a.call(progressSubscriber_1, e); }); });
if (progressSubscriber) {
[LOADSTART, PROGRESS].forEach((type) => xhr.upload.addEventListener(type, (e) => progressSubscriber?.next?.(e)));
}
if (includeDownloadProgress) {
[LOADSTART, PROGRESS].forEach(function (type) { return addProgressEvent_1(xhr, type, DOWNLOAD); });
[LOADSTART, PROGRESS].forEach((type) => addProgressEvent(xhr, type, DOWNLOAD));
}
var emitError_1 = function (status) {
var msg = 'ajax error' + (status ? ' ' + status : '');
const emitError = (status) => {
const msg = 'ajax error' + (status ? ' ' + status : '');
destination.error(new errors_1.AjaxError(msg, xhr, _request));
};
xhr.addEventListener('error', function (e) {
var _a;
(_a = progressSubscriber_1 === null || progressSubscriber_1 === void 0 ? void 0 : progressSubscriber_1.error) === null || _a === void 0 ? void 0 : _a.call(progressSubscriber_1, e);
emitError_1();
xhr.addEventListener('error', (e) => {
progressSubscriber?.error?.(e);
emitError();
});
xhr.addEventListener(LOAD, function (event) {
var _a, _b;
var status = xhr.status;
xhr.addEventListener(LOAD, (event) => {
const { status } = xhr;
if (status < 400) {
(_a = progressSubscriber_1 === null || progressSubscriber_1 === void 0 ? void 0 : progressSubscriber_1.complete) === null || _a === void 0 ? void 0 : _a.call(progressSubscriber_1);
destination.next(createResponse_1(DOWNLOAD, event));
progressSubscriber?.complete?.();
destination.next(createResponse(DOWNLOAD, event));
destination.complete();
}
else {
(_b = progressSubscriber_1 === null || progressSubscriber_1 === void 0 ? void 0 : progressSubscriber_1.error) === null || _b === void 0 ? void 0 : _b.call(progressSubscriber_1, event);
emitError_1(status);
progressSubscriber?.error?.(event);
emitError(status);
}
});
}
var user = _request.user, method = _request.method, async = _request.async;
const { user, method, async } = _request;
if (user) {

@@ -182,3 +178,3 @@ xhr.open(method, url, async, user, _request.password);

}
for (var key in headers) {
for (const key in headers) {
if (headers.hasOwnProperty(key)) {

@@ -194,3 +190,3 @@ xhr.setRequestHeader(key, headers[key]);

}
return function () {
return () => {
if (xhr && xhr.readyState !== 4) {

@@ -204,3 +200,2 @@ xhr.abort();

function extractContentTypeAndMaybeSerializeBody(body, headers) {
var _a;
if (!body ||

@@ -220,3 +215,3 @@ typeof body === 'string' ||

if (typeof body === 'object') {
headers['content-type'] = (_a = headers['content-type']) !== null && _a !== void 0 ? _a : 'application/json;charset=utf-8';
headers['content-type'] = headers['content-type'] ?? 'application/json;charset=utf-8';
return JSON.stringify(body);

@@ -226,5 +221,5 @@ }

}
var _toString = Object.prototype.toString;
const _toString = Object.prototype.toString;
function toStringCheck(obj, name) {
return _toString.call(obj) === "[object ".concat(name, "]");
return _toString.call(obj) === `[object ${name}]`;
}

@@ -231,0 +226,0 @@ function isArrayBuffer(body) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AjaxResponse = void 0;
var AjaxResponse = (function () {
function AjaxResponse(originalEvent, xhr, request, type) {
if (type === void 0) { type = 'download_load'; }
class AjaxResponse {
originalEvent;
xhr;
request;
type;
status;
response;
responseType;
loaded;
total;
responseHeaders;
constructor(originalEvent, xhr, request, type = 'download_load') {
this.originalEvent = originalEvent;

@@ -11,10 +20,10 @@ this.xhr = xhr;

this.type = type;
var status = xhr.status, responseType = xhr.responseType;
this.status = status !== null && status !== void 0 ? status : 0;
this.responseType = responseType !== null && responseType !== void 0 ? responseType : '';
var allHeaders = xhr.getAllResponseHeaders();
const { status, responseType } = xhr;
this.status = status ?? 0;
this.responseType = responseType ?? '';
const allHeaders = xhr.getAllResponseHeaders();
this.responseHeaders = allHeaders
?
allHeaders.split('\n').reduce(function (headers, line) {
var index = line.indexOf(': ');
allHeaders.split('\n').reduce((headers, line) => {
const index = line.indexOf(': ');
headers[line.slice(0, index)] = line.slice(index + 2);

@@ -25,9 +34,8 @@ return headers;

this.response = xhr.response;
var loaded = originalEvent.loaded, total = originalEvent.total;
const { loaded, total } = originalEvent;
this.loaded = loaded;
this.total = total;
}
return AjaxResponse;
}());
}
exports.AjaxResponse = AjaxResponse;
//# sourceMappingURL=AjaxResponse.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AjaxTimeoutError = exports.AjaxError = void 0;
var AjaxError = (function (_super) {
__extends(AjaxError, _super);
function AjaxError(message, xhr, request) {
var _this = _super.call(this, message) || this;
_this.name = 'AjaxError';
_this.xhr = xhr;
_this.request = request;
_this.status = xhr.status;
_this.responseType = xhr.responseType;
_this.response = xhr.response;
return _this;
class AjaxError extends Error {
xhr;
request;
status;
responseType;
response;
constructor(message, xhr, request) {
super(message);
this.name = 'AjaxError';
this.xhr = xhr;
this.request = request;
this.status = xhr.status;
this.responseType = xhr.responseType;
this.response = xhr.response;
}
return AjaxError;
}(Error));
}
exports.AjaxError = AjaxError;
var AjaxTimeoutError = (function (_super) {
__extends(AjaxTimeoutError, _super);
function AjaxTimeoutError(xhr, request) {
var _this = _super.call(this, 'ajax timeout', xhr, request) || this;
_this.name = 'AjaxTimeoutError';
return _this;
class AjaxTimeoutError extends AjaxError {
constructor(xhr, request) {
super('ajax timeout', xhr, request);
this.name = 'AjaxTimeoutError';
}
return AjaxTimeoutError;
}(AjaxError));
}
exports.AjaxTimeoutError = AjaxTimeoutError;
//# sourceMappingURL=errors.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AsyncSubject = void 0;
var Subject_1 = require("./Subject");
var AsyncSubject = (function (_super) {
__extends(AsyncSubject, _super);
function AsyncSubject() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this._value = null;
_this._hasValue = false;
_this._isComplete = false;
return _this;
}
AsyncSubject.prototype._checkFinalizedStatuses = function (subscriber) {
var _a = this, hasError = _a.hasError, _hasValue = _a._hasValue, _value = _a._value, thrownError = _a.thrownError, _closed = _a._closed, _isComplete = _a._isComplete;
const Subject_1 = require("./Subject");
class AsyncSubject extends Subject_1.Subject {
_value = null;
_hasValue = false;
_isComplete = false;
_checkFinalizedStatuses(subscriber) {
const { hasError, _hasValue, _value, thrownError, _closed, _isComplete } = this;
if (hasError) {

@@ -38,4 +18,4 @@ subscriber.error(thrownError);

}
};
AsyncSubject.prototype.next = function (value) {
}
next(value) {
if (!this._closed) {

@@ -45,14 +25,13 @@ this._value = value;

}
};
AsyncSubject.prototype.complete = function () {
var _a = this, _hasValue = _a._hasValue, _value = _a._value, _isComplete = _a._isComplete;
}
complete() {
const { _hasValue, _value, _isComplete } = this;
if (!_isComplete) {
this._isComplete = true;
_hasValue && _super.prototype.next.call(this, _value);
_super.prototype.complete.call(this);
_hasValue && super.next(_value);
super.complete();
}
};
return AsyncSubject;
}(Subject_1.Subject));
}
}
exports.AsyncSubject = AsyncSubject;
//# sourceMappingURL=AsyncSubject.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.BehaviorSubject = void 0;
var Subject_1 = require("./Subject");
var BehaviorSubject = (function (_super) {
__extends(BehaviorSubject, _super);
function BehaviorSubject(_value) {
var _this = _super.call(this) || this;
_this._value = _value;
return _this;
const Subject_1 = require("./Subject");
class BehaviorSubject extends Subject_1.Subject {
_value;
constructor(_value) {
super();
this._value = _value;
}
Object.defineProperty(BehaviorSubject.prototype, "value", {
get: function () {
return this.getValue();
},
enumerable: false,
configurable: true
});
BehaviorSubject.prototype._subscribe = function (subscriber) {
var subscription = _super.prototype._subscribe.call(this, subscriber);
get value() {
return this.getValue();
}
_subscribe(subscriber) {
const subscription = super._subscribe(subscriber);
!subscription.closed && subscriber.next(this._value);
return subscription;
};
BehaviorSubject.prototype.getValue = function () {
var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, _value = _a._value;
}
getValue() {
const { hasError, thrownError, _value } = this;
if (hasError) {

@@ -45,9 +25,8 @@ throw thrownError;

return _value;
};
BehaviorSubject.prototype.next = function (value) {
_super.prototype.next.call(this, (this._value = value));
};
return BehaviorSubject;
}(Subject_1.Subject));
}
next(value) {
super.next((this._value = value));
}
}
exports.BehaviorSubject = BehaviorSubject;
//# sourceMappingURL=BehaviorSubject.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.firstValueFrom = void 0;
var EmptyError_1 = require("./util/EmptyError");
var Subscriber_1 = require("./Subscriber");
const EmptyError_1 = require("./util/EmptyError");
const Subscriber_1 = require("./Subscriber");
function firstValueFrom(source, config) {
var hasConfig = typeof config === 'object';
return new Promise(function (resolve, reject) {
var subscriber = new Subscriber_1.Subscriber({
next: function (value) {
const hasConfig = typeof config === 'object';
return new Promise((resolve, reject) => {
const subscriber = new Subscriber_1.Subscriber({
next: (value) => {
resolve(value);

@@ -15,3 +15,3 @@ subscriber.unsubscribe();

error: reject,
complete: function () {
complete: () => {
if (hasConfig) {

@@ -18,0 +18,0 @@ resolve(config.defaultValue);

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.lastValueFrom = void 0;
var EmptyError_1 = require("./util/EmptyError");
const EmptyError_1 = require("./util/EmptyError");
function lastValueFrom(source, config) {
var hasConfig = typeof config === 'object';
return new Promise(function (resolve, reject) {
var _hasValue = false;
var _value;
const hasConfig = typeof config === 'object';
return new Promise((resolve, reject) => {
let _hasValue = false;
let _value;
source.subscribe({
next: function (value) {
next: (value) => {
_value = value;

@@ -16,3 +16,3 @@ _hasValue = true;

error: reject,
complete: function () {
complete: () => {
if (_hasValue) {

@@ -19,0 +19,0 @@ resolve(_value);

@@ -5,10 +5,9 @@ "use strict";

function observeNotification(notification, observer) {
var _a, _b, _c;
var _d = notification, kind = _d.kind, value = _d.value, error = _d.error;
const { kind, value, error } = notification;
if (typeof kind !== 'string') {
throw new TypeError('Invalid notification, missing "kind"');
}
kind === 'N' ? (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value) : kind === 'E' ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);
kind === 'N' ? observer.next?.(value) : kind === 'E' ? observer.error?.(error) : observer.complete?.();
}
exports.observeNotification = observeNotification;
//# sourceMappingURL=Notification.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createNotification = exports.nextNotification = exports.errorNotification = exports.COMPLETE_NOTIFICATION = void 0;
exports.COMPLETE_NOTIFICATION = (function () { return createNotification('C', undefined, undefined); })();
exports.COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();
function errorNotification(error) {

@@ -15,5 +15,5 @@ return createNotification('E', undefined, error);

return {
kind: kind,
value: value,
error: error,
kind,
value,
error,
};

@@ -20,0 +20,0 @@ }

"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Observable = void 0;
var Subscriber_1 = require("./Subscriber");
var observable_1 = require("./symbol/observable");
var pipe_1 = require("./util/pipe");
var Observable = (function () {
function Observable(subscribe) {
const Subscriber_1 = require("./Subscriber");
const observable_1 = require("./symbol/observable");
const pipe_1 = require("./util/pipe");
class Observable {
constructor(subscribe) {
if (subscribe) {

@@ -29,8 +13,8 @@ this._subscribe = subscribe;

}
Observable.prototype.subscribe = function (observerOrNext) {
var subscriber = observerOrNext instanceof Subscriber_1.Subscriber ? observerOrNext : new Subscriber_1.Subscriber(observerOrNext);
subscribe(observerOrNext) {
const subscriber = observerOrNext instanceof Subscriber_1.Subscriber ? observerOrNext : new Subscriber_1.Subscriber(observerOrNext);
subscriber.add(this._trySubscribe(subscriber));
return subscriber;
};
Observable.prototype._trySubscribe = function (sink) {
}
_trySubscribe(sink) {
try {

@@ -42,8 +26,7 @@ return this._subscribe(sink);

}
};
Observable.prototype.forEach = function (next) {
var _this = this;
return new Promise(function (resolve, reject) {
var subscriber = new Subscriber_1.Subscriber({
next: function (value) {
}
forEach(next) {
return new Promise((resolve, reject) => {
const subscriber = new Subscriber_1.Subscriber({
next: (value) => {
try {

@@ -60,91 +43,83 @@ next(value);

});
_this.subscribe(subscriber);
this.subscribe(subscriber);
});
};
Observable.prototype._subscribe = function (_subscriber) {
}
_subscribe(_subscriber) {
return;
};
Observable.prototype[observable_1.observable] = function () {
}
[observable_1.observable]() {
return this;
};
Observable.prototype.pipe = function () {
var operations = [];
for (var _i = 0; _i < arguments.length; _i++) {
operations[_i] = arguments[_i];
}
}
pipe(...operations) {
return (0, pipe_1.pipeFromArray)(operations)(this);
};
Observable.prototype[Symbol.asyncIterator] = function () {
var _a;
var _this = this;
var subscription;
var hasError = false;
var error;
var completed = false;
var values = [];
var deferreds = [];
var handleError = function (err) {
}
[Symbol.asyncIterator]() {
let subscription;
let hasError = false;
let error;
let completed = false;
const values = [];
const deferreds = [];
const handleError = (err) => {
hasError = true;
error = err;
while (deferreds.length) {
var _a = __read(deferreds.shift(), 2), _1 = _a[0], reject = _a[1];
const [_, reject] = deferreds.shift();
reject(err);
}
};
var handleComplete = function () {
const handleComplete = () => {
completed = true;
while (deferreds.length) {
var _a = __read(deferreds.shift(), 1), resolve = _a[0];
const [resolve] = deferreds.shift();
resolve({ value: undefined, done: true });
}
};
return _a = {
next: function () {
if (!subscription) {
subscription = _this.subscribe({
next: function (value) {
if (deferreds.length) {
var _a = __read(deferreds.shift(), 1), resolve = _a[0];
resolve({ value: value, done: false });
}
else {
values.push(value);
}
},
error: handleError,
complete: handleComplete,
});
}
if (values.length) {
return Promise.resolve({ value: values.shift(), done: false });
}
if (completed) {
return Promise.resolve({ value: undefined, done: true });
}
if (hasError) {
return Promise.reject(error);
}
return new Promise(function (resolve, reject) {
deferreds.push([resolve, reject]);
return {
next: () => {
if (!subscription) {
subscription = this.subscribe({
next: (value) => {
if (deferreds.length) {
const [resolve] = deferreds.shift();
resolve({ value, done: false });
}
else {
values.push(value);
}
},
error: handleError,
complete: handleComplete,
});
},
throw: function (err) {
subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();
handleError(err);
return Promise.reject(err);
},
return: function () {
subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();
handleComplete();
}
if (values.length) {
return Promise.resolve({ value: values.shift(), done: false });
}
if (completed) {
return Promise.resolve({ value: undefined, done: true });
}
if (hasError) {
return Promise.reject(error);
}
return new Promise((resolve, reject) => {
deferreds.push([resolve, reject]);
});
},
_a[Symbol.asyncIterator] = function () {
throw: (err) => {
subscription?.unsubscribe();
handleError(err);
return Promise.reject(err);
},
return: () => {
subscription?.unsubscribe();
handleComplete();
return Promise.resolve({ value: undefined, done: true });
},
[Symbol.asyncIterator]() {
return this;
},
_a;
};
return Observable;
}());
};
}
}
exports.Observable = Observable;
//# sourceMappingURL=Observable.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.bindCallback = void 0;
var bindCallbackInternals_1 = require("./bindCallbackInternals");
const bindCallbackInternals_1 = require("./bindCallbackInternals");
function bindCallback(callbackFunc, resultSelector, scheduler) {

@@ -6,0 +6,0 @@ return (0, bindCallbackInternals_1.bindCallbackInternals)(false, callbackFunc, resultSelector, scheduler);

"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.bindCallbackInternals = void 0;
var isScheduler_1 = require("../util/isScheduler");
var Observable_1 = require("../Observable");
var subscribeOn_1 = require("../operators/subscribeOn");
var mapOneOrManyArgs_1 = require("../util/mapOneOrManyArgs");
var observeOn_1 = require("../operators/observeOn");
var AsyncSubject_1 = require("../AsyncSubject");
const isScheduler_1 = require("../util/isScheduler");
const Observable_1 = require("../Observable");
const subscribeOn_1 = require("../operators/subscribeOn");
const mapOneOrManyArgs_1 = require("../util/mapOneOrManyArgs");
const observeOn_1 = require("../operators/observeOn");
const AsyncSubject_1 = require("../AsyncSubject");
function bindCallbackInternals(isNodeStyle, callbackFunc, resultSelector, scheduler) {

@@ -41,7 +16,3 @@ if (resultSelector) {

else {
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return function (...args) {
return bindCallbackInternals(isNodeStyle, callbackFunc, scheduler)

@@ -54,7 +25,3 @@ .apply(this, args)

if (scheduler) {
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return function (...args) {
return bindCallbackInternals(isNodeStyle, callbackFunc)

@@ -65,24 +32,16 @@ .apply(this, args)

}
return function () {
var _this = this;
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var subject = new AsyncSubject_1.AsyncSubject();
var uninitialized = true;
return new Observable_1.Observable(function (subscriber) {
var subs = subject.subscribe(subscriber);
return function (...args) {
const subject = new AsyncSubject_1.AsyncSubject();
let uninitialized = true;
return new Observable_1.Observable((subscriber) => {
const subs = subject.subscribe(subscriber);
if (uninitialized) {
uninitialized = false;
var isAsync_1 = false;
var isComplete_1 = false;
callbackFunc.apply(_this, __spreadArray(__spreadArray([], __read(args), false), [
function () {
var results = [];
for (var _i = 0; _i < arguments.length; _i++) {
results[_i] = arguments[_i];
}
let isAsync = false;
let isComplete = false;
callbackFunc.apply(this, [
...args,
(...results) => {
if (isNodeStyle) {
var err = results.shift();
const err = results.shift();
if (err != null) {

@@ -94,12 +53,12 @@ subject.error(err);

subject.next(1 < results.length ? results : results[0]);
isComplete_1 = true;
if (isAsync_1) {
isComplete = true;
if (isAsync) {
subject.complete();
}
},
], false));
if (isComplete_1) {
]);
if (isComplete) {
subject.complete();
}
isAsync_1 = true;
isAsync = true;
}

@@ -106,0 +65,0 @@ return subs;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.bindNodeCallback = void 0;
var bindCallbackInternals_1 = require("./bindCallbackInternals");
const bindCallbackInternals_1 = require("./bindCallbackInternals");
function bindNodeCallback(callbackFunc, resultSelector, scheduler) {

@@ -6,0 +6,0 @@ return (0, bindCallbackInternals_1.bindCallbackInternals)(true, callbackFunc, resultSelector, scheduler);

"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.combineLatestInit = exports.combineLatest = void 0;
var Observable_1 = require("../Observable");
var argsArgArrayOrObject_1 = require("../util/argsArgArrayOrObject");
var Subscriber_1 = require("../Subscriber");
var identity_1 = require("../util/identity");
var createObject_1 = require("../util/createObject");
var empty_1 = require("./empty");
var from_1 = require("./from");
const Observable_1 = require("../Observable");
const argsArgArrayOrObject_1 = require("../util/argsArgArrayOrObject");
const Subscriber_1 = require("../Subscriber");
const identity_1 = require("../util/identity");
const createObject_1 = require("../util/createObject");
const empty_1 = require("./empty");
const from_1 = require("./from");
function combineLatest(sources, resultSelector) {
var parts = (0, argsArgArrayOrObject_1.arrayOrObject)(sources);
const parts = (0, argsArgArrayOrObject_1.arrayOrObject)(sources);
if (!parts) {
throw new TypeError('sources must be an array or object');
}
var observables = parts.args, keys = parts.keys;
const { args: observables, keys } = parts;
if (observables.length === 0) {

@@ -46,21 +21,20 @@ return empty_1.EMPTY;

return new Observable_1.Observable(combineLatestInit(observables, keys
? function (values) { return (0, createObject_1.createObject)(keys, values); }
? (values) => (0, createObject_1.createObject)(keys, values)
: resultSelector
? function (values) { return resultSelector.apply(void 0, __spreadArray([], __read(values), false)); }
? (values) => resultSelector(...values)
: identity_1.identity));
}
exports.combineLatest = combineLatest;
function combineLatestInit(observables, valueTransform) {
if (valueTransform === void 0) { valueTransform = identity_1.identity; }
return function (destination) {
var length = observables.length;
var values = new Array(length);
var active = length;
var remainingFirstValues = length;
var _loop_1 = function (i) {
var source = (0, from_1.from)(observables[i]);
var hasFirstValue = false;
function combineLatestInit(observables, valueTransform = identity_1.identity) {
return (destination) => {
const { length } = observables;
const values = new Array(length);
let active = length;
let remainingFirstValues = length;
for (let i = 0; i < length; i++) {
const source = (0, from_1.from)(observables[i]);
let hasFirstValue = false;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
destination,
next: (value) => {
values[i] = value;

@@ -75,3 +49,3 @@ if (!hasFirstValue) {

},
complete: function () {
complete: () => {
if (!--active) {

@@ -82,5 +56,2 @@ destination.complete();

}));
};
for (var i = 0; i < length; i++) {
_loop_1(i);
}

@@ -87,0 +58,0 @@ };

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.concat = void 0;
var concatAll_1 = require("../operators/concatAll");
var args_1 = require("../util/args");
var scheduled_1 = require("../scheduled/scheduled");
var from_1 = require("./from");
function concat() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var scheduler = (0, args_1.popScheduler)(args);
const concatAll_1 = require("../operators/concatAll");
const args_1 = require("../util/args");
const scheduled_1 = require("../scheduled/scheduled");
const from_1 = require("./from");
function concat(...args) {
const scheduler = (0, args_1.popScheduler)(args);
return (0, concatAll_1.concatAll)()(scheduler ? (0, scheduled_1.scheduled)(args, scheduler) : (0, from_1.from)(args));

@@ -15,0 +11,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.connectable = void 0;
var Subject_1 = require("../Subject");
var Observable_1 = require("../Observable");
var defer_1 = require("./defer");
var DEFAULT_CONFIG = {
connector: function () { return new Subject_1.Subject(); },
const Subject_1 = require("../Subject");
const Observable_1 = require("../Observable");
const defer_1 = require("./defer");
const DEFAULT_CONFIG = {
connector: () => new Subject_1.Subject(),
resetOnDisconnect: true,
};
function connectable(source, config) {
if (config === void 0) { config = DEFAULT_CONFIG; }
var connection = null;
var connector = config.connector, _a = config.resetOnDisconnect, resetOnDisconnect = _a === void 0 ? true : _a;
var subject = connector();
var result = new Observable_1.Observable(function (subscriber) {
function connectable(source, config = DEFAULT_CONFIG) {
let connection = null;
const { connector, resetOnDisconnect = true } = config;
let subject = connector();
const result = new Observable_1.Observable((subscriber) => {
return subject.subscribe(subscriber);
});
result.connect = function () {
result.connect = () => {
if (!connection || connection.closed) {
connection = (0, defer_1.defer)(function () { return source; }).subscribe(subject);
connection = (0, defer_1.defer)(() => source).subscribe(subject);
if (resetOnDisconnect) {
connection.add(function () { return (subject = connector()); });
connection.add(() => (subject = connector()));
}

@@ -25,0 +24,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.defer = void 0;
var Observable_1 = require("../Observable");
var from_1 = require("./from");
const Observable_1 = require("../Observable");
const from_1 = require("./from");
function defer(observableFactory) {
return new Observable_1.Observable(function (subscriber) {
return new Observable_1.Observable((subscriber) => {
(0, from_1.from)(observableFactory()).subscribe(subscriber);

@@ -9,0 +9,0 @@ });

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.animationFrames = void 0;
var Observable_1 = require("../../Observable");
var performanceTimestampProvider_1 = require("../../scheduler/performanceTimestampProvider");
var animationFrameProvider_1 = require("../../scheduler/animationFrameProvider");
const Observable_1 = require("../../Observable");
const performanceTimestampProvider_1 = require("../../scheduler/performanceTimestampProvider");
const animationFrameProvider_1 = require("../../scheduler/animationFrameProvider");
function animationFrames(timestampProvider) {

@@ -12,11 +12,11 @@ return timestampProvider ? animationFramesFactory(timestampProvider) : DEFAULT_ANIMATION_FRAMES;

function animationFramesFactory(timestampProvider) {
return new Observable_1.Observable(function (subscriber) {
var provider = timestampProvider || performanceTimestampProvider_1.performanceTimestampProvider;
var start = provider.now();
var id = 0;
var run = function () {
return new Observable_1.Observable((subscriber) => {
const provider = timestampProvider || performanceTimestampProvider_1.performanceTimestampProvider;
const start = provider.now();
let id = 0;
const run = () => {
if (!subscriber.closed) {
id = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame(function (timestamp) {
id = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame((timestamp) => {
id = 0;
var now = provider.now();
const now = provider.now();
subscriber.next({

@@ -31,3 +31,3 @@ timestamp: timestampProvider ? now : timestamp,

run();
return function () {
return () => {
if (id) {

@@ -39,3 +39,3 @@ animationFrameProvider_1.animationFrameProvider.cancelAnimationFrame(id);

}
var DEFAULT_ANIMATION_FRAMES = animationFramesFactory();
const DEFAULT_ANIMATION_FRAMES = animationFramesFactory();
//# sourceMappingURL=animationFrames.js.map
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromFetch = void 0;
var Subscriber_1 = require("../../Subscriber");
var Observable_1 = require("../../Observable");
var from_1 = require("../from");
function fromFetch(input, initWithSelector) {
if (initWithSelector === void 0) { initWithSelector = {}; }
var selector = initWithSelector.selector, init = __rest(initWithSelector, ["selector"]);
return new Observable_1.Observable(function (destination) {
var controller = new AbortController();
var signal = controller.signal;
var abortable = true;
var outerSignal = init.signal;
const Subscriber_1 = require("../../Subscriber");
const Observable_1 = require("../../Observable");
const from_1 = require("../from");
function fromFetch(input, initWithSelector = {}) {
const { selector, ...init } = initWithSelector;
return new Observable_1.Observable((destination) => {
const controller = new AbortController();
const { signal } = controller;
let abortable = true;
const { signal: outerSignal } = init;
if (outerSignal) {

@@ -42,3 +19,3 @@ if (outerSignal.aborted) {

else {
var outerSignalHandler_1 = function () {
const outerSignalHandler = () => {
if (!signal.aborted) {

@@ -48,8 +25,8 @@ controller.abort();

};
outerSignal.addEventListener('abort', outerSignalHandler_1);
destination.add(function () { return outerSignal.removeEventListener('abort', outerSignalHandler_1); });
outerSignal.addEventListener('abort', outerSignalHandler);
destination.add(() => outerSignal.removeEventListener('abort', outerSignalHandler));
}
}
var perSubscriberInit = __assign(__assign({}, init), { signal: signal });
var handleError = function (err) {
const perSubscriberInit = { ...init, signal };
const handleError = (err) => {
abortable = false;

@@ -59,7 +36,7 @@ destination.error(err);

fetch(input, perSubscriberInit)
.then(function (response) {
.then((response) => {
if (selector) {
(0, from_1.from)(selector(response)).subscribe((0, Subscriber_1.operate)({
destination: destination,
complete: function () {
destination,
complete: () => {
abortable = false;

@@ -78,3 +55,3 @@ destination.complete();

.catch(handleError);
return function () {
return () => {
if (abortable) {

@@ -81,0 +58,0 @@ controller.abort();

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.webSocket = void 0;
var WebSocketSubject_1 = require("./WebSocketSubject");
const WebSocketSubject_1 = require("./WebSocketSubject");
function webSocket(urlConfigOrSource) {

@@ -6,0 +6,0 @@ return new WebSocketSubject_1.WebSocketSubject(urlConfigOrSource);

"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WebSocketSubject = void 0;
var Subject_1 = require("../../Subject");
var Subscriber_1 = require("../../Subscriber");
var Observable_1 = require("../../Observable");
var Subscription_1 = require("../../Subscription");
var ReplaySubject_1 = require("../../ReplaySubject");
var DEFAULT_WEBSOCKET_CONFIG = {
const Subject_1 = require("../../Subject");
const Subscriber_1 = require("../../Subscriber");
const Observable_1 = require("../../Observable");
const Subscription_1 = require("../../Subscription");
const ReplaySubject_1 = require("../../ReplaySubject");
const DEFAULT_WEBSOCKET_CONFIG = {
url: '',
deserializer: function (e) { return JSON.parse(e.data); },
serializer: function (value) { return JSON.stringify(value); },
deserializer: (e) => JSON.parse(e.data),
serializer: (value) => JSON.stringify(value),
};
var WEBSOCKETSUBJECT_INVALID_ERROR_OBJECT = 'WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }';
var WebSocketSubject = (function (_super) {
__extends(WebSocketSubject, _super);
function WebSocketSubject(urlConfigOrSource, destination) {
var _this = _super.call(this) || this;
_this._socket = null;
const WEBSOCKETSUBJECT_INVALID_ERROR_OBJECT = 'WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }';
class WebSocketSubject extends Subject_1.AnonymousSubject {
_config;
_output;
_socket = null;
constructor(urlConfigOrSource, destination) {
super();
if (urlConfigOrSource instanceof Observable_1.Observable) {
_this.destination = destination;
_this._source = urlConfigOrSource;
this.destination = destination;
this._source = urlConfigOrSource;
}
else {
var config = (_this._config = __assign({}, DEFAULT_WEBSOCKET_CONFIG));
_this._output = new Subject_1.Subject();
const config = (this._config = { ...DEFAULT_WEBSOCKET_CONFIG });
this._output = new Subject_1.Subject();
if (typeof urlConfigOrSource === 'string') {

@@ -57,3 +32,3 @@ config.url = urlConfigOrSource;

else {
for (var key in urlConfigOrSource) {
for (const key in urlConfigOrSource) {
if (urlConfigOrSource.hasOwnProperty(key)) {

@@ -70,7 +45,6 @@ config[key] = urlConfigOrSource[key];

}
_this.destination = new ReplaySubject_1.ReplaySubject();
this.destination = new ReplaySubject_1.ReplaySubject();
}
return _this;
}
WebSocketSubject.prototype._resetState = function () {
_resetState() {
this._socket = null;

@@ -81,6 +55,6 @@ if (!this._source) {

this._output = new Subject_1.Subject();
};
WebSocketSubject.prototype.multiplex = function (subMsg, unsubMsg, messageFilter) {
var self = this;
return new Observable_1.Observable(function (observer) {
}
multiplex(subMsg, unsubMsg, messageFilter) {
const self = this;
return new Observable_1.Observable((observer) => {
try {

@@ -92,4 +66,4 @@ self.next(subMsg());

}
var subscription = self.subscribe({
next: function (x) {
const subscription = self.subscribe({
next: (x) => {
try {

@@ -104,6 +78,6 @@ if (messageFilter(x)) {

},
error: function (err) { return observer.error(err); },
complete: function () { return observer.complete(); },
error: (err) => observer.error(err),
complete: () => observer.complete(),
});
return function () {
return () => {
try {

@@ -118,8 +92,7 @@ self.next(unsubMsg());

});
};
WebSocketSubject.prototype._connectSocket = function () {
var _this = this;
var _a = this._config, WebSocketCtor = _a.WebSocketCtor, protocol = _a.protocol, url = _a.url, binaryType = _a.binaryType;
var observer = this._output;
var socket = null;
}
_connectSocket() {
const { WebSocketCtor, protocol, url, binaryType } = this._config;
const observer = this._output;
let socket = null;
try {

@@ -136,4 +109,4 @@ socket = protocol ? new WebSocketCtor(url, protocol) : new WebSocketCtor(url);

}
var subscription = new Subscription_1.Subscription(function () {
_this._socket = null;
const subscription = new Subscription_1.Subscription(() => {
this._socket = null;
if (socket && socket.readyState === 1) {

@@ -143,28 +116,28 @@ socket.close();

});
socket.onopen = function (evt) {
var _socket = _this._socket;
socket.onopen = (evt) => {
const { _socket } = this;
if (!_socket) {
socket.close();
_this._resetState();
this._resetState();
return;
}
var openObserver = _this._config.openObserver;
const { openObserver } = this._config;
if (openObserver) {
openObserver.next(evt);
}
var queue = _this.destination;
_this.destination = new Subscriber_1.Subscriber({
next: function (x) {
const queue = this.destination;
this.destination = new Subscriber_1.Subscriber({
next: (x) => {
if (socket.readyState === 1) {
try {
var serializer = _this._config.serializer;
const { serializer } = this._config;
socket.send(serializer(x));
}
catch (e) {
_this.destination.error(e);
this.destination.error(e);
}
}
},
error: function (err) {
var closingObserver = _this._config.closingObserver;
error: (err) => {
const { closingObserver } = this._config;
if (closingObserver) {

@@ -179,6 +152,6 @@ closingObserver.next(undefined);

}
_this._resetState();
this._resetState();
},
complete: function () {
var closingObserver = _this._config.closingObserver;
complete: () => {
const { closingObserver } = this._config;
if (closingObserver) {

@@ -188,18 +161,18 @@ closingObserver.next(undefined);

socket.close();
_this._resetState();
this._resetState();
},
});
if (queue && queue instanceof ReplaySubject_1.ReplaySubject) {
subscription.add(queue.subscribe(_this.destination));
subscription.add(queue.subscribe(this.destination));
}
};
socket.onerror = function (e) {
_this._resetState();
socket.onerror = (e) => {
this._resetState();
observer.error(e);
};
socket.onclose = function (e) {
if (socket === _this._socket) {
_this._resetState();
socket.onclose = (e) => {
if (socket === this._socket) {
this._resetState();
}
var closeObserver = _this._config.closeObserver;
const { closeObserver } = this._config;
if (closeObserver) {

@@ -215,5 +188,5 @@ closeObserver.next(e);

};
socket.onmessage = function (e) {
socket.onmessage = (e) => {
try {
var deserializer = _this._config.deserializer;
const { deserializer } = this._config;
observer.next(deserializer(e));

@@ -225,6 +198,5 @@ }

};
};
WebSocketSubject.prototype._subscribe = function (subscriber) {
var _this = this;
var _source = this._source;
}
_subscribe(subscriber) {
const { _source } = this;
if (_source) {

@@ -237,15 +209,15 @@ return _source.subscribe(subscriber);

this._output.subscribe(subscriber);
subscriber.add(function () {
var _socket = _this._socket;
if (_this._output.observers.length === 0) {
subscriber.add(() => {
const { _socket } = this;
if (this._output.observers.length === 0) {
if (_socket && (_socket.readyState === 1 || _socket.readyState === 0)) {
_socket.close();
}
_this._resetState();
this._resetState();
}
});
return subscriber;
};
WebSocketSubject.prototype.unsubscribe = function () {
var _socket = this._socket;
}
unsubscribe() {
const { _socket } = this;
if (_socket && (_socket.readyState === 1 || _socket.readyState === 0)) {

@@ -255,7 +227,6 @@ _socket.close();

this._resetState();
_super.prototype.unsubscribe.call(this);
};
return WebSocketSubject;
}(Subject_1.AnonymousSubject));
super.unsubscribe();
}
}
exports.WebSocketSubject = WebSocketSubject;
//# sourceMappingURL=WebSocketSubject.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.EMPTY = void 0;
var Observable_1 = require("../Observable");
exports.EMPTY = new Observable_1.Observable(function (subscriber) { return subscriber.complete(); });
const Observable_1 = require("../Observable");
exports.EMPTY = new Observable_1.Observable((subscriber) => subscriber.complete());
//# sourceMappingURL=empty.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.forkJoin = void 0;
var Observable_1 = require("../Observable");
var argsArgArrayOrObject_1 = require("../util/argsArgArrayOrObject");
var from_1 = require("./from");
var args_1 = require("../util/args");
var Subscriber_1 = require("../Subscriber");
var mapOneOrManyArgs_1 = require("../util/mapOneOrManyArgs");
var createObject_1 = require("../util/createObject");
var EmptyError_1 = require("../util/EmptyError");
function forkJoin() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var resultSelector = (0, args_1.popResultSelector)(args);
var _a = (0, argsArgArrayOrObject_1.argsArgArrayOrObject)(args), sources = _a.args, keys = _a.keys;
var result = new Observable_1.Observable(function (destination) {
var length = sources.length;
const Observable_1 = require("../Observable");
const argsArgArrayOrObject_1 = require("../util/argsArgArrayOrObject");
const from_1 = require("./from");
const args_1 = require("../util/args");
const Subscriber_1 = require("../Subscriber");
const mapOneOrManyArgs_1 = require("../util/mapOneOrManyArgs");
const createObject_1 = require("../util/createObject");
const EmptyError_1 = require("../util/EmptyError");
function forkJoin(...args) {
const resultSelector = (0, args_1.popResultSelector)(args);
const { args: sources, keys } = (0, argsArgArrayOrObject_1.argsArgArrayOrObject)(args);
const result = new Observable_1.Observable((destination) => {
const { length } = sources;
if (!length) {

@@ -25,10 +21,10 @@ destination.complete();

}
var values = new Array(length);
var remainingCompletions = length;
var remainingEmissions = length;
var _loop_1 = function (sourceIndex) {
var hasValue = false;
const values = new Array(length);
let remainingCompletions = length;
let remainingEmissions = length;
for (let sourceIndex = 0; sourceIndex < length; sourceIndex++) {
let hasValue = false;
(0, from_1.from)(sources[sourceIndex]).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
destination,
next: (value) => {
if (!hasValue) {

@@ -40,4 +36,4 @@ hasValue = true;

},
complete: function () { return remainingCompletions--; },
finalize: function () {
complete: () => remainingCompletions--,
finalize: () => {
if (!remainingCompletions || !hasValue) {

@@ -54,5 +50,2 @@ if (remainingEmissions === 0) {

}));
};
for (var sourceIndex = 0; sourceIndex < length; sourceIndex++) {
_loop_1(sourceIndex);
}

@@ -59,0 +52,0 @@ });

"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __asyncValues = (this && this.__asyncValues) || function (o) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var m = o[Symbol.asyncIterator], i;
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
};
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.subscribeToArray = exports.fromPromise = exports.fromArrayLike = exports.from = void 0;
var isArrayLike_1 = require("../util/isArrayLike");
var isPromise_1 = require("../util/isPromise");
var Observable_1 = require("../Observable");
var isInteropObservable_1 = require("../util/isInteropObservable");
var isAsyncIterable_1 = require("../util/isAsyncIterable");
var throwUnobservableError_1 = require("../util/throwUnobservableError");
var isIterable_1 = require("../util/isIterable");
var isReadableStreamLike_1 = require("../util/isReadableStreamLike");
var isFunction_1 = require("../util/isFunction");
var reportUnhandledError_1 = require("../util/reportUnhandledError");
var observable_1 = require("../symbol/observable");
const isArrayLike_1 = require("../util/isArrayLike");
const isPromise_1 = require("../util/isPromise");
const Observable_1 = require("../Observable");
const isInteropObservable_1 = require("../util/isInteropObservable");
const isAsyncIterable_1 = require("../util/isAsyncIterable");
const throwUnobservableError_1 = require("../util/throwUnobservableError");
const isIterable_1 = require("../util/isIterable");
const isReadableStreamLike_1 = require("../util/isReadableStreamLike");
const isFunction_1 = require("../util/isFunction");
const reportUnhandledError_1 = require("../util/reportUnhandledError");
const observable_1 = require("../symbol/observable");
function from(input) {

@@ -97,4 +43,4 @@ if (input instanceof Observable_1.Observable) {

function fromInteropObservable(obj) {
return new Observable_1.Observable(function (subscriber) {
var obs = obj[observable_1.observable]();
return new Observable_1.Observable((subscriber) => {
const obs = obj[observable_1.observable]();
if ((0, isFunction_1.isFunction)(obs.subscribe)) {

@@ -107,3 +53,3 @@ return obs.subscribe(subscriber);

function fromArrayLike(array) {
return new Observable_1.Observable(function (subscriber) {
return new Observable_1.Observable((subscriber) => {
subscribeToArray(array, subscriber);

@@ -114,5 +60,5 @@ });

function fromPromise(promise) {
return new Observable_1.Observable(function (subscriber) {
return new Observable_1.Observable((subscriber) => {
promise
.then(function (value) {
.then((value) => {
if (!subscriber.closed) {

@@ -122,3 +68,3 @@ subscriber.next(value);

}
}, function (err) { return subscriber.error(err); })
}, (err) => subscriber.error(err))
.then(null, reportUnhandledError_1.reportUnhandledError);

@@ -129,20 +75,9 @@ });

function fromIterable(iterable) {
return new Observable_1.Observable(function (subscriber) {
var e_1, _a;
try {
for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {
var value = iterable_1_1.value;
subscriber.next(value);
if (subscriber.closed) {
return;
}
return new Observable_1.Observable((subscriber) => {
for (const value of iterable) {
subscriber.next(value);
if (subscriber.closed) {
return;
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);
}
finally { if (e_1) throw e_1.error; }
}
subscriber.complete();

@@ -152,4 +87,4 @@ });

function fromAsyncIterable(asyncIterable) {
return new Observable_1.Observable(function (subscriber) {
process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });
return new Observable_1.Observable((subscriber) => {
process(asyncIterable, subscriber).catch((err) => subscriber.error(err));
});

@@ -160,57 +95,14 @@ }

}
function process(asyncIterable, subscriber) {
var _a, asyncIterable_1, asyncIterable_1_1;
var _b, e_2, _c, _d;
return __awaiter(this, void 0, void 0, function () {
var value, e_2_1;
return __generator(this, function (_e) {
switch (_e.label) {
case 0:
_e.trys.push([0, 5, 6, 11]);
_a = true, asyncIterable_1 = __asyncValues(asyncIterable);
_e.label = 1;
case 1: return [4, asyncIterable_1.next()];
case 2:
if (!(asyncIterable_1_1 = _e.sent(), _b = asyncIterable_1_1.done, !_b)) return [3, 4];
_d = asyncIterable_1_1.value;
_a = false;
try {
value = _d;
subscriber.next(value);
if (subscriber.closed) {
return [2];
}
}
finally {
_a = true;
}
_e.label = 3;
case 3: return [3, 1];
case 4: return [3, 11];
case 5:
e_2_1 = _e.sent();
e_2 = { error: e_2_1 };
return [3, 11];
case 6:
_e.trys.push([6, , 9, 10]);
if (!(!_a && !_b && (_c = asyncIterable_1.return))) return [3, 8];
return [4, _c.call(asyncIterable_1)];
case 7:
_e.sent();
_e.label = 8;
case 8: return [3, 10];
case 9:
if (e_2) throw e_2.error;
return [7];
case 10: return [7];
case 11:
subscriber.complete();
return [2];
}
});
});
async function process(asyncIterable, subscriber) {
for await (const value of asyncIterable) {
subscriber.next(value);
if (subscriber.closed) {
return;
}
}
subscriber.complete();
}
function subscribeToArray(array, subscriber) {
var length = array.length;
for (var i = 0; i < length; i++) {
const length = array.length;
for (let i = 0; i < length; i++) {
if (subscriber.closed) {

@@ -217,0 +109,0 @@ return;

"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromEvent = void 0;
var Observable_1 = require("../Observable");
var isArrayLike_1 = require("../util/isArrayLike");
var isFunction_1 = require("../util/isFunction");
var mapOneOrManyArgs_1 = require("../util/mapOneOrManyArgs");
var nodeEventEmitterMethods = ['addListener', 'removeListener'];
var eventTargetMethods = ['addEventListener', 'removeEventListener'];
var jqueryMethods = ['on', 'off'];
const Observable_1 = require("../Observable");
const isArrayLike_1 = require("../util/isArrayLike");
const isFunction_1 = require("../util/isFunction");
const mapOneOrManyArgs_1 = require("../util/mapOneOrManyArgs");
const nodeEventEmitterMethods = ['addListener', 'removeListener'];
const eventTargetMethods = ['addEventListener', 'removeEventListener'];
const jqueryMethods = ['on', 'off'];
function fromEvent(target, eventName, options, resultSelector) {

@@ -35,14 +19,8 @@ if ((0, isFunction_1.isFunction)(options)) {

}
var isValidTarget = isNodeStyleEventEmitter(target) || isJQueryStyleEventEmitter(target) || isEventTarget(target);
const isValidTarget = isNodeStyleEventEmitter(target) || isJQueryStyleEventEmitter(target) || isEventTarget(target);
if (!isValidTarget && !(0, isArrayLike_1.isArrayLike)(target)) {
throw new TypeError('Invalid event target');
}
return new Observable_1.Observable(function (subscriber) {
var handler = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return subscriber.next(1 < args.length ? args : args[0]);
};
return new Observable_1.Observable((subscriber) => {
const handler = (...args) => subscriber.next(1 < args.length ? args : args[0]);
if (isValidTarget) {

@@ -52,4 +30,4 @@ doSubscribe(handler, subscriber, target, eventName, options);

else {
for (var i = 0; i < target.length && !subscriber.closed; i++) {
var subTarget = target[i];
for (let i = 0; i < target.length && !subscriber.closed; i++) {
const subTarget = target[i];
doSubscribe(handler, subscriber, subTarget, eventName, options);

@@ -62,3 +40,3 @@ }

function doSubscribe(handler, subscriber, subTarget, eventName, options) {
var _a = __read(getRegistryMethodNames(subTarget), 2), addMethod = _a[0], removeMethod = _a[1];
const [addMethod, removeMethod] = getRegistryMethodNames(subTarget);
if (!addMethod || !removeMethod) {

@@ -68,3 +46,3 @@ throw new TypeError('Invalid event target');

subTarget[addMethod](eventName, handler, options);
subscriber.add(function () { return subTarget[removeMethod](eventName, handler, options); });
subscriber.add(() => subTarget[removeMethod](eventName, handler, options));
}

@@ -71,0 +49,0 @@ function getRegistryMethodNames(target) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromEventPattern = void 0;
var Observable_1 = require("../Observable");
var isFunction_1 = require("../util/isFunction");
var mapOneOrManyArgs_1 = require("../util/mapOneOrManyArgs");
const Observable_1 = require("../Observable");
const isFunction_1 = require("../util/isFunction");
const mapOneOrManyArgs_1 = require("../util/mapOneOrManyArgs");
function fromEventPattern(addHandler, removeHandler, resultSelector) {

@@ -11,12 +11,6 @@ if (resultSelector) {

}
return new Observable_1.Observable(function (subscriber) {
var handler = function () {
var e = [];
for (var _i = 0; _i < arguments.length; _i++) {
e[_i] = arguments[_i];
}
return subscriber.next(e.length === 1 ? e[0] : e);
};
var retValue = addHandler(handler);
return (0, isFunction_1.isFunction)(removeHandler) ? function () { return removeHandler(handler, retValue); } : undefined;
return new Observable_1.Observable((subscriber) => {
const handler = (...e) => subscriber.next(e.length === 1 ? e[0] : e);
const retValue = addHandler(handler);
return (0, isFunction_1.isFunction)(removeHandler) ? () => removeHandler(handler, retValue) : undefined;
});

@@ -23,0 +17,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromSubscribable = void 0;
var Observable_1 = require("../Observable");
const Observable_1 = require("../Observable");
function fromSubscribable(subscribable) {
return new Observable_1.Observable(function (subscriber) { return subscribable.subscribe(subscriber); });
return new Observable_1.Observable((subscriber) => subscribable.subscribe(subscriber));
}
exports.fromSubscribable = fromSubscribable;
//# sourceMappingURL=fromSubscribable.js.map
"use strict";
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.generate = void 0;
var identity_1 = require("../util/identity");
var isScheduler_1 = require("../util/isScheduler");
var defer_1 = require("./defer");
var scheduleIterable_1 = require("../scheduled/scheduleIterable");
const identity_1 = require("../util/identity");
const isScheduler_1 = require("../util/isScheduler");
const defer_1 = require("./defer");
const scheduleIterable_1 = require("../scheduled/scheduleIterable");
function generate(initialStateOrOptions, condition, iterate, resultSelectorOrScheduler, scheduler) {
var _a, _b;
var resultSelector;
var initialState;
let resultSelector;
let initialState;
if (arguments.length === 1) {
(_a = initialStateOrOptions, initialState = _a.initialState, condition = _a.condition, iterate = _a.iterate, _b = _a.resultSelector, resultSelector = _b === void 0 ? identity_1.identity : _b, scheduler = _a.scheduler);
({
initialState,
condition,
iterate,
resultSelector = identity_1.identity,
scheduler,
} = initialStateOrOptions);
}

@@ -52,25 +30,10 @@ else {

}
function gen() {
var state;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
state = initialState;
_a.label = 1;
case 1:
if (!(!condition || condition(state))) return [3, 4];
return [4, resultSelector(state)];
case 2:
_a.sent();
_a.label = 3;
case 3:
state = iterate(state);
return [3, 1];
case 4: return [2];
}
});
function* gen() {
for (let state = initialState; !condition || condition(state); state = iterate(state)) {
yield resultSelector(state);
}
}
return (0, defer_1.defer)((scheduler
?
function () { return (0, scheduleIterable_1.scheduleIterable)(gen(), scheduler); }
() => (0, scheduleIterable_1.scheduleIterable)(gen(), scheduler)
:

@@ -77,0 +40,0 @@ gen));

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.iif = void 0;
var defer_1 = require("./defer");
const defer_1 = require("./defer");
function iif(condition, trueResult, falseResult) {
return (0, defer_1.defer)(function () { return (condition() ? trueResult : falseResult); });
return (0, defer_1.defer)(() => (condition() ? trueResult : falseResult));
}
exports.iif = iif;
//# sourceMappingURL=iif.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.interval = void 0;
var async_1 = require("../scheduler/async");
var timer_1 = require("./timer");
function interval(period, scheduler) {
if (period === void 0) { period = 0; }
if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }
const async_1 = require("../scheduler/async");
const timer_1 = require("./timer");
function interval(period = 0, scheduler = async_1.asyncScheduler) {
if (period < 0) {

@@ -10,0 +8,0 @@ period = 0;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.merge = void 0;
var mergeAll_1 = require("../operators/mergeAll");
var empty_1 = require("./empty");
var args_1 = require("../util/args");
var scheduled_1 = require("../scheduled/scheduled");
var from_1 = require("./from");
function merge() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var scheduler = (0, args_1.popScheduler)(args);
var concurrent = (0, args_1.popNumber)(args, Infinity);
var sources = args;
const mergeAll_1 = require("../operators/mergeAll");
const empty_1 = require("./empty");
const args_1 = require("../util/args");
const scheduled_1 = require("../scheduled/scheduled");
const from_1 = require("./from");
function merge(...args) {
const scheduler = (0, args_1.popScheduler)(args);
const concurrent = (0, args_1.popNumber)(args, Infinity);
const sources = args;
return !sources.length

@@ -18,0 +14,0 @@ ?

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.NEVER = void 0;
var Observable_1 = require("../Observable");
var noop_1 = require("../util/noop");
const Observable_1 = require("../Observable");
const noop_1 = require("../util/noop");
exports.NEVER = new Observable_1.Observable(noop_1.noop);
//# sourceMappingURL=never.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.of = void 0;
var from_1 = require("./from");
function of() {
var values = [];
for (var _i = 0; _i < arguments.length; _i++) {
values[_i] = arguments[_i];
}
const from_1 = require("./from");
function of(...values) {
return (0, from_1.fromArrayLike)(values);

@@ -11,0 +7,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.onErrorResumeNext = void 0;
var Observable_1 = require("../Observable");
var argsOrArgArray_1 = require("../util/argsOrArgArray");
var Subscriber_1 = require("../Subscriber");
var noop_1 = require("../util/noop");
var from_1 = require("./from");
function onErrorResumeNext() {
var sources = [];
for (var _i = 0; _i < arguments.length; _i++) {
sources[_i] = arguments[_i];
}
var nextSources = (0, argsOrArgArray_1.argsOrArgArray)(sources);
return new Observable_1.Observable(function (destination) {
var sourceIndex = 0;
var subscribeNext = function () {
const Observable_1 = require("../Observable");
const argsOrArgArray_1 = require("../util/argsOrArgArray");
const Subscriber_1 = require("../Subscriber");
const noop_1 = require("../util/noop");
const from_1 = require("./from");
function onErrorResumeNext(...sources) {
const nextSources = (0, argsOrArgArray_1.argsOrArgArray)(sources);
return new Observable_1.Observable((destination) => {
let sourceIndex = 0;
const subscribeNext = () => {
if (sourceIndex < nextSources.length) {
var nextSource = void 0;
let nextSource;
try {

@@ -27,3 +23,3 @@ nextSource = (0, from_1.from)(nextSources[sourceIndex++]);

}
var innerSubscriber = (0, Subscriber_1.operate)({ destination: destination, error: noop_1.noop, complete: noop_1.noop });
const innerSubscriber = (0, Subscriber_1.operate)({ destination, error: noop_1.noop, complete: noop_1.noop });
nextSource.subscribe(innerSubscriber);

@@ -30,0 +26,0 @@ innerSubscriber.add(subscribeNext);

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.partition = void 0;
var not_1 = require("../util/not");
var filter_1 = require("../operators/filter");
var from_1 = require("./from");
const not_1 = require("../util/not");
const filter_1 = require("../operators/filter");
const from_1 = require("./from");
function partition(source, predicate, thisArg) {

@@ -8,0 +8,0 @@ return [(0, filter_1.filter)(predicate, thisArg)((0, from_1.from)(source)), (0, filter_1.filter)((0, not_1.not)(predicate, thisArg))((0, from_1.from)(source))];

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.raceInit = exports.race = void 0;
var Observable_1 = require("../Observable");
var from_1 = require("./from");
var argsOrArgArray_1 = require("../util/argsOrArgArray");
var Subscriber_1 = require("../Subscriber");
function race() {
var sources = [];
for (var _i = 0; _i < arguments.length; _i++) {
sources[_i] = arguments[_i];
}
const Observable_1 = require("../Observable");
const from_1 = require("./from");
const argsOrArgArray_1 = require("../util/argsOrArgArray");
const Subscriber_1 = require("../Subscriber");
function race(...sources) {
sources = (0, argsOrArgArray_1.argsOrArgArray)(sources);

@@ -18,10 +14,10 @@ return sources.length === 1 ? (0, from_1.from)(sources[0]) : new Observable_1.Observable(raceInit(sources));

function raceInit(sources) {
return function (destination) {
var subscriptions = [];
var _loop_1 = function (i) {
return (destination) => {
let subscriptions = [];
for (let i = 0; subscriptions && !destination.closed && i < sources.length; i++) {
subscriptions.push((0, from_1.from)(sources[i]).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
destination,
next: (value) => {
if (subscriptions) {
for (var s = 0; s < subscriptions.length; s++) {
for (let s = 0; s < subscriptions.length; s++) {
s !== i && subscriptions[s].unsubscribe();

@@ -34,5 +30,2 @@ }

})));
};
for (var i = 0; subscriptions && !destination.closed && i < sources.length; i++) {
_loop_1(i);
}

@@ -39,0 +32,0 @@ };

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.range = void 0;
var Observable_1 = require("../Observable");
var empty_1 = require("./empty");
const Observable_1 = require("../Observable");
const empty_1 = require("./empty");
function range(start, count, scheduler) {

@@ -14,7 +14,7 @@ if (count == null) {

}
var end = count + start;
const end = count + start;
return new Observable_1.Observable(scheduler
?
function (subscriber) {
var n = start;
(subscriber) => {
let n = start;
return scheduler.schedule(function () {

@@ -31,4 +31,4 @@ if (n < end) {

:
function (subscriber) {
var n = start;
(subscriber) => {
let n = start;
while (n < end && !subscriber.closed) {

@@ -35,0 +35,0 @@ subscriber.next(n++);

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.throwError = void 0;
var Observable_1 = require("../Observable");
const Observable_1 = require("../Observable");
function throwError(errorFactory) {
return new Observable_1.Observable(function (subscriber) {
return new Observable_1.Observable((subscriber) => {
subscriber.error(errorFactory());

@@ -8,0 +8,0 @@ });

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.timer = void 0;
var Observable_1 = require("../Observable");
var async_1 = require("../scheduler/async");
var isScheduler_1 = require("../util/isScheduler");
var isDate_1 = require("../util/isDate");
function timer(dueTime, intervalOrScheduler, scheduler) {
if (dueTime === void 0) { dueTime = 0; }
if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }
var intervalDuration = -1;
const Observable_1 = require("../Observable");
const async_1 = require("../scheduler/async");
const isScheduler_1 = require("../util/isScheduler");
const isDate_1 = require("../util/isDate");
function timer(dueTime = 0, intervalOrScheduler, scheduler = async_1.asyncScheduler) {
let intervalDuration = -1;
if (intervalOrScheduler != null) {

@@ -20,8 +18,8 @@ if ((0, isScheduler_1.isScheduler)(intervalOrScheduler)) {

}
return new Observable_1.Observable(function (subscriber) {
var due = (0, isDate_1.isValidDate)(dueTime) ? +dueTime - scheduler.now() : dueTime;
return new Observable_1.Observable((subscriber) => {
let due = (0, isDate_1.isValidDate)(dueTime) ? +dueTime - scheduler.now() : dueTime;
if (due < 0) {
due = 0;
}
var n = 0;
let n = 0;
return scheduler.schedule(function () {

@@ -28,0 +26,0 @@ if (!subscriber.closed) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.using = void 0;
var Observable_1 = require("../Observable");
var from_1 = require("./from");
var empty_1 = require("./empty");
const Observable_1 = require("../Observable");
const from_1 = require("./from");
const empty_1 = require("./empty");
function using(resourceFactory, observableFactory) {
return new Observable_1.Observable(function (subscriber) {
var resource = resourceFactory();
var result = observableFactory(resource);
var source = result ? (0, from_1.from)(result) : empty_1.EMPTY;
return new Observable_1.Observable((subscriber) => {
const resource = resourceFactory();
const result = observableFactory(resource);
const source = result ? (0, from_1.from)(result) : empty_1.EMPTY;
source.subscribe(subscriber);
return function () {
return () => {
if (resource) {

@@ -15,0 +15,0 @@ resource.unsubscribe();

"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.zip = void 0;
var Observable_1 = require("../Observable");
var from_1 = require("./from");
var argsOrArgArray_1 = require("../util/argsOrArgArray");
var empty_1 = require("./empty");
var Subscriber_1 = require("../Subscriber");
var args_1 = require("../util/args");
function zip() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var resultSelector = (0, args_1.popResultSelector)(args);
var sources = (0, argsOrArgArray_1.argsOrArgArray)(args);
const Observable_1 = require("../Observable");
const from_1 = require("./from");
const argsOrArgArray_1 = require("../util/argsOrArgArray");
const empty_1 = require("./empty");
const Subscriber_1 = require("../Subscriber");
const args_1 = require("../util/args");
function zip(...args) {
const resultSelector = (0, args_1.popResultSelector)(args);
const sources = (0, argsOrArgArray_1.argsOrArgArray)(args);
return sources.length
? new Observable_1.Observable(function (destination) {
var buffers = sources.map(function () { return []; });
var completed = sources.map(function () { return false; });
destination.add(function () {
? new Observable_1.Observable((destination) => {
let buffers = sources.map(() => []);
let completed = sources.map(() => false);
destination.add(() => {
buffers = completed = null;
});
var _loop_1 = function (sourceIndex) {
for (let sourceIndex = 0; !destination.closed && sourceIndex < sources.length; sourceIndex++) {
(0, from_1.from)(sources[sourceIndex]).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
destination,
next: (value) => {
buffers[sourceIndex].push(value);
if (buffers.every(function (buffer) { return buffer.length; })) {
var result = buffers.map(function (buffer) { return buffer.shift(); });
destination.next(resultSelector ? resultSelector.apply(void 0, __spreadArray([], __read(result), false)) : result);
if (buffers.some(function (buffer, i) { return !buffer.length && completed[i]; })) {
if (buffers.every((buffer) => buffer.length)) {
const result = buffers.map((buffer) => buffer.shift());
destination.next(resultSelector ? resultSelector(...result) : result);
if (buffers.some((buffer, i) => !buffer.length && completed[i])) {
destination.complete();

@@ -62,3 +33,3 @@ }

},
complete: function () {
complete: () => {
completed[sourceIndex] = true;

@@ -68,7 +39,4 @@ !buffers[sourceIndex].length && destination.complete();

}));
};
for (var sourceIndex = 0; !destination.closed && sourceIndex < sources.length; sourceIndex++) {
_loop_1(sourceIndex);
}
return function () {
return () => {
buffers = completed = null;

@@ -75,0 +43,0 @@ };

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.audit = void 0;
var Subscriber_1 = require("../Subscriber");
var Observable_1 = require("../Observable");
var from_1 = require("../observable/from");
const Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const from_1 = require("../observable/from");
function audit(durationSelector) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var hasValue = false;
var lastValue = null;
var durationSubscriber = null;
var isComplete = false;
var endDuration = function () {
durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
durationSubscriber = null;
if (hasValue) {
hasValue = false;
var value = lastValue;
lastValue = null;
destination.next(value);
return (source) => new Observable_1.Observable((destination) => {
let hasValue = false;
let lastValue = null;
let durationSubscriber = null;
let isComplete = false;
const endDuration = () => {
durationSubscriber?.unsubscribe();
durationSubscriber = null;
if (hasValue) {
hasValue = false;
const value = lastValue;
lastValue = null;
destination.next(value);
}
isComplete && destination.complete();
};
const cleanupDuration = () => {
durationSubscriber = null;
isComplete && destination.complete();
};
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
hasValue = true;
lastValue = value;
if (!durationSubscriber) {
(0, from_1.from)(durationSelector(value)).subscribe((durationSubscriber = (0, Subscriber_1.operate)({
destination,
next: endDuration,
complete: cleanupDuration,
})));
}
isComplete && destination.complete();
};
var cleanupDuration = function () {
durationSubscriber = null;
isComplete && destination.complete();
};
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
hasValue = true;
lastValue = value;
if (!durationSubscriber) {
(0, from_1.from)(durationSelector(value)).subscribe((durationSubscriber = (0, Subscriber_1.operate)({
destination: destination,
next: endDuration,
complete: cleanupDuration,
})));
}
},
complete: function () {
isComplete = true;
(!hasValue || !durationSubscriber || durationSubscriber.closed) && destination.complete();
},
}));
});
};
},
complete: () => {
isComplete = true;
(!hasValue || !durationSubscriber || durationSubscriber.closed) && destination.complete();
},
}));
});
}
exports.audit = audit;
//# sourceMappingURL=audit.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.auditTime = void 0;
var async_1 = require("../scheduler/async");
var audit_1 = require("./audit");
var timer_1 = require("../observable/timer");
function auditTime(duration, scheduler) {
if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }
return (0, audit_1.audit)(function () { return (0, timer_1.timer)(duration, scheduler); });
const async_1 = require("../scheduler/async");
const audit_1 = require("./audit");
const timer_1 = require("../observable/timer");
function auditTime(duration, scheduler = async_1.asyncScheduler) {
return (0, audit_1.audit)(() => (0, timer_1.timer)(duration, scheduler));
}
exports.auditTime = auditTime;
//# sourceMappingURL=auditTime.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.buffer = void 0;
var Observable_1 = require("../Observable");
var noop_1 = require("../util/noop");
var Subscriber_1 = require("../Subscriber");
var from_1 = require("../observable/from");
const Observable_1 = require("../Observable");
const noop_1 = require("../util/noop");
const Subscriber_1 = require("../Subscriber");
const from_1 = require("../observable/from");
function buffer(closingNotifier) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var currentBuffer = [];
(0, from_1.from)(closingNotifier).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function () {
var b = currentBuffer;
currentBuffer = [];
destination.next(b);
},
complete: noop_1.noop,
}));
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) { return currentBuffer.push(value); },
complete: function () {
destination.next(currentBuffer);
destination.complete();
},
}));
return function () {
currentBuffer = null;
};
});
};
return (source) => new Observable_1.Observable((destination) => {
let currentBuffer = [];
(0, from_1.from)(closingNotifier).subscribe((0, Subscriber_1.operate)({
destination,
next: () => {
const b = currentBuffer;
currentBuffer = [];
destination.next(b);
},
complete: noop_1.noop,
}));
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => currentBuffer.push(value),
complete: () => {
destination.next(currentBuffer);
destination.complete();
},
}));
return () => {
currentBuffer = null;
};
});
}
exports.buffer = buffer;
//# sourceMappingURL=buffer.js.map
"use strict";
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.bufferCount = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var arrRemove_1 = require("../util/arrRemove");
function bufferCount(bufferSize, startBufferEvery) {
if (startBufferEvery === void 0) { startBufferEvery = null; }
startBufferEvery = startBufferEvery !== null && startBufferEvery !== void 0 ? startBufferEvery : bufferSize;
return function (source) {
return new Observable_1.Observable(function (destination) {
var buffers = [];
var count = 0;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var e_1, _a, e_2, _b;
var toEmit = null;
if (count++ % startBufferEvery === 0) {
buffers.push([]);
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const arrRemove_1 = require("../util/arrRemove");
function bufferCount(bufferSize, startBufferEvery = null) {
startBufferEvery = startBufferEvery ?? bufferSize;
return (source) => new Observable_1.Observable((destination) => {
let buffers = [];
let count = 0;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
let toEmit = null;
if (count++ % startBufferEvery === 0) {
buffers.push([]);
}
for (const buffer of buffers) {
buffer.push(value);
if (bufferSize <= buffer.length) {
toEmit = toEmit ?? [];
toEmit.push(buffer);
}
try {
for (var buffers_1 = __values(buffers), buffers_1_1 = buffers_1.next(); !buffers_1_1.done; buffers_1_1 = buffers_1.next()) {
var buffer = buffers_1_1.value;
buffer.push(value);
if (bufferSize <= buffer.length) {
toEmit = toEmit !== null && toEmit !== void 0 ? toEmit : [];
toEmit.push(buffer);
}
}
}
if (toEmit) {
for (const buffer of toEmit) {
(0, arrRemove_1.arrRemove)(buffers, buffer);
destination.next(buffer);
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (buffers_1_1 && !buffers_1_1.done && (_a = buffers_1.return)) _a.call(buffers_1);
}
finally { if (e_1) throw e_1.error; }
}
if (toEmit) {
try {
for (var toEmit_1 = __values(toEmit), toEmit_1_1 = toEmit_1.next(); !toEmit_1_1.done; toEmit_1_1 = toEmit_1.next()) {
var buffer = toEmit_1_1.value;
(0, arrRemove_1.arrRemove)(buffers, buffer);
destination.next(buffer);
}
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (toEmit_1_1 && !toEmit_1_1.done && (_b = toEmit_1.return)) _b.call(toEmit_1);
}
finally { if (e_2) throw e_2.error; }
}
}
},
complete: function () {
var e_3, _a;
try {
for (var buffers_2 = __values(buffers), buffers_2_1 = buffers_2.next(); !buffers_2_1.done; buffers_2_1 = buffers_2.next()) {
var buffer = buffers_2_1.value;
destination.next(buffer);
}
}
catch (e_3_1) { e_3 = { error: e_3_1 }; }
finally {
try {
if (buffers_2_1 && !buffers_2_1.done && (_a = buffers_2.return)) _a.call(buffers_2);
}
finally { if (e_3) throw e_3.error; }
}
destination.complete();
},
finalize: function () {
buffers = null;
},
}));
});
};
}
},
complete: () => {
for (const buffer of buffers) {
destination.next(buffer);
}
destination.complete();
},
finalize: () => {
buffers = null;
},
}));
});
}
exports.bufferCount = bufferCount;
//# sourceMappingURL=bufferCount.js.map
"use strict";
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.bufferTime = void 0;
var Subscription_1 = require("../Subscription");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var arrRemove_1 = require("../util/arrRemove");
var async_1 = require("../scheduler/async");
var args_1 = require("../util/args");
var executeSchedule_1 = require("../util/executeSchedule");
function bufferTime(bufferTimeSpan) {
var _a, _b;
var otherArgs = [];
for (var _i = 1; _i < arguments.length; _i++) {
otherArgs[_i - 1] = arguments[_i];
}
var scheduler = (_a = (0, args_1.popScheduler)(otherArgs)) !== null && _a !== void 0 ? _a : async_1.asyncScheduler;
var bufferCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;
var maxBufferSize = otherArgs[1] || Infinity;
return function (source) {
return new Observable_1.Observable(function (destination) {
var bufferRecords = [];
var restartOnEmit = false;
var emit = function (record) {
var buffer = record.buffer, subs = record.subs;
subs.unsubscribe();
(0, arrRemove_1.arrRemove)(bufferRecords, record);
destination.next(buffer);
restartOnEmit && startBuffer();
};
var startBuffer = function () {
if (bufferRecords) {
var subs = new Subscription_1.Subscription();
destination.add(subs);
var buffer = [];
var record_1 = {
buffer: buffer,
subs: subs,
};
bufferRecords.push(record_1);
(0, executeSchedule_1.executeSchedule)(subs, scheduler, function () { return emit(record_1); }, bufferTimeSpan);
const Subscription_1 = require("../Subscription");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const arrRemove_1 = require("../util/arrRemove");
const async_1 = require("../scheduler/async");
const args_1 = require("../util/args");
const executeSchedule_1 = require("../util/executeSchedule");
function bufferTime(bufferTimeSpan, ...otherArgs) {
const scheduler = (0, args_1.popScheduler)(otherArgs) ?? async_1.asyncScheduler;
const bufferCreationInterval = otherArgs[0] ?? null;
const maxBufferSize = otherArgs[1] || Infinity;
return (source) => new Observable_1.Observable((destination) => {
let bufferRecords = [];
let restartOnEmit = false;
const emit = (record) => {
const { buffer, subs } = record;
subs.unsubscribe();
(0, arrRemove_1.arrRemove)(bufferRecords, record);
destination.next(buffer);
restartOnEmit && startBuffer();
};
const startBuffer = () => {
if (bufferRecords) {
const subs = new Subscription_1.Subscription();
destination.add(subs);
const buffer = [];
const record = {
buffer,
subs,
};
bufferRecords.push(record);
(0, executeSchedule_1.executeSchedule)(subs, scheduler, () => emit(record), bufferTimeSpan);
}
};
if (bufferCreationInterval !== null && bufferCreationInterval >= 0) {
(0, executeSchedule_1.executeSchedule)(destination, scheduler, startBuffer, bufferCreationInterval, true);
}
else {
restartOnEmit = true;
}
startBuffer();
const bufferTimeSubscriber = (0, Subscriber_1.operate)({
destination,
next: (value) => {
const recordsCopy = bufferRecords.slice();
for (const record of recordsCopy) {
const { buffer } = record;
buffer.push(value);
maxBufferSize <= buffer.length && emit(record);
}
};
if (bufferCreationInterval !== null && bufferCreationInterval >= 0) {
(0, executeSchedule_1.executeSchedule)(destination, scheduler, startBuffer, bufferCreationInterval, true);
}
else {
restartOnEmit = true;
}
startBuffer();
var bufferTimeSubscriber = (0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var e_1, _a;
var recordsCopy = bufferRecords.slice();
try {
for (var recordsCopy_1 = __values(recordsCopy), recordsCopy_1_1 = recordsCopy_1.next(); !recordsCopy_1_1.done; recordsCopy_1_1 = recordsCopy_1.next()) {
var record = recordsCopy_1_1.value;
var buffer = record.buffer;
buffer.push(value);
maxBufferSize <= buffer.length && emit(record);
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (recordsCopy_1_1 && !recordsCopy_1_1.done && (_a = recordsCopy_1.return)) _a.call(recordsCopy_1);
}
finally { if (e_1) throw e_1.error; }
}
},
complete: function () {
while (bufferRecords === null || bufferRecords === void 0 ? void 0 : bufferRecords.length) {
destination.next(bufferRecords.shift().buffer);
}
bufferTimeSubscriber === null || bufferTimeSubscriber === void 0 ? void 0 : bufferTimeSubscriber.unsubscribe();
destination.complete();
destination.unsubscribe();
},
finalize: function () { return (bufferRecords = null); },
});
source.subscribe(bufferTimeSubscriber);
},
complete: () => {
while (bufferRecords?.length) {
destination.next(bufferRecords.shift().buffer);
}
bufferTimeSubscriber?.unsubscribe();
destination.complete();
destination.unsubscribe();
},
finalize: () => (bufferRecords = null),
});
};
source.subscribe(bufferTimeSubscriber);
});
}
exports.bufferTime = bufferTime;
//# sourceMappingURL=bufferTime.js.map
"use strict";
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.bufferToggle = void 0;
var Subscription_1 = require("../Subscription");
var Observable_1 = require("../Observable");
var from_1 = require("../observable/from");
var Subscriber_1 = require("../Subscriber");
var noop_1 = require("../util/noop");
var arrRemove_1 = require("../util/arrRemove");
const Subscription_1 = require("../Subscription");
const Observable_1 = require("../Observable");
const from_1 = require("../observable/from");
const Subscriber_1 = require("../Subscriber");
const noop_1 = require("../util/noop");
const arrRemove_1 = require("../util/arrRemove");
function bufferToggle(openings, closingSelector) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var buffers = [];
(0, from_1.from)(openings).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (openValue) {
var buffer = [];
buffers.push(buffer);
var closingSubscription = new Subscription_1.Subscription();
var emitBuffer = function () {
(0, arrRemove_1.arrRemove)(buffers, buffer);
destination.next(buffer);
closingSubscription.unsubscribe();
};
closingSubscription.add((0, from_1.from)(closingSelector(openValue)).subscribe((0, Subscriber_1.operate)({ destination: destination, next: emitBuffer, complete: noop_1.noop })));
},
complete: noop_1.noop,
}));
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var e_1, _a;
try {
for (var buffers_1 = __values(buffers), buffers_1_1 = buffers_1.next(); !buffers_1_1.done; buffers_1_1 = buffers_1.next()) {
var buffer = buffers_1_1.value;
buffer.push(value);
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (buffers_1_1 && !buffers_1_1.done && (_a = buffers_1.return)) _a.call(buffers_1);
}
finally { if (e_1) throw e_1.error; }
}
},
complete: function () {
while (buffers.length > 0) {
destination.next(buffers.shift());
}
destination.complete();
},
}));
});
};
return (source) => new Observable_1.Observable((destination) => {
const buffers = [];
(0, from_1.from)(openings).subscribe((0, Subscriber_1.operate)({
destination,
next: (openValue) => {
const buffer = [];
buffers.push(buffer);
const closingSubscription = new Subscription_1.Subscription();
const emitBuffer = () => {
(0, arrRemove_1.arrRemove)(buffers, buffer);
destination.next(buffer);
closingSubscription.unsubscribe();
};
closingSubscription.add((0, from_1.from)(closingSelector(openValue)).subscribe((0, Subscriber_1.operate)({ destination, next: emitBuffer, complete: noop_1.noop })));
},
complete: noop_1.noop,
}));
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
for (const buffer of buffers) {
buffer.push(value);
}
},
complete: () => {
while (buffers.length > 0) {
destination.next(buffers.shift());
}
destination.complete();
},
}));
});
}
exports.bufferToggle = bufferToggle;
//# sourceMappingURL=bufferToggle.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.bufferWhen = void 0;
var Subscriber_1 = require("../Subscriber");
var Observable_1 = require("../Observable");
var noop_1 = require("../util/noop");
var from_1 = require("../observable/from");
const Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const noop_1 = require("../util/noop");
const from_1 = require("../observable/from");
function bufferWhen(closingSelector) {
return function (source) {
return new Observable_1.Observable(function (subscriber) {
var buffer = null;
var closingSubscriber = null;
var openBuffer = function () {
closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();
var b = buffer;
buffer = [];
b && subscriber.next(b);
(0, from_1.from)(closingSelector()).subscribe((closingSubscriber = (0, Subscriber_1.operate)({
destination: subscriber,
next: openBuffer,
complete: noop_1.noop,
})));
};
openBuffer();
source.subscribe((0, Subscriber_1.operate)({
return (source) => new Observable_1.Observable((subscriber) => {
let buffer = null;
let closingSubscriber = null;
const openBuffer = () => {
closingSubscriber?.unsubscribe();
const b = buffer;
buffer = [];
b && subscriber.next(b);
(0, from_1.from)(closingSelector()).subscribe((closingSubscriber = (0, Subscriber_1.operate)({
destination: subscriber,
next: function (value) { return buffer === null || buffer === void 0 ? void 0 : buffer.push(value); },
complete: function () {
buffer && subscriber.next(buffer);
subscriber.complete();
},
finalize: function () { return (buffer = closingSubscriber = null); },
}));
});
};
next: openBuffer,
complete: noop_1.noop,
})));
};
openBuffer();
source.subscribe((0, Subscriber_1.operate)({
destination: subscriber,
next: (value) => buffer?.push(value),
complete: () => {
buffer && subscriber.next(buffer);
subscriber.complete();
},
finalize: () => (buffer = closingSubscriber = null),
}));
});
}
exports.bufferWhen = bufferWhen;
//# sourceMappingURL=bufferWhen.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.catchError = void 0;
var Observable_1 = require("../Observable");
var from_1 = require("../observable/from");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const from_1 = require("../observable/from");
const Subscriber_1 = require("../Subscriber");
function catchError(selector) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var innerSub = null;
var syncUnsub = false;
var handledResult;
innerSub = source.subscribe((0, Subscriber_1.operate)({
destination: destination,
error: function (err) {
handledResult = (0, from_1.from)(selector(err, catchError(selector)(source)));
if (innerSub) {
innerSub.unsubscribe();
innerSub = null;
handledResult.subscribe(destination);
}
else {
syncUnsub = true;
}
},
}));
if (syncUnsub) {
innerSub.unsubscribe();
innerSub = null;
handledResult.subscribe(destination);
}
});
};
return (source) => new Observable_1.Observable((destination) => {
let innerSub = null;
let syncUnsub = false;
let handledResult;
innerSub = source.subscribe((0, Subscriber_1.operate)({
destination,
error: (err) => {
handledResult = (0, from_1.from)(selector(err, catchError(selector)(source)));
if (innerSub) {
innerSub.unsubscribe();
innerSub = null;
handledResult.subscribe(destination);
}
else {
syncUnsub = true;
}
},
}));
if (syncUnsub) {
innerSub.unsubscribe();
innerSub = null;
handledResult.subscribe(destination);
}
});
}
exports.catchError = catchError;
//# sourceMappingURL=catchError.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.combineLatestAll = void 0;
var combineLatest_1 = require("../observable/combineLatest");
var joinAllInternals_1 = require("./joinAllInternals");
const combineLatest_1 = require("../observable/combineLatest");
const joinAllInternals_1 = require("./joinAllInternals");
function combineLatestAll(project) {

@@ -7,0 +7,0 @@ return (0, joinAllInternals_1.joinAllInternals)(combineLatest_1.combineLatest, project);

"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.combineLatestWith = void 0;
var combineLatest_1 = require("../observable/combineLatest");
var Observable_1 = require("../Observable");
function combineLatestWith() {
var otherSources = [];
for (var _i = 0; _i < arguments.length; _i++) {
otherSources[_i] = arguments[_i];
}
return function (source) { return new Observable_1.Observable(function (subscriber) { return (0, combineLatest_1.combineLatestInit)(__spreadArray([source], __read(otherSources), false))(subscriber); }); };
const combineLatest_1 = require("../observable/combineLatest");
const Observable_1 = require("../Observable");
function combineLatestWith(...otherSources) {
return (source) => new Observable_1.Observable((subscriber) => (0, combineLatest_1.combineLatestInit)([source, ...otherSources])(subscriber));
}
exports.combineLatestWith = combineLatestWith;
//# sourceMappingURL=combineLatestWith.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.concatAll = void 0;
var mergeAll_1 = require("./mergeAll");
const mergeAll_1 = require("./mergeAll");
function concatAll() {

@@ -6,0 +6,0 @@ return (0, mergeAll_1.mergeAll)(1);

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.concatMap = void 0;
var mergeMap_1 = require("./mergeMap");
const mergeMap_1 = require("./mergeMap");
function concatMap(project) {

@@ -6,0 +6,0 @@ return (0, mergeMap_1.mergeMap)(project, 1);

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.concatMapTo = void 0;
var concatMap_1 = require("./concatMap");
const concatMap_1 = require("./concatMap");
function concatMapTo(innerObservable) {
return (0, concatMap_1.concatMap)(function () { return innerObservable; });
return (0, concatMap_1.concatMap)(() => innerObservable);
}
exports.concatMapTo = concatMapTo;
//# sourceMappingURL=concatMapTo.js.map
"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.concatWith = void 0;
var from_1 = require("../observable/from");
var concatAll_1 = require("../operators/concatAll");
var Observable_1 = require("../Observable");
function concatWith() {
var otherSources = [];
for (var _i = 0; _i < arguments.length; _i++) {
otherSources[_i] = arguments[_i];
}
return function (source) {
return new Observable_1.Observable(function (subscriber) {
(0, concatAll_1.concatAll)()((0, from_1.from)(__spreadArray([source], __read(otherSources), false))).subscribe(subscriber);
});
};
const from_1 = require("../observable/from");
const concatAll_1 = require("../operators/concatAll");
const Observable_1 = require("../Observable");
function concatWith(...otherSources) {
return (source) => new Observable_1.Observable((subscriber) => {
(0, concatAll_1.concatAll)()((0, from_1.from)([source, ...otherSources])).subscribe(subscriber);
});
}
exports.concatWith = concatWith;
//# sourceMappingURL=concatWith.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.connect = void 0;
var Observable_1 = require("../Observable");
var Subject_1 = require("../Subject");
var from_1 = require("../observable/from");
var fromSubscribable_1 = require("../observable/fromSubscribable");
var DEFAULT_CONFIG = {
connector: function () { return new Subject_1.Subject(); },
const Observable_1 = require("../Observable");
const Subject_1 = require("../Subject");
const from_1 = require("../observable/from");
const fromSubscribable_1 = require("../observable/fromSubscribable");
const DEFAULT_CONFIG = {
connector: () => new Subject_1.Subject(),
};
function connect(selector, config) {
if (config === void 0) { config = DEFAULT_CONFIG; }
var connector = config.connector;
return function (source) {
return new Observable_1.Observable(function (subscriber) {
var subject = connector();
(0, from_1.from)(selector((0, fromSubscribable_1.fromSubscribable)(subject))).subscribe(subscriber);
subscriber.add(source.subscribe(subject));
});
};
function connect(selector, config = DEFAULT_CONFIG) {
const { connector } = config;
return (source) => new Observable_1.Observable((subscriber) => {
const subject = connector();
(0, from_1.from)(selector((0, fromSubscribable_1.fromSubscribable)(subject))).subscribe(subscriber);
subscriber.add(source.subscribe(subject));
});
}
exports.connect = connect;
//# sourceMappingURL=connect.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.count = void 0;
var reduce_1 = require("./reduce");
const reduce_1 = require("./reduce");
function count(predicate) {
return (0, reduce_1.reduce)(function (total, value, i) { return (!predicate || predicate(value, i) ? total + 1 : total); }, 0);
return (0, reduce_1.reduce)((total, value, i) => (!predicate || predicate(value, i) ? total + 1 : total), 0);
}
exports.count = count;
//# sourceMappingURL=count.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.debounce = void 0;
var Subscriber_1 = require("../Subscriber");
var Observable_1 = require("../Observable");
var noop_1 = require("../util/noop");
var from_1 = require("../observable/from");
const Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const noop_1 = require("../util/noop");
const from_1 = require("../observable/from");
function debounce(durationSelector) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var hasValue = false;
var lastValue = null;
var durationSubscriber = null;
var emit = function () {
durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
durationSubscriber = null;
if (hasValue) {
hasValue = false;
var value = lastValue;
lastValue = null;
destination.next(value);
}
};
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
hasValue = true;
lastValue = value;
durationSubscriber = (0, Subscriber_1.operate)({ destination: destination, next: emit, complete: noop_1.noop });
(0, from_1.from)(durationSelector(value)).subscribe(durationSubscriber);
},
complete: function () {
emit();
destination.complete();
},
finalize: function () {
lastValue = durationSubscriber = null;
},
}));
});
};
return (source) => new Observable_1.Observable((destination) => {
let hasValue = false;
let lastValue = null;
let durationSubscriber = null;
const emit = () => {
durationSubscriber?.unsubscribe();
durationSubscriber = null;
if (hasValue) {
hasValue = false;
const value = lastValue;
lastValue = null;
destination.next(value);
}
};
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
durationSubscriber?.unsubscribe();
hasValue = true;
lastValue = value;
durationSubscriber = (0, Subscriber_1.operate)({ destination, next: emit, complete: noop_1.noop });
(0, from_1.from)(durationSelector(value)).subscribe(durationSubscriber);
},
complete: () => {
emit();
destination.complete();
},
finalize: () => {
lastValue = durationSubscriber = null;
},
}));
});
}
exports.debounce = debounce;
//# sourceMappingURL=debounce.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.debounceTime = void 0;
var async_1 = require("../scheduler/async");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
function debounceTime(dueTime, scheduler) {
if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }
return function (source) {
return new Observable_1.Observable(function (destination) {
var activeTask = null;
var lastValue = null;
var lastTime = null;
var scheduling = false;
var emit = function () {
if (scheduling || activeTask) {
if (activeTask) {
activeTask.unsubscribe();
activeTask = null;
}
var value = lastValue;
lastValue = null;
destination.next(value);
const async_1 = require("../scheduler/async");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function debounceTime(dueTime, scheduler = async_1.asyncScheduler) {
return (source) => new Observable_1.Observable((destination) => {
let activeTask = null;
let lastValue = null;
let lastTime = null;
let scheduling = false;
const emit = () => {
if (scheduling || activeTask) {
if (activeTask) {
activeTask.unsubscribe();
activeTask = null;
}
};
function emitWhenIdle() {
var targetTime = lastTime + dueTime;
var now = scheduler.now();
if (now < targetTime) {
activeTask = this.schedule(undefined, targetTime - now);
const value = lastValue;
lastValue = null;
destination.next(value);
}
};
function emitWhenIdle() {
const targetTime = lastTime + dueTime;
const now = scheduler.now();
if (now < targetTime) {
activeTask = this.schedule(undefined, targetTime - now);
destination.add(activeTask);
return;
}
emit();
}
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
lastValue = value;
lastTime = scheduler.now();
if (!activeTask) {
scheduling = true;
activeTask = scheduler.schedule(emitWhenIdle, dueTime);
scheduling = false;
destination.add(activeTask);
return;
}
},
complete: () => {
emit();
}
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
lastValue = value;
lastTime = scheduler.now();
if (!activeTask) {
scheduling = true;
activeTask = scheduler.schedule(emitWhenIdle, dueTime);
scheduling = false;
destination.add(activeTask);
}
},
complete: function () {
emit();
destination.complete();
},
finalize: function () {
lastValue = activeTask = null;
},
}));
});
};
destination.complete();
},
finalize: () => {
lastValue = activeTask = null;
},
}));
});
}
exports.debounceTime = debounceTime;
//# sourceMappingURL=debounceTime.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultIfEmpty = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function defaultIfEmpty(defaultValue) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var hasValue = false;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
hasValue = true;
destination.next(value);
},
complete: function () {
if (!hasValue) {
destination.next(defaultValue);
}
destination.complete();
},
}));
});
};
return (source) => new Observable_1.Observable((destination) => {
let hasValue = false;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
hasValue = true;
destination.next(value);
},
complete: () => {
if (!hasValue) {
destination.next(defaultValue);
}
destination.complete();
},
}));
});
}
exports.defaultIfEmpty = defaultIfEmpty;
//# sourceMappingURL=defaultIfEmpty.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.delay = void 0;
var async_1 = require("../scheduler/async");
var delayWhen_1 = require("./delayWhen");
var timer_1 = require("../observable/timer");
function delay(due, scheduler) {
if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }
var duration = (0, timer_1.timer)(due, scheduler);
return (0, delayWhen_1.delayWhen)(function () { return duration; });
const async_1 = require("../scheduler/async");
const delayWhen_1 = require("./delayWhen");
const timer_1 = require("../observable/timer");
function delay(due, scheduler = async_1.asyncScheduler) {
const duration = (0, timer_1.timer)(due, scheduler);
return (0, delayWhen_1.delayWhen)(() => duration);
}
exports.delay = delay;
//# sourceMappingURL=delay.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.delayWhen = void 0;
var concat_1 = require("../observable/concat");
var take_1 = require("./take");
var ignoreElements_1 = require("./ignoreElements");
var mapTo_1 = require("./mapTo");
var mergeMap_1 = require("./mergeMap");
var from_1 = require("../observable/from");
const concat_1 = require("../observable/concat");
const take_1 = require("./take");
const ignoreElements_1 = require("./ignoreElements");
const mapTo_1 = require("./mapTo");
const mergeMap_1 = require("./mergeMap");
const from_1 = require("../observable/from");
function delayWhen(delayDurationSelector, subscriptionDelay) {
if (subscriptionDelay) {
return function (source) {
return (0, concat_1.concat)(subscriptionDelay.pipe((0, take_1.take)(1), (0, ignoreElements_1.ignoreElements)()), source.pipe(delayWhen(delayDurationSelector)));
};
return (source) => (0, concat_1.concat)(subscriptionDelay.pipe((0, take_1.take)(1), (0, ignoreElements_1.ignoreElements)()), source.pipe(delayWhen(delayDurationSelector)));
}
return (0, mergeMap_1.mergeMap)(function (value, index) { return (0, from_1.from)(delayDurationSelector(value, index)).pipe((0, take_1.take)(1), (0, mapTo_1.mapTo)(value)); });
return (0, mergeMap_1.mergeMap)((value, index) => (0, from_1.from)(delayDurationSelector(value, index)).pipe((0, take_1.take)(1), (0, mapTo_1.mapTo)(value)));
}
exports.delayWhen = delayWhen;
//# sourceMappingURL=delayWhen.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.dematerialize = void 0;
var Notification_1 = require("../Notification");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const Notification_1 = require("../Notification");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function dematerialize() {
return function (source) {
return new Observable_1.Observable(function (destination) {
source.subscribe((0, Subscriber_1.operate)({ destination: destination, next: function (notification) { return (0, Notification_1.observeNotification)(notification, destination); } }));
});
};
return (source) => new Observable_1.Observable((destination) => {
source.subscribe((0, Subscriber_1.operate)({ destination, next: (notification) => (0, Notification_1.observeNotification)(notification, destination) }));
});
}
exports.dematerialize = dematerialize;
//# sourceMappingURL=dematerialize.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.distinct = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var noop_1 = require("../util/noop");
var from_1 = require("../observable/from");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const noop_1 = require("../util/noop");
const from_1 = require("../observable/from");
function distinct(keySelector, flushes) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var distinctKeys = new Set();
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var key = keySelector ? keySelector(value) : value;
if (!distinctKeys.has(key)) {
distinctKeys.add(key);
destination.next(value);
}
},
}));
flushes && (0, from_1.from)(flushes).subscribe((0, Subscriber_1.operate)({ destination: destination, next: function () { return distinctKeys.clear(); }, complete: noop_1.noop }));
});
};
return (source) => new Observable_1.Observable((destination) => {
const distinctKeys = new Set();
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
const key = keySelector ? keySelector(value) : value;
if (!distinctKeys.has(key)) {
distinctKeys.add(key);
destination.next(value);
}
},
}));
flushes && (0, from_1.from)(flushes).subscribe((0, Subscriber_1.operate)({ destination, next: () => distinctKeys.clear(), complete: noop_1.noop }));
});
}
exports.distinct = distinct;
//# sourceMappingURL=distinct.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.distinctUntilChanged = void 0;
var identity_1 = require("../util/identity");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
function distinctUntilChanged(comparator, keySelector) {
if (keySelector === void 0) { keySelector = identity_1.identity; }
comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;
return function (source) {
return new Observable_1.Observable(function (destination) {
var previousKey;
var first = true;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var currentKey = keySelector(value);
if (first || !comparator(previousKey, currentKey)) {
first = false;
previousKey = currentKey;
destination.next(value);
}
},
}));
});
};
const identity_1 = require("../util/identity");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function distinctUntilChanged(comparator, keySelector = identity_1.identity) {
comparator = comparator ?? defaultCompare;
return (source) => new Observable_1.Observable((destination) => {
let previousKey;
let first = true;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
const currentKey = keySelector(value);
if (first || !comparator(previousKey, currentKey)) {
first = false;
previousKey = currentKey;
destination.next(value);
}
},
}));
});
}

@@ -28,0 +25,0 @@ exports.distinctUntilChanged = distinctUntilChanged;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.distinctUntilKeyChanged = void 0;
var distinctUntilChanged_1 = require("./distinctUntilChanged");
const distinctUntilChanged_1 = require("./distinctUntilChanged");
function distinctUntilKeyChanged(key, compare) {
return (0, distinctUntilChanged_1.distinctUntilChanged)(function (x, y) { return (compare ? compare(x[key], y[key]) : x[key] === y[key]); });
return (0, distinctUntilChanged_1.distinctUntilChanged)((x, y) => (compare ? compare(x[key], y[key]) : x[key] === y[key]));
}
exports.distinctUntilKeyChanged = distinctUntilKeyChanged;
//# sourceMappingURL=distinctUntilKeyChanged.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.elementAt = void 0;
var ArgumentOutOfRangeError_1 = require("../util/ArgumentOutOfRangeError");
var filter_1 = require("./filter");
var throwIfEmpty_1 = require("./throwIfEmpty");
var defaultIfEmpty_1 = require("./defaultIfEmpty");
var take_1 = require("./take");
const ArgumentOutOfRangeError_1 = require("../util/ArgumentOutOfRangeError");
const filter_1 = require("./filter");
const throwIfEmpty_1 = require("./throwIfEmpty");
const defaultIfEmpty_1 = require("./defaultIfEmpty");
const take_1 = require("./take");
function elementAt(index, defaultValue) {

@@ -13,8 +13,6 @@ if (index < 0) {

}
var hasDefaultValue = arguments.length >= 2;
return function (source) {
return source.pipe((0, filter_1.filter)(function (v, i) { return i === index; }), (0, take_1.take)(1), hasDefaultValue ? (0, defaultIfEmpty_1.defaultIfEmpty)(defaultValue) : (0, throwIfEmpty_1.throwIfEmpty)(function () { return new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError(); }));
};
const hasDefaultValue = arguments.length >= 2;
return (source) => source.pipe((0, filter_1.filter)((v, i) => i === index), (0, take_1.take)(1), hasDefaultValue ? (0, defaultIfEmpty_1.defaultIfEmpty)(defaultValue) : (0, throwIfEmpty_1.throwIfEmpty)(() => new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError()));
}
exports.elementAt = elementAt;
//# sourceMappingURL=elementAt.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.endWith = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var from_1 = require("../observable/from");
function endWith() {
var values = [];
for (var _i = 0; _i < arguments.length; _i++) {
values[_i] = arguments[_i];
}
return function (source) {
return new Observable_1.Observable(function (destination) {
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
complete: function () {
(0, from_1.subscribeToArray)(values, destination);
},
}));
});
};
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const from_1 = require("../observable/from");
function endWith(...values) {
return (source) => new Observable_1.Observable((destination) => {
source.subscribe((0, Subscriber_1.operate)({
destination,
complete: () => {
(0, from_1.subscribeToArray)(values, destination);
},
}));
});
}
exports.endWith = endWith;
//# sourceMappingURL=endWith.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.every = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function every(predicate, thisArg) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var index = 0;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
if (!predicate.call(thisArg, value, index++, source)) {
destination.next(false);
destination.complete();
}
},
complete: function () {
destination.next(true);
return (source) => new Observable_1.Observable((destination) => {
let index = 0;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
if (!predicate.call(thisArg, value, index++, source)) {
destination.next(false);
destination.complete();
},
}));
});
};
}
},
complete: () => {
destination.next(true);
destination.complete();
},
}));
});
}
exports.every = every;
//# sourceMappingURL=every.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.exhaustAll = void 0;
var exhaustMap_1 = require("./exhaustMap");
var identity_1 = require("../util/identity");
const exhaustMap_1 = require("./exhaustMap");
const identity_1 = require("../util/identity");
function exhaustAll() {

@@ -7,0 +7,0 @@ return (0, exhaustMap_1.exhaustMap)(identity_1.identity);

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.exhaustMap = void 0;
var Subscriber_1 = require("../Subscriber");
var from_1 = require("../observable/from");
var Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const from_1 = require("../observable/from");
const Observable_1 = require("../Observable");
function exhaustMap(project) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var index = 0;
var innerSub = null;
var isComplete = false;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (outerValue) {
if (!innerSub) {
innerSub = (0, Subscriber_1.operate)({
destination: destination,
complete: function () {
innerSub = null;
isComplete && destination.complete();
},
});
(0, from_1.from)(project(outerValue, index++)).subscribe(innerSub);
}
},
complete: function () {
isComplete = true;
!innerSub && destination.complete();
},
}));
});
};
return (source) => new Observable_1.Observable((destination) => {
let index = 0;
let innerSub = null;
let isComplete = false;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (outerValue) => {
if (!innerSub) {
innerSub = (0, Subscriber_1.operate)({
destination,
complete: () => {
innerSub = null;
isComplete && destination.complete();
},
});
(0, from_1.from)(project(outerValue, index++)).subscribe(innerSub);
}
},
complete: () => {
isComplete = true;
!innerSub && destination.complete();
},
}));
});
}
exports.exhaustMap = exhaustMap;
//# sourceMappingURL=exhaustMap.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.expand = void 0;
var Observable_1 = require("../Observable");
var mergeInternals_1 = require("./mergeInternals");
function expand(project, concurrent, scheduler) {
if (concurrent === void 0) { concurrent = Infinity; }
const Observable_1 = require("../Observable");
const mergeInternals_1 = require("./mergeInternals");
function expand(project, concurrent = Infinity, scheduler) {
concurrent = (concurrent || 0) < 1 ? Infinity : concurrent;
return function (source) {
return new Observable_1.Observable(function (subscriber) {
return (0, mergeInternals_1.mergeInternals)(source, subscriber, project, concurrent, undefined, true, scheduler);
});
};
return (source) => new Observable_1.Observable((subscriber) => (0, mergeInternals_1.mergeInternals)(source, subscriber, project, concurrent, undefined, true, scheduler));
}
exports.expand = expand;
//# sourceMappingURL=expand.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.filter = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function filter(predicate, thisArg) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var index = 0;
source.subscribe((0, Subscriber_1.operate)({ destination: destination, next: function (value) { return predicate.call(thisArg, value, index++) && destination.next(value); } }));
});
};
return (source) => new Observable_1.Observable((destination) => {
let index = 0;
source.subscribe((0, Subscriber_1.operate)({ destination, next: (value) => predicate.call(thisArg, value, index++) && destination.next(value) }));
});
}
exports.filter = filter;
//# sourceMappingURL=filter.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.finalize = void 0;
var Observable_1 = require("../Observable");
const Observable_1 = require("../Observable");
function finalize(callback) {
return function (source) {
return new Observable_1.Observable(function (subscriber) {
source.subscribe(subscriber);
subscriber.add(callback);
});
};
return (source) => new Observable_1.Observable((subscriber) => {
source.subscribe(subscriber);
subscriber.add(callback);
});
}
exports.finalize = finalize;
//# sourceMappingURL=finalize.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createFind = exports.find = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function find(predicate) {
return function (source) { return new Observable_1.Observable(function (subscriber) { return createFind(predicate, 'value', source, subscriber); }); };
return (source) => new Observable_1.Observable((subscriber) => createFind(predicate, 'value', source, subscriber));
}
exports.find = find;
function createFind(predicate, emit, source, destination) {
var findIndex = emit === 'index';
var index = 0;
const findIndex = emit === 'index';
let index = 0;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var i = index++;
destination,
next: (value) => {
const i = index++;
if (predicate(value, i, source)) {

@@ -22,3 +22,3 @@ destination.next(findIndex ? i : value);

},
complete: function () {
complete: () => {
destination.next(findIndex ? -1 : undefined);

@@ -25,0 +25,0 @@ destination.complete();

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.findIndex = void 0;
var Observable_1 = require("../Observable");
var find_1 = require("./find");
const Observable_1 = require("../Observable");
const find_1 = require("./find");
function findIndex(predicate) {
return function (source) { return new Observable_1.Observable(function (subscriber) { return (0, find_1.createFind)(predicate, 'index', source, subscriber); }); };
return (source) => new Observable_1.Observable((subscriber) => (0, find_1.createFind)(predicate, 'index', source, subscriber));
}
exports.findIndex = findIndex;
//# sourceMappingURL=findIndex.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.first = void 0;
var EmptyError_1 = require("../util/EmptyError");
var filter_1 = require("./filter");
var take_1 = require("./take");
var defaultIfEmpty_1 = require("./defaultIfEmpty");
var throwIfEmpty_1 = require("./throwIfEmpty");
var identity_1 = require("../util/identity");
const EmptyError_1 = require("../util/EmptyError");
const filter_1 = require("./filter");
const take_1 = require("./take");
const defaultIfEmpty_1 = require("./defaultIfEmpty");
const throwIfEmpty_1 = require("./throwIfEmpty");
const identity_1 = require("../util/identity");
function first(predicate, defaultValue) {
var hasDefaultValue = arguments.length >= 2;
return function (source) {
return source.pipe(predicate ? (0, filter_1.filter)(function (v, i) { return predicate(v, i, source); }) : identity_1.identity, (0, take_1.take)(1), hasDefaultValue ? (0, defaultIfEmpty_1.defaultIfEmpty)(defaultValue) : (0, throwIfEmpty_1.throwIfEmpty)(function () { return new EmptyError_1.EmptyError(); }));
};
const hasDefaultValue = arguments.length >= 2;
return (source) => source.pipe(predicate ? (0, filter_1.filter)((v, i) => predicate(v, i, source)) : identity_1.identity, (0, take_1.take)(1), hasDefaultValue ? (0, defaultIfEmpty_1.defaultIfEmpty)(defaultValue) : (0, throwIfEmpty_1.throwIfEmpty)(() => new EmptyError_1.EmptyError()));
}
exports.first = first;
//# sourceMappingURL=first.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.groupBy = void 0;
var Observable_1 = require("../Observable");
var from_1 = require("../observable/from");
var Subject_1 = require("../Subject");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const from_1 = require("../observable/from");
const Subject_1 = require("../Subject");
const Subscriber_1 = require("../Subscriber");
function groupBy(keySelector, elementOrOptions, duration, connector) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var element;
if (!elementOrOptions || typeof elementOrOptions === 'function') {
element = elementOrOptions;
}
else {
(duration = elementOrOptions.duration, element = elementOrOptions.element, connector = elementOrOptions.connector);
}
var groups = new Map();
var notify = function (cb) {
groups.forEach(cb);
cb(destination);
};
var handleError = function (err) { return notify(function (consumer) { return consumer.error(err); }); };
var groupBySourceSubscriber = (0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
try {
var key_1 = keySelector(value);
var group_1 = groups.get(key_1);
if (!group_1) {
groups.set(key_1, (group_1 = connector ? connector() : new Subject_1.Subject()));
var grouped = createGroupedObservable(key_1, group_1);
destination.next(grouped);
if (duration) {
var durationSubscriber_1 = (0, Subscriber_1.operate)({
destination: group_1,
next: function () {
group_1.complete();
durationSubscriber_1 === null || durationSubscriber_1 === void 0 ? void 0 : durationSubscriber_1.unsubscribe();
},
finalize: function () { return groups.delete(key_1); },
});
groupBySourceSubscriber.add((0, from_1.from)(duration(grouped)).subscribe(durationSubscriber_1));
}
return (source) => new Observable_1.Observable((destination) => {
let element;
if (!elementOrOptions || typeof elementOrOptions === 'function') {
element = elementOrOptions;
}
else {
({ duration, element, connector } = elementOrOptions);
}
const groups = new Map();
const notify = (cb) => {
groups.forEach(cb);
cb(destination);
};
const handleError = (err) => notify((consumer) => consumer.error(err));
const groupBySourceSubscriber = (0, Subscriber_1.operate)({
destination,
next: (value) => {
try {
const key = keySelector(value);
let group = groups.get(key);
if (!group) {
groups.set(key, (group = connector ? connector() : new Subject_1.Subject()));
const grouped = createGroupedObservable(key, group);
destination.next(grouped);
if (duration) {
const durationSubscriber = (0, Subscriber_1.operate)({
destination: group,
next: () => {
group.complete();
durationSubscriber?.unsubscribe();
},
finalize: () => groups.delete(key),
});
groupBySourceSubscriber.add((0, from_1.from)(duration(grouped)).subscribe(durationSubscriber));
}
group_1.next(element ? element(value) : value);
}
catch (err) {
handleError(err);
}
},
error: handleError,
complete: function () { return notify(function (consumer) { return consumer.complete(); }); },
finalize: function () { return groups.clear(); },
});
source.subscribe(groupBySourceSubscriber);
function createGroupedObservable(key, groupSubject) {
var result = new Observable_1.Observable(function (groupSubscriber) { return groupSubject.subscribe(groupSubscriber); });
result.key = key;
return result;
}
group.next(element ? element(value) : value);
}
catch (err) {
handleError(err);
}
},
error: handleError,
complete: () => notify((consumer) => consumer.complete()),
finalize: () => groups.clear(),
});
};
source.subscribe(groupBySourceSubscriber);
function createGroupedObservable(key, groupSubject) {
const result = new Observable_1.Observable((groupSubscriber) => groupSubject.subscribe(groupSubscriber));
result.key = key;
return result;
}
});
}
exports.groupBy = groupBy;
//# sourceMappingURL=groupBy.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ignoreElements = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var noop_1 = require("../util/noop");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const noop_1 = require("../util/noop");
function ignoreElements() {
return function (source) {
return new Observable_1.Observable(function (destination) {
source.subscribe((0, Subscriber_1.operate)({ destination: destination, next: noop_1.noop }));
});
};
return (source) => new Observable_1.Observable((destination) => {
source.subscribe((0, Subscriber_1.operate)({ destination, next: noop_1.noop }));
});
}
exports.ignoreElements = ignoreElements;
//# sourceMappingURL=ignoreElements.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isEmpty = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function isEmpty() {
return function (source) {
return new Observable_1.Observable(function (destination) {
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function () {
destination.next(false);
destination.complete();
},
complete: function () {
destination.next(true);
destination.complete();
},
}));
});
};
return (source) => new Observable_1.Observable((destination) => {
source.subscribe((0, Subscriber_1.operate)({
destination,
next: () => {
destination.next(false);
destination.complete();
},
complete: () => {
destination.next(true);
destination.complete();
},
}));
});
}
exports.isEmpty = isEmpty;
//# sourceMappingURL=isEmpty.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.joinAllInternals = void 0;
var identity_1 = require("../util/identity");
var mapOneOrManyArgs_1 = require("../util/mapOneOrManyArgs");
var pipe_1 = require("../util/pipe");
var mergeMap_1 = require("./mergeMap");
var toArray_1 = require("./toArray");
const identity_1 = require("../util/identity");
const mapOneOrManyArgs_1 = require("../util/mapOneOrManyArgs");
const pipe_1 = require("../util/pipe");
const mergeMap_1 = require("./mergeMap");
const toArray_1 = require("./toArray");
function joinAllInternals(joinFn, project) {
return (0, pipe_1.pipe)((0, toArray_1.toArray)(), (0, mergeMap_1.mergeMap)(function (sources) { return joinFn(sources); }), project ? (0, mapOneOrManyArgs_1.mapOneOrManyArgs)(project) : identity_1.identity);
return (0, pipe_1.pipe)((0, toArray_1.toArray)(), (0, mergeMap_1.mergeMap)((sources) => joinFn(sources)), project ? (0, mapOneOrManyArgs_1.mapOneOrManyArgs)(project) : identity_1.identity);
}
exports.joinAllInternals = joinAllInternals;
//# sourceMappingURL=joinAllInternals.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.last = void 0;
var EmptyError_1 = require("../util/EmptyError");
var filter_1 = require("./filter");
var takeLast_1 = require("./takeLast");
var throwIfEmpty_1 = require("./throwIfEmpty");
var defaultIfEmpty_1 = require("./defaultIfEmpty");
var identity_1 = require("../util/identity");
const EmptyError_1 = require("../util/EmptyError");
const filter_1 = require("./filter");
const takeLast_1 = require("./takeLast");
const throwIfEmpty_1 = require("./throwIfEmpty");
const defaultIfEmpty_1 = require("./defaultIfEmpty");
const identity_1 = require("../util/identity");
function last(predicate, defaultValue) {
var hasDefaultValue = arguments.length >= 2;
return function (source) {
return source.pipe(predicate ? (0, filter_1.filter)(function (v, i) { return predicate(v, i, source); }) : identity_1.identity, (0, takeLast_1.takeLast)(1), hasDefaultValue ? (0, defaultIfEmpty_1.defaultIfEmpty)(defaultValue) : (0, throwIfEmpty_1.throwIfEmpty)(function () { return new EmptyError_1.EmptyError(); }));
};
const hasDefaultValue = arguments.length >= 2;
return (source) => source.pipe(predicate ? (0, filter_1.filter)((v, i) => predicate(v, i, source)) : identity_1.identity, (0, takeLast_1.takeLast)(1), hasDefaultValue ? (0, defaultIfEmpty_1.defaultIfEmpty)(defaultValue) : (0, throwIfEmpty_1.throwIfEmpty)(() => new EmptyError_1.EmptyError()));
}
exports.last = last;
//# sourceMappingURL=last.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.map = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function map(project) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var index = 0;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
destination.next(project(value, index++));
},
}));
});
};
return (source) => new Observable_1.Observable((destination) => {
let index = 0;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
destination.next(project(value, index++));
},
}));
});
}
exports.map = map;
//# sourceMappingURL=map.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.mapTo = void 0;
var map_1 = require("./map");
const map_1 = require("./map");
function mapTo(value) {
return (0, map_1.map)(function () { return value; });
return (0, map_1.map)(() => value);
}
exports.mapTo = mapTo;
//# sourceMappingURL=mapTo.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.materialize = void 0;
var NotificationFactories_1 = require("../NotificationFactories");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const NotificationFactories_1 = require("../NotificationFactories");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function materialize() {
return function (source) {
return new Observable_1.Observable(function (destination) {
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
destination.next((0, NotificationFactories_1.nextNotification)(value));
},
error: function (error) {
destination.next((0, NotificationFactories_1.errorNotification)(error));
destination.complete();
},
complete: function () {
destination.next(NotificationFactories_1.COMPLETE_NOTIFICATION);
destination.complete();
},
}));
});
};
return (source) => new Observable_1.Observable((destination) => {
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
destination.next((0, NotificationFactories_1.nextNotification)(value));
},
error: (error) => {
destination.next((0, NotificationFactories_1.errorNotification)(error));
destination.complete();
},
complete: () => {
destination.next(NotificationFactories_1.COMPLETE_NOTIFICATION);
destination.complete();
},
}));
});
}
exports.materialize = materialize;
//# sourceMappingURL=materialize.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.max = void 0;
var reduce_1 = require("./reduce");
var isFunction_1 = require("../util/isFunction");
const reduce_1 = require("./reduce");
const isFunction_1 = require("../util/isFunction");
function max(comparer) {
return (0, reduce_1.reduce)((0, isFunction_1.isFunction)(comparer) ? function (x, y) { return (comparer(x, y) > 0 ? x : y); } : function (x, y) { return (x > y ? x : y); });
return (0, reduce_1.reduce)((0, isFunction_1.isFunction)(comparer) ? (x, y) => (comparer(x, y) > 0 ? x : y) : (x, y) => (x > y ? x : y));
}
exports.max = max;
//# sourceMappingURL=max.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.mergeAll = void 0;
var mergeMap_1 = require("./mergeMap");
var identity_1 = require("../util/identity");
function mergeAll(concurrent) {
if (concurrent === void 0) { concurrent = Infinity; }
const mergeMap_1 = require("./mergeMap");
const identity_1 = require("../util/identity");
function mergeAll(concurrent = Infinity) {
return (0, mergeMap_1.mergeMap)(identity_1.identity, concurrent);

@@ -9,0 +8,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.mergeInternals = void 0;
var from_1 = require("../observable/from");
var Subscriber_1 = require("../Subscriber");
var executeSchedule_1 = require("../util/executeSchedule");
const from_1 = require("../observable/from");
const Subscriber_1 = require("../Subscriber");
const executeSchedule_1 = require("../util/executeSchedule");
function mergeInternals(source, destination, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {
var buffer = [];
var active = 0;
var index = 0;
var isComplete = false;
var checkComplete = function () {
const buffer = [];
let active = 0;
let index = 0;
let isComplete = false;
const checkComplete = () => {
if (isComplete && !buffer.length && !active) {

@@ -17,11 +17,11 @@ destination.complete();

};
var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); };
var doInnerSub = function (value) {
const outerNext = (value) => (active < concurrent ? doInnerSub(value) : buffer.push(value));
const doInnerSub = (value) => {
expand && destination.next(value);
active++;
var innerComplete = false;
let innerComplete = false;
(0, from_1.from)(project(value, index++)).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (innerValue) {
onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);
destination,
next: (innerValue) => {
onBeforeNext?.(innerValue);
if (expand) {

@@ -34,13 +34,13 @@ outerNext(innerValue);

},
complete: function () {
complete: () => {
innerComplete = true;
},
finalize: function () {
finalize: () => {
if (innerComplete) {
try {
active--;
var _loop_1 = function () {
var bufferedValue = buffer.shift();
while (buffer.length && active < concurrent) {
const bufferedValue = buffer.shift();
if (innerSubScheduler) {
(0, executeSchedule_1.executeSchedule)(destination, innerSubScheduler, function () { return doInnerSub(bufferedValue); });
(0, executeSchedule_1.executeSchedule)(destination, innerSubScheduler, () => doInnerSub(bufferedValue));
}

@@ -50,5 +50,2 @@ else {

}
};
while (buffer.length && active < concurrent) {
_loop_1();
}

@@ -65,5 +62,5 @@ checkComplete();

source.subscribe((0, Subscriber_1.operate)({
destination: destination,
destination,
next: outerNext,
complete: function () {
complete: () => {
isComplete = true;

@@ -73,4 +70,4 @@ checkComplete();

}));
return function () {
additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();
return () => {
additionalFinalizer?.();
};

@@ -77,0 +74,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.mergeMap = void 0;
var Observable_1 = require("../Observable");
var mergeInternals_1 = require("./mergeInternals");
function mergeMap(project, concurrent) {
if (concurrent === void 0) { concurrent = Infinity; }
return function (source) { return new Observable_1.Observable(function (subscriber) { return (0, mergeInternals_1.mergeInternals)(source, subscriber, project, concurrent); }); };
const Observable_1 = require("../Observable");
const mergeInternals_1 = require("./mergeInternals");
function mergeMap(project, concurrent = Infinity) {
return (source) => new Observable_1.Observable((subscriber) => (0, mergeInternals_1.mergeInternals)(source, subscriber, project, concurrent));
}
exports.mergeMap = mergeMap;
//# sourceMappingURL=mergeMap.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.mergeMapTo = void 0;
var mergeMap_1 = require("./mergeMap");
const mergeMap_1 = require("./mergeMap");
function mergeMapTo(innerObservable, concurrent) {
return (0, mergeMap_1.mergeMap)(function () { return innerObservable; }, concurrent);
return (0, mergeMap_1.mergeMap)(() => innerObservable, concurrent);
}
exports.mergeMapTo = mergeMapTo;
//# sourceMappingURL=mergeMapTo.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.mergeScan = void 0;
var Observable_1 = require("../Observable");
var mergeInternals_1 = require("./mergeInternals");
function mergeScan(accumulator, seed, concurrent) {
if (concurrent === void 0) { concurrent = Infinity; }
return function (source) {
return new Observable_1.Observable(function (subscriber) {
var state = seed;
return (0, mergeInternals_1.mergeInternals)(source, subscriber, function (value, index) { return accumulator(state, value, index); }, concurrent, function (value) {
state = value;
}, false, undefined, function () { return (state = null); });
});
};
const Observable_1 = require("../Observable");
const mergeInternals_1 = require("./mergeInternals");
function mergeScan(accumulator, seed, concurrent = Infinity) {
return (source) => new Observable_1.Observable((subscriber) => {
let state = seed;
return (0, mergeInternals_1.mergeInternals)(source, subscriber, (value, index) => accumulator(state, value, index), concurrent, (value) => {
state = value;
}, false, undefined, () => (state = null));
});
}
exports.mergeScan = mergeScan;
//# sourceMappingURL=mergeScan.js.map
"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.mergeWith = void 0;
var from_1 = require("../observable/from");
var mergeAll_1 = require("../operators/mergeAll");
var Observable_1 = require("../Observable");
function mergeWith() {
var otherSources = [];
for (var _i = 0; _i < arguments.length; _i++) {
otherSources[_i] = arguments[_i];
}
return function (source) {
return new Observable_1.Observable(function (subscriber) {
(0, mergeAll_1.mergeAll)()((0, from_1.from)(__spreadArray([source], __read(otherSources), false))).subscribe(subscriber);
});
};
const from_1 = require("../observable/from");
const mergeAll_1 = require("../operators/mergeAll");
const Observable_1 = require("../Observable");
function mergeWith(...otherSources) {
return (source) => new Observable_1.Observable((subscriber) => {
(0, mergeAll_1.mergeAll)()((0, from_1.from)([source, ...otherSources])).subscribe(subscriber);
});
}
exports.mergeWith = mergeWith;
//# sourceMappingURL=mergeWith.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.min = void 0;
var reduce_1 = require("./reduce");
var isFunction_1 = require("../util/isFunction");
const reduce_1 = require("./reduce");
const isFunction_1 = require("../util/isFunction");
function min(comparer) {
return (0, reduce_1.reduce)((0, isFunction_1.isFunction)(comparer) ? function (x, y) { return (comparer(x, y) < 0 ? x : y); } : function (x, y) { return (x < y ? x : y); });
return (0, reduce_1.reduce)((0, isFunction_1.isFunction)(comparer) ? (x, y) => (comparer(x, y) < 0 ? x : y) : (x, y) => (x < y ? x : y));
}
exports.min = min;
//# sourceMappingURL=min.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.observeOn = void 0;
var executeSchedule_1 = require("../util/executeSchedule");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
function observeOn(scheduler, delay) {
if (delay === void 0) { delay = 0; }
return function (source) {
return new Observable_1.Observable(function (destination) {
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) { return (0, executeSchedule_1.executeSchedule)(destination, scheduler, function () { return destination.next(value); }, delay); },
error: function (err) { return (0, executeSchedule_1.executeSchedule)(destination, scheduler, function () { return destination.error(err); }, delay); },
complete: function () { return (0, executeSchedule_1.executeSchedule)(destination, scheduler, function () { return destination.complete(); }, delay); },
}));
});
};
const executeSchedule_1 = require("../util/executeSchedule");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function observeOn(scheduler, delay = 0) {
return (source) => new Observable_1.Observable((destination) => {
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => (0, executeSchedule_1.executeSchedule)(destination, scheduler, () => destination.next(value), delay),
error: (err) => (0, executeSchedule_1.executeSchedule)(destination, scheduler, () => destination.error(err), delay),
complete: () => (0, executeSchedule_1.executeSchedule)(destination, scheduler, () => destination.complete(), delay),
}));
});
}
exports.observeOn = observeOn;
//# sourceMappingURL=observeOn.js.map
"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.onErrorResumeNextWith = void 0;
var argsOrArgArray_1 = require("../util/argsOrArgArray");
var onErrorResumeNext_1 = require("../observable/onErrorResumeNext");
function onErrorResumeNextWith() {
var sources = [];
for (var _i = 0; _i < arguments.length; _i++) {
sources[_i] = arguments[_i];
}
var nextSources = (0, argsOrArgArray_1.argsOrArgArray)(sources);
return function (source) { return onErrorResumeNext_1.onErrorResumeNext.apply(void 0, __spreadArray([source], __read(nextSources), false)); };
const argsOrArgArray_1 = require("../util/argsOrArgArray");
const onErrorResumeNext_1 = require("../observable/onErrorResumeNext");
function onErrorResumeNextWith(...sources) {
const nextSources = (0, argsOrArgArray_1.argsOrArgArray)(sources);
return (source) => (0, onErrorResumeNext_1.onErrorResumeNext)(source, ...nextSources);
}
exports.onErrorResumeNextWith = onErrorResumeNextWith;
//# sourceMappingURL=onErrorResumeNextWith.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.pairwise = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function pairwise() {
return function (source) {
return new Observable_1.Observable(function (destination) {
var prev;
var hasPrev = false;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var p = prev;
prev = value;
hasPrev && destination.next([p, value]);
hasPrev = true;
},
}));
});
};
return (source) => new Observable_1.Observable((destination) => {
let prev;
let hasPrev = false;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
const p = prev;
prev = value;
hasPrev && destination.next([p, value]);
hasPrev = true;
},
}));
});
}
exports.pairwise = pairwise;
//# sourceMappingURL=pairwise.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.partition = void 0;
var not_1 = require("../util/not");
var filter_1 = require("./filter");
const not_1 = require("../util/not");
const filter_1 = require("./filter");
function partition(predicate, thisArg) {
return function (source) {
return [(0, filter_1.filter)(predicate, thisArg)(source), (0, filter_1.filter)((0, not_1.not)(predicate, thisArg))(source)];
};
return (source) => [(0, filter_1.filter)(predicate, thisArg)(source), (0, filter_1.filter)((0, not_1.not)(predicate, thisArg))(source)];
}
exports.partition = partition;
//# sourceMappingURL=partition.js.map
"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.raceWith = void 0;
var race_1 = require("../observable/race");
var Observable_1 = require("../Observable");
var identity_1 = require("../util/identity");
function raceWith() {
var otherSources = [];
for (var _i = 0; _i < arguments.length; _i++) {
otherSources[_i] = arguments[_i];
}
const race_1 = require("../observable/race");
const Observable_1 = require("../Observable");
const identity_1 = require("../util/identity");
function raceWith(...otherSources) {
return !otherSources.length
? identity_1.identity
: function (source) {
return new Observable_1.Observable(function (subscriber) {
(0, race_1.raceInit)(__spreadArray([source], __read(otherSources), false))(subscriber);
});
};
: (source) => new Observable_1.Observable((subscriber) => {
(0, race_1.raceInit)([source, ...otherSources])(subscriber);
});
}
exports.raceWith = raceWith;
//# sourceMappingURL=raceWith.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.reduce = void 0;
var scanInternals_1 = require("./scanInternals");
var Observable_1 = require("../Observable");
const scanInternals_1 = require("./scanInternals");
const Observable_1 = require("../Observable");
function reduce(accumulator, seed) {
var hasSeed = arguments.length >= 2;
return function (source) { return new Observable_1.Observable(function (subscriber) { return (0, scanInternals_1.scanInternals)(accumulator, seed, hasSeed, false, true, source, subscriber); }); };
const hasSeed = arguments.length >= 2;
return (source) => new Observable_1.Observable((subscriber) => (0, scanInternals_1.scanInternals)(accumulator, seed, hasSeed, false, true, source, subscriber));
}
exports.reduce = reduce;
//# sourceMappingURL=reduce.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.repeat = void 0;
var empty_1 = require("../observable/empty");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var from_1 = require("../observable/from");
var timer_1 = require("../observable/timer");
const empty_1 = require("../observable/empty");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const from_1 = require("../observable/from");
const timer_1 = require("../observable/timer");
function repeat(countOrConfig) {
var _a;
var count = Infinity;
var delay;
let count = Infinity;
let delay;
if (countOrConfig != null) {
if (typeof countOrConfig === 'object') {
(_a = countOrConfig.count, count = _a === void 0 ? Infinity : _a, delay = countOrConfig.delay);
({ count = Infinity, delay } = countOrConfig);
}

@@ -22,52 +21,50 @@ else {

return count <= 0
? function () { return empty_1.EMPTY; }
: function (source) {
return new Observable_1.Observable(function (destination) {
var soFar = 0;
var sourceSub;
var resubscribe = function () {
sourceSub === null || sourceSub === void 0 ? void 0 : sourceSub.unsubscribe();
sourceSub = null;
if (delay != null) {
var notifier = typeof delay === 'number' ? (0, timer_1.timer)(delay) : (0, from_1.from)(delay(soFar));
var notifierSubscriber_1 = (0, Subscriber_1.operate)({
destination: destination,
next: function () {
notifierSubscriber_1.unsubscribe();
subscribeToSource();
},
});
notifier.subscribe(notifierSubscriber_1);
}
else {
subscribeToSource();
}
};
var subscribeToSource = function () {
var syncUnsub = false;
sourceSub = source.subscribe((0, Subscriber_1.operate)({
destination: destination,
complete: function () {
if (++soFar < count) {
if (sourceSub) {
resubscribe();
}
else {
syncUnsub = true;
}
? () => empty_1.EMPTY
: (source) => new Observable_1.Observable((destination) => {
let soFar = 0;
let sourceSub;
const resubscribe = () => {
sourceSub?.unsubscribe();
sourceSub = null;
if (delay != null) {
const notifier = typeof delay === 'number' ? (0, timer_1.timer)(delay) : (0, from_1.from)(delay(soFar));
const notifierSubscriber = (0, Subscriber_1.operate)({
destination,
next: () => {
notifierSubscriber.unsubscribe();
subscribeToSource();
},
});
notifier.subscribe(notifierSubscriber);
}
else {
subscribeToSource();
}
};
const subscribeToSource = () => {
let syncUnsub = false;
sourceSub = source.subscribe((0, Subscriber_1.operate)({
destination,
complete: () => {
if (++soFar < count) {
if (sourceSub) {
resubscribe();
}
else {
destination.complete();
syncUnsub = true;
}
},
}));
if (syncUnsub) {
resubscribe();
}
};
subscribeToSource();
});
};
}
else {
destination.complete();
}
},
}));
if (syncUnsub) {
resubscribe();
}
};
subscribeToSource();
});
}
exports.repeat = repeat;
//# sourceMappingURL=repeat.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.repeatWhen = void 0;
var Observable_1 = require("../Observable");
var from_1 = require("../observable/from");
var Subject_1 = require("../Subject");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const from_1 = require("../observable/from");
const Subject_1 = require("../Subject");
const Subscriber_1 = require("../Subscriber");
function repeatWhen(notifier) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var innerSub;
var syncResub = false;
var completions$;
var isNotifierComplete = false;
var isMainComplete = false;
var checkComplete = function () { return isMainComplete && isNotifierComplete && (destination.complete(), true); };
var getCompletionSubject = function () {
if (!completions$) {
completions$ = new Subject_1.Subject();
(0, from_1.from)(notifier(completions$)).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function () {
if (innerSub) {
subscribeForRepeatWhen();
}
else {
syncResub = true;
}
},
complete: function () {
isNotifierComplete = true;
checkComplete();
},
}));
}
return completions$;
};
var subscribeForRepeatWhen = function () {
isMainComplete = false;
innerSub = source.subscribe((0, Subscriber_1.operate)({
destination: destination,
complete: function () {
isMainComplete = true;
!checkComplete() && getCompletionSubject().next();
return (source) => new Observable_1.Observable((destination) => {
let innerSub;
let syncResub = false;
let completions$;
let isNotifierComplete = false;
let isMainComplete = false;
const checkComplete = () => isMainComplete && isNotifierComplete && (destination.complete(), true);
const getCompletionSubject = () => {
if (!completions$) {
completions$ = new Subject_1.Subject();
(0, from_1.from)(notifier(completions$)).subscribe((0, Subscriber_1.operate)({
destination,
next: () => {
if (innerSub) {
subscribeForRepeatWhen();
}
else {
syncResub = true;
}
},
complete: () => {
isNotifierComplete = true;
checkComplete();
},
}));
if (syncResub) {
innerSub.unsubscribe();
innerSub = null;
syncResub = false;
subscribeForRepeatWhen();
}
};
subscribeForRepeatWhen();
});
};
}
return completions$;
};
const subscribeForRepeatWhen = () => {
isMainComplete = false;
innerSub = source.subscribe((0, Subscriber_1.operate)({
destination,
complete: () => {
isMainComplete = true;
!checkComplete() && getCompletionSubject().next();
},
}));
if (syncResub) {
innerSub.unsubscribe();
innerSub = null;
syncResub = false;
subscribeForRepeatWhen();
}
};
subscribeForRepeatWhen();
});
}
exports.repeatWhen = repeatWhen;
//# sourceMappingURL=repeatWhen.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.retry = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var identity_1 = require("../util/identity");
var timer_1 = require("../observable/timer");
var from_1 = require("../observable/from");
function retry(configOrCount) {
if (configOrCount === void 0) { configOrCount = Infinity; }
var config;
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const identity_1 = require("../util/identity");
const timer_1 = require("../observable/timer");
const from_1 = require("../observable/from");
function retry(configOrCount = Infinity) {
let config;
if (configOrCount && typeof configOrCount === 'object') {

@@ -20,65 +19,63 @@ config = configOrCount;

}
var _a = config.count, count = _a === void 0 ? Infinity : _a, delay = config.delay, _b = config.resetOnSuccess, resetOnSuccess = _b === void 0 ? false : _b;
const { count = Infinity, delay, resetOnSuccess: resetOnSuccess = false } = config;
return count <= 0
? identity_1.identity
: function (source) {
return new Observable_1.Observable(function (destination) {
var soFar = 0;
var innerSub;
var subscribeForRetry = function () {
var syncUnsub = false;
innerSub = source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
if (resetOnSuccess) {
soFar = 0;
}
destination.next(value);
},
error: function (err) {
if (soFar++ < count) {
var resub_1 = function () {
if (innerSub) {
innerSub.unsubscribe();
innerSub = null;
subscribeForRetry();
}
else {
syncUnsub = true;
}
};
if (delay != null) {
var notifier = typeof delay === 'number' ? (0, timer_1.timer)(delay) : (0, from_1.from)(delay(err, soFar));
var notifierSubscriber_1 = (0, Subscriber_1.operate)({
destination: destination,
next: function () {
notifierSubscriber_1.unsubscribe();
resub_1();
},
complete: function () {
destination.complete();
},
});
notifier.subscribe(notifierSubscriber_1);
: (source) => new Observable_1.Observable((destination) => {
let soFar = 0;
let innerSub;
const subscribeForRetry = () => {
let syncUnsub = false;
innerSub = source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
if (resetOnSuccess) {
soFar = 0;
}
destination.next(value);
},
error: (err) => {
if (soFar++ < count) {
const resub = () => {
if (innerSub) {
innerSub.unsubscribe();
innerSub = null;
subscribeForRetry();
}
else {
resub_1();
syncUnsub = true;
}
};
if (delay != null) {
const notifier = typeof delay === 'number' ? (0, timer_1.timer)(delay) : (0, from_1.from)(delay(err, soFar));
const notifierSubscriber = (0, Subscriber_1.operate)({
destination,
next: () => {
notifierSubscriber.unsubscribe();
resub();
},
complete: () => {
destination.complete();
},
});
notifier.subscribe(notifierSubscriber);
}
else {
destination.error(err);
resub();
}
},
}));
if (syncUnsub) {
innerSub.unsubscribe();
innerSub = null;
subscribeForRetry();
}
};
subscribeForRetry();
});
};
}
else {
destination.error(err);
}
},
}));
if (syncUnsub) {
innerSub.unsubscribe();
innerSub = null;
subscribeForRetry();
}
};
subscribeForRetry();
});
}
exports.retry = retry;
//# sourceMappingURL=retry.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.retryWhen = void 0;
var Observable_1 = require("../Observable");
var from_1 = require("../observable/from");
var Subject_1 = require("../Subject");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const from_1 = require("../observable/from");
const Subject_1 = require("../Subject");
const Subscriber_1 = require("../Subscriber");
function retryWhen(notifier) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var innerSub;
var syncResub = false;
var errors$;
var subscribeForRetryWhen = function () {
innerSub = source.subscribe((0, Subscriber_1.operate)({
destination: destination,
error: function (err) {
if (!errors$) {
errors$ = new Subject_1.Subject();
(0, from_1.from)(notifier(errors$)).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function () {
return innerSub ? subscribeForRetryWhen() : (syncResub = true);
},
}));
}
if (errors$) {
errors$.next(err);
}
},
}));
if (syncResub) {
innerSub.unsubscribe();
innerSub = null;
syncResub = false;
subscribeForRetryWhen();
}
};
subscribeForRetryWhen();
});
};
return (source) => new Observable_1.Observable((destination) => {
let innerSub;
let syncResub = false;
let errors$;
const subscribeForRetryWhen = () => {
innerSub = source.subscribe((0, Subscriber_1.operate)({
destination,
error: (err) => {
if (!errors$) {
errors$ = new Subject_1.Subject();
(0, from_1.from)(notifier(errors$)).subscribe((0, Subscriber_1.operate)({
destination,
next: () => innerSub ? subscribeForRetryWhen() : (syncResub = true),
}));
}
if (errors$) {
errors$.next(err);
}
},
}));
if (syncResub) {
innerSub.unsubscribe();
innerSub = null;
syncResub = false;
subscribeForRetryWhen();
}
};
subscribeForRetryWhen();
});
}
exports.retryWhen = retryWhen;
//# sourceMappingURL=retryWhen.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.sample = void 0;
var from_1 = require("../observable/from");
var Observable_1 = require("../Observable");
var noop_1 = require("../util/noop");
var Subscriber_1 = require("../Subscriber");
const from_1 = require("../observable/from");
const Observable_1 = require("../Observable");
const noop_1 = require("../util/noop");
const Subscriber_1 = require("../Subscriber");
function sample(notifier) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var hasValue = false;
var lastValue = null;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
hasValue = true;
lastValue = value;
},
}));
(0, from_1.from)(notifier).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function () {
if (hasValue) {
hasValue = false;
var value = lastValue;
lastValue = null;
destination.next(value);
}
},
complete: noop_1.noop,
}));
});
};
return (source) => new Observable_1.Observable((destination) => {
let hasValue = false;
let lastValue = null;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
hasValue = true;
lastValue = value;
},
}));
(0, from_1.from)(notifier).subscribe((0, Subscriber_1.operate)({
destination,
next: () => {
if (hasValue) {
hasValue = false;
const value = lastValue;
lastValue = null;
destination.next(value);
}
},
complete: noop_1.noop,
}));
});
}
exports.sample = sample;
//# sourceMappingURL=sample.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.sampleTime = void 0;
var async_1 = require("../scheduler/async");
var sample_1 = require("./sample");
var interval_1 = require("../observable/interval");
function sampleTime(period, scheduler) {
if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }
const async_1 = require("../scheduler/async");
const sample_1 = require("./sample");
const interval_1 = require("../observable/interval");
function sampleTime(period, scheduler = async_1.asyncScheduler) {
return (0, sample_1.sample)((0, interval_1.interval)(period, scheduler));

@@ -10,0 +9,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.scan = void 0;
var Observable_1 = require("../Observable");
var scanInternals_1 = require("./scanInternals");
const Observable_1 = require("../Observable");
const scanInternals_1 = require("./scanInternals");
function scan(accumulator, seed) {
var hasSeed = arguments.length >= 2;
return function (source) { return new Observable_1.Observable(function (subscriber) { return (0, scanInternals_1.scanInternals)(accumulator, seed, hasSeed, true, false, source, subscriber); }); };
const hasSeed = arguments.length >= 2;
return (source) => new Observable_1.Observable((subscriber) => (0, scanInternals_1.scanInternals)(accumulator, seed, hasSeed, true, false, source, subscriber));
}
exports.scan = scan;
//# sourceMappingURL=scan.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.scanInternals = void 0;
var Subscriber_1 = require("../Subscriber");
const Subscriber_1 = require("../Subscriber");
function scanInternals(accumulator, seed, hasSeed, emitOnNext, emitBeforeComplete, source, destination) {
var hasState = hasSeed;
var state = seed;
var index = 0;
let hasState = hasSeed;
let state = seed;
let index = 0;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var i = index++;
destination,
next: (value) => {
const i = index++;
state = hasState

@@ -21,3 +21,3 @@ ?

complete: emitBeforeComplete
? function () {
? () => {
hasState && destination.next(state);

@@ -24,0 +24,0 @@ destination.complete();

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.sequenceEqual = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var from_1 = require("../observable/from");
function sequenceEqual(compareTo, comparator) {
if (comparator === void 0) { comparator = function (a, b) { return a === b; }; }
return function (source) {
return new Observable_1.Observable(function (destination) {
var aState = createState();
var bState = createState();
var emit = function (isEqual) {
destination.next(isEqual);
destination.complete();
};
var createSubscriber = function (selfState, otherState) {
var sequenceEqualSubscriber = (0, Subscriber_1.operate)({
destination: destination,
next: function (a) {
var buffer = otherState.buffer, complete = otherState.complete;
if (buffer.length === 0) {
complete ? emit(false) : selfState.buffer.push(a);
}
else {
!comparator(a, buffer.shift()) && emit(false);
}
},
complete: function () {
selfState.complete = true;
var complete = otherState.complete, buffer = otherState.buffer;
complete && emit(buffer.length === 0);
sequenceEqualSubscriber === null || sequenceEqualSubscriber === void 0 ? void 0 : sequenceEqualSubscriber.unsubscribe();
},
});
return sequenceEqualSubscriber;
};
source.subscribe(createSubscriber(aState, bState));
(0, from_1.from)(compareTo).subscribe(createSubscriber(bState, aState));
});
};
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const from_1 = require("../observable/from");
function sequenceEqual(compareTo, comparator = (a, b) => a === b) {
return (source) => new Observable_1.Observable((destination) => {
const aState = createState();
const bState = createState();
const emit = (isEqual) => {
destination.next(isEqual);
destination.complete();
};
const createSubscriber = (selfState, otherState) => {
const sequenceEqualSubscriber = (0, Subscriber_1.operate)({
destination,
next: (a) => {
const { buffer, complete } = otherState;
if (buffer.length === 0) {
complete ? emit(false) : selfState.buffer.push(a);
}
else {
!comparator(a, buffer.shift()) && emit(false);
}
},
complete: () => {
selfState.complete = true;
const { complete, buffer } = otherState;
complete && emit(buffer.length === 0);
sequenceEqualSubscriber?.unsubscribe();
},
});
return sequenceEqualSubscriber;
};
source.subscribe(createSubscriber(aState, bState));
(0, from_1.from)(compareTo).subscribe(createSubscriber(bState, aState));
});
}

@@ -43,0 +40,0 @@ exports.sequenceEqual = sequenceEqual;

"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.share = void 0;
var Observable_1 = require("../Observable");
var from_1 = require("../observable/from");
var Subject_1 = require("../Subject");
var Subscriber_1 = require("../Subscriber");
function share(options) {
if (options === void 0) { options = {}; }
var _a = options.connector, connector = _a === void 0 ? function () { return new Subject_1.Subject(); } : _a, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c = options.resetOnComplete, resetOnComplete = _c === void 0 ? true : _c, _d = options.resetOnRefCountZero, resetOnRefCountZero = _d === void 0 ? true : _d;
return function (source) {
var connection;
var resetConnection;
var subject;
var refCount = 0;
var hasCompleted = false;
var hasErrored = false;
var cancelReset = function () {
resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();
const Observable_1 = require("../Observable");
const from_1 = require("../observable/from");
const Subject_1 = require("../Subject");
const Subscriber_1 = require("../Subscriber");
function share(options = {}) {
const { connector = () => new Subject_1.Subject(), resetOnError = true, resetOnComplete = true, resetOnRefCountZero = true } = options;
return (source) => {
let connection;
let resetConnection;
let subject;
let refCount = 0;
let hasCompleted = false;
let hasErrored = false;
const cancelReset = () => {
resetConnection?.unsubscribe();
resetConnection = undefined;
};
var reset = function () {
const reset = () => {
cancelReset();

@@ -52,8 +26,8 @@ connection = subject = undefined;

};
var resetAndUnsubscribe = function () {
var conn = connection;
const resetAndUnsubscribe = () => {
const conn = connection;
reset();
conn === null || conn === void 0 ? void 0 : conn.unsubscribe();
conn?.unsubscribe();
};
return new Observable_1.Observable(function (subscriber) {
return new Observable_1.Observable((subscriber) => {
refCount++;

@@ -63,4 +37,4 @@ if (!hasErrored && !hasCompleted) {

}
var dest = (subject = subject !== null && subject !== void 0 ? subject : connector());
subscriber.add(function () {
const dest = (subject = subject ?? connector());
subscriber.add(() => {
refCount--;

@@ -75,4 +49,4 @@ if (refCount === 0 && !hasErrored && !hasCompleted) {

connection = new Subscriber_1.Subscriber({
next: function (value) { return dest.next(value); },
error: function (err) {
next: (value) => dest.next(value),
error: (err) => {
hasErrored = true;

@@ -83,3 +57,3 @@ cancelReset();

},
complete: function () {
complete: () => {
hasCompleted = true;

@@ -97,7 +71,3 @@ cancelReset();

exports.share = share;
function handleReset(reset, on) {
var args = [];
for (var _i = 2; _i < arguments.length; _i++) {
args[_i - 2] = arguments[_i];
}
function handleReset(reset, on, ...args) {
if (on === true) {

@@ -110,4 +80,4 @@ reset();

}
var onSubscriber = new Subscriber_1.Subscriber({
next: function () {
const onSubscriber = new Subscriber_1.Subscriber({
next: () => {
onSubscriber.unsubscribe();

@@ -117,4 +87,4 @@ reset();

});
return (0, from_1.from)(on.apply(void 0, __spreadArray([], __read(args), false))).subscribe(onSubscriber);
return (0, from_1.from)(on(...args)).subscribe(onSubscriber);
}
//# sourceMappingURL=share.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.shareReplay = void 0;
var ReplaySubject_1 = require("../ReplaySubject");
var share_1 = require("./share");
const ReplaySubject_1 = require("../ReplaySubject");
const share_1 = require("./share");
function shareReplay(configOrBufferSize, windowTime, scheduler) {
var _a, _b, _c;
var bufferSize;
var refCount = false;
let bufferSize;
let refCount = false;
if (configOrBufferSize && typeof configOrBufferSize === 'object') {
(_a = configOrBufferSize.bufferSize, bufferSize = _a === void 0 ? Infinity : _a, _b = configOrBufferSize.windowTime, windowTime = _b === void 0 ? Infinity : _b, _c = configOrBufferSize.refCount, refCount = _c === void 0 ? false : _c, scheduler = configOrBufferSize.scheduler);
({ bufferSize = Infinity, windowTime = Infinity, refCount = false, scheduler } = configOrBufferSize);
}
else {
bufferSize = (configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity);
bufferSize = (configOrBufferSize ?? Infinity);
}
return (0, share_1.share)({
connector: function () { return new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler); },
connector: () => new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler),
resetOnError: true,

@@ -19,0 +18,0 @@ resetOnComplete: false,

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.single = void 0;
var Observable_1 = require("../Observable");
var EmptyError_1 = require("../util/EmptyError");
var SequenceError_1 = require("../util/SequenceError");
var NotFoundError_1 = require("../util/NotFoundError");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const EmptyError_1 = require("../util/EmptyError");
const SequenceError_1 = require("../util/SequenceError");
const NotFoundError_1 = require("../util/NotFoundError");
const Subscriber_1 = require("../Subscriber");
function single(predicate) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var hasValue = false;
var singleValue;
var seenValue = false;
var index = 0;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
seenValue = true;
if (!predicate || predicate(value, index++, source)) {
hasValue && destination.error(new SequenceError_1.SequenceError('Too many matching values'));
hasValue = true;
singleValue = value;
}
},
complete: function () {
if (hasValue) {
destination.next(singleValue);
destination.complete();
}
else {
destination.error(seenValue ? new NotFoundError_1.NotFoundError('No matching values') : new EmptyError_1.EmptyError());
}
},
}));
});
};
return (source) => new Observable_1.Observable((destination) => {
let hasValue = false;
let singleValue;
let seenValue = false;
let index = 0;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
seenValue = true;
if (!predicate || predicate(value, index++, source)) {
hasValue && destination.error(new SequenceError_1.SequenceError('Too many matching values'));
hasValue = true;
singleValue = value;
}
},
complete: () => {
if (hasValue) {
destination.next(singleValue);
destination.complete();
}
else {
destination.error(seenValue ? new NotFoundError_1.NotFoundError('No matching values') : new EmptyError_1.EmptyError());
}
},
}));
});
}
exports.single = single;
//# sourceMappingURL=single.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.skip = void 0;
var filter_1 = require("./filter");
const filter_1 = require("./filter");
function skip(count) {
return (0, filter_1.filter)(function (_, index) { return count <= index; });
return (0, filter_1.filter)((_, index) => count <= index);
}
exports.skip = skip;
//# sourceMappingURL=skip.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.skipLast = void 0;
var identity_1 = require("../util/identity");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const identity_1 = require("../util/identity");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function skipLast(skipCount) {

@@ -11,28 +11,26 @@ return skipCount <= 0

identity_1.identity
: function (source) {
return new Observable_1.Observable(function (destination) {
var ring = new Array(skipCount);
var seen = 0;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var valueIndex = seen++;
if (valueIndex < skipCount) {
ring[valueIndex] = value;
}
else {
var index = valueIndex % skipCount;
var oldValue = ring[index];
ring[index] = value;
destination.next(oldValue);
}
},
}));
return function () {
ring = null;
};
});
};
: (source) => new Observable_1.Observable((destination) => {
let ring = new Array(skipCount);
let seen = 0;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
const valueIndex = seen++;
if (valueIndex < skipCount) {
ring[valueIndex] = value;
}
else {
const index = valueIndex % skipCount;
const oldValue = ring[index];
ring[index] = value;
destination.next(oldValue);
}
},
}));
return () => {
ring = null;
};
});
}
exports.skipLast = skipLast;
//# sourceMappingURL=skipLast.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.skipUntil = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var from_1 = require("../observable/from");
var noop_1 = require("../util/noop");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const from_1 = require("../observable/from");
const noop_1 = require("../util/noop");
function skipUntil(notifier) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var taking = false;
var skipSubscriber = (0, Subscriber_1.operate)({
destination: destination,
next: function () {
skipSubscriber === null || skipSubscriber === void 0 ? void 0 : skipSubscriber.unsubscribe();
taking = true;
},
complete: noop_1.noop,
});
(0, from_1.from)(notifier).subscribe(skipSubscriber);
source.subscribe((0, Subscriber_1.operate)({ destination: destination, next: function (value) { return taking && destination.next(value); } }));
return (source) => new Observable_1.Observable((destination) => {
let taking = false;
const skipSubscriber = (0, Subscriber_1.operate)({
destination,
next: () => {
skipSubscriber?.unsubscribe();
taking = true;
},
complete: noop_1.noop,
});
};
(0, from_1.from)(notifier).subscribe(skipSubscriber);
source.subscribe((0, Subscriber_1.operate)({ destination, next: (value) => taking && destination.next(value) }));
});
}
exports.skipUntil = skipUntil;
//# sourceMappingURL=skipUntil.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.skipWhile = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function skipWhile(predicate) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var taking = false;
var index = 0;
source.subscribe((0, Subscriber_1.operate)({ destination: destination, next: function (value) { return (taking || (taking = !predicate(value, index++))) && destination.next(value); } }));
});
};
return (source) => new Observable_1.Observable((destination) => {
let taking = false;
let index = 0;
source.subscribe((0, Subscriber_1.operate)({ destination, next: (value) => (taking || (taking = !predicate(value, index++))) && destination.next(value) }));
});
}
exports.skipWhile = skipWhile;
//# sourceMappingURL=skipWhile.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.startWith = void 0;
var Observable_1 = require("../Observable");
var from_1 = require("../observable/from");
var Subscriber_1 = require("../Subscriber");
function startWith() {
var values = [];
for (var _i = 0; _i < arguments.length; _i++) {
values[_i] = arguments[_i];
}
return function (source) {
return new Observable_1.Observable(function (destination) {
(0, from_1.subscribeToArray)(values, (0, Subscriber_1.operate)({ destination: destination, complete: function () { return source.subscribe(destination); } }));
});
};
const Observable_1 = require("../Observable");
const from_1 = require("../observable/from");
const Subscriber_1 = require("../Subscriber");
function startWith(...values) {
return (source) => new Observable_1.Observable((destination) => {
(0, from_1.subscribeToArray)(values, (0, Subscriber_1.operate)({ destination, complete: () => source.subscribe(destination) }));
});
}
exports.startWith = startWith;
//# sourceMappingURL=startWith.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.subscribeOn = void 0;
var Observable_1 = require("../Observable");
function subscribeOn(scheduler, delay) {
if (delay === void 0) { delay = 0; }
return function (source) {
return new Observable_1.Observable(function (subscriber) {
subscriber.add(scheduler.schedule(function () { return source.subscribe(subscriber); }, delay));
});
};
const Observable_1 = require("../Observable");
function subscribeOn(scheduler, delay = 0) {
return (source) => new Observable_1.Observable((subscriber) => {
subscriber.add(scheduler.schedule(() => source.subscribe(subscriber), delay));
});
}
exports.subscribeOn = subscribeOn;
//# sourceMappingURL=subscribeOn.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.switchAll = void 0;
var switchMap_1 = require("./switchMap");
var identity_1 = require("../util/identity");
const switchMap_1 = require("./switchMap");
const identity_1 = require("../util/identity");
function switchAll() {

@@ -7,0 +7,0 @@ return (0, switchMap_1.switchMap)(identity_1.identity);

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.switchMap = void 0;
var Subscriber_1 = require("../Subscriber");
var from_1 = require("../observable/from");
var Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const from_1 = require("../observable/from");
const Observable_1 = require("../Observable");
function switchMap(project) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var innerSubscriber = null;
var index = 0;
var isComplete = false;
var checkComplete = function () { return isComplete && !innerSubscriber && destination.complete(); };
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();
var outerIndex = index++;
(0, from_1.from)(project(value, outerIndex)).subscribe((innerSubscriber = (0, Subscriber_1.operate)({
destination: destination,
complete: function () {
innerSubscriber = null;
checkComplete();
},
})));
},
complete: function () {
isComplete = true;
checkComplete();
},
}));
});
};
return (source) => new Observable_1.Observable((destination) => {
let innerSubscriber = null;
let index = 0;
let isComplete = false;
const checkComplete = () => isComplete && !innerSubscriber && destination.complete();
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
innerSubscriber?.unsubscribe();
const outerIndex = index++;
(0, from_1.from)(project(value, outerIndex)).subscribe((innerSubscriber = (0, Subscriber_1.operate)({
destination,
complete: () => {
innerSubscriber = null;
checkComplete();
},
})));
},
complete: () => {
isComplete = true;
checkComplete();
},
}));
});
}
exports.switchMap = switchMap;
//# sourceMappingURL=switchMap.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.switchMapTo = void 0;
var switchMap_1 = require("./switchMap");
const switchMap_1 = require("./switchMap");
function switchMapTo(innerObservable) {
return (0, switchMap_1.switchMap)(function () { return innerObservable; });
return (0, switchMap_1.switchMap)(() => innerObservable);
}
exports.switchMapTo = switchMapTo;
//# sourceMappingURL=switchMapTo.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.switchScan = void 0;
var switchMap_1 = require("./switchMap");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const switchMap_1 = require("./switchMap");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function switchScan(accumulator, seed) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var state = seed;
(0, switchMap_1.switchMap)(function (value, index) { return accumulator(state, value, index); })(source).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (innerValue) {
state = innerValue;
destination.next(innerValue);
},
}));
return function () {
state = null;
};
});
};
return (source) => new Observable_1.Observable((destination) => {
let state = seed;
(0, switchMap_1.switchMap)((value, index) => accumulator(state, value, index))(source).subscribe((0, Subscriber_1.operate)({
destination,
next: (innerValue) => {
state = innerValue;
destination.next(innerValue);
},
}));
return () => {
state = null;
};
});
}
exports.switchScan = switchScan;
//# sourceMappingURL=switchScan.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.take = void 0;
var empty_1 = require("../observable/empty");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const empty_1 = require("../observable/empty");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function take(count) {
return count <= 0
?
function () { return empty_1.EMPTY; }
: function (source) {
return new Observable_1.Observable(function (destination) {
var seen = 0;
var operatorSubscriber = (0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
if (++seen < count) {
destination.next(value);
}
else {
operatorSubscriber.unsubscribe();
destination.next(value);
destination.complete();
}
},
});
source.subscribe(operatorSubscriber);
() => empty_1.EMPTY
: (source) => new Observable_1.Observable((destination) => {
let seen = 0;
const operatorSubscriber = (0, Subscriber_1.operate)({
destination,
next: (value) => {
if (++seen < count) {
destination.next(value);
}
else {
operatorSubscriber.unsubscribe();
destination.next(value);
destination.complete();
}
},
});
};
source.subscribe(operatorSubscriber);
});
}
exports.take = take;
//# sourceMappingURL=take.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.takeLast = void 0;
var empty_1 = require("../observable/empty");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
const empty_1 = require("../observable/empty");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function takeLast(count) {
return count <= 0
? function () { return empty_1.EMPTY; }
: function (source) {
return new Observable_1.Observable(function (destination) {
var ring = new Array(count);
var counter = 0;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
ring[counter++ % count] = value;
},
complete: function () {
var start = count <= counter ? counter : 0;
var total = Math.min(count, counter);
for (var n = 0; n < total; n++) {
destination.next(ring[(start + n) % count]);
}
destination.complete();
},
finalize: function () {
ring = null;
},
}));
});
};
? () => empty_1.EMPTY
: (source) => new Observable_1.Observable((destination) => {
let ring = new Array(count);
let counter = 0;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
ring[counter++ % count] = value;
},
complete: () => {
const start = count <= counter ? counter : 0;
const total = Math.min(count, counter);
for (let n = 0; n < total; n++) {
destination.next(ring[(start + n) % count]);
}
destination.complete();
},
finalize: () => {
ring = null;
},
}));
});
}
exports.takeLast = takeLast;
//# sourceMappingURL=takeLast.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.takeUntil = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var from_1 = require("../observable/from");
var noop_1 = require("../util/noop");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const from_1 = require("../observable/from");
const noop_1 = require("../util/noop");
function takeUntil(notifier) {
return function (source) {
return new Observable_1.Observable(function (destination) {
(0, from_1.from)(notifier).subscribe((0, Subscriber_1.operate)({ destination: destination, next: function () { return destination.complete(); }, complete: noop_1.noop }));
!destination.closed && source.subscribe(destination);
});
};
return (source) => new Observable_1.Observable((destination) => {
(0, from_1.from)(notifier).subscribe((0, Subscriber_1.operate)({ destination, next: () => destination.complete(), complete: noop_1.noop }));
!destination.closed && source.subscribe(destination);
});
}
exports.takeUntil = takeUntil;
//# sourceMappingURL=takeUntil.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.takeWhile = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
function takeWhile(predicate, inclusive) {
if (inclusive === void 0) { inclusive = false; }
return function (source) {
return new Observable_1.Observable(function (destination) {
var index = 0;
var operatorSubscriber = (0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
if (predicate(value, index++)) {
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function takeWhile(predicate, inclusive = false) {
return (source) => new Observable_1.Observable((destination) => {
let index = 0;
const operatorSubscriber = (0, Subscriber_1.operate)({
destination,
next: (value) => {
if (predicate(value, index++)) {
destination.next(value);
}
else {
operatorSubscriber.unsubscribe();
if (inclusive) {
destination.next(value);
}
else {
operatorSubscriber.unsubscribe();
if (inclusive) {
destination.next(value);
}
destination.complete();
}
},
});
source.subscribe(operatorSubscriber);
destination.complete();
}
},
});
};
source.subscribe(operatorSubscriber);
});
}
exports.takeWhile = takeWhile;
//# sourceMappingURL=takeWhile.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.tap = void 0;
var isFunction_1 = require("../util/isFunction");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var identity_1 = require("../util/identity");
const isFunction_1 = require("../util/isFunction");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const identity_1 = require("../util/identity");
function tap(observerOrNext) {
var tapObserver = (0, isFunction_1.isFunction)(observerOrNext) ? { next: observerOrNext } : observerOrNext;
const tapObserver = (0, isFunction_1.isFunction)(observerOrNext) ? { next: observerOrNext } : observerOrNext;
return tapObserver
? function (source) {
return new Observable_1.Observable(function (destination) {
var _a;
(_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
var isUnsub = true;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var _a;
(_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);
destination.next(value);
},
error: function (err) {
var _a;
isUnsub = false;
(_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);
destination.error(err);
},
complete: function () {
var _a;
isUnsub = false;
(_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
destination.complete();
},
finalize: function () {
var _a, _b;
if (isUnsub) {
(_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
}
(_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);
},
}));
});
}
? (source) => new Observable_1.Observable((destination) => {
tapObserver.subscribe?.();
let isUnsub = true;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
tapObserver.next?.(value);
destination.next(value);
},
error: (err) => {
isUnsub = false;
tapObserver.error?.(err);
destination.error(err);
},
complete: () => {
isUnsub = false;
tapObserver.complete?.();
destination.complete();
},
finalize: () => {
if (isUnsub) {
tapObserver.unsubscribe?.();
}
tapObserver.finalize?.();
},
}));
})
:

@@ -46,0 +39,0 @@ identity_1.identity;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.throttle = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var from_1 = require("../observable/from");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const from_1 = require("../observable/from");
function throttle(durationSelector, config) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var _a = config !== null && config !== void 0 ? config : {}, _b = _a.leading, leading = _b === void 0 ? true : _b, _c = _a.trailing, trailing = _c === void 0 ? false : _c;
var hasValue = false;
var sendValue = null;
var throttled = null;
var isComplete = false;
var endThrottling = function () {
throttled === null || throttled === void 0 ? void 0 : throttled.unsubscribe();
throttled = null;
if (trailing) {
send();
isComplete && destination.complete();
}
};
var cleanupThrottling = function () {
throttled = null;
return (source) => new Observable_1.Observable((destination) => {
const { leading = true, trailing = false } = config ?? {};
let hasValue = false;
let sendValue = null;
let throttled = null;
let isComplete = false;
const endThrottling = () => {
throttled?.unsubscribe();
throttled = null;
if (trailing) {
send();
isComplete && destination.complete();
};
var startThrottle = function (value) {
return (throttled = (0, from_1.from)(durationSelector(value)).subscribe((0, Subscriber_1.operate)({ destination: destination, next: endThrottling, complete: cleanupThrottling })));
};
var send = function () {
if (hasValue) {
hasValue = false;
var value = sendValue;
sendValue = null;
destination.next(value);
!isComplete && startThrottle(value);
}
};
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
hasValue = true;
sendValue = value;
!(throttled && !throttled.closed) && (leading ? send() : startThrottle(value));
},
complete: function () {
isComplete = true;
!(trailing && hasValue && throttled && !throttled.closed) && destination.complete();
},
}));
});
};
}
};
const cleanupThrottling = () => {
throttled = null;
isComplete && destination.complete();
};
const startThrottle = (value) => (throttled = (0, from_1.from)(durationSelector(value)).subscribe((0, Subscriber_1.operate)({ destination, next: endThrottling, complete: cleanupThrottling })));
const send = () => {
if (hasValue) {
hasValue = false;
const value = sendValue;
sendValue = null;
destination.next(value);
!isComplete && startThrottle(value);
}
};
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
hasValue = true;
sendValue = value;
!(throttled && !throttled.closed) && (leading ? send() : startThrottle(value));
},
complete: () => {
isComplete = true;
!(trailing && hasValue && throttled && !throttled.closed) && destination.complete();
},
}));
});
}
exports.throttle = throttle;
//# sourceMappingURL=throttle.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.throttleTime = void 0;
var async_1 = require("../scheduler/async");
var throttle_1 = require("./throttle");
var timer_1 = require("../observable/timer");
function throttleTime(duration, scheduler, config) {
if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }
var duration$ = (0, timer_1.timer)(duration, scheduler);
return (0, throttle_1.throttle)(function () { return duration$; }, config);
const async_1 = require("../scheduler/async");
const throttle_1 = require("./throttle");
const timer_1 = require("../observable/timer");
function throttleTime(duration, scheduler = async_1.asyncScheduler, config) {
const duration$ = (0, timer_1.timer)(duration, scheduler);
return (0, throttle_1.throttle)(() => duration$, config);
}
exports.throttleTime = throttleTime;
//# sourceMappingURL=throttleTime.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.throwIfEmpty = void 0;
var EmptyError_1 = require("../util/EmptyError");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
function throwIfEmpty(errorFactory) {
if (errorFactory === void 0) { errorFactory = defaultErrorFactory; }
return function (source) {
return new Observable_1.Observable(function (destination) {
var hasValue = false;
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
hasValue = true;
destination.next(value);
},
complete: function () { return (hasValue ? destination.complete() : destination.error(errorFactory())); },
}));
});
};
const EmptyError_1 = require("../util/EmptyError");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function throwIfEmpty(errorFactory = defaultErrorFactory) {
return (source) => new Observable_1.Observable((destination) => {
let hasValue = false;
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
hasValue = true;
destination.next(value);
},
complete: () => (hasValue ? destination.complete() : destination.error(errorFactory())),
}));
});
}

@@ -23,0 +20,0 @@ exports.throwIfEmpty = throwIfEmpty;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TimeInterval = exports.timeInterval = void 0;
var async_1 = require("../scheduler/async");
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
function timeInterval(scheduler) {
if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }
return function (source) {
return new Observable_1.Observable(function (destination) {
var last = scheduler.now();
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var now = scheduler.now();
var interval = now - last;
last = now;
destination.next(new TimeInterval(value, interval));
},
}));
});
};
const async_1 = require("../scheduler/async");
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
function timeInterval(scheduler = async_1.asyncScheduler) {
return (source) => new Observable_1.Observable((destination) => {
let last = scheduler.now();
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
const now = scheduler.now();
const interval = now - last;
last = now;
destination.next(new TimeInterval(value, interval));
},
}));
});
}
exports.timeInterval = timeInterval;
var TimeInterval = (function () {
function TimeInterval(value, interval) {
class TimeInterval {
value;
interval;
constructor(value, interval) {
this.value = value;
this.interval = interval;
}
return TimeInterval;
}());
}
exports.TimeInterval = TimeInterval;
//# sourceMappingURL=timeInterval.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.timeout = exports.TimeoutError = void 0;
var async_1 = require("../scheduler/async");
var isDate_1 = require("../util/isDate");
var Observable_1 = require("../Observable");
var from_1 = require("../observable/from");
var Subscriber_1 = require("../Subscriber");
var executeSchedule_1 = require("../util/executeSchedule");
var TimeoutError = (function (_super) {
__extends(TimeoutError, _super);
function TimeoutError(info) {
if (info === void 0) { info = null; }
var _this = _super.call(this, 'Timeout has occurred') || this;
_this.info = info;
_this.name = 'TimeoutError';
return _this;
const async_1 = require("../scheduler/async");
const isDate_1 = require("../util/isDate");
const Observable_1 = require("../Observable");
const from_1 = require("../observable/from");
const Subscriber_1 = require("../Subscriber");
const executeSchedule_1 = require("../util/executeSchedule");
class TimeoutError extends Error {
info;
constructor(info = null) {
super('Timeout has occurred');
this.info = info;
this.name = 'TimeoutError';
}
return TimeoutError;
}(Error));
}
exports.TimeoutError = TimeoutError;
function timeout(config, schedulerArg) {
var _a = ((0, isDate_1.isValidDate)(config) ? { first: config } : typeof config === 'number' ? { each: config } : config), first = _a.first, each = _a.each, _b = _a.with, _with = _b === void 0 ? timeoutErrorFactory : _b, _c = _a.scheduler, scheduler = _c === void 0 ? schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : async_1.asyncScheduler : _c, _d = _a.meta, meta = _d === void 0 ? null : _d;
const { first, each, with: _with = timeoutErrorFactory, scheduler = schedulerArg ?? async_1.asyncScheduler, meta = null, } = ((0, isDate_1.isValidDate)(config) ? { first: config } : typeof config === 'number' ? { each: config } : config);
if (first == null && each == null) {
throw new TypeError('No timeout provided.');
}
return function (source) {
return new Observable_1.Observable(function (destination) {
var originalSourceSubscription;
var timerSubscription;
var lastValue = null;
var seen = 0;
var startTimer = function (delay) {
timerSubscription = (0, executeSchedule_1.executeSchedule)(destination, scheduler, function () {
try {
originalSourceSubscription.unsubscribe();
(0, from_1.from)(_with({
meta: meta,
lastValue: lastValue,
seen: seen,
})).subscribe(destination);
}
catch (err) {
destination.error(err);
}
}, delay);
};
originalSourceSubscription = source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();
seen++;
destination.next((lastValue = value));
each > 0 && startTimer(each);
},
finalize: function () {
if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {
timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();
}
lastValue = null;
},
}));
!seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);
});
};
return (source) => new Observable_1.Observable((destination) => {
let originalSourceSubscription;
let timerSubscription;
let lastValue = null;
let seen = 0;
const startTimer = (delay) => {
timerSubscription = (0, executeSchedule_1.executeSchedule)(destination, scheduler, () => {
try {
originalSourceSubscription.unsubscribe();
(0, from_1.from)(_with({
meta,
lastValue,
seen,
})).subscribe(destination);
}
catch (err) {
destination.error(err);
}
}, delay);
};
originalSourceSubscription = source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
timerSubscription?.unsubscribe();
seen++;
destination.next((lastValue = value));
each > 0 && startTimer(each);
},
finalize: () => {
if (!timerSubscription?.closed) {
timerSubscription?.unsubscribe();
}
lastValue = null;
},
}));
!seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);
});
}

@@ -82,0 +62,0 @@ exports.timeout = timeout;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.timeoutWith = void 0;
var async_1 = require("../scheduler/async");
var isDate_1 = require("../util/isDate");
var timeout_1 = require("./timeout");
const async_1 = require("../scheduler/async");
const isDate_1 = require("../util/isDate");
const timeout_1 = require("./timeout");
function timeoutWith(due, withObservable, scheduler) {
var first;
var each;
var _with;
scheduler = scheduler !== null && scheduler !== void 0 ? scheduler : async_1.asyncScheduler;
let first;
let each;
let _with;
scheduler = scheduler ?? async_1.asyncScheduler;
if ((0, isDate_1.isValidDate)(due)) {

@@ -19,3 +19,3 @@ first = due;

if (withObservable) {
_with = function () { return withObservable; };
_with = () => withObservable;
}

@@ -29,5 +29,5 @@ else {

return (0, timeout_1.timeout)({
first: first,
each: each,
scheduler: scheduler,
first,
each,
scheduler,
with: _with,

@@ -34,0 +34,0 @@ });

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.timestamp = void 0;
var dateTimestampProvider_1 = require("../scheduler/dateTimestampProvider");
var map_1 = require("./map");
function timestamp(timestampProvider) {
if (timestampProvider === void 0) { timestampProvider = dateTimestampProvider_1.dateTimestampProvider; }
return (0, map_1.map)(function (value) { return ({ value: value, timestamp: timestampProvider.now() }); });
const dateTimestampProvider_1 = require("../scheduler/dateTimestampProvider");
const map_1 = require("./map");
function timestamp(timestampProvider = dateTimestampProvider_1.dateTimestampProvider) {
return (0, map_1.map)((value) => ({ value, timestamp: timestampProvider.now() }));
}
exports.timestamp = timestamp;
//# sourceMappingURL=timestamp.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.toArray = void 0;
var reduce_1 = require("./reduce");
var Observable_1 = require("../Observable");
var arrReducer = function (arr, value) { return (arr.push(value), arr); };
const reduce_1 = require("./reduce");
const Observable_1 = require("../Observable");
const arrReducer = (arr, value) => (arr.push(value), arr);
function toArray() {
return function (source) {
return new Observable_1.Observable(function (subscriber) {
(0, reduce_1.reduce)(arrReducer, [])(source).subscribe(subscriber);
});
};
return (source) => new Observable_1.Observable((subscriber) => {
(0, reduce_1.reduce)(arrReducer, [])(source).subscribe(subscriber);
});
}
exports.toArray = toArray;
//# sourceMappingURL=toArray.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.window = void 0;
var Observable_1 = require("../Observable");
var Subject_1 = require("../Subject");
var Subscriber_1 = require("../Subscriber");
var noop_1 = require("../util/noop");
var from_1 = require("../observable/from");
const Observable_1 = require("../Observable");
const Subject_1 = require("../Subject");
const Subscriber_1 = require("../Subscriber");
const noop_1 = require("../util/noop");
const from_1 = require("../observable/from");
function window(windowBoundaries) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var windowSubject = new Subject_1.Subject();
destination.next(windowSubject.asObservable());
var errorHandler = function (err) {
windowSubject.error(err);
destination.error(err);
};
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) { return windowSubject === null || windowSubject === void 0 ? void 0 : windowSubject.next(value); },
complete: function () {
windowSubject.complete();
destination.complete();
},
error: errorHandler,
}));
(0, from_1.from)(windowBoundaries).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function () {
windowSubject.complete();
destination.next((windowSubject = new Subject_1.Subject()));
},
complete: noop_1.noop,
error: errorHandler,
}));
return function () {
windowSubject === null || windowSubject === void 0 ? void 0 : windowSubject.unsubscribe();
windowSubject = null;
};
});
};
return (source) => new Observable_1.Observable((destination) => {
let windowSubject = new Subject_1.Subject();
destination.next(windowSubject.asObservable());
const errorHandler = (err) => {
windowSubject.error(err);
destination.error(err);
};
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => windowSubject?.next(value),
complete: () => {
windowSubject.complete();
destination.complete();
},
error: errorHandler,
}));
(0, from_1.from)(windowBoundaries).subscribe((0, Subscriber_1.operate)({
destination,
next: () => {
windowSubject.complete();
destination.next((windowSubject = new Subject_1.Subject()));
},
complete: noop_1.noop,
error: errorHandler,
}));
return () => {
windowSubject?.unsubscribe();
windowSubject = null;
};
});
}
exports.window = window;
//# sourceMappingURL=window.js.map
"use strict";
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.windowCount = void 0;
var Observable_1 = require("../Observable");
var Subject_1 = require("../Subject");
var Subscriber_1 = require("../Subscriber");
function windowCount(windowSize, startWindowEvery) {
if (startWindowEvery === void 0) { startWindowEvery = 0; }
var startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;
return function (source) {
return new Observable_1.Observable(function (destination) {
var windows = [new Subject_1.Subject()];
var starts = [];
var count = 0;
destination.next(windows[0].asObservable());
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var e_1, _a;
try {
for (var windows_1 = __values(windows), windows_1_1 = windows_1.next(); !windows_1_1.done; windows_1_1 = windows_1.next()) {
var window_1 = windows_1_1.value;
window_1.next(value);
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (windows_1_1 && !windows_1_1.done && (_a = windows_1.return)) _a.call(windows_1);
}
finally { if (e_1) throw e_1.error; }
}
var c = count - windowSize + 1;
if (c >= 0 && c % startEvery === 0) {
windows.shift().complete();
}
if (++count % startEvery === 0) {
var window_2 = new Subject_1.Subject();
windows.push(window_2);
destination.next(window_2.asObservable());
}
},
error: function (err) {
while (windows.length > 0) {
windows.shift().error(err);
}
destination.error(err);
},
complete: function () {
while (windows.length > 0) {
windows.shift().complete();
}
destination.complete();
},
finalize: function () {
starts = null;
windows = null;
},
}));
});
};
const Observable_1 = require("../Observable");
const Subject_1 = require("../Subject");
const Subscriber_1 = require("../Subscriber");
function windowCount(windowSize, startWindowEvery = 0) {
const startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;
return (source) => new Observable_1.Observable((destination) => {
let windows = [new Subject_1.Subject()];
let starts = [];
let count = 0;
destination.next(windows[0].asObservable());
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
for (const window of windows) {
window.next(value);
}
const c = count - windowSize + 1;
if (c >= 0 && c % startEvery === 0) {
windows.shift().complete();
}
if (++count % startEvery === 0) {
const window = new Subject_1.Subject();
windows.push(window);
destination.next(window.asObservable());
}
},
error: (err) => {
while (windows.length > 0) {
windows.shift().error(err);
}
destination.error(err);
},
complete: () => {
while (windows.length > 0) {
windows.shift().complete();
}
destination.complete();
},
finalize: () => {
starts = null;
windows = null;
},
}));
});
}
exports.windowCount = windowCount;
//# sourceMappingURL=windowCount.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.windowTime = void 0;
var Subject_1 = require("../Subject");
var async_1 = require("../scheduler/async");
var Observable_1 = require("../Observable");
var Subscription_1 = require("../Subscription");
var Subscriber_1 = require("../Subscriber");
var arrRemove_1 = require("../util/arrRemove");
var args_1 = require("../util/args");
var executeSchedule_1 = require("../util/executeSchedule");
function windowTime(windowTimeSpan) {
var _a, _b;
var otherArgs = [];
for (var _i = 1; _i < arguments.length; _i++) {
otherArgs[_i - 1] = arguments[_i];
}
var scheduler = (_a = (0, args_1.popScheduler)(otherArgs)) !== null && _a !== void 0 ? _a : async_1.asyncScheduler;
var windowCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;
var maxWindowSize = otherArgs[1] || Infinity;
return function (source) {
return new Observable_1.Observable(function (destination) {
var windowRecords = [];
var restartOnClose = false;
var closeWindow = function (record) {
var window = record.window, subs = record.subs;
window.complete();
subs.unsubscribe();
(0, arrRemove_1.arrRemove)(windowRecords, record);
restartOnClose && startWindow();
};
var startWindow = function () {
if (windowRecords) {
var subs = new Subscription_1.Subscription();
destination.add(subs);
var window_1 = new Subject_1.Subject();
var record_1 = {
window: window_1,
subs: subs,
seen: 0,
};
windowRecords.push(record_1);
destination.next(window_1.asObservable());
(0, executeSchedule_1.executeSchedule)(subs, scheduler, function () { return closeWindow(record_1); }, windowTimeSpan);
}
};
if (windowCreationInterval !== null && windowCreationInterval >= 0) {
(0, executeSchedule_1.executeSchedule)(destination, scheduler, startWindow, windowCreationInterval, true);
const Subject_1 = require("../Subject");
const async_1 = require("../scheduler/async");
const Observable_1 = require("../Observable");
const Subscription_1 = require("../Subscription");
const Subscriber_1 = require("../Subscriber");
const arrRemove_1 = require("../util/arrRemove");
const args_1 = require("../util/args");
const executeSchedule_1 = require("../util/executeSchedule");
function windowTime(windowTimeSpan, ...otherArgs) {
const scheduler = (0, args_1.popScheduler)(otherArgs) ?? async_1.asyncScheduler;
const windowCreationInterval = otherArgs[0] ?? null;
const maxWindowSize = otherArgs[1] || Infinity;
return (source) => new Observable_1.Observable((destination) => {
let windowRecords = [];
let restartOnClose = false;
const closeWindow = (record) => {
const { window, subs } = record;
window.complete();
subs.unsubscribe();
(0, arrRemove_1.arrRemove)(windowRecords, record);
restartOnClose && startWindow();
};
const startWindow = () => {
if (windowRecords) {
const subs = new Subscription_1.Subscription();
destination.add(subs);
const window = new Subject_1.Subject();
const record = {
window,
subs,
seen: 0,
};
windowRecords.push(record);
destination.next(window.asObservable());
(0, executeSchedule_1.executeSchedule)(subs, scheduler, () => closeWindow(record), windowTimeSpan);
}
else {
restartOnClose = true;
}
startWindow();
var loop = function (cb) { return windowRecords.slice().forEach(cb); };
var terminate = function (cb) {
loop(function (_a) {
var window = _a.window;
return cb(window);
};
if (windowCreationInterval !== null && windowCreationInterval >= 0) {
(0, executeSchedule_1.executeSchedule)(destination, scheduler, startWindow, windowCreationInterval, true);
}
else {
restartOnClose = true;
}
startWindow();
const loop = (cb) => windowRecords.slice().forEach(cb);
const terminate = (cb) => {
loop(({ window }) => cb(window));
cb(destination);
destination.unsubscribe();
};
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
loop((record) => {
record.window.next(value);
maxWindowSize <= ++record.seen && closeWindow(record);
});
cb(destination);
destination.unsubscribe();
};
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
loop(function (record) {
record.window.next(value);
maxWindowSize <= ++record.seen && closeWindow(record);
});
},
error: function (err) { return terminate(function (consumer) { return consumer.error(err); }); },
complete: function () { return terminate(function (consumer) { return consumer.complete(); }); },
}));
return function () {
windowRecords = null;
};
});
};
},
error: (err) => terminate((consumer) => consumer.error(err)),
complete: () => terminate((consumer) => consumer.complete()),
}));
return () => {
windowRecords = null;
};
});
}
exports.windowTime = windowTime;
//# sourceMappingURL=windowTime.js.map
"use strict";
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.windowToggle = void 0;
var Observable_1 = require("../Observable");
var Subject_1 = require("../Subject");
var Subscription_1 = require("../Subscription");
var from_1 = require("../observable/from");
var Subscriber_1 = require("../Subscriber");
var noop_1 = require("../util/noop");
var arrRemove_1 = require("../util/arrRemove");
const Observable_1 = require("../Observable");
const Subject_1 = require("../Subject");
const Subscription_1 = require("../Subscription");
const from_1 = require("../observable/from");
const Subscriber_1 = require("../Subscriber");
const noop_1 = require("../util/noop");
const arrRemove_1 = require("../util/arrRemove");
function windowToggle(openings, closingSelector) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var windows = [];
var handleError = function (err) {
return (source) => new Observable_1.Observable((destination) => {
const windows = [];
const handleError = (err) => {
while (0 < windows.length) {
windows.shift().error(err);
}
destination.error(err);
};
(0, from_1.from)(openings).subscribe((0, Subscriber_1.operate)({
destination,
next: (openValue) => {
const window = new Subject_1.Subject();
windows.push(window);
const closingSubscription = new Subscription_1.Subscription();
const closeWindow = () => {
(0, arrRemove_1.arrRemove)(windows, window);
window.complete();
closingSubscription.unsubscribe();
};
let closingNotifier;
try {
closingNotifier = (0, from_1.from)(closingSelector(openValue));
}
catch (err) {
handleError(err);
return;
}
destination.next(window);
closingSubscription.add(closingNotifier.subscribe((0, Subscriber_1.operate)({
destination,
next: closeWindow,
error: handleError,
complete: noop_1.noop,
})));
},
complete: noop_1.noop,
}));
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
const windowsCopy = windows.slice();
for (const window of windowsCopy) {
window.next(value);
}
},
error: handleError,
complete: () => {
while (0 < windows.length) {
windows.shift().error(err);
windows.shift().complete();
}
destination.error(err);
};
(0, from_1.from)(openings).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (openValue) {
var window = new Subject_1.Subject();
windows.push(window);
var closingSubscription = new Subscription_1.Subscription();
var closeWindow = function () {
(0, arrRemove_1.arrRemove)(windows, window);
window.complete();
closingSubscription.unsubscribe();
};
var closingNotifier;
try {
closingNotifier = (0, from_1.from)(closingSelector(openValue));
}
catch (err) {
handleError(err);
return;
}
destination.next(window);
closingSubscription.add(closingNotifier.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: closeWindow,
error: handleError,
complete: noop_1.noop,
})));
},
complete: noop_1.noop,
}));
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
var e_1, _a;
var windowsCopy = windows.slice();
try {
for (var windowsCopy_1 = __values(windowsCopy), windowsCopy_1_1 = windowsCopy_1.next(); !windowsCopy_1_1.done; windowsCopy_1_1 = windowsCopy_1.next()) {
var window_1 = windowsCopy_1_1.value;
window_1.next(value);
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (windowsCopy_1_1 && !windowsCopy_1_1.done && (_a = windowsCopy_1.return)) _a.call(windowsCopy_1);
}
finally { if (e_1) throw e_1.error; }
}
},
error: handleError,
complete: function () {
while (0 < windows.length) {
windows.shift().complete();
}
destination.complete();
},
finalize: function () {
while (0 < windows.length) {
windows.shift().unsubscribe();
}
},
}));
});
};
destination.complete();
},
finalize: () => {
while (0 < windows.length) {
windows.shift().unsubscribe();
}
},
}));
});
}
exports.windowToggle = windowToggle;
//# sourceMappingURL=windowToggle.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.windowWhen = void 0;
var Subscriber_1 = require("../Subscriber");
var Observable_1 = require("../Observable");
var Subject_1 = require("../Subject");
var from_1 = require("../observable/from");
var noop_1 = require("../util/noop");
const Subscriber_1 = require("../Subscriber");
const Observable_1 = require("../Observable");
const Subject_1 = require("../Subject");
const from_1 = require("../observable/from");
const noop_1 = require("../util/noop");
function windowWhen(closingSelector) {
return function (source) {
return new Observable_1.Observable(function (destination) {
var window;
var closingSubscriber;
var handleError = function (err) {
window.error(err);
destination.error(err);
};
var openWindow = function () {
closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();
window === null || window === void 0 ? void 0 : window.complete();
window = new Subject_1.Subject();
destination.next(window.asObservable());
var closingNotifier;
try {
closingNotifier = (0, from_1.from)(closingSelector());
}
catch (err) {
handleError(err);
return;
}
closingNotifier.subscribe((closingSubscriber = (0, Subscriber_1.operate)({
destination: destination,
next: openWindow,
error: handleError,
complete: noop_1.noop,
})));
};
openWindow();
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) { return window.next(value); },
return (source) => new Observable_1.Observable((destination) => {
let window;
let closingSubscriber;
const handleError = (err) => {
window.error(err);
destination.error(err);
};
const openWindow = () => {
closingSubscriber?.unsubscribe();
window?.complete();
window = new Subject_1.Subject();
destination.next(window.asObservable());
let closingNotifier;
try {
closingNotifier = (0, from_1.from)(closingSelector());
}
catch (err) {
handleError(err);
return;
}
closingNotifier.subscribe((closingSubscriber = (0, Subscriber_1.operate)({
destination,
next: openWindow,
error: handleError,
complete: function () {
window.complete();
destination.complete();
},
finalize: function () {
closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();
window = null;
},
}));
});
};
complete: noop_1.noop,
})));
};
openWindow();
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => window.next(value),
error: handleError,
complete: () => {
window.complete();
destination.complete();
},
finalize: () => {
closingSubscriber?.unsubscribe();
window = null;
},
}));
});
}
exports.windowWhen = windowWhen;
//# sourceMappingURL=windowWhen.js.map
"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.withLatestFrom = void 0;
var Observable_1 = require("../Observable");
var Subscriber_1 = require("../Subscriber");
var from_1 = require("../observable/from");
var identity_1 = require("../util/identity");
var noop_1 = require("../util/noop");
var args_1 = require("../util/args");
function withLatestFrom() {
var inputs = [];
for (var _i = 0; _i < arguments.length; _i++) {
inputs[_i] = arguments[_i];
}
var project = (0, args_1.popResultSelector)(inputs);
return function (source) {
return new Observable_1.Observable(function (destination) {
var len = inputs.length;
var otherValues = new Array(len);
var hasValue = inputs.map(function () { return false; });
var ready = false;
var _loop_1 = function (i) {
(0, from_1.from)(inputs[i]).subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
otherValues[i] = value;
if (!ready && !hasValue[i]) {
hasValue[i] = true;
(ready = hasValue.every(identity_1.identity)) && (hasValue = null);
}
},
complete: noop_1.noop,
}));
};
for (var i = 0; i < len; i++) {
_loop_1(i);
}
source.subscribe((0, Subscriber_1.operate)({
destination: destination,
next: function (value) {
if (ready) {
var values = __spreadArray([value], __read(otherValues), false);
destination.next(project ? project.apply(void 0, __spreadArray([], __read(values), false)) : values);
const Observable_1 = require("../Observable");
const Subscriber_1 = require("../Subscriber");
const from_1 = require("../observable/from");
const identity_1 = require("../util/identity");
const noop_1 = require("../util/noop");
const args_1 = require("../util/args");
function withLatestFrom(...inputs) {
const project = (0, args_1.popResultSelector)(inputs);
return (source) => new Observable_1.Observable((destination) => {
const len = inputs.length;
const otherValues = new Array(len);
let hasValue = inputs.map(() => false);
let ready = false;
for (let i = 0; i < len; i++) {
(0, from_1.from)(inputs[i]).subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
otherValues[i] = value;
if (!ready && !hasValue[i]) {
hasValue[i] = true;
(ready = hasValue.every(identity_1.identity)) && (hasValue = null);
}
},
complete: noop_1.noop,
}));
});
};
}
source.subscribe((0, Subscriber_1.operate)({
destination,
next: (value) => {
if (ready) {
const values = [value, ...otherValues];
destination.next(project ? project(...values) : values);
}
},
}));
});
}
exports.withLatestFrom = withLatestFrom;
//# sourceMappingURL=withLatestFrom.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.zipAll = void 0;
var zip_1 = require("../observable/zip");
var joinAllInternals_1 = require("./joinAllInternals");
const zip_1 = require("../observable/zip");
const joinAllInternals_1 = require("./joinAllInternals");
function zipAll(project) {

@@ -7,0 +7,0 @@ return (0, joinAllInternals_1.joinAllInternals)(zip_1.zip, project);

"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.zipWith = void 0;
var Observable_1 = require("../Observable");
var zip_1 = require("../observable/zip");
function zipWith() {
var otherInputs = [];
for (var _i = 0; _i < arguments.length; _i++) {
otherInputs[_i] = arguments[_i];
}
return function (source) {
return new Observable_1.Observable(function (subscriber) {
zip_1.zip.apply(void 0, __spreadArray([source], __read(otherInputs), false)).subscribe(subscriber);
});
};
const Observable_1 = require("../Observable");
const zip_1 = require("../observable/zip");
function zipWith(...otherInputs) {
return (source) => new Observable_1.Observable((subscriber) => {
(0, zip_1.zip)(source, ...otherInputs).subscribe(subscriber);
});
}
exports.zipWith = zipWith;
//# sourceMappingURL=zipWith.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReplaySubject = void 0;
var Subject_1 = require("./Subject");
var dateTimestampProvider_1 = require("./scheduler/dateTimestampProvider");
var ReplaySubject = (function (_super) {
__extends(ReplaySubject, _super);
function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {
if (_bufferSize === void 0) { _bufferSize = Infinity; }
if (_windowTime === void 0) { _windowTime = Infinity; }
if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider_1.dateTimestampProvider; }
var _this = _super.call(this) || this;
_this._bufferSize = _bufferSize;
_this._windowTime = _windowTime;
_this._timestampProvider = _timestampProvider;
_this._buffer = [];
_this._infiniteTimeWindow = true;
_this._infiniteTimeWindow = _windowTime === Infinity;
_this._bufferSize = Math.max(1, _bufferSize);
_this._windowTime = Math.max(1, _windowTime);
return _this;
const Subject_1 = require("./Subject");
const dateTimestampProvider_1 = require("./scheduler/dateTimestampProvider");
class ReplaySubject extends Subject_1.Subject {
_bufferSize;
_windowTime;
_timestampProvider;
_buffer = [];
_infiniteTimeWindow = true;
constructor(_bufferSize = Infinity, _windowTime = Infinity, _timestampProvider = dateTimestampProvider_1.dateTimestampProvider) {
super();
this._bufferSize = _bufferSize;
this._windowTime = _windowTime;
this._timestampProvider = _timestampProvider;
this._infiniteTimeWindow = _windowTime === Infinity;
this._bufferSize = Math.max(1, _bufferSize);
this._windowTime = Math.max(1, _windowTime);
}
ReplaySubject.prototype.next = function (value) {
var _a = this, _closed = _a._closed, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;
next(value) {
const { _closed, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;
if (!_closed) {

@@ -45,10 +28,10 @@ _buffer.push(value);

this._trimBuffer();
_super.prototype.next.call(this, value);
};
ReplaySubject.prototype._subscribe = function (subscriber) {
super.next(value);
}
_subscribe(subscriber) {
this._trimBuffer();
var subscription = this._innerSubscribe(subscriber);
var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;
var copy = _buffer.slice();
for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {
const subscription = this._innerSubscribe(subscriber);
const { _infiniteTimeWindow, _buffer } = this;
const copy = _buffer.slice();
for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {
subscriber.next(copy[i]);

@@ -58,11 +41,11 @@ }

return subscription;
};
ReplaySubject.prototype._trimBuffer = function () {
var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;
var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;
}
_trimBuffer() {
const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;
const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;
_bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);
if (!_infiniteTimeWindow) {
var now = _timestampProvider.now();
var last = 0;
for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {
const now = _timestampProvider.now();
let last = 0;
for (let i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {
last = i;

@@ -72,6 +55,5 @@ }

}
};
return ReplaySubject;
}(Subject_1.Subject));
}
}
exports.ReplaySubject = ReplaySubject;
//# sourceMappingURL=ReplaySubject.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.scheduleArray = void 0;
var Observable_1 = require("../Observable");
const Observable_1 = require("../Observable");
function scheduleArray(input, scheduler) {
return new Observable_1.Observable(function (subscriber) {
var i = 0;
return new Observable_1.Observable((subscriber) => {
let i = 0;
return scheduler.schedule(function () {

@@ -9,0 +9,0 @@ if (i === input.length) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.scheduleAsyncIterable = void 0;
var Observable_1 = require("../Observable");
var executeSchedule_1 = require("../util/executeSchedule");
const Observable_1 = require("../Observable");
const executeSchedule_1 = require("../util/executeSchedule");
function scheduleAsyncIterable(input, scheduler) {

@@ -10,7 +10,7 @@ if (!input) {

}
return new Observable_1.Observable(function (subscriber) {
(0, executeSchedule_1.executeSchedule)(subscriber, scheduler, function () {
var iterator = input[Symbol.asyncIterator]();
(0, executeSchedule_1.executeSchedule)(subscriber, scheduler, function () {
iterator.next().then(function (result) {
return new Observable_1.Observable((subscriber) => {
(0, executeSchedule_1.executeSchedule)(subscriber, scheduler, () => {
const iterator = input[Symbol.asyncIterator]();
(0, executeSchedule_1.executeSchedule)(subscriber, scheduler, () => {
iterator.next().then((result) => {
if (result.done) {

@@ -17,0 +17,0 @@ subscriber.complete();

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.scheduled = void 0;
var scheduleObservable_1 = require("./scheduleObservable");
var schedulePromise_1 = require("./schedulePromise");
var scheduleArray_1 = require("./scheduleArray");
var scheduleIterable_1 = require("./scheduleIterable");
var scheduleAsyncIterable_1 = require("./scheduleAsyncIterable");
var isInteropObservable_1 = require("../util/isInteropObservable");
var isPromise_1 = require("../util/isPromise");
var isArrayLike_1 = require("../util/isArrayLike");
var isIterable_1 = require("../util/isIterable");
var isAsyncIterable_1 = require("../util/isAsyncIterable");
var throwUnobservableError_1 = require("../util/throwUnobservableError");
var isReadableStreamLike_1 = require("../util/isReadableStreamLike");
var scheduleReadableStreamLike_1 = require("./scheduleReadableStreamLike");
const scheduleObservable_1 = require("./scheduleObservable");
const schedulePromise_1 = require("./schedulePromise");
const scheduleArray_1 = require("./scheduleArray");
const scheduleIterable_1 = require("./scheduleIterable");
const scheduleAsyncIterable_1 = require("./scheduleAsyncIterable");
const isInteropObservable_1 = require("../util/isInteropObservable");
const isPromise_1 = require("../util/isPromise");
const isArrayLike_1 = require("../util/isArrayLike");
const isIterable_1 = require("../util/isIterable");
const isAsyncIterable_1 = require("../util/isAsyncIterable");
const throwUnobservableError_1 = require("../util/throwUnobservableError");
const isReadableStreamLike_1 = require("../util/isReadableStreamLike");
const scheduleReadableStreamLike_1 = require("./scheduleReadableStreamLike");
function scheduled(input, scheduler) {

@@ -18,0 +18,0 @@ if (input != null) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.scheduleIterable = void 0;
var Observable_1 = require("../Observable");
var iterator_1 = require("../symbol/iterator");
var isFunction_1 = require("../util/isFunction");
var executeSchedule_1 = require("../util/executeSchedule");
const Observable_1 = require("../Observable");
const iterator_1 = require("../symbol/iterator");
const isFunction_1 = require("../util/isFunction");
const executeSchedule_1 = require("../util/executeSchedule");
function scheduleIterable(input, scheduler) {
return new Observable_1.Observable(function (subscriber) {
var iterator;
(0, executeSchedule_1.executeSchedule)(subscriber, scheduler, function () {
return new Observable_1.Observable((subscriber) => {
let iterator;
(0, executeSchedule_1.executeSchedule)(subscriber, scheduler, () => {
iterator = input[iterator_1.iterator]();
(0, executeSchedule_1.executeSchedule)(subscriber, scheduler, function () {
var _a;
var value;
var done;
(0, executeSchedule_1.executeSchedule)(subscriber, scheduler, () => {
let value;
let done;
try {
(_a = iterator.next(), value = _a.value, done = _a.done);
({ value, done } = iterator.next());
}

@@ -32,3 +31,3 @@ catch (err) {

});
return function () { return (0, isFunction_1.isFunction)(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); };
return () => (0, isFunction_1.isFunction)(iterator?.return) && iterator.return();
});

@@ -35,0 +34,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.scheduleObservable = void 0;
var from_1 = require("../observable/from");
var observeOn_1 = require("../operators/observeOn");
var subscribeOn_1 = require("../operators/subscribeOn");
const from_1 = require("../observable/from");
const observeOn_1 = require("../operators/observeOn");
const subscribeOn_1 = require("../operators/subscribeOn");
function scheduleObservable(input, scheduler) {

@@ -8,0 +8,0 @@ return (0, from_1.from)(input).pipe((0, subscribeOn_1.subscribeOn)(scheduler), (0, observeOn_1.observeOn)(scheduler));

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.schedulePromise = void 0;
var from_1 = require("../observable/from");
var observeOn_1 = require("../operators/observeOn");
var subscribeOn_1 = require("../operators/subscribeOn");
const from_1 = require("../observable/from");
const observeOn_1 = require("../operators/observeOn");
const subscribeOn_1 = require("../operators/subscribeOn");
function schedulePromise(input, scheduler) {

@@ -8,0 +8,0 @@ return (0, from_1.from)(input).pipe((0, subscribeOn_1.subscribeOn)(scheduler), (0, observeOn_1.observeOn)(scheduler));

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.scheduleReadableStreamLike = void 0;
var scheduleAsyncIterable_1 = require("./scheduleAsyncIterable");
var isReadableStreamLike_1 = require("../util/isReadableStreamLike");
const scheduleAsyncIterable_1 = require("./scheduleAsyncIterable");
const isReadableStreamLike_1 = require("../util/isReadableStreamLike");
function scheduleReadableStreamLike(input, scheduler) {

@@ -7,0 +7,0 @@ return (0, scheduleAsyncIterable_1.scheduleAsyncIterable)((0, isReadableStreamLike_1.readableStreamLikeToAsyncGenerator)(input), scheduler);

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Scheduler = void 0;
var dateTimestampProvider_1 = require("./scheduler/dateTimestampProvider");
var Scheduler = (function () {
function Scheduler(schedulerActionCtor, now) {
if (now === void 0) { now = Scheduler.now; }
const dateTimestampProvider_1 = require("./scheduler/dateTimestampProvider");
class Scheduler {
schedulerActionCtor;
static now = dateTimestampProvider_1.dateTimestampProvider.now;
constructor(schedulerActionCtor, now = Scheduler.now) {
this.schedulerActionCtor = schedulerActionCtor;
this.now = now;
}
Scheduler.prototype.schedule = function (work, delay, state) {
if (delay === void 0) { delay = 0; }
now;
schedule(work, delay = 0, state) {
return new this.schedulerActionCtor(this, work).schedule(state, delay);
};
Scheduler.now = dateTimestampProvider_1.dateTimestampProvider.now;
return Scheduler;
}());
}
}
exports.Scheduler = Scheduler;
//# sourceMappingURL=Scheduler.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.Action = void 0;
var Subscription_1 = require("../Subscription");
var Action = (function (_super) {
__extends(Action, _super);
function Action(scheduler, work) {
return _super.call(this) || this;
const Subscription_1 = require("../Subscription");
class Action extends Subscription_1.Subscription {
constructor(scheduler, work) {
super();
}
Action.prototype.schedule = function (state, delay) {
if (delay === void 0) { delay = 0; }
schedule(state, delay = 0) {
return this;
};
return Action;
}(Subscription_1.Subscription));
}
}
exports.Action = Action;
//# sourceMappingURL=Action.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.animationFrameScheduler = void 0;
var AnimationFrameAction_1 = require("./AnimationFrameAction");
var AnimationFrameScheduler_1 = require("./AnimationFrameScheduler");
const AnimationFrameAction_1 = require("./AnimationFrameAction");
const AnimationFrameScheduler_1 = require("./AnimationFrameScheduler");
exports.animationFrameScheduler = new AnimationFrameScheduler_1.AnimationFrameScheduler(AnimationFrameAction_1.AnimationFrameAction);
//# sourceMappingURL=animationFrame.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AnimationFrameAction = void 0;
var AsyncAction_1 = require("./AsyncAction");
var animationFrameProvider_1 = require("./animationFrameProvider");
var AnimationFrameAction = (function (_super) {
__extends(AnimationFrameAction, _super);
function AnimationFrameAction(scheduler, work) {
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
return _this;
const AsyncAction_1 = require("./AsyncAction");
const animationFrameProvider_1 = require("./animationFrameProvider");
class AnimationFrameAction extends AsyncAction_1.AsyncAction {
scheduler;
work;
constructor(scheduler, work) {
super(scheduler, work);
this.scheduler = scheduler;
this.work = work;
}
AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
requestAsyncId(scheduler, id, delay = 0) {
if (delay !== null && delay > 0) {
return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
return super.requestAsyncId(scheduler, id, delay);
}
scheduler.actions.push(this);
return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame(function () { return scheduler.flush(undefined); }));
};
AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
var _a;
if (delay === void 0) { delay = 0; }
return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));
}
recycleAsyncId(scheduler, id, delay = 0) {
if (delay != null ? delay > 0 : this.delay > 0) {
return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);
return super.recycleAsyncId(scheduler, id, delay);
}
var actions = scheduler.actions;
if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {
const { actions } = scheduler;
if (id != null && actions[actions.length - 1]?.id !== id) {
animationFrameProvider_1.animationFrameProvider.cancelAnimationFrame(id);

@@ -49,6 +31,5 @@ scheduler._scheduled = undefined;

return undefined;
};
return AnimationFrameAction;
}(AsyncAction_1.AsyncAction));
}
}
exports.AnimationFrameAction = AnimationFrameAction;
//# sourceMappingURL=AnimationFrameAction.js.map
"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.animationFrameProvider = void 0;
var Subscription_1 = require("../Subscription");
const Subscription_1 = require("../Subscription");
exports.animationFrameProvider = {
schedule: function (callback) {
var request = requestAnimationFrame;
var cancel = cancelAnimationFrame;
var delegate = exports.animationFrameProvider.delegate;
schedule(callback) {
let request = requestAnimationFrame;
let cancel = cancelAnimationFrame;
const { delegate } = exports.animationFrameProvider;
if (delegate) {

@@ -39,23 +14,15 @@ request = delegate.requestAnimationFrame;

}
var handle = request(function (timestamp) {
const handle = request((timestamp) => {
cancel = undefined;
callback(timestamp);
});
return new Subscription_1.Subscription(function () { return cancel === null || cancel === void 0 ? void 0 : cancel(handle); });
return new Subscription_1.Subscription(() => cancel?.(handle));
},
requestAnimationFrame: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var delegate = exports.animationFrameProvider.delegate;
return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame).apply(void 0, __spreadArray([], __read(args), false));
requestAnimationFrame(...args) {
const { delegate } = exports.animationFrameProvider;
return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args);
},
cancelAnimationFrame: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var delegate = exports.animationFrameProvider.delegate;
return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame).apply(void 0, __spreadArray([], __read(args), false));
cancelAnimationFrame(...args) {
const { delegate } = exports.animationFrameProvider;
return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args);
},

@@ -62,0 +29,0 @@ delegate: undefined,

"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AnimationFrameScheduler = void 0;
var AsyncScheduler_1 = require("./AsyncScheduler");
var AnimationFrameScheduler = (function (_super) {
__extends(AnimationFrameScheduler, _super);
function AnimationFrameScheduler() {
return _super !== null && _super.apply(this, arguments) || this;
}
AnimationFrameScheduler.prototype.flush = function (action) {
const AsyncScheduler_1 = require("./AsyncScheduler");
class AnimationFrameScheduler extends AsyncScheduler_1.AsyncScheduler {
flush(action) {
this._active = true;
var flushId = this._scheduled;
const flushId = this._scheduled;
this._scheduled = undefined;
var actions = this.actions;
var error;
const { actions } = this;
let error;
action = action || actions.shift();

@@ -44,6 +25,5 @@ do {

}
};
return AnimationFrameScheduler;
}(AsyncScheduler_1.AsyncScheduler));
}
}
exports.AnimationFrameScheduler = AnimationFrameScheduler;
//# sourceMappingURL=AnimationFrameScheduler.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.asapScheduler = void 0;
var AsapAction_1 = require("./AsapAction");
var AsapScheduler_1 = require("./AsapScheduler");
const AsapAction_1 = require("./AsapAction");
const AsapScheduler_1 = require("./AsapScheduler");
exports.asapScheduler = new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction);
//# sourceMappingURL=asap.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AsapAction = void 0;
var AsyncAction_1 = require("./AsyncAction");
var immediateProvider_1 = require("./immediateProvider");
var AsapAction = (function (_super) {
__extends(AsapAction, _super);
function AsapAction(scheduler, work) {
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
return _this;
const AsyncAction_1 = require("./AsyncAction");
const immediateProvider_1 = require("./immediateProvider");
class AsapAction extends AsyncAction_1.AsyncAction {
scheduler;
work;
constructor(scheduler, work) {
super(scheduler, work);
this.scheduler = scheduler;
this.work = work;
}
AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
requestAsyncId(scheduler, id, delay = 0) {
if (delay !== null && delay > 0) {
return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
return super.requestAsyncId(scheduler, id, delay);
}
scheduler.actions.push(this);
return scheduler._scheduled || (scheduler._scheduled = immediateProvider_1.immediateProvider.setImmediate(scheduler.flush.bind(scheduler, undefined)));
};
AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
var _a;
if (delay === void 0) { delay = 0; }
}
recycleAsyncId(scheduler, id, delay = 0) {
if (delay != null ? delay > 0 : this.delay > 0) {
return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);
return super.recycleAsyncId(scheduler, id, delay);
}
var actions = scheduler.actions;
if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {
const { actions } = scheduler;
if (id != null && actions[actions.length - 1]?.id !== id) {
immediateProvider_1.immediateProvider.clearImmediate(id);

@@ -51,6 +33,5 @@ if (scheduler._scheduled === id) {

return undefined;
};
return AsapAction;
}(AsyncAction_1.AsyncAction));
}
}
exports.AsapAction = AsapAction;
//# sourceMappingURL=AsapAction.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AsapScheduler = void 0;
var AsyncScheduler_1 = require("./AsyncScheduler");
var AsapScheduler = (function (_super) {
__extends(AsapScheduler, _super);
function AsapScheduler() {
return _super !== null && _super.apply(this, arguments) || this;
}
AsapScheduler.prototype.flush = function (action) {
const AsyncScheduler_1 = require("./AsyncScheduler");
class AsapScheduler extends AsyncScheduler_1.AsyncScheduler {
flush(action) {
this._active = true;
var flushId = this._scheduled;
const flushId = this._scheduled;
this._scheduled = undefined;
var actions = this.actions;
var error;
const { actions } = this;
let error;
action = action || actions.shift();

@@ -44,6 +25,5 @@ do {

}
};
return AsapScheduler;
}(AsyncScheduler_1.AsyncScheduler));
}
}
exports.AsapScheduler = AsapScheduler;
//# sourceMappingURL=AsapScheduler.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.asyncScheduler = void 0;
var AsyncAction_1 = require("./AsyncAction");
var AsyncScheduler_1 = require("./AsyncScheduler");
const AsyncAction_1 = require("./AsyncAction");
const AsyncScheduler_1 = require("./AsyncScheduler");
exports.asyncScheduler = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction);
//# sourceMappingURL=async.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AsyncAction = void 0;
var Action_1 = require("./Action");
var intervalProvider_1 = require("./intervalProvider");
var arrRemove_1 = require("../util/arrRemove");
var AsyncAction = (function (_super) {
__extends(AsyncAction, _super);
function AsyncAction(scheduler, work) {
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
_this.pending = false;
return _this;
const Action_1 = require("./Action");
const intervalProvider_1 = require("./intervalProvider");
const arrRemove_1 = require("../util/arrRemove");
class AsyncAction extends Action_1.Action {
scheduler;
work;
id;
state;
delay;
pending = false;
constructor(scheduler, work) {
super(scheduler, work);
this.scheduler = scheduler;
this.work = work;
}
AsyncAction.prototype.schedule = function (state, delay) {
var _a;
if (delay === void 0) { delay = 0; }
schedule(state, delay = 0) {
if (this.closed) {

@@ -38,4 +24,4 @@ return this;

this.state = state;
var id = this.id;
var scheduler = this.scheduler;
const id = this.id;
const scheduler = this.scheduler;
if (id != null) {

@@ -46,11 +32,9 @@ this.id = this.recycleAsyncId(scheduler, id, delay);

this.delay = delay;
this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);
this.id = this.id ?? this.requestAsyncId(scheduler, this.id, delay);
return this;
};
AsyncAction.prototype.requestAsyncId = function (scheduler, _id, delay) {
if (delay === void 0) { delay = 0; }
}
requestAsyncId(scheduler, _id, delay = 0) {
return intervalProvider_1.intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);
};
AsyncAction.prototype.recycleAsyncId = function (_scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
}
recycleAsyncId(_scheduler, id, delay = 0) {
if (delay != null && this.delay === delay && this.pending === false) {

@@ -63,4 +47,4 @@ return id;

return undefined;
};
AsyncAction.prototype.execute = function (state, delay) {
}
execute(state, delay) {
if (this.closed) {

@@ -70,3 +54,3 @@ return new Error('executing a cancelled action');

this.pending = false;
var error = this._execute(state, delay);
const error = this._execute(state, delay);
if (error) {

@@ -78,6 +62,6 @@ return error;

}
};
AsyncAction.prototype._execute = function (state, _delay) {
var errored = false;
var errorValue;
}
_execute(state, _delay) {
let errored = false;
let errorValue;
try {

@@ -94,7 +78,7 @@ this.work(state);

}
};
AsyncAction.prototype.unsubscribe = function () {
}
unsubscribe() {
if (!this.closed) {
var _a = this, id = _a.id, scheduler = _a.scheduler;
var actions = scheduler.actions;
const { id, scheduler } = this;
const { actions } = scheduler;
this.work = this.state = this.scheduler = null;

@@ -107,8 +91,7 @@ this.pending = false;

this.delay = null;
_super.prototype.unsubscribe.call(this);
super.unsubscribe();
}
};
return AsyncAction;
}(Action_1.Action));
}
}
exports.AsyncAction = AsyncAction;
//# sourceMappingURL=AsyncAction.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AsyncScheduler = void 0;
var Scheduler_1 = require("../Scheduler");
var AsyncScheduler = (function (_super) {
__extends(AsyncScheduler, _super);
function AsyncScheduler(SchedulerAction, now) {
if (now === void 0) { now = Scheduler_1.Scheduler.now; }
var _this = _super.call(this, SchedulerAction, now) || this;
_this.actions = [];
_this._active = false;
return _this;
const Scheduler_1 = require("../Scheduler");
class AsyncScheduler extends Scheduler_1.Scheduler {
actions = [];
_active = false;
_scheduled;
constructor(SchedulerAction, now = Scheduler_1.Scheduler.now) {
super(SchedulerAction, now);
}
AsyncScheduler.prototype.flush = function (action) {
var actions = this.actions;
flush(action) {
const { actions } = this;
if (this._active) {

@@ -35,3 +18,3 @@ actions.push(action);

}
var error;
let error;
this._active = true;

@@ -50,6 +33,5 @@ do {

}
};
return AsyncScheduler;
}(Scheduler_1.Scheduler));
}
}
exports.AsyncScheduler = AsyncScheduler;
//# sourceMappingURL=AsyncScheduler.js.map

@@ -5,3 +5,3 @@ "use strict";

exports.dateTimestampProvider = {
now: function () {
now() {
return (exports.dateTimestampProvider.delegate || Date).now();

@@ -8,0 +8,0 @@ },

"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.immediateProvider = void 0;
var Immediate_1 = require("../util/Immediate");
var setImmediate = Immediate_1.Immediate.setImmediate, clearImmediate = Immediate_1.Immediate.clearImmediate;
const Immediate_1 = require("../util/Immediate");
const { setImmediate, clearImmediate } = Immediate_1.Immediate;
exports.immediateProvider = {
setImmediate: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var delegate = exports.immediateProvider.delegate;
return ((delegate === null || delegate === void 0 ? void 0 : delegate.setImmediate) || setImmediate).apply(void 0, __spreadArray([], __read(args), false));
setImmediate(...args) {
const { delegate } = exports.immediateProvider;
return (delegate?.setImmediate || setImmediate)(...args);
},
clearImmediate: function (handle) {
var delegate = exports.immediateProvider.delegate;
return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearImmediate) || clearImmediate)(handle);
clearImmediate(handle) {
const { delegate } = exports.immediateProvider;
return (delegate?.clearImmediate || clearImmediate)(handle);
},

@@ -44,0 +15,0 @@ delegate: undefined,

"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.intervalProvider = void 0;
exports.intervalProvider = {
setInterval: function (handler, timeout) {
var args = [];
for (var _i = 2; _i < arguments.length; _i++) {
args[_i - 2] = arguments[_i];
setInterval(handler, timeout, ...args) {
const { delegate } = exports.intervalProvider;
if (delegate?.setInterval) {
return delegate.setInterval(handler, timeout, ...args);
}
var delegate = exports.intervalProvider.delegate;
if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {
return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args), false));
}
return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args), false));
return setInterval(handler, timeout, ...args);
},
clearInterval: function (handle) {
var delegate = exports.intervalProvider.delegate;
return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);
clearInterval(handle) {
const { delegate } = exports.intervalProvider;
return (delegate?.clearInterval || clearInterval)(handle);
},

@@ -45,0 +16,0 @@ delegate: undefined,

@@ -5,3 +5,3 @@ "use strict";

exports.performanceTimestampProvider = {
now: function () {
now() {
return (exports.performanceTimestampProvider.delegate || performance).now();

@@ -8,0 +8,0 @@ },

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.queueScheduler = void 0;
var QueueAction_1 = require("./QueueAction");
var QueueScheduler_1 = require("./QueueScheduler");
const QueueAction_1 = require("./QueueAction");
const QueueScheduler_1 = require("./QueueScheduler");
exports.queueScheduler = new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction);
//# sourceMappingURL=queue.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.QueueAction = void 0;
var AsyncAction_1 = require("./AsyncAction");
var QueueAction = (function (_super) {
__extends(QueueAction, _super);
function QueueAction(scheduler, work) {
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
return _this;
const AsyncAction_1 = require("./AsyncAction");
class QueueAction extends AsyncAction_1.AsyncAction {
scheduler;
work;
constructor(scheduler, work) {
super(scheduler, work);
this.scheduler = scheduler;
this.work = work;
}
QueueAction.prototype.schedule = function (state, delay) {
if (delay === void 0) { delay = 0; }
schedule(state, delay = 0) {
if (delay > 0) {
return _super.prototype.schedule.call(this, state, delay);
return super.schedule(state, delay);
}

@@ -37,17 +21,15 @@ this.delay = delay;

return this;
};
QueueAction.prototype.execute = function (state, delay) {
return delay > 0 || this.closed ? _super.prototype.execute.call(this, state, delay) : this._execute(state, delay);
};
QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
}
execute(state, delay) {
return delay > 0 || this.closed ? super.execute(state, delay) : this._execute(state, delay);
}
requestAsyncId(scheduler, id, delay = 0) {
if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {
return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
return super.requestAsyncId(scheduler, id, delay);
}
scheduler.flush(this);
return 0;
};
return QueueAction;
}(AsyncAction_1.AsyncAction));
}
}
exports.QueueAction = QueueAction;
//# sourceMappingURL=QueueAction.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.QueueScheduler = void 0;
var AsyncScheduler_1 = require("./AsyncScheduler");
var QueueScheduler = (function (_super) {
__extends(QueueScheduler, _super);
function QueueScheduler() {
return _super !== null && _super.apply(this, arguments) || this;
}
return QueueScheduler;
}(AsyncScheduler_1.AsyncScheduler));
const AsyncScheduler_1 = require("./AsyncScheduler");
class QueueScheduler extends AsyncScheduler_1.AsyncScheduler {
}
exports.QueueScheduler = QueueScheduler;
//# sourceMappingURL=QueueScheduler.js.map
"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.timeoutProvider = void 0;
exports.timeoutProvider = {
setTimeout: function (handler, timeout) {
var args = [];
for (var _i = 2; _i < arguments.length; _i++) {
args[_i - 2] = arguments[_i];
setTimeout(handler, timeout, ...args) {
const { delegate } = exports.timeoutProvider;
if (delegate?.setTimeout) {
return delegate.setTimeout(handler, timeout, ...args);
}
var delegate = exports.timeoutProvider.delegate;
if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {
return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args), false));
}
return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args), false));
return setTimeout(handler, timeout, ...args);
},
clearTimeout: function (handle) {
var delegate = exports.timeoutProvider.delegate;
return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);
clearTimeout(handle) {
const { delegate } = exports.timeoutProvider;
return (delegate?.clearTimeout || clearTimeout)(handle);
},

@@ -45,0 +16,0 @@ delegate: undefined,

"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.VirtualAction = exports.VirtualTimeScheduler = void 0;
var AsyncAction_1 = require("./AsyncAction");
var Subscription_1 = require("../Subscription");
var AsyncScheduler_1 = require("./AsyncScheduler");
var VirtualTimeScheduler = (function (_super) {
__extends(VirtualTimeScheduler, _super);
function VirtualTimeScheduler(schedulerActionCtor, maxFrames) {
if (schedulerActionCtor === void 0) { schedulerActionCtor = VirtualAction; }
if (maxFrames === void 0) { maxFrames = Infinity; }
var _this = _super.call(this, schedulerActionCtor, function () { return _this.frame; }) || this;
_this.maxFrames = maxFrames;
_this.frame = 0;
_this.index = -1;
return _this;
const AsyncAction_1 = require("./AsyncAction");
const Subscription_1 = require("../Subscription");
const AsyncScheduler_1 = require("./AsyncScheduler");
class VirtualTimeScheduler extends AsyncScheduler_1.AsyncScheduler {
maxFrames;
static frameTimeFactor = 10;
frame = 0;
index = -1;
constructor(schedulerActionCtor = VirtualAction, maxFrames = Infinity) {
super(schedulerActionCtor, () => this.frame);
this.maxFrames = maxFrames;
}
VirtualTimeScheduler.prototype.flush = function () {
var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;
var error;
var action;
flush() {
const { actions, maxFrames } = this;
let error;
let action;
while ((action = actions[0]) && action.delay <= maxFrames) {

@@ -50,27 +33,24 @@ actions.shift();

}
};
VirtualTimeScheduler.frameTimeFactor = 10;
return VirtualTimeScheduler;
}(AsyncScheduler_1.AsyncScheduler));
}
}
exports.VirtualTimeScheduler = VirtualTimeScheduler;
var VirtualAction = (function (_super) {
__extends(VirtualAction, _super);
function VirtualAction(scheduler, work, index) {
if (index === void 0) { index = (scheduler.index += 1); }
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
_this.index = index;
_this.active = true;
_this.index = scheduler.index = index;
return _this;
class VirtualAction extends AsyncAction_1.AsyncAction {
scheduler;
work;
index;
active = true;
constructor(scheduler, work, index = (scheduler.index += 1)) {
super(scheduler, work);
this.scheduler = scheduler;
this.work = work;
this.index = index;
this.index = scheduler.index = index;
}
VirtualAction.prototype.schedule = function (state, delay) {
if (delay === void 0) { delay = 0; }
schedule(state, delay = 0) {
if (Number.isFinite(delay)) {
if (!this.id) {
return _super.prototype.schedule.call(this, state, delay);
return super.schedule(state, delay);
}
this.active = false;
var action = new VirtualAction(this.scheduler, this.work);
const action = new VirtualAction(this.scheduler, this.work);
this.add(action);

@@ -82,21 +62,19 @@ return action.schedule(state, delay);

}
};
VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
}
requestAsyncId(scheduler, id, delay = 0) {
this.delay = scheduler.frame + delay;
var actions = scheduler.actions;
const { actions } = scheduler;
actions.push(this);
actions.sort(VirtualAction.sortActions);
return 1;
};
VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
}
recycleAsyncId(scheduler, id, delay = 0) {
return undefined;
};
VirtualAction.prototype._execute = function (state, delay) {
}
_execute(state, delay) {
if (this.active === true) {
return _super.prototype._execute.call(this, state, delay);
return super._execute(state, delay);
}
};
VirtualAction.sortActions = function (a, b) {
}
static sortActions(a, b) {
if (a.delay === b.delay) {

@@ -119,6 +97,5 @@ if (a.index === b.index) {

}
};
return VirtualAction;
}(AsyncAction_1.AsyncAction));
}
}
exports.VirtualAction = VirtualAction;
//# sourceMappingURL=VirtualTimeScheduler.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AnonymousSubject = exports.Subject = void 0;
var Observable_1 = require("./Observable");
var Subscription_1 = require("./Subscription");
var Subject = (function (_super) {
__extends(Subject, _super);
function Subject() {
var _this = _super.call(this) || this;
_this._closed = false;
_this._observerCounter = 0;
_this.currentObservers = new Map();
_this.hasError = false;
_this.thrownError = null;
return _this;
const Observable_1 = require("./Observable");
const Subscription_1 = require("./Subscription");
class Subject extends Observable_1.Observable {
_closed = false;
get closed() {
return this._closed;
}
Object.defineProperty(Subject.prototype, "closed", {
get: function () {
return this._closed;
},
enumerable: false,
configurable: true
});
Object.defineProperty(Subject.prototype, "observers", {
get: function () {
var _a;
return ((_a = this.observerSnapshot) !== null && _a !== void 0 ? _a : (this.observerSnapshot = Array.from(this.currentObservers.values())));
},
enumerable: false,
configurable: true
});
Subject.prototype._clearObservers = function () {
_observerCounter = 0;
currentObservers = new Map();
observerSnapshot;
get observers() {
return (this.observerSnapshot ??= Array.from(this.currentObservers.values()));
}
hasError = false;
thrownError = null;
static create = (destination, source) => {
return new AnonymousSubject(destination, source);
};
constructor() {
super();
}
_clearObservers() {
this.currentObservers.clear();
this.observerSnapshot = undefined;
};
Subject.prototype.next = function (value) {
}
next(value) {
if (!this._closed) {
var observers = this.observers;
var len = observers.length;
for (var i = 0; i < len; i++) {
const { observers } = this;
const len = observers.length;
for (let i = 0; i < len; i++) {
observers[i].next(value);
}
}
};
Subject.prototype.error = function (err) {
}
error(err) {
if (!this._closed) {
this.hasError = this._closed = true;
this.thrownError = err;
var observers = this.observers;
var len = observers.length;
for (var i = 0; i < len; i++) {
const { observers } = this;
const len = observers.length;
for (let i = 0; i < len; i++) {
observers[i].error(err);

@@ -71,9 +49,9 @@ }

}
};
Subject.prototype.complete = function () {
}
complete() {
if (!this._closed) {
this._closed = true;
var observers = this.observers;
var len = observers.length;
for (var i = 0; i < len; i++) {
const { observers } = this;
const len = observers.length;
for (let i = 0; i < len; i++) {
observers[i].complete();

@@ -83,35 +61,30 @@ }

}
};
Subject.prototype.unsubscribe = function () {
}
unsubscribe() {
this._closed = true;
this._clearObservers();
};
Object.defineProperty(Subject.prototype, "observed", {
get: function () {
return this.currentObservers.size > 0;
},
enumerable: false,
configurable: true
});
Subject.prototype._subscribe = function (subscriber) {
}
get observed() {
return this.currentObservers.size > 0;
}
_subscribe(subscriber) {
this._checkFinalizedStatuses(subscriber);
return this._innerSubscribe(subscriber);
};
Subject.prototype._innerSubscribe = function (subscriber) {
var _this = this;
}
_innerSubscribe(subscriber) {
if (this.hasError || this._closed) {
return Subscription_1.Subscription.EMPTY;
}
var currentObservers = this.currentObservers;
var observerId = this._observerCounter++;
const { currentObservers } = this;
const observerId = this._observerCounter++;
currentObservers.set(observerId, subscriber);
this.observerSnapshot = undefined;
subscriber.add(function () {
subscriber.add(() => {
currentObservers.delete(observerId);
_this.observerSnapshot = undefined;
this.observerSnapshot = undefined;
});
return subscriber;
};
Subject.prototype._checkFinalizedStatuses = function (subscriber) {
var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, _closed = _a._closed;
}
_checkFinalizedStatuses(subscriber) {
const { hasError, thrownError, _closed } = this;
if (hasError) {

@@ -123,40 +96,30 @@ subscriber.error(thrownError);

}
};
Subject.prototype.asObservable = function () {
var _this = this;
return new Observable_1.Observable(function (subscriber) { return _this.subscribe(subscriber); });
};
Subject.create = function (destination, source) {
return new AnonymousSubject(destination, source);
};
return Subject;
}(Observable_1.Observable));
}
asObservable() {
return new Observable_1.Observable((subscriber) => this.subscribe(subscriber));
}
}
exports.Subject = Subject;
var AnonymousSubject = (function (_super) {
__extends(AnonymousSubject, _super);
function AnonymousSubject(destination, _source) {
var _this = _super.call(this) || this;
_this.destination = destination;
_this._source = _source;
return _this;
class AnonymousSubject extends Subject {
destination;
_source;
constructor(destination, _source) {
super();
this.destination = destination;
this._source = _source;
}
AnonymousSubject.prototype.next = function (value) {
var _a, _b;
(_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);
};
AnonymousSubject.prototype.error = function (err) {
var _a, _b;
(_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);
};
AnonymousSubject.prototype.complete = function () {
var _a, _b;
(_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);
};
AnonymousSubject.prototype._subscribe = function (subscriber) {
var _a, _b;
return (_b = (_a = this._source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : Subscription_1.Subscription.EMPTY;
};
return AnonymousSubject;
}(Subject));
next(value) {
this.destination?.next?.(value);
}
error(err) {
this.destination?.error?.(err);
}
complete() {
this.destination?.complete?.();
}
_subscribe(subscriber) {
return this._source?.subscribe(subscriber) ?? Subscription_1.Subscription.EMPTY;
}
}
exports.AnonymousSubject = AnonymousSubject;
//# sourceMappingURL=Subject.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.operate = exports.Subscriber = void 0;
var isFunction_1 = require("./util/isFunction");
var Subscription_1 = require("./Subscription");
var config_1 = require("./config");
var reportUnhandledError_1 = require("./util/reportUnhandledError");
var NotificationFactories_1 = require("./NotificationFactories");
var timeoutProvider_1 = require("./scheduler/timeoutProvider");
var Subscriber = (function (_super) {
__extends(Subscriber, _super);
function Subscriber(destination, overrides) {
var _this = this;
var _a, _b, _c, _d;
_this = _super.call(this) || this;
_this.isStopped = false;
_this._nextOverride = null;
_this._errorOverride = null;
_this._completeOverride = null;
_this._onFinalize = null;
_this.destination = destination instanceof Subscriber ? destination : createSafeObserver(destination);
_this._nextOverride = (_a = overrides === null || overrides === void 0 ? void 0 : overrides.next) !== null && _a !== void 0 ? _a : null;
_this._errorOverride = (_b = overrides === null || overrides === void 0 ? void 0 : overrides.error) !== null && _b !== void 0 ? _b : null;
_this._completeOverride = (_c = overrides === null || overrides === void 0 ? void 0 : overrides.complete) !== null && _c !== void 0 ? _c : null;
_this._onFinalize = (_d = overrides === null || overrides === void 0 ? void 0 : overrides.finalize) !== null && _d !== void 0 ? _d : null;
_this._next = _this._nextOverride ? overrideNext : _this._next;
_this._error = _this._errorOverride ? overrideError : _this._error;
_this._complete = _this._completeOverride ? overrideComplete : _this._complete;
const isFunction_1 = require("./util/isFunction");
const Subscription_1 = require("./Subscription");
const config_1 = require("./config");
const reportUnhandledError_1 = require("./util/reportUnhandledError");
const NotificationFactories_1 = require("./NotificationFactories");
const timeoutProvider_1 = require("./scheduler/timeoutProvider");
class Subscriber extends Subscription_1.Subscription {
isStopped = false;
destination;
_nextOverride = null;
_errorOverride = null;
_completeOverride = null;
_onFinalize = null;
constructor(destination, overrides) {
super();
this.destination = destination instanceof Subscriber ? destination : createSafeObserver(destination);
this._nextOverride = overrides?.next ?? null;
this._errorOverride = overrides?.error ?? null;
this._completeOverride = overrides?.complete ?? null;
this._onFinalize = overrides?.finalize ?? null;
this._next = this._nextOverride ? overrideNext : this._next;
this._error = this._errorOverride ? overrideError : this._error;
this._complete = this._completeOverride ? overrideComplete : this._complete;
if (hasAddAndUnsubscribe(destination)) {
destination.add(_this);
destination.add(this);
}
return _this;
}
Subscriber.prototype.next = function (value) {
next(value) {
if (this.isStopped) {

@@ -67,4 +38,4 @@ handleStoppedNotification((0, NotificationFactories_1.nextNotification)(value), this);

}
};
Subscriber.prototype.error = function (err) {
}
error(err) {
if (this.isStopped) {

@@ -77,4 +48,4 @@ handleStoppedNotification((0, NotificationFactories_1.errorNotification)(err), this);

}
};
Subscriber.prototype.complete = function () {
}
complete() {
if (this.isStopped) {

@@ -87,15 +58,14 @@ handleStoppedNotification(NotificationFactories_1.COMPLETE_NOTIFICATION, this);

}
};
Subscriber.prototype.unsubscribe = function () {
var _a;
}
unsubscribe() {
if (!this.closed) {
this.isStopped = true;
_super.prototype.unsubscribe.call(this);
(_a = this._onFinalize) === null || _a === void 0 ? void 0 : _a.call(this);
super.unsubscribe();
this._onFinalize?.();
}
};
Subscriber.prototype._next = function (value) {
}
_next(value) {
this.destination.next(value);
};
Subscriber.prototype._error = function (err) {
}
_error(err) {
try {

@@ -107,4 +77,4 @@ this.destination.error(err);

}
};
Subscriber.prototype._complete = function () {
}
_complete() {
try {

@@ -116,5 +86,4 @@ this.destination.complete();

}
};
return Subscriber;
}(Subscription_1.Subscription));
}
}
exports.Subscriber = Subscriber;

@@ -151,8 +120,9 @@ function overrideNext(value) {

}
var ConsumerObserver = (function () {
function ConsumerObserver(partialObserver) {
class ConsumerObserver {
partialObserver;
constructor(partialObserver) {
this.partialObserver = partialObserver;
}
ConsumerObserver.prototype.next = function (value) {
var partialObserver = this.partialObserver;
next(value) {
const { partialObserver } = this;
if (partialObserver.next) {

@@ -166,5 +136,5 @@ try {

}
};
ConsumerObserver.prototype.error = function (err) {
var partialObserver = this.partialObserver;
}
error(err) {
const { partialObserver } = this;
if (partialObserver.error) {

@@ -181,5 +151,5 @@ try {

}
};
ConsumerObserver.prototype.complete = function () {
var partialObserver = this.partialObserver;
}
complete() {
const { partialObserver } = this;
if (partialObserver.complete) {

@@ -193,11 +163,10 @@ try {

}
};
return ConsumerObserver;
}());
}
}
function createSafeObserver(observerOrNext) {
return new ConsumerObserver(!observerOrNext || (0, isFunction_1.isFunction)(observerOrNext) ? { next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined } : observerOrNext);
return new ConsumerObserver(!observerOrNext || (0, isFunction_1.isFunction)(observerOrNext) ? { next: observerOrNext ?? undefined } : observerOrNext);
}
function handleStoppedNotification(notification, subscriber) {
var onStoppedNotification = config_1.config.onStoppedNotification;
onStoppedNotification && timeoutProvider_1.timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });
const { onStoppedNotification } = config_1.config;
onStoppedNotification && timeoutProvider_1.timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));
}

@@ -207,4 +176,3 @@ function hasAddAndUnsubscribe(value) {

}
function operate(_a) {
var destination = _a.destination, subscriberOverrides = __rest(_a, ["destination"]);
function operate({ destination, ...subscriberOverrides }) {
return new Subscriber(destination, subscriberOverrides);

@@ -211,0 +179,0 @@ }

"use strict";
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Subscription = void 0;
var isFunction_1 = require("./util/isFunction");
var UnsubscriptionError_1 = require("./util/UnsubscriptionError");
var Subscription = (function () {
function Subscription(initialTeardown) {
const isFunction_1 = require("./util/isFunction");
const UnsubscriptionError_1 = require("./util/UnsubscriptionError");
class Subscription {
initialTeardown;
static EMPTY = (() => {
const empty = new Subscription();
empty.closed = true;
return empty;
})();
closed = false;
_finalizers = null;
constructor(initialTeardown) {
this.initialTeardown = initialTeardown;
this.closed = false;
this._finalizers = null;
}
Subscription.prototype.unsubscribe = function () {
var e_1, _a;
var errors;
unsubscribe() {
let errors;
if (!this.closed) {
this.closed = true;
var initialFinalizer = this.initialTeardown;
const { initialTeardown: initialFinalizer } = this;
if ((0, isFunction_1.isFunction)(initialFinalizer)) {

@@ -62,29 +31,19 @@ try {

}
var _finalizers = this._finalizers;
const { _finalizers } = this;
if (_finalizers) {
this._finalizers = null;
try {
for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {
var finalizer = _finalizers_1_1.value;
try {
execFinalizer(finalizer);
for (const finalizer of _finalizers) {
try {
execFinalizer(finalizer);
}
catch (err) {
errors = errors ?? [];
if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {
errors.push(...err.errors);
}
catch (err) {
errors = errors !== null && errors !== void 0 ? errors : [];
if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {
errors.push.apply(errors, __spreadArray([], __read(err.errors), false));
}
else {
errors.push(err);
}
else {
errors.push(err);
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (_finalizers_1_1 && !_finalizers_1_1.done && (_a = _finalizers_1.return)) _a.call(_finalizers_1);
}
finally { if (e_1) throw e_1.error; }
}
}

@@ -95,6 +54,4 @@ if (errors) {

}
};
Subscription.prototype.add = function (teardown) {
var _this = this;
var _a;
}
add(teardown) {
if (teardown && teardown !== this) {

@@ -106,23 +63,19 @@ if (this.closed) {

if (teardown && 'add' in teardown) {
teardown.add(function () {
_this.remove(teardown);
teardown.add(() => {
this.remove(teardown);
});
}
(_a = this._finalizers) !== null && _a !== void 0 ? _a : (this._finalizers = new Set());
this._finalizers ??= new Set();
this._finalizers.add(teardown);
}
}
};
Subscription.prototype.remove = function (teardown) {
var _a;
(_a = this._finalizers) === null || _a === void 0 ? void 0 : _a.delete(teardown);
};
Subscription.EMPTY = (function () {
var empty = new Subscription();
empty.closed = true;
return empty;
})();
return Subscription;
}());
}
remove(teardown) {
this._finalizers?.delete(teardown);
}
}
exports.Subscription = Subscription;
if (typeof Symbol.dispose === 'symbol') {
Subscription.prototype[Symbol.dispose] = Subscription.prototype.unsubscribe;
}
function execFinalizer(finalizer) {

@@ -129,0 +82,0 @@ if ((0, isFunction_1.isFunction)(finalizer)) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.observable = void 0;
exports.observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();
exports.observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();
//# sourceMappingURL=observable.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.ColdObservable = void 0;
var Observable_1 = require("../Observable");
var Subscription_1 = require("../Subscription");
var SubscriptionLoggable_1 = require("./SubscriptionLoggable");
var applyMixins_1 = require("../util/applyMixins");
var Notification_1 = require("../Notification");
var ColdObservable = (function (_super) {
__extends(ColdObservable, _super);
function ColdObservable(messages, scheduler) {
var _this = _super.call(this, function (subscriber) {
var observable = this;
var index = observable.logSubscribedFrame();
var subscription = new Subscription_1.Subscription();
subscription.add(new Subscription_1.Subscription(function () {
const Observable_1 = require("../Observable");
const Subscription_1 = require("../Subscription");
const SubscriptionLoggable_1 = require("./SubscriptionLoggable");
const applyMixins_1 = require("../util/applyMixins");
const Notification_1 = require("../Notification");
class ColdObservable extends Observable_1.Observable {
messages;
subscriptions = [];
scheduler;
logSubscribedFrame;
logUnsubscribedFrame;
constructor(messages, scheduler) {
super(function (subscriber) {
const observable = this;
const index = observable.logSubscribedFrame();
const subscription = new Subscription_1.Subscription();
subscription.add(new Subscription_1.Subscription(() => {
observable.logUnsubscribedFrame(index);

@@ -36,22 +25,19 @@ }));

return subscription;
}) || this;
_this.messages = messages;
_this.subscriptions = [];
_this.scheduler = scheduler;
return _this;
});
this.messages = messages;
this.scheduler = scheduler;
}
ColdObservable.prototype.scheduleMessages = function (subscriber) {
var messagesLength = this.messages.length;
for (var i = 0; i < messagesLength; i++) {
var message = this.messages[i];
subscriber.add(this.scheduler.schedule(function (state) {
var _a = state, notification = _a.message.notification, destination = _a.subscriber;
scheduleMessages(subscriber) {
const messagesLength = this.messages.length;
for (let i = 0; i < messagesLength; i++) {
const message = this.messages[i];
subscriber.add(this.scheduler.schedule((state) => {
const { message: { notification }, subscriber: destination } = state;
(0, Notification_1.observeNotification)(notification, destination);
}, message.frame, { message: message, subscriber: subscriber }));
}, message.frame, { message, subscriber }));
}
};
return ColdObservable;
}(Observable_1.Observable));
}
}
exports.ColdObservable = ColdObservable;
(0, applyMixins_1.applyMixins)(ColdObservable, [SubscriptionLoggable_1.SubscriptionLoggable]);
//# sourceMappingURL=ColdObservable.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.HotObservable = void 0;
var Subject_1 = require("../Subject");
var Subscription_1 = require("../Subscription");
var SubscriptionLoggable_1 = require("./SubscriptionLoggable");
var applyMixins_1 = require("../util/applyMixins");
var Notification_1 = require("../Notification");
var HotObservable = (function (_super) {
__extends(HotObservable, _super);
function HotObservable(messages, scheduler) {
var _this = _super.call(this) || this;
_this.messages = messages;
_this.subscriptions = [];
_this.scheduler = scheduler;
return _this;
const Subject_1 = require("../Subject");
const Subscription_1 = require("../Subscription");
const SubscriptionLoggable_1 = require("./SubscriptionLoggable");
const applyMixins_1 = require("../util/applyMixins");
const Notification_1 = require("../Notification");
class HotObservable extends Subject_1.Subject {
messages;
subscriptions = [];
scheduler;
logSubscribedFrame;
logUnsubscribedFrame;
constructor(messages, scheduler) {
super();
this.messages = messages;
this.scheduler = scheduler;
}
HotObservable.prototype._subscribe = function (subscriber) {
var subject = this;
var index = subject.logSubscribedFrame();
var subscription = new Subscription_1.Subscription();
subscription.add(new Subscription_1.Subscription(function () {
_subscribe(subscriber) {
const subject = this;
const index = subject.logSubscribedFrame();
const subscription = new Subscription_1.Subscription();
subscription.add(new Subscription_1.Subscription(() => {
subject.logUnsubscribedFrame(index);
}));
subscription.add(_super.prototype._subscribe.call(this, subscriber));
subscription.add(super._subscribe(subscriber));
return subscription;
};
HotObservable.prototype.setup = function () {
var subject = this;
var messagesLength = subject.messages.length;
var _loop_1 = function (i) {
(function () {
var _a = subject.messages[i], notification = _a.notification, frame = _a.frame;
subject.scheduler.schedule(function () {
}
setup() {
const subject = this;
const messagesLength = subject.messages.length;
for (let i = 0; i < messagesLength; i++) {
(() => {
const { notification, frame } = subject.messages[i];
subject.scheduler.schedule(() => {
(0, Notification_1.observeNotification)(notification, subject);
}, frame);
})();
};
for (var i = 0; i < messagesLength; i++) {
_loop_1(i);
}
};
return HotObservable;
}(Subject_1.Subject));
}
}
exports.HotObservable = HotObservable;
(0, applyMixins_1.applyMixins)(HotObservable, [SubscriptionLoggable_1.SubscriptionLoggable]);
//# sourceMappingURL=HotObservable.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SubscriptionLog = void 0;
var SubscriptionLog = (function () {
function SubscriptionLog(subscribedFrame, unsubscribedFrame) {
if (unsubscribedFrame === void 0) { unsubscribedFrame = Infinity; }
class SubscriptionLog {
subscribedFrame;
unsubscribedFrame;
constructor(subscribedFrame, unsubscribedFrame = Infinity) {
this.subscribedFrame = subscribedFrame;
this.unsubscribedFrame = unsubscribedFrame;
}
return SubscriptionLog;
}());
}
exports.SubscriptionLog = SubscriptionLog;
//# sourceMappingURL=SubscriptionLog.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SubscriptionLoggable = void 0;
var SubscriptionLog_1 = require("./SubscriptionLog");
var SubscriptionLoggable = (function () {
function SubscriptionLoggable() {
this.subscriptions = [];
}
SubscriptionLoggable.prototype.logSubscribedFrame = function () {
const SubscriptionLog_1 = require("./SubscriptionLog");
class SubscriptionLoggable {
subscriptions = [];
scheduler;
logSubscribedFrame() {
this.subscriptions.push(new SubscriptionLog_1.SubscriptionLog(this.scheduler.now()));
return this.subscriptions.length - 1;
};
SubscriptionLoggable.prototype.logUnsubscribedFrame = function (index) {
var subscriptionLogs = this.subscriptions;
var oldSubscriptionLog = subscriptionLogs[index];
}
logUnsubscribedFrame(index) {
const subscriptionLogs = this.subscriptions;
const oldSubscriptionLog = subscriptionLogs[index];
subscriptionLogs[index] = new SubscriptionLog_1.SubscriptionLog(oldSubscriptionLog.subscribedFrame, this.scheduler.now());
};
return SubscriptionLoggable;
}());
}
}
exports.SubscriptionLoggable = SubscriptionLoggable;
//# sourceMappingURL=SubscriptionLoggable.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TestScheduler = void 0;
var Observable_1 = require("../Observable");
var ColdObservable_1 = require("./ColdObservable");
var HotObservable_1 = require("./HotObservable");
var SubscriptionLog_1 = require("./SubscriptionLog");
var VirtualTimeScheduler_1 = require("../scheduler/VirtualTimeScheduler");
var NotificationFactories_1 = require("../NotificationFactories");
var dateTimestampProvider_1 = require("../scheduler/dateTimestampProvider");
var performanceTimestampProvider_1 = require("../scheduler/performanceTimestampProvider");
var animationFrameProvider_1 = require("../scheduler/animationFrameProvider");
var immediateProvider_1 = require("../scheduler/immediateProvider");
var intervalProvider_1 = require("../scheduler/intervalProvider");
var timeoutProvider_1 = require("../scheduler/timeoutProvider");
var defaultMaxFrame = 750;
var TestScheduler = (function (_super) {
__extends(TestScheduler, _super);
function TestScheduler(assertDeepEqual) {
var _this = _super.call(this, VirtualTimeScheduler_1.VirtualAction, defaultMaxFrame) || this;
_this.assertDeepEqual = assertDeepEqual;
_this.hotObservables = [];
_this.coldObservables = [];
_this.flushTests = [];
_this.runMode = false;
return _this;
const Observable_1 = require("../Observable");
const ColdObservable_1 = require("./ColdObservable");
const HotObservable_1 = require("./HotObservable");
const SubscriptionLog_1 = require("./SubscriptionLog");
const VirtualTimeScheduler_1 = require("../scheduler/VirtualTimeScheduler");
const NotificationFactories_1 = require("../NotificationFactories");
const dateTimestampProvider_1 = require("../scheduler/dateTimestampProvider");
const performanceTimestampProvider_1 = require("../scheduler/performanceTimestampProvider");
const animationFrameProvider_1 = require("../scheduler/animationFrameProvider");
const immediateProvider_1 = require("../scheduler/immediateProvider");
const intervalProvider_1 = require("../scheduler/intervalProvider");
const timeoutProvider_1 = require("../scheduler/timeoutProvider");
const defaultMaxFrame = 750;
class TestScheduler extends VirtualTimeScheduler_1.VirtualTimeScheduler {
assertDeepEqual;
static frameTimeFactor = 10;
hotObservables = [];
coldObservables = [];
flushTests = [];
runMode = false;
constructor(assertDeepEqual) {
super(VirtualTimeScheduler_1.VirtualAction, defaultMaxFrame);
this.assertDeepEqual = assertDeepEqual;
}
TestScheduler.prototype.createTime = function (marbles) {
var indexOf = this.runMode ? marbles.trim().indexOf('|') : marbles.indexOf('|');
createTime(marbles) {
const indexOf = this.runMode ? marbles.trim().indexOf('|') : marbles.indexOf('|');
if (indexOf === -1) {

@@ -85,4 +34,4 @@ throw new Error('marble diagram for time should have a completion marker "|"');

return indexOf * TestScheduler.frameTimeFactor;
};
TestScheduler.prototype.createColdObservable = function (marbles, values, error) {
}
createColdObservable(marbles, values, error) {
if (marbles.indexOf('^') !== -1) {

@@ -94,52 +43,49 @@ throw new Error('cold observable cannot have subscription offset "^"');

}
var messages = TestScheduler.parseMarbles(marbles, values, error, undefined, this.runMode);
var cold = new ColdObservable_1.ColdObservable(messages, this);
const messages = TestScheduler.parseMarbles(marbles, values, error, undefined, this.runMode);
const cold = new ColdObservable_1.ColdObservable(messages, this);
this.coldObservables.push(cold);
return cold;
};
TestScheduler.prototype.createHotObservable = function (marbles, values, error) {
}
createHotObservable(marbles, values, error) {
if (marbles.indexOf('!') !== -1) {
throw new Error('hot observable cannot have unsubscription marker "!"');
}
var messages = TestScheduler.parseMarbles(marbles, values, error, undefined, this.runMode);
var subject = new HotObservable_1.HotObservable(messages, this);
const messages = TestScheduler.parseMarbles(marbles, values, error, undefined, this.runMode);
const subject = new HotObservable_1.HotObservable(messages, this);
this.hotObservables.push(subject);
return subject;
};
TestScheduler.prototype.materializeInnerObservable = function (observable, outerFrame) {
var _this = this;
var messages = [];
}
materializeInnerObservable(observable, outerFrame) {
const messages = [];
observable.subscribe({
next: function (value) {
messages.push({ frame: _this.frame - outerFrame, notification: (0, NotificationFactories_1.nextNotification)(value) });
next: (value) => {
messages.push({ frame: this.frame - outerFrame, notification: (0, NotificationFactories_1.nextNotification)(value) });
},
error: function (error) {
messages.push({ frame: _this.frame - outerFrame, notification: (0, NotificationFactories_1.errorNotification)(error) });
error: (error) => {
messages.push({ frame: this.frame - outerFrame, notification: (0, NotificationFactories_1.errorNotification)(error) });
},
complete: function () {
messages.push({ frame: _this.frame - outerFrame, notification: NotificationFactories_1.COMPLETE_NOTIFICATION });
complete: () => {
messages.push({ frame: this.frame - outerFrame, notification: NotificationFactories_1.COMPLETE_NOTIFICATION });
},
});
return messages;
};
TestScheduler.prototype.expectObservable = function (observable, subscriptionMarbles) {
var _this = this;
if (subscriptionMarbles === void 0) { subscriptionMarbles = null; }
var actual = [];
var flushTest = { actual: actual, ready: false };
var subscriptionParsed = TestScheduler.parseMarblesAsSubscriptions(subscriptionMarbles, this.runMode);
var subscriptionFrame = subscriptionParsed.subscribedFrame === Infinity ? 0 : subscriptionParsed.subscribedFrame;
var unsubscriptionFrame = subscriptionParsed.unsubscribedFrame;
var subscription;
this.schedule(function () {
}
expectObservable(observable, subscriptionMarbles = null) {
const actual = [];
const flushTest = { actual, ready: false };
const subscriptionParsed = TestScheduler.parseMarblesAsSubscriptions(subscriptionMarbles, this.runMode);
const subscriptionFrame = subscriptionParsed.subscribedFrame === Infinity ? 0 : subscriptionParsed.subscribedFrame;
const unsubscriptionFrame = subscriptionParsed.unsubscribedFrame;
let subscription;
this.schedule(() => {
subscription = observable.subscribe({
next: function (x) {
var value = x instanceof Observable_1.Observable ? _this.materializeInnerObservable(x, _this.frame) : x;
actual.push({ frame: _this.frame, notification: (0, NotificationFactories_1.nextNotification)(value) });
next: (x) => {
const value = x instanceof Observable_1.Observable ? this.materializeInnerObservable(x, this.frame) : x;
actual.push({ frame: this.frame, notification: (0, NotificationFactories_1.nextNotification)(value) });
},
error: function (error) {
actual.push({ frame: _this.frame, notification: (0, NotificationFactories_1.errorNotification)(error) });
error: (error) => {
actual.push({ frame: this.frame, notification: (0, NotificationFactories_1.errorNotification)(error) });
},
complete: function () {
actual.push({ frame: _this.frame, notification: NotificationFactories_1.COMPLETE_NOTIFICATION });
complete: () => {
actual.push({ frame: this.frame, notification: NotificationFactories_1.COMPLETE_NOTIFICATION });
},

@@ -149,25 +95,25 @@ });

if (unsubscriptionFrame !== Infinity) {
this.schedule(function () { return subscription.unsubscribe(); }, unsubscriptionFrame);
this.schedule(() => subscription.unsubscribe(), unsubscriptionFrame);
}
this.flushTests.push(flushTest);
var runMode = this.runMode;
const { runMode } = this;
return {
toBe: function (marbles, values, errorValue) {
toBe(marbles, values, errorValue) {
flushTest.ready = true;
flushTest.expected = TestScheduler.parseMarbles(marbles, values, errorValue, true, runMode);
},
toEqual: function (other) {
toEqual: (other) => {
flushTest.ready = true;
flushTest.expected = [];
_this.schedule(function () {
this.schedule(() => {
subscription = other.subscribe({
next: function (x) {
var value = x instanceof Observable_1.Observable ? _this.materializeInnerObservable(x, _this.frame) : x;
flushTest.expected.push({ frame: _this.frame, notification: (0, NotificationFactories_1.nextNotification)(value) });
next: (x) => {
const value = x instanceof Observable_1.Observable ? this.materializeInnerObservable(x, this.frame) : x;
flushTest.expected.push({ frame: this.frame, notification: (0, NotificationFactories_1.nextNotification)(value) });
},
error: function (error) {
flushTest.expected.push({ frame: _this.frame, notification: (0, NotificationFactories_1.errorNotification)(error) });
error: (error) => {
flushTest.expected.push({ frame: this.frame, notification: (0, NotificationFactories_1.errorNotification)(error) });
},
complete: function () {
flushTest.expected.push({ frame: _this.frame, notification: NotificationFactories_1.COMPLETE_NOTIFICATION });
complete: () => {
flushTest.expected.push({ frame: this.frame, notification: NotificationFactories_1.COMPLETE_NOTIFICATION });
},

@@ -178,27 +124,26 @@ });

};
};
TestScheduler.prototype.expectSubscriptions = function (actualSubscriptionLogs) {
var flushTest = { actual: actualSubscriptionLogs, ready: false };
}
expectSubscriptions(actualSubscriptionLogs) {
const flushTest = { actual: actualSubscriptionLogs, ready: false };
this.flushTests.push(flushTest);
var runMode = this.runMode;
const { runMode } = this;
return {
toBe: function (marblesOrMarblesArray) {
var marblesArray = typeof marblesOrMarblesArray === 'string' ? [marblesOrMarblesArray] : marblesOrMarblesArray;
toBe(marblesOrMarblesArray) {
const marblesArray = typeof marblesOrMarblesArray === 'string' ? [marblesOrMarblesArray] : marblesOrMarblesArray;
flushTest.ready = true;
flushTest.expected = marblesArray
.map(function (marbles) { return TestScheduler.parseMarblesAsSubscriptions(marbles, runMode); })
.filter(function (marbles) { return marbles.subscribedFrame !== Infinity; });
.map((marbles) => TestScheduler.parseMarblesAsSubscriptions(marbles, runMode))
.filter((marbles) => marbles.subscribedFrame !== Infinity);
},
};
};
TestScheduler.prototype.flush = function () {
var _this = this;
var hotObservables = this.hotObservables;
}
flush() {
const hotObservables = this.hotObservables;
while (hotObservables.length > 0) {
hotObservables.shift().setup();
}
_super.prototype.flush.call(this);
this.flushTests = this.flushTests.filter(function (test) {
super.flush();
this.flushTests = this.flushTests.filter((test) => {
if (test.ready) {
_this.assertDeepEqual(test.actual, test.expected);
this.assertDeepEqual(test.actual, test.expected);
return false;

@@ -208,21 +153,19 @@ }

});
};
TestScheduler.parseMarblesAsSubscriptions = function (marbles, runMode) {
var _this = this;
if (runMode === void 0) { runMode = false; }
}
static parseMarblesAsSubscriptions(marbles, runMode = false) {
if (typeof marbles !== 'string') {
return new SubscriptionLog_1.SubscriptionLog(Infinity);
}
var characters = __spreadArray([], __read(marbles), false);
var len = characters.length;
var groupStart = -1;
var subscriptionFrame = Infinity;
var unsubscriptionFrame = Infinity;
var frame = 0;
var _loop_1 = function (i) {
var nextFrame = frame;
var advanceFrameBy = function (count) {
nextFrame += count * _this.frameTimeFactor;
const characters = [...marbles];
const len = characters.length;
let groupStart = -1;
let subscriptionFrame = Infinity;
let unsubscriptionFrame = Infinity;
let frame = 0;
for (let i = 0; i < len; i++) {
let nextFrame = frame;
const advanceFrameBy = (count) => {
nextFrame += count * this.frameTimeFactor;
};
var c = characters[i];
const c = characters[i];
switch (c) {

@@ -261,9 +204,9 @@ case ' ':

if (i === 0 || characters[i - 1] === ' ') {
var buffer = characters.slice(i).join('');
var match = buffer.match(/^([0-9]+(?:\.[0-9]+)?)(ms|s|m) /);
const buffer = characters.slice(i).join('');
const match = buffer.match(/^([0-9]+(?:\.[0-9]+)?)(ms|s|m) /);
if (match) {
i += match[0].length - 1;
var duration = parseFloat(match[1]);
var unit = match[2];
var durationInMs = void 0;
const duration = parseFloat(match[1]);
const unit = match[2];
let durationInMs;
switch (unit) {

@@ -282,3 +225,3 @@ case 'ms':

}
advanceFrameBy(durationInMs / this_1.frameTimeFactor);
advanceFrameBy(durationInMs / this.frameTimeFactor);
break;

@@ -291,8 +234,2 @@ }

frame = nextFrame;
out_i_1 = i;
};
var this_1 = this, out_i_1;
for (var i = 0; i < len; i++) {
_loop_1(i);
i = out_i_1;
}

@@ -305,18 +242,15 @@ if (unsubscriptionFrame < 0) {

}
};
TestScheduler.parseMarbles = function (marbles, values, errorValue, materializeInnerObservables, runMode) {
var _this = this;
if (materializeInnerObservables === void 0) { materializeInnerObservables = false; }
if (runMode === void 0) { runMode = false; }
}
static parseMarbles(marbles, values, errorValue, materializeInnerObservables = false, runMode = false) {
if (marbles.indexOf('!') !== -1) {
throw new Error('conventional marble diagrams cannot have the ' + 'unsubscription marker "!"');
}
var characters = __spreadArray([], __read(marbles), false);
var len = characters.length;
var testMessages = [];
var subIndex = runMode ? marbles.replace(/^[ ]+/, '').indexOf('^') : marbles.indexOf('^');
var frame = subIndex === -1 ? 0 : subIndex * -this.frameTimeFactor;
var getValue = typeof values !== 'object'
? function (x) { return x; }
: function (x) {
const characters = [...marbles];
const len = characters.length;
const testMessages = [];
const subIndex = runMode ? marbles.replace(/^[ ]+/, '').indexOf('^') : marbles.indexOf('^');
let frame = subIndex === -1 ? 0 : subIndex * -this.frameTimeFactor;
const getValue = typeof values !== 'object'
? (x) => x
: (x) => {
if (materializeInnerObservables && values[x] instanceof ColdObservable_1.ColdObservable) {

@@ -327,10 +261,10 @@ return values[x].messages;

};
var groupStart = -1;
var _loop_2 = function (i) {
var nextFrame = frame;
var advanceFrameBy = function (count) {
nextFrame += count * _this.frameTimeFactor;
let groupStart = -1;
for (let i = 0; i < len; i++) {
let nextFrame = frame;
const advanceFrameBy = (count) => {
nextFrame += count * this.frameTimeFactor;
};
var notification = void 0;
var c = characters[i];
let notification;
const c = characters[i];
switch (c) {

@@ -367,9 +301,9 @@ case ' ':

if (i === 0 || characters[i - 1] === ' ') {
var buffer = characters.slice(i).join('');
var match = buffer.match(/^([0-9]+(?:\.[0-9]+)?)(ms|s|m) /);
const buffer = characters.slice(i).join('');
const match = buffer.match(/^([0-9]+(?:\.[0-9]+)?)(ms|s|m) /);
if (match) {
i += match[0].length - 1;
var duration = parseFloat(match[1]);
var unit = match[2];
var durationInMs = void 0;
const duration = parseFloat(match[1]);
const unit = match[2];
let durationInMs;
switch (unit) {

@@ -388,3 +322,3 @@ case 'ms':

}
advanceFrameBy(durationInMs / this_2.frameTimeFactor);
advanceFrameBy(durationInMs / this.frameTimeFactor);
break;

@@ -399,31 +333,24 @@ }

if (notification) {
testMessages.push({ frame: groupStart > -1 ? groupStart : frame, notification: notification });
testMessages.push({ frame: groupStart > -1 ? groupStart : frame, notification });
}
frame = nextFrame;
out_i_2 = i;
};
var this_2 = this, out_i_2;
for (var i = 0; i < len; i++) {
_loop_2(i);
i = out_i_2;
}
return testMessages;
};
TestScheduler.prototype.createAnimator = function () {
var _this = this;
}
createAnimator() {
if (!this.runMode) {
throw new Error('animate() must only be used in run mode');
}
var lastHandle = 0;
var map;
var delegate = {
requestAnimationFrame: function (callback) {
let lastHandle = 0;
let map;
const delegate = {
requestAnimationFrame(callback) {
if (!map) {
throw new Error('animate() was not called within run()');
}
var handle = ++lastHandle;
const handle = ++lastHandle;
map.set(handle, callback);
return handle;
},
cancelAnimationFrame: function (handle) {
cancelAnimationFrame(handle) {
if (!map) {

@@ -435,4 +362,3 @@ throw new Error('animate() was not called within run()');

};
var animate = function (marbles) {
var e_1, _a;
const animate = (marbles) => {
if (map) {

@@ -445,54 +371,26 @@ throw new Error('animate() must not be called more than once within run()');

map = new Map();
var messages = TestScheduler.parseMarbles(marbles, undefined, undefined, undefined, true);
try {
for (var messages_1 = __values(messages), messages_1_1 = messages_1.next(); !messages_1_1.done; messages_1_1 = messages_1.next()) {
var message = messages_1_1.value;
_this.schedule(function () {
var e_2, _a;
var now = _this.now();
var callbacks = Array.from(map.values());
map.clear();
try {
for (var callbacks_1 = (e_2 = void 0, __values(callbacks)), callbacks_1_1 = callbacks_1.next(); !callbacks_1_1.done; callbacks_1_1 = callbacks_1.next()) {
var callback = callbacks_1_1.value;
callback(now);
}
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (callbacks_1_1 && !callbacks_1_1.done && (_a = callbacks_1.return)) _a.call(callbacks_1);
}
finally { if (e_2) throw e_2.error; }
}
}, message.frame);
}
const messages = TestScheduler.parseMarbles(marbles, undefined, undefined, undefined, true);
for (const message of messages) {
this.schedule(() => {
const now = this.now();
const callbacks = Array.from(map.values());
map.clear();
for (const callback of callbacks) {
callback(now);
}
}, message.frame);
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (messages_1_1 && !messages_1_1.done && (_a = messages_1.return)) _a.call(messages_1);
}
finally { if (e_1) throw e_1.error; }
}
};
return { animate: animate, delegate: delegate };
};
TestScheduler.prototype.createDelegates = function () {
var _this = this;
var lastHandle = 0;
var scheduleLookup = new Map();
var run = function () {
var now = _this.now();
var scheduledRecords = Array.from(scheduleLookup.values());
var scheduledRecordsDue = scheduledRecords.filter(function (_a) {
var due = _a.due;
return due <= now;
});
var dueImmediates = scheduledRecordsDue.filter(function (_a) {
var type = _a.type;
return type === 'immediate';
});
return { animate, delegate };
}
createDelegates() {
let lastHandle = 0;
const scheduleLookup = new Map();
const run = () => {
const now = this.now();
const scheduledRecords = Array.from(scheduleLookup.values());
const scheduledRecordsDue = scheduledRecords.filter(({ due }) => due <= now);
const dueImmediates = scheduledRecordsDue.filter(({ type }) => type === 'immediate');
if (dueImmediates.length > 0) {
var _a = dueImmediates[0], handle = _a.handle, handler = _a.handler;
const { handle, handler } = dueImmediates[0];
scheduleLookup.delete(handle);

@@ -502,20 +400,14 @@ handler();

}
var dueIntervals = scheduledRecordsDue.filter(function (_a) {
var type = _a.type;
return type === 'interval';
});
const dueIntervals = scheduledRecordsDue.filter(({ type }) => type === 'interval');
if (dueIntervals.length > 0) {
var firstDueInterval = dueIntervals[0];
var duration = firstDueInterval.duration, handler = firstDueInterval.handler;
const firstDueInterval = dueIntervals[0];
const { duration, handler } = firstDueInterval;
firstDueInterval.due = now + duration;
firstDueInterval.subscription = _this.schedule(run, duration);
firstDueInterval.subscription = this.schedule(run, duration);
handler();
return;
}
var dueTimeouts = scheduledRecordsDue.filter(function (_a) {
var type = _a.type;
return type === 'timeout';
});
const dueTimeouts = scheduledRecordsDue.filter(({ type }) => type === 'timeout');
if (dueTimeouts.length > 0) {
var _b = dueTimeouts[0], handle = _b.handle, handler = _b.handler;
const { handle, handler } = dueTimeouts[0];
scheduleLookup.delete(handle);

@@ -527,11 +419,11 @@ handler();

};
var immediate = {
setImmediate: function (handler) {
var handle = ++lastHandle;
const immediate = {
setImmediate: (handler) => {
const handle = ++lastHandle;
scheduleLookup.set(handle, {
due: _this.now(),
due: this.now(),
duration: 0,
handle: handle,
handler: handler,
subscription: _this.schedule(run, 0),
handle,
handler,
subscription: this.schedule(run, 0),
type: 'immediate',

@@ -541,4 +433,4 @@ });

},
clearImmediate: function (handle) {
var value = scheduleLookup.get(handle);
clearImmediate: (handle) => {
const value = scheduleLookup.get(handle);
if (value) {

@@ -550,12 +442,11 @@ value.subscription.unsubscribe();

};
var interval = {
setInterval: function (handler, duration) {
if (duration === void 0) { duration = 0; }
var handle = ++lastHandle;
const interval = {
setInterval: (handler, duration = 0) => {
const handle = ++lastHandle;
scheduleLookup.set(handle, {
due: _this.now() + duration,
duration: duration,
handle: handle,
handler: handler,
subscription: _this.schedule(run, duration),
due: this.now() + duration,
duration,
handle,
handler,
subscription: this.schedule(run, duration),
type: 'interval',

@@ -565,4 +456,4 @@ });

},
clearInterval: function (handle) {
var value = scheduleLookup.get(handle);
clearInterval: (handle) => {
const value = scheduleLookup.get(handle);
if (value) {

@@ -574,12 +465,11 @@ value.subscription.unsubscribe();

};
var timeout = {
setTimeout: function (handler, duration) {
if (duration === void 0) { duration = 0; }
var handle = ++lastHandle;
const timeout = {
setTimeout: (handler, duration = 0) => {
const handle = ++lastHandle;
scheduleLookup.set(handle, {
due: _this.now() + duration,
duration: duration,
handle: handle,
handler: handler,
subscription: _this.schedule(run, duration),
due: this.now() + duration,
duration,
handle,
handler,
subscription: this.schedule(run, duration),
type: 'timeout',

@@ -589,4 +479,4 @@ });

},
clearTimeout: function (handle) {
var value = scheduleLookup.get(handle);
clearTimeout: (handle) => {
const value = scheduleLookup.get(handle);
if (value) {

@@ -598,12 +488,12 @@ value.subscription.unsubscribe();

};
return { immediate: immediate, interval: interval, timeout: timeout };
};
TestScheduler.prototype.run = function (callback) {
var prevFrameTimeFactor = TestScheduler.frameTimeFactor;
var prevMaxFrames = this.maxFrames;
return { immediate, interval, timeout };
}
run(callback) {
const prevFrameTimeFactor = TestScheduler.frameTimeFactor;
const prevMaxFrames = this.maxFrames;
TestScheduler.frameTimeFactor = 1;
this.maxFrames = Infinity;
this.runMode = true;
var animator = this.createAnimator();
var delegates = this.createDelegates();
const animator = this.createAnimator();
const delegates = this.createDelegates();
animationFrameProvider_1.animationFrameProvider.delegate = animator.delegate;

@@ -615,3 +505,3 @@ dateTimestampProvider_1.dateTimestampProvider.delegate = this;

performanceTimestampProvider_1.performanceTimestampProvider.delegate = this;
var helpers = {
const helpers = {
cold: this.createColdObservable.bind(this),

@@ -626,3 +516,3 @@ hot: this.createHotObservable.bind(this),

try {
var ret = callback(helpers);
const ret = callback(helpers);
this.flush();

@@ -642,7 +532,5 @@ return ret;

}
};
TestScheduler.frameTimeFactor = 10;
return TestScheduler;
}(VirtualTimeScheduler_1.VirtualTimeScheduler));
}
}
exports.TestScheduler = TestScheduler;
//# sourceMappingURL=TestScheduler.js.map

@@ -5,8 +5,8 @@ "use strict";

function applyMixins(derivedCtor, baseCtors) {
for (var i = 0, len = baseCtors.length; i < len; i++) {
var baseCtor = baseCtors[i];
var propertyKeys = Object.getOwnPropertyNames(baseCtor.prototype);
for (var j = 0, len2 = propertyKeys.length; j < len2; j++) {
var name_1 = propertyKeys[j];
derivedCtor.prototype[name_1] = baseCtor.prototype[name_1];
for (let i = 0, len = baseCtors.length; i < len; i++) {
const baseCtor = baseCtors[i];
const propertyKeys = Object.getOwnPropertyNames(baseCtor.prototype);
for (let j = 0, len2 = propertyKeys.length; j < len2; j++) {
const name = propertyKeys[j];
derivedCtor.prototype[name] = baseCtor.prototype[name];
}

@@ -13,0 +13,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.popNumber = exports.popScheduler = exports.popResultSelector = void 0;
var isFunction_1 = require("./isFunction");
var isScheduler_1 = require("./isScheduler");
const isFunction_1 = require("./isFunction");
const isScheduler_1 = require("./isScheduler");
function last(arr) {

@@ -7,0 +7,0 @@ return arr[arr.length - 1];

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.arrayOrObject = exports.argsArgArrayOrObject = void 0;
var isArray = Array.isArray;
var getPrototypeOf = Object.getPrototypeOf, objectProto = Object.prototype, getKeys = Object.keys;
const { isArray } = Array;
const { getPrototypeOf, prototype: objectProto, keys: getKeys } = Object;
function argsArgArrayOrObject(args) {
if (args.length === 1) {
var first = args[0];
var result = arrayOrObject(first);
const first = args[0];
const result = arrayOrObject(first);
if (result) {

@@ -22,6 +22,6 @@ return result;

if (isPOJO(first)) {
var keys = getKeys(first);
const keys = getKeys(first);
return {
args: keys.map(function (key) { return first[key]; }),
keys: keys,
args: keys.map((key) => first[key]),
keys,
};

@@ -28,0 +28,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.argsOrArgArray = void 0;
var isArray = Array.isArray;
const { isArray } = Array;
function argsOrArgArray(args) {

@@ -6,0 +6,0 @@ return args.length === 1 && isArray(args[0]) ? args[0] : args;

"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.ArgumentOutOfRangeError = void 0;
var ArgumentOutOfRangeError = (function (_super) {
__extends(ArgumentOutOfRangeError, _super);
function ArgumentOutOfRangeError() {
var _this = _super.call(this, 'argument out of range') || this;
_this.name = 'ArgumentOutOfRangeError';
return _this;
class ArgumentOutOfRangeError extends Error {
constructor() {
super('argument out of range');
this.name = 'ArgumentOutOfRangeError';
}
return ArgumentOutOfRangeError;
}(Error));
}
exports.ArgumentOutOfRangeError = ArgumentOutOfRangeError;
//# sourceMappingURL=ArgumentOutOfRangeError.js.map

@@ -6,3 +6,3 @@ "use strict";

if (arr) {
var index = arr.indexOf(item);
const index = arr.indexOf(item);
0 <= index && arr.splice(index, 1);

@@ -9,0 +9,0 @@ }

@@ -5,5 +5,5 @@ "use strict";

function createObject(keys, values) {
return keys.reduce(function (result, key, i) { return ((result[key] = values[i]), result); }, {});
return keys.reduce((result, key, i) => ((result[key] = values[i]), result), {});
}
exports.createObject = createObject;
//# sourceMappingURL=createObject.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.EmptyError = void 0;
var EmptyError = (function (_super) {
__extends(EmptyError, _super);
function EmptyError() {
var _this = _super.call(this, 'no elements in sequence') || this;
_this.name = 'EmptyError';
return _this;
class EmptyError extends Error {
constructor() {
super('no elements in sequence');
this.name = 'EmptyError';
}
return EmptyError;
}(Error));
}
exports.EmptyError = EmptyError;
//# sourceMappingURL=EmptyError.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.executeSchedule = void 0;
function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {
if (delay === void 0) { delay = 0; }
if (repeat === void 0) { repeat = false; }
var scheduleSubscription = scheduler.schedule(function () {
function executeSchedule(parentSubscription, scheduler, work, delay = 0, repeat = false) {
const scheduleSubscription = scheduler.schedule(function () {
work();

@@ -9,0 +7,0 @@ if (repeat) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TestTools = exports.Immediate = void 0;
var nextHandle = 1;
var resolved;
var activeHandles = {};
let nextHandle = 1;
let resolved;
const activeHandles = {};
function findAndClearHandle(handle) {

@@ -15,4 +15,4 @@ if (handle in activeHandles) {

exports.Immediate = {
setImmediate: function (cb) {
var handle = nextHandle++;
setImmediate(cb) {
const handle = nextHandle++;
activeHandles[handle] = true;

@@ -22,6 +22,6 @@ if (!resolved) {

}
resolved.then(function () { return findAndClearHandle(handle) && cb(); });
resolved.then(() => findAndClearHandle(handle) && cb());
return handle;
},
clearImmediate: function (handle) {
clearImmediate(handle) {
findAndClearHandle(handle);

@@ -31,3 +31,3 @@ },

exports.TestTools = {
pending: function () {
pending() {
return Object.keys(activeHandles).length;

@@ -34,0 +34,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isArrayLike = void 0;
exports.isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });
exports.isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');
//# sourceMappingURL=isArrayLike.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isAsyncIterable = void 0;
var isFunction_1 = require("./isFunction");
const isFunction_1 = require("./isFunction");
function isAsyncIterable(obj) {
return Symbol.asyncIterator && (0, isFunction_1.isFunction)(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);
return Symbol.asyncIterator && (0, isFunction_1.isFunction)(obj?.[Symbol.asyncIterator]);
}
exports.isAsyncIterable = isAsyncIterable;
//# sourceMappingURL=isAsyncIterable.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isInteropObservable = void 0;
var observable_1 = require("../symbol/observable");
var isFunction_1 = require("./isFunction");
const observable_1 = require("../symbol/observable");
const isFunction_1 = require("./isFunction");
function isInteropObservable(input) {

@@ -7,0 +7,0 @@ return (0, isFunction_1.isFunction)(input[observable_1.observable]);

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isIterable = void 0;
var iterator_1 = require("../symbol/iterator");
var isFunction_1 = require("./isFunction");
const iterator_1 = require("../symbol/iterator");
const isFunction_1 = require("./isFunction");
function isIterable(input) {
return (0, isFunction_1.isFunction)(input === null || input === void 0 ? void 0 : input[iterator_1.iterator]);
return (0, isFunction_1.isFunction)(input?.[iterator_1.iterator]);
}
exports.isIterable = isIterable;
//# sourceMappingURL=isIterable.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isObservable = void 0;
var Observable_1 = require("../Observable");
var isFunction_1 = require("./isFunction");
const Observable_1 = require("../Observable");
const isFunction_1 = require("./isFunction");
function isObservable(obj) {

@@ -7,0 +7,0 @@ return !!obj && (obj instanceof Observable_1.Observable || ((0, isFunction_1.isFunction)(obj.lift) && (0, isFunction_1.isFunction)(obj.subscribe)));

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isPromise = void 0;
var isFunction_1 = require("./isFunction");
const isFunction_1 = require("./isFunction");
function isPromise(value) {
return (0, isFunction_1.isFunction)(value === null || value === void 0 ? void 0 : value.then);
return (0, isFunction_1.isFunction)(value?.then);
}
exports.isPromise = isPromise;
//# sourceMappingURL=isPromise.js.map
"use strict";
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var g = generator.apply(thisArg, _arguments || []), i, q = [];
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
function fulfill(value) { resume("next", value); }
function reject(value) { resume("throw", value); }
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isReadableStreamLike = exports.readableStreamLikeToAsyncGenerator = void 0;
var isFunction_1 = require("./isFunction");
function readableStreamLikeToAsyncGenerator(readableStream) {
return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {
var reader, _a, value, done;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
reader = readableStream.getReader();
_b.label = 1;
case 1:
_b.trys.push([1, , 9, 10]);
_b.label = 2;
case 2:
if (!true) return [3, 8];
return [4, __await(reader.read())];
case 3:
_a = _b.sent(), value = _a.value, done = _a.done;
if (!done) return [3, 5];
return [4, __await(void 0)];
case 4: return [2, _b.sent()];
case 5: return [4, __await(value)];
case 6: return [4, _b.sent()];
case 7:
_b.sent();
return [3, 2];
case 8: return [3, 10];
case 9:
reader.releaseLock();
return [7];
case 10: return [2];
const isFunction_1 = require("./isFunction");
async function* readableStreamLikeToAsyncGenerator(readableStream) {
const reader = readableStream.getReader();
try {
while (true) {
const { value, done } = await reader.read();
if (done) {
return;
}
});
});
yield value;
}
}
finally {
reader.releaseLock();
}
}
exports.readableStreamLikeToAsyncGenerator = readableStreamLikeToAsyncGenerator;
function isReadableStreamLike(obj) {
return (0, isFunction_1.isFunction)(obj === null || obj === void 0 ? void 0 : obj.getReader);
return (0, isFunction_1.isFunction)(obj?.getReader);
}
exports.isReadableStreamLike = isReadableStreamLike;
//# sourceMappingURL=isReadableStreamLike.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isScheduler = void 0;
var isFunction_1 = require("./isFunction");
const isFunction_1 = require("./isFunction");
function isScheduler(value) {

@@ -6,0 +6,0 @@ return value && (0, isFunction_1.isFunction)(value.schedule);

"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.mapOneOrManyArgs = void 0;
var map_1 = require("../operators/map");
var isArray = Array.isArray;
const map_1 = require("../operators/map");
const { isArray } = Array;
function callOrApply(fn, args) {
return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args), false)) : fn(args);
return isArray(args) ? fn(...args) : fn(args);
}
function mapOneOrManyArgs(fn) {
return (0, map_1.map)(function (args) { return callOrApply(fn, args); });
return (0, map_1.map)(args => callOrApply(fn, args));
}
exports.mapOneOrManyArgs = mapOneOrManyArgs;
//# sourceMappingURL=mapOneOrManyArgs.js.map

@@ -5,5 +5,5 @@ "use strict";

function not(pred, thisArg) {
return function (value, index) { return !pred.call(thisArg, value, index); };
return (value, index) => !pred.call(thisArg, value, index);
}
exports.not = not;
//# sourceMappingURL=not.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.NotFoundError = void 0;
var NotFoundError = (function (_super) {
__extends(NotFoundError, _super);
function NotFoundError(message) {
var _this = _super.call(this, message) || this;
_this.name = 'NotFoundError';
return _this;
class NotFoundError extends Error {
constructor(message) {
super(message);
this.name = 'NotFoundError';
}
return NotFoundError;
}(Error));
}
exports.NotFoundError = NotFoundError;
//# sourceMappingURL=NotFoundError.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.pipeFromArray = exports.pipe = void 0;
var identity_1 = require("./identity");
function pipe() {
var fns = [];
for (var _i = 0; _i < arguments.length; _i++) {
fns[_i] = arguments[_i];
}
const identity_1 = require("./identity");
function pipe(...fns) {
return pipeFromArray(fns);

@@ -21,3 +17,3 @@ }

return function piped(input) {
return fns.reduce(function (prev, fn) { return fn(prev); }, input);
return fns.reduce((prev, fn) => fn(prev), input);
};

@@ -24,0 +20,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.reportUnhandledError = void 0;
var config_1 = require("../config");
var timeoutProvider_1 = require("../scheduler/timeoutProvider");
const config_1 = require("../config");
const timeoutProvider_1 = require("../scheduler/timeoutProvider");
function reportUnhandledError(err) {
timeoutProvider_1.timeoutProvider.setTimeout(function () {
var onUnhandledError = config_1.config.onUnhandledError;
timeoutProvider_1.timeoutProvider.setTimeout(() => {
const { onUnhandledError } = config_1.config;
if (onUnhandledError) {

@@ -10,0 +10,0 @@ onUnhandledError(err);

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.rx = void 0;
var from_1 = require("../observable/from");
var pipe_1 = require("./pipe");
function rx(source) {
var fns = [];
for (var _i = 1; _i < arguments.length; _i++) {
fns[_i - 1] = arguments[_i];
}
const from_1 = require("../observable/from");
const pipe_1 = require("./pipe");
function rx(source, ...fns) {
return (0, pipe_1.pipeFromArray)(fns)((0, from_1.from)(source));

@@ -12,0 +8,0 @@ }

"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.SequenceError = void 0;
var SequenceError = (function (_super) {
__extends(SequenceError, _super);
function SequenceError(message) {
var _this = _super.call(this, message) || this;
_this.name = 'SequenceError';
return _this;
class SequenceError extends Error {
constructor(message) {
super(message);
this.name = 'SequenceError';
}
return SequenceError;
}(Error));
}
exports.SequenceError = SequenceError;
//# sourceMappingURL=SequenceError.js.map

@@ -5,5 +5,5 @@ "use strict";

function createInvalidObservableTypeError(input) {
return new TypeError("You provided ".concat(input !== null && typeof input === 'object' ? 'an invalid object' : "'".concat(input, "'"), " where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable."));
return new TypeError(`You provided ${input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`);
}
exports.createInvalidObservableTypeError = createInvalidObservableTypeError;
//# sourceMappingURL=throwUnobservableError.js.map
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.UnsubscriptionError = void 0;
var UnsubscriptionError = (function (_super) {
__extends(UnsubscriptionError, _super);
function UnsubscriptionError(errors) {
var _this = _super.call(this, errors
? "".concat(errors.length, " errors occurred during unsubscription:\n").concat(errors.map(function (err, i) { return "".concat(i + 1, ") ").concat(err.toString()); }).join('\n '))
: '') || this;
_this.errors = errors;
_this.name = 'UnsubscriptionError';
return _this;
class UnsubscriptionError extends Error {
errors;
constructor(errors) {
super(errors
? `${errors.length} errors occurred during unsubscription:
${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\n ')}`
: '');
this.errors = errors;
this.name = 'UnsubscriptionError';
}
return UnsubscriptionError;
}(Error));
}
exports.UnsubscriptionError = UnsubscriptionError;
//# sourceMappingURL=UnsubscriptionError.js.map

@@ -71,2 +71,5 @@ import { isFunction } from './util/isFunction';

}
if (typeof Symbol.dispose === 'symbol') {
Subscription.prototype[Symbol.dispose] = Subscription.prototype.unsubscribe;
}
function execFinalizer(finalizer) {

@@ -73,0 +76,0 @@ if (isFunction(finalizer)) {

@@ -52,3 +52,3 @@ import { Observer } from './types';

*/
next(value?: T): void;
next(value: T): void;
/**

@@ -55,0 +55,0 @@ * The {@link Observer} callback to receive notifications of type `error` from

@@ -75,2 +75,10 @@ import { SubscriptionLike, TeardownLogic } from './types';

}
export interface Subscription {
[Symbol.dispose](): void;
}
declare global {
interface SymbolConstructor {
readonly dispose: unique symbol;
}
}
//# sourceMappingURL=Subscription.d.ts.map

@@ -26,2 +26,8 @@ /// <reference lib="esnext.asynciterable" />

export type FactoryOrValue<T> = T | (() => T);
/**
* A function type interface that describes a function that accepts and returns a parameter of the same type.
*
* Used to describe {@link OperatorFunction} with the only one type: `OperatorFunction<T, T>`.
*
*/
export interface MonoTypeOperatorFunction<T> extends OperatorFunction<T, T> {

@@ -28,0 +34,0 @@ }

{
"name": "rxjs",
"version": "8.0.0-alpha.10",
"version": "8.0.0-alpha.11",
"description": "Reactive Extensions for modern JavaScript",

@@ -5,0 +5,0 @@ "main": "./dist/cjs/index.js",

@@ -126,3 +126,3 @@ import { isFunction } from './util/isFunction';

*/
next(value?: T): void {
next(value: T): void {
if (this.isStopped) {

@@ -129,0 +129,0 @@ handleStoppedNotification(nextNotification(value), this);

@@ -147,2 +147,13 @@ import { isFunction } from './util/isFunction';

// Even though Subscription only conditionally implements `Symbol.dispose`
// if it's available, we still need to declare it here so that TypeScript
// knows that it exists on the prototype when it is available.
export interface Subscription {
[Symbol.dispose](): void;
}
if (typeof Symbol.dispose === 'symbol') {
Subscription.prototype[Symbol.dispose] = Subscription.prototype.unsubscribe;
}
function execFinalizer(finalizer: Unsubscribable | (() => void)) {

@@ -155,1 +166,8 @@ if (isFunction(finalizer)) {

}
// Ensure that `Symbol.dispose` is defined in TypeScript
declare global {
interface SymbolConstructor {
readonly dispose: unique symbol;
}
}

@@ -34,2 +34,8 @@ // https://github.com/microsoft/TypeScript/issues/40462#issuecomment-689879308

/**
* A function type interface that describes a function that accepts and returns a parameter of the same type.
*
* Used to describe {@link OperatorFunction} with the only one type: `OperatorFunction<T, T>`.
*
*/
export interface MonoTypeOperatorFunction<T> extends OperatorFunction<T, T> {}

@@ -36,0 +42,0 @@

@@ -5,3 +5,3 @@ {

"module": "commonjs",
"target": "es5",
"target": "ES2022",
"downlevelIteration": true,

@@ -8,0 +8,0 @@ "outDir": "../dist/cjs"

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc