Skip to content

Commit 39836af

Browse files
committed
feat(ObjectUnsubscribedError): add ObjectUnsubscribed error class
this class was added to support throwing errors when members of Subjects were accessed in invalid ways after the Subject has been unsubscribed related #859 related #758
1 parent 33b387b commit 39836af

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

src/Rx.KitchenSink.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ import {BehaviorSubject} from './subject/BehaviorSubject';
137137
import {ConnectableObservable} from './observable/ConnectableObservable';
138138
import {Notification} from './Notification';
139139
import {EmptyError} from './util/EmptyError';
140+
import {ObjectUnsubscribedError} from './util/ObjectUnsubscribedError';
140141
import {ArgumentOutOfRangeError} from './util/ArgumentOutOfRangeError';
141142
import {nextTick} from './scheduler/nextTick';
142143
import {immediate} from './scheduler/immediate';
@@ -167,6 +168,7 @@ export {
167168
Notification,
168169
EmptyError,
169170
ArgumentOutOfRangeError,
171+
ObjectUnsubscribedError,
170172
TestScheduler,
171173
VirtualTimeScheduler,
172174
TimeInterval

src/Rx.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ import {ConnectableObservable} from './observable/ConnectableObservable';
117117
import {Notification} from './Notification';
118118
import {EmptyError} from './util/EmptyError';
119119
import {ArgumentOutOfRangeError} from './util/ArgumentOutOfRangeError';
120-
import {nextTick} from './scheduler/nextTick';
120+
import {ObjectUnsubscribedError} from './util/ObjectUnsubscribedError';
121121
import {immediate} from './scheduler/immediate';
122122
import {NextTickScheduler} from './scheduler/NextTickScheduler';
123123
import {ImmediateScheduler} from './scheduler/ImmediateScheduler';
@@ -142,5 +142,6 @@ export {
142142
ConnectableObservable,
143143
Notification,
144144
EmptyError,
145-
ArgumentOutOfRangeError
145+
ArgumentOutOfRangeError,
146+
ObjectUnsubscribedError
146147
};

src/util/ObjectUnsubscribedError.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/**
2+
* an error thrown when an action is invalid because the object
3+
* has been unsubscribed
4+
*/
5+
export class ObjectUnsubscribedError extends Error {
6+
constructor() {
7+
super('object unsubscribed');
8+
this.name = 'ObjectUnsubscribedError';
9+
}
10+
}

0 commit comments

Comments
 (0)