rx-tiny-flux 1.0.20 → 1.0.22

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.
@@ -2286,11 +2286,26 @@ function storePlugin(instance, store) {
2286
2286
  this.messaging.onCall(this.onAction);
2287
2287
 
2288
2288
  // Handle subscriptions at the App level.
2289
- this.subscribe = (selector, callback) => {
2289
+ /**
2290
+ * Subscribes to a piece of the store's state, with optional RxJS operators.
2291
+ * Subscriptions are automatically cleaned up when the App is destroyed.
2292
+ *
2293
+ * @param {function(object): any} selector A function to select a part of the state.
2294
+ * @param {...import('rxjs').OperatorFunction<any, any>} operators Zero or more RxJS operators to pipe.
2295
+ * @param {function(any): void} callback The function to execute with the selected state.
2296
+ * @returns {import('rxjs').Subscription} The subscription object.
2297
+ */
2298
+ this.subscribe = (selector, ...args) => {
2290
2299
  if (!this._subscriptions) {
2291
2300
  this._subscriptions = [];
2292
2301
  }
2293
- const subscription = this._store.select(selector).subscribe(callback);
2302
+
2303
+ const callback = args.pop();
2304
+ const operators = args; // The rest of the arguments are operators
2305
+
2306
+ const stream$ = this._store.select(selector);
2307
+ const piped$ = operators.length > 0 ? stream$.pipe(...operators) : stream$;
2308
+ const subscription = piped$.subscribe(callback);
2294
2309
  this._subscriptions.push(subscription);
2295
2310
  return subscription;
2296
2311
  };
@@ -2352,11 +2367,26 @@ function storePlugin(instance, store) {
2352
2367
  this._store.dispatch(actionWithContext);
2353
2368
  };
2354
2369
 
2355
- this.subscribe = (selector, callback) => {
2370
+ /**
2371
+ * Subscribes to a piece of the store's state, with optional RxJS operators.
2372
+ * Subscriptions are automatically cleaned up when the Page/Service is destroyed.
2373
+ *
2374
+ * @param {function(object): any} selector A function to select a part of the state.
2375
+ * @param {...import('rxjs').OperatorFunction<any, any>} operators Zero or more RxJS operators to pipe.
2376
+ * @param {function(any): void} callback The function to execute with the selected state.
2377
+ * @returns {import('rxjs').Subscription} The subscription object.
2378
+ */
2379
+ this.subscribe = (selector, ...args) => {
2356
2380
  if (!this._subscriptions) {
2357
2381
  this._subscriptions = [];
2358
2382
  }
2359
- const subscription = this._store.select(selector).subscribe(callback);
2383
+
2384
+ const callback = args.pop();
2385
+ const operators = args; // The rest of the arguments are operators
2386
+
2387
+ const stream$ = this._store.select(selector);
2388
+ const piped$ = operators.length > 0 ? stream$.pipe(...operators) : stream$;
2389
+ const subscription = piped$.subscribe(callback);
2360
2390
  this._subscriptions.push(subscription);
2361
2391
  return subscription;
2362
2392
  };
@@ -2394,7 +2424,7 @@ function storePlugin(instance, store) {
2394
2424
  */
2395
2425
  onDestroy() {
2396
2426
  // tear down the messaging listener
2397
- this.messaging.offCall(this.onAction);
2427
+ this.messaging.offOnCall(this.onAction);
2398
2428
 
2399
2429
  if (this._subscriptions && this._subscriptions.length > 0) {
2400
2430
  this._subscriptions.forEach((sub) => sub.unsubscribe());
@@ -2413,11 +2443,11 @@ function storePlugin(instance, store) {
2413
2443
  * using a provided selector.
2414
2444
  *
2415
2445
  * This operator is designed for environments like ZeppOS where the store instance is not
2416
- * easily accessible at effect declaration time. It safely leverages the `subscribe` method
2417
- * injected into the action's `context` by the `storePlugin`.
2446
+ * easily accessible at effect declaration time. It safely leverages the `_store` instance
2447
+ * available on the action's `context`.
2418
2448
  *
2419
- * It subscribes to get the current value, takes only that one value, and immediately
2420
- * unsubscribes, preventing memory leaks.
2449
+ * It selects the current value from the store, takes only that one value, and completes,
2450
+ * preventing memory leaks.
2421
2451
  *
2422
2452
  * @param {function(object): any} selector - The selector function to get a slice of the state.
2423
2453
  * @returns {import('rxjs').OperatorFunction<Action, [Action, any]>} A new observable that emits an array containing the original action and the selected state slice.
@@ -2425,27 +2455,18 @@ function storePlugin(instance, store) {
2425
2455
  const withLatestFromStore = (selector) => (source$) =>
2426
2456
  source$.pipe(
2427
2457
  mergeMap((action) => {
2428
- if (!action.context || typeof action.context.subscribe !== 'function') {
2458
+ if (!action.context || !action.context._store || typeof action.context._store.select !== 'function') {
2429
2459
  throw new Error(
2430
- '[rx-tiny-flux] `withLatestFromStore` operator requires a `subscribe` method on `action.context`. Ensure you are using the `storePlugin` for ZeppOS.'
2460
+ '[rx-tiny-flux] `withLatestFromStore` could not find a valid store on `action.context._store`. Ensure the `storePlugin` is correctly configured.'
2431
2461
  );
2432
2462
  }
2433
2463
 
2434
- // Create a new Observable that wraps the context's subscribe method.
2435
- return new Observable((subscriber) => {
2436
- // Use the safe, lifecycle-aware subscribe method from the context.
2437
- const subscription = action.context.subscribe(selector, (stateSlice) => {
2438
- subscriber.next(stateSlice); // Emit the state slice
2439
- subscriber.complete(); // We only need the first value
2440
- });
2441
-
2442
- // The returned function is the teardown logic, which unsubscribes.
2443
- return () => {
2444
- subscription.unsubscribe();
2445
- };
2446
- }).pipe(
2447
- // Map the state slice to the desired [action, stateSlice] format.
2448
- map((stateSlice) => [action, stateSlice])
2464
+ // Directly use the store's select method, take the first value, and map it.
2465
+ return action.context._store.select(selector).pipe(
2466
+ // Take the first (and current) value, then automatically complete.
2467
+ take(1),
2468
+ // Combine the original action with the retrieved state slice.
2469
+ map(stateSlice => [action, stateSlice])
2449
2470
  );
2450
2471
  })
2451
2472
  );
@@ -2483,4 +2504,4 @@ const propagateAction = () => tap((action) => {
2483
2504
  }
2484
2505
  });
2485
2506
 
2486
- export { EMPTY, Store, anyAction, catchError, concatMap, createAction, createEffect, createFeatureSelector, createReducer, createSelector, defer, delay, exhaustMap, filter, from, isApp, isSideService, map, mergeMap, of, ofType, on, pipe, propagateAction, storePlugin, switchMap, tap, withLatestFrom, withLatestFromStore };
2507
+ export { EMPTY, Store, anyAction, catchError, concatMap, createAction, createEffect, createFeatureSelector, createReducer, createSelector, defer, delay, exhaustMap, filter, from, isApp, isSideService, map, mergeMap, of, ofType, on, pipe, propagateAction, storePlugin, switchMap, take, tap, withLatestFrom, withLatestFromStore };
@@ -1 +1 @@
1
- var t=function(n,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])},t(n,e)};function n(n,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=n}t(n,e),n.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function e(t,n,e,r){return new(e||(e=Promise))(function(o,i){function u(t){try{c(r.next(t))}catch(t){i(t)}}function s(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){var n;t.done?o(t.value):(n=t.value,n instanceof e?n:new e(function(t){t(n)})).then(u,s)}c((r=r.apply(t,n||[])).next())})}function r(t,n){var e,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return u.next=s(0),u.throw=s(1),u.return=s(2),"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function s(s){return function(c){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(i=0)),i;)try{if(e=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=n.call(t,i)}catch(t){s=[6,t],r=0}finally{e=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}function o(t){var n="function"==typeof Symbol&&Symbol.iterator,e=n&&t[n],r=0;if(e)return e.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function i(t,n){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!e)return t;var r,o,i=e.call(t),u=[];try{for(;(void 0===n||n-- >0)&&!(r=i.next()).done;)u.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(o)throw o.error}}return u}function u(t,n,e){if(e||2===arguments.length)for(var r,o=0,i=n.length;o<i;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return t.concat(r||Array.prototype.slice.call(n))}function s(t){return this instanceof s?(this.v=t,this):new s(t)}function c(t,n,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=e.apply(t,n||[]),i=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),u("next"),u("throw"),u("return",function(t){return function(n){return Promise.resolve(n).then(t,l)}}),r[Symbol.asyncIterator]=function(){return this},r;function u(t,n){o[t]&&(r[t]=function(n){return new Promise(function(e,r){i.push([t,n,e,r])>1||c(t,n)})},n&&(r[t]=n(r[t])))}function c(t,n){try{(e=o[t](n)).value instanceof s?Promise.resolve(e.value.v).then(a,l):f(i[0][2],e)}catch(t){f(i[0][3],t)}var e}function a(t){c("next",t)}function l(t){c("throw",t)}function f(t,n){t(n),i.shift(),i.length&&c(i[0][0],i[0][1])}}function a(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,e=t[Symbol.asyncIterator];return e?e.call(t):(t=o(t),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(e){n[e]=t[e]&&function(n){return new Promise(function(r,o){(function(t,n,e,r){Promise.resolve(r).then(function(n){t({value:n,done:e})},n)})(r,o,(n=t[e](n)).done,n.value)})}}}function l(t){return"function"==typeof t}function f(t){var n=t(function(t){Error.call(t),t.stack=(new Error).stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}"function"==typeof SuppressedError&&SuppressedError;var h=f(function(t){return function(n){t(this),this.message=n?n.length+" errors occurred during unsubscription:\n"+n.map(function(t,n){return n+1+") "+t.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=n}});function p(t,n){if(t){var e=t.indexOf(n);0<=e&&t.splice(e,1)}}var d=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}var n;return t.prototype.unsubscribe=function(){var t,n,e,r,s;if(!this.closed){this.closed=!0;var c=this._parentage;if(c)if(this._parentage=null,Array.isArray(c))try{for(var a=o(c),f=a.next();!f.done;f=a.next()){f.value.remove(this)}}catch(n){t={error:n}}finally{try{f&&!f.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}else c.remove(this);var p=this.initialTeardown;if(l(p))try{p()}catch(t){s=t instanceof h?t.errors:[t]}var d=this._finalizers;if(d){this._finalizers=null;try{for(var b=o(d),v=b.next();!v.done;v=b.next()){var m=v.value;try{y(m)}catch(t){s=null!=s?s:[],t instanceof h?s=u(u([],i(s)),i(t.errors)):s.push(t)}}}catch(t){e={error:t}}finally{try{v&&!v.done&&(r=b.return)&&r.call(b)}finally{if(e)throw e.error}}}if(s)throw new h(s)}},t.prototype.add=function(n){var e;if(n&&n!==this)if(this.closed)y(n);else{if(n instanceof t){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(n)}},t.prototype._hasParent=function(t){var n=this._parentage;return n===t||Array.isArray(n)&&n.includes(t)},t.prototype._addParent=function(t){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t},t.prototype._removeParent=function(t){var n=this._parentage;n===t?this._parentage=null:Array.isArray(n)&&p(n,t)},t.prototype.remove=function(n){var e=this._finalizers;e&&p(e,n),n instanceof t&&n._removeParent(this)},t.EMPTY=((n=new t).closed=!0,n),t}(),b=d.EMPTY;function v(t){return t instanceof d||t&&"closed"in t&&l(t.remove)&&l(t.add)&&l(t.unsubscribe)}function y(t){l(t)?t():t.unsubscribe()}var m={Promise:void 0},w=function(t,n){for(var e=[],r=2;r<arguments.length;r++)e[r-2]=arguments[r];return setTimeout.apply(void 0,u([t,n],i(e)))};function _(t){w(function(){throw t})}function g(){}function x(t){t()}var S=function(t){function e(n){var e=t.call(this)||this;return e.isStopped=!1,n?(e.destination=n,v(n)&&n.add(e)):e.destination=P,e}return n(e,t),e.create=function(t,n,e){return new E(t,n,e)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(d),A=function(){function t(t){this.partialObserver=t}return t.prototype.next=function(t){var n=this.partialObserver;if(n.next)try{n.next(t)}catch(t){O(t)}},t.prototype.error=function(t){var n=this.partialObserver;if(n.error)try{n.error(t)}catch(t){O(t)}else O(t)},t.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(t){O(t)}},t}(),E=function(t){function e(n,e,r){var o,i=t.call(this)||this;return o=l(n)||!n?{next:null!=n?n:void 0,error:null!=e?e:void 0,complete:null!=r?r:void 0}:n,i.destination=new A(o),i}return n(e,t),e}(S);function O(t){_(t)}var P={closed:!0,next:g,error:function(t){throw t},complete:g},I="function"==typeof Symbol&&Symbol.observable||"@@observable";function C(t){return t}function T(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return j(t)}function j(t){return 0===t.length?C:1===t.length?t[0]:function(n){return t.reduce(function(t,n){return n(t)},n)}}var z=function(){function t(t){t&&(this._subscribe=t)}return t.prototype.lift=function(n){var e=new t;return e.source=this,e.operator=n,e},t.prototype.subscribe=function(t,n,e){var r,o=this,i=(r=t)&&r instanceof S||function(t){return t&&l(t.next)&&l(t.error)&&l(t.complete)}(r)&&v(r)?t:new E(t,n,e);return x(function(){var t=o,n=t.operator,e=t.source;i.add(n?n.call(i,e):e?o._subscribe(i):o._trySubscribe(i))}),i},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(n){t.error(n)}},t.prototype.forEach=function(t,n){var e=this;return new(n=$(n))(function(n,r){var o=new E({next:function(n){try{t(n)}catch(t){r(t),o.unsubscribe()}},error:r,complete:n});e.subscribe(o)})},t.prototype._subscribe=function(t){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(t)},t.prototype[I]=function(){return this},t.prototype.pipe=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return j(t)(this)},t.prototype.toPromise=function(t){var n=this;return new(t=$(t))(function(t,e){var r;n.subscribe(function(t){return r=t},function(t){return e(t)},function(){return t(r)})})},t.create=function(n){return new t(n)},t}();function $(t){var n;return null!==(n=null!=t?t:m.Promise)&&void 0!==n?n:Promise}function k(t){return function(n){if(function(t){return l(null==t?void 0:t.lift)}(n))return n.lift(function(n){try{return t(n,this)}catch(t){this.error(t)}});throw new TypeError("Unable to lift unknown Observable type")}}function F(t,n,e,r,o){return new N(t,n,e,r,o)}var N=function(t){function e(n,e,r,o,i,u){var s=t.call(this,n)||this;return s.onFinalize=i,s.shouldUnsubscribe=u,s._next=e?function(t){try{e(t)}catch(t){n.error(t)}}:t.prototype._next,s._error=o?function(t){try{o(t)}catch(t){n.error(t)}finally{this.unsubscribe()}}:t.prototype._error,s._complete=r?function(){try{r()}catch(t){n.error(t)}finally{this.unsubscribe()}}:t.prototype._complete,s}return n(e,t),e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var e=this.closed;t.prototype.unsubscribe.call(this),!e&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}},e}(S),R=f(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),B=function(t){function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return n(e,t),e.prototype.lift=function(t){var n=new D(this,this);return n.operator=t,n},e.prototype._throwIfClosed=function(){if(this.closed)throw new R},e.prototype.next=function(t){var n=this;x(function(){var e,r;if(n._throwIfClosed(),!n.isStopped){n.currentObservers||(n.currentObservers=Array.from(n.observers));try{for(var i=o(n.currentObservers),u=i.next();!u.done;u=i.next()){u.value.next(t)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}}})},e.prototype.error=function(t){var n=this;x(function(){if(n._throwIfClosed(),!n.isStopped){n.hasError=n.isStopped=!0,n.thrownError=t;for(var e=n.observers;e.length;)e.shift().error(t)}})},e.prototype.complete=function(){var t=this;x(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var n=t.observers;n.length;)n.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var n=this,e=this,r=e.hasError,o=e.isStopped,i=e.observers;return r||o?b:(this.currentObservers=null,i.push(t),new d(function(){n.currentObservers=null,p(i,t)}))},e.prototype._checkFinalizedStatuses=function(t){var n=this,e=n.hasError,r=n.thrownError,o=n.isStopped;e?t.error(r):o&&t.complete()},e.prototype.asObservable=function(){var t=new z;return t.source=this,t},e.create=function(t,n){return new D(t,n)},e}(z),D=function(t){function e(n,e){var r=t.call(this)||this;return r.destination=n,r.source=e,r}return n(e,t),e.prototype.next=function(t){var n,e;null===(e=null===(n=this.destination)||void 0===n?void 0:n.next)||void 0===e||e.call(n,t)},e.prototype.error=function(t){var n,e;null===(e=null===(n=this.destination)||void 0===n?void 0:n.error)||void 0===e||e.call(n,t)},e.prototype.complete=function(){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===n||n.call(t)},e.prototype._subscribe=function(t){var n,e;return null!==(e=null===(n=this.source)||void 0===n?void 0:n.subscribe(t))&&void 0!==e?e:b},e}(B),J=function(t){function e(n){var e=t.call(this)||this;return e._value=n,e}return n(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(n){var e=t.prototype._subscribe.call(this,n);return!e.closed&&n.next(this._value),e},e.prototype.getValue=function(){var t=this,n=t.hasError,e=t.thrownError,r=t._value;if(n)throw e;return this._throwIfClosed(),r},e.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},e}(B),U={now:function(){return(U.delegate||Date).now()},delegate:void 0},W=function(t){function e(n,e,r){void 0===n&&(n=1/0),void 0===e&&(e=1/0),void 0===r&&(r=U);var o=t.call(this)||this;return o._bufferSize=n,o._windowTime=e,o._timestampProvider=r,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=e===1/0,o._bufferSize=Math.max(1,n),o._windowTime=Math.max(1,e),o}return n(e,t),e.prototype.next=function(n){var e=this,r=e.isStopped,o=e._buffer,i=e._infiniteTimeWindow,u=e._timestampProvider,s=e._windowTime;r||(o.push(n),!i&&o.push(u.now()+s)),this._trimBuffer(),t.prototype.next.call(this,n)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var n=this._innerSubscribe(t),e=this._infiniteTimeWindow,r=this._buffer.slice(),o=0;o<r.length&&!t.closed;o+=e?1:2)t.next(r[o]);return this._checkFinalizedStatuses(t),n},e.prototype._trimBuffer=function(){var t=this,n=t._bufferSize,e=t._timestampProvider,r=t._buffer,o=t._infiniteTimeWindow,i=(o?1:2)*n;if(n<1/0&&i<r.length&&r.splice(0,r.length-i),!o){for(var u=e.now(),s=0,c=1;c<r.length&&r[c]<=u;c+=2)s=c;s&&r.splice(0,s+1)}},e}(B),M=function(t){function e(n,e){return t.call(this)||this}return n(e,t),e.prototype.schedule=function(t,n){return this},e}(d),Y=function(t,n){for(var e=[],r=2;r<arguments.length;r++)e[r-2]=arguments[r];return setInterval.apply(void 0,u([t,n],i(e)))},q=function(t){return clearInterval(t)},V=function(t){function e(n,e){var r=t.call(this,n,e)||this;return r.scheduler=n,r.work=e,r.pending=!1,r}return n(e,t),e.prototype.schedule=function(t,n){var e;if(void 0===n&&(n=0),this.closed)return this;this.state=t;var r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,n)),this.pending=!0,this.delay=n,this.id=null!==(e=this.id)&&void 0!==e?e:this.requestAsyncId(o,this.id,n),this},e.prototype.requestAsyncId=function(t,n,e){return void 0===e&&(e=0),Y(t.flush.bind(t,this),e)},e.prototype.recycleAsyncId=function(t,n,e){if(void 0===e&&(e=0),null!=e&&this.delay===e&&!1===this.pending)return n;null!=n&&q(n)},e.prototype.execute=function(t,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var e=this._execute(t,n);if(e)return e;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,n){var e,r=!1;try{this.work(t)}catch(t){r=!0,e=t||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),e},e.prototype.unsubscribe=function(){if(!this.closed){var n=this.id,e=this.scheduler,r=e.actions;this.work=this.state=this.scheduler=null,this.pending=!1,p(r,this),null!=n&&(this.id=this.recycleAsyncId(e,n,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(M),Z=function(){function t(n,e){void 0===e&&(e=t.now),this.schedulerActionCtor=n,this.now=e}return t.prototype.schedule=function(t,n,e){return void 0===n&&(n=0),new this.schedulerActionCtor(this,t).schedule(e,n)},t.now=U.now,t}(),L=new(function(t){function e(n,e){void 0===e&&(e=Z.now);var r=t.call(this,n,e)||this;return r.actions=[],r._active=!1,r}return n(e,t),e.prototype.flush=function(t){var n=this.actions;if(this._active)n.push(t);else{var e;this._active=!0;do{if(e=t.execute(t.state,t.delay))break}while(t=n.shift());if(this._active=!1,e){for(;t=n.shift();)t.unsubscribe();throw e}}},e}(Z))(V),G=L,K=new z(function(t){return t.complete()});function H(t){return t&&l(t.schedule)}function Q(t){return t[t.length-1]}function X(t){return H(Q(t))?t.pop():void 0}var tt=function(t){return t&&"number"==typeof t.length&&"function"!=typeof t};function nt(t){return l(null==t?void 0:t.then)}function et(t){return l(t[I])}function rt(t){return Symbol.asyncIterator&&l(null==t?void 0:t[Symbol.asyncIterator])}function ot(t){return new TypeError("You provided "+(null!==t&&"object"==typeof t?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var it="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function ut(t){return l(null==t?void 0:t[it])}function st(t){return c(this,arguments,function(){var n,e,o;return r(this,function(r){switch(r.label){case 0:n=t.getReader(),r.label=1;case 1:r.trys.push([1,,9,10]),r.label=2;case 2:return[4,s(n.read())];case 3:return e=r.sent(),o=e.value,e.done?[4,s(void 0)]:[3,5];case 4:return[2,r.sent()];case 5:return[4,s(o)];case 6:return[4,r.sent()];case 7:return r.sent(),[3,2];case 8:return[3,10];case 9:return n.releaseLock(),[7];case 10:return[2]}})})}function ct(t){return l(null==t?void 0:t.getReader)}function at(t){if(t instanceof z)return t;if(null!=t){if(et(t))return i=t,new z(function(t){var n=i[I]();if(l(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(tt(t))return r=t,new z(function(t){for(var n=0;n<r.length&&!t.closed;n++)t.next(r[n]);t.complete()});if(nt(t))return e=t,new z(function(t){e.then(function(n){t.closed||(t.next(n),t.complete())},function(n){return t.error(n)}).then(null,_)});if(rt(t))return lt(t);if(ut(t))return n=t,new z(function(t){var e,r;try{for(var i=o(n),u=i.next();!u.done;u=i.next()){var s=u.value;if(t.next(s),t.closed)return}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}t.complete()});if(ct(t))return lt(st(t))}var n,e,r,i;throw ot(t)}function lt(t){return new z(function(n){(function(t,n){var o,i,u,s;return e(this,void 0,void 0,function(){var e,c;return r(this,function(r){switch(r.label){case 0:r.trys.push([0,5,6,11]),o=a(t),r.label=1;case 1:return[4,o.next()];case 2:if((i=r.sent()).done)return[3,4];if(e=i.value,n.next(e),n.closed)return[2];r.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=r.sent(),u={error:c},[3,11];case 6:return r.trys.push([6,,9,10]),i&&!i.done&&(s=o.return)?[4,s.call(o)]:[3,8];case 7:r.sent(),r.label=8;case 8:return[3,10];case 9:if(u)throw u.error;return[7];case 10:return[7];case 11:return n.complete(),[2]}})})})(t,n).catch(function(t){return n.error(t)})})}function ft(t,n,e,r,o){void 0===r&&(r=0),void 0===o&&(o=!1);var i=n.schedule(function(){e(),o?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(i),!o)return i}function ht(t,n){return void 0===n&&(n=0),k(function(e,r){e.subscribe(F(r,function(e){return ft(r,t,function(){return r.next(e)},n)},function(){return ft(r,t,function(){return r.complete()},n)},function(e){return ft(r,t,function(){return r.error(e)},n)}))})}function pt(t,n){return void 0===n&&(n=0),k(function(e,r){r.add(t.schedule(function(){return e.subscribe(r)},n))})}function dt(t,n){if(!t)throw new Error("Iterable cannot be null");return new z(function(e){ft(e,n,function(){var r=t[Symbol.asyncIterator]();ft(e,n,function(){r.next().then(function(t){t.done?e.complete():e.next(t.value)})},0,!0)})})}function bt(t,n){if(null!=t){if(et(t))return function(t,n){return at(t).pipe(pt(n),ht(n))}(t,n);if(tt(t))return function(t,n){return new z(function(e){var r=0;return n.schedule(function(){r===t.length?e.complete():(e.next(t[r++]),e.closed||this.schedule())})})}(t,n);if(nt(t))return function(t,n){return at(t).pipe(pt(n),ht(n))}(t,n);if(rt(t))return dt(t,n);if(ut(t))return function(t,n){return new z(function(e){var r;return ft(e,n,function(){r=t[it](),ft(e,n,function(){var t,n,o;try{n=(t=r.next()).value,o=t.done}catch(t){return void e.error(t)}o?e.complete():e.next(n)},0,!0)}),function(){return l(null==r?void 0:r.return)&&r.return()}})}(t,n);if(ct(t))return function(t,n){return dt(st(t),n)}(t,n)}throw ot(t)}function vt(t,n){return n?bt(t,n):at(t)}function yt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return vt(t,X(t))}function mt(t,n){return k(function(e,r){var o=0;e.subscribe(F(r,function(e){r.next(t.call(n,e,o++))}))})}function wt(t,n,e){return void 0===e&&(e=1/0),l(n)?wt(function(e,r){return mt(function(t,o){return n(e,t,r,o)})(at(t(e,r)))},e):("number"==typeof n&&(e=n),k(function(n,r){return function(t,n,e,r,o,i,u){var s=[],c=0,a=0,l=!1,f=function(){!l||s.length||c||n.complete()},h=function(t){c++;var o=!1;at(e(t,a++)).subscribe(F(n,function(t){n.next(t)},function(){o=!0},void 0,function(){if(o)try{c--;for(var t=function(){var t=s.shift();u||h(t)};s.length&&c<r;)t();f()}catch(t){n.error(t)}}))};return t.subscribe(F(n,function(t){return c<r?h(t):s.push(t)},function(){l=!0,f()})),function(){}}(n,r,t,e)}))}function _t(){return wt(C,1)}function gt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return _t()(vt(t,X(t)))}function xt(t){return new z(function(n){at(t()).subscribe(n)})}function St(t,n,e){void 0===t&&(t=0),void 0===e&&(e=G);var r=-1;return null!=n&&(H(n)?e=n:r=n),new z(function(n){var o,i=(o=t)instanceof Date&&!isNaN(o)?+t-e.now():t;i<0&&(i=0);var u=0;return e.schedule(function(){n.closed||(n.next(u++),0<=r?this.schedule(void 0,r):n.complete())},i)})}function At(t,n){return k(function(e,r){var o=0;e.subscribe(F(r,function(e){return t.call(n,e,o++)&&r.next(e)}))})}function Et(t){return k(function(n,e){var r,o=null,i=!1;o=n.subscribe(F(e,void 0,void 0,function(u){r=at(t(u,Et(t)(n))),o?(o.unsubscribe(),o=null,r.subscribe(e)):i=!0})),i&&(o.unsubscribe(),o=null,r.subscribe(e))})}function Ot(t,n){return l(n)?wt(t,n,1):wt(t,1)}function Pt(t,n){return wt(function(n,e){return at(t(n,e)).pipe((r=1)<=0?function(){return K}:k(function(t,n){var e=0;t.subscribe(F(n,function(t){++e<=r&&(n.next(t),r<=e&&n.complete())}))}),function(t){return mt(function(){return t})}(n));var r})}function It(t,n){void 0===n&&(n=L);var e=St(t,n);return Pt(function(){return e})}function Ct(t,n){return t===n}function Tt(t,n){return n?function(e){return e.pipe(Tt(function(e,r){return at(t(e,r)).pipe(mt(function(t,o){return n(e,t,r,o)}))}))}:k(function(n,e){var r=0,o=null,i=!1;n.subscribe(F(e,function(n){o||(o=F(e,void 0,function(){o=null,i&&e.complete()}),at(t(n,r++)).subscribe(o))},function(){i=!0,!o&&e.complete()}))})}function jt(t,n){return k(function(t,n,e,r,o){return function(r,i){var u=e,s=n,c=0;r.subscribe(F(i,function(n){var e=c++;s=u?t(s,n,e):(u=!0,n),i.next(s)},o))}}(t,n,arguments.length>=2))}function zt(t,n){for(var e=[],r=2;r<arguments.length;r++)e[r-2]=arguments[r];if(!0!==n){if(!1!==n){var o=new E({next:function(){o.unsubscribe(),t()}});return at(n.apply(void 0,u([],i(e)))).subscribe(o)}}else t()}function $t(t,n,e){var r;return r=t,function(t){void 0===t&&(t={});var n=t.connector,e=void 0===n?function(){return new B}:n,r=t.resetOnError,o=void 0===r||r,i=t.resetOnComplete,u=void 0===i||i,s=t.resetOnRefCountZero,c=void 0===s||s;return function(t){var n,r,i,s=0,a=!1,l=!1,f=function(){null==r||r.unsubscribe(),r=void 0},h=function(){f(),n=i=void 0,a=l=!1},p=function(){var t=n;h(),null==t||t.unsubscribe()};return k(function(t,d){s++,l||a||f();var b=i=null!=i?i:e();d.add(function(){0!==--s||l||a||(r=zt(p,c))}),b.subscribe(d),!n&&s>0&&(n=new E({next:function(t){return b.next(t)},error:function(t){l=!0,f(),r=zt(h,o,t),b.error(t)},complete:function(){a=!0,f(),r=zt(h,u),b.complete()}}),at(t).subscribe(n))})(t)}}({connector:function(){return new W(r,n,e)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:!1})}function kt(t,n){return k(function(e,r){var o=null,i=0,u=!1,s=function(){return u&&!o&&r.complete()};e.subscribe(F(r,function(e){null==o||o.unsubscribe();var u=0,c=i++;at(t(e,c)).subscribe(o=F(r,function(t){return r.next(n?n(e,t,c,u++):t)},function(){o=null,s()}))},function(){u=!0,s()}))})}function Ft(t,n,e){var r=l(t)||n||e?{next:t,error:n,complete:e}:t;return r?k(function(t,n){var e;null===(e=r.subscribe)||void 0===e||e.call(r);var o=!0;t.subscribe(F(n,function(t){var e;null===(e=r.next)||void 0===e||e.call(r,t),n.next(t)},function(){var t;o=!1,null===(t=r.complete)||void 0===t||t.call(r),n.complete()},function(t){var e;o=!1,null===(e=r.error)||void 0===e||e.call(r,t),n.error(t)},function(){var t,n;o&&(null===(t=r.unsubscribe)||void 0===t||t.call(r)),null===(n=r.finalize)||void 0===n||n.call(r)}))}):C}function Nt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e,r=l(Q(e=t))?e.pop():void 0;return k(function(n,e){for(var o=t.length,s=new Array(o),c=t.map(function(){return!1}),a=!1,l=function(n){at(t[n]).subscribe(F(e,function(t){s[n]=t,a||c[n]||(c[n]=!0,(a=c.every(C))&&(c=null))},g))},f=0;f<o;f++)l(f);n.subscribe(F(e,function(t){if(a){var n=u([t],i(s));e.next(r?r.apply(void 0,u([],i(n))):n)}}))})}class Rt{_state$;_actions$=new B;get actions$(){return this._actions$.asObservable()}_reducers=[];_context=null;constructor(t={}){const n="function"==typeof structuredClone?structuredClone(t):JSON.parse(JSON.stringify(t));this._state$=new J(n);const e=this._actions$.pipe(jt((t,n)=>{const e=JSON.parse(JSON.stringify(t));return this._reducers.forEach(({path:t,reducerFn:r})=>{const o=e[t],i=r(o,n);void 0!==i&&o!==i&&(e[t]=i)}),e},n),function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=X(t);return k(function(n,r){(e?gt(t,n,e):gt(t,n)).subscribe(r)})}(t),$t(1));e.subscribe(this._state$)}registerReducers(...t){this._reducers.push(...t);const n=this._state$.getValue(),e=JSON.parse(JSON.stringify(n));t.forEach(({path:t,initialState:n})=>{void 0===e[t]&&(e[t]=n)}),this._state$.next(e)}setContext(t){this._context=t}registerEffects(...t){t.forEach(t=>{const n=t._rxEffect||{dispatch:!0};let e=t(this._actions$);n.dispatch?e.pipe(mt(t=>this._context&&!t.context?{...t,context:this._context}:t)).subscribe(t=>this.dispatch(t)):e.subscribe()})}dispatch(t){this._actions$.next(t)}select(t){return this._state$.pipe(mt(n=>t(n)),(void 0===e&&(e=C),n=null!=n?n:Ct,k(function(t,r){var o,i=!0;t.subscribe(F(r,function(t){var u=e(t);!i&&n(o,u)||(i=!1,o=u,r.next(t))}))})));var n,e}}function Bt(t){const n=n=>({type:t,...n});return n.type=t,n}function Dt(){}function Jt(...t){const n=t.pop(),e=t,r=e.includes(Dt);if(r&&e.length>1)throw new Error("The `anyAction` token cannot be mixed with other action creators in a single `on` handler.");return{types:e.map(t=>t.type),reducerFn:n,isCatchAll:r}}function Ut(t,n,...e){if(!t||"string"!=typeof t)throw new Error("Reducer featureKey must be a non-empty string.");const r=e.filter(t=>!t.isCatchAll),o=e.find(t=>t.isCatchAll);return{path:t,initialState:n,reducerFn:(t=n,e)=>{for(const n of r)if(n.types.includes(e.type))return n.reducerFn(t,e);return o?o.reducerFn(t,e):t}}}function Wt(...t){const n=t.map(t=>t.type);return At(t=>n.includes(t.type))}function Mt(t,n={dispatch:!0}){if("function"!=typeof t)throw new Error("Effect must be a function.");return Object.defineProperty(t,"_rxEffect",{value:{dispatch:!1!==n.dispatch},enumerable:!1}),t}function Yt(t,n){return e=>{const r=e[t];return n?n(r):r}}function qt(...t){const n=t.pop(),e=t;if("function"!=typeof n)throw new Error("The last argument to createSelector must be a projection function.");return t=>{const r=e.map(n=>n(t));return n(...r)}}function Vt(t,n){return{onCreate(){n?(n.setContext(this),this.debug("Attach the store and a dispatch method to the App instance."),this._store=n,this.dispatch=t=>{const n={...t,context:this};this._store.dispatch(n)},this.onAction=t=>{t&&"string"==typeof t.type?(this.debug(`Dispatching action ${t.type} from App.onAction.`),this.dispatch(t)):this.debug("Not an Action, discarding the message on App.onAction.")},this.messaging.onCall(this.onAction),this.subscribe=(t,n)=>{this._subscriptions||(this._subscriptions=[]);const e=this._store.select(t).subscribe(n);return this._subscriptions.push(e),e}):console.error("[rx-tiny-flux] StorePlugin Error: A store instance must be provided to `BaseApp.use(storePlugin, store)`.")},onInit(){let t;const e="undefined"!=typeof messaging;if(e)n?(n.setContext(this),t=n,this.onAction=t=>{t&&"string"==typeof t.type?(this.debug(`Dispatching action ${t.type} from SideService.onAction.`),this.dispatch(t)):this.debug("Not an Action, discarding the message on SideService.onAction.")}):console.error("[rx-tiny-flux] StorePlugin Error: A store instance must be provided to `BaseSideService.use(storePlugin, store)`.");else{const n=getApp();n&&n._store?t=n._store:console.error("[rx-tiny-flux] Store not found on global App object. Ensure the plugin is registered on BaseApp."),this.onAction=()=>{}}if(!t)return this.onAction=()=>console.error("[rx-tiny-flux] OnAction failed: store not initialized."),this.messaging.onCall(this.onAction),this.dispatch=()=>console.error("[rx-tiny-flux] Dispatch failed: store not initialized."),void(this.subscribe=()=>console.error("[rx-tiny-flux] Subscribe failed: store not initialized."));this._store=t,this.messaging.onCall(this.onAction),this.debug(`Attaching store methods to the ${e?"SideService":"Page"} instance.`),this.dispatch=t=>{const n={...t,context:this};this._store.dispatch(n)},this.subscribe=(t,n)=>{this._subscriptions||(this._subscriptions=[]);const e=this._store.select(t).subscribe(n);return this._subscriptions.push(e),e},e||(this.listen=(t,n)=>{const e=(Array.isArray(t)?t:[t]).map(t=>"function"==typeof t?t.type:t);if(e.some(t=>"string"!=typeof t))throw new Error("[rx-tiny-flux] listen: actionTypes must be strings or action creators with a `type` property.");this._subscriptions||(this._subscriptions=[]);const r=this._store.actions$.pipe(At(t=>e.includes(t.type))).subscribe(n);this._subscriptions.push(r)})},onDestroy(){this.messaging.offCall(this.onAction),this._subscriptions&&this._subscriptions.length>0&&(this._subscriptions.forEach(t=>t.unsubscribe()),this._subscriptions=[])}}}const Zt=t=>n=>n.pipe(wt(n=>{if(!n.context||"function"!=typeof n.context.subscribe)throw new Error("[rx-tiny-flux] `withLatestFromStore` operator requires a `subscribe` method on `action.context`. Ensure you are using the `storePlugin` for ZeppOS.");return new z(e=>{const r=n.context.subscribe(t,t=>{e.next(t),e.complete()});return()=>{r.unsubscribe()}}).pipe(mt(t=>[n,t]))})),Lt=()=>At(()=>"undefined"!=typeof messaging),Gt=()=>At(()=>"undefined"==typeof messaging),Kt=()=>Ft(t=>{if(t.context&&"function"==typeof t.context.call){t.context.debug(`Propagation action '${t.type}' through messaging.call(action).`);const{context:n,...e}=t;t.context.call(e)}else console.debug(`No context: Action '${t.type}' not propagated through messaging.call(action).`)});export{K as EMPTY,Rt as Store,Dt as anyAction,Et as catchError,Ot as concatMap,Bt as createAction,Mt as createEffect,Yt as createFeatureSelector,Ut as createReducer,qt as createSelector,xt as defer,It as delay,Tt as exhaustMap,At as filter,vt as from,Gt as isApp,Lt as isSideService,mt as map,wt as mergeMap,yt as of,Wt as ofType,Jt as on,T as pipe,Kt as propagateAction,Vt as storePlugin,kt as switchMap,Ft as tap,Nt as withLatestFrom,Zt as withLatestFromStore};
1
+ var t=function(n,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])},t(n,e)};function n(n,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=n}t(n,e),n.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function e(t,n,e,r){return new(e||(e=Promise))(function(o,i){function u(t){try{c(r.next(t))}catch(t){i(t)}}function s(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){var n;t.done?o(t.value):(n=t.value,n instanceof e?n:new e(function(t){t(n)})).then(u,s)}c((r=r.apply(t,n||[])).next())})}function r(t,n){var e,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return u.next=s(0),u.throw=s(1),u.return=s(2),"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function s(s){return function(c){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(i=0)),i;)try{if(e=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=n.call(t,i)}catch(t){s=[6,t],r=0}finally{e=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}function o(t){var n="function"==typeof Symbol&&Symbol.iterator,e=n&&t[n],r=0;if(e)return e.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function i(t,n){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!e)return t;var r,o,i=e.call(t),u=[];try{for(;(void 0===n||n-- >0)&&!(r=i.next()).done;)u.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(o)throw o.error}}return u}function u(t,n,e){if(e||2===arguments.length)for(var r,o=0,i=n.length;o<i;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return t.concat(r||Array.prototype.slice.call(n))}function s(t){return this instanceof s?(this.v=t,this):new s(t)}function c(t,n,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=e.apply(t,n||[]),i=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),u("next"),u("throw"),u("return",function(t){return function(n){return Promise.resolve(n).then(t,l)}}),r[Symbol.asyncIterator]=function(){return this},r;function u(t,n){o[t]&&(r[t]=function(n){return new Promise(function(e,r){i.push([t,n,e,r])>1||c(t,n)})},n&&(r[t]=n(r[t])))}function c(t,n){try{(e=o[t](n)).value instanceof s?Promise.resolve(e.value.v).then(a,l):f(i[0][2],e)}catch(t){f(i[0][3],t)}var e}function a(t){c("next",t)}function l(t){c("throw",t)}function f(t,n){t(n),i.shift(),i.length&&c(i[0][0],i[0][1])}}function a(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,e=t[Symbol.asyncIterator];return e?e.call(t):(t=o(t),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(e){n[e]=t[e]&&function(n){return new Promise(function(r,o){(function(t,n,e,r){Promise.resolve(r).then(function(n){t({value:n,done:e})},n)})(r,o,(n=t[e](n)).done,n.value)})}}}function l(t){return"function"==typeof t}function f(t){var n=t(function(t){Error.call(t),t.stack=(new Error).stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}"function"==typeof SuppressedError&&SuppressedError;var h=f(function(t){return function(n){t(this),this.message=n?n.length+" errors occurred during unsubscription:\n"+n.map(function(t,n){return n+1+") "+t.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=n}});function p(t,n){if(t){var e=t.indexOf(n);0<=e&&t.splice(e,1)}}var d=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}var n;return t.prototype.unsubscribe=function(){var t,n,e,r,s;if(!this.closed){this.closed=!0;var c=this._parentage;if(c)if(this._parentage=null,Array.isArray(c))try{for(var a=o(c),f=a.next();!f.done;f=a.next()){f.value.remove(this)}}catch(n){t={error:n}}finally{try{f&&!f.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}else c.remove(this);var p=this.initialTeardown;if(l(p))try{p()}catch(t){s=t instanceof h?t.errors:[t]}var d=this._finalizers;if(d){this._finalizers=null;try{for(var b=o(d),v=b.next();!v.done;v=b.next()){var m=v.value;try{y(m)}catch(t){s=null!=s?s:[],t instanceof h?s=u(u([],i(s)),i(t.errors)):s.push(t)}}}catch(t){e={error:t}}finally{try{v&&!v.done&&(r=b.return)&&r.call(b)}finally{if(e)throw e.error}}}if(s)throw new h(s)}},t.prototype.add=function(n){var e;if(n&&n!==this)if(this.closed)y(n);else{if(n instanceof t){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(n)}},t.prototype._hasParent=function(t){var n=this._parentage;return n===t||Array.isArray(n)&&n.includes(t)},t.prototype._addParent=function(t){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t},t.prototype._removeParent=function(t){var n=this._parentage;n===t?this._parentage=null:Array.isArray(n)&&p(n,t)},t.prototype.remove=function(n){var e=this._finalizers;e&&p(e,n),n instanceof t&&n._removeParent(this)},t.EMPTY=((n=new t).closed=!0,n),t}(),b=d.EMPTY;function v(t){return t instanceof d||t&&"closed"in t&&l(t.remove)&&l(t.add)&&l(t.unsubscribe)}function y(t){l(t)?t():t.unsubscribe()}var m={Promise:void 0},w=function(t,n){for(var e=[],r=2;r<arguments.length;r++)e[r-2]=arguments[r];return setTimeout.apply(void 0,u([t,n],i(e)))};function _(t){w(function(){throw t})}function g(){}function x(t){t()}var S=function(t){function e(n){var e=t.call(this)||this;return e.isStopped=!1,n?(e.destination=n,v(n)&&n.add(e)):e.destination=P,e}return n(e,t),e.create=function(t,n,e){return new E(t,n,e)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(d),A=function(){function t(t){this.partialObserver=t}return t.prototype.next=function(t){var n=this.partialObserver;if(n.next)try{n.next(t)}catch(t){O(t)}},t.prototype.error=function(t){var n=this.partialObserver;if(n.error)try{n.error(t)}catch(t){O(t)}else O(t)},t.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(t){O(t)}},t}(),E=function(t){function e(n,e,r){var o,i=t.call(this)||this;return o=l(n)||!n?{next:null!=n?n:void 0,error:null!=e?e:void 0,complete:null!=r?r:void 0}:n,i.destination=new A(o),i}return n(e,t),e}(S);function O(t){_(t)}var P={closed:!0,next:g,error:function(t){throw t},complete:g},I="function"==typeof Symbol&&Symbol.observable||"@@observable";function C(t){return t}function T(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return j(t)}function j(t){return 0===t.length?C:1===t.length?t[0]:function(n){return t.reduce(function(t,n){return n(t)},n)}}var z=function(){function t(t){t&&(this._subscribe=t)}return t.prototype.lift=function(n){var e=new t;return e.source=this,e.operator=n,e},t.prototype.subscribe=function(t,n,e){var r,o=this,i=(r=t)&&r instanceof S||function(t){return t&&l(t.next)&&l(t.error)&&l(t.complete)}(r)&&v(r)?t:new E(t,n,e);return x(function(){var t=o,n=t.operator,e=t.source;i.add(n?n.call(i,e):e?o._subscribe(i):o._trySubscribe(i))}),i},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(n){t.error(n)}},t.prototype.forEach=function(t,n){var e=this;return new(n=$(n))(function(n,r){var o=new E({next:function(n){try{t(n)}catch(t){r(t),o.unsubscribe()}},error:r,complete:n});e.subscribe(o)})},t.prototype._subscribe=function(t){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(t)},t.prototype[I]=function(){return this},t.prototype.pipe=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return j(t)(this)},t.prototype.toPromise=function(t){var n=this;return new(t=$(t))(function(t,e){var r;n.subscribe(function(t){return r=t},function(t){return e(t)},function(){return t(r)})})},t.create=function(n){return new t(n)},t}();function $(t){var n;return null!==(n=null!=t?t:m.Promise)&&void 0!==n?n:Promise}function k(t){return function(n){if(function(t){return l(null==t?void 0:t.lift)}(n))return n.lift(function(n){try{return t(n,this)}catch(t){this.error(t)}});throw new TypeError("Unable to lift unknown Observable type")}}function F(t,n,e,r,o){return new N(t,n,e,r,o)}var N=function(t){function e(n,e,r,o,i,u){var s=t.call(this,n)||this;return s.onFinalize=i,s.shouldUnsubscribe=u,s._next=e?function(t){try{e(t)}catch(t){n.error(t)}}:t.prototype._next,s._error=o?function(t){try{o(t)}catch(t){n.error(t)}finally{this.unsubscribe()}}:t.prototype._error,s._complete=r?function(){try{r()}catch(t){n.error(t)}finally{this.unsubscribe()}}:t.prototype._complete,s}return n(e,t),e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var e=this.closed;t.prototype.unsubscribe.call(this),!e&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}},e}(S),R=f(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),B=function(t){function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return n(e,t),e.prototype.lift=function(t){var n=new D(this,this);return n.operator=t,n},e.prototype._throwIfClosed=function(){if(this.closed)throw new R},e.prototype.next=function(t){var n=this;x(function(){var e,r;if(n._throwIfClosed(),!n.isStopped){n.currentObservers||(n.currentObservers=Array.from(n.observers));try{for(var i=o(n.currentObservers),u=i.next();!u.done;u=i.next()){u.value.next(t)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}}})},e.prototype.error=function(t){var n=this;x(function(){if(n._throwIfClosed(),!n.isStopped){n.hasError=n.isStopped=!0,n.thrownError=t;for(var e=n.observers;e.length;)e.shift().error(t)}})},e.prototype.complete=function(){var t=this;x(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var n=t.observers;n.length;)n.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var n=this,e=this,r=e.hasError,o=e.isStopped,i=e.observers;return r||o?b:(this.currentObservers=null,i.push(t),new d(function(){n.currentObservers=null,p(i,t)}))},e.prototype._checkFinalizedStatuses=function(t){var n=this,e=n.hasError,r=n.thrownError,o=n.isStopped;e?t.error(r):o&&t.complete()},e.prototype.asObservable=function(){var t=new z;return t.source=this,t},e.create=function(t,n){return new D(t,n)},e}(z),D=function(t){function e(n,e){var r=t.call(this)||this;return r.destination=n,r.source=e,r}return n(e,t),e.prototype.next=function(t){var n,e;null===(e=null===(n=this.destination)||void 0===n?void 0:n.next)||void 0===e||e.call(n,t)},e.prototype.error=function(t){var n,e;null===(e=null===(n=this.destination)||void 0===n?void 0:n.error)||void 0===e||e.call(n,t)},e.prototype.complete=function(){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===n||n.call(t)},e.prototype._subscribe=function(t){var n,e;return null!==(e=null===(n=this.source)||void 0===n?void 0:n.subscribe(t))&&void 0!==e?e:b},e}(B),J=function(t){function e(n){var e=t.call(this)||this;return e._value=n,e}return n(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(n){var e=t.prototype._subscribe.call(this,n);return!e.closed&&n.next(this._value),e},e.prototype.getValue=function(){var t=this,n=t.hasError,e=t.thrownError,r=t._value;if(n)throw e;return this._throwIfClosed(),r},e.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},e}(B),U={now:function(){return(U.delegate||Date).now()},delegate:void 0},W=function(t){function e(n,e,r){void 0===n&&(n=1/0),void 0===e&&(e=1/0),void 0===r&&(r=U);var o=t.call(this)||this;return o._bufferSize=n,o._windowTime=e,o._timestampProvider=r,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=e===1/0,o._bufferSize=Math.max(1,n),o._windowTime=Math.max(1,e),o}return n(e,t),e.prototype.next=function(n){var e=this,r=e.isStopped,o=e._buffer,i=e._infiniteTimeWindow,u=e._timestampProvider,s=e._windowTime;r||(o.push(n),!i&&o.push(u.now()+s)),this._trimBuffer(),t.prototype.next.call(this,n)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var n=this._innerSubscribe(t),e=this._infiniteTimeWindow,r=this._buffer.slice(),o=0;o<r.length&&!t.closed;o+=e?1:2)t.next(r[o]);return this._checkFinalizedStatuses(t),n},e.prototype._trimBuffer=function(){var t=this,n=t._bufferSize,e=t._timestampProvider,r=t._buffer,o=t._infiniteTimeWindow,i=(o?1:2)*n;if(n<1/0&&i<r.length&&r.splice(0,r.length-i),!o){for(var u=e.now(),s=0,c=1;c<r.length&&r[c]<=u;c+=2)s=c;s&&r.splice(0,s+1)}},e}(B),M=function(t){function e(n,e){return t.call(this)||this}return n(e,t),e.prototype.schedule=function(t,n){return this},e}(d),Y=function(t,n){for(var e=[],r=2;r<arguments.length;r++)e[r-2]=arguments[r];return setInterval.apply(void 0,u([t,n],i(e)))},V=function(t){return clearInterval(t)},q=function(t){function e(n,e){var r=t.call(this,n,e)||this;return r.scheduler=n,r.work=e,r.pending=!1,r}return n(e,t),e.prototype.schedule=function(t,n){var e;if(void 0===n&&(n=0),this.closed)return this;this.state=t;var r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,n)),this.pending=!0,this.delay=n,this.id=null!==(e=this.id)&&void 0!==e?e:this.requestAsyncId(o,this.id,n),this},e.prototype.requestAsyncId=function(t,n,e){return void 0===e&&(e=0),Y(t.flush.bind(t,this),e)},e.prototype.recycleAsyncId=function(t,n,e){if(void 0===e&&(e=0),null!=e&&this.delay===e&&!1===this.pending)return n;null!=n&&V(n)},e.prototype.execute=function(t,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var e=this._execute(t,n);if(e)return e;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,n){var e,r=!1;try{this.work(t)}catch(t){r=!0,e=t||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),e},e.prototype.unsubscribe=function(){if(!this.closed){var n=this.id,e=this.scheduler,r=e.actions;this.work=this.state=this.scheduler=null,this.pending=!1,p(r,this),null!=n&&(this.id=this.recycleAsyncId(e,n,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(M),L=function(){function t(n,e){void 0===e&&(e=t.now),this.schedulerActionCtor=n,this.now=e}return t.prototype.schedule=function(t,n,e){return void 0===n&&(n=0),new this.schedulerActionCtor(this,t).schedule(e,n)},t.now=U.now,t}(),Z=new(function(t){function e(n,e){void 0===e&&(e=L.now);var r=t.call(this,n,e)||this;return r.actions=[],r._active=!1,r}return n(e,t),e.prototype.flush=function(t){var n=this.actions;if(this._active)n.push(t);else{var e;this._active=!0;do{if(e=t.execute(t.state,t.delay))break}while(t=n.shift());if(this._active=!1,e){for(;t=n.shift();)t.unsubscribe();throw e}}},e}(L))(q),G=Z,K=new z(function(t){return t.complete()});function H(t){return t&&l(t.schedule)}function Q(t){return t[t.length-1]}function X(t){return H(Q(t))?t.pop():void 0}var tt=function(t){return t&&"number"==typeof t.length&&"function"!=typeof t};function nt(t){return l(null==t?void 0:t.then)}function et(t){return l(t[I])}function rt(t){return Symbol.asyncIterator&&l(null==t?void 0:t[Symbol.asyncIterator])}function ot(t){return new TypeError("You provided "+(null!==t&&"object"==typeof t?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var it="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function ut(t){return l(null==t?void 0:t[it])}function st(t){return c(this,arguments,function(){var n,e,o;return r(this,function(r){switch(r.label){case 0:n=t.getReader(),r.label=1;case 1:r.trys.push([1,,9,10]),r.label=2;case 2:return[4,s(n.read())];case 3:return e=r.sent(),o=e.value,e.done?[4,s(void 0)]:[3,5];case 4:return[2,r.sent()];case 5:return[4,s(o)];case 6:return[4,r.sent()];case 7:return r.sent(),[3,2];case 8:return[3,10];case 9:return n.releaseLock(),[7];case 10:return[2]}})})}function ct(t){return l(null==t?void 0:t.getReader)}function at(t){if(t instanceof z)return t;if(null!=t){if(et(t))return i=t,new z(function(t){var n=i[I]();if(l(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(tt(t))return r=t,new z(function(t){for(var n=0;n<r.length&&!t.closed;n++)t.next(r[n]);t.complete()});if(nt(t))return e=t,new z(function(t){e.then(function(n){t.closed||(t.next(n),t.complete())},function(n){return t.error(n)}).then(null,_)});if(rt(t))return lt(t);if(ut(t))return n=t,new z(function(t){var e,r;try{for(var i=o(n),u=i.next();!u.done;u=i.next()){var s=u.value;if(t.next(s),t.closed)return}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}t.complete()});if(ct(t))return lt(st(t))}var n,e,r,i;throw ot(t)}function lt(t){return new z(function(n){(function(t,n){var o,i,u,s;return e(this,void 0,void 0,function(){var e,c;return r(this,function(r){switch(r.label){case 0:r.trys.push([0,5,6,11]),o=a(t),r.label=1;case 1:return[4,o.next()];case 2:if((i=r.sent()).done)return[3,4];if(e=i.value,n.next(e),n.closed)return[2];r.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=r.sent(),u={error:c},[3,11];case 6:return r.trys.push([6,,9,10]),i&&!i.done&&(s=o.return)?[4,s.call(o)]:[3,8];case 7:r.sent(),r.label=8;case 8:return[3,10];case 9:if(u)throw u.error;return[7];case 10:return[7];case 11:return n.complete(),[2]}})})})(t,n).catch(function(t){return n.error(t)})})}function ft(t,n,e,r,o){void 0===r&&(r=0),void 0===o&&(o=!1);var i=n.schedule(function(){e(),o?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(i),!o)return i}function ht(t,n){return void 0===n&&(n=0),k(function(e,r){e.subscribe(F(r,function(e){return ft(r,t,function(){return r.next(e)},n)},function(){return ft(r,t,function(){return r.complete()},n)},function(e){return ft(r,t,function(){return r.error(e)},n)}))})}function pt(t,n){return void 0===n&&(n=0),k(function(e,r){r.add(t.schedule(function(){return e.subscribe(r)},n))})}function dt(t,n){if(!t)throw new Error("Iterable cannot be null");return new z(function(e){ft(e,n,function(){var r=t[Symbol.asyncIterator]();ft(e,n,function(){r.next().then(function(t){t.done?e.complete():e.next(t.value)})},0,!0)})})}function bt(t,n){if(null!=t){if(et(t))return function(t,n){return at(t).pipe(pt(n),ht(n))}(t,n);if(tt(t))return function(t,n){return new z(function(e){var r=0;return n.schedule(function(){r===t.length?e.complete():(e.next(t[r++]),e.closed||this.schedule())})})}(t,n);if(nt(t))return function(t,n){return at(t).pipe(pt(n),ht(n))}(t,n);if(rt(t))return dt(t,n);if(ut(t))return function(t,n){return new z(function(e){var r;return ft(e,n,function(){r=t[it](),ft(e,n,function(){var t,n,o;try{n=(t=r.next()).value,o=t.done}catch(t){return void e.error(t)}o?e.complete():e.next(n)},0,!0)}),function(){return l(null==r?void 0:r.return)&&r.return()}})}(t,n);if(ct(t))return function(t,n){return dt(st(t),n)}(t,n)}throw ot(t)}function vt(t,n){return n?bt(t,n):at(t)}function yt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return vt(t,X(t))}function mt(t,n){return k(function(e,r){var o=0;e.subscribe(F(r,function(e){r.next(t.call(n,e,o++))}))})}function wt(t,n,e){return void 0===e&&(e=1/0),l(n)?wt(function(e,r){return mt(function(t,o){return n(e,t,r,o)})(at(t(e,r)))},e):("number"==typeof n&&(e=n),k(function(n,r){return function(t,n,e,r,o,i,u){var s=[],c=0,a=0,l=!1,f=function(){!l||s.length||c||n.complete()},h=function(t){c++;var o=!1;at(e(t,a++)).subscribe(F(n,function(t){n.next(t)},function(){o=!0},void 0,function(){if(o)try{c--;for(var t=function(){var t=s.shift();u||h(t)};s.length&&c<r;)t();f()}catch(t){n.error(t)}}))};return t.subscribe(F(n,function(t){return c<r?h(t):s.push(t)},function(){l=!0,f()})),function(){}}(n,r,t,e)}))}function _t(){return wt(C,1)}function gt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return _t()(vt(t,X(t)))}function xt(t){return new z(function(n){at(t()).subscribe(n)})}function St(t,n,e){void 0===t&&(t=0),void 0===e&&(e=G);var r=-1;return null!=n&&(H(n)?e=n:r=n),new z(function(n){var o,i=(o=t)instanceof Date&&!isNaN(o)?+t-e.now():t;i<0&&(i=0);var u=0;return e.schedule(function(){n.closed||(n.next(u++),0<=r?this.schedule(void 0,r):n.complete())},i)})}function At(t,n){return k(function(e,r){var o=0;e.subscribe(F(r,function(e){return t.call(n,e,o++)&&r.next(e)}))})}function Et(t){return k(function(n,e){var r,o=null,i=!1;o=n.subscribe(F(e,void 0,void 0,function(u){r=at(t(u,Et(t)(n))),o?(o.unsubscribe(),o=null,r.subscribe(e)):i=!0})),i&&(o.unsubscribe(),o=null,r.subscribe(e))})}function Ot(t,n){return l(n)?wt(t,n,1):wt(t,1)}function Pt(t){return t<=0?function(){return K}:k(function(n,e){var r=0;n.subscribe(F(e,function(n){++r<=t&&(e.next(n),t<=r&&e.complete())}))})}function It(t,n){return wt(function(n,e){return at(t(n,e)).pipe(Pt(1),function(t){return mt(function(){return t})}(n))})}function Ct(t,n){void 0===n&&(n=Z);var e=St(t,n);return It(function(){return e})}function Tt(t,n){return t===n}function jt(t,n){return n?function(e){return e.pipe(jt(function(e,r){return at(t(e,r)).pipe(mt(function(t,o){return n(e,t,r,o)}))}))}:k(function(n,e){var r=0,o=null,i=!1;n.subscribe(F(e,function(n){o||(o=F(e,void 0,function(){o=null,i&&e.complete()}),at(t(n,r++)).subscribe(o))},function(){i=!0,!o&&e.complete()}))})}function zt(t,n){return k(function(t,n,e,r,o){return function(r,i){var u=e,s=n,c=0;r.subscribe(F(i,function(n){var e=c++;s=u?t(s,n,e):(u=!0,n),i.next(s)},o))}}(t,n,arguments.length>=2))}function $t(t,n){for(var e=[],r=2;r<arguments.length;r++)e[r-2]=arguments[r];if(!0!==n){if(!1!==n){var o=new E({next:function(){o.unsubscribe(),t()}});return at(n.apply(void 0,u([],i(e)))).subscribe(o)}}else t()}function kt(t,n,e){var r;return r=t,function(t){void 0===t&&(t={});var n=t.connector,e=void 0===n?function(){return new B}:n,r=t.resetOnError,o=void 0===r||r,i=t.resetOnComplete,u=void 0===i||i,s=t.resetOnRefCountZero,c=void 0===s||s;return function(t){var n,r,i,s=0,a=!1,l=!1,f=function(){null==r||r.unsubscribe(),r=void 0},h=function(){f(),n=i=void 0,a=l=!1},p=function(){var t=n;h(),null==t||t.unsubscribe()};return k(function(t,d){s++,l||a||f();var b=i=null!=i?i:e();d.add(function(){0!==--s||l||a||(r=$t(p,c))}),b.subscribe(d),!n&&s>0&&(n=new E({next:function(t){return b.next(t)},error:function(t){l=!0,f(),r=$t(h,o,t),b.error(t)},complete:function(){a=!0,f(),r=$t(h,u),b.complete()}}),at(t).subscribe(n))})(t)}}({connector:function(){return new W(r,n,e)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:!1})}function Ft(t,n){return k(function(e,r){var o=null,i=0,u=!1,s=function(){return u&&!o&&r.complete()};e.subscribe(F(r,function(e){null==o||o.unsubscribe();var u=0,c=i++;at(t(e,c)).subscribe(o=F(r,function(t){return r.next(n?n(e,t,c,u++):t)},function(){o=null,s()}))},function(){u=!0,s()}))})}function Nt(t,n,e){var r=l(t)||n||e?{next:t,error:n,complete:e}:t;return r?k(function(t,n){var e;null===(e=r.subscribe)||void 0===e||e.call(r);var o=!0;t.subscribe(F(n,function(t){var e;null===(e=r.next)||void 0===e||e.call(r,t),n.next(t)},function(){var t;o=!1,null===(t=r.complete)||void 0===t||t.call(r),n.complete()},function(t){var e;o=!1,null===(e=r.error)||void 0===e||e.call(r,t),n.error(t)},function(){var t,n;o&&(null===(t=r.unsubscribe)||void 0===t||t.call(r)),null===(n=r.finalize)||void 0===n||n.call(r)}))}):C}function Rt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e,r=l(Q(e=t))?e.pop():void 0;return k(function(n,e){for(var o=t.length,s=new Array(o),c=t.map(function(){return!1}),a=!1,l=function(n){at(t[n]).subscribe(F(e,function(t){s[n]=t,a||c[n]||(c[n]=!0,(a=c.every(C))&&(c=null))},g))},f=0;f<o;f++)l(f);n.subscribe(F(e,function(t){if(a){var n=u([t],i(s));e.next(r?r.apply(void 0,u([],i(n))):n)}}))})}class Bt{_state$;_actions$=new B;get actions$(){return this._actions$.asObservable()}_reducers=[];_context=null;constructor(t={}){const n="function"==typeof structuredClone?structuredClone(t):JSON.parse(JSON.stringify(t));this._state$=new J(n);const e=this._actions$.pipe(zt((t,n)=>{const e=JSON.parse(JSON.stringify(t));return this._reducers.forEach(({path:t,reducerFn:r})=>{const o=e[t],i=r(o,n);void 0!==i&&o!==i&&(e[t]=i)}),e},n),function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=X(t);return k(function(n,r){(e?gt(t,n,e):gt(t,n)).subscribe(r)})}(t),kt(1));e.subscribe(this._state$)}registerReducers(...t){this._reducers.push(...t);const n=this._state$.getValue(),e=JSON.parse(JSON.stringify(n));t.forEach(({path:t,initialState:n})=>{void 0===e[t]&&(e[t]=n)}),this._state$.next(e)}setContext(t){this._context=t}registerEffects(...t){t.forEach(t=>{const n=t._rxEffect||{dispatch:!0};let e=t(this._actions$);n.dispatch?e.pipe(mt(t=>this._context&&!t.context?{...t,context:this._context}:t)).subscribe(t=>this.dispatch(t)):e.subscribe()})}dispatch(t){this._actions$.next(t)}select(t){return this._state$.pipe(mt(n=>t(n)),(void 0===e&&(e=C),n=null!=n?n:Tt,k(function(t,r){var o,i=!0;t.subscribe(F(r,function(t){var u=e(t);!i&&n(o,u)||(i=!1,o=u,r.next(t))}))})));var n,e}}function Dt(t){const n=n=>({type:t,...n});return n.type=t,n}function Jt(){}function Ut(...t){const n=t.pop(),e=t,r=e.includes(Jt);if(r&&e.length>1)throw new Error("The `anyAction` token cannot be mixed with other action creators in a single `on` handler.");return{types:e.map(t=>t.type),reducerFn:n,isCatchAll:r}}function Wt(t,n,...e){if(!t||"string"!=typeof t)throw new Error("Reducer featureKey must be a non-empty string.");const r=e.filter(t=>!t.isCatchAll),o=e.find(t=>t.isCatchAll);return{path:t,initialState:n,reducerFn:(t=n,e)=>{for(const n of r)if(n.types.includes(e.type))return n.reducerFn(t,e);return o?o.reducerFn(t,e):t}}}function Mt(...t){const n=t.map(t=>t.type);return At(t=>n.includes(t.type))}function Yt(t,n={dispatch:!0}){if("function"!=typeof t)throw new Error("Effect must be a function.");return Object.defineProperty(t,"_rxEffect",{value:{dispatch:!1!==n.dispatch},enumerable:!1}),t}function Vt(t,n){return e=>{const r=e[t];return n?n(r):r}}function qt(...t){const n=t.pop(),e=t;if("function"!=typeof n)throw new Error("The last argument to createSelector must be a projection function.");return t=>{const r=e.map(n=>n(t));return n(...r)}}function Lt(t,n){return{onCreate(){n?(n.setContext(this),this.debug("Attach the store and a dispatch method to the App instance."),this._store=n,this.dispatch=t=>{const n={...t,context:this};this._store.dispatch(n)},this.onAction=t=>{t&&"string"==typeof t.type?(this.debug(`Dispatching action ${t.type} from App.onAction.`),this.dispatch(t)):this.debug("Not an Action, discarding the message on App.onAction.")},this.messaging.onCall(this.onAction),this.subscribe=(t,...n)=>{this._subscriptions||(this._subscriptions=[]);const e=n.pop(),r=n,o=this._store.select(t),i=(r.length>0?o.pipe(...r):o).subscribe(e);return this._subscriptions.push(i),i}):console.error("[rx-tiny-flux] StorePlugin Error: A store instance must be provided to `BaseApp.use(storePlugin, store)`.")},onInit(){let t;const e="undefined"!=typeof messaging;if(e)n?(n.setContext(this),t=n,this.onAction=t=>{t&&"string"==typeof t.type?(this.debug(`Dispatching action ${t.type} from SideService.onAction.`),this.dispatch(t)):this.debug("Not an Action, discarding the message on SideService.onAction.")}):console.error("[rx-tiny-flux] StorePlugin Error: A store instance must be provided to `BaseSideService.use(storePlugin, store)`.");else{const n=getApp();n&&n._store?t=n._store:console.error("[rx-tiny-flux] Store not found on global App object. Ensure the plugin is registered on BaseApp."),this.onAction=()=>{}}if(!t)return this.onAction=()=>console.error("[rx-tiny-flux] OnAction failed: store not initialized."),this.messaging.onCall(this.onAction),this.dispatch=()=>console.error("[rx-tiny-flux] Dispatch failed: store not initialized."),void(this.subscribe=()=>console.error("[rx-tiny-flux] Subscribe failed: store not initialized."));this._store=t,this.messaging.onCall(this.onAction),this.debug(`Attaching store methods to the ${e?"SideService":"Page"} instance.`),this.dispatch=t=>{const n={...t,context:this};this._store.dispatch(n)},this.subscribe=(t,...n)=>{this._subscriptions||(this._subscriptions=[]);const e=n.pop(),r=n,o=this._store.select(t),i=(r.length>0?o.pipe(...r):o).subscribe(e);return this._subscriptions.push(i),i},e||(this.listen=(t,n)=>{const e=(Array.isArray(t)?t:[t]).map(t=>"function"==typeof t?t.type:t);if(e.some(t=>"string"!=typeof t))throw new Error("[rx-tiny-flux] listen: actionTypes must be strings or action creators with a `type` property.");this._subscriptions||(this._subscriptions=[]);const r=this._store.actions$.pipe(At(t=>e.includes(t.type))).subscribe(n);this._subscriptions.push(r)})},onDestroy(){this.messaging.offOnCall(this.onAction),this._subscriptions&&this._subscriptions.length>0&&(this._subscriptions.forEach(t=>t.unsubscribe()),this._subscriptions=[])}}}const Zt=t=>n=>n.pipe(wt(n=>{if(!n.context||!n.context._store||"function"!=typeof n.context._store.select)throw new Error("[rx-tiny-flux] `withLatestFromStore` could not find a valid store on `action.context._store`. Ensure the `storePlugin` is correctly configured.");return n.context._store.select(t).pipe(Pt(1),mt(t=>[n,t]))})),Gt=()=>At(()=>"undefined"!=typeof messaging),Kt=()=>At(()=>"undefined"==typeof messaging),Ht=()=>Nt(t=>{if(t.context&&"function"==typeof t.context.call){t.context.debug(`Propagation action '${t.type}' through messaging.call(action).`);const{context:n,...e}=t;t.context.call(e)}else console.debug(`No context: Action '${t.type}' not propagated through messaging.call(action).`)});export{K as EMPTY,Bt as Store,Jt as anyAction,Et as catchError,Ot as concatMap,Dt as createAction,Yt as createEffect,Vt as createFeatureSelector,Wt as createReducer,qt as createSelector,xt as defer,Ct as delay,jt as exhaustMap,At as filter,vt as from,Kt as isApp,Gt as isSideService,mt as map,wt as mergeMap,yt as of,Mt as ofType,Ut as on,T as pipe,Ht as propagateAction,Lt as storePlugin,Ft as switchMap,Pt as take,Nt as tap,Rt as withLatestFrom,Zt as withLatestFromStore};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rx-tiny-flux",
3
- "version": "1.0.20",
3
+ "version": "1.0.22",
4
4
  "description": "A lightweight, minimalist state management library for pure JavaScript projects, inspired by NgRx and Redux, and built with RxJS.",
5
5
  "author": "Bernardo Baumblatt <baumblatt@gmail.com>",
6
6
  "license": "MIT",