evg_observable 2.14.58 → 2.14.59

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": "2.14.58",
3
+ "version": "2.14.59",
4
4
  "description": "Alternative fast and light library version - observable.",
5
5
  "main": "src/outLib/index.js",
6
6
  "directories": {
@@ -1 +1 @@
1
- (()=>{"use strict";const s=(s,i)=>s.order>i.order?1:s.order<i.order?-1:0,i=(s,i)=>s.order>i.order?-1:s.order<i.order?1:0,e=(s,i)=>{const e=s.indexOf(i);return-1!==e&&(s[e]=s[s.length-1],s.length=s.length-1,!0)},t=s=>"next"in s?i=>s.next(i):s;class r{constructor(s){this.pipe=s,this.counter=s.chain.length?s.chain.length:0}case(s){this.counter++;const i=this.counter,e=this.pipe.chain;return e.push((t=>{t.isAvailable=!0,s(t.payload)&&(t.isBreak=!0),i!==e.length||t.isBreak||(t.isAvailable=!1)})),this}pushCases(s){if(!Array.isArray(s))return this;for(let i=0;i<s.length;i++)this.case(s[i]);return this}}class h{constructor(){this.chain=[],this.flow={isBreak:!1,isUnsubscribe:!1,isAvailable:!1,payload:null}}processChain(s){const i=this.chain,e=this.flow;for(let s=0;s<i.length;s++){if(e.isUnsubscribe=!1,e.isAvailable=!1,i[s](e),e.isUnsubscribe)return this.unsubscribe();if(!e.isAvailable)return;if(e.isBreak)break}return s(e.payload)}setOnce(){return this.push((s=>{this.listener(s.payload),s.isUnsubscribe=!0}))}unsubscribeBy(s){return this.push((i=>{i.isAvailable=!0,s(i.payload)&&(i.isUnsubscribe=!0)}))}refine(s){return this.push((i=>{s(i.payload)&&(i.isAvailable=!0)}))}pushRefiners(s){if(!Array.isArray(s))return this;for(let i=0;i<s.length;i++)this.refine(s[i]);return this}switch(){return new l(this)}then(s){return this.push((i=>{i.payload=s(i.payload),i.isAvailable=!0}))}serialize(){return this.push((s=>{s.payload=JSON.stringify(s.payload),s.isAvailable=!0}))}deserialize(){return this.push((s=>{s.payload=JSON.parse(s.payload),s.isAvailable=!0}))}push(s){return this.chain.push(s),this}}class l extends r{subscribe(s,i){return this.pipe.subscribe(s,i)}}class n extends h{get order(){return this._order}constructor(s,i){super(),this._order=0,this.isPaused=!1,this.isPipe=!1,this.errorHandler=(s,i)=>{console.log(`(Unit of SubscribeObject).send(${s}) ERROR:`,i)},this.observable=s,this.isPipe=!!i}subscribe(s,i){return this.listener=(s=>{if(Array.isArray(s)){const i=[];for(let e=0;e<s.length;e++)i.push(t(s[e]));return s=>{for(let e=0;e<i.length;e++)i[e](s)}}return t(s)})(s),i&&(this.errorHandler=i),this}unsubscribe(){this.observable&&(this.observable.unSubscribe(this),this.observable=null,this.listener=null,this.chain.length=0)}send(s){try{this.flow.payload=s,this.flow.isBreak=!1,this.processValue(s)}catch(i){this.errorHandler(s,i)}}resume(){this.isPaused=!1}pause(){this.isPaused=!0}set order(s){this._order=s}processValue(s){const i=this.listener;return i?this.observable&&!this.isPaused?this.isPipe?this.processChain(i):i(s):void 0:this.unsubscribe()}}class a{constructor(){this.chain=[],this.flow={isBreak:!1,isAvailable:!1,payload:null},this.response={isOK:!1,payload:void 0}}get isEmpty(){return!this.chain.length}pushFilters(s){if(!Array.isArray(s))return this;for(let i=0;i<s.length;i++)this.filter(s[i]);return this}filter(s){return this.push((i=>{s(i.payload)&&(i.isAvailable=!0)}))}push(s){return this.chain.push(s),this}switch(){return new o(this)}processChain(s){const i=this.chain,e=this.flow,t=this.response;t.isOK=!1,t.payload=void 0,e.payload=s,e.isBreak=!1;try{for(let s=0;s<i.length;s++){if(e.isAvailable=!1,i[s](e),!e.isAvailable)return t;if(e.isBreak)break}}catch(s){return this.errHandler?this.errHandler(s,"Filter.processChain ERROR:"):console.log("Filter.processChain ERROR:",s),t}return t.isOK=!0,t.payload=e.payload,t}addErrorHandler(s){this.errHandler=s}}class o extends r{}class u{constructor(s){this.value=s,this.listeners=[],this.isStop=!0,this.isKilled=!1,this.isProcess=!1,this.trash=[],this.filters=new a}addFilter(s){return s&&this.filters.addErrorHandler(s),this.filters}disable(){this.isStop=!1}enable(){this.isStop=!0}get isEnable(){return this.isStop}next(s){if(!this.isKilled&&this.isStop&&(this.filters.isEmpty||this.filters.processChain(s).isOK)){this.isProcess=!0,this.value=s;for(let i=0;i<this.listeners.length;i++)this.listeners[i].send(s);this.isProcess=!1,this.trash.length&&this.handleListenersForUnsubscribe()}}stream(s){if(!this.isKilled&&this.isStop)for(let i=0;i<s.length;i++)this.next(s[i])}get isDestroyed(){return this.isKilled}unSubscribe(s){this.isKilled||(this.isProcess&&s?this.trash.push(s):this.listeners&&e(this.listeners,s))}destroy(){this.value=null,this.unsubscribeAll(),this.listeners=null,this.isKilled=!0}unsubscribeAll(){this.isKilled||(this.listeners.length=0)}getValue(){if(!this.isKilled)return this.value}size(){return this.isKilled?0:this.listeners.length}subscribe(s,i){if(!this.isListener(s))return;const e=new n(this,!1);return this.addObserver(e,s,i),e}addObserver(s,i,e){s.subscribe(i,e),this.listeners.push(s)}isListener(s){return!this.isKilled&&!!s}pipe(){if(this.isKilled)return;const s=new n(this,!0);return this.listeners.push(s),s}handleListenersForUnsubscribe(){const s=this.trash.length;for(let i=0;i<s;i++)this.unSubscribe(this.trash[i]);this.trash.length=0}}class c extends n{constructor(s,i){super(s,i)}get order(){return this._order}set order(s){!this.observable||this.observable&&this.observable.isDestroyed?this._order=void 0:(this._order=s,this.observable.sortByOrder())}subscribe(s,i){return super.subscribe(s,i),this}setOnce(){return super.setOnce()}}const d=window;d.Observable=u,d.Collector=class{constructor(){this.list=[],this.isKilled=!1}collect(...s){this.isKilled||this.list.push(...s)}unsubscribe(s){this.isKilled||(s?.unsubscribe(),e(this.list,s))}unsubscribeAll(){if(!this.isKilled)for(;this.list.length>0;)this.unsubscribe(this.list.pop())}size(){return this.isKilled?0:this.list.length}destroy(){this.unsubscribeAll(),this.list.length=0,this.list=0,this.isKilled=!0}get isDestroyed(){return this.isKilled}},d.OrderedObservable=class extends u{constructor(){super(...arguments),this.sortDirection=s}setAscendingSort(){return this.sortDirection=s,this.sortByOrder()}setDescendingSort(){return this.sortDirection=i,this.sortByOrder()}sortByOrder(){return!this.isKilled&&(this.listeners.sort(this.sortDirection),!0)}subscribe(s,i){if(!this.isListener(s))return;const e=new c(this,!1);return this.addObserver(e,s,i),e}pipe(){if(this.isKilled)return;const s=new c(this,!0);return this.listeners.push(s),s}unSubscribe(s){this.isKilled||(this.isProcess&&s?this.trash.push(s):this.listeners&&((s,i)=>{const e=s.indexOf(i);-1!==e&&s.splice(e,1)})(this.listeners,s))}}})();
1
+ (()=>{"use strict";function s(s,r){return s.order>r.order?1:s.order<r.order?-1:0}function r(s,r){return s.order>r.order?-1:s.order<r.order?1:0}function e(s,r){const e=s.indexOf(r);return-1!==e&&(s[e]=s[s.length-1],s.length=s.length-1,!0)}function t(s){return"next"in s?r=>s.next(r):s}class i{constructor(s){this.pipe=s,this.counter=s.chain.length?s.chain.length:0}case(s){this.counter++;const r=this.counter,e=this.pipe.chain;return e.push((t=>{t.isAvailable=!0,s(t.payload)&&(t.isBreak=!0),r!==e.length||t.isBreak||(t.isAvailable=!1)})),this}pushCases(s){if(!Array.isArray(s))return this;for(let r=0;r<s.length;r++)this.case(s[r]);return this}}class h{constructor(){this.chain=[],this.flow={isBreak:!1,isUnsubscribe:!1,isAvailable:!1,payload:null}}push(s){return this.chain.push(s),this}setOnce(){return this.push((s=>{this.listener(s.payload),s.isUnsubscribe=!0}))}unsubscribeBy(s){return this.push((r=>{r.isAvailable=!0,s(r.payload)&&(r.isUnsubscribe=!0)}))}refine(s){return this.push((r=>s(r.payload)&&(r.isAvailable=!0)))}pushRefiners(s){if(!Array.isArray(s))return this;for(let r=0;r<s.length;r++)this.refine(s[r]);return this}switch(){return new n(this)}then(s){return this.push((r=>{r.payload=s(r.payload),r.isAvailable=!0}))}serialize(){return this.push((s=>{s.payload=JSON.stringify(s.payload),s.isAvailable=!0}))}deserialize(){return this.push((s=>{s.payload=JSON.parse(s.payload),s.isAvailable=!0}))}processChain(s){const r=this.chain,e=this.flow;for(let s=0;s<r.length;s++){if(e.isUnsubscribe=!1,e.isAvailable=!1,r[s](e),e.isUnsubscribe)return this.unsubscribe();if(!e.isAvailable)return;if(e.isBreak)break}return s(e.payload)}}class n extends i{subscribe(s,r){return this.pipe.subscribe(s,r)}}class l extends h{constructor(s,r){super(),this.errorHandler=(s,r)=>{console.log(`(Unit of SubscribeObject).send(${s}) ERROR:`,r)},this._order=0,this.paused=!1,this.piped=!1,this.observer=s,this.piped=!!r}subscribe(s,r){return this.listener=function(s){if(Array.isArray(s)){const r=[];for(let e=0;e<s.length;e++)r.push(t(s[e]));return s=>{for(let e=0;e<r.length;e++)r[e](s)}}return t(s)}(s),r&&(this.errorHandler=r),this}unsubscribe(){this.observer&&(this.observer.unSubscribe(this),this.observer=null,this.listener=null,this.chain.length=0)}send(s){try{this.flow.payload=s,this.flow.isBreak=!1,this.processValue(s)}catch(r){this.errorHandler(s,r)}}resume(){this.paused=!1}pause(){this.paused=!0}get order(){return this._order}set order(s){this._order=s}processValue(s){const r=this.listener;return r?this.observer&&!this.paused?this.piped?this.processChain(r):r(s):void 0:this.unsubscribe()}}class u{constructor(){this.chain=[],this.flow={isBreak:!1,isAvailable:!1,payload:null},this.response={isOK:!1,payload:void 0}}get isEmpty(){return!this.chain.length}push(s){return this.chain.push(s),this}filter(s){return this.push((r=>s(r.payload)&&(r.isAvailable=!0)))}pushFilters(s){if(!Array.isArray(s))return this;for(let r=0;r<s.length;r++)this.filter(s[r]);return this}switch(){return new a(this)}processChain(s){const r=this.chain,e=this.flow,t=this.response;t.isOK=!1,t.payload=void 0,e.payload=s,e.isBreak=!1;try{for(let s=0;s<r.length;s++){if(e.isAvailable=!1,r[s](e),!e.isAvailable)return t;if(e.isBreak)break}}catch(s){return this.errHandler?this.errHandler(s,"Filter.processChain ERROR:"):console.log("Filter.processChain ERROR:",s),t}return t.isOK=!0,t.payload=e.payload,t}addErrorHandler(s){this.errHandler=s}}class a extends i{}class o{constructor(s){this.value=s,this.subs=[],this.stop=!0,this.killed=!1,this.process=!1,this.trash=[],this.filters=new u}addFilter(s){return s&&this.filters.addErrorHandler(s),this.filters}disable(){this.stop=!1}enable(){this.stop=!0}get isEnable(){return this.stop}next(s){if(!this.killed&&this.stop&&(this.filters.isEmpty||this.filters.processChain(s).isOK)){this.process=!0,this.value=s;for(let r=0;r<this.subs.length;r++)this.subs[r].send(s);this.process=!1,this.trash.length&&this.clearTrash()}}stream(s){if(!this.killed&&this.stop)for(let r=0;r<s.length;r++)this.next(s[r])}clearTrash(){const s=this.trash.length;for(let r=0;r<s;r++)this.unSubscribe(this.trash[r]);this.trash.length=0}unSubscribe(s){this.killed||(this.process&&s?this.trash.push(s):this.subs&&e(this.subs,s))}destroy(){this.value=null,this.unsubscribeAll(),this.subs=null,this.killed=!0}unsubscribeAll(){this.killed||(this.subs.length=0)}getValue(){if(!this.killed)return this.value}size(){return this.killed?0:this.subs.length}subscribe(s,r){if(!this.isListener(s))return;const e=new l(this,!1);return this.addObserver(e,s,r),e}addObserver(s,r,e){s.subscribe(r,e),this.subs.push(s)}isListener(s){return!this.killed&&!!s}pipe(){if(this.killed)return;const s=new l(this,!0);return this.subs.push(s),s}get isDestroyed(){return this.killed}}class c extends l{constructor(s,r){super(s,r)}get order(){return this._order}set order(s){!this.observer||this.observer&&this.observer.isDestroyed?this._order=void 0:(this._order=s,this.observer.sortByOrder())}subscribe(s,r){return super.subscribe(s,r),this}setOnce(){return super.setOnce()}}const d=window;d.Observable=o,d.Collector=class{constructor(){this.arr=[],this.killed=!1}collect(...s){this.killed||this.arr.push(...s)}unsubscribe(s){this.killed||(s?.unsubscribe(),e(this.arr,s))}unsubscribeAll(){if(!this.killed)for(;this.arr.length>0;)this.unsubscribe(this.arr.pop())}size(){return this.killed?0:this.arr.length}destroy(){this.unsubscribeAll(),this.arr.length=0,this.arr=0,this.killed=!0}get isDestroyed(){return this.killed}},d.OrderedObservable=class extends o{constructor(){super(...arguments),this.sortDirection=s}setAscendingSort(){return this.sortDirection=s,this.sortByOrder()}setDescendingSort(){return this.sortDirection=r,this.sortByOrder()}sortByOrder(){return!this.killed&&(this.subs.sort(this.sortDirection),!0)}subscribe(s,r){if(!this.isListener(s))return;const e=new c(this,!1);return this.addObserver(e,s,r),e}pipe(){if(this.killed)return;const s=new c(this,!0);return this.subs.push(s),s}unSubscribe(s){this.killed||(this.process&&s?this.trash.push(s):this.subs&&function(s,r){const e=s.indexOf(r);-1!==e&&s.splice(e,1)}(this.subs,s))}}})();
@@ -1,7 +1,7 @@
1
1
  import { ICollector, ISubscriptionLike } from "./Types";
2
2
  export declare class Collector implements ICollector {
3
- protected list: ISubscriptionLike[];
4
- private isKilled;
3
+ protected arr: ISubscriptionLike[];
4
+ private killed;
5
5
  collect(...subscriptionLikeList: ISubscriptionLike[]): void;
6
6
  unsubscribe(subscriptionLike: ISubscriptionLike | undefined): void;
7
7
  unsubscribeAll(): void | null;
@@ -3,37 +3,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Collector = void 0;
4
4
  const FunctionLibs_1 = require("./FunctionLibs");
5
5
  class Collector {
6
- list = [];
7
- isKilled = false;
6
+ arr = [];
7
+ killed = false;
8
8
  collect(...subscriptionLikeList) {
9
- if (!this.isKilled)
10
- this.list.push(...subscriptionLikeList);
9
+ if (!this.killed)
10
+ this.arr.push(...subscriptionLikeList);
11
11
  }
12
12
  unsubscribe(subscriptionLike) {
13
- if (this.isKilled)
13
+ if (this.killed)
14
14
  return;
15
15
  subscriptionLike?.unsubscribe();
16
- (0, FunctionLibs_1.quickDeleteFromArray)(this.list, subscriptionLike);
16
+ (0, FunctionLibs_1.quickDeleteFromArray)(this.arr, subscriptionLike);
17
17
  }
18
18
  unsubscribeAll() {
19
- if (this.isKilled)
19
+ if (this.killed)
20
20
  return;
21
- while (this.list.length > 0)
22
- this.unsubscribe(this.list.pop());
21
+ while (this.arr.length > 0)
22
+ this.unsubscribe(this.arr.pop());
23
23
  }
24
24
  size() {
25
- if (this.isKilled)
25
+ if (this.killed)
26
26
  return 0;
27
- return this.list.length;
27
+ return this.arr.length;
28
28
  }
29
29
  destroy() {
30
30
  this.unsubscribeAll();
31
- this.list.length = 0;
32
- this.list = 0;
33
- this.isKilled = true;
31
+ this.arr.length = 0;
32
+ this.arr = 0;
33
+ this.killed = true;
34
34
  }
35
35
  get isDestroyed() {
36
- return this.isKilled;
36
+ return this.killed;
37
37
  }
38
38
  }
39
39
  exports.Collector = Collector;
@@ -15,10 +15,7 @@ class FilterCollection {
15
15
  return this;
16
16
  }
17
17
  filter(condition) {
18
- return this.push((data) => {
19
- if (condition(data.payload))
20
- data.isAvailable = true;
21
- });
18
+ return this.push((data) => condition(data.payload) && (data.isAvailable = true));
22
19
  }
23
20
  pushFilters(conditions) {
24
21
  if (!Array.isArray(conditions))
@@ -1,6 +1,6 @@
1
1
  import { IListener, ISubscribeGroup, ISubscribeObject } from "./Types";
2
- export declare const sortAscending: (a: ISubscribeObject<any>, b: ISubscribeObject<any>) => 0 | 1 | -1;
3
- export declare const sortDescending: (a: ISubscribeObject<any>, b: ISubscribeObject<any>) => 0 | 1 | -1;
4
- export declare const deleteFromArray: <T>(arr: T[], component: T) => boolean;
5
- export declare const quickDeleteFromArray: <T>(arr: T[], component: T) => boolean;
6
- export declare const getListener: <T>(listener: ISubscribeGroup<T>) => IListener<T>;
2
+ export declare function sortAscending(a: ISubscribeObject<any>, b: ISubscribeObject<any>): number;
3
+ export declare function sortDescending(a: ISubscribeObject<any>, b: ISubscribeObject<any>): number;
4
+ export declare function deleteFromArray<T>(arr: T[], component: T): boolean;
5
+ export declare function quickDeleteFromArray<T>(arr: T[], component: T): boolean;
6
+ export declare function getListener<T>(listener: ISubscribeGroup<T>): IListener<T>;
@@ -1,55 +1,54 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getListener = exports.quickDeleteFromArray = exports.deleteFromArray = exports.sortDescending = exports.sortAscending = void 0;
4
- const sortAscending = (a, b) => {
4
+ function sortAscending(a, b) {
5
5
  if (a.order > b.order)
6
6
  return 1;
7
7
  if (a.order < b.order)
8
8
  return -1;
9
9
  return 0;
10
- };
10
+ }
11
11
  exports.sortAscending = sortAscending;
12
- const sortDescending = (a, b) => {
12
+ function sortDescending(a, b) {
13
13
  if (a.order > b.order)
14
14
  return -1;
15
15
  if (a.order < b.order)
16
16
  return 1;
17
17
  return 0;
18
- };
18
+ }
19
19
  exports.sortDescending = sortDescending;
20
- const deleteFromArray = (arr, component) => {
20
+ function deleteFromArray(arr, component) {
21
21
  const index = arr.indexOf(component);
22
22
  if (index === -1)
23
23
  return false;
24
24
  arr.splice(index, 1);
25
25
  return true;
26
- };
26
+ }
27
27
  exports.deleteFromArray = deleteFromArray;
28
- const quickDeleteFromArray = (arr, component) => {
28
+ function quickDeleteFromArray(arr, component) {
29
29
  const index = arr.indexOf(component);
30
30
  if (index === -1)
31
31
  return false;
32
32
  arr[index] = arr[arr.length - 1];
33
33
  arr.length = arr.length - 1;
34
34
  return true;
35
- };
35
+ }
36
36
  exports.quickDeleteFromArray = quickDeleteFromArray;
37
- const getListener = (listener) => {
37
+ function getListener(listener) {
38
38
  if (Array.isArray(listener)) {
39
39
  const group = [];
40
- for (let i = 0; i < listener.length; i++) {
40
+ for (let i = 0; i < listener.length; i++)
41
41
  group.push(wrapListener(listener[i]));
42
- }
43
42
  return (data) => {
44
43
  for (let i = 0; i < group.length; i++)
45
44
  group[i](data);
46
45
  };
47
46
  }
48
47
  return wrapListener(listener);
49
- };
48
+ }
50
49
  exports.getListener = getListener;
51
- const wrapListener = (listener) => {
50
+ function wrapListener(listener) {
52
51
  if ("next" in listener)
53
52
  return (value) => listener.next(value);
54
53
  return listener;
55
- };
54
+ }
@@ -2,10 +2,10 @@ import { IAddFilter, IErrorCallback, IFilterSetup, IObserver, ISetup, IStream, I
2
2
  import { SubscribeObject } from "./SubscribeObject";
3
3
  export declare class Observable<T> implements IObserver<T>, IStream<T>, IAddFilter<T> {
4
4
  private value;
5
- protected listeners: ISubscribeObject<T>[];
6
- private isStop;
7
- protected isKilled: boolean;
8
- protected isProcess: boolean;
5
+ protected subs: ISubscribeObject<T>[];
6
+ private stop;
7
+ protected killed: boolean;
8
+ protected process: boolean;
9
9
  protected trash: ISubscriptionLike[];
10
10
  private filters;
11
11
  constructor(value: T);
@@ -15,7 +15,7 @@ export declare class Observable<T> implements IObserver<T>, IStream<T>, IAddFilt
15
15
  get isEnable(): boolean;
16
16
  next(value: T): void;
17
17
  stream(values: T[]): void;
18
- private handleListenersForUnsubscribe;
18
+ private clearTrash;
19
19
  unSubscribe(listener: ISubscriptionLike): void;
20
20
  destroy(): void;
21
21
  unsubscribeAll(): void;
@@ -6,89 +6,86 @@ const SubscribeObject_1 = require("./SubscribeObject");
6
6
  const FilterCollection_1 = require("./FilterCollection");
7
7
  class Observable {
8
8
  value;
9
- listeners = [];
10
- isStop = true;
11
- isKilled = false;
12
- isProcess = false;
9
+ subs = [];
10
+ stop = true;
11
+ killed = false;
12
+ process = false;
13
13
  trash = [];
14
14
  filters = new FilterCollection_1.FilterCollection();
15
15
  constructor(value) {
16
16
  this.value = value;
17
17
  }
18
18
  addFilter(errorHandler) {
19
- if (errorHandler) {
19
+ if (errorHandler)
20
20
  this.filters.addErrorHandler(errorHandler);
21
- }
22
21
  return this.filters;
23
22
  }
24
23
  disable() {
25
- this.isStop = false;
24
+ this.stop = false;
26
25
  }
27
26
  enable() {
28
- this.isStop = true;
27
+ this.stop = true;
29
28
  }
30
29
  get isEnable() {
31
- return this.isStop;
30
+ return this.stop;
32
31
  }
33
32
  next(value) {
34
- if (this.isKilled)
33
+ if (this.killed)
35
34
  return;
36
- if (!this.isStop)
35
+ if (!this.stop)
37
36
  return;
38
- if (!this.filters.isEmpty) {
39
- if (!this.filters.processChain(value).isOK)
40
- return;
41
- }
42
- this.isProcess = true;
37
+ if (!this.filters.isEmpty && !this.filters.processChain(value).isOK)
38
+ return;
39
+ this.process = true;
43
40
  this.value = value;
44
- for (let i = 0; i < this.listeners.length; i++)
45
- this.listeners[i].send(value);
46
- this.isProcess = false;
47
- this.trash.length && this.handleListenersForUnsubscribe();
41
+ for (let i = 0; i < this.subs.length; i++)
42
+ this.subs[i].send(value);
43
+ this.process = false;
44
+ this.trash.length && this.clearTrash();
48
45
  }
49
46
  stream(values) {
50
- if (this.isKilled)
47
+ if (this.killed)
51
48
  return;
52
- if (!this.isStop)
49
+ if (!this.stop)
53
50
  return;
54
51
  for (let i = 0; i < values.length; i++)
55
52
  this.next(values[i]);
56
53
  }
57
- handleListenersForUnsubscribe() {
54
+ clearTrash() {
58
55
  const length = this.trash.length;
59
56
  for (let i = 0; i < length; i++)
60
57
  this.unSubscribe(this.trash[i]);
61
58
  this.trash.length = 0;
62
59
  }
63
60
  unSubscribe(listener) {
64
- if (this.isKilled)
61
+ if (this.killed)
65
62
  return;
66
- if (this.isProcess && listener) {
63
+ if (this.process && listener) {
67
64
  this.trash.push(listener);
68
65
  return;
69
66
  }
70
- this.listeners && !(0, FunctionLibs_1.quickDeleteFromArray)(this.listeners, listener);
67
+ this.subs && !(0, FunctionLibs_1.quickDeleteFromArray)(this.subs, listener);
71
68
  }
72
69
  destroy() {
73
70
  this.value = null;
74
71
  this.unsubscribeAll();
75
- this.listeners = null;
76
- this.isKilled = true;
72
+ this.subs = null;
73
+ this.killed = true;
77
74
  }
78
75
  unsubscribeAll() {
79
- if (this.isKilled)
76
+ if (this.killed)
80
77
  return;
81
- this.listeners.length = 0;
78
+ this.subs.length = 0;
82
79
  }
83
80
  getValue() {
84
- if (this.isKilled)
81
+ if (this.killed)
85
82
  return undefined;
86
83
  return this.value;
87
84
  }
88
85
  size() {
89
- if (this.isKilled)
86
+ if (this.killed)
90
87
  return 0;
91
- return this.listeners.length;
88
+ return this.subs.length;
92
89
  }
93
90
  subscribe(observer, errorHandler) {
94
91
  if (!this.isListener(observer))
@@ -99,22 +96,22 @@ class Observable {
99
96
  }
100
97
  addObserver(subscribeObject, observer, errorHandler) {
101
98
  subscribeObject.subscribe(observer, errorHandler);
102
- this.listeners.push(subscribeObject);
99
+ this.subs.push(subscribeObject);
103
100
  }
104
101
  isListener(listener) {
105
- if (this.isKilled)
102
+ if (this.killed)
106
103
  return false;
107
104
  return !!listener;
108
105
  }
109
106
  pipe() {
110
- if (this.isKilled)
107
+ if (this.killed)
111
108
  return undefined;
112
109
  const subscribeObject = new SubscribeObject_1.SubscribeObject(this, true);
113
- this.listeners.push(subscribeObject);
110
+ this.subs.push(subscribeObject);
114
111
  return subscribeObject;
115
112
  }
116
113
  get isDestroyed() {
117
- return this.isKilled;
114
+ return this.killed;
118
115
  }
119
116
  }
120
117
  exports.Observable = Observable;
@@ -15,9 +15,9 @@ class OrderedObservable extends Observable_1.Observable {
15
15
  return this.sortByOrder();
16
16
  }
17
17
  sortByOrder() {
18
- if (this.isKilled)
18
+ if (this.killed)
19
19
  return false;
20
- this.listeners.sort(this.sortDirection);
20
+ this.subs.sort(this.sortDirection);
21
21
  return true;
22
22
  }
23
23
  subscribe(listener, errorHandler) {
@@ -28,20 +28,20 @@ class OrderedObservable extends Observable_1.Observable {
28
28
  return subscribeObject;
29
29
  }
30
30
  pipe() {
31
- if (this.isKilled)
31
+ if (this.killed)
32
32
  return undefined;
33
33
  const subscribeObject = new OrderedSubscribeObject_1.OrderedSubscribeObject(this, true);
34
- this.listeners.push(subscribeObject);
34
+ this.subs.push(subscribeObject);
35
35
  return subscribeObject;
36
36
  }
37
37
  unSubscribe(listener) {
38
- if (this.isKilled)
38
+ if (this.killed)
39
39
  return;
40
- if (this.isProcess && listener) {
40
+ if (this.process && listener) {
41
41
  this.trash.push(listener);
42
42
  return;
43
43
  }
44
- this.listeners && !(0, FunctionLibs_1.deleteFromArray)(this.listeners, listener);
44
+ this.subs && !(0, FunctionLibs_1.deleteFromArray)(this.subs, listener);
45
45
  }
46
46
  }
47
47
  exports.OrderedObservable = OrderedObservable;
@@ -10,13 +10,13 @@ class OrderedSubscribeObject extends SubscribeObject_1.SubscribeObject {
10
10
  return this._order;
11
11
  }
12
12
  set order(value) {
13
- if (!this.observable ||
14
- (this.observable && this.observable.isDestroyed)) {
13
+ if (!this.observer ||
14
+ (this.observer && this.observer.isDestroyed)) {
15
15
  this._order = undefined;
16
16
  return;
17
17
  }
18
18
  this._order = value;
19
- this.observable.sortByOrder();
19
+ this.observer.sortByOrder();
20
20
  }
21
21
  subscribe(observer, errorHandler) {
22
22
  super.subscribe(observer, errorHandler);
@@ -23,10 +23,7 @@ class Pipe {
23
23
  });
24
24
  }
25
25
  refine(condition) {
26
- return this.push((data) => {
27
- if (condition(data.payload))
28
- data.isAvailable = true;
29
- });
26
+ return this.push((data) => condition(data.payload) && (data.isAvailable = true));
30
27
  }
31
28
  pushRefiners(conditions) {
32
29
  if (!Array.isArray(conditions))
@@ -1,12 +1,12 @@
1
1
  import { IErrorCallback, IListener, IObserver, ISubscribeGroup, ISubscribeObject, ISubscriptionLike } from "./Types";
2
2
  import { Pipe } from "./Pipe";
3
3
  export declare class SubscribeObject<T> extends Pipe<T> implements ISubscribeObject<T> {
4
- observable: IObserver<T> | undefined;
4
+ observer: IObserver<T> | undefined;
5
5
  listener: IListener<T> | undefined;
6
6
  errorHandler: IErrorCallback;
7
7
  _order: number;
8
- isPaused: boolean;
9
- isPipe: boolean;
8
+ paused: boolean;
9
+ piped: boolean;
10
10
  constructor(observable?: IObserver<T>, isPipe?: boolean);
11
11
  subscribe(observer: ISubscribeGroup<T>, errorHandler?: IErrorCallback): ISubscriptionLike;
12
12
  unsubscribe(): void;
@@ -4,18 +4,18 @@ exports.SubscribeObject = void 0;
4
4
  const Pipe_1 = require("./Pipe");
5
5
  const FunctionLibs_1 = require("./FunctionLibs");
6
6
  class SubscribeObject extends Pipe_1.Pipe {
7
- observable;
7
+ observer;
8
8
  listener;
9
9
  errorHandler = (errorData, errorMessage) => {
10
10
  console.log(`(Unit of SubscribeObject).send(${errorData}) ERROR:`, errorMessage);
11
11
  };
12
12
  _order = 0;
13
- isPaused = false;
14
- isPipe = false;
13
+ paused = false;
14
+ piped = false;
15
15
  constructor(observable, isPipe) {
16
16
  super();
17
- this.observable = observable;
18
- this.isPipe = !!isPipe;
17
+ this.observer = observable;
18
+ this.piped = !!isPipe;
19
19
  }
20
20
  subscribe(observer, errorHandler) {
21
21
  this.listener = (0, FunctionLibs_1.getListener)(observer);
@@ -23,10 +23,10 @@ class SubscribeObject extends Pipe_1.Pipe {
23
23
  return this;
24
24
  }
25
25
  unsubscribe() {
26
- if (!this.observable)
26
+ if (!this.observer)
27
27
  return;
28
- this.observable.unSubscribe(this);
29
- this.observable = null;
28
+ this.observer.unSubscribe(this);
29
+ this.observer = null;
30
30
  this.listener = null;
31
31
  this.chain.length = 0;
32
32
  }
@@ -41,10 +41,10 @@ class SubscribeObject extends Pipe_1.Pipe {
41
41
  }
42
42
  }
43
43
  resume() {
44
- this.isPaused = false;
44
+ this.paused = false;
45
45
  }
46
46
  pause() {
47
- this.isPaused = true;
47
+ this.paused = true;
48
48
  }
49
49
  get order() {
50
50
  return this._order;
@@ -56,11 +56,11 @@ class SubscribeObject extends Pipe_1.Pipe {
56
56
  const listener = this.listener;
57
57
  if (!listener)
58
58
  return this.unsubscribe();
59
- if (!this.observable)
59
+ if (!this.observer)
60
60
  return;
61
- if (this.isPaused)
61
+ if (this.paused)
62
62
  return;
63
- if (!this.isPipe)
63
+ if (!this.piped)
64
64
  return listener(value);
65
65
  return this.processChain(listener);
66
66
  }