aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/rxjs/dist/cjs/internal/Subscriber.js
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2025-06-28 17:26:46 -0700
committerPinapelz <yukais@pinapelz.com>2025-06-28 17:43:56 -0700
commite4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch)
tree06284a538a6008eca75051399e47db4e5d50301c /node_modules/rxjs/dist/cjs/internal/Subscriber.js
initial commit: scaffolding
Diffstat (limited to 'node_modules/rxjs/dist/cjs/internal/Subscriber.js')
-rw-r--r--node_modules/rxjs/dist/cjs/internal/Subscriber.js201
1 files changed, 201 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/cjs/internal/Subscriber.js b/node_modules/rxjs/dist/cjs/internal/Subscriber.js
new file mode 100644
index 0000000..743e9c8
--- /dev/null
+++ b/node_modules/rxjs/dist/cjs/internal/Subscriber.js
@@ -0,0 +1,201 @@
+"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.EMPTY_OBSERVER = exports.SafeSubscriber = 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 noop_1 = require("./util/noop");
+var NotificationFactories_1 = require("./NotificationFactories");
+var timeoutProvider_1 = require("./scheduler/timeoutProvider");
+var errorContext_1 = require("./util/errorContext");
+var Subscriber = (function (_super) {
+ __extends(Subscriber, _super);
+ function Subscriber(destination) {
+ var _this = _super.call(this) || this;
+ _this.isStopped = false;
+ if (destination) {
+ _this.destination = destination;
+ if (Subscription_1.isSubscription(destination)) {
+ destination.add(_this);
+ }
+ }
+ else {
+ _this.destination = exports.EMPTY_OBSERVER;
+ }
+ return _this;
+ }
+ Subscriber.create = function (next, error, complete) {
+ return new SafeSubscriber(next, error, complete);
+ };
+ Subscriber.prototype.next = function (value) {
+ if (this.isStopped) {
+ handleStoppedNotification(NotificationFactories_1.nextNotification(value), this);
+ }
+ else {
+ this._next(value);
+ }
+ };
+ Subscriber.prototype.error = function (err) {
+ if (this.isStopped) {
+ handleStoppedNotification(NotificationFactories_1.errorNotification(err), this);
+ }
+ else {
+ this.isStopped = true;
+ this._error(err);
+ }
+ };
+ Subscriber.prototype.complete = function () {
+ if (this.isStopped) {
+ handleStoppedNotification(NotificationFactories_1.COMPLETE_NOTIFICATION, this);
+ }
+ else {
+ this.isStopped = true;
+ this._complete();
+ }
+ };
+ Subscriber.prototype.unsubscribe = function () {
+ if (!this.closed) {
+ this.isStopped = true;
+ _super.prototype.unsubscribe.call(this);
+ this.destination = null;
+ }
+ };
+ Subscriber.prototype._next = function (value) {
+ this.destination.next(value);
+ };
+ Subscriber.prototype._error = function (err) {
+ try {
+ this.destination.error(err);
+ }
+ finally {
+ this.unsubscribe();
+ }
+ };
+ Subscriber.prototype._complete = function () {
+ try {
+ this.destination.complete();
+ }
+ finally {
+ this.unsubscribe();
+ }
+ };
+ return Subscriber;
+}(Subscription_1.Subscription));
+exports.Subscriber = Subscriber;
+var _bind = Function.prototype.bind;
+function bind(fn, thisArg) {
+ return _bind.call(fn, thisArg);
+}
+var ConsumerObserver = (function () {
+ function ConsumerObserver(partialObserver) {
+ this.partialObserver = partialObserver;
+ }
+ ConsumerObserver.prototype.next = function (value) {
+ var partialObserver = this.partialObserver;
+ if (partialObserver.next) {
+ try {
+ partialObserver.next(value);
+ }
+ catch (error) {
+ handleUnhandledError(error);
+ }
+ }
+ };
+ ConsumerObserver.prototype.error = function (err) {
+ var partialObserver = this.partialObserver;
+ if (partialObserver.error) {
+ try {
+ partialObserver.error(err);
+ }
+ catch (error) {
+ handleUnhandledError(error);
+ }
+ }
+ else {
+ handleUnhandledError(err);
+ }
+ };
+ ConsumerObserver.prototype.complete = function () {
+ var partialObserver = this.partialObserver;
+ if (partialObserver.complete) {
+ try {
+ partialObserver.complete();
+ }
+ catch (error) {
+ handleUnhandledError(error);
+ }
+ }
+ };
+ return ConsumerObserver;
+}());
+var SafeSubscriber = (function (_super) {
+ __extends(SafeSubscriber, _super);
+ function SafeSubscriber(observerOrNext, error, complete) {
+ var _this = _super.call(this) || this;
+ var partialObserver;
+ if (isFunction_1.isFunction(observerOrNext) || !observerOrNext) {
+ partialObserver = {
+ next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),
+ error: error !== null && error !== void 0 ? error : undefined,
+ complete: complete !== null && complete !== void 0 ? complete : undefined,
+ };
+ }
+ else {
+ var context_1;
+ if (_this && config_1.config.useDeprecatedNextContext) {
+ context_1 = Object.create(observerOrNext);
+ context_1.unsubscribe = function () { return _this.unsubscribe(); };
+ partialObserver = {
+ next: observerOrNext.next && bind(observerOrNext.next, context_1),
+ error: observerOrNext.error && bind(observerOrNext.error, context_1),
+ complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),
+ };
+ }
+ else {
+ partialObserver = observerOrNext;
+ }
+ }
+ _this.destination = new ConsumerObserver(partialObserver);
+ return _this;
+ }
+ return SafeSubscriber;
+}(Subscriber));
+exports.SafeSubscriber = SafeSubscriber;
+function handleUnhandledError(error) {
+ if (config_1.config.useDeprecatedSynchronousErrorHandling) {
+ errorContext_1.captureError(error);
+ }
+ else {
+ reportUnhandledError_1.reportUnhandledError(error);
+ }
+}
+function defaultErrorHandler(err) {
+ throw err;
+}
+function handleStoppedNotification(notification, subscriber) {
+ var onStoppedNotification = config_1.config.onStoppedNotification;
+ onStoppedNotification && timeoutProvider_1.timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });
+}
+exports.EMPTY_OBSERVER = {
+ closed: true,
+ next: noop_1.noop,
+ error: defaultErrorHandler,
+ complete: noop_1.noop,
+};
+//# sourceMappingURL=Subscriber.js.map \ No newline at end of file
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage