@dereekb/rxjs 10.0.5 → 10.0.7
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/index.cjs.d.ts +1 -0
- package/index.cjs.js +5621 -0
- package/index.esm.js +5842 -0
- package/package.json +18 -4
- package/src/lib/filter/filter.d.ts +1 -1
- package/src/lib/filter/filter.map.d.ts +4 -4
- package/src/lib/filter/filter.preset.d.ts +2 -2
- package/src/lib/filter/filter.source.d.ts +4 -4
- package/src/lib/iterator/iteration.accumulator.d.ts +4 -4
- package/src/lib/iterator/iteration.accumulator.rxjs.d.ts +3 -3
- package/src/lib/iterator/iteration.d.ts +3 -3
- package/src/lib/iterator/iteration.mapped.d.ts +4 -4
- package/src/lib/iterator/iteration.mapped.page.d.ts +5 -5
- package/src/lib/iterator/iteration.next.d.ts +3 -3
- package/src/lib/iterator/iterator.page.d.ts +4 -4
- package/src/lib/loading/loading.context.d.ts +2 -2
- package/src/lib/loading/loading.context.simple.d.ts +3 -3
- package/src/lib/loading/loading.context.state.d.ts +4 -4
- package/src/lib/loading/loading.context.state.list.d.ts +4 -4
- package/src/lib/loading/loading.context.state.value.d.ts +5 -5
- package/src/lib/loading/loading.state.d.ts +1 -1
- package/src/lib/loading/loading.state.list.d.ts +3 -3
- package/src/lib/loading/loading.state.rxjs.d.ts +3 -3
- package/src/lib/lock.d.ts +3 -3
- package/src/lib/object.d.ts +1 -1
- package/src/lib/rxjs/array.d.ts +2 -2
- package/src/lib/rxjs/boolean.d.ts +1 -1
- package/src/lib/rxjs/decision.d.ts +2 -2
- package/src/lib/rxjs/delta.d.ts +1 -1
- package/src/lib/rxjs/factory.d.ts +2 -2
- package/src/lib/rxjs/getter.d.ts +2 -2
- package/src/lib/rxjs/key.d.ts +2 -2
- package/src/lib/rxjs/lifecycle.d.ts +2 -2
- package/src/lib/rxjs/loading.d.ts +1 -1
- package/src/lib/rxjs/map.d.ts +3 -3
- package/src/lib/rxjs/misc.d.ts +2 -2
- package/src/lib/rxjs/model.d.ts +1 -1
- package/src/lib/rxjs/number.d.ts +3 -3
- package/src/lib/rxjs/rxjs.async.d.ts +2 -2
- package/src/lib/rxjs/rxjs.d.ts +2 -2
- package/src/lib/rxjs/rxjs.map.d.ts +2 -2
- package/src/lib/rxjs/rxjs.unique.d.ts +2 -2
- package/src/lib/rxjs/set.d.ts +2 -2
- package/src/lib/rxjs/string.d.ts +2 -2
- package/src/lib/rxjs/timeout.d.ts +2 -2
- package/src/lib/rxjs/use.d.ts +1 -1
- package/src/lib/rxjs/value.d.ts +4 -4
- package/src/lib/subscription.d.ts +2 -2
- package/src/lib/work/work.factory.d.ts +3 -3
- package/src/lib/work/work.instance.d.ts +3 -3
- package/CHANGELOG.md +0 -1480
- package/src/index.js +0 -5
- package/src/index.js.map +0 -1
- package/src/lib/filter/filter.js +0 -22
- package/src/lib/filter/filter.js.map +0 -1
- package/src/lib/filter/filter.map.js +0 -107
- package/src/lib/filter/filter.map.js.map +0 -1
- package/src/lib/filter/filter.preset.js +0 -22
- package/src/lib/filter/filter.preset.js.map +0 -1
- package/src/lib/filter/filter.source.js +0 -77
- package/src/lib/filter/filter.source.js.map +0 -1
- package/src/lib/filter/index.js +0 -8
- package/src/lib/filter/index.js.map +0 -1
- package/src/lib/index.js +0 -12
- package/src/lib/index.js.map +0 -1
- package/src/lib/iterator/index.js +0 -11
- package/src/lib/iterator/index.js.map +0 -1
- package/src/lib/iterator/iteration.accumulator.js +0 -64
- package/src/lib/iterator/iteration.accumulator.js.map +0 -1
- package/src/lib/iterator/iteration.accumulator.rxjs.js +0 -50
- package/src/lib/iterator/iteration.accumulator.rxjs.js.map +0 -1
- package/src/lib/iterator/iteration.js +0 -3
- package/src/lib/iterator/iteration.js.map +0 -1
- package/src/lib/iterator/iteration.mapped.js +0 -37
- package/src/lib/iterator/iteration.mapped.js.map +0 -1
- package/src/lib/iterator/iteration.mapped.page.js +0 -36
- package/src/lib/iterator/iteration.mapped.page.js.map +0 -1
- package/src/lib/iterator/iteration.next.js +0 -68
- package/src/lib/iterator/iteration.next.js.map +0 -1
- package/src/lib/iterator/iterator.page.js +0 -266
- package/src/lib/iterator/iterator.page.js.map +0 -1
- package/src/lib/loading/index.js +0 -13
- package/src/lib/loading/index.js.map +0 -1
- package/src/lib/loading/loading.context.js +0 -3
- package/src/lib/loading/loading.context.js.map +0 -1
- package/src/lib/loading/loading.context.simple.js +0 -40
- package/src/lib/loading/loading.context.simple.js.map +0 -1
- package/src/lib/loading/loading.context.state.js +0 -57
- package/src/lib/loading/loading.context.state.js.map +0 -1
- package/src/lib/loading/loading.context.state.list.js +0 -72
- package/src/lib/loading/loading.context.state.list.js.map +0 -1
- package/src/lib/loading/loading.context.state.value.js +0 -41
- package/src/lib/loading/loading.context.state.value.js.map +0 -1
- package/src/lib/loading/loading.context.value.js +0 -36
- package/src/lib/loading/loading.context.value.js.map +0 -1
- package/src/lib/loading/loading.state.js +0 -319
- package/src/lib/loading/loading.state.js.map +0 -1
- package/src/lib/loading/loading.state.list.js +0 -31
- package/src/lib/loading/loading.state.list.js.map +0 -1
- package/src/lib/loading/loading.state.rxjs.js +0 -205
- package/src/lib/loading/loading.state.rxjs.js.map +0 -1
- package/src/lib/lock.js +0 -139
- package/src/lib/lock.js.map +0 -1
- package/src/lib/object.js +0 -24
- package/src/lib/object.js.map +0 -1
- package/src/lib/rxjs/array.js +0 -86
- package/src/lib/rxjs/array.js.map +0 -1
- package/src/lib/rxjs/boolean.js +0 -42
- package/src/lib/rxjs/boolean.js.map +0 -1
- package/src/lib/rxjs/decision.js +0 -46
- package/src/lib/rxjs/decision.js.map +0 -1
- package/src/lib/rxjs/delta.js +0 -54
- package/src/lib/rxjs/delta.js.map +0 -1
- package/src/lib/rxjs/factory.js +0 -21
- package/src/lib/rxjs/factory.js.map +0 -1
- package/src/lib/rxjs/getter.js +0 -46
- package/src/lib/rxjs/getter.js.map +0 -1
- package/src/lib/rxjs/index.js +0 -26
- package/src/lib/rxjs/index.js.map +0 -1
- package/src/lib/rxjs/key.js +0 -25
- package/src/lib/rxjs/key.js.map +0 -1
- package/src/lib/rxjs/lifecycle.js +0 -55
- package/src/lib/rxjs/lifecycle.js.map +0 -1
- package/src/lib/rxjs/loading.js +0 -16
- package/src/lib/rxjs/loading.js.map +0 -1
- package/src/lib/rxjs/map.js +0 -26
- package/src/lib/rxjs/map.js.map +0 -1
- package/src/lib/rxjs/misc.js +0 -32
- package/src/lib/rxjs/misc.js.map +0 -1
- package/src/lib/rxjs/model.js +0 -19
- package/src/lib/rxjs/model.js.map +0 -1
- package/src/lib/rxjs/number.js +0 -24
- package/src/lib/rxjs/number.js.map +0 -1
- package/src/lib/rxjs/rxjs.async.js +0 -73
- package/src/lib/rxjs/rxjs.async.js.map +0 -1
- package/src/lib/rxjs/rxjs.js +0 -62
- package/src/lib/rxjs/rxjs.js.map +0 -1
- package/src/lib/rxjs/rxjs.map.js +0 -61
- package/src/lib/rxjs/rxjs.map.js.map +0 -1
- package/src/lib/rxjs/rxjs.unique.js +0 -17
- package/src/lib/rxjs/rxjs.unique.js.map +0 -1
- package/src/lib/rxjs/set.js +0 -31
- package/src/lib/rxjs/set.js.map +0 -1
- package/src/lib/rxjs/string.js +0 -24
- package/src/lib/rxjs/string.js.map +0 -1
- package/src/lib/rxjs/timeout.js +0 -30
- package/src/lib/rxjs/timeout.js.map +0 -1
- package/src/lib/rxjs/use.js +0 -14
- package/src/lib/rxjs/use.js.map +0 -1
- package/src/lib/rxjs/value.js +0 -171
- package/src/lib/rxjs/value.js.map +0 -1
- package/src/lib/subscription.js +0 -68
- package/src/lib/subscription.js.map +0 -1
- package/src/lib/work/index.js +0 -6
- package/src/lib/work/index.js.map +0 -1
- package/src/lib/work/work.factory.js +0 -43
- package/src/lib/work/work.factory.js.map +0 -1
- package/src/lib/work/work.instance.js +0 -156
- package/src/lib/work/work.instance.js.map +0 -1
package/src/index.js
DELETED
package/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/rxjs/src/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB"}
|
package/src/lib/filter/filter.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,107 +0,0 @@
|
|
|
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).addFilterObs(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._i = 0;
|
|
66
|
-
this._source = new filter_source_1.FilterSourceInstance();
|
|
67
|
-
this._obs = new rxjs_1.BehaviorSubject([]);
|
|
68
|
-
this.obs$ = this._obs.pipe((0, rxjs_1.switchMap)((x) => (0, rxjs_1.merge)(...x.map((y) => y.obs))), (0, rxjs_1.distinctUntilChanged)());
|
|
69
|
-
this.filter$ = this._source.initialFilter$;
|
|
70
|
-
}
|
|
71
|
-
setDefaultFilterObs(obs) {
|
|
72
|
-
this._source.setDefaultFilter(obs);
|
|
73
|
-
}
|
|
74
|
-
addFilterObs(obs) {
|
|
75
|
-
const currentObs = this._obs.value;
|
|
76
|
-
const existingObsItem = currentObs.find((x) => x.obs === obs);
|
|
77
|
-
if (!existingObsItem) {
|
|
78
|
-
const i = this._i++;
|
|
79
|
-
const deleteOnComplete = obs
|
|
80
|
-
.pipe((0, rxjs_1.finalize)(() => {
|
|
81
|
-
this._deleteFilterObs(i);
|
|
82
|
-
}))
|
|
83
|
-
.subscribe();
|
|
84
|
-
const nextObs = [...currentObs, { i, obs, deleteOnComplete }];
|
|
85
|
-
this._obs.next(nextObs);
|
|
86
|
-
if (i === 0) {
|
|
87
|
-
/**
|
|
88
|
-
* MapItem uses the behavior of the DefaultFilterSource to provide a default filter value.
|
|
89
|
-
*/
|
|
90
|
-
this._source.initWithFilter(this.obs$);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
_deleteFilterObs(index) {
|
|
95
|
-
const currentObs = this._obs.value;
|
|
96
|
-
const obsToRetain = currentObs.filter((x) => x.i !== index);
|
|
97
|
-
if (obsToRetain.length !== currentObs.length) {
|
|
98
|
-
this._obs.next(this._obs.value);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
destroy() {
|
|
102
|
-
this._obs.value.forEach((x) => x.deleteOnComplete.unsubscribe());
|
|
103
|
-
this._source.destroy();
|
|
104
|
-
this._obs.complete();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=filter.map.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter.map.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FilterSourceInstance = void 0;
|
|
4
|
-
const rxjs_1 = require("@dereekb/rxjs");
|
|
5
|
-
const rxjs_2 = require("rxjs");
|
|
6
|
-
const object_1 = require("../object");
|
|
7
|
-
const getter_1 = require("../rxjs/getter");
|
|
8
|
-
const value_1 = require("../rxjs/value");
|
|
9
|
-
/**
|
|
10
|
-
* A basic FilterSource implementation.
|
|
11
|
-
*/
|
|
12
|
-
class FilterSourceInstance {
|
|
13
|
-
constructor() {
|
|
14
|
-
this._initialFilterSub = new rxjs_1.SubscriptionObject();
|
|
15
|
-
this._initialFilterTakesPriority = new rxjs_2.BehaviorSubject(false);
|
|
16
|
-
this._filter = new rxjs_2.BehaviorSubject(undefined);
|
|
17
|
-
this._initialFilter = new rxjs_2.BehaviorSubject(undefined);
|
|
18
|
-
this._defaultFilter = new rxjs_2.BehaviorSubject(undefined);
|
|
19
|
-
this.defaultFilter$ = this._defaultFilter.pipe((0, value_1.switchMapMaybeObs)());
|
|
20
|
-
this.initialFilter$ = (0, rxjs_2.combineLatest)([this._initialFilter, this._defaultFilter]).pipe((0, rxjs_2.map)(([a, b]) => a !== null && a !== void 0 ? a : b), (0, value_1.switchMapMaybeObs)(), (0, rxjs_2.distinctUntilChanged)(), (0, rxjs_2.shareReplay)(1));
|
|
21
|
-
/**
|
|
22
|
-
* filter$ uses the latest value from any filter.
|
|
23
|
-
*/
|
|
24
|
-
this.filter$ = this._filter.pipe((0, rxjs_2.switchMap)((x) => (x != null ? (0, rxjs_2.of)(x) : this.initialFilter$)), (0, value_1.filterMaybe)(), // Only provided non-maybe filter values.
|
|
25
|
-
(0, object_1.distinctUntilObjectValuesChanged)(), (0, rxjs_2.shareReplay)(1));
|
|
26
|
-
}
|
|
27
|
-
initWithFilter(filterObs) {
|
|
28
|
-
this._initialFilter.next(filterObs);
|
|
29
|
-
this.initFilterTakesPriority();
|
|
30
|
-
}
|
|
31
|
-
setDefaultFilter(filter) {
|
|
32
|
-
this._defaultFilter.next((0, getter_1.asObservable)(filter));
|
|
33
|
-
}
|
|
34
|
-
setFilter(filter) {
|
|
35
|
-
this._filter.next(filter);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Resets the current filter to be the default filter.
|
|
39
|
-
*/
|
|
40
|
-
resetFilter() {
|
|
41
|
-
this._filter.next(undefined);
|
|
42
|
-
}
|
|
43
|
-
// MARK: Accessors
|
|
44
|
-
get initialFilterTakesPriority() {
|
|
45
|
-
return this._initialFilterTakesPriority.value;
|
|
46
|
-
}
|
|
47
|
-
set initialFilterTakesPriority(initialFilterTakesPriority) {
|
|
48
|
-
this._initialFilterTakesPriority.next(initialFilterTakesPriority);
|
|
49
|
-
this.initFilterTakesPriority();
|
|
50
|
-
}
|
|
51
|
-
// MARK: Init
|
|
52
|
-
initFilterTakesPriority() {
|
|
53
|
-
if (!this._initialFilterSub.subscription) {
|
|
54
|
-
this._initialFilterSub.subscription = this._initialFilterTakesPriority
|
|
55
|
-
.pipe((0, rxjs_2.switchMap)((clearFilterOnInitialFilterPush) => {
|
|
56
|
-
if (clearFilterOnInitialFilterPush) {
|
|
57
|
-
return this._initialFilter.pipe((0, rxjs_2.switchMap)((x) => (x ? x : rxjs_2.EMPTY)), (0, rxjs_2.filter)((x) => Boolean(x)), (0, rxjs_2.skip)(1) // skip the first emission
|
|
58
|
-
);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
return rxjs_2.EMPTY;
|
|
62
|
-
}
|
|
63
|
-
}))
|
|
64
|
-
.subscribe(() => this.resetFilter());
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
// MARK: Cleanup
|
|
68
|
-
destroy() {
|
|
69
|
-
this._initialFilterSub.destroy();
|
|
70
|
-
this._initialFilterTakesPriority.complete();
|
|
71
|
-
this._filter.complete();
|
|
72
|
-
this._initialFilter.complete();
|
|
73
|
-
this._defaultFilter.complete();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
exports.FilterSourceInstance = FilterSourceInstance;
|
|
77
|
-
//# sourceMappingURL=filter.source.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter.source.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/filter.source.ts"],"names":[],"mappings":"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"}
|
package/src/lib/filter/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./filter.map"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./filter.preset"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./filter.source"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./filter"), exports);
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/filter/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,0DAAgC;AAChC,0DAAgC;AAChC,mDAAyB"}
|
package/src/lib/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./filter"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./iterator"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./loading"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./lock"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./object"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./rxjs"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./work"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./subscription"), exports);
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
package/src/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,qDAA2B;AAC3B,oDAA0B;AAC1B,iDAAuB;AACvB,mDAAyB;AACzB,iDAAuB;AACvB,iDAAuB;AACvB,yDAA+B"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./iteration.next"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./iteration.accumulator"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./iteration.accumulator.rxjs"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./iteration"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./iteration.mapped"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./iteration.mapped.page"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./iterator.page"), exports);
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,kEAAwC;AACxC,uEAA6C;AAC7C,sDAA4B;AAC5B,6DAAmC;AACnC,kEAAwC;AACxC,0DAAgC"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.itemAccumulator = exports.ItemAccumulatorInstance = void 0;
|
|
4
|
-
const subscription_1 = require("../subscription");
|
|
5
|
-
const rxjs_1 = require("rxjs");
|
|
6
|
-
const rxjs_2 = require("../rxjs");
|
|
7
|
-
const util_1 = require("@dereekb/util");
|
|
8
|
-
const loading_1 = require("../loading");
|
|
9
|
-
/**
|
|
10
|
-
* ItemAccumulator implementation.
|
|
11
|
-
*/
|
|
12
|
-
class ItemAccumulatorInstance {
|
|
13
|
-
constructor(itemIteration, mapItemFunction) {
|
|
14
|
-
this.itemIteration = itemIteration;
|
|
15
|
-
this.mapItemFunction = mapItemFunction;
|
|
16
|
-
this.hasCompletedInitialLoad$ = this.itemIteration.firstState$.pipe((0, rxjs_1.map)(() => true), (0, rxjs_1.startWith)(false), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.shareReplay)(1));
|
|
17
|
-
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));
|
|
18
|
-
/**
|
|
19
|
-
* All successful page results in a single array.
|
|
20
|
-
*/
|
|
21
|
-
this.allSuccessfulStates$ = this.latestSuccessfulState$.pipe((0, rxjs_2.scanIntoArray)({ immutable: false }),
|
|
22
|
-
/**
|
|
23
|
-
* Don't wait for the first successful state in order to avoid never returning a value on immediate failures.
|
|
24
|
-
*/
|
|
25
|
-
(0, rxjs_1.startWith)([]), (0, rxjs_2.distinctUntilArrayLengthChanges)(), (0, rxjs_1.shareReplay)(1));
|
|
26
|
-
this.successfulLoadCount$ = this.allSuccessfulStates$.pipe((0, rxjs_1.map)((x) => x.length), (0, rxjs_1.shareReplay)(1));
|
|
27
|
-
// MARK: ItemAccumulator
|
|
28
|
-
this.currentAllItemPairs$ = this.allSuccessfulStates$.pipe((0, rxjs_2.scanBuildArray)((allSuccessfulStates) => {
|
|
29
|
-
const mapStateToItem = (0, util_1.mapFunctionOutputPair)((0, loading_1.mapLoadingStateValueFunction)(this.mapItemFunction));
|
|
30
|
-
/*
|
|
31
|
-
Start with allSuccessfulPageResults$ since it contains all page results since the start of the iterator,
|
|
32
|
-
and subscription to allItems may not have started at the same time.
|
|
33
|
-
|
|
34
|
-
We use scan to add in all models coming in afterwards by pushing them into the accumulator.
|
|
35
|
-
This is to prevent performance issues with very large iteration sets, since we can
|
|
36
|
-
append onto the array, rather than concat/copy the array each time.
|
|
37
|
-
*/
|
|
38
|
-
const allPageResultsUpToFirstSubscription = allSuccessfulStates;
|
|
39
|
-
const firstLatestState = (0, util_1.lastValue)(allPageResultsUpToFirstSubscription);
|
|
40
|
-
const seed = allPageResultsUpToFirstSubscription.map(mapStateToItem).filter((x) => (0, util_1.isMaybeSo)(x.output));
|
|
41
|
-
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)));
|
|
42
|
-
return {
|
|
43
|
-
seed,
|
|
44
|
-
accumulatorObs
|
|
45
|
-
};
|
|
46
|
-
}), (0, rxjs_1.shareReplay)(1));
|
|
47
|
-
this.currentAllItems$ = this.currentAllItemPairs$.pipe((0, rxjs_1.map)((x) => x.map((y) => y.output)), (0, rxjs_1.shareReplay)(1));
|
|
48
|
-
this.allItemPairs$ = this.hasCompletedInitialLoad$.pipe((0, rxjs_2.switchMapWhileTrue)(this.currentAllItemPairs$), (0, rxjs_1.shareReplay)(1));
|
|
49
|
-
this.allItems$ = this.hasCompletedInitialLoad$.pipe((0, rxjs_2.switchMapWhileTrue)(this.currentAllItems$), (0, rxjs_1.shareReplay)(1));
|
|
50
|
-
this._sub = new subscription_1.SubscriptionObject(this.allSuccessfulStates$.subscribe());
|
|
51
|
-
}
|
|
52
|
-
destroy() {
|
|
53
|
-
this._sub.destroy();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.ItemAccumulatorInstance = ItemAccumulatorInstance;
|
|
57
|
-
function itemAccumulator(itemIteration, mapItem) {
|
|
58
|
-
if (!mapItem) {
|
|
59
|
-
mapItem = (a) => a;
|
|
60
|
-
}
|
|
61
|
-
return new ItemAccumulatorInstance(itemIteration, mapItem);
|
|
62
|
-
}
|
|
63
|
-
exports.itemAccumulator = itemAccumulator;
|
|
64
|
-
//# sourceMappingURL=iteration.accumulator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iteration.accumulator.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.accumulator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.accumulatorCurrentPageListLoadingState = exports.accumulatorFlattenPageListLoadingState = exports.flattenAccumulatorResultItemArray = void 0;
|
|
4
|
-
const util_1 = require("@dereekb/util");
|
|
5
|
-
const rxjs_1 = require("../rxjs");
|
|
6
|
-
const rxjs_2 = require("rxjs");
|
|
7
|
-
const loading_1 = require("../loading");
|
|
8
|
-
/**
|
|
9
|
-
* Used for ItemAccumulators that have an array of results returned per page instead of a single item.
|
|
10
|
-
*
|
|
11
|
-
* @param accumulator
|
|
12
|
-
* @returns
|
|
13
|
-
*/
|
|
14
|
-
function flattenAccumulatorResultItemArray(accumulator) {
|
|
15
|
-
return accumulator.currentAllItemPairs$.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));
|
|
20
|
-
const mapStateToItem = (0, loading_1.mapLoadingStateValueFunction)(accumulator.mapItemFunction);
|
|
21
|
-
const accumulatorObs = accumulator.itemIteration.latestState$.pipe((0, rxjs_2.skipWhile)((x) => x.value === skipValue), (0, rxjs_2.map)(mapStateToItem), (0, rxjs_1.filterMaybe)());
|
|
22
|
-
return {
|
|
23
|
-
seed,
|
|
24
|
-
accumulatorObs,
|
|
25
|
-
flattenArray: true
|
|
26
|
-
};
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
exports.flattenAccumulatorResultItemArray = flattenAccumulatorResultItemArray;
|
|
30
|
-
/**
|
|
31
|
-
* 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$.
|
|
32
|
-
*/
|
|
33
|
-
function accumulatorFlattenPageListLoadingState(accumulator) {
|
|
34
|
-
return (0, rxjs_2.combineLatest)([accumulator.itemIteration.currentState$, flattenAccumulatorResultItemArray(accumulator)]).pipe((0, rxjs_2.map)(([state, values]) => (0, loading_1.mapLoadingStateResults)(state, {
|
|
35
|
-
alwaysMapValue: true,
|
|
36
|
-
mapValue: () => values
|
|
37
|
-
})), (0, rxjs_2.shareReplay)(1));
|
|
38
|
-
}
|
|
39
|
-
exports.accumulatorFlattenPageListLoadingState = accumulatorFlattenPageListLoadingState;
|
|
40
|
-
/**
|
|
41
|
-
* A PageListLoadingState that captures all the values that have been loaded so far, and the current loading state of currentPageResult$.
|
|
42
|
-
*/
|
|
43
|
-
function accumulatorCurrentPageListLoadingState(accumulator) {
|
|
44
|
-
return (0, rxjs_2.combineLatest)([accumulator.itemIteration.currentState$, accumulator.currentAllItems$]).pipe((0, rxjs_2.map)(([state, values]) => (0, loading_1.mapLoadingStateResults)(state, {
|
|
45
|
-
alwaysMapValue: true,
|
|
46
|
-
mapValue: () => values
|
|
47
|
-
})), (0, rxjs_2.shareReplay)(1));
|
|
48
|
-
}
|
|
49
|
-
exports.accumulatorCurrentPageListLoadingState = accumulatorCurrentPageListLoadingState;
|
|
50
|
-
//# sourceMappingURL=iteration.accumulator.rxjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,oBAAoB,CAAC,IAAI,CAC1C,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,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM;KACvB,CAA4B,CAChC,EACD,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AACJ,CAAC;AAXD,wFAWC;AAED;;GAEG;AACH,SAAgB,sCAAsC,CAAiB,WAAsC;IAC3G,OAAO,IAAA,oBAAa,EAAC,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAChG,IAAA,UAAG,EACD,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAClB,IAAA,gCAAsB,EAAC,KAAK,EAAE;QAC5B,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM;KACvB,CAA4B,CAChC,EACD,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AACJ,CAAC;AAXD,wFAWC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iteration.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.ts"],"names":[],"mappings":""}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mapItemIteration = exports.MappedItemIterationInstance = void 0;
|
|
4
|
-
const loading_1 = require("../loading");
|
|
5
|
-
const rxjs_1 = require("rxjs");
|
|
6
|
-
class MappedItemIterationInstance {
|
|
7
|
-
constructor(itemIterator, config) {
|
|
8
|
-
this.itemIterator = itemIterator;
|
|
9
|
-
this.config = config;
|
|
10
|
-
this.hasNext$ = this.itemIterator.hasNext$;
|
|
11
|
-
this.canLoadMore$ = this.itemIterator.canLoadMore$;
|
|
12
|
-
this.firstState$ = this.itemIterator.firstState$.pipe((0, rxjs_1.map)((state) => (0, loading_1.mapLoadingStateResults)(state, this.config)), (0, rxjs_1.shareReplay)(1));
|
|
13
|
-
this.latestState$ = this.itemIterator.latestState$.pipe((0, rxjs_1.map)((state) => (0, loading_1.mapLoadingStateResults)(state, this.config)), (0, rxjs_1.shareReplay)(1));
|
|
14
|
-
this.currentState$ = this.itemIterator.currentState$.pipe((0, rxjs_1.map)((state) => (0, loading_1.mapLoadingStateResults)(state, this.config)), (0, rxjs_1.shareReplay)(1));
|
|
15
|
-
}
|
|
16
|
-
next(request) {
|
|
17
|
-
return this.itemIterator.next(request);
|
|
18
|
-
}
|
|
19
|
-
destroy() {
|
|
20
|
-
if (this.config.forwardDestroy !== false) {
|
|
21
|
-
this.itemIterator.destroy();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
exports.MappedItemIterationInstance = MappedItemIterationInstance;
|
|
26
|
-
/**
|
|
27
|
-
* Creates a new MappedItemIteration instance given the input ItemIteration and config.
|
|
28
|
-
*
|
|
29
|
-
* @param itemIteration
|
|
30
|
-
* @param config
|
|
31
|
-
* @returns
|
|
32
|
-
*/
|
|
33
|
-
function mapItemIteration(itemIteration, config) {
|
|
34
|
-
return new MappedItemIterationInstance(itemIteration, config);
|
|
35
|
-
}
|
|
36
|
-
exports.mapItemIteration = mapItemIteration;
|
|
37
|
-
//# sourceMappingURL=iteration.mapped.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,gBAAW,GAAkB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CACtE,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,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;IAlBwG,CAAC;IAoB3G,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;AA9BD,kEA8BC;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,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mapPageItemIteration = exports.MappedPageItemIterationInstance = void 0;
|
|
4
|
-
const iteration_mapped_1 = require("./iteration.mapped");
|
|
5
|
-
/**
|
|
6
|
-
* MappedItemIterationInstance extension that implements PageItemIteration.
|
|
7
|
-
*/
|
|
8
|
-
class MappedPageItemIterationInstance extends iteration_mapped_1.MappedItemIterationInstance {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.latestLoadedPage$ = this.itemIterator.latestLoadedPage$;
|
|
12
|
-
}
|
|
13
|
-
// MARK: PageItemIteration
|
|
14
|
-
get maxPageLoadLimit() {
|
|
15
|
-
return this.itemIterator.maxPageLoadLimit;
|
|
16
|
-
}
|
|
17
|
-
set maxPageLoadLimit(maxPageLoadLimit) {
|
|
18
|
-
this.itemIterator.maxPageLoadLimit = maxPageLoadLimit;
|
|
19
|
-
}
|
|
20
|
-
nextPage(request) {
|
|
21
|
-
return this.itemIterator.nextPage(request);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.MappedPageItemIterationInstance = MappedPageItemIterationInstance;
|
|
25
|
-
/**
|
|
26
|
-
* Creates a new MappedItemIteration instance given the input ItemIteration and config.
|
|
27
|
-
*
|
|
28
|
-
* @param itemIteration
|
|
29
|
-
* @param config
|
|
30
|
-
* @returns
|
|
31
|
-
*/
|
|
32
|
-
function mapPageItemIteration(itemIteration, config) {
|
|
33
|
-
return new MappedPageItemIterationInstance(itemIteration, config);
|
|
34
|
-
}
|
|
35
|
-
exports.mapPageItemIteration = mapPageItemIteration;
|
|
36
|
-
//# sourceMappingURL=iteration.mapped.page.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.iteratorNextPageUntilPage = exports.iteratorNextPageUntilMaxPageLoadLimit = exports.iterationHasNextAndCanLoadMore = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const rxjs_1 = require("rxjs");
|
|
6
|
-
const util_1 = require("@dereekb/util");
|
|
7
|
-
/**
|
|
8
|
-
* Creates an observable from the input iteration that checks both the hasNext$ and canLoadMore$ states.
|
|
9
|
-
*
|
|
10
|
-
* @param iteration
|
|
11
|
-
* @returns
|
|
12
|
-
*/
|
|
13
|
-
function iterationHasNextAndCanLoadMore(iteration) {
|
|
14
|
-
return (0, rxjs_1.combineLatest)([iteration.hasNext$, iteration.canLoadMore$]).pipe((0, rxjs_1.map)((0, util_1.reduceBooleansWithAndFn)(true)), (0, rxjs_1.shareReplay)(1));
|
|
15
|
-
}
|
|
16
|
-
exports.iterationHasNextAndCanLoadMore = iterationHasNextAndCanLoadMore;
|
|
17
|
-
/**
|
|
18
|
-
* Automatically calls next up to the current maxPageLoadLimit configured on the iterator.
|
|
19
|
-
*
|
|
20
|
-
* If no maximum limit is defined, uses the defaultLimit. If default limit is not defined or null, this will result in an error.
|
|
21
|
-
*
|
|
22
|
-
* The promise will reject with an error if an error is encountered.
|
|
23
|
-
*
|
|
24
|
-
* @param iterator
|
|
25
|
-
* @param defaultLimit
|
|
26
|
-
* @returns
|
|
27
|
-
*/
|
|
28
|
-
function iteratorNextPageUntilMaxPageLoadLimit(iterator, defaultLimit = 100) {
|
|
29
|
-
return iteratorNextPageUntilPage(iterator, () => {
|
|
30
|
-
var _a;
|
|
31
|
-
const limit = (_a = iterator.maxPageLoadLimit) !== null && _a !== void 0 ? _a : defaultLimit;
|
|
32
|
-
if ((0, util_1.isMaybeNot)(limit)) {
|
|
33
|
-
throw new Error('iteratorNextPageUntilMaxPageLoadLimit() failed. There was no maximum defined.');
|
|
34
|
-
}
|
|
35
|
-
return limit;
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
exports.iteratorNextPageUntilMaxPageLoadLimit = iteratorNextPageUntilMaxPageLoadLimit;
|
|
39
|
-
/**
|
|
40
|
-
* Automatically calls next on the PageItemIteration up to the target page, the number of total pages that should be loaded.
|
|
41
|
-
*
|
|
42
|
-
* The promise will reject with an error if an error is encountered.
|
|
43
|
-
*
|
|
44
|
-
* @param iteration
|
|
45
|
-
* @param page
|
|
46
|
-
* @returns
|
|
47
|
-
*/
|
|
48
|
-
function iteratorNextPageUntilPage(iteration, page) {
|
|
49
|
-
const getPageLimit = (0, util_1.asGetter)(page);
|
|
50
|
-
function checkPageLimit(page) {
|
|
51
|
-
var _a;
|
|
52
|
-
const pageLimit = getPageLimit();
|
|
53
|
-
const maxLimit = Math.min(pageLimit, (_a = iteration.maxPageLoadLimit) !== null && _a !== void 0 ? _a : Number.MAX_SAFE_INTEGER);
|
|
54
|
-
return page + 1 < maxLimit;
|
|
55
|
-
}
|
|
56
|
-
return new Promise((resolve) => {
|
|
57
|
-
iteration.latestLoadedPage$.pipe((0, rxjs_1.first)()).subscribe((firstLatestPage) => {
|
|
58
|
-
const promise = (0, util_1.performTaskLoop)({
|
|
59
|
-
initValue: firstLatestPage,
|
|
60
|
-
checkContinue: (latestPage) => checkPageLimit(latestPage),
|
|
61
|
-
next: () => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield iteration.nextPage(); })
|
|
62
|
-
});
|
|
63
|
-
resolve(promise);
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
exports.iteratorNextPageUntilPage = iteratorNextPageUntilPage;
|
|
68
|
-
//# sourceMappingURL=iteration.next.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|