@dereekb/rxjs 2.0.0 → 4.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.
- package/CHANGELOG.md +47 -0
- package/package.json +10 -8
- package/src/index.js +1 -1
- package/src/index.js.map +1 -1
- package/src/lib/filter/filter.map.d.ts +4 -3
- package/src/lib/filter/filter.map.js.map +1 -1
- package/src/lib/filter/filter.source.d.ts +4 -4
- package/src/lib/filter/filter.source.js.map +1 -1
- package/src/lib/filter/index.js +4 -4
- package/src/lib/filter/index.js.map +1 -1
- package/src/lib/index.d.ts +1 -0
- package/src/lib/index.js +8 -7
- package/src/lib/index.js.map +1 -1
- package/src/lib/iterator/index.d.ts +1 -0
- package/src/lib/iterator/index.js +7 -6
- package/src/lib/iterator/index.js.map +1 -1
- package/src/lib/iterator/iteration.accumulator.d.ts +8 -4
- package/src/lib/iterator/iteration.accumulator.js +18 -21
- package/src/lib/iterator/iteration.accumulator.js.map +1 -1
- package/src/lib/iterator/iteration.accumulator.rxjs.d.ts +7 -3
- package/src/lib/iterator/iteration.accumulator.rxjs.js +21 -10
- package/src/lib/iterator/iteration.accumulator.rxjs.js.map +1 -1
- package/src/lib/iterator/iteration.d.ts +7 -3
- package/src/lib/iterator/iteration.mapped.page.d.ts +3 -2
- package/src/lib/iterator/iteration.mapped.page.js.map +1 -1
- package/src/lib/iterator/iteration.next.d.ts +8 -3
- package/src/lib/iterator/iteration.next.js +19 -6
- package/src/lib/iterator/iteration.next.js.map +1 -1
- package/src/lib/iterator/iterator.page.d.ts +22 -6
- package/src/lib/iterator/iterator.page.js +17 -5
- package/src/lib/iterator/iterator.page.js.map +1 -1
- package/src/lib/loading/index.js +8 -8
- package/src/lib/loading/index.js.map +1 -1
- package/src/lib/loading/loading.state.d.ts +4 -1
- package/src/lib/loading/loading.state.js +12 -2
- package/src/lib/loading/loading.state.js.map +1 -1
- package/src/lib/lock.d.ts +13 -7
- package/src/lib/lock.js +38 -14
- package/src/lib/lock.js.map +1 -1
- package/src/lib/object.js +2 -2
- package/src/lib/object.js.map +1 -1
- package/src/lib/rxjs/array.d.ts +17 -0
- package/src/lib/rxjs/array.js +23 -9
- package/src/lib/rxjs/array.js.map +1 -1
- package/src/lib/rxjs/boolean.d.ts +13 -1
- package/src/lib/rxjs/boolean.js +31 -1
- package/src/lib/rxjs/boolean.js.map +1 -1
- package/src/lib/rxjs/delta.d.ts +32 -0
- package/src/lib/rxjs/delta.js +51 -0
- package/src/lib/rxjs/delta.js.map +1 -0
- package/src/lib/rxjs/factory.d.ts +31 -0
- package/src/lib/rxjs/factory.js +21 -0
- package/src/lib/rxjs/factory.js.map +1 -0
- package/src/lib/rxjs/getter.d.ts +4 -4
- package/src/lib/rxjs/getter.js +3 -3
- package/src/lib/rxjs/getter.js.map +1 -1
- package/src/lib/rxjs/index.d.ts +9 -1
- package/src/lib/rxjs/index.js +16 -8
- package/src/lib/rxjs/index.js.map +1 -1
- package/src/lib/rxjs/lifecycle.d.ts +18 -0
- package/src/lib/rxjs/lifecycle.js +55 -0
- package/src/lib/rxjs/lifecycle.js.map +1 -0
- package/src/lib/rxjs/map.d.ts +10 -0
- package/src/lib/rxjs/map.js +17 -0
- package/src/lib/rxjs/map.js.map +1 -0
- package/src/lib/rxjs/number.d.ts +16 -1
- package/src/lib/rxjs/number.js +15 -3
- package/src/lib/rxjs/number.js.map +1 -1
- package/src/lib/rxjs/rxjs.async.d.ts +57 -0
- package/src/lib/rxjs/rxjs.async.js +69 -0
- package/src/lib/rxjs/rxjs.async.js.map +1 -0
- package/src/lib/rxjs/rxjs.d.ts +10 -2
- package/src/lib/rxjs/rxjs.js +17 -16
- package/src/lib/rxjs/rxjs.js.map +1 -1
- package/src/lib/rxjs/rxjs.map.d.ts +9 -0
- package/src/lib/rxjs/rxjs.map.js +26 -0
- package/src/lib/rxjs/rxjs.map.js.map +1 -0
- package/src/lib/rxjs/set.d.ts +4 -0
- package/src/lib/rxjs/set.js +14 -0
- package/src/lib/rxjs/set.js.map +1 -0
- package/src/lib/rxjs/use.d.ts +7 -0
- package/src/lib/rxjs/use.js +14 -0
- package/src/lib/rxjs/use.js.map +1 -0
- package/src/lib/rxjs/value.d.ts +28 -5
- package/src/lib/rxjs/value.js +54 -3
- package/src/lib/rxjs/value.js.map +1 -1
- package/src/lib/work/index.d.ts +2 -0
- package/src/lib/work/index.js +6 -0
- package/src/lib/work/index.js.map +1 -0
- package/src/lib/work/work.factory.d.ts +35 -0
- package/src/lib/work/work.factory.js +43 -0
- package/src/lib/work/work.factory.js.map +1 -0
- package/src/lib/work/work.instance.d.ts +60 -0
- package/src/lib/work/work.instance.js +129 -0
- package/src/lib/work/work.instance.js.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iteration.next.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iteration.next.ts"],"names":[],"mappings":";;;;AAAA,+BAA0E;AAE1E,
|
|
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,CACrE,IAAA,UAAG,EAAC,IAAA,8BAAuB,EAAC,IAAI,CAAC,CAAC,EAClC,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AACJ,CAAC;AALD,wEAKC;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,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAC9B,IAAA,YAAK,GAAE,CACR,CAAC,SAAS,CAAC,CAAC,eAAuB,EAAE,EAAE;YACtC,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;AAtBD,8DAsBC"}
|
|
@@ -2,6 +2,16 @@ import { PageLoadingState } from "../loading";
|
|
|
2
2
|
import { Destroyable, Filter, Maybe, PageNumber, Page } from "@dereekb/util";
|
|
3
3
|
import { Observable } from "rxjs";
|
|
4
4
|
import { ItemIteratorNextRequest, PageItemIteration } from './iteration';
|
|
5
|
+
export interface ItemPageLimit {
|
|
6
|
+
/**
|
|
7
|
+
* Maximum number of pages to load.
|
|
8
|
+
*
|
|
9
|
+
* This value should be defined in most cases.
|
|
10
|
+
*
|
|
11
|
+
* If not defined, the will be no ending iteration.
|
|
12
|
+
*/
|
|
13
|
+
maxPageLoadLimit?: Maybe<number>;
|
|
14
|
+
}
|
|
5
15
|
export interface ItemPageIteratorRequest<V, F, C extends ItemPageIterationConfig<F> = ItemPageIterationConfig<F>> extends Page {
|
|
6
16
|
/**
|
|
7
17
|
* The base iterator config.
|
|
@@ -50,11 +60,11 @@ export interface ItemPageIteratorDelegate<V, F, C extends ItemPageIterationConfi
|
|
|
50
60
|
/**
|
|
51
61
|
* Returns an observable of items given the input request.
|
|
52
62
|
*
|
|
53
|
-
* If the input goes out of bounds, the result should be
|
|
63
|
+
* If the input goes out of bounds, the result should be an empty array.
|
|
54
64
|
*/
|
|
55
65
|
loadItemsForPage: (request: ItemPageIteratorRequest<V, F, C>) => Observable<ItemPageIteratorResult<V>>;
|
|
56
66
|
}
|
|
57
|
-
export interface ItemPageIterationConfig<F = any> extends Filter<F
|
|
67
|
+
export interface ItemPageIterationConfig<F = any> extends Filter<F>, ItemPageLimit {
|
|
58
68
|
}
|
|
59
69
|
/**
|
|
60
70
|
* Default number of pages that can be loaded.
|
|
@@ -65,8 +75,9 @@ export declare const DEFAULT_ITEM_PAGE_ITERATOR_MAX = 100;
|
|
|
65
75
|
*/
|
|
66
76
|
export declare class ItemPageIterator<V, F, C extends ItemPageIterationConfig<F> = any> {
|
|
67
77
|
readonly delegate: ItemPageIteratorDelegate<V, F, C>;
|
|
68
|
-
|
|
69
|
-
get maxPageLoadLimit(): number
|
|
78
|
+
protected _maxPageLoadLimit: Maybe<number>;
|
|
79
|
+
get maxPageLoadLimit(): Maybe<number>;
|
|
80
|
+
set maxPageLoadLimit(maxPageLoadLimit: Maybe<number>);
|
|
70
81
|
constructor(delegate: ItemPageIteratorDelegate<V, F, C>);
|
|
71
82
|
/**
|
|
72
83
|
* Creates a new instance based on the input config.
|
|
@@ -83,6 +94,7 @@ export interface ItemPageIterationInstanceState<V> {
|
|
|
83
94
|
n: number;
|
|
84
95
|
current: Maybe<PageLoadingState<ItemPageIteratorResult<V>>>;
|
|
85
96
|
latestFinished: Maybe<PageLoadingState<ItemPageIteratorResult<V>>>;
|
|
97
|
+
firstSuccessful: Maybe<PageLoadingState<ItemPageIteratorResult<V>>>;
|
|
86
98
|
lastSuccessful: Maybe<PageLoadingState<ItemPageIteratorResult<V>>>;
|
|
87
99
|
}
|
|
88
100
|
/**
|
|
@@ -132,12 +144,16 @@ export declare class ItemPageIterationInstance<V, F, C extends ItemPageIteration
|
|
|
132
144
|
private readonly _lastFinishedPageResultState$;
|
|
133
145
|
private readonly _lastFinishedPageResult$;
|
|
134
146
|
private readonly _lastFinishedPageResultItem$;
|
|
147
|
+
/**
|
|
148
|
+
* The first page results that has finished loading without an error.
|
|
149
|
+
*/
|
|
150
|
+
readonly firstSuccessfulPageResults$: Observable<PageLoadingState<ItemPageIteratorResult<V>>>;
|
|
135
151
|
/**
|
|
136
152
|
* The latest page results that has finished loading without an error.
|
|
137
153
|
*/
|
|
138
154
|
readonly latestSuccessfulPageResults$: Observable<PageLoadingState<ItemPageIteratorResult<V>>>;
|
|
139
|
-
get maxPageLoadLimit(): number
|
|
140
|
-
set maxPageLoadLimit(maxPageLoadLimit: number);
|
|
155
|
+
get maxPageLoadLimit(): Maybe<number>;
|
|
156
|
+
set maxPageLoadLimit(maxPageLoadLimit: Maybe<number>);
|
|
141
157
|
nextPage(request?: ItemIteratorNextRequest): Promise<number>;
|
|
142
158
|
readonly currentState$: Observable<PageLoadingState<V>>;
|
|
143
159
|
readonly latestLoadedPage$: Observable<PageNumber>;
|
|
@@ -18,11 +18,13 @@ exports.DEFAULT_ITEM_PAGE_ITERATOR_MAX = 100;
|
|
|
18
18
|
class ItemPageIterator {
|
|
19
19
|
constructor(delegate) {
|
|
20
20
|
this.delegate = delegate;
|
|
21
|
-
this._maxPageLoadLimit = exports.DEFAULT_ITEM_PAGE_ITERATOR_MAX;
|
|
22
21
|
}
|
|
23
22
|
get maxPageLoadLimit() {
|
|
24
23
|
return this._maxPageLoadLimit;
|
|
25
24
|
}
|
|
25
|
+
set maxPageLoadLimit(maxPageLoadLimit) {
|
|
26
|
+
this._maxPageLoadLimit = maxPageLoadLimit;
|
|
27
|
+
}
|
|
26
28
|
/**
|
|
27
29
|
* Creates a new instance based on the input config.
|
|
28
30
|
*
|
|
@@ -39,13 +41,14 @@ exports.ItemPageIterator = ItemPageIterator;
|
|
|
39
41
|
*/
|
|
40
42
|
class ItemPageIterationInstance {
|
|
41
43
|
constructor(iterator, config) {
|
|
44
|
+
var _a;
|
|
42
45
|
this.iterator = iterator;
|
|
43
46
|
this.config = config;
|
|
44
47
|
/**
|
|
45
48
|
* Used for triggering loading of more content.
|
|
46
49
|
*/
|
|
47
50
|
this._next = new rxjs_2.BehaviorSubject({ n: 0 });
|
|
48
|
-
this._maxPageLoadLimit = new rxjs_2.BehaviorSubject(this.iterator.maxPageLoadLimit);
|
|
51
|
+
this._maxPageLoadLimit = new rxjs_2.BehaviorSubject((_a = this.config.maxPageLoadLimit) !== null && _a !== void 0 ? _a : this.iterator.maxPageLoadLimit);
|
|
49
52
|
// MARK: State
|
|
50
53
|
this.state$ = this._next.pipe((0, operators_1.delay)(0), (0, rxjs_2.exhaustMap)((request) => (0, rxjs_2.combineLatest)([this.hasNextAndCanLoadMore$, this._lastFinishedPageResultState$]).pipe((0, rxjs_2.first)(), (0, operators_1.map)(([hasNextAndCanLoadMore, prevResult]) => [itemPageIteratorShouldLoadNextPage(request, hasNextAndCanLoadMore, prevResult), prevResult]), (0, operators_1.mergeMap)(([shouldLoadNextPage, prevResult]) => {
|
|
51
54
|
if (shouldLoadNextPage) {
|
|
@@ -82,6 +85,7 @@ class ItemPageIterationInstance {
|
|
|
82
85
|
n,
|
|
83
86
|
current: curr,
|
|
84
87
|
latestFinished: acc.latestFinished,
|
|
88
|
+
firstSuccessful: acc.firstSuccessful,
|
|
85
89
|
lastSuccessful: acc.lastSuccessful
|
|
86
90
|
};
|
|
87
91
|
// If it was a replay of the previous result, change nothing.
|
|
@@ -90,6 +94,9 @@ class ItemPageIterationInstance {
|
|
|
90
94
|
next.latestFinished = curr;
|
|
91
95
|
if (!(0, loading_1.loadingStateHasError)(curr)) {
|
|
92
96
|
next.lastSuccessful = curr;
|
|
97
|
+
if (!next.firstSuccessful) {
|
|
98
|
+
next.firstSuccessful = curr;
|
|
99
|
+
}
|
|
93
100
|
}
|
|
94
101
|
}
|
|
95
102
|
}
|
|
@@ -97,7 +104,7 @@ class ItemPageIterationInstance {
|
|
|
97
104
|
}, {
|
|
98
105
|
n: -1,
|
|
99
106
|
current: { page: util_1.FIRST_PAGE },
|
|
100
|
-
latestFinished: undefined, lastSuccessful: undefined
|
|
107
|
+
latestFinished: undefined, firstSuccessful: undefined, lastSuccessful: undefined
|
|
101
108
|
}), (0, rxjs_2.shareReplay)(1));
|
|
102
109
|
/**
|
|
103
110
|
* Used to track when a next() value changes, or the current changes.
|
|
@@ -135,6 +142,10 @@ class ItemPageIterationInstance {
|
|
|
135
142
|
this._lastFinishedPageResultState$ = this.latestPageResultState$.pipe((0, operators_1.startWith)(undefined), (0, rxjs_2.shareReplay)(1));
|
|
136
143
|
this._lastFinishedPageResult$ = this._lastFinishedPageResultState$.pipe((0, operators_1.map)(x => x === null || x === void 0 ? void 0 : x.value));
|
|
137
144
|
this._lastFinishedPageResultItem$ = this._lastFinishedPageResult$.pipe((0, operators_1.map)(x => x === null || x === void 0 ? void 0 : x.value));
|
|
145
|
+
/**
|
|
146
|
+
* The first page results that has finished loading without an error.
|
|
147
|
+
*/
|
|
148
|
+
this.firstSuccessfulPageResults$ = this.state$.pipe((0, operators_1.map)(x => x.firstSuccessful), (0, rxjs_1.filterMaybe)(), (0, rxjs_2.shareReplay)(1));
|
|
138
149
|
/**
|
|
139
150
|
* The latest page results that has finished loading without an error.
|
|
140
151
|
*/
|
|
@@ -150,7 +161,7 @@ class ItemPageIterationInstance {
|
|
|
150
161
|
/**
|
|
151
162
|
* Whether or not the successfulPageResultsCount has passed the maxPageLoadLimit
|
|
152
163
|
*/
|
|
153
|
-
this.canLoadMore$ = (0, rxjs_2.combineLatest)([this._maxPageLoadLimit, this.numberOfPagesLoaded$.pipe((0, operators_1.startWith)(0))]).pipe((0, operators_1.map)(([maxPageLoadLimit, numberOfPagesLoaded]) => numberOfPagesLoaded < maxPageLoadLimit), (0, operators_1.distinctUntilChanged)(), (0, rxjs_2.shareReplay)(1));
|
|
164
|
+
this.canLoadMore$ = (0, rxjs_2.combineLatest)([this._maxPageLoadLimit, this.numberOfPagesLoaded$.pipe((0, operators_1.startWith)(0))]).pipe((0, operators_1.map)(([maxPageLoadLimit, numberOfPagesLoaded]) => (0, util_1.isMaybeNot)(maxPageLoadLimit) ? true : (numberOfPagesLoaded < maxPageLoadLimit)), (0, operators_1.distinctUntilChanged)(), (0, rxjs_2.shareReplay)(1));
|
|
154
165
|
/**
|
|
155
166
|
* Observable of whether or not there are items that have finished loading, and if this iterator can load more.
|
|
156
167
|
*/
|
|
@@ -163,7 +174,8 @@ class ItemPageIterationInstance {
|
|
|
163
174
|
return this._maxPageLoadLimit.value;
|
|
164
175
|
}
|
|
165
176
|
set maxPageLoadLimit(maxPageLoadLimit) {
|
|
166
|
-
|
|
177
|
+
const limit = (0, util_1.isMaybeNot)(maxPageLoadLimit) ? undefined : Math.max(0, Math.ceil(maxPageLoadLimit));
|
|
178
|
+
this._maxPageLoadLimit.next(limit);
|
|
167
179
|
}
|
|
168
180
|
nextPage(request = {}) {
|
|
169
181
|
return new Promise((resolve, reject) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterator.page.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iterator.page.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"iterator.page.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/iterator/iterator.page.ts"],"names":[],"mappings":"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"}
|
package/src/lib/loading/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
tslib_1.__exportStar(require("./loading.context.state"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./loading.context.state.list"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./loading.context.state.value"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./loading.context.simple"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./loading.context"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./loading.context.value"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./loading.state.list"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./loading.state"), exports);
|
|
12
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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC;AACxC,uEAA6C;AAC7C,wEAA8C;AAC9C,mEAAyC;AACzC,4DAAkC;AAClC,kEAAwC;AACxC,+DAAqC;AACrC,0DAAgC"}
|
|
@@ -137,7 +137,7 @@ export interface MapMultipleLoadingStateResultsConfiguration<T, X, L extends Loa
|
|
|
137
137
|
mapState?: (input: L) => R;
|
|
138
138
|
}
|
|
139
139
|
export declare function mapMultipleLoadingStateResults<T, X, L extends LoadingState<X>[], R extends LoadingState<T>>(input: L, config: MapMultipleLoadingStateResultsConfiguration<T, X, L, R>): Maybe<R>;
|
|
140
|
-
export declare type MapLoadingStateFn<A, B, L extends LoadingState<A> = LoadingState<A>, O extends LoadingState<B> = LoadingState<B>> = (input: L) => O;
|
|
140
|
+
export declare type MapLoadingStateFn<A, B, L extends LoadingState<A> = LoadingState<A>, O extends LoadingState<B> = LoadingState<B>> = (input: L, value?: B) => O;
|
|
141
141
|
export declare type MapLoadingStateValuesFn<A, B, L extends LoadingState<A> = LoadingState<A>> = (input: A, state: L) => B;
|
|
142
142
|
export interface MapLoadingStateResultsConfiguration<A, B, L extends LoadingState<A> = LoadingState<A>, O extends LoadingState<B> = LoadingState<B>> {
|
|
143
143
|
mapValue?: MapLoadingStateValuesFn<A, B, L>;
|
|
@@ -146,3 +146,6 @@ export interface MapLoadingStateResultsConfiguration<A, B, L extends LoadingStat
|
|
|
146
146
|
export declare function mapLoadingStateResults<A, B, L extends LoadingState<A> = LoadingState<A>, O extends LoadingState<B> = LoadingState<B>>(input: L, config: MapLoadingStateResultsConfiguration<A, B, L, O>): O;
|
|
147
147
|
export declare function mapLoadingStateResults<A, B, L extends PageLoadingState<A> = PageLoadingState<A>, O extends PageLoadingState<B> = PageLoadingState<B>>(input: L, config: MapLoadingStateResultsConfiguration<A, B, L, O>): O;
|
|
148
148
|
export declare function mapLoadingStateResults<A, B, L extends Partial<PageLoadingState<A>> = Partial<PageLoadingState<A>>, O extends Partial<PageLoadingState<B>> = Partial<PageLoadingState<B>>>(input: L, config: MapLoadingStateResultsConfiguration<A, B, L, O>): O;
|
|
149
|
+
export declare type MapLoadingStateValueFunction<O, I, L extends LoadingState<I> = LoadingState<I>> = (state: L) => Maybe<O>;
|
|
150
|
+
export declare type MapLoadingStateValueMapFunction<O, I, L extends LoadingState<I> = LoadingState<I>> = ((item: I) => Maybe<O>) | ((item: I, state: L) => Maybe<O>);
|
|
151
|
+
export declare function mapLoadingStateValueFunction<O, I, L extends LoadingState<I> = LoadingState<I>>(mapFn: MapLoadingStateValueMapFunction<O, I, L>): MapLoadingStateValueFunction<O, I, L>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mapLoadingStateResults = exports.mapMultipleLoadingStateResults = exports.updatedStateForSetError = exports.updatedStateForSetValue = exports.updatedStateForSetLoading = exports.mergeLoadingStates = exports.combineLoadingStates = exports.loadingStateFromObs = exports.loadingStateHasError = exports.loadingStateHasValue = exports.loadingStateHasFinishedLoading = exports.isErrorLoadingState = exports.isSuccessLoadingState = exports.loadingStateIsLoading = exports.loadingStateIsIdle = exports.allLoadingStatesHaveFinishedLoading = exports.anyLoadingStatesIsLoading = exports.errorPageResult = exports.errorResult = exports.successPageResult = exports.successResult = exports.beginLoading = exports.idleLoadingState = exports.loadingStateType = exports.LoadingStateType = void 0;
|
|
3
|
+
exports.mapLoadingStateValueFunction = exports.mapLoadingStateResults = exports.mapMultipleLoadingStateResults = exports.updatedStateForSetError = exports.updatedStateForSetValue = exports.updatedStateForSetLoading = exports.mergeLoadingStates = exports.combineLoadingStates = exports.loadingStateFromObs = exports.loadingStateHasError = exports.loadingStateHasValue = exports.loadingStateHasFinishedLoading = exports.isErrorLoadingState = exports.isSuccessLoadingState = exports.loadingStateIsLoading = exports.loadingStateIsIdle = exports.allLoadingStatesHaveFinishedLoading = exports.anyLoadingStatesIsLoading = exports.errorPageResult = exports.errorResult = exports.successPageResult = exports.successResult = exports.beginLoading = exports.idleLoadingState = exports.loadingStateType = exports.LoadingStateType = void 0;
|
|
4
4
|
const rxjs_1 = require("rxjs");
|
|
5
5
|
const operators_1 = require("rxjs/operators");
|
|
6
6
|
const util_1 = require("@dereekb/util");
|
|
@@ -281,9 +281,19 @@ function mapLoadingStateResults(input, config) {
|
|
|
281
281
|
result = Object.assign(Object.assign({}, input), { value });
|
|
282
282
|
}
|
|
283
283
|
else {
|
|
284
|
-
result = mapState(input);
|
|
284
|
+
result = mapState(input, value);
|
|
285
285
|
}
|
|
286
286
|
return result;
|
|
287
287
|
}
|
|
288
288
|
exports.mapLoadingStateResults = mapLoadingStateResults;
|
|
289
|
+
function mapLoadingStateValueFunction(mapFn) {
|
|
290
|
+
return (state) => {
|
|
291
|
+
let result;
|
|
292
|
+
if (state.value != null) {
|
|
293
|
+
result = mapFn(state.value, state);
|
|
294
|
+
}
|
|
295
|
+
return result;
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
exports.mapLoadingStateValueFunction = mapLoadingStateValueFunction;
|
|
289
299
|
//# sourceMappingURL=loading.state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loading.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.ts"],"names":[],"mappings":"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"}
|
package/src/lib/lock.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import { ObservableOrValue } from './rxjs/getter';
|
|
1
2
|
import { Observable, Subscription } from 'rxjs';
|
|
3
|
+
import { Destroyable, Maybe } from '@dereekb/util';
|
|
2
4
|
export declare type LockKey = string;
|
|
3
5
|
export declare type OnLockSetUnlockedFunction = (unlocked: boolean) => void;
|
|
6
|
+
export declare type RemoveLockFunction = () => void;
|
|
4
7
|
export interface OnLockSetUnlockedConfig {
|
|
5
8
|
lockSet: LockSet;
|
|
6
9
|
fn: OnLockSetUnlockedFunction;
|
|
7
|
-
timeout?: number
|
|
8
|
-
delayTime?: number
|
|
10
|
+
timeout?: Maybe<number>;
|
|
11
|
+
delayTime?: Maybe<number>;
|
|
9
12
|
}
|
|
10
13
|
export interface SetLockedConfig {
|
|
11
14
|
/**
|
|
@@ -23,15 +26,16 @@ export declare const DEFAULT_LOCK_SET_TIME_LOCK_KEY = "timelock";
|
|
|
23
26
|
/**
|
|
24
27
|
* Executes the input function when the lockSet is set unlocked, or the timeout is reached.
|
|
25
28
|
*/
|
|
26
|
-
export declare function onLockSetNextUnlock({ lockSet, fn, timeout, delayTime }: OnLockSetUnlockedConfig): Subscription;
|
|
29
|
+
export declare function onLockSetNextUnlock({ lockSet, fn, timeout: timeoutTime, delayTime }: OnLockSetUnlockedConfig): Subscription;
|
|
27
30
|
/**
|
|
28
31
|
* Used for preventing an action until all keys are removed.
|
|
29
32
|
*
|
|
30
33
|
* Added Observables do not need to be strictly removed; empty observables are counted as unlocked.
|
|
31
34
|
*/
|
|
32
|
-
export declare class LockSet {
|
|
35
|
+
export declare class LockSet implements Destroyable {
|
|
33
36
|
private static LOCK_SET_CHILD_INDEX_STEPPER;
|
|
34
37
|
private _locks;
|
|
38
|
+
private _parentSub;
|
|
35
39
|
readonly locks$: Observable<Map<string, Observable<boolean>>>;
|
|
36
40
|
/**
|
|
37
41
|
* isLocked$ is true if any observable is emitting true.
|
|
@@ -44,13 +48,15 @@ export declare class LockSet {
|
|
|
44
48
|
setLocked(key: LockKey, config: boolean, duration?: number): void;
|
|
45
49
|
lockForSeconds(seconds: number): void;
|
|
46
50
|
lockForTime(milliseconds: number, key?: LockKey): void;
|
|
47
|
-
addLock(key: LockKey, obs: Observable<boolean>):
|
|
51
|
+
addLock(key: LockKey, obs: Observable<boolean>): RemoveLockFunction;
|
|
52
|
+
private _removeObsForKey;
|
|
48
53
|
removeLock(key: LockKey): void;
|
|
49
54
|
onNextUnlock(config: OnLockSetUnlockedFunction | Omit<OnLockSetUnlockedConfig, 'lockSet'>, delayTime?: number): Subscription;
|
|
55
|
+
setParentLockSet(parent: ObservableOrValue<Maybe<LockSet>>): void;
|
|
50
56
|
/**
|
|
51
|
-
* Convenience function for watching a child lockset's locked state.
|
|
57
|
+
* Convenience function for watching a child lockset's locked state and propogating it upward.
|
|
52
58
|
*/
|
|
53
|
-
addChildLockSet(lockSet: LockSet, key?: LockKey):
|
|
59
|
+
addChildLockSet(lockSet: LockSet, key?: LockKey): RemoveLockFunction;
|
|
54
60
|
destroyOnNextUnlock(config?: OnLockSetUnlockedFunction | Omit<OnLockSetUnlockedConfig, 'lockSet'>, delayTime?: number): void;
|
|
55
61
|
destroy(): void;
|
|
56
62
|
}
|
package/src/lib/lock.js
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LockSet = exports.onLockSetNextUnlock = exports.DEFAULT_LOCK_SET_TIME_LOCK_KEY = void 0;
|
|
4
|
-
const
|
|
5
|
-
const rxjs_1 = require("rxjs");
|
|
4
|
+
const rxjs_1 = require("@dereekb/rxjs");
|
|
6
5
|
const rxjs_2 = require("rxjs");
|
|
7
6
|
const rxjs_3 = require("./rxjs");
|
|
8
7
|
const util_1 = require("@dereekb/util");
|
|
9
8
|
const ms_1 = require("ms");
|
|
9
|
+
const subscription_1 = require("./subscription");
|
|
10
10
|
exports.DEFAULT_LOCK_SET_TIME_LOCK_KEY = 'timelock';
|
|
11
11
|
/**
|
|
12
12
|
* Executes the input function when the lockSet is set unlocked, or the timeout is reached.
|
|
13
13
|
*/
|
|
14
|
-
function onLockSetNextUnlock({ lockSet, fn, timeout = (0, ms_1.default)('50s'), delayTime }) {
|
|
15
|
-
return lockSet.isUnlocked$.pipe((0,
|
|
14
|
+
function onLockSetNextUnlock({ lockSet, fn, timeout: timeoutTime = (0, ms_1.default)('50s'), delayTime }) {
|
|
15
|
+
return lockSet.isUnlocked$.pipe((0, rxjs_2.filter)((x) => x), (0, rxjs_2.delay)(delayTime !== null && delayTime !== void 0 ? delayTime : 0), (0, rxjs_2.timeout)({
|
|
16
|
+
first: timeoutTime,
|
|
17
|
+
with: () => (0, rxjs_2.of)(false).pipe((0, rxjs_2.tap)(() => console.warn('LockSet time out. Potential issue detected.')))
|
|
18
|
+
}), (0, rxjs_2.first)()).subscribe(fn);
|
|
16
19
|
}
|
|
17
20
|
exports.onLockSetNextUnlock = onLockSetNextUnlock;
|
|
18
21
|
/**
|
|
@@ -23,13 +26,14 @@ exports.onLockSetNextUnlock = onLockSetNextUnlock;
|
|
|
23
26
|
class LockSet {
|
|
24
27
|
constructor() {
|
|
25
28
|
this._locks = new rxjs_2.BehaviorSubject(new Map());
|
|
29
|
+
this._parentSub = new subscription_1.SubscriptionObject();
|
|
26
30
|
this.locks$ = this._locks.asObservable();
|
|
27
31
|
/**
|
|
28
32
|
* isLocked$ is true if any observable is emitting true.
|
|
29
33
|
*/
|
|
30
|
-
this.isLocked$ = this.locks$.pipe((0,
|
|
31
|
-
(0,
|
|
32
|
-
this.isUnlocked$ = this.isLocked$.pipe((0,
|
|
34
|
+
this.isLocked$ = this.locks$.pipe((0, rxjs_2.switchMap)((0, rxjs_3.combineLatestFromMapValuesObsFn)((x) => x)), (0, rxjs_2.map)((0, util_1.reduceBooleansWithOrFn)(false)), // Empty map is unlocked.
|
|
35
|
+
(0, rxjs_2.shareReplay)(1));
|
|
36
|
+
this.isUnlocked$ = this.isLocked$.pipe((0, rxjs_2.map)(x => !x));
|
|
33
37
|
}
|
|
34
38
|
get locks() {
|
|
35
39
|
return this._locks.value;
|
|
@@ -47,9 +51,9 @@ class LockSet {
|
|
|
47
51
|
};
|
|
48
52
|
}
|
|
49
53
|
if (lockedConfig.locked) {
|
|
50
|
-
let obs = (0,
|
|
54
|
+
let obs = (0, rxjs_2.of)(true);
|
|
51
55
|
if (lockedConfig.duration) {
|
|
52
|
-
obs = obs.pipe((0,
|
|
56
|
+
obs = obs.pipe((0, rxjs_2.timeout)({ first: lockedConfig.duration, with: () => (0, rxjs_2.of)(false) }));
|
|
53
57
|
}
|
|
54
58
|
this.addLock(key, obs);
|
|
55
59
|
}
|
|
@@ -61,12 +65,20 @@ class LockSet {
|
|
|
61
65
|
this.lockForTime(seconds * 1000);
|
|
62
66
|
}
|
|
63
67
|
lockForTime(milliseconds, key) {
|
|
64
|
-
this.addLock(key !== null && key !== void 0 ? key : exports.DEFAULT_LOCK_SET_TIME_LOCK_KEY, (0,
|
|
68
|
+
this.addLock(key !== null && key !== void 0 ? key : exports.DEFAULT_LOCK_SET_TIME_LOCK_KEY, (0, rxjs_2.of)(false).pipe((0, rxjs_2.delay)(milliseconds), (0, rxjs_2.startWith)(true)));
|
|
65
69
|
}
|
|
66
70
|
addLock(key, obs) {
|
|
67
|
-
obs = obs.pipe((0,
|
|
71
|
+
obs = obs.pipe((0, rxjs_2.defaultIfEmpty)(false));
|
|
72
|
+
let removeLock = () => this._removeObsForKey(obs, key);
|
|
68
73
|
this._locks.value.set(key, obs);
|
|
69
|
-
this._locks.next(this.
|
|
74
|
+
this._locks.next(this._locks.value);
|
|
75
|
+
return removeLock;
|
|
76
|
+
}
|
|
77
|
+
_removeObsForKey(obs, key) {
|
|
78
|
+
const current = this._locks.value.get(key);
|
|
79
|
+
if (current && obs === current) {
|
|
80
|
+
this.removeLock(key);
|
|
81
|
+
}
|
|
70
82
|
}
|
|
71
83
|
removeLock(key) {
|
|
72
84
|
if (this._locks.value.delete(key)) {
|
|
@@ -76,11 +88,22 @@ class LockSet {
|
|
|
76
88
|
onNextUnlock(config, delayTime) {
|
|
77
89
|
return onLockSetNextUnlock(Object.assign({ lockSet: this, delayTime }, ((typeof config === 'function') ? { fn: config } : config)));
|
|
78
90
|
}
|
|
91
|
+
setParentLockSet(parent) {
|
|
92
|
+
this._parentSub.subscription = (0, rxjs_3.preventComplete)((0, rxjs_1.asObservable)(parent)).pipe((0, rxjs_2.map)((parentLockSet) => {
|
|
93
|
+
let removeFn;
|
|
94
|
+
if (parentLockSet) {
|
|
95
|
+
removeFn = parentLockSet.addChildLockSet(this);
|
|
96
|
+
}
|
|
97
|
+
return removeFn;
|
|
98
|
+
}), (0, rxjs_3.cleanup)((removeLockSet) => {
|
|
99
|
+
removeLockSet === null || removeLockSet === void 0 ? void 0 : removeLockSet();
|
|
100
|
+
})).subscribe();
|
|
101
|
+
}
|
|
79
102
|
/**
|
|
80
|
-
* Convenience function for watching a child lockset's locked state.
|
|
103
|
+
* Convenience function for watching a child lockset's locked state and propogating it upward.
|
|
81
104
|
*/
|
|
82
105
|
addChildLockSet(lockSet, key = `${LockSet.LOCK_SET_CHILD_INDEX_STEPPER++}`) {
|
|
83
|
-
this.addLock(key, lockSet.isLocked$);
|
|
106
|
+
return this.addLock(key, lockSet.isLocked$);
|
|
84
107
|
}
|
|
85
108
|
// Cleanup
|
|
86
109
|
destroyOnNextUnlock(config, delayTime) {
|
|
@@ -102,6 +125,7 @@ class LockSet {
|
|
|
102
125
|
}
|
|
103
126
|
destroy() {
|
|
104
127
|
this._locks.complete();
|
|
128
|
+
this._parentSub.destroy();
|
|
105
129
|
}
|
|
106
130
|
}
|
|
107
131
|
exports.LockSet = LockSet;
|
package/src/lib/lock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/lock.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/lock.ts"],"names":[],"mappings":"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"}
|
package/src/lib/object.js
CHANGED
|
@@ -8,7 +8,7 @@ const operators_1 = require("rxjs/operators");
|
|
|
8
8
|
* Equivalent to distinctUntilChanged() using isEqualObject()
|
|
9
9
|
*/
|
|
10
10
|
function distinctUntilObjectValuesChanged() {
|
|
11
|
-
return (0, operators_1.distinctUntilChanged)((a, b) => (0, util_1.
|
|
11
|
+
return (0, operators_1.distinctUntilChanged)((a, b) => (0, util_1.areEqualPOJOValues)(a, b));
|
|
12
12
|
}
|
|
13
13
|
exports.distinctUntilObjectValuesChanged = distinctUntilObjectValuesChanged;
|
|
14
14
|
function filterIfObjectValuesUnchanged(input) {
|
|
@@ -18,7 +18,7 @@ function filterIfObjectValuesUnchanged(input) {
|
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
else {
|
|
21
|
-
return (0, operators_1.filter)((inputObject) => !(0, util_1.
|
|
21
|
+
return (0, operators_1.filter)((inputObject) => !(0, util_1.areEqualPOJOValues)(input, inputObject));
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
exports.filterIfObjectValuesUnchanged = filterIfObjectValuesUnchanged;
|
package/src/lib/object.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/object.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../packages/rxjs/src/lib/object.ts"],"names":[],"mappings":";;;AAAA,wCAAmD;AACnD,+BAA4F;AAC5F,8CAAwE;AAExE;;GAEG;AACH,SAAgB,gCAAgC;IAC9C,OAAO,IAAA,gCAAoB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAA,yBAAkB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAFD,4EAEC;AAOD,SAAgB,6BAA6B,CAAI,KAAwB;IACvE,IAAI,IAAA,mBAAY,EAAC,KAAK,CAAC,EAAE;QACvB,OAAO,IAAA,oBAAQ,EAAmB,CAAC,WAAW,EAAE,EAAE;YAChD,OAAO,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,OAAO,IAAA,kBAAM,EAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAA,yBAAkB,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;KACxE;AACH,CAAC;AARD,sEAQC"}
|
package/src/lib/rxjs/array.d.ts
CHANGED
|
@@ -14,8 +14,18 @@ export declare function scanIntoArray<T>(config?: ScanIntoArrayConfig): Operator
|
|
|
14
14
|
export declare function scanIntoArray<T>(config?: ScanIntoArrayConfig): OperatorFunction<Maybe<T>, T[]>;
|
|
15
15
|
export declare function scanIntoArray<T>(config?: ScanIntoArrayConfig): OperatorFunction<Maybe<T[]>, T[]>;
|
|
16
16
|
export interface ScanBuildArrayConfig<T> {
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
17
20
|
seed?: Maybe<T[]>;
|
|
21
|
+
/**
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
18
24
|
accumulatorObs: Observable<Maybe<T>>;
|
|
25
|
+
/**
|
|
26
|
+
* Whether or not to flatten array values that are input.
|
|
27
|
+
*/
|
|
28
|
+
flattenArray?: boolean;
|
|
19
29
|
}
|
|
20
30
|
export declare type ScanBuildArrayConfigFn<S, T> = (seedState: S) => ScanBuildArrayConfig<T>;
|
|
21
31
|
/**
|
|
@@ -30,3 +40,10 @@ export declare type ScanBuildArrayConfigFn<S, T> = (seedState: S) => ScanBuildAr
|
|
|
30
40
|
* @returns
|
|
31
41
|
*/
|
|
32
42
|
export declare function scanBuildArray<S, T>(init: ScanBuildArrayConfigFn<S, T>): OperatorFunction<S, T[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Convenience function with map to forEachWithArray
|
|
45
|
+
*
|
|
46
|
+
* @param forEach
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
export declare function mapForEach<T>(forEach: Maybe<(value: T) => void>): OperatorFunction<T[], T[]>;
|
package/src/lib/rxjs/array.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.scanBuildArray = exports.scanIntoArray = exports.distinctUntilArrayLengthChanges = void 0;
|
|
4
|
-
const operators_1 = require("rxjs/operators");
|
|
3
|
+
exports.mapForEach = exports.scanBuildArray = exports.scanIntoArray = exports.distinctUntilArrayLengthChanges = void 0;
|
|
5
4
|
const rxjs_1 = require("rxjs");
|
|
6
5
|
const util_1 = require("@dereekb/util");
|
|
7
6
|
function distinctUntilArrayLengthChanges(getArray) {
|
|
@@ -13,7 +12,7 @@ function distinctUntilArrayLengthChanges(getArray) {
|
|
|
13
12
|
exports.distinctUntilArrayLengthChanges = distinctUntilArrayLengthChanges;
|
|
14
13
|
function scanIntoArray(config = {}) {
|
|
15
14
|
const { immutable = true } = config;
|
|
16
|
-
return (0,
|
|
15
|
+
return (0, rxjs_1.scan)((acc, next) => {
|
|
17
16
|
if (next != null) {
|
|
18
17
|
if (immutable) {
|
|
19
18
|
acc = acc.concat(next);
|
|
@@ -39,16 +38,31 @@ exports.scanIntoArray = scanIntoArray;
|
|
|
39
38
|
* @returns
|
|
40
39
|
*/
|
|
41
40
|
function scanBuildArray(init) {
|
|
42
|
-
return (0,
|
|
43
|
-
const { seed = [], accumulatorObs } = init(seedState);
|
|
44
|
-
return accumulatorObs.pipe((0,
|
|
45
|
-
(0,
|
|
41
|
+
return (0, rxjs_1.exhaustMap)((seedState) => {
|
|
42
|
+
const { seed = [], accumulatorObs, flattenArray = false } = init(seedState);
|
|
43
|
+
return accumulatorObs.pipe((0, rxjs_1.startWith)(undefined), // Start with to not wait for the accumulator to pass a value.
|
|
44
|
+
(0, rxjs_1.scan)((acc, next) => {
|
|
46
45
|
if (next != null) {
|
|
47
|
-
|
|
46
|
+
if (flattenArray && Array.isArray(next)) {
|
|
47
|
+
(0, util_1.mergeArrayIntoArray)(acc, next);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
acc.push(next);
|
|
51
|
+
}
|
|
48
52
|
}
|
|
49
53
|
return acc;
|
|
50
|
-
}, seed), distinctUntilArrayLengthChanges(), (0,
|
|
54
|
+
}, seed !== null && seed !== void 0 ? seed : []), distinctUntilArrayLengthChanges(), (0, rxjs_1.shareReplay)(1));
|
|
51
55
|
});
|
|
52
56
|
}
|
|
53
57
|
exports.scanBuildArray = scanBuildArray;
|
|
58
|
+
/**
|
|
59
|
+
* Convenience function with map to forEachWithArray
|
|
60
|
+
*
|
|
61
|
+
* @param forEach
|
|
62
|
+
* @returns
|
|
63
|
+
*/
|
|
64
|
+
function mapForEach(forEach) {
|
|
65
|
+
return (forEach) ? (0, rxjs_1.map)(x => (0, util_1.forEachWithArray)(x, forEach)) : (0, rxjs_1.map)(x => x);
|
|
66
|
+
}
|
|
67
|
+
exports.mapForEach = mapForEach;
|
|
54
68
|
//# sourceMappingURL=array.js.map
|