@dereekb/rxjs 9.15.7 → 9.16.0

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/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [9.16.0](https://github.com/dereekb/dbx-components/compare/v9.15.8-dev...v9.16.0) (2022-11-20)
6
+
7
+
8
+ ### Features
9
+
10
+ * added DbxPresetMenuFilter ([2c08ad7](https://github.com/dereekb/dbx-components/commit/2c08ad79e464dac307d0dd347487b4e7d3d75a6b))
11
+
12
+
13
+
14
+ ## [9.15.8](https://github.com/dereekb/dbx-components/compare/v9.15.7-dev...v9.15.8) (2022-11-19)
15
+
16
+
17
+
5
18
  ## [9.15.7](https://github.com/dereekb/dbx-components/compare/v9.15.6-dev...v9.15.7) (2022-11-17)
6
19
 
7
20
 
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dereekb/rxjs",
3
- "version": "9.15.7",
3
+ "version": "9.16.0",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts",
7
7
  "dependencies": {},
8
8
  "peerDependencies": {
9
9
  "rxjs": "^7.5.0",
10
- "@dereekb/util": "9.15.7",
10
+ "@dereekb/util": "9.16.0",
11
11
  "lodash.isequal": "^4.5.0",
12
12
  "make-error": "^1.3.0",
13
13
  "class-validator": "^0.13.2",
@@ -2,7 +2,7 @@ import { Observable } from 'rxjs';
2
2
  /**
3
3
  * Source that provides a filter observable.
4
4
  */
5
- export declare abstract class FilterSource<F = object> {
5
+ export declare abstract class FilterSource<F = unknown> {
6
6
  /**
7
7
  * Provided filter.
8
8
  */
@@ -15,23 +15,34 @@ export declare abstract class FilterSource<F = object> {
15
15
  abstract initWithFilter?(filterObs: Observable<F>): void;
16
16
  }
17
17
  /**
18
- * An object that contains a preset identifier for the filter.
18
+ * Preset identifier.
19
19
  */
20
- export interface FilterPreset<P = string> {
21
- preset?: P;
20
+ export declare type FilterPresetString = string;
21
+ /**
22
+ * An object that contains a FilterPresetString.
23
+ *
24
+ * When a preset value is present, it may either be used as the sole filter variable, or act as a base that is overwritten by other values.
25
+ */
26
+ export interface FilterPresetStringRef<P extends string = string> {
27
+ /**
28
+ * Preset key.
29
+ */
30
+ preset: P;
22
31
  }
32
+ export declare type FilterWithPreset<P extends string = string> = Partial<FilterPresetStringRef<P>>;
33
+ export declare type FilterWithPresetOptional<F extends FilterWithPreset<P>, P extends string = string> = Partial<Pick<F, 'preset'>> & Omit<F, 'preset'>;
23
34
  /**
24
35
  * A FilterPreset with only the preset.
25
36
  */
26
- export declare type FilterOnlyWithPreset<F extends FilterPreset> = Pick<F, 'preset'>;
37
+ export declare type FilterOnlyWithPresetString<F extends FilterWithPreset<P>, P extends string = string> = Pick<F, 'preset'>;
27
38
  /**
28
39
  * A FilterPreset without a preset value available.
29
40
  */
30
- export declare type FilterWithoutPreset<F extends FilterPreset> = Omit<F, 'preset'>;
41
+ export declare type FilterWithoutPresetString<F extends FilterWithPreset<P>, P extends string = string> = Omit<F, 'preset'>;
31
42
  /**
32
43
  * A FilterSource that has a filter with a FilterPreset potentially available.
33
44
  */
34
- export declare abstract class PresetFilterSource<F extends FilterPreset> extends FilterSource<F> {
45
+ export declare abstract class PresetFilterSource<F extends FilterWithPreset<P>, P extends string = string> extends FilterSource<F> {
35
46
  }
36
47
  /**
37
48
  * A FilterSourceConnector connects with a Source for a function.
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAsB,YAAY;CAWjC;AAXD,oCAWC;AAmBD;;GAEG;AACH,MAAsB,kBAA2C,SAAQ,YAAe;CAAG;AAA3F,gDAA2F;AAE3F;;GAEG;AACH,MAAsB,qBAAqB;CAK1C;AALD,sDAKC"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAsB,YAAY;CAWjC;AAXD,oCAWC;AAiCD;;GAEG;AACH,MAAsB,kBAA6E,SAAQ,YAAe;CAAG;AAA7H,gDAA6H;AAE7H;;GAEG;AACH,MAAsB,qBAAqB;CAK1C;AALD,sDAKC"}
@@ -2,6 +2,9 @@ import { ObservableOrValue } from '../rxjs/getter';
2
2
  import { Observable } from 'rxjs';
3
3
  import { FilterSource, FilterSourceConnector } from './filter';
4
4
  import { Destroyable, Maybe } from '@dereekb/util';
5
+ /**
6
+ * Used to identify a specific filter.
7
+ */
5
8
  export declare type FilterMapKey = string;
6
9
  /**
7
10
  * Class used to keep track of filters keyed by a specific string identifier.
@@ -1 +1 @@
1
- {"version":3,"file":"filter.map.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.map.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.map.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAE5C,mDAAuD;AACvD,+BAA6G;AAS7G;;GAEG;AACH,MAAa,SAAS;IAAtB;QACmB,SAAI,GAAG,IAAI,sBAAe,CAAsC,IAAI,GAAG,EAAE,CAAC,CAAC;IAkD9F,CAAC;IAhDC,YAAY,CAAC,GAAiB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EACtB,IAAA,mBAAW,GAAE,EACb,IAAA,YAAK,GAAE,EAAE,2CAA2C;QACpD,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAC3B,IAAA,mBAAW,GAAE,CACd,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,GAAiB,EAAE,GAAgC;QACrE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,GAAiB,EAAE,GAAkB;QAChD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,CAAC,GAAiB;QAC5B,OAAO,IAAI,oBAAoB,CAAI,IAAI,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,oBAAoB,CAAC,MAAgC;QACnD,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,2BAAoB,GAAE,EACtB,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAChC,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;IACJ,CAAC;IAED,iBAAiB;IACT,WAAW,CAAC,GAAiB;QACnC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,IAAI,aAAa,CAAI,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;IAChB,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;CACF;AAnDD,8BAmDC;AAED,MAAa,oBAAoB;IAG/B,YAAqB,YAA0B,EAAW,GAAiB;QAAtD,iBAAY,GAAZ,YAAY,CAAc;QAAW,QAAG,GAAH,GAAG,CAAc;QAFlE,YAAO,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEkB,CAAC;IAE/E,cAAc,CAAC,SAAwB;QACrC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,iBAAiB,CAAC,YAA6B;QAC7C,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;CACF;AAZD,oDAYC;AAED,MAAM,aAAa;IAKjB,YAAqB,YAA0B,EAAW,GAAiB;QAAtD,iBAAY,GAAZ,YAAY,CAAc;QAAW,QAAG,GAAH,GAAG,CAAc;QAJnE,YAAO,GAAG,IAAI,oCAAoB,EAAK,CAAC;QAEvC,YAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IAE+B,CAAC;IAE/E,mBAAmB,CAAC,GAAgC;QAClD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,YAAY,CAAC,GAAkB;QAC7B;;WAEG;QACH,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import { FilterPreset, FilterWithoutPreset } from './filter';
1
+ import { FilterWithoutPresetString, FilterWithPreset } from './filter';
2
2
  import { OperatorFunction } from 'rxjs';
3
- export declare type MapFilterWithPresetFn<F extends FilterPreset> = (filter: F) => FilterWithoutPreset<F>;
4
- export declare function makeMapFilterWithPresetFn<F extends FilterPreset>(fn: MapFilterWithPresetFn<F>): MapFilterWithPresetFn<F>;
5
- export declare function mapFilterWithPreset<F extends FilterPreset>(fn: MapFilterWithPresetFn<F>): OperatorFunction<F, FilterWithoutPreset<F>>;
3
+ export declare type MapFilterWithPresetFn<F extends FilterWithPreset> = (filter: F) => FilterWithoutPresetString<F>;
4
+ export declare function makeMapFilterWithPresetFn<F extends FilterWithPreset>(fn: MapFilterWithPresetFn<F>): MapFilterWithPresetFn<F>;
5
+ export declare function mapFilterWithPreset<F extends FilterWithPreset>(fn: MapFilterWithPresetFn<F>): OperatorFunction<F, FilterWithoutPresetString<F>>;
@@ -1 +1 @@
1
- {"version":3,"file":"filter.preset.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.preset.ts"],"names":[],"mappings":";;;AACA,+BAA6C;AAI7C,SAAgB,yBAAyB,CAAyB,EAA4B;IAC5F,OAAO,CAAC,MAAS,EAAE,EAAE;QACnB,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAM,CAAC;YAC/B,OAAO,MAAM,CAAC,MAAM,CAAC;YACrB,OAAO,MAAM,CAAC;SACf;aAAM;YACL,OAAO,MAAM,CAAC;SACf;IACH,CAAC,CAAC;AACJ,CAAC;AAVD,8DAUC;AAED,SAAgB,mBAAmB,CAAyB,EAA4B;IACtF,OAAO,IAAA,UAAG,EAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAFD,kDAEC"}
1
+ {"version":3,"file":"filter.preset.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.preset.ts"],"names":[],"mappings":";;;AACA,+BAA6C;AAI7C,SAAgB,yBAAyB,CAA6B,EAA4B;IAChG,OAAO,CAAC,MAAS,EAAE,EAAE;QACnB,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAM,CAAC;YAC/B,OAAO,MAAM,CAAC,MAAM,CAAC;YACrB,OAAO,MAAM,CAAC;SACf;aAAM;YACL,OAAO,MAAM,CAAC;SACf;IACH,CAAC,CAAC;AACJ,CAAC;AAVD,8DAUC;AAED,SAAgB,mBAAmB,CAA6B,EAA4B;IAC1F,OAAO,IAAA,UAAG,EAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAFD,kDAEC"}
@@ -104,7 +104,7 @@ export declare function isSuccessLoadingState<L extends LoadingState>(state: May
104
104
  export declare function isErrorLoadingState<L extends LoadingState>(state: Maybe<L>): boolean;
105
105
  export declare function loadingStateHasFinishedLoading<L extends LoadingState>(state: Maybe<L>): boolean;
106
106
  /**
107
- * Whether or not the input loading state has a non-null value.
107
+ * Whether or not the input loading state has finished loading and has a non-null value.
108
108
  *
109
109
  * @param state
110
110
  * @returns
@@ -139,7 +139,7 @@ function loadingStateHasFinishedLoading(state) {
139
139
  }
140
140
  exports.loadingStateHasFinishedLoading = loadingStateHasFinishedLoading;
141
141
  /**
142
- * Whether or not the input loading state has a non-null value.
142
+ * Whether or not the input loading state has finished loading and has a non-null value.
143
143
  *
144
144
  * @param state
145
145
  * @returns
@@ -1,6 +1,6 @@
1
- import { Maybe } from '@dereekb/util';
1
+ import { Maybe, ReadableError } from '@dereekb/util';
2
2
  import { MonoTypeOperatorFunction, OperatorFunction, Observable } from 'rxjs';
3
- import { LoadingState, PageLoadingState, MapLoadingStateResultsConfiguration, LoadingStateValue } from './loading.state';
3
+ import { LoadingState, PageLoadingState, MapLoadingStateResultsConfiguration, LoadingStateValue, LoadingStateType } from './loading.state';
4
4
  /**
5
5
  * Wraps an observable output and maps the value to a LoadingState.
6
6
  *
@@ -23,9 +23,25 @@ export declare function startWithBeginLoading<L extends LoadingState>(): MonoTyp
23
23
  export declare function startWithBeginLoading<L extends LoadingState>(state?: Partial<LoadingState>): MonoTypeOperatorFunction<L>;
24
24
  export declare function startWithBeginLoading<L extends PageLoadingState>(state?: Partial<PageLoadingState>): MonoTypeOperatorFunction<L>;
25
25
  /**
26
- * Returns the value once the LoadingState has finished loading.
26
+ * Returns the value once the LoadingState has finished loading with success.
27
27
  */
28
- export declare function valueFromLoadingState<L extends LoadingState>(): OperatorFunction<L, Maybe<LoadingStateValue<L>>>;
28
+ export declare function valueFromLoadingState<L extends LoadingState>(): OperatorFunction<L, LoadingStateValue<L>>;
29
+ /**
30
+ * Returns the error once the LoadingState has finished loading with an error.
31
+ */
32
+ export declare function errorFromLoadingState<L extends LoadingState>(): OperatorFunction<L, ReadableError>;
33
+ /**
34
+ * Returns the value once the LoadingState has finished loading, even if an error occured or there is no value.
35
+ */
36
+ export declare function valueFromFinishedLoadingState<L extends LoadingState>(): OperatorFunction<L, Maybe<LoadingStateValue<L>>>;
37
+ /**
38
+ * Executes a function when the piped LoadingState has the configured state.
39
+ *
40
+ * @param fn
41
+ */
42
+ export declare function tapOnLoadingStateType<L extends LoadingState>(fn: (state: L) => void, type: LoadingStateType): MonoTypeOperatorFunction<L>;
43
+ export declare function tapOnLoadingStateType<L extends LoadingState>(fn: (state: L) => void, type: LoadingStateType): MonoTypeOperatorFunction<L>;
44
+ export declare function tapOnLoadingStateType<L extends PageLoadingState>(fn: (state: L) => void, type: LoadingStateType): MonoTypeOperatorFunction<L>;
29
45
  /**
30
46
  * Executes a function when the input state has a successful value.
31
47
  *
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapLoadingState = exports.tapOnLoadingStateSuccess = exports.valueFromLoadingState = exports.startWithBeginLoading = exports.combineLoadingStates = exports.loadingStateFromObs = void 0;
3
+ exports.mapLoadingState = exports.tapOnLoadingStateSuccess = exports.tapOnLoadingStateType = exports.valueFromFinishedLoadingState = exports.errorFromLoadingState = exports.valueFromLoadingState = exports.startWithBeginLoading = exports.combineLoadingStates = exports.loadingStateFromObs = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
5
  const rxjs_2 = require("../rxjs");
6
6
  const loading_state_1 = require("./loading.state");
@@ -27,21 +27,50 @@ function startWithBeginLoading(state) {
27
27
  }
28
28
  exports.startWithBeginLoading = startWithBeginLoading;
29
29
  /**
30
- * Returns the value once the LoadingState has finished loading.
30
+ * Returns the value once the LoadingState has finished loading with success.
31
31
  */
32
32
  function valueFromLoadingState() {
33
33
  return (obs) => {
34
- return obs.pipe((0, rxjs_1.filter)(loading_state_1.loadingStateHasFinishedLoading), (0, rxjs_1.map)((x) => x.value));
34
+ return obs.pipe((0, rxjs_1.filter)(loading_state_1.loadingStateHasValue), (0, rxjs_1.map)((x) => x.value));
35
35
  };
36
36
  }
37
37
  exports.valueFromLoadingState = valueFromLoadingState;
38
- function tapOnLoadingStateSuccess(fn) {
38
+ /**
39
+ * Returns the error once the LoadingState has finished loading with an error.
40
+ */
41
+ function errorFromLoadingState() {
42
+ return (obs) => {
43
+ return obs.pipe((0, rxjs_1.filter)(loading_state_1.loadingStateHasError), (0, rxjs_1.map)((x) => x.error));
44
+ };
45
+ }
46
+ exports.errorFromLoadingState = errorFromLoadingState;
47
+ /**
48
+ * Returns the value once the LoadingState has finished loading, even if an error occured or there is no value.
49
+ */
50
+ function valueFromFinishedLoadingState() {
51
+ return (obs) => {
52
+ return obs.pipe((0, rxjs_1.filter)(loading_state_1.loadingStateHasFinishedLoading), (0, rxjs_1.map)((x) => x.value));
53
+ };
54
+ }
55
+ exports.valueFromFinishedLoadingState = valueFromFinishedLoadingState;
56
+ function tapOnLoadingStateType(fn, type) {
57
+ let decisionFunction;
58
+ if (type === loading_state_1.LoadingStateType.LOADING) {
59
+ decisionFunction = loading_state_1.loadingStateIsLoading;
60
+ }
61
+ else {
62
+ decisionFunction = (state) => (0, loading_state_1.loadingStateType)(state) === type;
63
+ }
39
64
  return (0, rxjs_1.tap)((state) => {
40
- if ((0, loading_state_1.isSuccessLoadingState)(state)) {
65
+ if (state != null && decisionFunction(state)) {
41
66
  fn(state);
42
67
  }
43
68
  });
44
69
  }
70
+ exports.tapOnLoadingStateType = tapOnLoadingStateType;
71
+ function tapOnLoadingStateSuccess(fn) {
72
+ return tapOnLoadingStateType(fn, loading_state_1.LoadingStateType.SUCCESS);
73
+ }
45
74
  exports.tapOnLoadingStateSuccess = tapOnLoadingStateSuccess;
46
75
  function mapLoadingState(config) {
47
76
  return (0, rxjs_1.map)((state) => (0, loading_state_1.mapLoadingStateResults)(state, config));
@@ -1 +1 @@
1
- {"version":3,"file":"loading.state.rxjs.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.rxjs.ts"],"names":[],"mappings":";;;AACA,+BAAoL;AACpL,kCAA2C;AAC3C,mDAA0O;AAE1O;;;;GAIG;AACH,SAAgB,mBAAmB,CAAI,GAAkB,EAAE,SAAmB;IAC5E,IAAI,SAAS,EAAE;QACb,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAA,YAAK,GAAE,CAAC,CAAC;KACzB;IAED,OAAO,GAAG,CAAC,IAAI,CACb,IAAA,UAAG,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAC7D,IAAA,iBAAU,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,SAAE,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EACpD,IAAA,uBAAgB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EACvC,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AACJ,CAAC;AAXD,kDAWC;AAOD,SAAgB,oBAAoB,CAAwC,IAAiC,EAAE,IAAiC,EAAE,YAAgC;IAChL,OAAO,IAAA,oBAAa,EAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CACrC,IAAA,2BAAoB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,OAAK,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,CAAA,IAAI,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,OAAK,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,CAAA,CAAC,EAAE,qCAAqC;IAC7G,IAAA,UAAG,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kCAAkB,EAAC,CAAC,EAAE,CAAC,EAAE,YAAiC,CAAC,CAAC,EAC5E,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,oBAAoB;KACpC,CAAC;AACJ,CAAC;AAND,oDAMC;AAYD,SAAgB,qBAAqB,CAAyB,KAAkB;IAC9E,OAAO,IAAA,gBAAS,EAAI,IAAA,4BAAY,EAAC,KAAK,CAAiB,CAAC,CAAC;AAC3D,CAAC;AAFD,sDAEC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO,CAAC,GAAkB,EAAE,EAAE;QAC5B,OAAO,GAAG,CAAC,IAAI,CACb,IAAA,aAAM,EAAC,8CAA8B,CAAC,EACtC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAoC,CAAC,CACnD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAPD,sDAOC;AAUD,SAAgB,wBAAwB,CAAyB,EAAsB;IACrF,OAAO,IAAA,UAAG,EAAC,CAAC,KAAQ,EAAE,EAAE;QACtB,IAAI,IAAA,qCAAqB,EAAC,KAAK,CAAC,EAAE;YAChC,EAAE,CAAC,KAAK,CAAC,CAAC;SACX;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAND,4DAMC;AAQD,SAAgB,eAAe,CAAqJ,MAAuD;IACzO,OAAO,IAAA,UAAG,EAAC,CAAC,KAAQ,EAAE,EAAE,CAAC,IAAA,sCAAsB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAClE,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"loading.state.rxjs.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.rxjs.ts"],"names":[],"mappings":"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"}