@dereekb/rxjs 0.0.1 → 1.0.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.
Files changed (66) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +4 -5
  3. package/package.json +3 -2
  4. package/src/lib/filter/filter.d.ts +44 -0
  5. package/src/lib/filter/filter.js +22 -0
  6. package/src/lib/filter/filter.js.map +1 -0
  7. package/src/lib/filter/filter.map.d.ts +25 -0
  8. package/src/lib/filter/filter.map.js +81 -0
  9. package/src/lib/filter/filter.map.js.map +1 -0
  10. package/src/lib/filter/filter.preset.d.ts +5 -0
  11. package/src/lib/filter/filter.preset.js +22 -0
  12. package/src/lib/filter/filter.preset.js.map +1 -0
  13. package/src/lib/filter/filter.source.d.ts +26 -0
  14. package/src/lib/filter/filter.source.js +49 -0
  15. package/src/lib/filter/filter.source.js.map +1 -0
  16. package/src/lib/filter/index.d.ts +4 -0
  17. package/src/lib/filter/index.js +8 -0
  18. package/src/lib/filter/index.js.map +1 -0
  19. package/src/lib/index.d.ts +1 -0
  20. package/src/lib/index.js +1 -0
  21. package/src/lib/index.js.map +1 -1
  22. package/src/lib/iterator/iteration.accumulator.js +2 -2
  23. package/src/lib/iterator/iteration.accumulator.rxjs.js +1 -1
  24. package/src/lib/iterator/iterator.page.js +4 -4
  25. package/src/lib/loading/index.d.ts +3 -2
  26. package/src/lib/loading/index.js +3 -2
  27. package/src/lib/loading/index.js.map +1 -1
  28. package/src/lib/loading/loading.context.state.d.ts +19 -7
  29. package/src/lib/loading/loading.context.state.js +19 -17
  30. package/src/lib/loading/loading.context.state.js.map +1 -1
  31. package/src/lib/loading/loading.context.state.list.d.ts +25 -0
  32. package/src/lib/loading/loading.context.state.list.js +51 -0
  33. package/src/lib/loading/loading.context.state.list.js.map +1 -0
  34. package/src/lib/loading/loading.context.state.value.d.ts +24 -0
  35. package/src/lib/loading/loading.context.state.value.js +41 -0
  36. package/src/lib/loading/loading.context.state.value.js.map +1 -0
  37. package/src/lib/loading/loading.state.d.ts +21 -10
  38. package/src/lib/loading/loading.state.js +34 -23
  39. package/src/lib/loading/loading.state.js.map +1 -1
  40. package/src/lib/loading/loading.state.list.d.ts +4 -0
  41. package/src/lib/loading/loading.state.list.js +17 -0
  42. package/src/lib/loading/loading.state.list.js.map +1 -0
  43. package/src/lib/rxjs/getter.d.ts +17 -0
  44. package/src/lib/rxjs/getter.js +30 -0
  45. package/src/lib/rxjs/getter.js.map +1 -0
  46. package/src/lib/rxjs/index.d.ts +2 -0
  47. package/src/lib/rxjs/index.js +2 -0
  48. package/src/lib/rxjs/index.js.map +1 -1
  49. package/src/lib/rxjs/loading.d.ts +5 -3
  50. package/src/lib/rxjs/loading.js +9 -5
  51. package/src/lib/rxjs/loading.js.map +1 -1
  52. package/src/lib/rxjs/misc.d.ts +18 -0
  53. package/src/lib/rxjs/misc.js +32 -0
  54. package/src/lib/rxjs/misc.js.map +1 -0
  55. package/src/lib/rxjs/rxjs.d.ts +17 -3
  56. package/src/lib/rxjs/rxjs.js +27 -10
  57. package/src/lib/rxjs/rxjs.js.map +1 -1
  58. package/src/lib/rxjs/value.d.ts +13 -4
  59. package/src/lib/rxjs/value.js +27 -6
  60. package/src/lib/rxjs/value.js.map +1 -1
  61. package/src/lib/loading/loading.context.state.model.d.ts +0 -18
  62. package/src/lib/loading/loading.context.state.model.js +0 -37
  63. package/src/lib/loading/loading.context.state.model.js.map +0 -1
  64. package/src/lib/loading/loading.context.state.page.d.ts +0 -21
  65. package/src/lib/loading/loading.context.state.page.js +0 -46
  66. package/src/lib/loading/loading.context.state.page.js.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,21 @@
1
+ # Changelog
2
+
3
+ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
+
5
+ # 1.0.0 (2022-02-23)
6
+
7
+
8
+ ### Features
9
+
10
+ * added dbxList ([83ddb00](https://github.com/dereekb/dbcomponents/commit/83ddb006548602640ec312594b9bb9f26f3417de))
11
+ * added dbxPickableChipListFieldComponent ([285b492](https://github.com/dereekb/dbcomponents/commit/285b492a2669ce1d2ba6d4f6cbf1570cb0cb4ee7))
12
+ * added dbxSearchableTextFieldComponent ([42ae14c](https://github.com/dereekb/dbcomponents/commit/42ae14c7709f6603db676c94f1df2017fdad59ca))
13
+ * added dbxSelectionListView ([1b34c02](https://github.com/dereekb/dbcomponents/commit/1b34c0203a8ce798f83c404189f7c7fdb0555e95))
14
+ * added dbxSidenav ([867ab31](https://github.com/dereekb/dbcomponents/commit/867ab3189e1f7356d7b8f6202f0df70a45549d1f))
15
+ * added FilterMap ([6ffefce](https://github.com/dereekb/dbcomponents/commit/6ffefce8e13efd36adb79ea6f95fb0edafe22f16))
16
+ * added tapLog() ([1d2fd64](https://github.com/dereekb/dbcomponents/commit/1d2fd640b7b87052dd006697fab71a5adf7701da))
17
+ * segment analytics ([b81d5a6](https://github.com/dereekb/dbcomponents/commit/b81d5a6a70ecf3bc35852d441cfd79e91e5dcb51))
18
+
19
+
20
+
21
+ # 0.1.0 (2022-01-29)
package/README.md CHANGED
@@ -1,7 +1,6 @@
1
- # rxjs
1
+ @dereekb/rxjs
2
+ =======
2
3
 
3
- This library was generated with [Nx](https://nx.dev).
4
+ The sources for this package are in the main [@dereekb/dbcomponents](https://github.com/dereekb/dbcomponents) repo. Please file issues and pull requests against that repo.
4
5
 
5
- ## Running unit tests
6
-
7
- Run `nx test rxjs` to execute the unit tests via [Jest](https://jestjs.io).
6
+ License: MIT
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@dereekb/rxjs",
3
- "version": "0.0.1",
3
+ "version": "1.0.0",
4
+ "type": "commonjs",
4
5
  "main": "./src/index.js",
5
6
  "typings": "./src/index.d.ts",
6
7
  "dependencies": {
7
8
  "rxjs": "^7.5.2",
8
- "@dereekb/util": "0.0.1",
9
+ "@dereekb/util": "1.0.0",
9
10
  "extra-set": "^2.2.11",
10
11
  "ms": "^3.0.0-canary.1"
11
12
  },
@@ -0,0 +1,44 @@
1
+ import { Observable } from 'rxjs';
2
+ /**
3
+ * Source that provides a filter observable.
4
+ */
5
+ export declare abstract class FilterSource<F = any> {
6
+ /**
7
+ * Provided filter.
8
+ */
9
+ abstract readonly filter$: Observable<F>;
10
+ /**
11
+ * (Optional) Function that allows initializing a filter source from an observable.
12
+ *
13
+ * This lets the filter set its initial value, etc.
14
+ */
15
+ abstract initWithFilter?(filterObs: Observable<F>): void;
16
+ }
17
+ /**
18
+ * An object that contains a preset identifier for the filter.
19
+ */
20
+ export interface FilterPreset<P = string> {
21
+ preset?: P;
22
+ }
23
+ /**
24
+ * A FilterPreset with only the preset.
25
+ */
26
+ export declare type FilterOnlyWithPreset<F extends FilterPreset> = Pick<F, 'preset'>;
27
+ /**
28
+ * A FilterPreset without a preset value available.
29
+ */
30
+ export declare type FilterWithoutPreset<F extends FilterPreset> = Omit<F, 'preset'>;
31
+ /**
32
+ * A FilterSource that has a filter with a FilterPreset potentially available.
33
+ */
34
+ export declare abstract class PresetFilterSource<F extends FilterPreset> extends FilterSource<F> {
35
+ }
36
+ /**
37
+ * A FilterSourceConnector connects with a Source for a function.
38
+ */
39
+ export declare abstract class FilterSourceConnector<F = any> {
40
+ /**
41
+ * Coonnects with the input source.
42
+ */
43
+ abstract connectWithSource(filterSource: FilterSource<F>): void;
44
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilterSourceConnector = exports.PresetFilterSource = exports.FilterSource = void 0;
4
+ /**
5
+ * Source that provides a filter observable.
6
+ */
7
+ class FilterSource {
8
+ }
9
+ exports.FilterSource = FilterSource;
10
+ /**
11
+ * A FilterSource that has a filter with a FilterPreset potentially available.
12
+ */
13
+ class PresetFilterSource extends FilterSource {
14
+ }
15
+ exports.PresetFilterSource = PresetFilterSource;
16
+ /**
17
+ * A FilterSourceConnector connects with a Source for a function.
18
+ */
19
+ class FilterSourceConnector {
20
+ }
21
+ exports.FilterSourceConnector = FilterSourceConnector;
22
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +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;CAAI;AAA5F,gDAA4F;AAE5F;;GAEG;AACH,MAAsB,qBAAqB;CAK1C;AALD,sDAKC"}
@@ -0,0 +1,25 @@
1
+ import { ObservableGetter } from '../rxjs/getter';
2
+ import { Observable } from 'rxjs';
3
+ import { FilterSource, FilterSourceConnector } from './filter';
4
+ export declare type FilterMapKey = string;
5
+ /**
6
+ * Class used to keep track of filters keyed by a specific string identifier.
7
+ */
8
+ export declare class FilterMap<F> {
9
+ private readonly _map;
10
+ filterForKey(key: FilterMapKey): Observable<F>;
11
+ addDefaultFilterObs(key: FilterMapKey, obs: ObservableGetter<F>): void;
12
+ addFilterObs(key: FilterMapKey, obs: Observable<F>): void;
13
+ makeInstance(key: FilterMapKey): FilterMapKeyInstance<F>;
14
+ instanceObsForKeyObs(keyObs: Observable<FilterMapKey>): Observable<FilterMapKeyInstance<F>>;
15
+ private _itemForKey;
16
+ destroy(): void;
17
+ }
18
+ export declare class FilterMapKeyInstance<F> implements FilterSourceConnector<F>, FilterSource<F> {
19
+ readonly dbxFilterMap: FilterMap<F>;
20
+ readonly key: FilterMapKey;
21
+ readonly filter$: Observable<F>;
22
+ constructor(dbxFilterMap: FilterMap<F>, key: FilterMapKey);
23
+ initWithFilter(filterObs: Observable<F>): void;
24
+ connectWithSource(filterSource: FilterSource<F>): void;
25
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilterMapKeyInstance = exports.FilterMap = void 0;
4
+ const value_1 = require("../rxjs/value");
5
+ const filter_source_1 = require("./filter.source");
6
+ const rxjs_1 = require("rxjs");
7
+ /**
8
+ * Class used to keep track of filters keyed by a specific string identifier.
9
+ */
10
+ class FilterMap {
11
+ constructor() {
12
+ this._map = new rxjs_1.BehaviorSubject(new Map());
13
+ }
14
+ filterForKey(key) {
15
+ return this._map.pipe((0, rxjs_1.map)(x => x.get(key)), (0, value_1.filterMaybe)(), (0, rxjs_1.first)(), // take first since the item never changes.
16
+ (0, rxjs_1.switchMap)(x => x.filter$), (0, value_1.filterMaybe)());
17
+ }
18
+ addDefaultFilterObs(key, obs) {
19
+ this._itemForKey(key).setDefaultFilterObs(obs);
20
+ }
21
+ addFilterObs(key, obs) {
22
+ this._itemForKey(key).setFilterObs(obs);
23
+ }
24
+ makeInstance(key) {
25
+ return new FilterMapKeyInstance(this, key);
26
+ }
27
+ instanceObsForKeyObs(keyObs) {
28
+ return keyObs.pipe((0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.map)(x => this.makeInstance(x)), (0, rxjs_1.shareReplay)(1));
29
+ }
30
+ // MARK: Internal
31
+ _itemForKey(key) {
32
+ let item = this._map.value.get(key);
33
+ if (!item) {
34
+ item = new FilterMapItem(this, key);
35
+ this._map.value.set(key, item);
36
+ this._map.next(this._map.value);
37
+ }
38
+ return item;
39
+ }
40
+ // MARK: Cleanup
41
+ destroy() {
42
+ this._map.value.forEach((x) => x.destroy());
43
+ this._map.complete();
44
+ }
45
+ }
46
+ exports.FilterMap = FilterMap;
47
+ class FilterMapKeyInstance {
48
+ constructor(dbxFilterMap, key) {
49
+ this.dbxFilterMap = dbxFilterMap;
50
+ this.key = key;
51
+ this.filter$ = this.dbxFilterMap.filterForKey(this.key);
52
+ }
53
+ initWithFilter(filterObs) {
54
+ this.dbxFilterMap.addDefaultFilterObs(this.key, filterObs);
55
+ }
56
+ connectWithSource(filterSource) {
57
+ this.dbxFilterMap.addFilterObs(this.key, filterSource.filter$);
58
+ }
59
+ }
60
+ exports.FilterMapKeyInstance = FilterMapKeyInstance;
61
+ class FilterMapItem {
62
+ constructor(dbxFilterMap, key) {
63
+ this.dbxFilterMap = dbxFilterMap;
64
+ this.key = key;
65
+ this._source = new filter_source_1.FilterSourceInstance();
66
+ this.filter$ = this._source.initialFilter$;
67
+ }
68
+ setDefaultFilterObs(obs) {
69
+ this._source.setDefaultFilter(obs);
70
+ }
71
+ setFilterObs(obs) {
72
+ /**
73
+ * MapItem uses the behavior of the DefaultFilterSource to provide a default filter value.
74
+ */
75
+ this._source.initWithFilter(obs);
76
+ }
77
+ destroy() {
78
+ this._source.destroy();
79
+ }
80
+ }
81
+ //# sourceMappingURL=filter.map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.map.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { FilterPreset, FilterWithoutPreset } from "./filter";
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>>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapFilterWithPreset = exports.makeMapFilterWithPresetFn = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ function makeMapFilterWithPresetFn(fn) {
6
+ return (filter) => {
7
+ if (filter.preset) {
8
+ const result = fn(filter);
9
+ delete result.preset;
10
+ return result;
11
+ }
12
+ else {
13
+ return filter;
14
+ }
15
+ };
16
+ }
17
+ exports.makeMapFilterWithPresetFn = makeMapFilterWithPresetFn;
18
+ function mapFilterWithPreset(fn) {
19
+ return (0, rxjs_1.map)(makeMapFilterWithPresetFn(fn));
20
+ }
21
+ exports.mapFilterWithPreset = mapFilterWithPreset;
22
+ //# sourceMappingURL=filter.preset.js.map
@@ -0,0 +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,CAAA;AACH,CAAC;AAVD,8DAUC;AAED,SAAgB,mBAAmB,CAAyB,EAA4B;IACtF,OAAO,IAAA,UAAG,EAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAFD,kDAEC"}
@@ -0,0 +1,26 @@
1
+ import { Observable } from 'rxjs';
2
+ import { FilterSource } from './filter';
3
+ import { ObservableGetter } from '../rxjs/getter';
4
+ import { Maybe } from '@dereekb/util';
5
+ /**
6
+ * A basic FilterSource implementation.
7
+ */
8
+ export declare class FilterSourceInstance<F> implements FilterSource<F> {
9
+ private _filter;
10
+ private _initialFilter;
11
+ private _defaultFilter;
12
+ readonly defaultFilter$: Observable<Maybe<F>>;
13
+ readonly initialFilter$: Observable<Maybe<F>>;
14
+ /**
15
+ * filter$ uses the latest value from any filter.
16
+ */
17
+ readonly filter$: Observable<F>;
18
+ initWithFilter(filterObs: Observable<F>): void;
19
+ setDefaultFilter(filter: Maybe<ObservableGetter<Maybe<F>>>): void;
20
+ setFilter(filter: F): void;
21
+ /**
22
+ * Resets the current filter to be the default filter.
23
+ */
24
+ resetFilter(): void;
25
+ destroy(): void;
26
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilterSourceInstance = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const object_1 = require("../object");
6
+ const getter_1 = require("../rxjs/getter");
7
+ const value_1 = require("../rxjs/value");
8
+ /**
9
+ * A basic FilterSource implementation.
10
+ */
11
+ class FilterSourceInstance {
12
+ constructor() {
13
+ this._filter = new rxjs_1.BehaviorSubject(undefined);
14
+ this._initialFilter = new rxjs_1.BehaviorSubject(undefined);
15
+ this._defaultFilter = new rxjs_1.BehaviorSubject(undefined);
16
+ this.defaultFilter$ = this._defaultFilter.pipe((0, value_1.switchMapMaybeObs)());
17
+ this.initialFilter$ = (0, rxjs_1.combineLatest)([this._initialFilter, this._defaultFilter]).pipe((0, rxjs_1.map)(([a, b]) => a !== null && a !== void 0 ? a : b), (0, value_1.switchMapMaybeObs)(), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.shareReplay)(1));
18
+ /**
19
+ * filter$ uses the latest value from any filter.
20
+ */
21
+ this.filter$ = this._filter.pipe((0, rxjs_1.switchMap)(x => (x != null) ? (0, rxjs_1.of)(x) : this.initialFilter$), (0, value_1.filterMaybe)(), // Only provided non-maybe filter values.
22
+ (0, object_1.distinctUntilObjectValuesChanged)(), (0, rxjs_1.shareReplay)(1));
23
+ }
24
+ initWithFilter(filterObs) {
25
+ this._initialFilter.next(filterObs);
26
+ }
27
+ setDefaultFilter(filter) {
28
+ this._defaultFilter.next((0, getter_1.asObservable)(filter));
29
+ }
30
+ setFilter(filter) {
31
+ this._filter.next(filter);
32
+ }
33
+ /**
34
+ * Resets the current filter to be the default filter.
35
+ */
36
+ resetFilter() {
37
+ this.defaultFilter$.pipe((0, rxjs_1.first)()).subscribe((x) => {
38
+ this._filter.next(x);
39
+ });
40
+ }
41
+ // MARK: Cleanup
42
+ destroy() {
43
+ this._filter.complete();
44
+ this._initialFilter.complete();
45
+ this._defaultFilter.complete();
46
+ }
47
+ }
48
+ exports.FilterSourceInstance = FilterSourceInstance;
49
+ //# sourceMappingURL=filter.source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.source.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.source.ts"],"names":[],"mappings":";;;AAAA,+BAAgI;AAEhI,sCAA6D;AAC7D,2CAAgE;AAChE,yCAA+D;AAG/D;;GAEG;AACH,MAAa,oBAAoB;IAAjC;QAEU,YAAO,GAAG,IAAI,sBAAe,CAAW,SAAS,CAAC,CAAC;QACnD,mBAAc,GAAG,IAAI,sBAAe,CAAuB,SAAS,CAAC,CAAC;QACtE,mBAAc,GAAG,IAAI,sBAAe,CAA8B,SAAS,CAAC,CAAC;QAE5E,mBAAc,GAAyB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAA,yBAAiB,GAAE,CAAC,CAAC;QACrF,mBAAc,GAAyB,IAAA,oBAAa,EAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAC5G,IAAA,UAAG,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC,CAAC,EACvB,IAAA,yBAAiB,GAAE,EACnB,IAAA,2BAAoB,GAAE,EACtB,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;QAEF;;WAEG;QACM,YAAO,GAAkB,IAAI,CAAC,OAAO,CAAC,IAAI,CACjD,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,SAAE,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EACzD,IAAA,mBAAW,GAAE,EAAG,yCAAyC;QACzD,IAAA,yCAAgC,GAAE,EAClC,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;IA8BJ,CAAC;IA5BC,cAAc,CAAC,SAAwB;QACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,MAAyC;QACxD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,CAAC,MAAS;QACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAA,YAAK,GAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IAChB,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CAEF;AApDD,oDAoDC"}
@@ -0,0 +1,4 @@
1
+ export * from './filter.map';
2
+ export * from './filter.preset';
3
+ export * from './filter.source';
4
+ export * from './filter';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./filter.map"), exports);
5
+ (0, tslib_1.__exportStar)(require("./filter.preset"), exports);
6
+ (0, tslib_1.__exportStar)(require("./filter.source"), exports);
7
+ (0, tslib_1.__exportStar)(require("./filter"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/index.ts"],"names":[],"mappings":";;;AAAA,4DAA6B;AAC7B,+DAAgC;AAChC,+DAAgC;AAChC,wDAAyB"}
@@ -1,3 +1,4 @@
1
+ export * from './filter';
1
2
  export * from './iterator';
2
3
  export * from './loading';
3
4
  export * from './lock';
package/src/lib/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./filter"), exports);
4
5
  (0, tslib_1.__exportStar)(require("./iterator"), exports);
5
6
  (0, tslib_1.__exportStar)(require("./loading"), exports);
6
7
  (0, tslib_1.__exportStar)(require("./lock"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,0DAA2B;AAC3B,yDAA0B;AAC1B,sDAAuB;AACvB,wDAAyB;AACzB,sDAAuB;AACvB,8DAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,wDAAyB;AACzB,0DAA2B;AAC3B,yDAA0B;AAC1B,sDAAuB;AACvB,wDAAyB;AACzB,sDAAuB;AACvB,8DAA+B"}
@@ -24,8 +24,8 @@ class ItemAccumulatorInstance {
24
24
  this.allItems$ = this.allSuccessfulStates$.pipe((0, rxjs_1.scanBuildArray)((allSuccessfulStates) => {
25
25
  const mapStateToItem = (state) => {
26
26
  let result;
27
- if (state.model != null) {
28
- result = this.mapItemFunction(state.model, state);
27
+ if (state.value != null) {
28
+ result = this.mapItemFunction(state.value, state);
29
29
  }
30
30
  return result;
31
31
  };
@@ -15,7 +15,7 @@ function flattenIterationResultItemArray(iteration) {
15
15
  return iteration.allItems$.pipe((0, rxjs_1.scanBuildArray)((allItems) => {
16
16
  const seed = (0, util_1.flattenArray)(allItems);
17
17
  const latestItem = (0, util_1.lastValue)(allItems);
18
- const accumulatorObs = iteration.itemIteration.latestState$.pipe((0, rxjs_2.skipWhile)(x => x.model === latestItem), (0, rxjs_2.map)(x => x.model), (0, rxjs_1.filterMaybe)());
18
+ const accumulatorObs = iteration.itemIteration.latestState$.pipe((0, rxjs_2.skipWhile)(x => x.value === latestItem), (0, rxjs_2.map)(x => x.value), (0, rxjs_1.filterMaybe)());
19
19
  return {
20
20
  seed,
21
21
  accumulatorObs
@@ -64,7 +64,7 @@ class ItemPageIterationInstance {
64
64
  loading: false,
65
65
  page: nextPageNumber,
66
66
  error: result.error,
67
- model: result
67
+ value: result
68
68
  };
69
69
  }
70
70
  else {
@@ -125,7 +125,7 @@ class ItemPageIterationInstance {
125
125
  *
126
126
  * Will emit every time the latest page has finished loading.
127
127
  */
128
- this.hasReachedEndResult$ = this.latestPageResultState$.pipe((0, operators_1.map)(x => isItemPageIteratorResultEndResult(x.model)), (0, operators_1.startWith)(false), // Has not reached the end
128
+ this.hasReachedEndResult$ = this.latestPageResultState$.pipe((0, operators_1.map)(x => isItemPageIteratorResultEndResult(x.value)), (0, operators_1.startWith)(false), // Has not reached the end
129
129
  (0, rxjs_2.shareReplay)(1));
130
130
  this._currentPageResultState$ = this.currentPageResultState$.pipe((0, operators_1.startWith)(undefined), (0, rxjs_2.shareReplay)(1));
131
131
  /**
@@ -133,7 +133,7 @@ class ItemPageIterationInstance {
133
133
  */
134
134
  this.isLoading$ = this._currentPageResultState$.pipe((0, operators_1.map)(x => (0, loading_1.loadingStateIsLoading)(x)), (0, operators_1.distinctUntilChanged)(), (0, rxjs_2.shareReplay)(1));
135
135
  this._lastFinishedPageResultState$ = this.latestPageResultState$.pipe((0, operators_1.startWith)(undefined), (0, rxjs_2.shareReplay)(1));
136
- this._lastFinishedPageResult$ = this._lastFinishedPageResultState$.pipe((0, operators_1.map)(x => x === null || x === void 0 ? void 0 : x.model));
136
+ this._lastFinishedPageResult$ = this._lastFinishedPageResultState$.pipe((0, operators_1.map)(x => x === null || x === void 0 ? void 0 : x.value));
137
137
  this._lastFinishedPageResultItem$ = this._lastFinishedPageResult$.pipe((0, operators_1.map)(x => x === null || x === void 0 ? void 0 : x.value));
138
138
  /**
139
139
  * The latest page results that has finished loading without an error.
@@ -156,7 +156,7 @@ class ItemPageIterationInstance {
156
156
  */
157
157
  this.hasNextAndCanLoadMore$ = (0, iteration_next_1.iterationHasNextAndCanLoadMore)(this);
158
158
  this.latestState$ = this.latestPageResultState$.pipe(mapItemPageLoadingStateFromResultPageLoadingState(), (0, rxjs_2.shareReplay)(1));
159
- this.latestItems$ = this.latestState$.pipe((0, operators_1.distinctUntilChanged)(), (0, operators_1.map)(x => x.model), (0, rxjs_2.shareReplay)(1));
159
+ this.latestItems$ = this.latestState$.pipe((0, operators_1.distinctUntilChanged)(), (0, operators_1.map)(x => x.value), (0, rxjs_2.shareReplay)(1));
160
160
  }
161
161
  // MARK: PageItemIteration
162
162
  get maxPageLoadLimit() {
@@ -1,7 +1,8 @@
1
1
  export * from './loading.context.state';
2
- export * from './loading.context.state.page';
3
- export * from './loading.context.state.model';
2
+ export * from './loading.context.state.list';
3
+ export * from './loading.context.state.value';
4
4
  export * from './loading.context.simple';
5
5
  export * from './loading.context';
6
6
  export * from './loading.context.value';
7
+ export * from './loading.state.list';
7
8
  export * from './loading.state';
@@ -2,10 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  (0, tslib_1.__exportStar)(require("./loading.context.state"), exports);
5
- (0, tslib_1.__exportStar)(require("./loading.context.state.page"), exports);
6
- (0, tslib_1.__exportStar)(require("./loading.context.state.model"), exports);
5
+ (0, tslib_1.__exportStar)(require("./loading.context.state.list"), exports);
6
+ (0, tslib_1.__exportStar)(require("./loading.context.state.value"), exports);
7
7
  (0, tslib_1.__exportStar)(require("./loading.context.simple"), exports);
8
8
  (0, tslib_1.__exportStar)(require("./loading.context"), exports);
9
9
  (0, tslib_1.__exportStar)(require("./loading.context.value"), exports);
10
+ (0, tslib_1.__exportStar)(require("./loading.state.list"), exports);
10
11
  (0, tslib_1.__exportStar)(require("./loading.state"), exports);
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/index.ts"],"names":[],"mappings":";;;AAAA,uEAAwC;AACxC,4EAA6C;AAC7C,6EAA8C;AAC9C,wEAAyC;AACzC,iEAAkC;AAClC,uEAAwC;AACxC,+DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/index.ts"],"names":[],"mappings":";;;AAAA,uEAAwC;AACxC,4EAA6C;AAC7C,6EAA8C;AAC9C,wEAAyC;AACzC,iEAAkC;AAClC,uEAAwC;AACxC,oEAAqC;AACrC,+DAAgC"}
@@ -2,8 +2,8 @@ import { Maybe, Destroyable } from '@dereekb/util';
2
2
  import { Observable } from 'rxjs';
3
3
  import { LoadingContext, LoadingContextEvent } from './loading.context';
4
4
  import { LoadingState } from './loading.state';
5
- export interface AbstractLoadingStateLoadingEvent<T = any> extends LoadingContextEvent {
6
- model?: Maybe<T>;
5
+ export interface AbstractLoadingStateEvent<T = any> extends LoadingContextEvent {
6
+ value?: Maybe<T>;
7
7
  }
8
8
  export interface AbstractLoadingEventForLoadingPairConfig<S extends LoadingState = LoadingState> {
9
9
  /**
@@ -11,23 +11,35 @@ export interface AbstractLoadingEventForLoadingPairConfig<S extends LoadingState
11
11
  */
12
12
  obs?: Observable<S>;
13
13
  /**
14
- * Whether or not to show loading if a model is defined.
14
+ * Whether or not to show loading if a value is defined.
15
15
  */
16
- showLoadingOnNoModel?: boolean;
16
+ showLoadingOnNoValue?: boolean;
17
17
  }
18
+ export interface AbstractLoadingStateContext<T = any, S extends LoadingState<T> = LoadingState<T>, E extends LoadingContextEvent = LoadingContextEvent> {
19
+ readonly stateObs$: Observable<Maybe<Observable<S>>>;
20
+ readonly stateSubject$: Observable<Observable<S>>;
21
+ readonly state$: Observable<S>;
22
+ readonly stream$: Observable<E>;
23
+ readonly loading$: Observable<boolean>;
24
+ }
25
+ export declare type LoadingStateContextInstanceInputConfig<S, C> = Observable<S> | C;
18
26
  /**
19
27
  * Abstract LoadingContext implementation using LoadingState.
20
28
  */
21
- export declare abstract class AbstractLoadingStateLoadingContext<T = any, S extends LoadingState<T> = LoadingState<T>, E extends LoadingContextEvent = LoadingContextEvent, C extends AbstractLoadingEventForLoadingPairConfig<S> = AbstractLoadingEventForLoadingPairConfig<S>> implements LoadingContext, Destroyable {
29
+ export declare abstract class AbstractLoadingStateContextInstance<T = any, S extends LoadingState<T> = LoadingState<T>, E extends AbstractLoadingStateEvent<T> = AbstractLoadingStateEvent<T>, C extends AbstractLoadingEventForLoadingPairConfig<S> = AbstractLoadingEventForLoadingPairConfig<S>> implements AbstractLoadingStateContext<T, S, E>, LoadingContext, Destroyable {
22
30
  private _stateSubject$;
23
31
  private _config;
24
32
  readonly stateSubject$: Observable<Observable<S>>;
25
33
  readonly state$: Observable<S>;
26
34
  readonly stateObs$: Observable<Maybe<Observable<S>>>;
27
35
  readonly stream$: Observable<E>;
36
+ /**
37
+ * Emits when the input state has changed.
38
+ */
39
+ readonly stateChange$: Observable<void>;
28
40
  readonly loading$: Observable<boolean>;
29
- constructor(config?: Observable<S> | C);
41
+ constructor(config?: LoadingStateContextInstanceInputConfig<S, C>);
30
42
  protected abstract loadingEventForLoadingPair(state: S, config: C): E;
31
- setStateObs(state: Observable<S>): void;
43
+ setStateObs(state: Maybe<Observable<S>>): void;
32
44
  destroy(): void;
33
45
  }
@@ -1,32 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractLoadingStateLoadingContext = void 0;
3
+ exports.AbstractLoadingStateContextInstance = void 0;
4
4
  const rxjs_1 = require("@dereekb/rxjs");
5
5
  const rxjs_2 = require("rxjs");
6
- const operators_1 = require("rxjs/operators");
7
6
  /**
8
7
  * Abstract LoadingContext implementation using LoadingState.
9
8
  */
10
- class AbstractLoadingStateLoadingContext {
9
+ class AbstractLoadingStateContextInstance {
11
10
  constructor(config) {
12
11
  this._stateSubject$ = new rxjs_2.BehaviorSubject(undefined);
13
- this.stateSubject$ = this._stateSubject$.pipe((0, rxjs_1.filterMaybe)(), (0, operators_1.distinctUntilChanged)(), (0, operators_1.shareReplay)(1));
14
- this.state$ = this.stateSubject$.pipe((0, operators_1.switchMap)(x => x), (0, operators_1.shareReplay)(1));
12
+ this.stateSubject$ = this._stateSubject$.pipe((0, rxjs_1.filterMaybe)(), (0, rxjs_2.distinctUntilChanged)(), (0, rxjs_2.shareReplay)(1));
13
+ this.state$ = this.stateSubject$.pipe((0, rxjs_2.switchMap)(x => x), (0, rxjs_2.shareReplay)(1));
15
14
  this.stateObs$ = this._stateSubject$.asObservable();
16
- this.stream$ = this._stateSubject$.pipe((0, operators_1.mergeMap)((obs) => {
17
- const start = {
18
- loading: true
19
- };
15
+ this.stream$ = this._stateSubject$.pipe((0, rxjs_2.mergeMap)((obs) => {
20
16
  if (obs) {
21
- return obs.pipe((0, operators_1.startWith)(start), // Always start with loading. Observable may not always update immediately.
22
- (0, operators_1.map)((x) => this.loadingEventForLoadingPair(x, this._config)));
17
+ return obs.pipe(
18
+ // If the observable did not pass a value immediately, we start with the start value.
19
+ (0, rxjs_1.timeoutStartWith)((0, rxjs_1.beginLoading)()), (0, rxjs_2.map)((x) => this.loadingEventForLoadingPair(x, this._config)));
23
20
  }
24
21
  else {
25
- return (0, rxjs_2.of)(start);
22
+ return (0, rxjs_2.of)((0, rxjs_1.beginLoading)());
26
23
  }
27
- }), (0, operators_1.debounceTime)(0), // Debounce emissions
28
- (0, operators_1.shareReplay)(1));
29
- this.loading$ = this.stream$.pipe((0, operators_1.map)(x => x.loading), (0, operators_1.shareReplay)(1));
24
+ }), (0, rxjs_2.distinctUntilChanged)((a, b) => {
25
+ return a.loading === b.loading && a.error === b.error && a.value === b.value;
26
+ }), (0, rxjs_2.shareReplay)(1));
27
+ /**
28
+ * Emits when the input state has changed.
29
+ */
30
+ this.stateChange$ = this._stateSubject$.pipe((0, rxjs_2.map)(() => undefined));
31
+ this.loading$ = this.stream$.pipe((0, rxjs_2.map)(x => x.loading), (0, rxjs_2.shareReplay)(1));
30
32
  if ((0, rxjs_2.isObservable)(config)) {
31
33
  this._config = {
32
34
  obs: config
@@ -34,7 +36,7 @@ class AbstractLoadingStateLoadingContext {
34
36
  }
35
37
  else {
36
38
  this._config = config !== null && config !== void 0 ? config : {
37
- showLoadingOnNoModel: false
39
+ showLoadingOnNoValue: false
38
40
  };
39
41
  }
40
42
  if (this._config.obs) {
@@ -48,5 +50,5 @@ class AbstractLoadingStateLoadingContext {
48
50
  this._stateSubject$.complete();
49
51
  }
50
52
  }
51
- exports.AbstractLoadingStateLoadingContext = AbstractLoadingStateLoadingContext;
53
+ exports.AbstractLoadingStateContextInstance = AbstractLoadingStateContextInstance;
52
54
  //# sourceMappingURL=loading.context.state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loading.context.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.context.state.ts"],"names":[],"mappings":";;;AACA,wCAA4C;AAC5C,+BAAqE;AACrE,8CAAsH;AAoBtH;;GAEG;AACH,MAAsB,kCAAkC;IA8BtD,YAAY,MAA0B;QA5B9B,mBAAc,GAAG,IAAI,sBAAe,CAAuB,SAAS,CAAC,CAAC;QAGrE,kBAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAA,kBAAW,GAAE,EAAE,IAAA,gCAAoB,GAAE,EAAE,IAAA,uBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QAChG,WAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAA,qBAAS,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAA,uBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QACpE,cAAS,GAAqC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAEjF,YAAO,GAAkB,IAAI,CAAC,cAAc,CAAC,IAAI,CACxD,IAAA,oBAAQ,EAAC,CAAC,GAAG,EAAE,EAAE;YACf,MAAM,KAAK,GAAG;gBACZ,OAAO,EAAE,IAAI;aACT,CAAC;YAEP,IAAI,GAAG,EAAE;gBACP,OAAO,GAAG,CAAC,IAAI,CACb,IAAA,qBAAS,EAAC,KAAiB,CAAC,EAAE,2EAA2E;gBACzG,IAAA,eAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAC7D,CAAC;aACH;iBAAM;gBACL,OAAO,IAAA,SAAE,EAAC,KAAK,CAAC,CAAC;aAClB;QACH,CAAC,CAAC,EACF,IAAA,wBAAY,EAAC,CAAC,CAAC,EAAG,qBAAqB;QACvC,IAAA,uBAAW,EAAC,CAAC,CAAC,CACf,CAAC;QAEO,aAAQ,GAAwB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,eAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAA,uBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QAG9F,IAAI,IAAA,mBAAY,EAAC,MAAM,CAAC,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG;gBACb,GAAG,EAAE,MAAM;aACP,CAAC;SACR;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI;gBACvB,oBAAoB,EAAE,KAAK;aACvB,CAAC;SACR;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACpC;IACH,CAAC;IAID,WAAW,CAAC,KAAoB;QAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CAEF;AAxDD,gFAwDC"}
1
+ {"version":3,"file":"loading.context.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.context.state.ts"],"names":[],"mappings":";;;AACA,wCAAoF;AACpF,+BAAkI;AA6BlI;;GAEG;AACH,MAAsB,mCAAmC;IAkCvD,YAAY,MAAqD;QA/BzD,mBAAc,GAAG,IAAI,sBAAe,CAAuB,SAAS,CAAC,CAAC;QAGrE,kBAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAA,kBAAW,GAAE,EAAE,IAAA,2BAAoB,GAAE,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QAChG,WAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QACpE,cAAS,GAAqC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAEjF,YAAO,GAAkB,IAAI,CAAC,cAAc,CAAC,IAAI,CACxD,IAAA,eAAQ,EAAC,CAAC,GAAG,EAAE,EAAE;YACf,IAAI,GAAG,EAAE;gBACP,OAAO,GAAG,CAAC,IAAI;gBACb,qFAAqF;gBACrF,IAAA,uBAAgB,EAAI,IAAA,mBAAY,GAAO,CAAC,EACxC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAC7D,CAAC;aACH;iBAAM;gBACL,OAAO,IAAA,SAAE,EAAC,IAAA,mBAAY,GAAO,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,EACF,IAAA,2BAAoB,EAAC,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE;YAClC,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC;QAC/E,CAAC,CAAC,EACF,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;QAEF;;WAEG;QACM,iBAAY,GAAqB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,aAAQ,GAAwB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QAG9F,IAAI,IAAA,mBAAY,EAAC,MAAM,CAAC,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG;gBACb,GAAG,EAAE,MAAM;aACP,CAAC;SACR;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI;gBACvB,oBAAoB,EAAE,KAAK;aACvB,CAAC;SACR;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACpC;IACH,CAAC;IAID,WAAW,CAAC,KAA2B;QACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CAEF;AA5DD,kFA4DC"}