1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import { Subscriber } from '../Subscriber';
- export function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {
- return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);
- }
- export class OperatorSubscriber extends Subscriber {
- constructor(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {
- super(destination);
- this.onFinalize = onFinalize;
- this.shouldUnsubscribe = shouldUnsubscribe;
- this._next = onNext
- ? function (value) {
- try {
- onNext(value);
- }
- catch (err) {
- destination.error(err);
- }
- }
- : super._next;
- this._error = onError
- ? function (err) {
- try {
- onError(err);
- }
- catch (err) {
- destination.error(err);
- }
- finally {
- this.unsubscribe();
- }
- }
- : super._error;
- this._complete = onComplete
- ? function () {
- try {
- onComplete();
- }
- catch (err) {
- destination.error(err);
- }
- finally {
- this.unsubscribe();
- }
- }
- : super._complete;
- }
- unsubscribe() {
- var _a;
- if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
- const { closed } = this;
- super.unsubscribe();
- !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));
- }
- }
- }
- //# sourceMappingURL=OperatorSubscriber.js.map
|