evg_observable 1.1.30 → 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,21 +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);
|
|
32
|
+
return;
|
|
28
33
|
case subsObj.once.isOnce:
|
|
29
34
|
subsObj.once.isFinished = true;
|
|
30
|
-
listener
|
|
35
|
+
listener(value);
|
|
31
36
|
subsObj.unsubscribe();
|
|
32
37
|
break;
|
|
33
38
|
case !!subsObj.unsubscribeByNegativeCondition:
|
|
@@ -36,7 +41,7 @@ class SubscribeObject {
|
|
|
36
41
|
subsObj.unsubscribe();
|
|
37
42
|
return;
|
|
38
43
|
}
|
|
39
|
-
listener
|
|
44
|
+
listener(value);
|
|
40
45
|
break;
|
|
41
46
|
case !!subsObj.unsubscribeByPositiveCondition:
|
|
42
47
|
if (subsObj.unsubscribeByPositiveCondition()) {
|
|
@@ -44,19 +49,17 @@ class SubscribeObject {
|
|
|
44
49
|
subsObj.unsubscribe();
|
|
45
50
|
return;
|
|
46
51
|
}
|
|
47
|
-
listener
|
|
52
|
+
listener(value);
|
|
48
53
|
break;
|
|
49
54
|
case !!subsObj.emitByNegativeCondition:
|
|
50
|
-
!subsObj.emitByNegativeCondition() && listener
|
|
55
|
+
!subsObj.emitByNegativeCondition() && listener(value);
|
|
51
56
|
break;
|
|
52
57
|
case !!subsObj.emitByPositiveCondition:
|
|
53
|
-
subsObj.emitByPositiveCondition() && listener
|
|
58
|
+
subsObj.emitByPositiveCondition() && listener(value);
|
|
54
59
|
break;
|
|
55
60
|
case !!subsObj.emitMatchCondition:
|
|
56
|
-
(subsObj.emitMatchCondition() === value) && listener
|
|
61
|
+
(subsObj.emitMatchCondition() === value) && listener(value);
|
|
57
62
|
break;
|
|
58
|
-
default:
|
|
59
|
-
listener && listener((value));
|
|
60
63
|
}
|
|
61
64
|
}
|
|
62
65
|
subscribe(listener) {
|
|
@@ -152,13 +155,18 @@ class Observable {
|
|
|
152
155
|
return;
|
|
153
156
|
this.value = value;
|
|
154
157
|
this.isNextProcess = true;
|
|
155
|
-
|
|
156
|
-
|
|
158
|
+
const length = this.listeners.length;
|
|
159
|
+
for (let i = 0; i < length; i++) {
|
|
160
|
+
const listener = this.listeners[i];
|
|
161
|
+
listener.send(value);
|
|
162
|
+
}
|
|
157
163
|
this.isNextProcess = false;
|
|
158
|
-
this.handleListenersForUnsubscribe();
|
|
164
|
+
this.listenersForUnsubscribe.length && this.handleListenersForUnsubscribe();
|
|
159
165
|
}
|
|
160
166
|
handleListenersForUnsubscribe() {
|
|
161
|
-
|
|
167
|
+
const length = this.listenersForUnsubscribe.length;
|
|
168
|
+
for (let i = 0; i < length; i++) {
|
|
169
|
+
const listener = this.listenersForUnsubscribe[i];
|
|
162
170
|
this.unSubscribe(listener);
|
|
163
171
|
}
|
|
164
172
|
this.listenersForUnsubscribe.length = 0;
|
|
@@ -172,8 +180,7 @@ class Observable {
|
|
|
172
180
|
marker.isMarkedForUnsubscribe = true;
|
|
173
181
|
return;
|
|
174
182
|
}
|
|
175
|
-
this.listeners &&
|
|
176
|
-
!(0, FunctionLibs_1.deleteFromArray)(this.listeners, listener);
|
|
183
|
+
this.listeners && FunctionLibs_1.deleteFromArray(this.listeners, listener);
|
|
177
184
|
}
|
|
178
185
|
destroy() {
|
|
179
186
|
this.value = 0;
|
|
@@ -206,14 +213,14 @@ class Observable {
|
|
|
206
213
|
return undefined;
|
|
207
214
|
if (!listener)
|
|
208
215
|
return undefined;
|
|
209
|
-
const subscribeObject = new SubscribeObject(this, listener);
|
|
216
|
+
const subscribeObject = new SubscribeObject(this, listener, false);
|
|
210
217
|
this.listeners.push(subscribeObject);
|
|
211
218
|
return subscribeObject;
|
|
212
219
|
}
|
|
213
220
|
pipe() {
|
|
214
221
|
if (this._isDestroyed)
|
|
215
222
|
return undefined;
|
|
216
|
-
const subscribeObject = new SubscribeObject(this);
|
|
223
|
+
const subscribeObject = new SubscribeObject(this, undefined, true);
|
|
217
224
|
this.listeners.push(subscribeObject);
|
|
218
225
|
return subscribeObject;
|
|
219
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
|
}
|
/package/{LICENSE.md → LICENSE}
RENAMED
|
File without changes
|