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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evg_observable",
3
- "version": "1.1.31",
3
+ "version": "1.1.32",
4
4
  "description": "Light observable",
5
5
  "directories": {
6
6
  "test": "test"
@@ -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
- (0, FunctionLibs_1.deleteFromArray)(this.list, subscriptionLike);
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
- constructor(observable?: IObserver<T>, listener?: IListener<T>);
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;
@@ -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 && listener((value));
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 && listener((value));
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 && listener((value));
52
+ listener(value);
49
53
  break;
50
54
  case !!subsObj.emitByNegativeCondition:
51
- !subsObj.emitByNegativeCondition() && listener && listener(value);
55
+ !subsObj.emitByNegativeCondition() && listener(value);
52
56
  break;
53
57
  case !!subsObj.emitByPositiveCondition:
54
- subsObj.emitByPositiveCondition() && listener && listener(value);
58
+ subsObj.emitByPositiveCondition() && listener(value);
55
59
  break;
56
60
  case !!subsObj.emitMatchCondition:
57
- (subsObj.emitMatchCondition() === value) && listener && listener(value);
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 && listener.send(value);
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
  }