evg_observable 1.1.31 → 1.1.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/src/outLib/Collector.js
CHANGED
|
@@ -16,10 +16,9 @@ class Collector {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
unsubscribe(subscriptionLike) {
|
|
19
|
-
if (this._isDestroyed)
|
|
20
|
-
return null;
|
|
19
|
+
if (this._isDestroyed) return null;
|
|
21
20
|
subscriptionLike && subscriptionLike.unsubscribe();
|
|
22
|
-
|
|
21
|
+
FunctionLibs_1.deleteFromArray(this.list, subscriptionLike);
|
|
23
22
|
}
|
|
24
23
|
unsubscribeAll() {
|
|
25
24
|
if (this._isDestroyed)
|
|
@@ -11,7 +11,8 @@ export declare class SubscribeObject<T> implements ISubscribeObject<T>, IMarkedF
|
|
|
11
11
|
private emitByNegativeCondition;
|
|
12
12
|
private emitByPositiveCondition;
|
|
13
13
|
private emitMatchCondition;
|
|
14
|
-
|
|
14
|
+
protected isPipe: boolean;
|
|
15
|
+
constructor(observable?: IObserver<T>, listener?: IListener<T>, isPipe?: boolean);
|
|
15
16
|
private static callbackSend;
|
|
16
17
|
subscribe(listener: IListener<T>): ISubscriptionLike<T>;
|
|
17
18
|
unsubscribe(): void;
|
package/src/outLib/Observable.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Observable = exports.SubscribeObject = void 0;
|
|
4
4
|
const FunctionLibs_1 = require("./FunctionLibs");
|
|
5
5
|
class SubscribeObject {
|
|
6
|
-
constructor(observable, listener) {
|
|
6
|
+
constructor(observable, listener, isPipe) {
|
|
7
7
|
this.isMarkedForUnsubscribe = false;
|
|
8
8
|
this._order = 0;
|
|
9
9
|
this.isListenPaused = false;
|
|
@@ -13,22 +13,26 @@ class SubscribeObject {
|
|
|
13
13
|
this.emitByNegativeCondition = null;
|
|
14
14
|
this.emitByPositiveCondition = null;
|
|
15
15
|
this.emitMatchCondition = null;
|
|
16
|
+
this.isPipe = false;
|
|
16
17
|
this.observable = observable;
|
|
17
18
|
this.listener = listener;
|
|
19
|
+
this.isPipe = !!isPipe;
|
|
18
20
|
}
|
|
19
21
|
static callbackSend(value, subsObj) {
|
|
20
22
|
const listener = subsObj.listener;
|
|
23
|
+
if (!listener || !subsObj.observable) {
|
|
24
|
+
subsObj.unsubscribe();
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
21
27
|
switch (true) {
|
|
22
|
-
case !subsObj.observable:
|
|
23
|
-
case !listener:
|
|
24
|
-
subsObj.unsubscribe();
|
|
25
|
-
return;
|
|
26
28
|
case subsObj.isListenPaused:
|
|
27
|
-
;
|
|
29
|
+
return;
|
|
30
|
+
case !subsObj.isPipe:
|
|
31
|
+
listener(value);
|
|
28
32
|
return;
|
|
29
33
|
case subsObj.once.isOnce:
|
|
30
34
|
subsObj.once.isFinished = true;
|
|
31
|
-
listener
|
|
35
|
+
listener(value);
|
|
32
36
|
subsObj.unsubscribe();
|
|
33
37
|
break;
|
|
34
38
|
case !!subsObj.unsubscribeByNegativeCondition:
|
|
@@ -37,7 +41,7 @@ class SubscribeObject {
|
|
|
37
41
|
subsObj.unsubscribe();
|
|
38
42
|
return;
|
|
39
43
|
}
|
|
40
|
-
listener
|
|
44
|
+
listener(value);
|
|
41
45
|
break;
|
|
42
46
|
case !!subsObj.unsubscribeByPositiveCondition:
|
|
43
47
|
if (subsObj.unsubscribeByPositiveCondition()) {
|
|
@@ -45,19 +49,17 @@ class SubscribeObject {
|
|
|
45
49
|
subsObj.unsubscribe();
|
|
46
50
|
return;
|
|
47
51
|
}
|
|
48
|
-
listener
|
|
52
|
+
listener(value);
|
|
49
53
|
break;
|
|
50
54
|
case !!subsObj.emitByNegativeCondition:
|
|
51
|
-
!subsObj.emitByNegativeCondition() && listener
|
|
55
|
+
!subsObj.emitByNegativeCondition() && listener(value);
|
|
52
56
|
break;
|
|
53
57
|
case !!subsObj.emitByPositiveCondition:
|
|
54
|
-
subsObj.emitByPositiveCondition() && listener
|
|
58
|
+
subsObj.emitByPositiveCondition() && listener(value);
|
|
55
59
|
break;
|
|
56
60
|
case !!subsObj.emitMatchCondition:
|
|
57
|
-
(subsObj.emitMatchCondition() === value) && listener
|
|
61
|
+
(subsObj.emitMatchCondition() === value) && listener(value);
|
|
58
62
|
break;
|
|
59
|
-
default:
|
|
60
|
-
listener && listener((value));
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
subscribe(listener) {
|
|
@@ -156,7 +158,7 @@ class Observable {
|
|
|
156
158
|
const length = this.listeners.length;
|
|
157
159
|
for (let i = 0; i < length; i++) {
|
|
158
160
|
const listener = this.listeners[i];
|
|
159
|
-
listener
|
|
161
|
+
listener.send(value);
|
|
160
162
|
}
|
|
161
163
|
this.isNextProcess = false;
|
|
162
164
|
this.listenersForUnsubscribe.length && this.handleListenersForUnsubscribe();
|
|
@@ -178,8 +180,7 @@ class Observable {
|
|
|
178
180
|
marker.isMarkedForUnsubscribe = true;
|
|
179
181
|
return;
|
|
180
182
|
}
|
|
181
|
-
this.listeners &&
|
|
182
|
-
!(0, FunctionLibs_1.deleteFromArray)(this.listeners, listener);
|
|
183
|
+
this.listeners && FunctionLibs_1.deleteFromArray(this.listeners, listener);
|
|
183
184
|
}
|
|
184
185
|
destroy() {
|
|
185
186
|
this.value = 0;
|
|
@@ -212,14 +213,14 @@ class Observable {
|
|
|
212
213
|
return undefined;
|
|
213
214
|
if (!listener)
|
|
214
215
|
return undefined;
|
|
215
|
-
const subscribeObject = new SubscribeObject(this, listener);
|
|
216
|
+
const subscribeObject = new SubscribeObject(this, listener, false);
|
|
216
217
|
this.listeners.push(subscribeObject);
|
|
217
218
|
return subscribeObject;
|
|
218
219
|
}
|
|
219
220
|
pipe() {
|
|
220
221
|
if (this._isDestroyed)
|
|
221
222
|
return undefined;
|
|
222
|
-
const subscribeObject = new SubscribeObject(this);
|
|
223
|
+
const subscribeObject = new SubscribeObject(this, undefined, true);
|
|
223
224
|
this.listeners.push(subscribeObject);
|
|
224
225
|
return subscribeObject;
|
|
225
226
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Observable, SubscribeObject } from "./Observable";
|
|
2
2
|
import { ICallback, IListener, IOrdered, IOrderedSetup, IOrderedSubscribe, IOrderedSubscriptionLike } from "./Types";
|
|
3
3
|
export declare class OrderedSubscribeObject<T> extends SubscribeObject<T> {
|
|
4
|
-
constructor(observable: OrderedObservable<T> | IOrdered<T>, listener?: IListener<T
|
|
4
|
+
constructor(observable: OrderedObservable<T> | IOrdered<T>, listener?: IListener<T>, isPipe?: boolean);
|
|
5
5
|
get order(): number;
|
|
6
6
|
set order(value: number);
|
|
7
7
|
subscribe(listener: IListener<T>): IOrderedSubscriptionLike<T>;
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.OrderedObservable = exports.OrderedSubscribeObject = void 0;
|
|
4
4
|
const Observable_1 = require("./Observable");
|
|
5
5
|
class OrderedSubscribeObject extends Observable_1.SubscribeObject {
|
|
6
|
-
constructor(observable, listener) {
|
|
7
|
-
super(observable, listener);
|
|
6
|
+
constructor(observable, listener, isPipe) {
|
|
7
|
+
super(observable, listener, isPipe);
|
|
8
8
|
}
|
|
9
9
|
get order() {
|
|
10
10
|
return this._order;
|
|
@@ -59,14 +59,14 @@ class OrderedObservable extends Observable_1.Observable {
|
|
|
59
59
|
return undefined;
|
|
60
60
|
if (!listener)
|
|
61
61
|
return undefined;
|
|
62
|
-
const subscribeObject = new OrderedSubscribeObject(this, listener);
|
|
62
|
+
const subscribeObject = new OrderedSubscribeObject(this, listener, false);
|
|
63
63
|
this.listeners.push(subscribeObject);
|
|
64
64
|
return subscribeObject;
|
|
65
65
|
}
|
|
66
66
|
pipe() {
|
|
67
67
|
if (this._isDestroyed)
|
|
68
68
|
return undefined;
|
|
69
|
-
const subscribeObject = new OrderedSubscribeObject(this);
|
|
69
|
+
const subscribeObject = new OrderedSubscribeObject(this, undefined, true);
|
|
70
70
|
this.listeners.push(subscribeObject);
|
|
71
71
|
return subscribeObject;
|
|
72
72
|
}
|