aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/rxjs/dist/cjs/internal/testing
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/rxjs/dist/cjs/internal/testing')
-rw-r--r--node_modules/rxjs/dist/cjs/internal/testing/ColdObservable.js56
-rw-r--r--node_modules/rxjs/dist/cjs/internal/testing/ColdObservable.js.map1
-rw-r--r--node_modules/rxjs/dist/cjs/internal/testing/HotObservable.js62
-rw-r--r--node_modules/rxjs/dist/cjs/internal/testing/HotObservable.js.map1
-rw-r--r--node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLog.js13
-rw-r--r--node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLog.js.map1
-rw-r--r--node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLoggable.js21
-rw-r--r--node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLoggable.js.map1
-rw-r--r--node_modules/rxjs/dist/cjs/internal/testing/TestMessage.js3
-rw-r--r--node_modules/rxjs/dist/cjs/internal/testing/TestMessage.js.map1
-rw-r--r--node_modules/rxjs/dist/cjs/internal/testing/TestScheduler.js618
-rw-r--r--node_modules/rxjs/dist/cjs/internal/testing/TestScheduler.js.map1
12 files changed, 779 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/cjs/internal/testing/ColdObservable.js b/node_modules/rxjs/dist/cjs/internal/testing/ColdObservable.js
new file mode 100644
index 0000000..a9b1816
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/testing/ColdObservable.js
@@ -0,0 +1,56 @@
+"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 () {
+ observable.logUnsubscribedFrame(index);
+ }));
+ observable.scheduleMessages(subscriber);
+ return subscription;
+ }) || this;
+ _this.messages = messages;
+ _this.subscriptions = [];
+ _this.scheduler = scheduler;
+ return _this;
+ }
+ 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;
+ Notification_1.observeNotification(notification, destination);
+ }, message.frame, { message: message, subscriber: subscriber }));
+ }
+ };
+ return ColdObservable;
+}(Observable_1.Observable));
+exports.ColdObservable = ColdObservable;
+applyMixins_1.applyMixins(ColdObservable, [SubscriptionLoggable_1.SubscriptionLoggable]);
+//# sourceMappingURL=ColdObservable.js.map \ No newline at end of file
diff --git a/node_modules/rxjs/dist/cjs/internal/testing/ColdObservable.js.map b/node_modules/rxjs/dist/cjs/internal/testing/ColdObservable.js.map
new file mode 100644
index 0000000..875114d
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/testing/ColdObservable.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"ColdObservable.js","sourceRoot":"","sources":["../../../../src/internal/testing/ColdObservable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,4CAA2C;AAC3C,gDAA+C;AAI/C,+DAA8D;AAC9D,mDAAkD;AAElD,gDAAsD;AAEtD;IAAuC,kCAAa;IAQlD,wBAAmB,QAAuB,EAAE,SAAoB;QAAhE,YACE,kBAAM,UAA+B,UAA2B;YAC9D,IAAM,UAAU,GAAsB,IAAW,CAAC;YAClD,IAAM,KAAK,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAC9C,IAAM,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;YACxC,YAAY,CAAC,GAAG,CACd,IAAI,2BAAY,CAAC;gBACf,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC,CAAC,CACH,CAAC;YACF,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACxC,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,SAEH;QAdkB,cAAQ,GAAR,QAAQ,CAAe;QAPnC,mBAAa,GAAsB,EAAE,CAAC;QAoB3C,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;;IAC7B,CAAC;IAED,yCAAgB,GAAhB,UAAiB,UAA2B;QAC1C,IAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;YACvC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjC,UAAU,CAAC,GAAG,CACZ,IAAI,CAAC,SAAS,CAAC,QAAQ,CACrB,UAAC,KAAK;gBACE,IAAA,KAAyD,KAAM,EAAlD,YAAY,0BAAA,EAAgB,WAAW,gBAAW,CAAC;gBACtE,kCAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACjD,CAAC,EACD,OAAO,CAAC,KAAK,EACb,EAAE,OAAO,SAAA,EAAE,UAAU,YAAA,EAAE,CACxB,CACF,CAAC;SACH;IACH,CAAC;IACH,qBAAC;AAAD,CAAC,AAxCD,CAAuC,uBAAU,GAwChD;AAxCY,wCAAc;AAyC3B,yBAAW,CAAC,cAAc,EAAE,CAAC,2CAAoB,CAAC,CAAC,CAAC"} \ No newline at end of file
diff --git a/node_modules/rxjs/dist/cjs/internal/testing/HotObservable.js b/node_modules/rxjs/dist/cjs/internal/testing/HotObservable.js
new file mode 100644
index 0000000..a01c570
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/testing/HotObservable.js
@@ -0,0 +1,62 @@
+"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;
+ }
+ 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 () {
+ subject.logUnsubscribedFrame(index);
+ }));
+ subscription.add(_super.prototype._subscribe.call(this, 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 () {
+ Notification_1.observeNotification(notification, subject);
+ }, frame);
+ })();
+ };
+ for (var i = 0; i < messagesLength; i++) {
+ _loop_1(i);
+ }
+ };
+ return HotObservable;
+}(Subject_1.Subject));
+exports.HotObservable = HotObservable;
+applyMixins_1.applyMixins(HotObservable, [SubscriptionLoggable_1.SubscriptionLoggable]);
+//# sourceMappingURL=HotObservable.js.map \ No newline at end of file
diff --git a/node_modules/rxjs/dist/cjs/internal/testing/HotObservable.js.map b/node_modules/rxjs/dist/cjs/internal/testing/HotObservable.js.map
new file mode 100644
index 0000000..449a094
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/testing/HotObservable.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"HotObservable.js","sourceRoot":"","sources":["../../../../src/internal/testing/HotObservable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,sCAAqC;AAErC,gDAA+C;AAI/C,+DAA8D;AAC9D,mDAAkD;AAClD,gDAAsD;AAEtD;IAAsC,iCAAU;IAQ9C,uBAAmB,QAAuB,EAAE,SAAoB;QAAhE,YACE,iBAAO,SAER;QAHkB,cAAQ,GAAR,QAAQ,CAAe;QAPnC,mBAAa,GAAsB,EAAE,CAAC;QAS3C,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;;IAC7B,CAAC;IAGS,kCAAU,GAApB,UAAqB,UAA2B;QAC9C,IAAM,OAAO,GAAqB,IAAI,CAAC;QACvC,IAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC3C,IAAM,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;QACxC,YAAY,CAAC,GAAG,CACd,IAAI,2BAAY,CAAC;YACf,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CACH,CAAC;QACF,YAAY,CAAC,GAAG,CAAC,iBAAM,UAAU,YAAC,UAAU,CAAC,CAAC,CAAC;QAC/C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,6BAAK,GAAL;QACE,IAAM,OAAO,GAAG,IAAI,CAAC;QACrB,IAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gCAEtC,CAAC;YACR,CAAC;gBACO,IAAA,KAA0B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAA3C,YAAY,kBAAA,EAAE,KAAK,WAAwB,CAAC;gBAEpD,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;oBACzB,kCAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC7C,CAAC,EAAE,KAAK,CAAC,CAAC;YACZ,CAAC,CAAC,EAAE,CAAC;;QAPP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE;oBAA9B,CAAC;SAQT;IACH,CAAC;IACH,oBAAC;AAAD,CAAC,AAzCD,CAAsC,iBAAO,GAyC5C;AAzCY,sCAAa;AA0C1B,yBAAW,CAAC,aAAa,EAAE,CAAC,2CAAoB,CAAC,CAAC,CAAC"} \ No newline at end of file
diff --git a/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLog.js b/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLog.js
new file mode 100644
index 0000000..24120b0
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLog.js
@@ -0,0 +1,13 @@
+"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; }
+ this.subscribedFrame = subscribedFrame;
+ this.unsubscribedFrame = unsubscribedFrame;
+ }
+ return SubscriptionLog;
+}());
+exports.SubscriptionLog = SubscriptionLog;
+//# sourceMappingURL=SubscriptionLog.js.map \ No newline at end of file
diff --git a/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLog.js.map b/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLog.js.map
new file mode 100644
index 0000000..5356258
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLog.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"SubscriptionLog.js","sourceRoot":"","sources":["../../../../src/internal/testing/SubscriptionLog.ts"],"names":[],"mappings":";;;AAAA;IACE,yBAAmB,eAAuB,EACvB,iBAAoC;QAApC,kCAAA,EAAA,4BAAoC;QADpC,oBAAe,GAAf,eAAe,CAAQ;QACvB,sBAAiB,GAAjB,iBAAiB,CAAmB;IACvD,CAAC;IACH,sBAAC;AAAD,CAAC,AAJD,IAIC;AAJY,0CAAe"} \ No newline at end of file
diff --git a/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLoggable.js b/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLoggable.js
new file mode 100644
index 0000000..a457305
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLoggable.js
@@ -0,0 +1,21 @@
+"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 () {
+ 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];
+ subscriptionLogs[index] = new SubscriptionLog_1.SubscriptionLog(oldSubscriptionLog.subscribedFrame, this.scheduler.now());
+ };
+ return SubscriptionLoggable;
+}());
+exports.SubscriptionLoggable = SubscriptionLoggable;
+//# sourceMappingURL=SubscriptionLoggable.js.map \ No newline at end of file
diff --git a/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLoggable.js.map b/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLoggable.js.map
new file mode 100644
index 0000000..debaa6d
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLoggable.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"SubscriptionLoggable.js","sourceRoot":"","sources":["../../../../src/internal/testing/SubscriptionLoggable.ts"],"names":[],"mappings":";;;AACA,qDAAoD;AAEpD;IAAA;QACS,kBAAa,GAAsB,EAAE,CAAC;IAiB/C,CAAC;IAbC,iDAAkB,GAAlB;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,iCAAe,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,mDAAoB,GAApB,UAAqB,KAAa;QAChC,IAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,IAAM,kBAAkB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACnD,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,iCAAe,CAC3C,kBAAkB,CAAC,eAAe,EAClC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CACrB,CAAC;IACJ,CAAC;IACH,2BAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBY,oDAAoB"} \ No newline at end of file
diff --git a/node_modules/rxjs/dist/cjs/internal/testing/TestMessage.js b/node_modules/rxjs/dist/cjs/internal/testing/TestMessage.js
new file mode 100644
index 0000000..7bb158d
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/testing/TestMessage.js
@@ -0,0 +1,3 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+//# sourceMappingURL=TestMessage.js.map \ No newline at end of file
diff --git a/node_modules/rxjs/dist/cjs/internal/testing/TestMessage.js.map b/node_modules/rxjs/dist/cjs/internal/testing/TestMessage.js.map
new file mode 100644
index 0000000..f91e8da
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/testing/TestMessage.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"TestMessage.js","sourceRoot":"","sources":["../../../../src/internal/testing/TestMessage.ts"],"names":[],"mappings":""} \ No newline at end of file
diff --git a/node_modules/rxjs/dist/cjs/internal/testing/TestScheduler.js b/node_modules/rxjs/dist/cjs/internal/testing/TestScheduler.js
new file mode 100644
index 0000000..a7a4924
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/testing/TestScheduler.js
@@ -0,0 +1,618 @@
+"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) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+};
+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;
+ }
+ TestScheduler.prototype.createTime = function (marbles) {
+ var indexOf = this.runMode ? marbles.trim().indexOf('|') : marbles.indexOf('|');
+ if (indexOf === -1) {
+ throw new Error('marble diagram for time should have a completion marker "|"');
+ }
+ return indexOf * TestScheduler.frameTimeFactor;
+ };
+ TestScheduler.prototype.createColdObservable = function (marbles, values, error) {
+ if (marbles.indexOf('^') !== -1) {
+ throw new Error('cold observable cannot have subscription offset "^"');
+ }
+ if (marbles.indexOf('!') !== -1) {
+ throw new Error('cold observable cannot have unsubscription marker "!"');
+ }
+ var messages = TestScheduler.parseMarbles(marbles, values, error, undefined, this.runMode);
+ var cold = new ColdObservable_1.ColdObservable(messages, this);
+ this.coldObservables.push(cold);
+ return cold;
+ };
+ TestScheduler.prototype.createHotObservable = function (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);
+ this.hotObservables.push(subject);
+ return subject;
+ };
+ TestScheduler.prototype.materializeInnerObservable = function (observable, outerFrame) {
+ var _this = this;
+ var messages = [];
+ observable.subscribe({
+ next: function (value) {
+ messages.push({ frame: _this.frame - outerFrame, notification: NotificationFactories_1.nextNotification(value) });
+ },
+ error: function (error) {
+ messages.push({ frame: _this.frame - outerFrame, notification: NotificationFactories_1.errorNotification(error) });
+ },
+ complete: function () {
+ 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 () {
+ 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: NotificationFactories_1.nextNotification(value) });
+ },
+ error: function (error) {
+ actual.push({ frame: _this.frame, notification: NotificationFactories_1.errorNotification(error) });
+ },
+ complete: function () {
+ actual.push({ frame: _this.frame, notification: NotificationFactories_1.COMPLETE_NOTIFICATION });
+ },
+ });
+ }, subscriptionFrame);
+ if (unsubscriptionFrame !== Infinity) {
+ this.schedule(function () { return subscription.unsubscribe(); }, unsubscriptionFrame);
+ }
+ this.flushTests.push(flushTest);
+ var runMode = this.runMode;
+ return {
+ toBe: function (marbles, values, errorValue) {
+ flushTest.ready = true;
+ flushTest.expected = TestScheduler.parseMarbles(marbles, values, errorValue, true, runMode);
+ },
+ toEqual: function (other) {
+ flushTest.ready = true;
+ flushTest.expected = [];
+ _this.schedule(function () {
+ 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: NotificationFactories_1.nextNotification(value) });
+ },
+ error: function (error) {
+ flushTest.expected.push({ frame: _this.frame, notification: NotificationFactories_1.errorNotification(error) });
+ },
+ complete: function () {
+ flushTest.expected.push({ frame: _this.frame, notification: NotificationFactories_1.COMPLETE_NOTIFICATION });
+ },
+ });
+ }, subscriptionFrame);
+ },
+ };
+ };
+ TestScheduler.prototype.expectSubscriptions = function (actualSubscriptionLogs) {
+ var flushTest = { actual: actualSubscriptionLogs, ready: false };
+ this.flushTests.push(flushTest);
+ var runMode = this.runMode;
+ return {
+ toBe: function (marblesOrMarblesArray) {
+ var 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; });
+ },
+ };
+ };
+ TestScheduler.prototype.flush = function () {
+ var _this = this;
+ var hotObservables = this.hotObservables;
+ while (hotObservables.length > 0) {
+ hotObservables.shift().setup();
+ }
+ _super.prototype.flush.call(this);
+ this.flushTests = this.flushTests.filter(function (test) {
+ if (test.ready) {
+ _this.assertDeepEqual(test.actual, test.expected);
+ return false;
+ }
+ return true;
+ });
+ };
+ TestScheduler.parseMarblesAsSubscriptions = function (marbles, runMode) {
+ var _this = this;
+ if (runMode === void 0) { runMode = false; }
+ if (typeof marbles !== 'string') {
+ return new SubscriptionLog_1.SubscriptionLog(Infinity);
+ }
+ var characters = __spreadArray([], __read(marbles));
+ 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;
+ };
+ var c = characters[i];
+ switch (c) {
+ case ' ':
+ if (!runMode) {
+ advanceFrameBy(1);
+ }
+ break;
+ case '-':
+ advanceFrameBy(1);
+ break;
+ case '(':
+ groupStart = frame;
+ advanceFrameBy(1);
+ break;
+ case ')':
+ groupStart = -1;
+ advanceFrameBy(1);
+ break;
+ case '^':
+ if (subscriptionFrame !== Infinity) {
+ throw new Error("found a second subscription point '^' in a " + 'subscription marble diagram. There can only be one.');
+ }
+ subscriptionFrame = groupStart > -1 ? groupStart : frame;
+ advanceFrameBy(1);
+ break;
+ case '!':
+ if (unsubscriptionFrame !== Infinity) {
+ throw new Error("found a second unsubscription point '!' in a " + 'subscription marble diagram. There can only be one.');
+ }
+ unsubscriptionFrame = groupStart > -1 ? groupStart : frame;
+ break;
+ default:
+ if (runMode && c.match(/^[0-9]$/)) {
+ if (i === 0 || characters[i - 1] === ' ') {
+ var buffer = characters.slice(i).join('');
+ var 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;
+ switch (unit) {
+ case 'ms':
+ durationInMs = duration;
+ break;
+ case 's':
+ durationInMs = duration * 1000;
+ break;
+ case 'm':
+ durationInMs = duration * 1000 * 60;
+ break;
+ default:
+ break;
+ }
+ advanceFrameBy(durationInMs / this_1.frameTimeFactor);
+ break;
+ }
+ }
+ }
+ throw new Error("there can only be '^' and '!' markers in a " + "subscription marble diagram. Found instead '" + c + "'.");
+ }
+ 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;
+ }
+ if (unsubscriptionFrame < 0) {
+ return new SubscriptionLog_1.SubscriptionLog(subscriptionFrame);
+ }
+ else {
+ return new SubscriptionLog_1.SubscriptionLog(subscriptionFrame, unsubscriptionFrame);
+ }
+ };
+ TestScheduler.parseMarbles = function (marbles, values, errorValue, materializeInnerObservables, runMode) {
+ var _this = this;
+ if (materializeInnerObservables === void 0) { materializeInnerObservables = false; }
+ if (runMode === void 0) { runMode = false; }
+ if (marbles.indexOf('!') !== -1) {
+ throw new Error('conventional marble diagrams cannot have the ' + 'unsubscription marker "!"');
+ }
+ var characters = __spreadArray([], __read(marbles));
+ 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) {
+ if (materializeInnerObservables && values[x] instanceof ColdObservable_1.ColdObservable) {
+ return values[x].messages;
+ }
+ return values[x];
+ };
+ var groupStart = -1;
+ var _loop_2 = function (i) {
+ var nextFrame = frame;
+ var advanceFrameBy = function (count) {
+ nextFrame += count * _this.frameTimeFactor;
+ };
+ var notification = void 0;
+ var c = characters[i];
+ switch (c) {
+ case ' ':
+ if (!runMode) {
+ advanceFrameBy(1);
+ }
+ break;
+ case '-':
+ advanceFrameBy(1);
+ break;
+ case '(':
+ groupStart = frame;
+ advanceFrameBy(1);
+ break;
+ case ')':
+ groupStart = -1;
+ advanceFrameBy(1);
+ break;
+ case '|':
+ notification = NotificationFactories_1.COMPLETE_NOTIFICATION;
+ advanceFrameBy(1);
+ break;
+ case '^':
+ advanceFrameBy(1);
+ break;
+ case '#':
+ notification = NotificationFactories_1.errorNotification(errorValue || 'error');
+ advanceFrameBy(1);
+ break;
+ default:
+ if (runMode && c.match(/^[0-9]$/)) {
+ if (i === 0 || characters[i - 1] === ' ') {
+ var buffer = characters.slice(i).join('');
+ var 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;
+ switch (unit) {
+ case 'ms':
+ durationInMs = duration;
+ break;
+ case 's':
+ durationInMs = duration * 1000;
+ break;
+ case 'm':
+ durationInMs = duration * 1000 * 60;
+ break;
+ default:
+ break;
+ }
+ advanceFrameBy(durationInMs / this_2.frameTimeFactor);
+ break;
+ }
+ }
+ }
+ notification = NotificationFactories_1.nextNotification(getValue(c));
+ advanceFrameBy(1);
+ break;
+ }
+ if (notification) {
+ testMessages.push({ frame: groupStart > -1 ? groupStart : frame, notification: 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;
+ if (!this.runMode) {
+ throw new Error('animate() must only be used in run mode');
+ }
+ var lastHandle = 0;
+ var map;
+ var delegate = {
+ requestAnimationFrame: function (callback) {
+ if (!map) {
+ throw new Error('animate() was not called within run()');
+ }
+ var handle = ++lastHandle;
+ map.set(handle, callback);
+ return handle;
+ },
+ cancelAnimationFrame: function (handle) {
+ if (!map) {
+ throw new Error('animate() was not called within run()');
+ }
+ map.delete(handle);
+ },
+ };
+ var animate = function (marbles) {
+ var e_1, _a;
+ if (map) {
+ throw new Error('animate() must not be called more than once within run()');
+ }
+ if (/[|#]/.test(marbles)) {
+ throw new Error('animate() must not complete or error');
+ }
+ 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);
+ }
+ }
+ 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';
+ });
+ if (dueImmediates.length > 0) {
+ var _a = dueImmediates[0], handle = _a.handle, handler = _a.handler;
+ scheduleLookup.delete(handle);
+ handler();
+ return;
+ }
+ var dueIntervals = scheduledRecordsDue.filter(function (_a) {
+ var type = _a.type;
+ return type === 'interval';
+ });
+ if (dueIntervals.length > 0) {
+ var firstDueInterval = dueIntervals[0];
+ var duration = firstDueInterval.duration, handler = firstDueInterval.handler;
+ firstDueInterval.due = now + duration;
+ firstDueInterval.subscription = _this.schedule(run, duration);
+ handler();
+ return;
+ }
+ var dueTimeouts = scheduledRecordsDue.filter(function (_a) {
+ var type = _a.type;
+ return type === 'timeout';
+ });
+ if (dueTimeouts.length > 0) {
+ var _b = dueTimeouts[0], handle = _b.handle, handler = _b.handler;
+ scheduleLookup.delete(handle);
+ handler();
+ return;
+ }
+ throw new Error('Expected a due immediate or interval');
+ };
+ var immediate = {
+ setImmediate: function (handler) {
+ var handle = ++lastHandle;
+ scheduleLookup.set(handle, {
+ due: _this.now(),
+ duration: 0,
+ handle: handle,
+ handler: handler,
+ subscription: _this.schedule(run, 0),
+ type: 'immediate',
+ });
+ return handle;
+ },
+ clearImmediate: function (handle) {
+ var value = scheduleLookup.get(handle);
+ if (value) {
+ value.subscription.unsubscribe();
+ scheduleLookup.delete(handle);
+ }
+ },
+ };
+ var interval = {
+ setInterval: function (handler, duration) {
+ if (duration === void 0) { duration = 0; }
+ var handle = ++lastHandle;
+ scheduleLookup.set(handle, {
+ due: _this.now() + duration,
+ duration: duration,
+ handle: handle,
+ handler: handler,
+ subscription: _this.schedule(run, duration),
+ type: 'interval',
+ });
+ return handle;
+ },
+ clearInterval: function (handle) {
+ var value = scheduleLookup.get(handle);
+ if (value) {
+ value.subscription.unsubscribe();
+ scheduleLookup.delete(handle);
+ }
+ },
+ };
+ var timeout = {
+ setTimeout: function (handler, duration) {
+ if (duration === void 0) { duration = 0; }
+ var handle = ++lastHandle;
+ scheduleLookup.set(handle, {
+ due: _this.now() + duration,
+ duration: duration,
+ handle: handle,
+ handler: handler,
+ subscription: _this.schedule(run, duration),
+ type: 'timeout',
+ });
+ return handle;
+ },
+ clearTimeout: function (handle) {
+ var value = scheduleLookup.get(handle);
+ if (value) {
+ value.subscription.unsubscribe();
+ scheduleLookup.delete(handle);
+ }
+ },
+ };
+ return { immediate: immediate, interval: interval, timeout: timeout };
+ };
+ TestScheduler.prototype.run = function (callback) {
+ var prevFrameTimeFactor = TestScheduler.frameTimeFactor;
+ var prevMaxFrames = this.maxFrames;
+ TestScheduler.frameTimeFactor = 1;
+ this.maxFrames = Infinity;
+ this.runMode = true;
+ var animator = this.createAnimator();
+ var delegates = this.createDelegates();
+ animationFrameProvider_1.animationFrameProvider.delegate = animator.delegate;
+ dateTimestampProvider_1.dateTimestampProvider.delegate = this;
+ immediateProvider_1.immediateProvider.delegate = delegates.immediate;
+ intervalProvider_1.intervalProvider.delegate = delegates.interval;
+ timeoutProvider_1.timeoutProvider.delegate = delegates.timeout;
+ performanceTimestampProvider_1.performanceTimestampProvider.delegate = this;
+ var helpers = {
+ cold: this.createColdObservable.bind(this),
+ hot: this.createHotObservable.bind(this),
+ flush: this.flush.bind(this),
+ time: this.createTime.bind(this),
+ expectObservable: this.expectObservable.bind(this),
+ expectSubscriptions: this.expectSubscriptions.bind(this),
+ animate: animator.animate,
+ };
+ try {
+ var ret = callback(helpers);
+ this.flush();
+ return ret;
+ }
+ finally {
+ TestScheduler.frameTimeFactor = prevFrameTimeFactor;
+ this.maxFrames = prevMaxFrames;
+ this.runMode = false;
+ animationFrameProvider_1.animationFrameProvider.delegate = undefined;
+ dateTimestampProvider_1.dateTimestampProvider.delegate = undefined;
+ immediateProvider_1.immediateProvider.delegate = undefined;
+ intervalProvider_1.intervalProvider.delegate = undefined;
+ timeoutProvider_1.timeoutProvider.delegate = undefined;
+ performanceTimestampProvider_1.performanceTimestampProvider.delegate = undefined;
+ }
+ };
+ TestScheduler.frameTimeFactor = 10;
+ return TestScheduler;
+}(VirtualTimeScheduler_1.VirtualTimeScheduler));
+exports.TestScheduler = TestScheduler;
+//# sourceMappingURL=TestScheduler.js.map \ No newline at end of file
diff --git a/node_modules/rxjs/dist/cjs/internal/testing/TestScheduler.js.map b/node_modules/rxjs/dist/cjs/internal/testing/TestScheduler.js.map
new file mode 100644
index 0000000..7a582a7
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/testing/TestScheduler.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"TestScheduler.js","sourceRoot":"","sources":["../../../../src/internal/testing/TestScheduler.ts"],"names":[],"mappings":"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"} \ No newline at end of file
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage