@dereekb/rxjs 9.24.13 → 9.24.14
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 +4 -0
- package/package.json +2 -2
- package/src/lib/loading/loading.state.d.ts +9 -2
- package/src/lib/loading/loading.state.js +15 -6
- package/src/lib/loading/loading.state.js.map +1 -1
- package/src/lib/loading/loading.state.rxjs.d.ts +9 -2
- package/src/lib/loading/loading.state.rxjs.js +19 -3
- package/src/lib/loading/loading.state.rxjs.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.24.14](https://github.com/dereekb/dbx-components/compare/v9.24.13-dev...v9.24.14) (2023-07-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.24.13](https://github.com/dereekb/dbx-components/compare/v9.24.12-dev...v9.24.13) (2023-07-08)
|
|
6
10
|
|
|
7
11
|
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/rxjs",
|
|
3
|
-
"version": "9.24.
|
|
3
|
+
"version": "9.24.14",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {},
|
|
8
8
|
"peerDependencies": {
|
|
9
9
|
"rxjs": "^7.5.0",
|
|
10
|
-
"@dereekb/util": "9.24.
|
|
10
|
+
"@dereekb/util": "9.24.14",
|
|
11
11
|
"lodash.isequal": "^4.5.0",
|
|
12
12
|
"make-error": "^1.3.0",
|
|
13
13
|
"class-validator": "^0.13.2",
|
|
@@ -150,8 +150,15 @@ export declare function loadingStateHasFinishedLoadingWithError<L extends Loadin
|
|
|
150
150
|
* If one is loading, will return the loading state.
|
|
151
151
|
* If one has an error and is not loading, will return the error with loading false.
|
|
152
152
|
*/
|
|
153
|
-
export declare function mergeLoadingStates<A, B>(a: LoadingState<A>, b: LoadingState<B>): LoadingState<A & B>;
|
|
154
|
-
export declare function mergeLoadingStates<A extends object, B extends object,
|
|
153
|
+
export declare function mergeLoadingStates<A extends object, B extends object>(a: LoadingState<A>, b: LoadingState<B>): LoadingState<A & B>;
|
|
154
|
+
export declare function mergeLoadingStates<A extends object, B extends object, O>(a: LoadingState<A>, b: LoadingState<B>, mergeFn: (a: A, b: B) => O): LoadingState<O>;
|
|
155
|
+
export declare function mergeLoadingStates<A extends object, B extends object, C extends object>(a: LoadingState<A>, b: LoadingState<B>, c: LoadingState<C>): LoadingState<A & B & C>;
|
|
156
|
+
export declare function mergeLoadingStates<A extends object, B extends object, C extends object, O>(a: LoadingState<A>, b: LoadingState<B>, c: LoadingState<C>, mergeFn: (a: A, b: B, c: C) => O): LoadingState<O>;
|
|
157
|
+
export declare function mergeLoadingStates<A extends object, B extends object, C extends object, D extends object>(a: LoadingState<A>, b: LoadingState<B>, c: LoadingState<C>, d: LoadingState<D>): LoadingState<A & B & C & D>;
|
|
158
|
+
export declare function mergeLoadingStates<A extends object, B extends object, C extends object, D extends object, O>(a: LoadingState<A>, b: LoadingState<B>, c: LoadingState<C>, d: LoadingState<D>, mergeFn: (a: A, b: B, c: C, d: D) => O): LoadingState<O>;
|
|
159
|
+
export declare function mergeLoadingStates<A extends object, B extends object, C extends object, D extends object, E extends object, O>(a: LoadingState<A>, b: LoadingState<B>, c: LoadingState<C>, d: LoadingState<D>, e: LoadingState<E>): LoadingState<A & B & C & D & E>;
|
|
160
|
+
export declare function mergeLoadingStates<A extends object, B extends object, C extends object, D extends object, E extends object, O>(a: LoadingState<A>, b: LoadingState<B>, c: LoadingState<C>, d: LoadingState<D>, e: LoadingState<E>, mergeFn: (a: A, b: B, c: C, d: D, e: E) => O): LoadingState<O>;
|
|
161
|
+
export declare function mergeLoadingStates<O>(...args: any[]): LoadingState<O>;
|
|
155
162
|
/**
|
|
156
163
|
* Updates the input state to start loading.
|
|
157
164
|
*/
|
|
@@ -202,29 +202,38 @@ function loadingStateHasFinishedLoadingWithError(state) {
|
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
exports.loadingStateHasFinishedLoadingWithError = loadingStateHasFinishedLoadingWithError;
|
|
205
|
-
function mergeLoadingStates(
|
|
205
|
+
function mergeLoadingStates(...args) {
|
|
206
206
|
var _a;
|
|
207
|
-
const
|
|
208
|
-
const
|
|
207
|
+
const validArgs = (0, util_1.filterMaybeValues)(args); // filter out any undefined values
|
|
208
|
+
const lastValueIsMergeFn = typeof validArgs[validArgs.length - 1] === 'function';
|
|
209
|
+
const loadingStates = lastValueIsMergeFn ? validArgs.slice(0, validArgs.length - 1) : validArgs;
|
|
210
|
+
const mergeFn = lastValueIsMergeFn ? args[validArgs.length - 1] : (...inputArgs) => (0, util_1.mergeObjects)(inputArgs);
|
|
211
|
+
const error = (_a = loadingStates.find((x) => x.error)) === null || _a === void 0 ? void 0 : _a.error; // find the first error
|
|
209
212
|
let result;
|
|
210
213
|
if (error) {
|
|
214
|
+
// ignore all loading states, except for any error-prone item that is still loading
|
|
215
|
+
const currentLoadings = loadingStates.map((x) => ((x === null || x === void 0 ? void 0 : x.error) ? x.loading : false));
|
|
216
|
+
const nonMaybeLoadings = currentLoadings.filter((x) => x != null);
|
|
217
|
+
const loading = nonMaybeLoadings.length > 0 ? (0, util_1.reduceBooleansWithOr)(nonMaybeLoadings) : undefined;
|
|
211
218
|
result = {
|
|
212
219
|
// Evaluate both for the loading state.
|
|
213
|
-
loading
|
|
220
|
+
loading,
|
|
214
221
|
error
|
|
215
222
|
};
|
|
216
223
|
}
|
|
217
224
|
else {
|
|
218
|
-
const loading =
|
|
225
|
+
const loading = (0, util_1.reduceBooleansWithOr)(loadingStates.map(loadingStateIsLoading));
|
|
219
226
|
if (loading) {
|
|
220
227
|
result = {
|
|
221
228
|
loading: true
|
|
222
229
|
};
|
|
223
230
|
}
|
|
224
231
|
else {
|
|
232
|
+
const values = loadingStates.map((x) => x.value);
|
|
233
|
+
const value = mergeFn(...values);
|
|
225
234
|
result = {
|
|
226
235
|
loading: false,
|
|
227
|
-
value
|
|
236
|
+
value
|
|
228
237
|
};
|
|
229
238
|
}
|
|
230
239
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"loading.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,17 @@ import { LoadingState, PageLoadingState, MapLoadingStateResultsConfiguration, Lo
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function loadingStateFromObs<T>(obs: Observable<T>, firstOnly?: boolean): Observable<LoadingState<T>>;
|
|
10
10
|
/**
|
|
11
|
-
* Convenience function for creating a pipe that merges the
|
|
11
|
+
* Convenience function for creating a pipe that merges the multiple loading states into one.
|
|
12
12
|
*/
|
|
13
13
|
export declare function combineLoadingStates<A, B>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>): Observable<LoadingState<A & B>>;
|
|
14
|
-
export declare function combineLoadingStates<A extends object, B extends object,
|
|
14
|
+
export declare function combineLoadingStates<A extends object, B extends object, O>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>, mergeFn: (a: A, b: B) => O): Observable<LoadingState<O>>;
|
|
15
|
+
export declare function combineLoadingStates<A extends object, B extends object, C extends object>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>, obsC: Observable<LoadingState<C>>): Observable<LoadingState<A & B & C>>;
|
|
16
|
+
export declare function combineLoadingStates<A extends object, B extends object, C extends object, O>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>, obsC: Observable<LoadingState<C>>, mergeFn: (a: A, b: B, c: C) => O): Observable<LoadingState<O>>;
|
|
17
|
+
export declare function combineLoadingStates<A extends object, B extends object, C extends object, D extends object>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>, obsC: Observable<LoadingState<C>>, obsD: Observable<LoadingState<D>>): Observable<LoadingState<A & B & C & D>>;
|
|
18
|
+
export declare function combineLoadingStates<A extends object, B extends object, C extends object, D extends object, O>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>, obsC: Observable<LoadingState<C>>, obsD: Observable<LoadingState<D>>, mergeFn: (a: A, b: B, c: C, d: D) => O): Observable<LoadingState<O>>;
|
|
19
|
+
export declare function combineLoadingStates<A extends object, B extends object, C extends object, D extends object, E extends object>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>, obsC: Observable<LoadingState<C>>, obsD: Observable<LoadingState<D>>, obsE: Observable<LoadingState<E>>): Observable<LoadingState<A & B & C & D & E>>;
|
|
20
|
+
export declare function combineLoadingStates<A extends object, B extends object, C extends object, D extends object, E extends object, O>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>, obsC: Observable<LoadingState<C>>, obsD: Observable<LoadingState<D>>, obsE: Observable<LoadingState<E>>, mergeFn: (a: A, b: B, c: C, d: D, e: E) => O): Observable<LoadingState<O>>;
|
|
21
|
+
export declare function combineLoadingStates<O>(...args: any[]): Observable<LoadingState<O>>;
|
|
15
22
|
/**
|
|
16
23
|
* Combines the status of all loading states. Only emits when the LoadingStateType of the result changes.
|
|
17
24
|
*
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.promiseFromLoadingState = exports.mapLoadingStateValueWithOperator = exports.mapLoadingState = exports.tapOnLoadingStateSuccess = exports.tapOnLoadingStateType = exports.valueFromFinishedLoadingState = exports.errorFromLoadingState = exports.valueFromLoadingState = exports.startWithBeginLoading = exports.combineLoadingStatesStatus = exports.combineLoadingStates = exports.loadingStateFromObs = void 0;
|
|
4
|
+
const util_1 = require("@dereekb/util");
|
|
4
5
|
const rxjs_1 = require("rxjs");
|
|
5
6
|
const rxjs_2 = require("../rxjs");
|
|
6
7
|
const loading_state_1 = require("./loading.state");
|
|
@@ -17,9 +18,24 @@ function loadingStateFromObs(obs, firstOnly) {
|
|
|
17
18
|
return obs.pipe((0, rxjs_1.map)((value) => ({ loading: false, value, error: undefined })), (0, rxjs_1.catchError)((error) => (0, rxjs_1.of)({ loading: false, error })), (0, rxjs_2.timeoutStartWith)({ loading: true }, 50), (0, rxjs_1.shareReplay)(1));
|
|
18
19
|
}
|
|
19
20
|
exports.loadingStateFromObs = loadingStateFromObs;
|
|
20
|
-
function combineLoadingStates(
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
function combineLoadingStates(...args) {
|
|
22
|
+
const validArgs = (0, util_1.filterMaybeValues)(args); // filter out any undefined values
|
|
23
|
+
const lastValueIsMergeFn = typeof validArgs[validArgs.length - 1] === 'function';
|
|
24
|
+
const obsArgs = lastValueIsMergeFn ? validArgs.slice(0, validArgs.length - 1) : validArgs;
|
|
25
|
+
const mergeFn = lastValueIsMergeFn ? validArgs[validArgs.length - 1] : undefined;
|
|
26
|
+
return (0, rxjs_1.combineLatest)(obsArgs).pipe((0, rxjs_1.distinctUntilChanged)((x, y) => {
|
|
27
|
+
if (x && y) {
|
|
28
|
+
const hasSameValues = x.findIndex((_, i) => x[i] !== y[i]) === -1;
|
|
29
|
+
return hasSameValues;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return x === y;
|
|
33
|
+
}
|
|
34
|
+
}), // Prevent remerging the same values!
|
|
35
|
+
(0, rxjs_1.map)((states) => {
|
|
36
|
+
const result = (0, loading_state_1.mergeLoadingStates)(...states, mergeFn);
|
|
37
|
+
return result;
|
|
38
|
+
}), (0, rxjs_1.shareReplay)(1) // Share the result.
|
|
23
39
|
);
|
|
24
40
|
}
|
|
25
41
|
exports.combineLoadingStates = combineLoadingStates;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.state.rxjs.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.rxjs.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"loading.state.rxjs.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.rxjs.ts"],"names":[],"mappings":"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"}
|