@dereekb/rxjs 4.0.1 → 5.0.1
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 +22 -0
- package/LICENSE +21 -0
- package/package.json +2 -3
- package/src/lib/filter/filter.d.ts +2 -2
- package/src/lib/filter/filter.js.map +1 -1
- package/src/lib/filter/filter.map.d.ts +2 -2
- package/src/lib/filter/filter.map.js +3 -3
- package/src/lib/filter/filter.map.js.map +1 -1
- package/src/lib/filter/filter.preset.d.ts +1 -1
- package/src/lib/filter/filter.preset.js.map +1 -1
- package/src/lib/filter/filter.source.js +1 -1
- package/src/lib/filter/filter.source.js.map +1 -1
- package/src/lib/iterator/iteration.accumulator.d.ts +16 -7
- package/src/lib/iterator/iteration.accumulator.js +7 -6
- package/src/lib/iterator/iteration.accumulator.js.map +1 -1
- package/src/lib/iterator/iteration.accumulator.rxjs.d.ts +3 -3
- package/src/lib/iterator/iteration.accumulator.rxjs.js +6 -4
- package/src/lib/iterator/iteration.accumulator.rxjs.js.map +1 -1
- package/src/lib/iterator/iteration.d.ts +4 -4
- package/src/lib/iterator/iteration.mapped.d.ts +6 -6
- package/src/lib/iterator/iteration.mapped.js +2 -2
- package/src/lib/iterator/iteration.mapped.js.map +1 -1
- package/src/lib/iterator/iteration.mapped.page.d.ts +5 -5
- package/src/lib/iterator/iteration.mapped.page.js.map +1 -1
- package/src/lib/iterator/iteration.next.d.ts +2 -2
- package/src/lib/iterator/iteration.next.js +1 -1
- package/src/lib/iterator/iteration.next.js.map +1 -1
- package/src/lib/iterator/iterator.page.d.ts +5 -5
- package/src/lib/iterator/iterator.page.js +36 -31
- package/src/lib/iterator/iterator.page.js.map +1 -1
- package/src/lib/loading/loading.context.simple.d.ts +2 -1
- package/src/lib/loading/loading.context.simple.js.map +1 -1
- package/src/lib/loading/loading.context.state.d.ts +3 -3
- package/src/lib/loading/loading.context.state.js +18 -16
- package/src/lib/loading/loading.context.state.js.map +1 -1
- package/src/lib/loading/loading.context.state.list.d.ts +4 -4
- package/src/lib/loading/loading.context.state.list.js +5 -5
- package/src/lib/loading/loading.context.state.list.js.map +1 -1
- package/src/lib/loading/loading.context.state.value.d.ts +5 -6
- package/src/lib/loading/loading.context.state.value.js +5 -5
- package/src/lib/loading/loading.context.state.value.js.map +1 -1
- package/src/lib/loading/loading.context.value.d.ts +1 -1
- package/src/lib/loading/loading.context.value.js +1 -1
- package/src/lib/loading/loading.context.value.js.map +1 -1
- package/src/lib/loading/loading.state.d.ts +41 -18
- package/src/lib/loading/loading.state.js +28 -31
- package/src/lib/loading/loading.state.js.map +1 -1
- package/src/lib/loading/loading.state.list.d.ts +3 -3
- package/src/lib/loading/loading.state.list.js +1 -1
- package/src/lib/loading/loading.state.list.js.map +1 -1
- package/src/lib/lock.d.ts +1 -2
- package/src/lib/lock.js +15 -9
- package/src/lib/lock.js.map +1 -1
- package/src/lib/object.d.ts +1 -1
- package/src/lib/object.js +3 -4
- package/src/lib/object.js.map +1 -1
- package/src/lib/rxjs/array.d.ts +3 -3
- package/src/lib/rxjs/array.js +3 -6
- package/src/lib/rxjs/array.js.map +1 -1
- package/src/lib/rxjs/boolean.d.ts +1 -1
- package/src/lib/rxjs/boolean.js +2 -2
- package/src/lib/rxjs/boolean.js.map +1 -1
- package/src/lib/rxjs/delta.js +1 -1
- package/src/lib/rxjs/delta.js.map +1 -1
- package/src/lib/rxjs/factory.js.map +1 -1
- package/src/lib/rxjs/getter.js +1 -1
- package/src/lib/rxjs/getter.js.map +1 -1
- package/src/lib/rxjs/lifecycle.d.ts +2 -2
- package/src/lib/rxjs/lifecycle.js +2 -2
- package/src/lib/rxjs/lifecycle.js.map +1 -1
- package/src/lib/rxjs/loading.d.ts +1 -1
- package/src/lib/rxjs/loading.js +1 -1
- package/src/lib/rxjs/loading.js.map +1 -1
- package/src/lib/rxjs/map.d.ts +2 -2
- package/src/lib/rxjs/map.js +1 -1
- package/src/lib/rxjs/map.js.map +1 -1
- package/src/lib/rxjs/misc.d.ts +4 -4
- package/src/lib/rxjs/misc.js.map +1 -1
- package/src/lib/rxjs/number.d.ts +2 -3
- package/src/lib/rxjs/number.js +2 -2
- package/src/lib/rxjs/number.js.map +1 -1
- package/src/lib/rxjs/rxjs.async.d.ts +3 -3
- package/src/lib/rxjs/rxjs.async.js +19 -15
- package/src/lib/rxjs/rxjs.async.js.map +1 -1
- package/src/lib/rxjs/rxjs.js +1 -1
- package/src/lib/rxjs/rxjs.js.map +1 -1
- package/src/lib/rxjs/rxjs.map.d.ts +1 -1
- package/src/lib/rxjs/rxjs.map.js +2 -2
- package/src/lib/rxjs/rxjs.map.js.map +1 -1
- package/src/lib/rxjs/set.d.ts +2 -2
- package/src/lib/rxjs/value.d.ts +5 -5
- package/src/lib/rxjs/value.js +5 -7
- package/src/lib/rxjs/value.js.map +1 -1
- package/src/lib/subscription.js +1 -1
- package/src/lib/subscription.js.map +1 -1
- package/src/lib/work/work.factory.d.ts +3 -3
- package/src/lib/work/work.factory.js.map +1 -1
- package/src/lib/work/work.instance.d.ts +7 -7
- package/src/lib/work/work.instance.js +12 -8
- package/src/lib/work/work.instance.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [5.0.1](https://github.com/dereekb/dbx-components/compare/v5.0.0-dev...v5.0.1) (2022-05-26)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# [5.0.0](https://github.com/dereekb/dbx-components/compare/v4.1.0-dev...v5.0.0) (2022-05-25)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* codedError now includes original error if available ([1262281](https://github.com/dereekb/dbx-components/commit/1262281f08b75000f863b483744418378006b2d2))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# [4.1.0](https://github.com/dereekb/dbx-components/compare/v4.0.1-dev...v4.1.0) (2022-05-17)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* setup project ([fe2ae88](https://github.com/dereekb/dbx-components/commit/fe2ae88592c4a02c0346e5e31c72e3d66fb08845))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
5
27
|
## [4.0.1](https://github.com/dereekb/dbx-components/compare/v4.0.0-dev...v4.0.1) (2022-05-14)
|
|
6
28
|
|
|
7
29
|
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 Hapier Creative LLC.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/package.json
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/rxjs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.1",
|
|
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.0.0",
|
|
10
|
-
"@dereekb/util": "
|
|
10
|
+
"@dereekb/util": "5.0.1",
|
|
11
11
|
"make-error": "^1.3.0",
|
|
12
12
|
"extra-set": "^2.2.11",
|
|
13
|
-
"change-case": "^4.1.2",
|
|
14
13
|
"ms": "^3.0.0-canary.1",
|
|
15
14
|
"tslib": "^2.0.0"
|
|
16
15
|
}
|
|
@@ -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 =
|
|
5
|
+
export declare abstract class FilterSource<F = object> {
|
|
6
6
|
/**
|
|
7
7
|
* Provided filter.
|
|
8
8
|
*/
|
|
@@ -36,7 +36,7 @@ export declare abstract class PresetFilterSource<F extends FilterPreset> extends
|
|
|
36
36
|
/**
|
|
37
37
|
* A FilterSourceConnector connects with a Source for a function.
|
|
38
38
|
*/
|
|
39
|
-
export declare abstract class FilterSourceConnector<F =
|
|
39
|
+
export declare abstract class FilterSourceConnector<F = unknown> {
|
|
40
40
|
/**
|
|
41
41
|
* Coonnects with the input source.
|
|
42
42
|
*/
|
|
@@ -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;
|
|
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,7 +1,7 @@
|
|
|
1
1
|
import { ObservableOrValue } from '../rxjs/getter';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { FilterSource, FilterSourceConnector } from './filter';
|
|
4
|
-
import { Destroyable } from '@dereekb/util';
|
|
4
|
+
import { Destroyable, Maybe } from '@dereekb/util';
|
|
5
5
|
export declare type FilterMapKey = string;
|
|
6
6
|
/**
|
|
7
7
|
* Class used to keep track of filters keyed by a specific string identifier.
|
|
@@ -9,7 +9,7 @@ export declare type FilterMapKey = string;
|
|
|
9
9
|
export declare class FilterMap<F> implements Destroyable {
|
|
10
10
|
private readonly _map;
|
|
11
11
|
filterForKey(key: FilterMapKey): Observable<F>;
|
|
12
|
-
addDefaultFilterObs(key: FilterMapKey, obs: ObservableOrValue<F
|
|
12
|
+
addDefaultFilterObs(key: FilterMapKey, obs: Maybe<ObservableOrValue<F>>): void;
|
|
13
13
|
addFilterObs(key: FilterMapKey, obs: Observable<F>): void;
|
|
14
14
|
makeInstance(key: FilterMapKey): FilterMapKeyInstance<F>;
|
|
15
15
|
instanceObsForKeyObs(keyObs: Observable<FilterMapKey>): Observable<FilterMapKeyInstance<F>>;
|
|
@@ -12,8 +12,8 @@ class FilterMap {
|
|
|
12
12
|
this._map = new rxjs_1.BehaviorSubject(new Map());
|
|
13
13
|
}
|
|
14
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)());
|
|
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
17
|
}
|
|
18
18
|
addDefaultFilterObs(key, obs) {
|
|
19
19
|
this._itemForKey(key).setDefaultFilterObs(obs);
|
|
@@ -25,7 +25,7 @@ class FilterMap {
|
|
|
25
25
|
return new FilterMapKeyInstance(this, key);
|
|
26
26
|
}
|
|
27
27
|
instanceObsForKeyObs(keyObs) {
|
|
28
|
-
return keyObs.pipe((0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.map)(x => this.makeInstance(x)), (0, rxjs_1.shareReplay)(1));
|
|
28
|
+
return keyObs.pipe((0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.map)((x) => this.makeInstance(x)), (0, rxjs_1.shareReplay)(1));
|
|
29
29
|
}
|
|
30
30
|
// MARK: Internal
|
|
31
31
|
_itemForKey(key) {
|
|
@@ -1 +1 @@
|
|
|
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;AAM7G;;GAEG;AACH,MAAa,SAAS;IAAtB;
|
|
1
|
+
{"version":3,"file":"filter.map.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterPreset, FilterWithoutPreset } from
|
|
1
|
+
import { FilterPreset, FilterWithoutPreset } from './filter';
|
|
2
2
|
import { OperatorFunction } from 'rxjs';
|
|
3
3
|
export declare type MapFilterWithPresetFn<F extends FilterPreset> = (filter: F) => FilterWithoutPreset<F>;
|
|
4
4
|
export declare function makeMapFilterWithPresetFn<F extends FilterPreset>(fn: MapFilterWithPresetFn<F>): MapFilterWithPresetFn<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,
|
|
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"}
|
|
@@ -18,7 +18,7 @@ class FilterSourceInstance {
|
|
|
18
18
|
/**
|
|
19
19
|
* filter$ uses the latest value from any filter.
|
|
20
20
|
*/
|
|
21
|
-
this.filter$ = this._filter.pipe((0, rxjs_1.switchMap)(x => (x != null
|
|
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
22
|
(0, object_1.distinctUntilObjectValuesChanged)(), (0, rxjs_1.shareReplay)(1));
|
|
23
23
|
}
|
|
24
24
|
initWithFilter(filterObs) {
|
|
@@ -1 +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,2CAAiE;AACjE,yCAA+D;AAG/D;;GAEG;AACH,MAAa,oBAAoB;IAAjC;
|
|
1
|
+
{"version":3,"file":"filter.source.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.source.ts"],"names":[],"mappings":";;;AAAA,+BAAgI;AAEhI,sCAA6D;AAC7D,2CAAiE;AACjE,yCAA+D;AAG/D;;GAEG;AACH,MAAa,oBAAoB;IAAjC;QACU,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,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAA,SAAE,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAC3D,IAAA,mBAAW,GAAE,EAAE,yCAAyC;QACxD,IAAA,yCAAgC,GAAE,EAClC,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;IA6BJ,CAAC;IA3BC,cAAc,CAAC,SAAwB;QACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,MAA0C;QACzD,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;CACF;AAlDD,oDAkDC"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import { Destroyable } from
|
|
3
|
-
import { ItemIteration, PageItemIteration } from
|
|
2
|
+
import { MapFunctionOutputPair, Destroyable } from '@dereekb/util';
|
|
3
|
+
import { ItemIteration, PageItemIteration } from './iteration';
|
|
4
4
|
import { LoadingState, MapLoadingStateValueMapFunction } from '../loading';
|
|
5
5
|
export declare type ItemAccumulatorMapFunction<O, I> = MapLoadingStateValueMapFunction<O, I>;
|
|
6
6
|
/**
|
|
7
7
|
* An object that accumulates and exposes values from an ItemIteration.
|
|
8
8
|
*/
|
|
9
|
-
export interface ItemAccumulator<O, I =
|
|
9
|
+
export interface ItemAccumulator<O, I = unknown, N extends ItemIteration<I> = ItemIteration<I>> {
|
|
10
10
|
/**
|
|
11
11
|
* Iteration being accumulated.
|
|
12
12
|
*/
|
|
13
13
|
readonly itemIteration: N;
|
|
14
|
+
/**
|
|
15
|
+
* Returns all items with their input pairs.
|
|
16
|
+
*/
|
|
17
|
+
readonly allItemPairs$: Observable<ItemAccumulatorValuePair<O, I>[]>;
|
|
14
18
|
/**
|
|
15
19
|
* Returns all items loaded so far in the iteration in a single array.
|
|
16
20
|
*/
|
|
@@ -23,7 +27,7 @@ export interface ItemAccumulator<O, I = any, N extends ItemIteration<I> = ItemIt
|
|
|
23
27
|
/**
|
|
24
28
|
* An object that accumulates and exposes values from a PageItemIteration.
|
|
25
29
|
*/
|
|
26
|
-
export declare type PageItemAccumulator<O, I =
|
|
30
|
+
export declare type PageItemAccumulator<O, I = unknown, N extends PageItemIteration<I> = PageItemIteration<I>> = ItemAccumulator<O, I, N>;
|
|
27
31
|
/**
|
|
28
32
|
* An accumulator with no mapping.
|
|
29
33
|
*/
|
|
@@ -32,10 +36,14 @@ export declare type MonotypeItemAccumulator<I, N extends ItemIteration<I> = Item
|
|
|
32
36
|
* A page accumulator with no mapping.
|
|
33
37
|
*/
|
|
34
38
|
export declare type MonotypePageItemAccumulator<I, N extends PageItemIteration<I> = PageItemIteration<I>> = ItemAccumulator<I, I, N>;
|
|
39
|
+
/**
|
|
40
|
+
* Value of an item accumulator.
|
|
41
|
+
*/
|
|
42
|
+
export declare type ItemAccumulatorValuePair<O, I = unknown> = MapFunctionOutputPair<O, LoadingState<I>>;
|
|
35
43
|
/**
|
|
36
44
|
* ItemAccumulator implementation.
|
|
37
45
|
*/
|
|
38
|
-
export declare class ItemAccumulatorInstance<O, I =
|
|
46
|
+
export declare class ItemAccumulatorInstance<O, I = unknown, N extends ItemIteration<I> = ItemIteration<I>> implements ItemAccumulator<O, I, N>, Destroyable {
|
|
39
47
|
readonly itemIteration: N;
|
|
40
48
|
readonly mapItemFunction: ItemAccumulatorMapFunction<O, I>;
|
|
41
49
|
constructor(itemIteration: N, mapItemFunction: ItemAccumulatorMapFunction<O, I>);
|
|
@@ -45,6 +53,7 @@ export declare class ItemAccumulatorInstance<O, I = any, N extends ItemIteration
|
|
|
45
53
|
*/
|
|
46
54
|
readonly allSuccessfulStates$: Observable<LoadingState<I>[]>;
|
|
47
55
|
readonly successfulLoadCount$: Observable<number>;
|
|
56
|
+
readonly allItemPairs$: Observable<ItemAccumulatorValuePair<O, I>[]>;
|
|
48
57
|
readonly allItems$: Observable<O[]>;
|
|
49
58
|
private _sub;
|
|
50
59
|
destroy(): void;
|
|
@@ -56,5 +65,5 @@ export declare class ItemAccumulatorInstance<O, I = any, N extends ItemIteration
|
|
|
56
65
|
* @param mapItem
|
|
57
66
|
* @returns
|
|
58
67
|
*/
|
|
59
|
-
export declare function itemAccumulator<I, N extends ItemIteration<I>>(itemIteration: N): ItemAccumulatorInstance<I, I, N>;
|
|
60
|
-
export declare function itemAccumulator<O, I, N extends ItemIteration<I>>(itemIteration: N, mapItem?: ItemAccumulatorMapFunction<O, I>): ItemAccumulatorInstance<O, I, N>;
|
|
68
|
+
export declare function itemAccumulator<I, N extends ItemIteration<I> = ItemIteration<I>>(itemIteration: N): ItemAccumulatorInstance<I, I, N>;
|
|
69
|
+
export declare function itemAccumulator<O, I, N extends ItemIteration<I> = ItemIteration<I>>(itemIteration: N, mapItem?: ItemAccumulatorMapFunction<O, I>): ItemAccumulatorInstance<O, I, N>;
|
|
@@ -13,7 +13,7 @@ class ItemAccumulatorInstance {
|
|
|
13
13
|
constructor(itemIteration, mapItemFunction) {
|
|
14
14
|
this.itemIteration = itemIteration;
|
|
15
15
|
this.mapItemFunction = mapItemFunction;
|
|
16
|
-
this.latestSuccessfulState$ = this.itemIteration.latestState$.pipe((0, rxjs_1.filter)(x => !(0, loading_1.loadingStateHasError)(x)), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.shareReplay)(1));
|
|
16
|
+
this.latestSuccessfulState$ = this.itemIteration.latestState$.pipe((0, rxjs_1.filter)((x) => !(0, loading_1.loadingStateHasError)(x)), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.shareReplay)(1));
|
|
17
17
|
/**
|
|
18
18
|
* All successful page results in a single array.
|
|
19
19
|
*/
|
|
@@ -22,10 +22,10 @@ class ItemAccumulatorInstance {
|
|
|
22
22
|
* Don't wait for the first successful state in order to avoid never returning a value on immediate failures.
|
|
23
23
|
*/
|
|
24
24
|
(0, rxjs_1.startWith)([]), (0, rxjs_2.distinctUntilArrayLengthChanges)(), (0, rxjs_1.shareReplay)(1));
|
|
25
|
-
this.successfulLoadCount$ = this.allSuccessfulStates$.pipe((0, rxjs_1.map)(x => x.length), (0, rxjs_1.shareReplay)(1));
|
|
25
|
+
this.successfulLoadCount$ = this.allSuccessfulStates$.pipe((0, rxjs_1.map)((x) => x.length), (0, rxjs_1.shareReplay)(1));
|
|
26
26
|
// MARK: ItemAccumulator
|
|
27
|
-
this.
|
|
28
|
-
const mapStateToItem = (0, loading_1.mapLoadingStateValueFunction)(this.mapItemFunction);
|
|
27
|
+
this.allItemPairs$ = this.allSuccessfulStates$.pipe((0, rxjs_2.scanBuildArray)((allSuccessfulStates) => {
|
|
28
|
+
const mapStateToItem = (0, util_1.mapFunctionOutputPair)((0, loading_1.mapLoadingStateValueFunction)(this.mapItemFunction));
|
|
29
29
|
/*
|
|
30
30
|
Start with allSuccessfulPageResults$ since it contains all page results since the start of the iterator,
|
|
31
31
|
and subscription to allItems may not have started at the same time.
|
|
@@ -36,13 +36,14 @@ class ItemAccumulatorInstance {
|
|
|
36
36
|
*/
|
|
37
37
|
const allPageResultsUpToFirstSubscription = allSuccessfulStates;
|
|
38
38
|
const firstLatestState = (0, util_1.lastValue)(allPageResultsUpToFirstSubscription);
|
|
39
|
-
const seed = (0, util_1.
|
|
40
|
-
const accumulatorObs = this.latestSuccessfulState$.pipe((0, rxjs_1.skipWhile)(x => x === firstLatestState), (0, rxjs_1.map)(mapStateToItem), (0,
|
|
39
|
+
const seed = allPageResultsUpToFirstSubscription.map(mapStateToItem).filter((x) => (0, util_1.isMaybeSo)(x.output));
|
|
40
|
+
const accumulatorObs = this.latestSuccessfulState$.pipe((0, rxjs_1.skipWhile)((x) => x === firstLatestState), (0, rxjs_1.map)(mapStateToItem), (0, rxjs_1.filter)((x) => (0, util_1.isMaybeSo)(x.output)));
|
|
41
41
|
return {
|
|
42
42
|
seed,
|
|
43
43
|
accumulatorObs
|
|
44
44
|
};
|
|
45
45
|
}), (0, rxjs_1.shareReplay)(1));
|
|
46
|
+
this.allItems$ = this.allItemPairs$.pipe((0, rxjs_1.map)((x) => x.map((y) => y.output)), (0, rxjs_1.shareReplay)(1));
|
|
46
47
|
this._sub = new subscription_1.SubscriptionObject(this.allSuccessfulStates$.subscribe());
|
|
47
48
|
}
|
|
48
49
|
destroy() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iteration.accumulator.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.accumulator.ts"],"names":[],"mappings":";;;AAAA,kDAAqD;AACrD,+BAAwG;AACxG,
|
|
1
|
+
{"version":3,"file":"iteration.accumulator.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.accumulator.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,12 @@ import { ItemAccumulator, PageItemAccumulator } from './iteration.accumulator';
|
|
|
7
7
|
* @param accumulator
|
|
8
8
|
* @returns
|
|
9
9
|
*/
|
|
10
|
-
export declare function flattenAccumulatorResultItemArray<T>(accumulator: ItemAccumulator<T[]>): Observable<T[]>;
|
|
10
|
+
export declare function flattenAccumulatorResultItemArray<T, I = unknown>(accumulator: ItemAccumulator<T[], I>): Observable<T[]>;
|
|
11
11
|
/**
|
|
12
12
|
* A PageListLoadingState that captures all the values that have been loaded so far, flattens them as an array, and the current loading state of currentPageResult$.
|
|
13
13
|
*/
|
|
14
|
-
export declare function accumulatorFlattenPageListLoadingState<T>(accumulator: PageItemAccumulator<T[]>): Observable<PageListLoadingState<T>>;
|
|
14
|
+
export declare function accumulatorFlattenPageListLoadingState<T, I = unknown>(accumulator: PageItemAccumulator<T[], I>): Observable<PageListLoadingState<T>>;
|
|
15
15
|
/**
|
|
16
16
|
* A PageListLoadingState that captures all the values that have been loaded so far, and the current loading state of currentPageResult$.
|
|
17
17
|
*/
|
|
18
|
-
export declare function accumulatorCurrentPageListLoadingState<V>(accumulator: PageItemAccumulator<V>): Observable<PageListLoadingState<V>>;
|
|
18
|
+
export declare function accumulatorCurrentPageListLoadingState<V, I = unknown>(accumulator: PageItemAccumulator<V, I>): Observable<PageListLoadingState<V>>;
|
|
@@ -12,11 +12,13 @@ const loading_1 = require("../loading");
|
|
|
12
12
|
* @returns
|
|
13
13
|
*/
|
|
14
14
|
function flattenAccumulatorResultItemArray(accumulator) {
|
|
15
|
-
return accumulator.
|
|
16
|
-
const
|
|
17
|
-
const
|
|
15
|
+
return accumulator.allItemPairs$.pipe((0, rxjs_1.scanBuildArray)((allItems) => {
|
|
16
|
+
const pairs = allItems;
|
|
17
|
+
const firstLatestItemPair = (0, util_1.lastValue)(allItems);
|
|
18
|
+
const skipValue = firstLatestItemPair === null || firstLatestItemPair === void 0 ? void 0 : firstLatestItemPair.input;
|
|
19
|
+
const seed = (0, util_1.flattenArray)(pairs.map((x) => x.output));
|
|
18
20
|
const mapStateToItem = (0, loading_1.mapLoadingStateValueFunction)(accumulator.mapItemFunction);
|
|
19
|
-
const accumulatorObs = accumulator.itemIteration.latestState$.pipe((0, rxjs_2.skipWhile)(x => x.value ===
|
|
21
|
+
const accumulatorObs = accumulator.itemIteration.latestState$.pipe((0, rxjs_2.skipWhile)((x) => x.value === skipValue), (0, rxjs_2.map)(mapStateToItem), (0, rxjs_1.filterMaybe)());
|
|
20
22
|
return {
|
|
21
23
|
seed,
|
|
22
24
|
accumulatorObs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iteration.accumulator.rxjs.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.accumulator.rxjs.ts"],"names":[],"mappings":";;;AAAA,wCAAwD;AACxD,kCAAsD;AACtD,+BAA8E;AAC9E,wCAAwG;AAGxG;;;;;GAKG;AACH,SAAgB,iCAAiC,
|
|
1
|
+
{"version":3,"file":"iteration.accumulator.rxjs.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.accumulator.rxjs.ts"],"names":[],"mappings":";;;AAAA,wCAAwD;AACxD,kCAAsD;AACtD,+BAA8E;AAC9E,wCAAwG;AAGxG;;;;;GAKG;AACH,SAAgB,iCAAiC,CAAiB,WAAoC;IACpG,OAAO,WAAW,CAAC,aAAa,CAAC,IAAI,CACnC,IAAA,qBAAc,EAAwC,CAAC,QAA4C,EAAE,EAAE;QACrG,MAAM,KAAK,GAAuC,QAAQ,CAAC;QAC3D,MAAM,mBAAmB,GAAG,IAAA,gBAAS,EAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,CAAC;QAC7C,MAAM,IAAI,GAAQ,IAAA,mBAAY,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3D,MAAM,cAAc,GAAG,IAAA,sCAA4B,EAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjF,MAAM,cAAc,GAAoB,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CACjF,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,EACvC,IAAA,UAAG,EAAC,cAAc,CAAC,EACnB,IAAA,kBAAW,GAAE,CACd,CAAC;QAEF,OAAO;YACL,IAAI;YACJ,cAAc;YACd,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAtBD,8EAsBC;AAED;;GAEG;AACH,SAAgB,sCAAsC,CAAiB,WAAwC;IAC7G,OAAO,IAAA,oBAAa,EAAC,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,iCAAiC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAClH,IAAA,UAAG,EACD,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAClB,IAAA,gCAAsB,EAAC,KAAK,EAAE;QAC5B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM;KACvB,CAA4B,CAChC,EACD,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AACJ,CAAC;AAVD,wFAUC;AAED;;GAEG;AACH,SAAgB,sCAAsC,CAAiB,WAAsC;IAC3G,OAAO,IAAA,oBAAa,EAAC,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CACzF,IAAA,UAAG,EACD,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAClB,IAAA,gCAAsB,EAAC,KAAK,EAAE;QAC5B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM;KACvB,CAA4B,CAChC,EACD,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AACJ,CAAC;AAVD,wFAUC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import { Destroyable, Maybe, PageNumber } from
|
|
2
|
+
import { Destroyable, Maybe, PageNumber } from '@dereekb/util';
|
|
3
3
|
import { LoadingState, PageLoadingState } from '../loading';
|
|
4
4
|
export interface ItemIteratorNextRequest {
|
|
5
5
|
/**
|
|
@@ -13,7 +13,7 @@ export interface ItemIteratorNextRequest {
|
|
|
13
13
|
*/
|
|
14
14
|
retry?: boolean;
|
|
15
15
|
}
|
|
16
|
-
export interface ItemIteration<V =
|
|
16
|
+
export interface ItemIteration<V = unknown, L extends LoadingState<V> = LoadingState<V>> extends Destroyable {
|
|
17
17
|
readonly hasNext$: Observable<boolean>;
|
|
18
18
|
readonly canLoadMore$: Observable<boolean>;
|
|
19
19
|
/**
|
|
@@ -32,7 +32,7 @@ export interface ItemIteration<V = any, L extends LoadingState<V> = LoadingState
|
|
|
32
32
|
/**
|
|
33
33
|
* An ItemIteration that has pages.
|
|
34
34
|
*/
|
|
35
|
-
export interface PageItemIteration<V =
|
|
35
|
+
export interface PageItemIteration<V = unknown, L extends PageLoadingState<V> = PageLoadingState<V>> extends ItemIteration<V, L> {
|
|
36
36
|
/**
|
|
37
37
|
* The maximum number of pages allowed to be loaded.
|
|
38
38
|
*
|
|
@@ -40,7 +40,7 @@ export interface PageItemIteration<V = any, L extends PageLoadingState<V> = Page
|
|
|
40
40
|
*
|
|
41
41
|
* If this value is unset, there is no limit to the number of pages that can be loaded.
|
|
42
42
|
*
|
|
43
|
-
* For most cases you should always have a maxPageLoadLimit set to avoid iterating too
|
|
43
|
+
* For most cases you should always have a maxPageLoadLimit set to avoid iterating too munknown unused items.
|
|
44
44
|
*/
|
|
45
45
|
maxPageLoadLimit: Maybe<PageNumber>;
|
|
46
46
|
/**
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { LoadingState, MapLoadingStateResultsConfiguration, PageLoadingState } from '../loading';
|
|
2
|
-
import { Destroyable } from
|
|
3
|
-
import { Observable } from
|
|
4
|
-
import { ItemIteration, ItemIteratorNextRequest } from
|
|
2
|
+
import { Destroyable } from '@dereekb/util';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { ItemIteration, ItemIteratorNextRequest } from './iteration';
|
|
5
5
|
/**
|
|
6
6
|
* An object that maps loading states from one mapping to another.
|
|
7
7
|
*/
|
|
8
|
-
export interface MappedItemIteration<O, I =
|
|
8
|
+
export interface MappedItemIteration<O, I = unknown, M extends LoadingState<O> = LoadingState<O>, L extends LoadingState<I> = LoadingState<I>, N extends ItemIteration<I, L> = ItemIteration<I, L>> extends ItemIteration<O, M> {
|
|
9
9
|
/**
|
|
10
10
|
* Iteration being accumulated.
|
|
11
11
|
*/
|
|
@@ -17,7 +17,7 @@ export interface MappedItemIterationInstanceMapConfig<O, I, M extends LoadingSta
|
|
|
17
17
|
*/
|
|
18
18
|
forwardDestroy?: boolean;
|
|
19
19
|
}
|
|
20
|
-
export declare class MappedItemIterationInstance<O, I =
|
|
20
|
+
export declare class MappedItemIterationInstance<O, I = unknown, M extends LoadingState<O> = LoadingState<O>, L extends LoadingState<I> = LoadingState<I>, N extends ItemIteration<I, L> = ItemIteration<I, L>> implements ItemIteration<O>, Destroyable {
|
|
21
21
|
readonly itemIterator: N;
|
|
22
22
|
readonly config: MappedItemIterationInstanceMapConfig<O, I, M, L>;
|
|
23
23
|
constructor(itemIterator: N, config: MappedItemIterationInstanceMapConfig<O, I, M, L>);
|
|
@@ -35,4 +35,4 @@ export declare class MappedItemIterationInstance<O, I = any, M extends LoadingSt
|
|
|
35
35
|
* @param config
|
|
36
36
|
* @returns
|
|
37
37
|
*/
|
|
38
|
-
export declare function mapItemIteration<O, I =
|
|
38
|
+
export declare function mapItemIteration<O, I = unknown, M extends LoadingState<O> = LoadingState<O>, L extends LoadingState<I> = LoadingState<I>, N extends ItemIteration<I, L> = ItemIteration<I, L>>(itemIteration: N, config: MappedItemIterationInstanceMapConfig<O, I, M, L>): MappedItemIterationInstance<O, I, M, L, N>;
|
|
@@ -9,8 +9,8 @@ class MappedItemIterationInstance {
|
|
|
9
9
|
this.config = config;
|
|
10
10
|
this.hasNext$ = this.itemIterator.hasNext$;
|
|
11
11
|
this.canLoadMore$ = this.itemIterator.canLoadMore$;
|
|
12
|
-
this.latestState$ = this.itemIterator.latestState$.pipe((0, rxjs_1.map)(state => (0, loading_1.mapLoadingStateResults)(state, this.config)), (0, rxjs_1.shareReplay)(1));
|
|
13
|
-
this.currentState$ = this.itemIterator.currentState$.pipe((0, rxjs_1.map)(state => (0, loading_1.mapLoadingStateResults)(state, this.config)), (0, rxjs_1.shareReplay)(1));
|
|
12
|
+
this.latestState$ = this.itemIterator.latestState$.pipe((0, rxjs_1.map)((state) => (0, loading_1.mapLoadingStateResults)(state, this.config)), (0, rxjs_1.shareReplay)(1));
|
|
13
|
+
this.currentState$ = this.itemIterator.currentState$.pipe((0, rxjs_1.map)((state) => (0, loading_1.mapLoadingStateResults)(state, this.config)), (0, rxjs_1.shareReplay)(1));
|
|
14
14
|
}
|
|
15
15
|
next(request) {
|
|
16
16
|
return this.itemIterator.next(request);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iteration.mapped.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.mapped.ts"],"names":[],"mappings":";;;AAAA,wCAAyH;AAEzH,+BAAoD;
|
|
1
|
+
{"version":3,"file":"iteration.mapped.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.mapped.ts"],"names":[],"mappings":";;;AAAA,wCAAyH;AAEzH,+BAAoD;AAoBpD,MAAa,2BAA2B;IACtC,YAAqB,YAAe,EAAW,MAAwD;QAAlF,iBAAY,GAAZ,YAAY,CAAG;QAAW,WAAM,GAAN,MAAM,CAAkD;QAE9F,aAAQ,GAAwB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC3D,iBAAY,GAAwB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QAEnE,iBAAY,GAAkB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CACxE,IAAA,UAAG,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,gCAAsB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAC1D,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;QAEO,kBAAa,GAAkB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAC1E,IAAA,UAAG,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,gCAAsB,EAAa,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EACtE,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;IAbwG,CAAC;IAe3G,IAAI,CAAC,OAAiC;QACpC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,KAAK,EAAE;YACxC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;SAC7B;IACH,CAAC;CACF;AAzBD,kEAyBC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAgK,aAAgB,EAAE,MAAwD;IACxQ,OAAO,IAAI,2BAA2B,CAAgB,aAAa,EAAE,MAAM,CAAC,CAAC;AAC/E,CAAC;AAFD,4CAEC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { PageLoadingState } from '../loading';
|
|
2
|
-
import { Observable } from
|
|
3
|
-
import { ItemIteratorNextRequest, PageItemIteration } from
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { ItemIteratorNextRequest, PageItemIteration } from './iteration';
|
|
4
4
|
import { MappedItemIteration, MappedItemIterationInstance, MappedItemIterationInstanceMapConfig } from './iteration.mapped';
|
|
5
5
|
import { Maybe } from '@dereekb/util';
|
|
6
6
|
/**
|
|
7
7
|
* MappedItemIteration for PageItemIteration
|
|
8
8
|
*/
|
|
9
|
-
export declare type MappedPageItemIteration<O, I =
|
|
9
|
+
export declare type MappedPageItemIteration<O, I = unknown, M extends PageLoadingState<O> = PageLoadingState<O>, L extends PageLoadingState<I> = PageLoadingState<I>, N extends PageItemIteration<I, L> = PageItemIteration<I, L>> = MappedItemIteration<O, I, M, L, N>;
|
|
10
10
|
/**
|
|
11
11
|
* MappedItemIterationInstance extension that implements PageItemIteration.
|
|
12
12
|
*/
|
|
13
|
-
export declare class MappedPageItemIterationInstance<O, I =
|
|
13
|
+
export declare class MappedPageItemIterationInstance<O, I = unknown, M extends PageLoadingState<O> = PageLoadingState<O>, L extends PageLoadingState<I> = PageLoadingState<I>, N extends PageItemIteration<I, L> = PageItemIteration<I, L>> extends MappedItemIterationInstance<O, I, M, L, N> implements PageItemIteration<O, M> {
|
|
14
14
|
get maxPageLoadLimit(): Maybe<number>;
|
|
15
15
|
set maxPageLoadLimit(maxPageLoadLimit: Maybe<number>);
|
|
16
16
|
readonly latestLoadedPage$: Observable<number>;
|
|
@@ -23,4 +23,4 @@ export declare class MappedPageItemIterationInstance<O, I = any, M extends PageL
|
|
|
23
23
|
* @param config
|
|
24
24
|
* @returns
|
|
25
25
|
*/
|
|
26
|
-
export declare function mapPageItemIteration<O, I =
|
|
26
|
+
export declare function mapPageItemIteration<O, I = unknown, M extends PageLoadingState<O> = PageLoadingState<O>, L extends PageLoadingState<I> = PageLoadingState<I>, N extends PageItemIteration<I, L> = PageItemIteration<I, L>>(itemIteration: N, config: MappedItemIterationInstanceMapConfig<O, I, M, L>): MappedPageItemIterationInstance<O, I, M, L, N>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iteration.mapped.page.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.mapped.page.ts"],"names":[],"mappings":";;;AAGA,yDAA4H;
|
|
1
|
+
{"version":3,"file":"iteration.mapped.page.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.mapped.page.ts"],"names":[],"mappings":";;;AAGA,yDAA4H;AAQ5H;;GAEG;AACH,MAAa,+BAAuN,SAAQ,8CAA0C;IAAtR;;QAUW,sBAAiB,GAAuB,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;IAKvF,CAAC;IAdC,0BAA0B;IAC1B,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED,IAAI,gBAAgB,CAAC,gBAA+B;QAClD,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IACxD,CAAC;IAID,QAAQ,CAAC,OAAiC;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF;AAfD,0EAeC;AAED;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAwL,aAAgB,EAAE,MAAwD;IACpS,OAAO,IAAI,+BAA+B,CAAgB,aAAa,EAAE,MAAM,CAAC,CAAC;AACnF,CAAC;AAFD,oDAEC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Observable } from
|
|
2
|
-
import { ItemIteration, PageItemIteration } from
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { ItemIteration, PageItemIteration } from './iteration';
|
|
3
3
|
import { Maybe, GetterOrValue } from '@dereekb/util';
|
|
4
4
|
/**
|
|
5
5
|
* Creates an observable from the input iteration that checks both the hasNext$ and canLoadMore$ states.
|
|
@@ -51,7 +51,7 @@ function iteratorNextPageUntilPage(iteration, page) {
|
|
|
51
51
|
var _a;
|
|
52
52
|
const pageLimit = getPageLimit();
|
|
53
53
|
const maxLimit = Math.min(pageLimit, (_a = iteration.maxPageLoadLimit) !== null && _a !== void 0 ? _a : Number.MAX_SAFE_INTEGER);
|
|
54
|
-
return
|
|
54
|
+
return page + 1 < maxLimit;
|
|
55
55
|
}
|
|
56
56
|
return new Promise((resolve) => {
|
|
57
57
|
iteration.latestLoadedPage$.pipe((0, rxjs_1.first)()).subscribe((firstLatestPage) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iteration.next.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.next.ts"],"names":[],"mappings":";;;;AAAA,+BAA0E;AAE1E,wCAAqH;AAErH;;;;;GAKG;AACH,SAAgB,8BAA8B,CAAI,SAA2B;IAC3E,OAAO,IAAA,oBAAa,EAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"iteration.next.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.next.ts"],"names":[],"mappings":";;;;AAAA,+BAA0E;AAE1E,wCAAqH;AAErH;;;;;GAKG;AACH,SAAgB,8BAA8B,CAAI,SAA2B;IAC3E,OAAO,IAAA,oBAAa,EAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,IAAA,8BAAuB,EAAC,IAAI,CAAC,CAAC,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;AAC9H,CAAC;AAFD,wEAEC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,qCAAqC,CAAC,QAA2B,EAAE,eAA8B,GAAG;IAClH,OAAO,yBAAyB,CAAC,QAAQ,EAAE,GAAG,EAAE;;QAC9C,MAAM,KAAK,GAAkB,MAAA,QAAQ,CAAC,gBAAgB,mCAAI,YAAY,CAAC;QAEvE,IAAI,IAAA,iBAAU,EAAC,KAAK,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;SAClG;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAVD,sFAUC;AAED;;;;;;;;GAQG;AACH,SAAgB,yBAAyB,CAAC,SAA4B,EAAE,IAA2B;IACjG,MAAM,YAAY,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC;IAEpC,SAAS,cAAc,CAAC,IAAY;;QAClC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAA,SAAS,CAAC,gBAAgB,mCAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC5F,OAAO,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAA,YAAK,GAAE,CAAC,CAAC,SAAS,CAAC,CAAC,eAAuB,EAAE,EAAE;YAC9E,MAAM,OAAO,GAAoB,IAAA,sBAAe,EAAS;gBACvD,SAAS,EAAE,eAAe;gBAC1B,aAAa,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;gBACjE,IAAI,EAAE,GAAS,EAAE,wDAAC,OAAA,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAA,GAAA;aAC7C,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AApBD,8DAoBC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { PageLoadingState } from
|
|
2
|
-
import { Destroyable, Filter, Maybe, PageNumber, Page } from
|
|
3
|
-
import { Observable } from
|
|
1
|
+
import { PageLoadingState } from '../loading';
|
|
2
|
+
import { Destroyable, Filter, Maybe, PageNumber, Page } from '@dereekb/util';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
4
|
import { ItemIteratorNextRequest, PageItemIteration } from './iteration';
|
|
5
5
|
export interface ItemPageLimit {
|
|
6
6
|
/**
|
|
@@ -64,7 +64,7 @@ export interface ItemPageIteratorDelegate<V, F, C extends ItemPageIterationConfi
|
|
|
64
64
|
*/
|
|
65
65
|
loadItemsForPage: (request: ItemPageIteratorRequest<V, F, C>) => Observable<ItemPageIteratorResult<V>>;
|
|
66
66
|
}
|
|
67
|
-
export interface ItemPageIterationConfig<F =
|
|
67
|
+
export interface ItemPageIterationConfig<F = unknown> extends Filter<F>, ItemPageLimit {
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
70
|
* Default number of pages that can be loaded.
|
|
@@ -73,7 +73,7 @@ export declare const DEFAULT_ITEM_PAGE_ITERATOR_MAX = 100;
|
|
|
73
73
|
/**
|
|
74
74
|
* Used for generating new iterations.
|
|
75
75
|
*/
|
|
76
|
-
export declare class ItemPageIterator<V, F, C extends ItemPageIterationConfig<F> =
|
|
76
|
+
export declare class ItemPageIterator<V, F, C extends ItemPageIterationConfig<F> = ItemPageIterationConfig<F>> {
|
|
77
77
|
readonly delegate: ItemPageIteratorDelegate<V, F, C>;
|
|
78
78
|
protected _maxPageLoadLimit: Maybe<number>;
|
|
79
79
|
get maxPageLoadLimit(): Maybe<number>;
|