evg_observable 2.14.57 → 2.14.58

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.57",
3
+ "version": "2.14.58",
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;function e(s,i){const e=s.indexOf(i);return-1!==e&&(s[e]=s[s.length-1],s.length=s.length-1,!0)}function t(s){return"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}}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((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}))}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)}}class l extends r{subscribe(s,i){return this.pipe.subscribe(s,i)}}class n extends h{constructor(s,i){super(),this.errorHandler=(s,i)=>{console.log(`(Unit of SubscribeObject).send(${s}) ERROR:`,i)},this._order=0,this.isPaused=!1,this.isPipe=!1,this.observable=s,this.isPipe=!!i}subscribe(s,i){return this.listener=function(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}get order(){return this._order}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}push(s){return this.chain.push(s),this}filter(s){return this.push((i=>{s(i.payload)&&(i.isAvailable=!0)}))}pushFilters(s){if(!Array.isArray(s))return this;for(let i=0;i<s.length;i++)this.filter(s[i]);return 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])}handleListenersForUnsubscribe(){const s=this.trash.length;for(let i=0;i<s;i++)this.unSubscribe(this.trash[i]);this.trash.length=0}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}get isDestroyed(){return this.isKilled}}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&&function(s,i){const e=s.indexOf(i);-1!==e&&s.splice(e,1)}(this.listeners,s))}}})();
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,6 +1,6 @@
1
1
  import { IListener, ISubscribeGroup, ISubscribeObject } from "./Types";
2
2
  export declare const sortAscending: (a: ISubscribeObject<any>, b: ISubscribeObject<any>) => 0 | 1 | -1;
3
3
  export declare const sortDescending: (a: ISubscribeObject<any>, b: ISubscribeObject<any>) => 0 | 1 | -1;
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>;
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>;
@@ -17,24 +17,24 @@ const sortDescending = (a, b) => {
17
17
  return 0;
18
18
  };
19
19
  exports.sortDescending = sortDescending;
20
- function deleteFromArray(arr, component) {
20
+ const 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
- function quickDeleteFromArray(arr, component) {
28
+ const 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
- function getListener(listener) {
37
+ const getListener = (listener) => {
38
38
  if (Array.isArray(listener)) {
39
39
  const group = [];
40
40
  for (let i = 0; i < listener.length; i++) {
@@ -46,10 +46,10 @@ function getListener(listener) {
46
46
  };
47
47
  }
48
48
  return wrapListener(listener);
49
- }
49
+ };
50
50
  exports.getListener = getListener;
51
- function wrapListener(listener) {
51
+ const wrapListener = (listener) => {
52
52
  if ("next" in listener)
53
53
  return (value) => listener.next(value);
54
54
  return listener;
55
- }
55
+ };